<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>8983</bug_id>
          
          <creation_ts>2006-05-18 15:39:48 -0700</creation_ts>
          <short_desc>Autogenerate another 22 HTML classes</short_desc>
          <delta_ts>2006-05-19 08:48:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>42855</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-05-18 15:39:48 -0700</bug_when>
    <thetext>Patch coming up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42856</commentid>
    <comment_count>1</comment_count>
      <attachid>8398</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-05-18 15:45:44 -0700</bug_when>
    <thetext>Created attachment 8398
Patch

I&apos;ve been very careful not to remove any existing attributes/functions while porting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42858</commentid>
    <comment_count>2</comment_count>
      <attachid>8398</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-05-18 16:14:29 -0700</bug_when>
    <thetext>Comment on attachment 8398
Patch

In general this looks great.

We shoudl make sure to land a test for every place in which we differ from the spec.  In autogenerating other classes I found that the dom 2 html spec changed the type of several attributes, which might be what you&apos;re noticing in these as well.

Second, you also should fix the style Document *doc instead of Document* doc, in HTMLBodyElement.cpp

With those additional test cases to cover the places where we differ from the spec, you&apos;re good to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42876</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2006-05-19 03:50:37 -0700</bug_when>
    <thetext>I did not want to change too much of the implementation logic, so I filed http://bugzilla.opendarwin.org/show_bug.cgi?id=8992 to keep track of the three attributes where we differ.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42883</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-05-19 08:48:36 -0700</bug_when>
    <thetext>Anders landed this. Version 14483.

Anders, it looks like the XMLHttpRequest layout tests are now failing. We need to fix that. And perhaps the Windows build as well.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8398</attachid>
            <date>2006-05-18 15:45:44 -0700</date>
            <delta_ts>2006-05-18 16:14:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>autogen-more-html.txt</filename>
            <type>text/plain</type>
            <size>146546</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiAxNDQ3OSkKKysr
IGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDYyLDYgKzEwNjIsMTAgQEAgc3ViIE5hdGl2ZVRvSlNWYWx1ZQogICAgICRpbXBsSW5jbHVkZXN7
Imtqc19odG1sLmgifSA9IDE7CiAgICAgJGltcGxJbmNsdWRlc3siSFRNTEZvcm1FbGVtZW50Lmgi
fSA9IDE7CiAgICAgcmV0dXJuICJ0b0pTKGV4ZWMsICR2YWx1ZSkiOworICB9IGVsc2lmICgkdHlw
ZSBlcSAiSFRNTENvbGxlY3Rpb24iKSB7CisgICAgICAkaW1wbEluY2x1ZGVzeyJranNfaHRtbC5o
In0gPSAxOworICAgICAgJGltcGxJbmNsdWRlc3siSFRNTENvbGxlY3Rpb24uaCJ9ID0gMTsKKyAg
ICAgIHJldHVybiAiZ2V0SFRNTENvbGxlY3Rpb24oZXhlYywgJHZhbHVlLmdldCgpKSI7CiAgIH0g
ZWxzZSB7CiAgICAgJGltcGxJbmNsdWRlc3siSlMkdHlwZS5oIn0gPSAxOwogICAgIHJldHVybiAi
dG9KUyhleGVjLCAkdmFsdWUpIjsKSW5kZXg6IGJpbmRpbmdzL2pzL2tqc19odG1sLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gYmluZGluZ3MvanMva2pzX2h0bWwuaAkocmV2aXNpb24gMTQ0NzkpCisrKyBiaW5k
aW5ncy9qcy9ranNfaHRtbC5oCSh3b3JraW5nIGNvcHkpCkBAIC03OCwxNCArNzgsOSBAQCBuYW1l
c3BhY2UgS0pTIHsKICAgICB2aXJ0dWFsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKCkgY29u
c3Q7CiAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBpbmZvOwogCi0gICAgc3RhdGljIGNvbnN0
IENsYXNzSW5mbyBpc0luZGV4X2luZm8sIGJvZHlfaW5mbywgZm9ybV9pbmZvLAotICAgICAgc2Vs
ZWN0X2luZm8sIG9wdEdyb3VwX2luZm8sIG9wdGlvbl9pbmZvLCBpbnB1dF9pbmZvLCB0ZXh0QXJl
YV9pbmZvLAotICAgICAgYnV0dG9uX2luZm8sIGxhYmVsX2luZm8sIGZpZWxkU2V0X2luZm8sIGxl
Z2VuZF9pbmZvLCAKLSAgICAgIG1lbnVfaW5mbywgbGlfaW5mbywgcF9pbmZvLCBoZWFkaW5nX2lu
Zm8sCi0gICAgICBibG9ja1F1b3RlX2luZm8sIHFfaW5mbywgcHJlX2luZm8sIGJyX2luZm8sIGJh
c2VGb250X2luZm8sIGZvbnRfaW5mbywKLSAgICAgIGhyX2luZm8sIG1vZF9pbmZvLCBpbWdfaW5m
bywgb2JqZWN0X2luZm8sIHBhcmFtX2luZm8sCi0gICAgICBlbWJlZF9pbmZvLCBtYXBfaW5mbywg
YXJlYV9pbmZvLCBzY3JpcHRfaW5mbywgdGFibGVfaW5mbywKLSAgICAgIGNhcHRpb25faW5mbywg
Y29sX2luZm8sIHRhYmxlc2VjdGlvbl9pbmZvLCB0cl9pbmZvLAorICAgIHN0YXRpYyBjb25zdCBD
bGFzc0luZm8gZm9ybV9pbmZvLAorICAgICAgc2VsZWN0X2luZm8sIG9wdGlvbl9pbmZvLCBpbnB1
dF9pbmZvLCBvYmplY3RfaW5mbywgCisgICAgICBlbWJlZF9pbmZvLCB0YWJsZV9pbmZvLCBjYXB0
aW9uX2luZm8sIGNvbF9pbmZvLCB0YWJsZXNlY3Rpb25faW5mbywgdHJfaW5mbywKICAgICAgIHRh
YmxlY2VsbF9pbmZvLCBmcmFtZVNldF9pbmZvLCBmcmFtZV9pbmZvLCBpRnJhbWVfaW5mbywgbWFy
cXVlZV9pbmZvOwogCiAgICAgLy8gRklYTUU6IE1pZ2h0IG1ha2Ugc2Vuc2UgdG8gY29tYmluZSB0
aGlzIHdpdGggQ2xhc3NJbmZvIHNvbWUgZGF5LgpAQCAtOTMsNjggKzg4LDE5IEBAIG5hbWVzcGFj
ZSBLSlMgewogICAgIHR5cGVkZWYgdm9pZCAoSlNIVE1MRWxlbWVudDo6KlNldHRlckZ1bmN0aW9u
KShFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNv
cmU6OlN0cmluZyYgc3RyKTsKICAgICBzdHJ1Y3QgQWNjZXNzb3JzIHsgR2V0dGVyRnVuY3Rpb24g
bV9nZXR0ZXI7IFNldHRlckZ1bmN0aW9uIG1fc2V0dGVyOyB9OwogICAgIGNvbnN0IEFjY2Vzc29y
cyogYWNjZXNzb3JzKCkgY29uc3Q7Ci0gICAgc3RhdGljIGNvbnN0IEFjY2Vzc29ycyBpc0luZGV4
X2FjY2Vzc29ycywgYm9keV9hY2Nlc3NvcnMsIGZvcm1fYWNjZXNzb3JzLAotICAgICAgc2VsZWN0
X2FjY2Vzc29ycywgb3B0R3JvdXBfYWNjZXNzb3JzLCBvcHRpb25fYWNjZXNzb3JzLCBpbnB1dF9h
Y2Nlc3NvcnMsIHRleHRBcmVhX2FjY2Vzc29ycywKLSAgICAgIGJ1dHRvbl9hY2Nlc3NvcnMsIGxh
YmVsX2FjY2Vzc29ycywgZmllbGRTZXRfYWNjZXNzb3JzLCBsZWdlbmRfYWNjZXNzb3JzLCAKLSAg
ICAgIG1lbnVfYWNjZXNzb3JzLCBsaV9hY2Nlc3NvcnMsIHBfYWNjZXNzb3JzLCBoZWFkaW5nX2Fj
Y2Vzc29ycywKLSAgICAgIGJsb2NrUXVvdGVfYWNjZXNzb3JzLCBxX2FjY2Vzc29ycywgcHJlX2Fj
Y2Vzc29ycywgYnJfYWNjZXNzb3JzLCBiYXNlRm9udF9hY2Nlc3NvcnMsIGZvbnRfYWNjZXNzb3Jz
LAotICAgICAgaHJfYWNjZXNzb3JzLCBtb2RfYWNjZXNzb3JzLCBpbWdfYWNjZXNzb3JzLCBvYmpl
Y3RfYWNjZXNzb3JzLCBwYXJhbV9hY2Nlc3NvcnMsCi0gICAgICBlbWJlZF9hY2Nlc3NvcnMsIG1h
cF9hY2Nlc3NvcnMsIGFyZWFfYWNjZXNzb3JzLCBzY3JpcHRfYWNjZXNzb3JzLCB0YWJsZV9hY2Nl
c3NvcnMsCisgICAgc3RhdGljIGNvbnN0IEFjY2Vzc29ycyBmb3JtX2FjY2Vzc29ycywKKyAgICAg
IHNlbGVjdF9hY2Nlc3NvcnMsIG9wdGlvbl9hY2Nlc3NvcnMsIGlucHV0X2FjY2Vzc29ycywgb2Jq
ZWN0X2FjY2Vzc29ycywgZW1iZWRfYWNjZXNzb3JzLCB0YWJsZV9hY2Nlc3NvcnMsCiAgICAgICBj
YXB0aW9uX2FjY2Vzc29ycywgY29sX2FjY2Vzc29ycywgdGFibGVzZWN0aW9uX2FjY2Vzc29ycywg
dHJfYWNjZXNzb3JzLAogICAgICAgdGFibGVjZWxsX2FjY2Vzc29ycywgZnJhbWVTZXRfYWNjZXNz
b3JzLCBmcmFtZV9hY2Nlc3NvcnMsIGlGcmFtZV9hY2Nlc3NvcnMsIG1hcnF1ZWVfYWNjZXNzb3Jz
OwogCi0gICAgSlNWYWx1ZSAqaXNJbmRleEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tl
bikgY29uc3Q7Ci0gICAgdm9pZCAgaXNJbmRleFNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0
b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKLSAgICBK
U1ZhbHVlICpib2R5R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsKLSAg
ICB2b2lkICBib2R5U2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2
YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpOwogICAgIEpTVmFsdWUgKmZvcm1HZXR0
ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0OwogICAgIHZvaWQgIGZvcm1TZXR0
ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJD
b3JlOjpTdHJpbmcmIHN0cik7CiAgICAgSlNWYWx1ZSAqc2VsZWN0R2V0dGVyKEV4ZWNTdGF0ZSog
ZXhlYywgaW50IHRva2VuKSBjb25zdDsKICAgICB2b2lkICBzZWxlY3RTZXR0ZXIoRXhlY1N0YXRl
ICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcm
IHN0cik7Ci0gICAgSlNWYWx1ZSAqbGFiZWxHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9r
ZW4pIGNvbnN0OwotICAgIHZvaWQgIGxhYmVsU2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRv
a2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpOwotICAgIEpT
VmFsdWUgKmZpZWxkU2V0R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsK
LSAgICB2b2lkICBmaWVsZFNldFNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNW
YWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKLSAgICBKU1ZhbHVlICps
ZWdlbmRHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIHZvaWQg
IGxlZ2VuZFNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUs
IGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKLSAgICBKU1ZhbHVlICptZW51R2V0dGVyKEV4
ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsKLSAgICB2b2lkICBtZW51U2V0dGVyKEV4
ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6
U3RyaW5nJiBzdHIpOwotICAgIEpTVmFsdWUgKmxpR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50
IHRva2VuKSBjb25zdDsKLSAgICB2b2lkICBsaVNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0
b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKLSAgICBK
U1ZhbHVlICpwYXJhZ3JhcGhHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0
OwotICAgIHZvaWQgIHBhcmFncmFwaFNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwg
SlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKLSAgICBKU1ZhbHVl
ICpoZWFkaW5nR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsKLSAgICB2
b2lkICBoZWFkaW5nU2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2
YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpOwotICAgIEpTVmFsdWUgKmJsb2NrUXVv
dGVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIHZvaWQgIGJs
b2NrUXVvdGVTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVl
LCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cik7Ci0gICAgSlNWYWx1ZSAqcXVvdGVHZXR0ZXIo
RXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIHZvaWQgIHF1b3RlU2V0dGVy
KEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29y
ZTo6U3RyaW5nJiBzdHIpOwotICAgIEpTVmFsdWUgKnByZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMs
IGludCB0b2tlbikgY29uc3Q7Ci0gICAgdm9pZCAgcHJlU2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywg
aW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpOwot
ICAgIEpTVmFsdWUgKmJyR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsK
LSAgICB2b2lkICBiclNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAq
dmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKLSAgICBKU1ZhbHVlICpiYXNlRm9u
dEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3Q7Ci0gICAgdm9pZCAgYmFz
ZUZvbnRTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBj
b25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cik7Ci0gICAgSlNWYWx1ZSAqZm9udEdldHRlcihFeGVj
U3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3Q7Ci0gICAgdm9pZCAgZm9udFNldHRlcihFeGVj
U3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0
cmluZyYgc3RyKTsKLSAgICBKU1ZhbHVlICpockdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0
b2tlbikgY29uc3Q7Ci0gICAgdm9pZCAgaHJTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9r
ZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cik7Ci0gICAgSlNW
YWx1ZSAqbW9kR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsKLSAgICB2
b2lkICBtb2RTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVl
LCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cik7Ci0gICAgSlNWYWx1ZSAqaW1hZ2VHZXR0ZXIo
RXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIHZvaWQgIGltYWdlU2V0dGVy
KEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29y
ZTo6U3RyaW5nJiBzdHIpOwogICAgIEpTVmFsdWUgKm9iamVjdEdldHRlcihFeGVjU3RhdGUqIGV4
ZWMsIGludCB0b2tlbikgY29uc3Q7CiAgICAgdm9pZCAgb2JqZWN0U2V0dGVyKEV4ZWNTdGF0ZSAq
ZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBz
dHIpOwotICAgIEpTVmFsdWUgKnBhcmFtR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2Vu
KSBjb25zdDsKLSAgICB2b2lkICBwYXJhbVNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tl
biwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKTsKICAgICBKU1Zh
bHVlICplbWJlZEdldHRlcihFeGVjU3RhdGUqLCBpbnQgdG9rZW4pIGNvbnN0OwogICAgIHZvaWQg
IGVtYmVkU2V0dGVyKEV4ZWNTdGF0ZSosIGludCB0b2tlbiwgSlNWYWx1ZSosIGNvbnN0IFdlYkNv
cmU6OlN0cmluZyYpOwotICAgIEpTVmFsdWUgKm1hcEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGlu
dCB0b2tlbikgY29uc3Q7Ci0gICAgdm9pZCAgbWFwU2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50
IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpOwotICAg
IEpTVmFsdWUgKmFyZWFHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0Owot
ICAgIHZvaWQgIGFyZWFTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUg
KnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cik7Ci0gICAgSlNWYWx1ZSAqc2NyaXB0
R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdDsKLSAgICB2b2lkICBzY3Jp
cHRTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25z
dCBXZWJDb3JlOjpTdHJpbmcmIHN0cik7CiAgICAgSlNWYWx1ZSAqdGFibGVHZXR0ZXIoRXhlY1N0
YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0OwogICAgIHZvaWQgIHRhYmxlU2V0dGVyKEV4ZWNT
dGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3Ry
aW5nJiBzdHIpOwogICAgIEpTVmFsdWUgKnRhYmxlQ2FwdGlvbkdldHRlcihFeGVjU3RhdGUqIGV4
ZWMsIGludCB0b2tlbikgY29uc3Q7CkBAIC0xNzYsMzMgKzEyMiwxOCBAQCBuYW1lc3BhY2UgS0pT
IHsKICAgICBKU1ZhbHVlICptYXJxdWVlR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2Vu
KSBjb25zdDsKICAgICB2b2lkICBtYXJxdWVlU2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRv
a2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpOwogCi0gICAg
ZW51bSB7IElzSW5kZXhGb3JtLCBJc0luZGV4UHJvbXB0LCBCb2R5QmFja2dyb3VuZCwgQm9keVZM
aW5rLCBCb2R5VGV4dCwKLSAgICAgICAgICAgQm9keUxpbmssIEJvZHlBTGluaywgQm9keUJnQ29s
b3IsIEJvZHlTY3JvbGxMZWZ0LCBCb2R5U2Nyb2xsVG9wLCBCb2R5U2Nyb2xsSGVpZ2h0LCBCb2R5
U2Nyb2xsV2lkdGgsCisgICAgZW51bSB7IAogICAgICAgICAgICBGb3JtQWN0aW9uLCBGb3JtRW5j
VHlwZSwgRm9ybUVsZW1lbnRzLCBGb3JtTGVuZ3RoLCBGb3JtQWNjZXB0Q2hhcnNldCwKICAgICAg
ICAgICAgRm9ybVJlc2V0LCBGb3JtVGFyZ2V0LCBGb3JtTmFtZSwgRm9ybU1ldGhvZCwgRm9ybVN1
Ym1pdCwgU2VsZWN0QWRkLAogICAgICAgICAgICBTZWxlY3RUYWJJbmRleCwgU2VsZWN0VmFsdWUs
IFNlbGVjdFNlbGVjdGVkSW5kZXgsIFNlbGVjdExlbmd0aCwKICAgICAgICAgICAgU2VsZWN0UmVt
b3ZlLCBTZWxlY3RGb3JtLCBTZWxlY3RCbHVyLCBTZWxlY3RUeXBlLCBTZWxlY3RPcHRpb25zLAog
ICAgICAgICAgICBTZWxlY3REaXNhYmxlZCwgU2VsZWN0TXVsdGlwbGUsIFNlbGVjdE5hbWUsIFNl
bGVjdFNpemUsIFNlbGVjdEZvY3VzLAotICAgICAgICAgICBMYWJlbEh0bWxGb3IsCi0gICAgICAg
ICAgIExhYmVsRm9ybSwgTGFiZWxGb2N1cywgTGFiZWxBY2Nlc3NLZXksIEZpZWxkU2V0Rm9ybSwg
TGVnZW5kRm9ybSwgTGVnZW5kQWNjZXNzS2V5LAotICAgICAgICAgICBMZWdlbmRBbGlnbiwgTGVn
ZW5kRm9jdXMsIE1lbnVDb21wYWN0LCBMSVR5cGUsCi0gICAgICAgICAgIExJVmFsdWUsIFBhcmFn
cmFwaEFsaWduLCBIZWFkaW5nQWxpZ24sIEJsb2NrUXVvdGVDaXRlLAotICAgICAgICAgICBRdW90
ZUNpdGUsIFByZVdpZHRoLCBQcmVXcmFwLCBCUkNsZWFyLCBCYXNlRm9udENvbG9yLCBCYXNlRm9u
dFNpemUsCi0gICAgICAgICAgIEJhc2VGb250RmFjZSwgRm9udENvbG9yLCBGb250U2l6ZSwgRm9u
dEZhY2UsIEhSV2lkdGgsIEhSTm9TaGFkZSwKLSAgICAgICAgICAgSFJBbGlnbiwgSFJTaXplLCBN
b2RDaXRlLCBNb2REYXRlVGltZSwKLSAgICAgICAgICAgSW1hZ2VOYW1lLCBJbWFnZUFsaWduLCBJ
bWFnZUhzcGFjZSwgSW1hZ2VWc3BhY2UsIEltYWdlVXNlTWFwLCBJbWFnZUFsdCwKLSAgICAgICAg
ICAgSW1hZ2VMb3dTcmMsIEltYWdlV2lkdGgsIEltYWdlSXNNYXAsIEltYWdlQm9yZGVyLCBJbWFn
ZUhlaWdodCwgSW1hZ2VDb21wbGV0ZSwKLSAgICAgICAgICAgSW1hZ2VMb25nRGVzYywgSW1hZ2VT
cmMsIEltYWdlWCwgSW1hZ2VZLCBPYmplY3RIc3BhY2UsIE9iamVjdEhlaWdodCwgT2JqZWN0QWxp
Z24sCisgICAgICAgICAgIE9iamVjdEhzcGFjZSwgT2JqZWN0SGVpZ2h0LCBPYmplY3RBbGlnbiwK
ICAgICAgICAgICAgT2JqZWN0Qm9yZGVyLCBPYmplY3RDb2RlLCBPYmplY3RUeXBlLCBPYmplY3RW
c3BhY2UsIE9iamVjdEFyY2hpdmUsCiAgICAgICAgICAgIE9iamVjdERlY2xhcmUsIE9iamVjdEZv
cm0sIE9iamVjdENvZGVCYXNlLCBPYmplY3RDb2RlVHlwZSwgT2JqZWN0RGF0YSwKICAgICAgICAg
ICAgT2JqZWN0TmFtZSwgT2JqZWN0U3RhbmRieSwgT2JqZWN0VGFiSW5kZXgsIE9iamVjdFVzZU1h
cCwgT2JqZWN0V2lkdGgsIE9iamVjdENvbnRlbnREb2N1bWVudCwKLSAgICAgICAgICAgUGFyYW1O
YW1lLCBQYXJhbVR5cGUsIFBhcmFtVmFsdWVUeXBlLCBQYXJhbVZhbHVlLCAKICAgICAgICAgICAg
RW1iZWRBbGlnbiwgRW1iZWRIZWlnaHQsIEVtYmVkTmFtZSwgRW1iZWRTcmMsIEVtYmVkVHlwZSwg
RW1iZWRXaWR0aCwKLSAgICAgICAgICAgTWFwQXJlYXMsIE1hcE5hbWUsIEFyZWFIYXNoLCBBcmVh
SHJlZiwgQXJlYVRhcmdldCwgQXJlYVBvcnQsIEFyZWFTaGFwZSwKLSAgICAgICAgICAgQXJlYUNv
b3JkcywgQXJlYUFsdCwgQXJlYUFjY2Vzc0tleSwgQXJlYU5vSHJlZiwgQXJlYUhvc3QsIEFyZWFQ
cm90b2NvbCwKLSAgICAgICAgICAgQXJlYUhvc3ROYW1lLCBBcmVhUGF0aE5hbWUsIEFyZWFTZWFy
Y2gsIEFyZWFUYWJJbmRleCwgU2NyaXB0RXZlbnQsCi0gICAgICAgICAgIFNjcmlwdFR5cGUsIFNj
cmlwdEh0bWxGb3IsIFNjcmlwdFRleHQsIFNjcmlwdFNyYywgU2NyaXB0Q2hhcnNldCwKLSAgICAg
ICAgICAgU2NyaXB0RGVmZXIsIFRhYmxlU3VtbWFyeSwgVGFibGVUQm9kaWVzLCBUYWJsZVRIZWFk
LCBUYWJsZUNlbGxQYWRkaW5nLAorICAgICAgICAgICBUYWJsZVN1bW1hcnksIFRhYmxlVEJvZGll
cywgVGFibGVUSGVhZCwgVGFibGVDZWxsUGFkZGluZywKICAgICAgICAgICAgVGFibGVEZWxldGVD
YXB0aW9uLCBUYWJsZUNyZWF0ZUNhcHRpb24sIFRhYmxlQ2FwdGlvbiwgVGFibGVXaWR0aCwKICAg
ICAgICAgICAgVGFibGVDcmVhdGVURm9vdCwgVGFibGVBbGlnbiwgVGFibGVURm9vdCwgVGFibGVE
ZWxldGVSb3csCiAgICAgICAgICAgIFRhYmxlQ2VsbFNwYWNpbmcsIFRhYmxlUm93cywgVGFibGVC
Z0NvbG9yLCBUYWJsZUJvcmRlciwgVGFibGVGcmFtZSwKSW5kZXg6IGJpbmRpbmdzL2pzL0pTSFRN
TEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYmluZGluZ3MvanMvSlNI
VE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcAkocmV2aXNpb24gMTQ0NzkpCisrKyBiaW5kaW5n
cy9qcy9KU0hUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MSwyMCArMjEsNDIgQEAKIAogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTEFwcGxldEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MQmFzZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MQmFzZUZvbnRFbGVtZW50
LmgiCisjaW5jbHVkZSAiSFRNTEJsb2NrUXVvdGVFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTEJv
ZHlFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTEJSRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxC
dXR0b25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKLSNpbmNsdWRl
ICJIVE1MRGl2RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxEaXJlY3RvcnlFbGVtZW50LmgiCisj
aW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRExpc3RFbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTEZpZWxkU2V0RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxGb250RWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxIZWFk
aW5nRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxIUkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
SHRtbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJc0luZGV4RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxMYWJlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTGVnZW5kRWxlbWVudC5o
IgorI2luY2x1ZGUgIkhUTUxMSUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTGlua0VsZW1lbnQu
aCIKKyNpbmNsdWRlICJIVE1MTWFwRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxNZW51RWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxNZXRhRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxNb2RFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9MaXN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRH
cm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUg
IkhUTUxQYXJhZ3JhcGhFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTFBhcmFtRWxlbWVudC5oIgor
I2luY2x1ZGUgIkhUTUxQcmVFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTFF1b3RlRWxlbWVudC5o
IgorI2luY2x1ZGUgIkhUTUxTY3JpcHRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFN0eWxlRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
VGl0bGVFbGVtZW50LmgiCkBAIC00NCwyMCArNjYsNDIgQEAKIAogI2luY2x1ZGUgIkpTSFRNTEFu
Y2hvckVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxBcHBsZXRFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSlNIVE1MQXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxCYXNlRWxlbWVudC5oIgor
I2luY2x1ZGUgIkpTSFRNTEJhc2VGb250RWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTEJsb2Nr
UXVvdGVFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MQm9keUVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJKU0hUTUxCUkVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxCdXR0b25FbGVtZW50LmgiCiAj
aW5jbHVkZSAiSlNIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTERpcmVjdG9y
eUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxEaXZFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNI
VE1MRExpc3RFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MRmllbGRTZXRFbGVtZW50LmgiCisj
aW5jbHVkZSAiSlNIVE1MRm9udEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxIZWFkRWxlbWVu
dC5oIgorI2luY2x1ZGUgIkpTSFRNTEhlYWRpbmdFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1M
SFJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNIVE1MSHRtbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJK
U0hUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxJbnB1dEVsZW1lbnQuaCIKKyNp
bmNsdWRlICJKU0hUTUxJc0luZGV4RWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTExhYmVsRWxl
bWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTExlZ2VuZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hU
TUxMSUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxMaW5rRWxlbWVudC5oIgorI2luY2x1ZGUg
IkpTSFRNTE1hcEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxNZW51RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkpTSFRNTE1ldGFFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MTW9kRWxlbWVudC5o
IgogI2luY2x1ZGUgIkpTSFRNTE9MaXN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTE9wdEdy
b3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSFRNTE9wdGlvbkVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MUGFyYW1FbGVtZW50
LmgiCisjaW5jbHVkZSAiSlNIVE1MUHJlRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTFF1b3Rl
RWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTFNjcmlwdEVsZW1lbnQuaCIKICNpbmNsdWRlICJK
U0hUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0hUTUxUZXh0QXJlYUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJKU0hUTUxUaXRsZUVsZW1lbnQuaCIKQEAgLTc1LDEzMCArMTE5LDc0IEBAIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIHR5cGVkZWYgRE9NTm9kZSogKCpDcmVhdGVIVE1M
RWxlbWVudFdyYXBwZXJGdW5jdGlvbikoRXhlY1N0YXRlKiwgUGFzc1JlZlB0cjxIVE1MRWxlbWVu
dD4pOwogCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlQW5jaG9yV3JhcHBlcihFeGVjU3RhdGUqIGV4
ZWMsIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIG5ldyBK
U0hUTUxBbmNob3JFbGVtZW50KGV4ZWMsIHN0YXRpY19jYXN0PEhUTUxBbmNob3JFbGVtZW50Kj4o
ZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlQXBwbGV0V3JhcHBl
cihFeGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQpCi17Ci0g
ICAgcmV0dXJuIG5ldyBKU0hUTUxBcHBsZXRFbGVtZW50KGV4ZWMsIHN0YXRpY19jYXN0PEhUTUxB
cHBsZXRFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3Jl
YXRlQmFzZVdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBl
bGVtZW50KQotewotICAgIHJldHVybiBuZXcgSlNIVE1MQmFzZUVsZW1lbnQoZXhlYywgc3RhdGlj
X2Nhc3Q8SFRNTEJhc2VFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9N
Tm9kZSogY3JlYXRlQnV0dG9uV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8SFRN
TEVsZW1lbnQ+IGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIG5ldyBKU0hUTUxCdXR0b25FbGVtZW50
KGV4ZWMsIHN0YXRpY19jYXN0PEhUTUxCdXR0b25FbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwot
fQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlQ2FudmFzV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMs
IFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQpCi17Ci0gICAgcmV0dXJuIG5ldyBKU0hU
TUxDYW52YXNFbGVtZW50KGV4ZWMsIHN0YXRpY19jYXN0PEhUTUxDYW52YXNFbGVtZW50Kj4oZWxl
bWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlRGl2V3JhcHBlcihFeGVj
U3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQpCi17Ci0gICAgcmV0
dXJuIG5ldyBKU0hUTUxEaXZFbGVtZW50KGV4ZWMsIHN0YXRpY19jYXN0PEhUTUxEaXZFbGVtZW50
Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlRGlyZWN0b3J5
V3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQp
Ci17Ci0gICAgcmV0dXJuIG5ldyBKU0hUTUxEaXJlY3RvcnlFbGVtZW50KGV4ZWMsIHN0YXRpY19j
YXN0PEhUTUxEaXJlY3RvcnlFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMg
RE9NTm9kZSogY3JlYXRlRExpc3RXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxI
VE1MRWxlbWVudD4gZWxlbWVudCkKLXsKLSAgICByZXR1cm4gbmV3IEpTSFRNTERMaXN0RWxlbWVu
dChleGVjLCBzdGF0aWNfY2FzdDxIVE1MRExpc3RFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwot
fQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlSGVhZFdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBQ
YXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50KQotewotICAgIHJldHVybiBuZXcgSlNIVE1M
SGVhZEVsZW1lbnQoZXhlYywgc3RhdGljX2Nhc3Q8SFRNTEhlYWRFbGVtZW50Kj4oZWxlbWVudC5n
ZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlSHRtbFdyYXBwZXIoRXhlY1N0YXRl
KiBleGVjLCBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50KQotewotICAgIHJldHVybiBu
ZXcgSlNIVE1MSHRtbEVsZW1lbnQoZXhlYywgc3RhdGljX2Nhc3Q8SFRNTEh0bWxFbGVtZW50Kj4o
ZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlTGlua1dyYXBwZXIo
RXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50KQotewotICAg
IHJldHVybiBuZXcgSlNIVE1MTGlua0VsZW1lbnQoZXhlYywgc3RhdGljX2Nhc3Q8SFRNTExpbmtF
bGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlSW5w
dXRXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gZWxlbWVu
dCkKLXsKLSAgICByZXR1cm4gbmV3IEpTSFRNTElucHV0RWxlbWVudChleGVjLCBzdGF0aWNfY2Fz
dDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9k
ZSogY3JlYXRlTWV0YVdyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPEhUTUxFbGVt
ZW50PiBlbGVtZW50KQotewotICAgIHJldHVybiBuZXcgSlNIVE1MTWV0YUVsZW1lbnQoZXhlYywg
c3RhdGljX2Nhc3Q8SFRNTE1ldGFFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0
aWMgRE9NTm9kZSogY3JlYXRlT0xpc3RXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0
cjxIVE1MRWxlbWVudD4gZWxlbWVudCkKLXsKLSAgICByZXR1cm4gbmV3IEpTSFRNTE9MaXN0RWxl
bWVudChleGVjLCBzdGF0aWNfY2FzdDxIVE1MT0xpc3RFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkp
OwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlT3B0R3JvdXBXcmFwcGVyKEV4ZWNTdGF0ZSog
ZXhlYywgUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gZWxlbWVudCkKLXsKLSAgICByZXR1cm4gbmV3
IEpTSFRNTE9wdEdyb3VwRWxlbWVudChleGVjLCBzdGF0aWNfY2FzdDxIVE1MT3B0R3JvdXBFbGVt
ZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlT3B0aW9u
V3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQp
Ci17Ci0gICAgcmV0dXJuIG5ldyBKU0hUTUxPcHRpb25FbGVtZW50KGV4ZWMsIHN0YXRpY19jYXN0
PEhUTUxPcHRpb25FbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9k
ZSogY3JlYXRlU3R5bGVXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxIVE1MRWxl
bWVudD4gZWxlbWVudCkKLXsKLSAgICByZXR1cm4gbmV3IEpTSFRNTFN0eWxlRWxlbWVudChleGVj
LCBzdGF0aWNfY2FzdDxIVE1MU3R5bGVFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1z
dGF0aWMgRE9NTm9kZSogY3JlYXRlVGV4dEFyZWFXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgUGFz
c1JlZlB0cjxIVE1MRWxlbWVudD4gZWxlbWVudCkKLXsKLSAgICByZXR1cm4gbmV3IEpTSFRNTFRl
eHRBcmVhRWxlbWVudChleGVjLCBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4oZWxl
bWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlVGl0bGVXcmFwcGVyKEV4
ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gZWxlbWVudCkKLXsKLSAgICBy
ZXR1cm4gbmV3IEpTSFRNTFRpdGxlRWxlbWVudChleGVjLCBzdGF0aWNfY2FzdDxIVE1MVGl0bGVF
bGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOwotfQotCi1zdGF0aWMgRE9NTm9kZSogY3JlYXRlVUxp
c3RXcmFwcGVyKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gZWxlbWVu
dCkKLXsKLSAgICByZXR1cm4gbmV3IEpTSFRNTFVMaXN0RWxlbWVudChleGVjLCBzdGF0aWNfY2Fz
dDxIVE1MVUxpc3RFbGVtZW50Kj4oZWxlbWVudC5nZXQoKSkpOworI2RlZmluZSBGT1JfRUFDSF9U
QUcobWFjcm8pIFwKKyAgICBtYWNybyhhLCBBbmNob3IpIFwKKyAgICBtYWNybyhhcHBsZXQsIEFw
cGxldCkgXAorICAgIG1hY3JvKGFyZWEsIEFyZWEpIFwKKyAgICBtYWNybyhiYXNlLCBCYXNlKSBc
CisgICAgbWFjcm8oYmFzZWZvbnQsIEJhc2VGb250KSBcCisgICAgbWFjcm8oYmxvY2txdW90ZSwg
QmxvY2txdW90ZSkgXAorICAgIG1hY3JvKGJvZHksIEJvZHkpIFwKKyAgICBtYWNybyhiciwgQlIp
IFwKKyAgICBtYWNybyhidXR0b24sIEJ1dHRvbikgXAorICAgIG1hY3JvKGNhbnZhcywgQ2FudmFz
KSBcCisgICAgbWFjcm8oZGVsLCBNb2QpIFwKKyAgICBtYWNybyhkaXIsIERpcmVjdG9yeSkgXAor
ICAgIG1hY3JvKGRpdiwgRGl2KSBcCisgICAgbWFjcm8oZGwsIERMaXN0KSBcCisgICAgbWFjcm8o
ZmllbGRzZXQsIEZpZWxkU2V0KSBcCisgICAgbWFjcm8oZm9udCwgRm9udCkgXAorICAgIG1hY3Jv
KGgxLCBIZWFkaW5nKSBcCisgICAgbWFjcm8oaGVhZCwgSGVhZCkgXAorICAgIG1hY3JvKGhyLCBI
UikgXAorICAgIG1hY3JvKGh0bWwsIEh0bWwpIFwKKyAgICBtYWNybyhpbWcsIEltYWdlKSBcCisg
ICAgbWFjcm8oaW5wdXQsIElucHV0KSBcCisgICAgbWFjcm8oaXNpbmRleCwgSXNJbmRleCkgXAor
ICAgIG1hY3JvKGxhYmVsLCBMYWJlbCkgXAorICAgIG1hY3JvKGxlZ2VuZCwgTGVnZW5kKSBcCisg
ICAgbWFjcm8obGksIExJKSBcCisgICAgbWFjcm8obGluaywgTGluaykgXAorICAgIG1hY3JvKG1h
cCwgTWFwKSBcCisgICAgbWFjcm8obWVudSwgTWVudSkgXAorICAgIG1hY3JvKG1ldGEsIE1ldGEp
IFwKKyAgICBtYWNybyhvbCwgT0xpc3QpIFwKKyAgICBtYWNybyhvcHRncm91cCwgT3B0R3JvdXAp
IFwKKyAgICBtYWNybyhvcHRpb24sIE9wdGlvbikgXAorICAgIG1hY3JvKHAsIFBhcmFncmFwaCkg
XAorICAgIG1hY3JvKHBhcmFtLCBQYXJhbSkgXAorICAgIG1hY3JvKHByZSwgUHJlKSBcCisgICAg
bWFjcm8ocSwgUXVvdGUpIFwKKyAgICBtYWNybyhzY3JpcHQsIFNjcmlwdCkgXAorICAgIG1hY3Jv
KHN0eWxlLCBTdHlsZSkgXAorICAgIG1hY3JvKHRleHRhcmVhLCBUZXh0QXJlYSkgXAorICAgIG1h
Y3JvKHRpdGxlLCBUaXRsZSkgXAorICAgIG1hY3JvKHVsLCBVTGlzdCkgXAorICAgIC8vIGVuZCBv
ZiBtYWNybworCisjZGVmaW5lIENSRUFURV9XUkFQUEVSX0ZVTkNUSU9OKHRhZywgbmFtZSkgXAor
c3RhdGljIERPTU5vZGUqIGNyZWF0ZSMjbmFtZSMjV3JhcHBlcihFeGVjU3RhdGUqIGV4ZWMsIFBh
c3NSZWZQdHI8SFRNTEVsZW1lbnQ+IGVsZW1lbnQpIFwKK3sgXAorICAgIHJldHVybiBuZXcgSlNI
VE1MIyNuYW1lIyNFbGVtZW50KGV4ZWMsIHN0YXRpY19jYXN0PEhUTUwjI25hbWUjI0VsZW1lbnQq
PihlbGVtZW50LmdldCgpKSk7IFwKIH0KK0ZPUl9FQUNIX1RBRyhDUkVBVEVfV1JBUFBFUl9GVU5D
VElPTikKKyN1bmRlZiBDUkVBVEVfV1JBUFBFUl9GVU5DVElPTgogCiBET01Ob2RlKiBjcmVhdGVK
U1dyYXBwZXIoRXhlY1N0YXRlKiBleGVjLCBQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50
KQogewogICAgIHN0YXRpYyBIYXNoTWFwPFdlYkNvcmU6OkF0b21pY1N0cmluZ0ltcGwqLCBDcmVh
dGVIVE1MRWxlbWVudFdyYXBwZXJGdW5jdGlvbj4gbWFwOwogICAgIGlmIChtYXAuaXNFbXB0eSgp
KSB7Ci0gICAgICAgIG1hcC5zZXQoYVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIGNyZWF0ZUFuY2hv
cldyYXBwZXIpOwotICAgICAgICBtYXAuc2V0KGFwcGxldFRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
IGNyZWF0ZUFwcGxldFdyYXBwZXIpOwotICAgICAgICBtYXAuc2V0KGJhc2VUYWcubG9jYWxOYW1l
KCkuaW1wbCgpLCBjcmVhdGVCYXNlV3JhcHBlcik7Ci0gICAgICAgIG1hcC5zZXQoYnV0dG9uVGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlQnV0dG9uV3JhcHBlcik7Ci0gICAgICAgIG1hcC5z
ZXQoY2FudmFzVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlQ2FudmFzV3JhcHBlcik7Ci0g
ICAgICAgIG1hcC5zZXQoZGlyVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlRGlyZWN0b3J5
V3JhcHBlcik7Ci0gICAgICAgIG1hcC5zZXQoZGl2VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3Jl
YXRlRGl2V3JhcHBlcik7Ci0gICAgICAgIG1hcC5zZXQoZGxUYWcubG9jYWxOYW1lKCkuaW1wbCgp
LCBjcmVhdGVETGlzdFdyYXBwZXIpOwotICAgICAgICBtYXAuc2V0KGhlYWRUYWcubG9jYWxOYW1l
KCkuaW1wbCgpLCBjcmVhdGVIZWFkV3JhcHBlcik7Ci0gICAgICAgIG1hcC5zZXQoaHRtbFRhZy5s
b2NhbE5hbWUoKS5pbXBsKCksIGNyZWF0ZUh0bWxXcmFwcGVyKTsKLSAgICAgICAgbWFwLnNldChp
bnB1dFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksIGNyZWF0ZUlucHV0V3JhcHBlcik7Ci0gICAgICAg
IG1hcC5zZXQobGlua1RhZy5sb2NhbE5hbWUoKS5pbXBsKCksIGNyZWF0ZUxpbmtXcmFwcGVyKTsK
LSAgICAgICAgbWFwLnNldChtZXRhVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlTWV0YVdy
YXBwZXIpOwotICAgICAgICBtYXAuc2V0KG9sVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRl
T0xpc3RXcmFwcGVyKTsKLSAgICAgICAgbWFwLnNldChvcHRncm91cFRhZy5sb2NhbE5hbWUoKS5p
bXBsKCksIGNyZWF0ZU9wdEdyb3VwV3JhcHBlcik7Ci0gICAgICAgIG1hcC5zZXQob3B0aW9uVGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlT3B0aW9uV3JhcHBlcik7Ci0gICAgICAgIG1hcC5z
ZXQoc3R5bGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCBjcmVhdGVTdHlsZVdyYXBwZXIpOwotICAg
ICAgICBtYXAuc2V0KHRleHRhcmVhVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlVGV4dEFy
ZWFXcmFwcGVyKTsKLSAgICAgICAgbWFwLnNldCh0aXRsZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
IGNyZWF0ZVRpdGxlV3JhcHBlcik7Ci0gICAgICAgIG1hcC5zZXQodWxUYWcubG9jYWxOYW1lKCku
aW1wbCgpLCBjcmVhdGVVTGlzdFdyYXBwZXIpOworI2RlZmluZSBBRERfVE9fSEFTSF9NQVAodGFn
LCBuYW1lKSBtYXAuc2V0KHRhZyMjVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgY3JlYXRlIyNuYW1l
IyNXcmFwcGVyKTsKK0ZPUl9FQUNIX1RBRyhBRERfVE9fSEFTSF9NQVApCisjdW5kZWYgQUREX1RP
X0hBU0hfTUFQCisgICAgICAgIG1hcC5zZXQoaDJUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCBjcmVh
dGVIZWFkaW5nV3JhcHBlcik7CisgICAgICAgIG1hcC5zZXQoaDNUYWcubG9jYWxOYW1lKCkuaW1w
bCgpLCBjcmVhdGVIZWFkaW5nV3JhcHBlcik7CisgICAgICAgIG1hcC5zZXQoaDRUYWcubG9jYWxO
YW1lKCkuaW1wbCgpLCBjcmVhdGVIZWFkaW5nV3JhcHBlcik7CisgICAgICAgIG1hcC5zZXQoaDVU
YWcubG9jYWxOYW1lKCkuaW1wbCgpLCBjcmVhdGVIZWFkaW5nV3JhcHBlcik7CisgICAgICAgIG1h
cC5zZXQoaDZUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCBjcmVhdGVIZWFkaW5nV3JhcHBlcik7Cisg
ICAgICAgIG1hcC5zZXQoaW1hZ2VUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCBjcmVhdGVJbWFnZVdy
YXBwZXIpOworICAgICAgICBtYXAuc2V0KGluc1RhZy5sb2NhbE5hbWUoKS5pbXBsKCksIGNyZWF0
ZU1vZFdyYXBwZXIpOworICAgICAgICBtYXAuc2V0KGxpc3RpbmdUYWcubG9jYWxOYW1lKCkuaW1w
bCgpLCBjcmVhdGVQcmVXcmFwcGVyKTsKICAgICB9CiAgICAgQ3JlYXRlSFRNTEVsZW1lbnRXcmFw
cGVyRnVuY3Rpb24gZiA9IG1hcC5nZXQoZWxlbWVudC0+bG9jYWxOYW1lKCkuaW1wbCgpKTsKICAg
ICBpZiAoZikKSW5kZXg6IGJpbmRpbmdzL2pzL2tqc19odG1sLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBi
aW5kaW5ncy9qcy9ranNfaHRtbC5jcHAJKHJldmlzaW9uIDE0NDc5KQorKysgYmluZGluZ3MvanMv
a2pzX2h0bWwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAi
SFRNTFRhYmxlUm93RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxUYWJsZVNlY3Rpb25FbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTFF1b3RlRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTEltYWdl
RWxlbWVudC5oIgogI2luY2x1ZGUgIk5hbWVOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eWVyLmgiCiAjaW5jbHVkZSAiVGV4dC5oIgpAQCAtNDQ0LDM4ICs0NDUsMTYgQEAgdm9pZCBKU0hU
TUxEb2N1bWVudDo6cHV0VmFsdWVQcm9wZXJ0eShFeAogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
LWNvbnN0IENsYXNzSW5mbyBKU0hUTUxFbGVtZW50OjphcmVhX2luZm8gPSB7ICJIVE1MQXJlYUVs
ZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxBcmVhRWxlbWVudFRhYmxlLCAwIH07
Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6YmFzZUZvbnRfaW5mbyA9IHsgIkhUTUxC
YXNlRm9udEVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxCYXNlRm9udEVsZW1l
bnRUYWJsZSwgMCB9OwotY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6OmJsb2NrUXVvdGVf
aW5mbyA9IHsgIkhUTUxCbG9ja1F1b3RlRWxlbWVudCIsICZKU0hUTUxFbGVtZW50OjppbmZvLCAm
SFRNTEJsb2NrUXVvdGVFbGVtZW50VGFibGUsIDAgfTsKLWNvbnN0IENsYXNzSW5mbyBKU0hUTUxF
bGVtZW50Ojpib2R5X2luZm8gPSB7ICJIVE1MQm9keUVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6
aW5mbywgJkhUTUxCb2R5RWxlbWVudFRhYmxlLCAwIH07Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1M
RWxlbWVudDo6YnJfaW5mbyA9IHsgIkhUTUxCUkVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5m
bywgJkhUTUxCUkVsZW1lbnRUYWJsZSwgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVsZW1l
bnQ6OmNhcHRpb25faW5mbyA9IHsgIkhUTUxUYWJsZUNhcHRpb25FbGVtZW50IiwgJkpTSFRNTEVs
ZW1lbnQ6OmluZm8sICZIVE1MVGFibGVDYXB0aW9uRWxlbWVudFRhYmxlLCAwIH07CiBjb25zdCBD
bGFzc0luZm8gSlNIVE1MRWxlbWVudDo6Y29sX2luZm8gPSB7ICJIVE1MVGFibGVDb2xFbGVtZW50
IiwgJkpTSFRNTEVsZW1lbnQ6OmluZm8sICZIVE1MVGFibGVDb2xFbGVtZW50VGFibGUsIDAgfTsK
IGNvbnN0IENsYXNzSW5mbyBKU0hUTUxFbGVtZW50OjplbWJlZF9pbmZvID0geyAiSFRNTEVtYmVk
RWxlbWVudCIsICZKU0hUTUxFbGVtZW50OjppbmZvLCAmSFRNTEVtYmVkRWxlbWVudFRhYmxlLCAw
IH07Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6ZmllbGRTZXRfaW5mbyA9IHsgIkhU
TUxGaWVsZFNldEVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxGaWVsZFNldEVs
ZW1lbnRUYWJsZSwgMCB9OwotY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6OmZvbnRfaW5m
byA9IHsgIkhUTUxGb250RWxlbWVudCIsICZKU0hUTUxFbGVtZW50OjppbmZvLCAmSFRNTEZvbnRF
bGVtZW50VGFibGUsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU0hUTUxFbGVtZW50Ojpmb3JtX2lu
Zm8gPSB7ICJIVE1MRm9ybUVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxGb3Jt
RWxlbWVudFRhYmxlLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6ZnJhbWVT
ZXRfaW5mbyA9IHsgIkhUTUxGcmFtZVNldEVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywg
JkhUTUxGcmFtZVNldEVsZW1lbnRUYWJsZSwgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVs
ZW1lbnQ6OmZyYW1lX2luZm8gPSB7ICJIVE1MRnJhbWVFbGVtZW50IiwgJkpTSFRNTEVsZW1lbnQ6
OmluZm8sICZIVE1MRnJhbWVFbGVtZW50VGFibGUsIDAgfTsKLWNvbnN0IENsYXNzSW5mbyBKU0hU
TUxFbGVtZW50OjpoZWFkaW5nX2luZm8gPSB7ICJIVE1MSGVhZGluZ0VsZW1lbnQiLCAmSlNIVE1M
RWxlbWVudDo6aW5mbywgJkhUTUxIZWFkaW5nRWxlbWVudFRhYmxlLCAwIH07Ci1jb25zdCBDbGFz
c0luZm8gSlNIVE1MRWxlbWVudDo6aHJfaW5mbyA9IHsgIkhUTUxIUkVsZW1lbnQiLCAmSlNIVE1M
RWxlbWVudDo6aW5mbywgJkhUTUxIUkVsZW1lbnRUYWJsZSwgMCB9OwogY29uc3QgQ2xhc3NJbmZv
IEpTSFRNTEVsZW1lbnQ6OmlGcmFtZV9pbmZvID0geyAiSFRNTElGcmFtZUVsZW1lbnQiLCAmSlNI
VE1MRWxlbWVudDo6aW5mbywgJkhUTUxJRnJhbWVFbGVtZW50VGFibGUsIDAgfTsKLWNvbnN0IENs
YXNzSW5mbyBKU0hUTUxFbGVtZW50OjppbWdfaW5mbyA9IHsgIkhUTUxJbWFnZUVsZW1lbnQiLCAm
SlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxJbWFnZUVsZW1lbnRUYWJsZSwgMCB9OwogY29uc3Qg
Q2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6OmluZm8gPSB7ICJIVE1MRWxlbWVudCIsICZKU0VsZW1l
bnQ6OmluZm8sICZIVE1MRWxlbWVudFRhYmxlLCAwIH07Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1M
RWxlbWVudDo6aXNJbmRleF9pbmZvID0geyAiSFRNTElzSW5kZXhFbGVtZW50IiwgJkpTSFRNTEVs
ZW1lbnQ6OmluZm8sICZIVE1MSXNJbmRleEVsZW1lbnRUYWJsZSwgMCB9OwotY29uc3QgQ2xhc3NJ
bmZvIEpTSFRNTEVsZW1lbnQ6OmxhYmVsX2luZm8gPSB7ICJIVE1MTGFiZWxFbGVtZW50IiwgJkpT
SFRNTEVsZW1lbnQ6OmluZm8sICZIVE1MTGFiZWxFbGVtZW50VGFibGUsIDAgfTsKLWNvbnN0IENs
YXNzSW5mbyBKU0hUTUxFbGVtZW50OjpsZWdlbmRfaW5mbyA9IHsgIkhUTUxMZWdlbmRFbGVtZW50
IiwgJkpTSFRNTEVsZW1lbnQ6OmluZm8sICZIVE1MTGVnZW5kRWxlbWVudFRhYmxlLCAwIH07Ci1j
b25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6bGlfaW5mbyA9IHsgIkhUTUxMSUVsZW1lbnQi
LCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxMSUVsZW1lbnRUYWJsZSwgMCB9OwotY29uc3Qg
Q2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6Om1hcF9pbmZvID0geyAiSFRNTE1hcEVsZW1lbnQiLCAm
SlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxNYXBFbGVtZW50VGFibGUsIDAgfTsKIGNvbnN0IENs
YXNzSW5mbyBKU0hUTUxFbGVtZW50OjptYXJxdWVlX2luZm8gPSB7ICJIVE1MTWFycXVlZUVsZW1l
bnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxNYXJxdWVlRWxlbWVudFRhYmxlLCAwIH07
Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6bWVudV9pbmZvID0geyAiSFRNTE1lbnVF
bGVtZW50IiwgJkpTSFRNTEVsZW1lbnQ6OmluZm8sICZIVE1MTWVudUVsZW1lbnRUYWJsZSwgMCB9
OwotY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6Om1vZF9pbmZvID0geyAiSFRNTE1vZEVs
ZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxNb2RFbGVtZW50VGFibGUsIDAgfTsK
IGNvbnN0IENsYXNzSW5mbyBKU0hUTUxFbGVtZW50OjpvYmplY3RfaW5mbyA9IHsgIkhUTUxPYmpl
Y3RFbGVtZW50IiwgJkpTSFRNTEVsZW1lbnQ6OmluZm8sICZIVE1MT2JqZWN0RWxlbWVudFRhYmxl
LCAwIH07Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6cF9pbmZvID0geyAiSFRNTFBh
cmFncmFwaEVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxQYXJhZ3JhcGhFbGVt
ZW50VGFibGUsIDAgfTsKLWNvbnN0IENsYXNzSW5mbyBKU0hUTUxFbGVtZW50OjpwYXJhbV9pbmZv
ID0geyAiSFRNTFBhcmFtRWxlbWVudCIsICZKU0hUTUxFbGVtZW50OjppbmZvLCAmSFRNTFBhcmFt
RWxlbWVudFRhYmxlLCAwIH07Ci1jb25zdCBDbGFzc0luZm8gSlNIVE1MRWxlbWVudDo6cHJlX2lu
Zm8gPSB7ICJIVE1MUHJlRWxlbWVudCIsICZKU0hUTUxFbGVtZW50OjppbmZvLCAmSFRNTFByZUVs
ZW1lbnRUYWJsZSwgMCB9OwotY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6OnFfaW5mbyA9
IHsgIkhUTUxRdW90ZUVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxRdW90ZUVs
ZW1lbnRUYWJsZSwgMCB9OwotY29uc3QgQ2xhc3NJbmZvIEpTSFRNTEVsZW1lbnQ6OnNjcmlwdF9p
bmZvID0geyAiSFRNTFNjcmlwdEVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6aW5mbywgJkhUTUxT
Y3JpcHRFbGVtZW50VGFibGUsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU0hUTUxFbGVtZW50Ojpz
ZWxlY3RfaW5mbyA9IHsgIkhUTUxTZWxlY3RFbGVtZW50IiwgJkpTSFRNTEVsZW1lbnQ6OmluZm8s
ICZIVE1MU2VsZWN0RWxlbWVudFRhYmxlLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNIVE1MRWxl
bWVudDo6dGFibGVfaW5mbyA9IHsgIkhUTUxUYWJsZUVsZW1lbnQiLCAmSlNIVE1MRWxlbWVudDo6
aW5mbywgJkhUTUxUYWJsZUVsZW1lbnRUYWJsZSwgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTSFRN
TEVsZW1lbnQ6OnRhYmxlY2VsbF9pbmZvID0geyAiSFRNTFRhYmxlQ2VsbEVsZW1lbnQiLCAmSlNI
VE1MRWxlbWVudDo6aW5mbywgJkhUTUxUYWJsZUNlbGxFbGVtZW50VGFibGUsIDAgfTsKQEAgLTQ4
Niw0NSArNDY1LDE2IEBAIGNvbnN0IENsYXNzSW5mbyogSlNIVE1MRWxlbWVudDo6Y2xhc3NJbmYK
IHsKICAgICBzdGF0aWMgSGFzaE1hcDxXZWJDb3JlOjpBdG9taWNTdHJpbmdJbXBsKiwgY29uc3Qg
Q2xhc3NJbmZvKj4gY2xhc3NJbmZvTWFwOwogICAgIGlmIChjbGFzc0luZm9NYXAuaXNFbXB0eSgp
KSB7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQoYXJlYVRhZy5sb2NhbE5hbWUoKS5pbXBsKCks
ICZhcmVhX2luZm8pOwotICAgICAgICBjbGFzc0luZm9NYXAuc2V0KGJhc2Vmb250VGFnLmxvY2Fs
TmFtZSgpLmltcGwoKSwgJmJhc2VGb250X2luZm8pOwotICAgICAgICBjbGFzc0luZm9NYXAuc2V0
KGJsb2NrcXVvdGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmYmxvY2tRdW90ZV9pbmZvKTsKLSAg
ICAgICAgY2xhc3NJbmZvTWFwLnNldChib2R5VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmJvZHlf
aW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQoYnJUYWcubG9jYWxOYW1lKCkuaW1wbCgp
LCAmYnJfaW5mbyk7CiAgICAgICAgIGNsYXNzSW5mb01hcC5zZXQoY2FwdGlvblRhZy5sb2NhbE5h
bWUoKS5pbXBsKCksICZjYXB0aW9uX2luZm8pOwogICAgICAgICBjbGFzc0luZm9NYXAuc2V0KGNv
bFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZjb2xfaW5mbyk7CiAgICAgICAgIGNsYXNzSW5mb01h
cC5zZXQoY29sZ3JvdXBUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmY29sX2luZm8pOwotICAgICAg
ICBjbGFzc0luZm9NYXAuc2V0KGRlbFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZtb2RfaW5mbyk7
CiAgICAgICAgIGNsYXNzSW5mb01hcC5zZXQoZW1iZWRUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAm
ZW1iZWRfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQoZmllbGRzZXRUYWcubG9jYWxO
YW1lKCkuaW1wbCgpLCAmZmllbGRTZXRfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQo
Zm9udFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZmb250X2luZm8pOwogICAgICAgICBjbGFzc0lu
Zm9NYXAuc2V0KGZvcm1UYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmZm9ybV9pbmZvKTsKICAgICAg
ICAgY2xhc3NJbmZvTWFwLnNldChmcmFtZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZmcmFtZV9p
bmZvKTsKICAgICAgICAgY2xhc3NJbmZvTWFwLnNldChmcmFtZXNldFRhZy5sb2NhbE5hbWUoKS5p
bXBsKCksICZmcmFtZVNldF9pbmZvKTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChoMVRhZy5s
b2NhbE5hbWUoKS5pbXBsKCksICZoZWFkaW5nX2luZm8pOwotICAgICAgICBjbGFzc0luZm9NYXAu
c2V0KGgyVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmhlYWRpbmdfaW5mbyk7Ci0gICAgICAgIGNs
YXNzSW5mb01hcC5zZXQoaDNUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmaGVhZGluZ19pbmZvKTsK
LSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChoNFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZoZWFk
aW5nX2luZm8pOwotICAgICAgICBjbGFzc0luZm9NYXAuc2V0KGg1VGFnLmxvY2FsTmFtZSgpLmlt
cGwoKSwgJmhlYWRpbmdfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQoaDZUYWcubG9j
YWxOYW1lKCkuaW1wbCgpLCAmaGVhZGluZ19pbmZvKTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNl
dChoclRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZocl9pbmZvKTsKICAgICAgICAgY2xhc3NJbmZv
TWFwLnNldChpZnJhbWVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmaUZyYW1lX2luZm8pOwotICAg
ICAgICBjbGFzc0luZm9NYXAuc2V0KGltZ1RhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZpbWdfaW5m
byk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQoaW5zVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwg
Jm1vZF9pbmZvKTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChpc2luZGV4VGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSwgJmlzSW5kZXhfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQobGFi
ZWxUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmbGFiZWxfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5m
b01hcC5zZXQobGVnZW5kVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmxlZ2VuZF9pbmZvKTsKLSAg
ICAgICAgY2xhc3NJbmZvTWFwLnNldChsaVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZsaV9pbmZv
KTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChsaXN0aW5nVGFnLmxvY2FsTmFtZSgpLmltcGwo
KSwgJnByZV9pbmZvKTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChtYXBUYWcubG9jYWxOYW1l
KCkuaW1wbCgpLCAmbWFwX2luZm8pOwogICAgICAgICBjbGFzc0luZm9NYXAuc2V0KG1hcnF1ZWVU
YWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmbWFycXVlZV9pbmZvKTsKLSAgICAgICAgY2xhc3NJbmZv
TWFwLnNldChtZW51VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJm1lbnVfaW5mbyk7CiAgICAgICAg
IGNsYXNzSW5mb01hcC5zZXQob2JqZWN0VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJm9iamVjdF9p
bmZvKTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChwVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwg
JnBfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQocGFyYW1UYWcubG9jYWxOYW1lKCku
aW1wbCgpLCAmcGFyYW1faW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5zZXQocHJlVGFnLmxv
Y2FsTmFtZSgpLmltcGwoKSwgJnByZV9pbmZvKTsKLSAgICAgICAgY2xhc3NJbmZvTWFwLnNldChx
VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJnFfaW5mbyk7Ci0gICAgICAgIGNsYXNzSW5mb01hcC5z
ZXQoc2NyaXB0VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJnNjcmlwdF9pbmZvKTsKICAgICAgICAg
Y2xhc3NJbmZvTWFwLnNldChzZWxlY3RUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmc2VsZWN0X2lu
Zm8pOwogICAgICAgICBjbGFzc0luZm9NYXAuc2V0KHRhYmxlVGFnLmxvY2FsTmFtZSgpLmltcGwo
KSwgJnRhYmxlX2luZm8pOwogICAgICAgICBjbGFzc0luZm9NYXAuc2V0KHRib2R5VGFnLmxvY2Fs
TmFtZSgpLmltcGwoKSwgJnRhYmxlc2VjdGlvbl9pbmZvKTsKQEAgLTU0MiwzMiArNDkyLDEwIEBA
IGNvbnN0IENsYXNzSW5mbyogSlNIVE1MRWxlbWVudDo6Y2xhc3NJbmYKICAgICByZXR1cm4gJmlu
Zm87CiB9CiAKLWNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50Ojpp
c0luZGV4X2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmlzSW5kZXhHZXR0ZXIsICZKU0hU
TUxFbGVtZW50Ojppc0luZGV4U2V0dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3Nv
cnMgSlNIVE1MRWxlbWVudDo6Ym9keV9hY2Nlc3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50Ojpib2R5
R2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6Ym9keVNldHRlciB9OwogY29uc3QgSlNIVE1MRWxlbWVu
dDo6QWNjZXNzb3JzIEpTSFRNTEVsZW1lbnQ6OmZvcm1fYWNjZXNzb3JzID0geyAmSlNIVE1MRWxl
bWVudDo6Zm9ybUdldHRlciwgJkpTSFRNTEVsZW1lbnQ6OmZvcm1TZXR0ZXIgfTsKIGNvbnN0IEpT
SFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50OjpzZWxlY3RfYWNjZXNzb3JzID0g
eyAmSlNIVE1MRWxlbWVudDo6c2VsZWN0R2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6c2VsZWN0U2V0
dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMgSlNIVE1MRWxlbWVudDo6bGFi
ZWxfYWNjZXNzb3JzID0geyAmSlNIVE1MRWxlbWVudDo6bGFiZWxHZXR0ZXIsICZKU0hUTUxFbGVt
ZW50OjpsYWJlbFNldHRlciB9OwotY29uc3QgSlNIVE1MRWxlbWVudDo6QWNjZXNzb3JzIEpTSFRN
TEVsZW1lbnQ6OmZpZWxkU2V0X2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmZpZWxkU2V0
R2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6ZmllbGRTZXRTZXR0ZXIgfTsKLWNvbnN0IEpTSFRNTEVs
ZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50OjpsZWdlbmRfYWNjZXNzb3JzID0geyAmSlNI
VE1MRWxlbWVudDo6bGVnZW5kR2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6bGVnZW5kU2V0dGVyIH07
Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMgSlNIVE1MRWxlbWVudDo6bWVudV9hY2Nl
c3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50OjptZW51R2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6bWVu
dVNldHRlciB9OwotY29uc3QgSlNIVE1MRWxlbWVudDo6QWNjZXNzb3JzIEpTSFRNTEVsZW1lbnQ6
OmxpX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmxpR2V0dGVyLCAmSlNIVE1MRWxlbWVu
dDo6bGlTZXR0ZXIgfTsKLWNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVt
ZW50OjpwX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OnBhcmFncmFwaEdldHRlciwgJkpT
SFRNTEVsZW1lbnQ6OnBhcmFncmFwaFNldHRlciB9OwotY29uc3QgSlNIVE1MRWxlbWVudDo6QWNj
ZXNzb3JzIEpTSFRNTEVsZW1lbnQ6OmhlYWRpbmdfYWNjZXNzb3JzID0geyAmSlNIVE1MRWxlbWVu
dDo6aGVhZGluZ0dldHRlciwgJkpTSFRNTEVsZW1lbnQ6OmhlYWRpbmdTZXR0ZXIgfTsKLWNvbnN0
IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50OjpibG9ja1F1b3RlX2FjY2Vz
c29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmJsb2NrUXVvdGVHZXR0ZXIsICZKU0hUTUxFbGVtZW50
OjpibG9ja1F1b3RlU2V0dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMgSlNI
VE1MRWxlbWVudDo6cV9hY2Nlc3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50OjpxdW90ZUdldHRlciwg
JkpTSFRNTEVsZW1lbnQ6OnF1b3RlU2V0dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nl
c3NvcnMgSlNIVE1MRWxlbWVudDo6cHJlX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OnBy
ZUdldHRlciwgJkpTSFRNTEVsZW1lbnQ6OnByZVNldHRlciB9OwotY29uc3QgSlNIVE1MRWxlbWVu
dDo6QWNjZXNzb3JzIEpTSFRNTEVsZW1lbnQ6OmJyX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1l
bnQ6OmJyR2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6YnJTZXR0ZXIgfTsKLWNvbnN0IEpTSFRNTEVs
ZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50OjpiYXNlRm9udF9hY2Nlc3NvcnMgPSB7ICZK
U0hUTUxFbGVtZW50OjpiYXNlRm9udEdldHRlciwgJkpTSFRNTEVsZW1lbnQ6OmJhc2VGb250U2V0
dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMgSlNIVE1MRWxlbWVudDo6Zm9u
dF9hY2Nlc3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50Ojpmb250R2V0dGVyLCAmSlNIVE1MRWxlbWVu
dDo6Zm9udFNldHRlciB9OwotY29uc3QgSlNIVE1MRWxlbWVudDo6QWNjZXNzb3JzIEpTSFRNTEVs
ZW1lbnQ6OmhyX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmhyR2V0dGVyLCAmSlNIVE1M
RWxlbWVudDo6aHJTZXR0ZXIgfTsKLWNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBKU0hU
TUxFbGVtZW50Ojptb2RfYWNjZXNzb3JzID0geyAmSlNIVE1MRWxlbWVudDo6bW9kR2V0dGVyLCAm
SlNIVE1MRWxlbWVudDo6bW9kU2V0dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3Nv
cnMgSlNIVE1MRWxlbWVudDo6aW1nX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmltYWdl
R2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6aW1hZ2VTZXR0ZXIgfTsKIGNvbnN0IEpTSFRNTEVsZW1l
bnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50OjpvYmplY3RfYWNjZXNzb3JzID0geyAmSlNIVE1M
RWxlbWVudDo6b2JqZWN0R2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6b2JqZWN0U2V0dGVyIH07Ci1j
b25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMgSlNIVE1MRWxlbWVudDo6cGFyYW1fYWNjZXNz
b3JzID0geyAmSlNIVE1MRWxlbWVudDo6cGFyYW1HZXR0ZXIsICZKU0hUTUxFbGVtZW50OjpwYXJh
bVNldHRlciB9OwogY29uc3QgSlNIVE1MRWxlbWVudDo6QWNjZXNzb3JzIEpTSFRNTEVsZW1lbnQ6
OmVtYmVkX2FjY2Vzc29ycyA9IHsgJkpTSFRNTEVsZW1lbnQ6OmVtYmVkR2V0dGVyLCAmSlNIVE1M
RWxlbWVudDo6ZW1iZWRTZXR0ZXIgfTsKLWNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBK
U0hUTUxFbGVtZW50OjptYXBfYWNjZXNzb3JzID0geyAmSlNIVE1MRWxlbWVudDo6bWFwR2V0dGVy
LCAmSlNIVE1MRWxlbWVudDo6bWFwU2V0dGVyIH07Ci1jb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nl
c3NvcnMgSlNIVE1MRWxlbWVudDo6YXJlYV9hY2Nlc3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50Ojph
cmVhR2V0dGVyLCAmSlNIVE1MRWxlbWVudDo6YXJlYVNldHRlciB9OwotY29uc3QgSlNIVE1MRWxl
bWVudDo6QWNjZXNzb3JzIEpTSFRNTEVsZW1lbnQ6OnNjcmlwdF9hY2Nlc3NvcnMgPSB7ICZKU0hU
TUxFbGVtZW50OjpzY3JpcHRHZXR0ZXIsICZKU0hUTUxFbGVtZW50OjpzY3JpcHRTZXR0ZXIgfTsK
IGNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50Ojp0YWJsZV9hY2Nl
c3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50Ojp0YWJsZUdldHRlciwgJkpTSFRNTEVsZW1lbnQ6OnRh
YmxlU2V0dGVyIH07CiBjb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMgSlNIVE1MRWxlbWVu
dDo6Y2FwdGlvbl9hY2Nlc3NvcnMgPSB7ICZKU0hUTUxFbGVtZW50Ojp0YWJsZUNhcHRpb25HZXR0
ZXIsICZKU0hUTUxFbGVtZW50Ojp0YWJsZUNhcHRpb25TZXR0ZXIgfTsKIGNvbnN0IEpTSFRNTEVs
ZW1lbnQ6OkFjY2Vzc29ycyBKU0hUTUxFbGVtZW50Ojpjb2xfYWNjZXNzb3JzID0geyAmSlNIVE1M
RWxlbWVudDo6dGFibGVDb2xHZXR0ZXIsICZKU0hUTUxFbGVtZW50Ojp0YWJsZUNvbFNldHRlciB9
OwpAQCAtNTgzLDQ1ICs1MTEsMTYgQEAgY29uc3QgSlNIVE1MRWxlbWVudDo6QWNjZXNzb3JzKiBK
U0hUTUxFbAogewogICAgIHN0YXRpYyBIYXNoTWFwPFdlYkNvcmU6OkF0b21pY1N0cmluZ0ltcGwq
LCBjb25zdCBBY2Nlc3NvcnMqPiBhY2Nlc3Nvck1hcDsKICAgICBpZiAoYWNjZXNzb3JNYXAuaXNF
bXB0eSgpKSB7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChhcmVhVGFnLmxvY2FsTmFtZSgpLmlt
cGwoKSwgJmFyZWFfYWNjZXNzb3JzKTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGJhc2Vmb250
VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmJhc2VGb250X2FjY2Vzc29ycyk7Ci0gICAgICAgIGFj
Y2Vzc29yTWFwLmFkZChibG9ja3F1b3RlVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmJsb2NrUXVv
dGVfYWNjZXNzb3JzKTsgCi0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChib2R5VGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSwgJmJvZHlfYWNjZXNzb3JzKTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGJy
VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmJyX2FjY2Vzc29ycyk7CiAgICAgICAgIGFjY2Vzc29y
TWFwLmFkZChjYXB0aW9uVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmNhcHRpb25fYWNjZXNzb3Jz
KTsKICAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGNvbFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZj
b2xfYWNjZXNzb3JzKTsKICAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGNvbGdyb3VwVGFnLmxvY2Fs
TmFtZSgpLmltcGwoKSwgJmNvbF9hY2Nlc3NvcnMpOwotICAgICAgICBhY2Nlc3Nvck1hcC5hZGQo
ZGVsVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJm1vZF9hY2Nlc3NvcnMpOwogICAgICAgICBhY2Nl
c3Nvck1hcC5hZGQoZW1iZWRUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmZW1iZWRfYWNjZXNzb3Jz
KTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGZpZWxkc2V0VGFnLmxvY2FsTmFtZSgpLmltcGwo
KSwgJmZpZWxkU2V0X2FjY2Vzc29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChmb250VGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgJmZvbnRfYWNjZXNzb3JzKTsKICAgICAgICAgYWNjZXNzb3JN
YXAuYWRkKGZvcm1UYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmZm9ybV9hY2Nlc3NvcnMpOwogICAg
ICAgICBhY2Nlc3Nvck1hcC5hZGQoZnJhbWVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmZnJhbWVf
YWNjZXNzb3JzKTsKICAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGZyYW1lc2V0VGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSwgJmZyYW1lU2V0X2FjY2Vzc29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFk
ZChoMVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZoZWFkaW5nX2FjY2Vzc29ycyk7Ci0gICAgICAg
IGFjY2Vzc29yTWFwLmFkZChoMlRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZoZWFkaW5nX2FjY2Vz
c29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChoM1RhZy5sb2NhbE5hbWUoKS5pbXBsKCks
ICZoZWFkaW5nX2FjY2Vzc29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChoNFRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCksICZoZWFkaW5nX2FjY2Vzc29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFw
LmFkZChoNVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZoZWFkaW5nX2FjY2Vzc29ycyk7Ci0gICAg
ICAgIGFjY2Vzc29yTWFwLmFkZChoNlRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZoZWFkaW5nX2Fj
Y2Vzc29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChoclRhZy5sb2NhbE5hbWUoKS5pbXBs
KCksICZocl9hY2Nlc3NvcnMpOyAKICAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGlmcmFtZVRhZy5s
b2NhbE5hbWUoKS5pbXBsKCksICZpRnJhbWVfYWNjZXNzb3JzKTsKLSAgICAgICAgYWNjZXNzb3JN
YXAuYWRkKGltZ1RhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZpbWdfYWNjZXNzb3JzKTsKLSAgICAg
ICAgYWNjZXNzb3JNYXAuYWRkKGluc1RhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZtb2RfYWNjZXNz
b3JzKTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGlzaW5kZXhUYWcubG9jYWxOYW1lKCkuaW1w
bCgpLCAmaXNJbmRleF9hY2Nlc3NvcnMpOwotICAgICAgICBhY2Nlc3Nvck1hcC5hZGQobGFiZWxU
YWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmbGFiZWxfYWNjZXNzb3JzKTsKLSAgICAgICAgYWNjZXNz
b3JNYXAuYWRkKGxlZ2VuZFRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZsZWdlbmRfYWNjZXNzb3Jz
KTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKGxpVGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJmxp
X2FjY2Vzc29ycyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLnNldChsaXN0aW5nVGFnLmxvY2FsTmFt
ZSgpLmltcGwoKSwgJnByZV9hY2Nlc3NvcnMpOwotICAgICAgICBhY2Nlc3Nvck1hcC5hZGQobWFw
VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJm1hcF9hY2Nlc3NvcnMpOwogICAgICAgICBhY2Nlc3Nv
ck1hcC5hZGQobWFycXVlZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZtYXJxdWVlX2FjY2Vzc29y
cyk7Ci0gICAgICAgIGFjY2Vzc29yTWFwLmFkZChtZW51VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwg
Jm1lbnVfYWNjZXNzb3JzKTsKICAgICAgICAgYWNjZXNzb3JNYXAuYWRkKG9iamVjdFRhZy5sb2Nh
bE5hbWUoKS5pbXBsKCksICZvYmplY3RfYWNjZXNzb3JzKTsKLSAgICAgICAgYWNjZXNzb3JNYXAu
YWRkKHBUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmcF9hY2Nlc3NvcnMpOwotICAgICAgICBhY2Nl
c3Nvck1hcC5hZGQocGFyYW1UYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAmcGFyYW1fYWNjZXNzb3Jz
KTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKHByZVRhZy5sb2NhbE5hbWUoKS5pbXBsKCksICZw
cmVfYWNjZXNzb3JzKTsKLSAgICAgICAgYWNjZXNzb3JNYXAuYWRkKHFUYWcubG9jYWxOYW1lKCku
aW1wbCgpLCAmcV9hY2Nlc3NvcnMpOwotICAgICAgICBhY2Nlc3Nvck1hcC5hZGQoc2NyaXB0VGFn
LmxvY2FsTmFtZSgpLmltcGwoKSwgJnNjcmlwdF9hY2Nlc3NvcnMpOwogICAgICAgICBhY2Nlc3Nv
ck1hcC5hZGQoc2VsZWN0VGFnLmxvY2FsTmFtZSgpLmltcGwoKSwgJnNlbGVjdF9hY2Nlc3NvcnMp
OwogICAgICAgICBhY2Nlc3Nvck1hcC5hZGQodGFibGVUYWcubG9jYWxOYW1lKCkuaW1wbCgpLCAm
dGFibGVfYWNjZXNzb3JzKTsKICAgICAgICAgYWNjZXNzb3JNYXAuYWRkKHRib2R5VGFnLmxvY2Fs
TmFtZSgpLmltcGwoKSwgJnRhYmxlc2VjdGlvbl9hY2Nlc3NvcnMpOwpAQCAtNjU3LDIyICs1NTYs
NiBAQCBjb25zdCBKU0hUTUxFbGVtZW50OjpBY2Nlc3NvcnMqIEpTSFRNTEVsCiAgIGNvbnRlbnRF
ZGl0YWJsZSAgIEtKUzo6SlNIVE1MRWxlbWVudDo6RWxlbWVudENvbnRlbnRFZGl0YWJsZSAgRG9u
dERlbGV0ZQogICBpc0NvbnRlbnRFZGl0YWJsZSBLSlM6OkpTSFRNTEVsZW1lbnQ6OkVsZW1lbnRJ
c0NvbnRlbnRFZGl0YWJsZSAgRG9udERlbGV0ZXxSZWFkT25seQogQGVuZAotQGJlZ2luIEhUTUxJ
c0luZGV4RWxlbWVudFRhYmxlIDIKLSAgZm9ybSAgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6
OklzSW5kZXhGb3JtICAgRG9udERlbGV0ZXxSZWFkT25seQotICBwcm9tcHQgICAgICAgIEtKUzo6
SlNIVE1MRWxlbWVudDo6SXNJbmRleFByb21wdCBEb250RGVsZXRlCi1AZW5kCi1AYmVnaW4gSFRN
TEJvZHlFbGVtZW50VGFibGUgMTAKLSAgYUxpbmsgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6
OkJvZHlBTGluayAgICAgRG9udERlbGV0ZQotICBiYWNrZ3JvdW5kICAgIEtKUzo6SlNIVE1MRWxl
bWVudDo6Qm9keUJhY2tncm91bmQgICAgICAgIERvbnREZWxldGUKLSAgYmdDb2xvciAgICAgICBL
SlM6OkpTSFRNTEVsZW1lbnQ6OkJvZHlCZ0NvbG9yICAgRG9udERlbGV0ZQotICBsaW5rICAgICAg
ICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6Qm9keUxpbmsgICAgICBEb250RGVsZXRlCi0gIHRleHQg
ICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpCb2R5VGV4dCAgICAgIERvbnREZWxldGUKLSAg
dkxpbmsgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkJvZHlWTGluayAgICAgRG9udERlbGV0
ZQotICBzY3JvbGxMZWZ0ICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6Qm9keVNjcm9sbExlZnQgICAg
ICAgIERvbnREZWxldGUKLSAgc2Nyb2xsVG9wICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkJvZHlT
Y3JvbGxUb3AgICAgICAgICBEb250RGVsZXRlCi0gIHNjcm9sbEhlaWdodCAgS0pTOjpKU0hUTUxF
bGVtZW50OjpCb2R5U2Nyb2xsSGVpZ2h0ICAgICAgRG9udERlbGV0ZXxSZWFkT25seQotICBzY3Jv
bGxXaWR0aCAgIEtKUzo6SlNIVE1MRWxlbWVudDo6Qm9keVNjcm9sbFdpZHRoICAgICAgIERvbnRE
ZWxldGV8UmVhZE9ubHkKLUBlbmQKIEBiZWdpbiBIVE1MRm9ybUVsZW1lbnRUYWJsZSAxMQogIyBB
bHNvIHN1cHBvcnRlZCwgYnkgbmFtZS9pbmRleAogICBlbGVtZW50cyAgICAgIEtKUzo6SlNIVE1M
RWxlbWVudDo6Rm9ybUVsZW1lbnRzICBEb250RGVsZXRlfFJlYWRPbmx5CkBAIC03MDQsODMgKzU4
Nyw2IEBAIGNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyogSlNIVE1MRWwKICAgYmx1ciAg
ICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OlNlbGVjdEJsdXIgICAgRG9udERlbGV0ZXxGdW5j
dGlvbiAwCiAgIGZvY3VzICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpTZWxlY3RGb2N1cyAg
IERvbnREZWxldGV8RnVuY3Rpb24gMAogQGVuZAotQGJlZ2luIEhUTUxMYWJlbEVsZW1lbnRUYWJs
ZSA0Ci0gIGZvcm0gICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpMYWJlbEZvcm0gICAgICAg
ICAgICAgRG9udERlbGV0ZXxSZWFkT25seQotICBhY2Nlc3NLZXkgICAgIEtKUzo6SlNIVE1MRWxl
bWVudDo6TGFiZWxBY2Nlc3NLZXkgICAgICAgIERvbnREZWxldGUKLSAgaHRtbEZvciAgICAgICBL
SlM6OkpTSFRNTEVsZW1lbnQ6OkxhYmVsSHRtbEZvciAgICAgICAgICBEb250RGVsZXRlCi0gIGZv
Y3VzICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkxhYmVsRm9jdXMgICAgICAgIERvbnREZWxldGV8
RnVuY3Rpb24gMAotQGVuZAotQGJlZ2luIEhUTUxGaWVsZFNldEVsZW1lbnRUYWJsZSAxCi0gIGZv
cm0gICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpGaWVsZFNldEZvcm0gICAgICAgICAgRG9u
dERlbGV0ZXxSZWFkT25seQotQGVuZAotQGJlZ2luIEhUTUxMZWdlbmRFbGVtZW50VGFibGUgNAot
ICBmb3JtICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6TGVnZW5kRm9ybSAgICAgICAgICAg
IERvbnREZWxldGV8UmVhZE9ubHkKLSAgYWNjZXNzS2V5ICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6
OkxlZ2VuZEFjY2Vzc0tleSAgICAgICBEb250RGVsZXRlCi0gIGFsaWduICAgICAgICAgS0pTOjpK
U0hUTUxFbGVtZW50OjpMZWdlbmRBbGlnbiAgICAgICAgICAgRG9udERlbGV0ZQotICBmb2N1cyAg
ICAgS0pTOjpKU0hUTUxFbGVtZW50OjpMZWdlbmRGb2N1cyAgICAgRG9udERlbGV0ZXxGdW5jdGlv
biAwCi1AZW5kCi1AYmVnaW4gSFRNTE1lbnVFbGVtZW50VGFibGUgMQotICBjb21wYWN0ICAgICAg
IEtKUzo6SlNIVE1MRWxlbWVudDo6TWVudUNvbXBhY3QgICAgICAgICAgIERvbnREZWxldGUKLUBl
bmQKLUBiZWdpbiBIVE1MTElFbGVtZW50VGFibGUgMgotICB0eXBlICAgICAgICAgIEtKUzo6SlNI
VE1MRWxlbWVudDo6TElUeXBlICAgICAgICAgICAgICAgIERvbnREZWxldGUKLSAgdmFsdWUgICAg
ICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkxJVmFsdWUgICAgICAgICAgICAgICBEb250RGVsZXRl
Ci1AZW5kCi1AYmVnaW4gSFRNTFBhcmFncmFwaEVsZW1lbnRUYWJsZSAxCi0gIGFsaWduICAgICAg
ICAgS0pTOjpKU0hUTUxFbGVtZW50OjpQYXJhZ3JhcGhBbGlnbiAgICAgICAgRG9udERlbGV0ZQot
QGVuZAotQGJlZ2luIEhUTUxIZWFkaW5nRWxlbWVudFRhYmxlIDEKLSAgYWxpZ24gICAgICAgICBL
SlM6OkpTSFRNTEVsZW1lbnQ6OkhlYWRpbmdBbGlnbiAgICAgICAgICBEb250RGVsZXRlCi1AZW5k
Ci1AYmVnaW4gSFRNTEJsb2NrUXVvdGVFbGVtZW50VGFibGUgMQotICBjaXRlICAgICAgICAgIEtK
Uzo6SlNIVE1MRWxlbWVudDo6QmxvY2tRdW90ZUNpdGUgICAgICAgIERvbnREZWxldGUKLUBlbmQK
LUBiZWdpbiBIVE1MUXVvdGVFbGVtZW50VGFibGUgMQotICBjaXRlICAgICAgICAgIEtKUzo6SlNI
VE1MRWxlbWVudDo6UXVvdGVDaXRlICAgICAgICAgICAgIERvbnREZWxldGUKLUBlbmQKLUBiZWdp
biBIVE1MUHJlRWxlbWVudFRhYmxlIDEKLSAgd2lkdGggICAgICAgICBLSlM6OkpTSFRNTEVsZW1l
bnQ6OlByZVdpZHRoICAgICAgICAgICAgICBEb250RGVsZXRlCi1AZW5kCi1AYmVnaW4gSFRNTEJS
RWxlbWVudFRhYmxlIDEKLSAgY2xlYXIgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkJSQ2xl
YXIgICAgICAgICAgICAgICBEb250RGVsZXRlCi1AZW5kCi1AYmVnaW4gSFRNTEJhc2VGb250RWxl
bWVudFRhYmxlIDMKLSAgY29sb3IgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkJhc2VGb250
Q29sb3IgICAgICAgICBEb250RGVsZXRlCi0gIGZhY2UgICAgICAgICAgS0pTOjpKU0hUTUxFbGVt
ZW50OjpCYXNlRm9udEZhY2UgICAgICAgICAgRG9udERlbGV0ZQotICBzaXplICAgICAgICAgIEtK
Uzo6SlNIVE1MRWxlbWVudDo6QmFzZUZvbnRTaXplICAgICAgICAgIERvbnREZWxldGUKLUBlbmQK
LUBiZWdpbiBIVE1MRm9udEVsZW1lbnRUYWJsZSAzCi0gIGNvbG9yICAgICAgICAgS0pTOjpKU0hU
TUxFbGVtZW50OjpGb250Q29sb3IgICAgICAgICAgICAgRG9udERlbGV0ZQotICBmYWNlICAgICAg
ICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6Rm9udEZhY2UgICAgICAgICAgICAgIERvbnREZWxldGUK
LSAgc2l6ZSAgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkZvbnRTaXplICAgICAgICAgICAg
ICBEb250RGVsZXRlCi1AZW5kCi1AYmVnaW4gSFRNTEhSRWxlbWVudFRhYmxlIDQKLSAgYWxpZ24g
ICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkhSQWxpZ24gICAgICAgICAgICAgICBEb250RGVs
ZXRlCi0gIG5vU2hhZGUgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpIUk5vU2hhZGUgICAgICAg
ICAgICAgRG9udERlbGV0ZQotICBzaXplICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6SFJT
aXplICAgICAgICAgICAgICAgIERvbnREZWxldGUKLSAgd2lkdGggICAgICAgICBLSlM6OkpTSFRN
TEVsZW1lbnQ6OkhSV2lkdGggICAgICAgICAgICAgICBEb250RGVsZXRlCi1AZW5kCi1AYmVnaW4g
SFRNTE1vZEVsZW1lbnRUYWJsZSAyCi0gIGNpdGUgICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50
OjpNb2RDaXRlICAgICAgICAgICAgICAgRG9udERlbGV0ZQotICBkYXRlVGltZSAgICAgIEtKUzo6
SlNIVE1MRWxlbWVudDo6TW9kRGF0ZVRpbWUgICAgICAgICAgIERvbnREZWxldGUKLUBlbmQKLUBi
ZWdpbiBIVE1MSW1hZ2VFbGVtZW50VGFibGUgMTQKLSAgbmFtZSAgICAgICAgICBLSlM6OkpTSFRN
TEVsZW1lbnQ6OkltYWdlTmFtZSAgICAgICAgICAgICBEb250RGVsZXRlCi0gIGFsaWduICAgICAg
ICAgS0pTOjpKU0hUTUxFbGVtZW50OjpJbWFnZUFsaWduICAgICAgICAgICAgRG9udERlbGV0ZQot
ICBhbHQgICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6SW1hZ2VBbHQgICAgICAgICAgICAg
IERvbnREZWxldGUKLSAgYm9yZGVyICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkltYWdlQm9y
ZGVyICAgICAgICAgICBEb250RGVsZXRlCi0gIGNvbXBsZXRlICAgICAgS0pTOjpKU0hUTUxFbGVt
ZW50OjpJbWFnZUNvbXBsZXRlICAgICAgICAgRG9udERlbGV0ZXxSZWFkT25seQotICBoZWlnaHQg
ICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6SW1hZ2VIZWlnaHQgICAgICAgICAgIERvbnREZWxl
dGUKLSAgaHNwYWNlICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkltYWdlSHNwYWNlICAgICAg
ICAgICBEb250RGVsZXRlCi0gIGlzTWFwICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpJbWFn
ZUlzTWFwICAgICAgICAgICAgRG9udERlbGV0ZQotICBsb25nRGVzYyAgICAgIEtKUzo6SlNIVE1M
RWxlbWVudDo6SW1hZ2VMb25nRGVzYyAgICAgICAgIERvbnREZWxldGUKLSAgc3JjICAgICAgICAg
ICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkltYWdlU3JjICAgICAgICAgICAgICBEb250RGVsZXRlCi0g
IHVzZU1hcCAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpJbWFnZVVzZU1hcCAgICAgICAgICAg
RG9udERlbGV0ZQotICB2c3BhY2UgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6SW1hZ2VWc3Bh
Y2UgICAgICAgICAgIERvbnREZWxldGUKLSAgd2lkdGggICAgICAgICBLSlM6OkpTSFRNTEVsZW1l
bnQ6OkltYWdlV2lkdGggICAgICAgICAgICBEb250RGVsZXRlCi0gIHggICAgICAgICBLSlM6OkpT
SFRNTEVsZW1lbnQ6OkltYWdlWCAgICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkKLSAgeSAg
ICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6SW1hZ2VZICAgICAgICAgICAgRG9udERlbGV0ZXxS
ZWFkT25seQotQGVuZAogQGJlZ2luIEhUTUxPYmplY3RFbGVtZW50VGFibGUgMjAKICAgZm9ybSAg
ICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6T2JqZWN0Rm9ybSAgICAgICAgICAgIERvbnRE
ZWxldGV8UmVhZE9ubHkKICAgY29kZSAgICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6T2Jq
ZWN0Q29kZSAgICAgICAgICAgIERvbnREZWxldGUKQEAgLTgwMiwxMyArNjA4LDYgQEAgY29uc3Qg
SlNIVE1MRWxlbWVudDo6QWNjZXNzb3JzKiBKU0hUTUxFbAogICB2c3BhY2UgICAgICAgICAgS0pT
OjpKU0hUTUxFbGVtZW50OjpPYmplY3RWc3BhY2UgICAgICAgICAgRG9udERlbGV0ZQogICB3aWR0
aCAgICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpPYmplY3RXaWR0aCAgICAgICAgICAgRG9u
dERlbGV0ZQogQGVuZAotQGJlZ2luIEhUTUxQYXJhbUVsZW1lbnRUYWJsZSA0Ci0gIG5hbWUgICAg
ICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpQYXJhbU5hbWUgICAgICAgICAgICAgRG9udERlbGV0
ZQotICB0eXBlICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6UGFyYW1UeXBlICAgICAgICAg
ICAgIERvbnREZWxldGUKLSAgdmFsdWUgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OlBhcmFt
VmFsdWUgICAgICAgICAgICBEb250RGVsZXRlCi0gIHZhbHVlVHlwZSAgICAgS0pTOjpKU0hUTUxF
bGVtZW50OjpQYXJhbVZhbHVlVHlwZSAgICAgICAgRG9udERlbGV0ZQotQGVuZAotQGVuZAogQGJl
Z2luIEhUTUxFbWJlZEVsZW1lbnRUYWJsZSA2CiAgIGFsaWduICAgICAgICAgS0pTOjpKU0hUTUxF
bGVtZW50OjpFbWJlZEFsaWduICAgICAgICAgICBEb250RGVsZXRlCiAgIGhlaWdodCAgICAgICAg
S0pTOjpKU0hUTUxFbGVtZW50OjpFbWJlZEhlaWdodCAgICAgICAgICBEb250RGVsZXRlCkBAIC04
MTcsMzYgKzYxNiw2IEBAIGNvbnN0IEpTSFRNTEVsZW1lbnQ6OkFjY2Vzc29ycyogSlNIVE1MRWwK
ICAgdHlwZSAgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkVtYmVkVHlwZSAgICAgICAgICAg
IERvbnREZWxldGUKICAgd2lkdGggICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkVtYmVkV2lk
dGggICAgICAgICAgIERvbnREZWxldGUKIEBlbmQKLUBiZWdpbiBIVE1MTWFwRWxlbWVudFRhYmxl
IDIKLSAgYXJlYXMgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6Ok1hcEFyZWFzICAgICAgICAg
ICAgICBEb250RGVsZXRlfFJlYWRPbmx5Ci0gIG5hbWUgICAgICAgICAgS0pTOjpKU0hUTUxFbGVt
ZW50OjpNYXBOYW1lICAgICAgICAgICAgICAgRG9udERlbGV0ZQotQGVuZAotQGJlZ2luIEhUTUxB
cmVhRWxlbWVudFRhYmxlIDE1Ci0gIGFjY2Vzc0tleSAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpB
cmVhQWNjZXNzS2V5ICAgICAgICAgRG9udERlbGV0ZQotICBhbHQgICAgICAgICAgIEtKUzo6SlNI
VE1MRWxlbWVudDo6QXJlYUFsdCAgICAgICAgICAgICAgIERvbnREZWxldGUKLSAgY29vcmRzICAg
ICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkFyZWFDb29yZHMgICAgICAgICAgICBEb250RGVsZXRl
Ci0gIGhyZWYgICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpBcmVhSHJlZiAgICAgICAgICAg
ICAgRG9udERlbGV0ZQotICBoYXNoICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6QXJlYUhh
c2ggICAgICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkKLSAgaG9zdCAgICAgICAgICBLSlM6
OkpTSFRNTEVsZW1lbnQ6OkFyZWFIb3N0ICAgICAgICAgICAgICBEb250RGVsZXRlfFJlYWRPbmx5
Ci0gIGhvc3RuYW1lICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpBcmVhSG9zdE5hbWUgICAgICAg
ICAgRG9udERlbGV0ZXxSZWFkT25seQotICBwYXRobmFtZSAgICAgIEtKUzo6SlNIVE1MRWxlbWVu
dDo6QXJlYVBhdGhOYW1lICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkKLSAgcG9ydCAgICAg
ICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkFyZWFQb3J0ICAgICAgICAgICAgICBEb250RGVsZXRl
fFJlYWRPbmx5Ci0gIHByb3RvY29sICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpBcmVhUHJvdG9j
b2wgICAgICAgICAgRG9udERlbGV0ZXxSZWFkT25seQotICBzZWFyY2ggICAgICAgIEtKUzo6SlNI
VE1MRWxlbWVudDo6QXJlYVNlYXJjaCAgICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkKLSAg
bm9IcmVmICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OkFyZWFOb0hyZWYgICAgICAgICAgICBE
b250RGVsZXRlCi0gIHNoYXBlICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpBcmVhU2hhcGUg
ICAgICAgICAgICAgRG9udERlbGV0ZQotICB0YWJJbmRleCAgICAgIEtKUzo6SlNIVE1MRWxlbWVu
dDo6QXJlYVRhYkluZGV4ICAgICAgICAgIERvbnREZWxldGUKLSAgdGFyZ2V0ICAgICAgICBLSlM6
OkpTSFRNTEVsZW1lbnQ6OkFyZWFUYXJnZXQgICAgICAgICAgICBEb250RGVsZXRlCi1AZW5kCi1A
YmVnaW4gSFRNTFNjcmlwdEVsZW1lbnRUYWJsZSA3Ci0gIHRleHQgICAgICAgICAgS0pTOjpKU0hU
TUxFbGVtZW50OjpTY3JpcHRUZXh0ICAgICAgICAgICAgRG9udERlbGV0ZQotICBodG1sRm9yICAg
ICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6U2NyaXB0SHRtbEZvciAgICAgICAgIERvbnREZWxldGUK
LSAgZXZlbnQgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OlNjcmlwdEV2ZW50ICAgICAgICAg
ICBEb250RGVsZXRlCi0gIGNoYXJzZXQgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpTY3JpcHRD
aGFyc2V0ICAgICAgICAgRG9udERlbGV0ZQotICBkZWZlciAgICAgICAgIEtKUzo6SlNIVE1MRWxl
bWVudDo6U2NyaXB0RGVmZXIgICAgICAgICAgIERvbnREZWxldGUKLSAgc3JjICAgICAgICAgICBL
SlM6OkpTSFRNTEVsZW1lbnQ6OlNjcmlwdFNyYyAgICAgICAgICAgICBEb250RGVsZXRlCi0gIHR5
cGUgICAgICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpTY3JpcHRUeXBlICAgICAgICAgICAgRG9u
dERlbGV0ZQotQGVuZAogQGJlZ2luIEhUTUxUYWJsZUVsZW1lbnRUYWJsZSAyMwogICBjYXB0aW9u
ICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6VGFibGVDYXB0aW9uICAgICAgICAgIERvbnREZWxl
dGUKICAgdEhlYWQgICAgICAgICBLSlM6OkpTSFRNTEVsZW1lbnQ6OlRhYmxlVEhlYWQgICAgICAg
ICAgICBEb250RGVsZXRlCkBAIC05MjEsOCArNjkwLDggQEAgY29uc3QgSlNIVE1MRWxlbWVudDo6
QWNjZXNzb3JzKiBKU0hUTUxFbAogICB3aWR0aCAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6
VGFibGVDZWxsV2lkdGggICAgICAgICAgICAgICAgRG9udERlbGV0ZQogQGVuZAogQGJlZ2luIEhU
TUxGcmFtZVNldEVsZW1lbnRUYWJsZSAyCi0gIGNvbHMgICAgICAgICAgS0pTOjpKU0hUTUxFbGVt
ZW50OjpGcmFtZVNldENvbHMgICAgICAgICAgICAgICAgICBEb250RGVsZXRlCi0gIHJvd3MgICAg
ICAgICAgS0pTOjpKU0hUTUxFbGVtZW50OjpGcmFtZVNldFJvd3MgICAgICAgICAgICAgICAgICBE
b250RGVsZXRlCitjb2xzICAgICAgICAgIEtKUzo6SlNIVE1MRWxlbWVudDo6RnJhbWVTZXRDb2xz
ICAgICAgICAgICAgICAgICAgRG9udERlbGV0ZQorcm93cyAgICAgICAgICBLSlM6OkpTSFRNTEVs
ZW1lbnQ6OkZyYW1lU2V0Um93cyAgICAgICAgICAgICAgICAgIERvbnREZWxldGUKIEBlbmQKIEBi
ZWdpbiBIVE1MRnJhbWVFbGVtZW50VGFibGUgOQogICBjb250ZW50RG9jdW1lbnQgS0pTOjpKU0hU
TUxFbGVtZW50OjpGcmFtZUNvbnRlbnREb2N1bWVudCAgICAgICAgRG9udERlbGV0ZXxSZWFkT25s
eQpAQCAtMTExNyw0NiArODg2LDYgQEAgSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6Y2FsbEFzRnVu
Y3Rpb24oRQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCi1KU1ZhbHVlICpKU0hUTUxF
bGVtZW50Ojppc0luZGV4R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdAot
ewotICAgIEhUTUxJc0luZGV4RWxlbWVudCYgaXNpbmRleCA9ICpzdGF0aWNfY2FzdDxIVE1MSXNJ
bmRleEVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAgICAgY2Fz
ZSBJc0luZGV4Rm9ybTogICAgICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBpc2luZGV4LmZvcm0o
KSk7IC8vIHR5cGUgSFRNTEZvcm1FbGVtZW50Ci0gICAgICAgIGNhc2UgSXNJbmRleFByb21wdDog
ICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGlzaW5kZXgucHJvbXB0KCkpOwotICAgIH0KLSAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6Ym9keUdl
dHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QKLXsKLSAgICBIVE1MQm9keUVs
ZW1lbnQmIGJvZHkgPSAqc3RhdGljX2Nhc3Q8SFRNTEJvZHlFbGVtZW50Kj4oaW1wbCgpKTsKLSAg
ICBzd2l0Y2ggKHRva2VuKSB7Ci0gICAgICAgIGNhc2UgQm9keUFMaW5rOiAgICAgICAgICAgcmV0
dXJuIGpzU3RyaW5nKGJvZHkuYUxpbmsoKSk7Ci0gICAgICAgIGNhc2UgQm9keUJhY2tncm91bmQ6
ICAgICAgcmV0dXJuIGpzU3RyaW5nKGJvZHkuYmFja2dyb3VuZCgpKTsKLSAgICAgICAgY2FzZSBC
b2R5QmdDb2xvcjogICAgICAgICByZXR1cm4ganNTdHJpbmcoYm9keS5iZ0NvbG9yKCkpOwotICAg
ICAgICBjYXNlIEJvZHlMaW5rOiAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhib2R5Lmxpbmso
KSk7Ci0gICAgICAgIGNhc2UgQm9keVRleHQ6ICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGJv
ZHkudGV4dCgpKTsKLSAgICAgICAgY2FzZSBCb2R5Vkxpbms6ICAgICAgICAgICByZXR1cm4ganNT
dHJpbmcoYm9keS52TGluaygpKTsKLSAgICAgICAgZGVmYXVsdDogewotICAgICAgICAgICAgLy8g
VXBkYXRlIHRoZSBkb2N1bWVudCdzIGxheW91dCBiZWZvcmUgd2UgY29tcHV0ZSB0aGVzZSBhdHRy
aWJ1dGVzLgotICAgICAgICAgICAgRG9jdW1lbnQgKmRvYyA9IGJvZHkuZG9jdW1lbnQoKTsKLSAg
ICAgICAgICAgIGRvYy0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0g
ICAgICAgICAgICBGcmFtZVZpZXcgKnZpZXcgPSBkb2MtPnZpZXcoKTsKLSAgICAgICAgICAgIHN3
aXRjaCAodG9rZW4pIHsKLSAgICAgICAgICAgICAgICBjYXNlIEJvZHlTY3JvbGxMZWZ0OgotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4ganNOdW1iZXIodmlldyA/IHZpZXctPmNvbnRlbnRzWCgp
IDogMCk7Ci0gICAgICAgICAgICAgICAgY2FzZSBCb2R5U2Nyb2xsVG9wOgotICAgICAgICAgICAg
ICAgICAgICByZXR1cm4ganNOdW1iZXIodmlldyA/IHZpZXctPmNvbnRlbnRzWSgpIDogMCk7Ci0g
ICAgICAgICAgICAgICAgY2FzZSBCb2R5U2Nyb2xsSGVpZ2h0OgotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4ganNOdW1iZXIodmlldyA/IHZpZXctPmNvbnRlbnRzSGVpZ2h0KCkgOiAwKTsKLSAg
ICAgICAgICAgICAgICBjYXNlIEJvZHlTY3JvbGxXaWR0aDoKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGpzTnVtYmVyKHZpZXcgPyB2aWV3LT5jb250ZW50c1dpZHRoKCkgOiAwKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0K
LQogSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6Zm9ybUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGlu
dCB0b2tlbikgY29uc3QKIHsKICAgICBIVE1MRm9ybUVsZW1lbnQmIGZvcm0gPSAqc3RhdGljX2Nh
c3Q8SFRNTEZvcm1FbGVtZW50Kj4oaW1wbCgpKTsKQEAgLTExOTIsMTcyICs5MjEsNiBAQCBKU1Zh
bHVlICpKU0hUTUxFbGVtZW50OjpzZWxlY3RHZXR0ZXIoRXhlCiAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CiB9CiAKLUpTVmFsdWUgKkpTSFRNTEVsZW1lbnQ6OmxhYmVsR2V0dGVyKEV4ZWNTdGF0
ZSogZXhlYywgaW50IHRva2VuKSBjb25zdAotewotICAgIEhUTUxMYWJlbEVsZW1lbnQmIGxhYmVs
ID0gKnN0YXRpY19jYXN0PEhUTUxMYWJlbEVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAo
dG9rZW4pIHsKLSAgICAgICAgY2FzZSBMYWJlbEZvcm06ICAgICAgICAgICAgcmV0dXJuIHRvSlMo
ZXhlYyxsYWJlbC5mb3JtKCkpOyAvLyB0eXBlIEhUTUxGb3JtRWxlbWVudAotICAgICAgICBjYXNl
IExhYmVsQWNjZXNzS2V5OiAgICAgICByZXR1cm4ganNTdHJpbmcobGFiZWwuYWNjZXNzS2V5KCkp
OwotICAgICAgICBjYXNlIExhYmVsSHRtbEZvcjogICAgICAgICByZXR1cm4ganNTdHJpbmcobGFi
ZWwuaHRtbEZvcigpKTsKLSAgICB9Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpT
VmFsdWUgKkpTSFRNTEVsZW1lbnQ6OmZpZWxkU2V0R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50
IHRva2VuKSBjb25zdAotewotICAgIEhUTUxGaWVsZFNldEVsZW1lbnQmIGZpZWxkU2V0ID0gKnN0
YXRpY19jYXN0PEhUTUxGaWVsZFNldEVsZW1lbnQqPihpbXBsKCkpOwotICAgIGlmICh0b2tlbiA9
PSBGaWVsZFNldEZvcm0pCi0gICAgICAgIHJldHVybiB0b0pTKGV4ZWMsZmllbGRTZXQuZm9ybSgp
KTsgLy8gdHlwZSBIVE1MRm9ybUVsZW1lbnQKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0K
LQotSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6bGVnZW5kR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywg
aW50IHRva2VuKSBjb25zdAotewotICAgIEhUTUxMZWdlbmRFbGVtZW50JiBsZWdlbmQgPSAqc3Rh
dGljX2Nhc3Q8SFRNTExlZ2VuZEVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4p
IHsKLSAgICAgICAgY2FzZSBMZWdlbmRGb3JtOiAgICAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMs
bGVnZW5kLmZvcm0oKSk7IC8vIHR5cGUgSFRNTEZvcm1FbGVtZW50Ci0gICAgICAgIGNhc2UgTGVn
ZW5kQWNjZXNzS2V5OiAgICAgICByZXR1cm4ganNTdHJpbmcobGVnZW5kLmFjY2Vzc0tleSgpKTsK
LSAgICAgICAgY2FzZSBMZWdlbmRBbGlnbjogICAgICAgICAgIHJldHVybiBqc1N0cmluZyhsZWdl
bmQuYWxpZ24oKSk7Ci0gICAgfQotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCi1KU1Zh
bHVlICpKU0hUTUxFbGVtZW50OjptZW51R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2Vu
KSBjb25zdAotewotICAgIEhUTUxNZW51RWxlbWVudCYgbWVudSA9ICpzdGF0aWNfY2FzdDxIVE1M
TWVudUVsZW1lbnQqPihpbXBsKCkpOwotICAgIGlmICh0b2tlbiA9PSBNZW51Q29tcGFjdCkKLSAg
ICAgICAgcmV0dXJuIGpzQm9vbGVhbihtZW51LmNvbXBhY3QoKSk7Ci0gICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgKkpTSFRNTEVsZW1lbnQ6OmxpR2V0dGVyKEV4ZWNTdGF0
ZSogZXhlYywgaW50IHRva2VuKSBjb25zdAotewotICAgIEhUTUxMSUVsZW1lbnQmIGxpID0gKnN0
YXRpY19jYXN0PEhUTUxMSUVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsK
LSAgICAgICAgY2FzZSBMSVR5cGU6ICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGxpLnR5cGUo
KSk7Ci0gICAgICAgIGNhc2UgTElWYWx1ZTogICAgICAgICAgIHJldHVybiBqc051bWJlcihsaS52
YWx1ZSgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUg
KkpTSFRNTEVsZW1lbnQ6OnBhcmFncmFwaEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tl
bikgY29uc3QKLXsKLSAgICBIVE1MUGFyYWdyYXBoRWxlbWVudCYgcCA9ICpzdGF0aWNfY2FzdDxI
VE1MUGFyYWdyYXBoRWxlbWVudCo+KGltcGwoKSk7Ci0gICAgaWYgKHRva2VuID09IFBhcmFncmFw
aEFsaWduKQotICAgICAgICByZXR1cm4ganNTdHJpbmcocC5hbGlnbigpKTsKLSAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6aGVhZGluZ0dldHRl
cihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QKLXsKLSAgICBIVE1MSGVhZGluZ0Vs
ZW1lbnQmIGggPSAqc3RhdGljX2Nhc3Q8SFRNTEhlYWRpbmdFbGVtZW50Kj4oaW1wbCgpKTsKLSAg
ICBpZiAodG9rZW4gPT0gSGVhZGluZ0FsaWduKQotICAgICAgICByZXR1cm4ganNTdHJpbmcoaC5h
bGlnbigpKTsKLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1M
RWxlbWVudDo6YmxvY2tRdW90ZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29u
c3QKLXsKLSAgICBIVE1MQmxvY2txdW90ZUVsZW1lbnQmIGJsb2NrUXVvdGUgPSAqc3RhdGljX2Nh
c3Q8SFRNTEJsb2NrcXVvdGVFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAodG9rZW4gPT0gQmxv
Y2tRdW90ZUNpdGUpCi0gICAgICAgIHJldHVybiBqc1N0cmluZyhibG9ja1F1b3RlLmNpdGUoKSk7
Ci0gICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Ci19Ci0KLUpTVmFsdWUgKkpTSFRNTEVsZW1lbnQ6
OnF1b3RlR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdAotewotICAgIEhU
TUxRdW90ZUVsZW1lbnQmIHF1b3RlID0gKnN0YXRpY19jYXN0PEhUTUxRdW90ZUVsZW1lbnQqPihp
bXBsKCkpOwotICAgIGlmICh0b2tlbiA9PSBRdW90ZUNpdGUpCi0gICAgICAgIHJldHVybiBqc1N0
cmluZyhxdW90ZS5jaXRlKCkpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCi1KU1Zh
bHVlICpKU0hUTUxFbGVtZW50OjpwcmVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4p
IGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciAnd3JhcCcgd2hlbiB3aGl0
ZS1zcGFjZTogcHJlLXdyYXAgaXMgaW1wbGVtZW50ZWQuCi0gICAgSFRNTFByZUVsZW1lbnQmIHBy
ZSA9ICpzdGF0aWNfY2FzdDxIVE1MUHJlRWxlbWVudCo+KGltcGwoKSk7Ci0gICAgaWYgKHRva2Vu
ID09IFByZVdpZHRoKQotICAgICAgICByZXR1cm4ganNOdW1iZXIocHJlLndpZHRoKCkpOwotICAg
IGlmICh0b2tlbiA9PSBQcmVXcmFwKQotICAgICAgICByZXR1cm4ganNCb29sZWFuKHByZS53cmFw
KCkpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCi1KU1ZhbHVlICpKU0hUTUxFbGVt
ZW50OjpickdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QKLXsKLSAgICBI
VE1MQlJFbGVtZW50JiBiciA9ICpzdGF0aWNfY2FzdDxIVE1MQlJFbGVtZW50Kj4oaW1wbCgpKTsK
LSAgICBpZiAodG9rZW4gPT0gQlJDbGVhcikKLSAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGJyLmNs
ZWFyKCkpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCi1KU1ZhbHVlICpKU0hUTUxF
bGVtZW50OjpiYXNlRm9udEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QK
LXsKLSAgICBIVE1MQmFzZUZvbnRFbGVtZW50JiBiYXNlRm9udCA9ICpzdGF0aWNfY2FzdDxIVE1M
QmFzZUZvbnRFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBzd2l0Y2ggKHRva2VuKSB7Ci0gICAgICAg
IGNhc2UgQmFzZUZvbnRDb2xvcjogICAgICAgICAgIHJldHVybiBqc1N0cmluZyhiYXNlRm9udC5j
b2xvcigpKTsKLSAgICAgICAgY2FzZSBCYXNlRm9udEZhY2U6ICAgICAgICAgICAgcmV0dXJuIGpz
U3RyaW5nKGJhc2VGb250LmZhY2UoKSk7Ci0gICAgICAgIGNhc2UgQmFzZUZvbnRTaXplOiAgICAg
ICAgICAgIHJldHVybiBqc1N0cmluZyhiYXNlRm9udC5zaXplKCkpOwotICAgIH0KLSAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6Zm9udEdldHRl
cihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QKLXsKLSAgICBIVE1MRm9udEVsZW1l
bnQmIGZvbnQgPSAqc3RhdGljX2Nhc3Q8SFRNTEZvbnRFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBz
d2l0Y2ggKHRva2VuKSB7Ci0gICAgICAgIGNhc2UgRm9udENvbG9yOiAgICAgICAgICAgcmV0dXJu
IGpzU3RyaW5nKGZvbnQuY29sb3IoKSk7Ci0gICAgICAgIGNhc2UgRm9udEZhY2U6ICAgICAgICAg
ICAgcmV0dXJuIGpzU3RyaW5nKGZvbnQuZmFjZSgpKTsKLSAgICAgICAgY2FzZSBGb250U2l6ZTog
ICAgICAgICAgICByZXR1cm4ganNTdHJpbmcoZm9udC5zaXplKCkpOwotICAgIH0KLSAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6aHJHZXR0ZXIo
RXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0Ci17Ci0gICAgSFRNTEhSRWxlbWVudCYg
aHIgPSAqc3RhdGljX2Nhc3Q8SFRNTEhSRWxlbWVudCo+KGltcGwoKSk7Ci0gICAgc3dpdGNoICh0
b2tlbikgewotICAgICAgICBjYXNlIEhSQWxpZ246ICAgICAgICAgICByZXR1cm4ganNTdHJpbmco
aHIuYWxpZ24oKSk7Ci0gICAgICAgIGNhc2UgSFJOb1NoYWRlOiAgICAgICAgIHJldHVybiBqc0Jv
b2xlYW4oaHIubm9TaGFkZSgpKTsKLSAgICAgICAgY2FzZSBIUlNpemU6ICAgICAgICAgICAgcmV0
dXJuIGpzU3RyaW5nKGhyLnNpemUoKSk7Ci0gICAgICAgIGNhc2UgSFJXaWR0aDogICAgICAgICAg
IHJldHVybiBqc1N0cmluZyhoci53aWR0aCgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7Ci19Ci0KLUpTVmFsdWUgKkpTSFRNTEVsZW1lbnQ6Om1vZEdldHRlcihFeGVjU3RhdGUq
IGV4ZWMsIGludCB0b2tlbikgY29uc3QKLXsKLSAgICBIVE1MTW9kRWxlbWVudCYgbW9kID0gKnN0
YXRpY19jYXN0PEhUTUxNb2RFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBzd2l0Y2ggKHRva2VuKSB7
Ci0gICAgICAgIGNhc2UgTW9kQ2l0ZTogICAgICAgICAgICByZXR1cm4ganNTdHJpbmcobW9kLmNp
dGUoKSk7Ci0gICAgICAgIGNhc2UgTW9kRGF0ZVRpbWU6ICAgICAgICByZXR1cm4ganNTdHJpbmco
bW9kLmRhdGVUaW1lKCkpOwotICAgIH0KLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQot
SlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6aW1hZ2VHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQg
dG9rZW4pIGNvbnN0Ci17Ci0gICAgSFRNTEltYWdlRWxlbWVudCYgaW1hZ2UgPSAqc3RhdGljX2Nh
c3Q8SFRNTEltYWdlRWxlbWVudCo+KGltcGwoKSk7Ci0gICAgc3dpdGNoICh0b2tlbikgewotICAg
ICAgICBjYXNlIEltYWdlTmFtZTogICAgICAgICAgICByZXR1cm4ganNTdHJpbmcoaW1hZ2UubmFt
ZSgpKTsKLSAgICAgICAgY2FzZSBJbWFnZUFsaWduOiAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5n
KGltYWdlLmFsaWduKCkpOwotICAgICAgICBjYXNlIEltYWdlQWx0OiAgICAgICAgICAgICByZXR1
cm4ganNTdHJpbmcoaW1hZ2UuYWx0KCkpOwotICAgICAgICBjYXNlIEltYWdlQm9yZGVyOiAgICAg
ICAgICByZXR1cm4ganNOdW1iZXIoaW1hZ2UuYm9yZGVyKCkpOwotICAgICAgICBjYXNlIEltYWdl
Q29tcGxldGU6ICAgICAgICByZXR1cm4ganNCb29sZWFuKGltYWdlLmNvbXBsZXRlKCkpOwotICAg
ICAgICBjYXNlIEltYWdlSGVpZ2h0OiAgICAgICAgICByZXR1cm4ganNOdW1iZXIoaW1hZ2UuaGVp
Z2h0KHRydWUpKTsKLSAgICAgICAgY2FzZSBJbWFnZUhzcGFjZTogICAgICAgICAgcmV0dXJuIGpz
TnVtYmVyKGltYWdlLmhzcGFjZSgpKTsKLSAgICAgICAgY2FzZSBJbWFnZUlzTWFwOiAgICAgICAg
ICAgcmV0dXJuIGpzQm9vbGVhbihpbWFnZS5pc01hcCgpKTsKLSAgICAgICAgY2FzZSBJbWFnZUxv
bmdEZXNjOiAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGltYWdlLmxvbmdEZXNjKCkpOwotICAgICAg
ICBjYXNlIEltYWdlU3JjOiAgICAgICAgICAgICByZXR1cm4ganNTdHJpbmcoaW1hZ2Uuc3JjKCkp
OwotICAgICAgICBjYXNlIEltYWdlVXNlTWFwOiAgICAgICAgICByZXR1cm4ganNTdHJpbmcoaW1h
Z2UudXNlTWFwKCkpOwotICAgICAgICBjYXNlIEltYWdlVnNwYWNlOiAgICAgICAgICByZXR1cm4g
anNOdW1iZXIoaW1hZ2UudnNwYWNlKCkpOwotICAgICAgICBjYXNlIEltYWdlV2lkdGg6ICAgICAg
ICAgICByZXR1cm4ganNOdW1iZXIoaW1hZ2Uud2lkdGgodHJ1ZSkpOwotICAgICAgICBjYXNlIElt
YWdlWDogICAgICAgICAgICAgICByZXR1cm4ganNOdW1iZXIoaW1hZ2UueCgpKTsKLSAgICAgICAg
Y2FzZSBJbWFnZVk6ICAgICAgICAgICAgICAgcmV0dXJuIGpzTnVtYmVyKGltYWdlLnkoKSk7Ci0g
ICAgfQotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotfQotCiBKU1ZhbHVlICpKU0hUTUxFbGVt
ZW50OjpvYmplY3RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0CiB7CiAg
ICAgSFRNTE9iamVjdEVsZW1lbnQmIG9iamVjdCA9ICpzdGF0aWNfY2FzdDxIVE1MT2JqZWN0RWxl
bWVudCo+KGltcGwoKSk7CkBAIC0xMzg2LDE4ICs5NDksNiBAQCBKU1ZhbHVlICpKU0hUTUxFbGVt
ZW50OjpvYmplY3RHZXR0ZXIoRXhlCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKLUpT
VmFsdWUgKkpTSFRNTEVsZW1lbnQ6OnBhcmFtR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRv
a2VuKSBjb25zdAotewotICAgIEhUTUxQYXJhbUVsZW1lbnQmIHBhcmFtID0gKnN0YXRpY19jYXN0
PEhUTUxQYXJhbUVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAg
ICAgY2FzZSBQYXJhbU5hbWU6ICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKHBhcmFtLm5hbWUo
KSk7Ci0gICAgICAgIGNhc2UgUGFyYW1UeXBlOiAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhw
YXJhbS50eXBlKCkpOwotICAgICAgICBjYXNlIFBhcmFtVmFsdWU6ICAgICAgICAgICByZXR1cm4g
anNTdHJpbmcocGFyYW0udmFsdWUoKSk7Ci0gICAgICAgIGNhc2UgUGFyYW1WYWx1ZVR5cGU6ICAg
ICAgIHJldHVybiBqc1N0cmluZyhwYXJhbS52YWx1ZVR5cGUoKSk7Ci0gICAgfQotICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwotfQotCiBKU1ZhbHVlICpKU0hUTUxFbGVtZW50OjplbWJlZEdldHRl
cihFeGVjU3RhdGUqIGV4ZWMsIGludCB0b2tlbikgY29uc3QKIHsKICAgICBIVE1MRW1iZWRFbGVt
ZW50JiBlbWJlZCA9ICpzdGF0aWNfY2FzdDxIVE1MRW1iZWRFbGVtZW50Kj4oaW1wbCgpKTsKQEAg
LTE0MTIsMTggKzk2Myw3IEBAIEpTVmFsdWUgKkpTSFRNTEVsZW1lbnQ6OmVtYmVkR2V0dGVyKEV4
ZWMKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIAotSlNWYWx1ZSAqSlNIVE1MRWxlbWVu
dDo6bWFwR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdAotewotICAgIEhU
TUxNYXBFbGVtZW50JiBtYXAgPSAqc3RhdGljX2Nhc3Q8SFRNTE1hcEVsZW1lbnQqPihpbXBsKCkp
OwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAgICAgY2FzZSBNYXBBcmVhczogICAgICAgICAg
IHJldHVybiBnZXRIVE1MQ29sbGVjdGlvbihleGVjLCBtYXAuYXJlYXMoKS5nZXQoKSk7IC8vIHR5
cGUgSlNIVE1MQ29sbGVjdGlvbgotICAgICAgICBjYXNlIE1hcE5hbWU6ICAgICAgICAgICAgcmV0
dXJuIGpzU3RyaW5nKG1hcC5uYW1lKCkpOwotICAgIH0KLSAgICByZXR1cm4ganNVbmRlZmluZWQo
KTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MRWxlbWVudDo6YXJlYUdldHRlcihFeGVjU3RhdGUqIGV4
ZWMsIGludCB0b2tlbikgY29uc3QKLXsKKyNpZmRlZiBGSVhNRQogICAgIEhUTUxBcmVhRWxlbWVu
dCYgYXJlYSA9ICpzdGF0aWNfY2FzdDxIVE1MQXJlYUVsZW1lbnQqPihpbXBsKCkpOwogICAgIHN3
aXRjaCAodG9rZW4pIHsKICAgICAgICAgY2FzZSBBcmVhQWNjZXNzS2V5OiAgICAgICByZXR1cm4g
anNTdHJpbmcoYXJlYS5hY2Nlc3NLZXkoKSk7CkBAIC0xNDQ4LDIzICs5ODgsNyBAQCBKU1ZhbHVl
ICpKU0hUTUxFbGVtZW50OjphcmVhR2V0dGVyKEV4ZWNTCiAgICAgICAgIGNhc2UgQXJlYVRhYklu
ZGV4OiAgICAgICAgcmV0dXJuIGpzTnVtYmVyKGFyZWEudGFiSW5kZXgoKSk7CiAgICAgICAgIGNh
c2UgQXJlYVRhcmdldDogICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGFyZWEudGFyZ2V0KCkpOwog
ICAgIH0KLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KLQotSlNWYWx1ZSAqSlNIVE1MRWxl
bWVudDo6c2NyaXB0R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgaW50IHRva2VuKSBjb25zdAotewot
ICAgIEhUTUxTY3JpcHRFbGVtZW50JiBzY3JpcHQgPSAqc3RhdGljX2Nhc3Q8SFRNTFNjcmlwdEVs
ZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAgICAgY2FzZSBTY3Jp
cHRUZXh0OiAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhzY3JpcHQudGV4dCgpKTsKLSAgICAg
ICAgY2FzZSBTY3JpcHRIdG1sRm9yOiAgICAgICAgIHJldHVybiBqc1N0cmluZyhzY3JpcHQuaHRt
bEZvcigpKTsKLSAgICAgICAgY2FzZSBTY3JpcHRFdmVudDogICAgICAgICAgIHJldHVybiBqc1N0
cmluZyhzY3JpcHQuZXZlbnQoKSk7Ci0gICAgICAgIGNhc2UgU2NyaXB0Q2hhcnNldDogICAgICAg
ICByZXR1cm4ganNTdHJpbmcoc2NyaXB0LmNoYXJzZXQoKSk7Ci0gICAgICAgIGNhc2UgU2NyaXB0
RGVmZXI6ICAgICAgICAgICByZXR1cm4ganNCb29sZWFuKHNjcmlwdC5kZWZlcigpKTsKLSAgICAg
ICAgY2FzZSBTY3JpcHRTcmM6ICAgICAgICAgICAgIHJldHVybiBqc1N0cmluZyhzY3JpcHQuc3Jj
KCkpOwotICAgICAgICBjYXNlIFNjcmlwdFR5cGU6ICAgICAgICAgICAgcmV0dXJuIGpzU3RyaW5n
KHNjcmlwdC50eXBlKCkpOwotICAgIH0KLSAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLX0KKyNl
bmRpZgogCiBKU1ZhbHVlICpKU0hUTUxFbGVtZW50Ojp0YWJsZUdldHRlcihFeGVjU3RhdGUqIGV4
ZWMsIGludCB0b2tlbikgY29uc3QKIHsKQEAgLTE3NjAsMjAgKzEyODQsNiBAQCBKU1ZhbHVlICpI
VE1MRWxlbWVudEZ1bmN0aW9uOjpjYWxsQXNGdW5jCiAgICAgICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKICAgICAgICAgfQogICAgIH0KLSAgICBlbHNlIGlmIChlbGVtZW50Lmhhc0xvY2Fs
TmFtZShsYWJlbFRhZykpIHsKLSAgICAgICAgSFRNTExhYmVsRWxlbWVudCAmbGFiZWwgPSBzdGF0
aWNfY2FzdDxIVE1MTGFiZWxFbGVtZW50ICY+KGVsZW1lbnQpOwotICAgICAgICBpZiAoaWQgPT0g
SlNIVE1MRWxlbWVudDo6TGFiZWxGb2N1cykgewotICAgICAgICAgICAgbGFiZWwuZm9jdXMoKTsK
LSAgICAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgICAgICB9Ci0gICAgfQotICAg
IGVsc2UgaWYgKGVsZW1lbnQuaGFzTG9jYWxOYW1lKGxlZ2VuZFRhZykpIHsKLSAgICAgICAgSFRN
TExlZ2VuZEVsZW1lbnQgJmxlZ2VuZCA9IHN0YXRpY19jYXN0PEhUTUxMZWdlbmRFbGVtZW50ICY+
KGVsZW1lbnQpOwotICAgICAgICBpZiAoaWQgPT0gSlNIVE1MRWxlbWVudDo6TGVnZW5kRm9jdXMp
IHsKLSAgICAgICAgICAgIGxlZ2VuZC5mb2N1cygpOwotICAgICAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7Ci0gICAgICAgIH0KLSAgICB9CiAgICAgZWxzZSBpZiAoZWxlbWVudC5oYXNMb2Nh
bE5hbWUodGFibGVUYWcpKSB7CiAgICAgICAgIEhUTUxUYWJsZUVsZW1lbnQgJnRhYmxlID0gc3Rh
dGljX2Nhc3Q8SFRNTFRhYmxlRWxlbWVudCAmPihlbGVtZW50KTsKICAgICAgICAgaWYgKGlkID09
IEpTSFRNTEVsZW1lbnQ6OlRhYmxlQ3JlYXRlVEhlYWQpCkBAIC0xODc2LDM5ICsxMzg2LDYgQEAg
dm9pZCBKU0hUTUxFbGVtZW50OjpwdXQoRXhlY1N0YXRlICpleGVjLAogICAgIGxvb2t1cFB1dDxK
U0hUTUxFbGVtZW50LCBKU0VsZW1lbnQ+KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIs
ICZIVE1MRWxlbWVudFRhYmxlLCB0aGlzKTsKIH0KIAotdm9pZCBKU0hUTUxFbGVtZW50Ojppc0lu
ZGV4U2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29u
c3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpCi17Ci0gICAgSFRNTElzSW5kZXhFbGVtZW50JiBpc2lu
ZGV4ID0gKnN0YXRpY19jYXN0PEhUTUxJc0luZGV4RWxlbWVudCo+KGltcGwoKSk7Ci0gICAgaWYg
KHRva2VuID09IElzSW5kZXhQcm9tcHQpCi0gICAgICAgIGlzaW5kZXguc2V0UHJvbXB0KHN0cik7
Ci19Ci0KLXZvaWQgSlNIVE1MRWxlbWVudDo6Ym9keVNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGlu
dCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKQotewot
ICAgIEhUTUxCb2R5RWxlbWVudCYgYm9keSA9ICpzdGF0aWNfY2FzdDxIVE1MQm9keUVsZW1lbnQq
PihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAgICAgY2FzZSBCb2R5QUxpbms6
ICAgICAgICAgICB7IGJvZHkuc2V0QUxpbmsoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2Ug
Qm9keUJhY2tncm91bmQ6ICAgICAgeyBib2R5LnNldEJhY2tncm91bmQoc3RyKTsgcmV0dXJuOyB9
Ci0gICAgICAgIGNhc2UgQm9keUJnQ29sb3I6ICAgICAgICAgeyBib2R5LnNldEJnQ29sb3Ioc3Ry
KTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgQm9keUxpbms6ICAgICAgICAgICAgeyBib2R5LnNl
dExpbmsoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgQm9keVRleHQ6ICAgICAgICAgICAg
eyBib2R5LnNldFRleHQoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgQm9keVZMaW5rOiAg
ICAgICAgICAgeyBib2R5LnNldFZMaW5rKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEJv
ZHlTY3JvbGxMZWZ0OgotICAgICAgICBjYXNlIEJvZHlTY3JvbGxUb3A6IHsKLSAgICAgICAgICAg
IEZyYW1lVmlldyogc3ZpZXcgPSBib2R5Lm93bmVyRG9jdW1lbnQoKS0+dmlldygpOwotICAgICAg
ICAgICAgaWYgKHN2aWV3KSB7Ci0gICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVu
dCdzIGxheW91dCBiZWZvcmUgd2UgY29tcHV0ZSB0aGVzZSBhdHRyaWJ1dGVzLgotICAgICAgICAg
ICAgICAgIGJvZHkuZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRva2VuID09IEJvZHlTY3JvbGxMZWZ0KQotICAg
ICAgICAgICAgICAgICAgICBzdmlldy0+c2V0Q29udGVudHNQb3ModmFsdWUtPnRvSW50MzIoZXhl
YyksIHN2aWV3LT5jb250ZW50c1koKSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICBzdmlldy0+c2V0Q29udGVudHNQb3Moc3ZpZXctPmNvbnRlbnRzWCgpLCB2YWx1
ZS0+dG9JbnQzMihleGVjKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIH0KLSAgICB9Ci19Ci0KIHZvaWQgSlNIVE1MRWxlbWVudDo6Zm9ybVNldHRlcihFeGVj
U3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0
cmluZyYgc3RyKQogewogICAgIEhUTUxGb3JtRWxlbWVudCYgZm9ybSA9ICpzdGF0aWNfY2FzdDxI
VE1MRm9ybUVsZW1lbnQqPihpbXBsKCkpOwpAQCAtMTk0NiwxNDkgKzE0MjMsNiBAQCB2b2lkIEpT
SFRNTEVsZW1lbnQ6OnNlbGVjdFNldHRlcihFeGVjU3RhCiAgICAgfQogfQogCi12b2lkIEpTSFRN
TEVsZW1lbnQ6OmxhYmVsU2V0dGVyKEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVl
ICp2YWx1ZSwgY29uc3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpCi17Ci0gICAgSFRNTExhYmVsRWxl
bWVudCYgbGFiZWwgPSAqc3RhdGljX2Nhc3Q8SFRNTExhYmVsRWxlbWVudCo+KGltcGwoKSk7Ci0g
ICAgc3dpdGNoICh0b2tlbikgewotICAgICAgICAvLyByZWFkLW9ubHk6IGZvcm0KLSAgICAgICAg
Y2FzZSBMYWJlbEFjY2Vzc0tleTogICAgICAgeyBsYWJlbC5zZXRBY2Nlc3NLZXkoc3RyKTsgcmV0
dXJuOyB9Ci0gICAgICAgIGNhc2UgTGFiZWxIdG1sRm9yOiAgICAgICAgIHsgbGFiZWwuc2V0SHRt
bEZvcihzdHIpOyByZXR1cm47IH0KLSAgICB9Ci19Ci0KLXZvaWQgSlNIVE1MRWxlbWVudDo6Zmll
bGRTZXRTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBj
b25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikKLXsKLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50Ojps
ZWdlbmRTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBj
b25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikKLXsKLSAgICBIVE1MTGVnZW5kRWxlbWVudCYgbGVn
ZW5kID0gKnN0YXRpY19jYXN0PEhUTUxMZWdlbmRFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBzd2l0
Y2ggKHRva2VuKSB7Ci0gICAgICAgIC8vIHJlYWQtb25seTogZm9ybQotICAgICAgICBjYXNlIExl
Z2VuZEFjY2Vzc0tleTogICAgICAgeyBsZWdlbmQuc2V0QWNjZXNzS2V5KHN0cik7IHJldHVybjsg
fQotICAgICAgICBjYXNlIExlZ2VuZEFsaWduOiAgICAgICAgICAgeyBsZWdlbmQuc2V0QWxpZ24o
c3RyKTsgcmV0dXJuOyB9Ci0gICAgfQotfQotCi12b2lkIEpTSFRNTEVsZW1lbnQ6Om1lbnVTZXR0
ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJD
b3JlOjpTdHJpbmcmIHN0cikKLXsKLSAgICBIVE1MTWVudUVsZW1lbnQmIG1lbnUgPSAqc3RhdGlj
X2Nhc3Q8SFRNTE1lbnVFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAodG9rZW4gPT0gTWVudUNv
bXBhY3QpCi0gICAgICAgIG1lbnUuc2V0Q29tcGFjdCh2YWx1ZS0+dG9Cb29sZWFuKGV4ZWMpKTsK
LX0KLQotdm9pZCBKU0hUTUxFbGVtZW50OjpsaVNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0
b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKQotewotICAg
IEhUTUxMSUVsZW1lbnQmIGxpID0gKnN0YXRpY19jYXN0PEhUTUxMSUVsZW1lbnQqPihpbXBsKCkp
OwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAgICAgY2FzZSBMSVR5cGU6ICAgICAgICAgICAg
eyBsaS5zZXRUeXBlKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIExJVmFsdWU6ICAgICAg
ICAgICB7IGxpLnNldFZhbHVlKHZhbHVlLT50b0ludDMyKGV4ZWMpKTsgcmV0dXJuOyB9Ci0gICAg
fQotfQotCi12b2lkIEpTSFRNTEVsZW1lbnQ6OnBhcmFncmFwaFNldHRlcihFeGVjU3RhdGUgKmV4
ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3Ry
KQotewotICAgIEhUTUxQYXJhZ3JhcGhFbGVtZW50JiBwYXJhZ3JhcGggPSAqc3RhdGljX2Nhc3Q8
SFRNTFBhcmFncmFwaEVsZW1lbnQqPihpbXBsKCkpOwotICAgIGlmICh0b2tlbiA9PSBQYXJhZ3Jh
cGhBbGlnbikKLSAgICAgICAgcGFyYWdyYXBoLnNldEFsaWduKHN0cik7Ci19Ci0KLXZvaWQgSlNI
VE1MRWxlbWVudDo6aGVhZGluZ1NldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNW
YWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKQotewotICAgIEhUTUxIZWFk
aW5nRWxlbWVudCYgaGVhZGluZyA9ICpzdGF0aWNfY2FzdDxIVE1MSGVhZGluZ0VsZW1lbnQqPihp
bXBsKCkpOwotICAgIGlmICh0b2tlbiA9PSBIZWFkaW5nQWxpZ24pCi0gICAgICAgIGhlYWRpbmcu
c2V0QWxpZ24oc3RyKTsKLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50OjpibG9ja1F1b3RlU2V0dGVy
KEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29y
ZTo6U3RyaW5nJiBzdHIpCi17Ci0gICAgSFRNTEJsb2NrcXVvdGVFbGVtZW50JiBibG9ja1F1b3Rl
ID0gKnN0YXRpY19jYXN0PEhUTUxCbG9ja3F1b3RlRWxlbWVudCo+KGltcGwoKSk7Ci0gICAgaWYg
KHRva2VuID09IEJsb2NrUXVvdGVDaXRlKQotICAgICAgICBibG9ja1F1b3RlLnNldENpdGUoc3Ry
KTsKLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50OjpxdW90ZVNldHRlcihFeGVjU3RhdGUgKmV4ZWMs
IGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKQot
ewotICAgIEhUTUxRdW90ZUVsZW1lbnQmIHF1b3RlID0gKnN0YXRpY19jYXN0PEhUTUxRdW90ZUVs
ZW1lbnQqPihpbXBsKCkpOwotICAgIGlmICh0b2tlbiA9PSBRdW90ZUNpdGUpCi0gICAgICAgIHF1
b3RlLnNldENpdGUoc3RyKTsKLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50OjpwcmVTZXR0ZXIoRXhl
Y1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpT
dHJpbmcmIHN0cikKLXsKLSAgICBIVE1MUHJlRWxlbWVudCYgcHJlID0gKnN0YXRpY19jYXN0PEhU
TUxQcmVFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAodG9rZW4gPT0gUHJlV2lkdGgpCi0gICAg
ICAgIHByZS5zZXRXaWR0aCh2YWx1ZS0+dG9JbnQzMihleGVjKSk7Ci0gICAgZWxzZSBpZiAodG9r
ZW4gPT0gUHJlV3JhcCkKLSAgICAgICAgcHJlLnNldFdyYXAodmFsdWUtPnRvQm9vbGVhbihleGVj
KSk7Ci19Ci0KLXZvaWQgSlNIVE1MRWxlbWVudDo6YnJTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBp
bnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikKLXsK
LSAgICBIVE1MQlJFbGVtZW50JiBiciA9ICpzdGF0aWNfY2FzdDxIVE1MQlJFbGVtZW50Kj4oaW1w
bCgpKTsKLSAgICBpZiAodG9rZW4gPT0gQlJDbGVhcikKLSAgICAgICAgYnIuc2V0Q2xlYXIoc3Ry
KTsKLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50OjpiYXNlRm9udFNldHRlcihFeGVjU3RhdGUgKmV4
ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3Ry
KQotewotICAgIEhUTUxCYXNlRm9udEVsZW1lbnQmIGJhc2VGb250ID0gKnN0YXRpY19jYXN0PEhU
TUxCYXNlRm9udEVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAg
ICAgY2FzZSBCYXNlRm9udENvbG9yOiAgICAgICAgICAgeyBiYXNlRm9udC5zZXRDb2xvcihzdHIp
OyByZXR1cm47IH0KLSAgICAgICAgY2FzZSBCYXNlRm9udEZhY2U6ICAgICAgICAgICAgeyBiYXNl
Rm9udC5zZXRGYWNlKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEJhc2VGb250U2l6ZTog
ICAgICAgICAgICB7IGJhc2VGb250LnNldFNpemUoc3RyKTsgcmV0dXJuOyB9Ci0gICAgfQotfQot
Ci12b2lkIEpTSFRNTEVsZW1lbnQ6OmZvbnRTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9r
ZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikKLXsKLSAgICBI
VE1MRm9udEVsZW1lbnQmIGZvbnQgPSAqc3RhdGljX2Nhc3Q8SFRNTEZvbnRFbGVtZW50Kj4oaW1w
bCgpKTsKLSAgICBzd2l0Y2ggKHRva2VuKSB7Ci0gICAgICAgIGNhc2UgRm9udENvbG9yOiAgICAg
ICAgICAgeyBmb250LnNldENvbG9yKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEZvbnRG
YWNlOiAgICAgICAgICAgIHsgZm9udC5zZXRGYWNlKHN0cik7IHJldHVybjsgfQotICAgICAgICBj
YXNlIEZvbnRTaXplOiAgICAgICAgICAgIHsgZm9udC5zZXRTaXplKHN0cik7IHJldHVybjsgfQot
ICAgIH0KLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50OjpoclNldHRlcihFeGVjU3RhdGUgKmV4ZWMs
IGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKQot
ewotICAgIEhUTUxIUkVsZW1lbnQmIGhyID0gKnN0YXRpY19jYXN0PEhUTUxIUkVsZW1lbnQqPihp
bXBsKCkpOwotICAgIHN3aXRjaCAodG9rZW4pIHsKLSAgICAgICAgY2FzZSBIUkFsaWduOiAgICAg
ICAgICAgeyBoci5zZXRBbGlnbihzdHIpOyByZXR1cm47IH0KLSAgICAgICAgY2FzZSBIUk5vU2hh
ZGU6ICAgICAgICAgeyBoci5zZXROb1NoYWRlKHZhbHVlLT50b0Jvb2xlYW4oZXhlYykpOyByZXR1
cm47IH0KLSAgICAgICAgY2FzZSBIUlNpemU6ICAgICAgICAgICAgeyBoci5zZXRTaXplKHN0cik7
IHJldHVybjsgfQotICAgICAgICBjYXNlIEhSV2lkdGg6ICAgICAgICAgICB7IGhyLnNldFdpZHRo
KHN0cik7IHJldHVybjsgfQotICAgIH0KLX0KLQotdm9pZCBKU0hUTUxFbGVtZW50Ojptb2RTZXR0
ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJD
b3JlOjpTdHJpbmcmIHN0cikKLXsKLSAgICBIVE1MTW9kRWxlbWVudCYgbW9kID0gKnN0YXRpY19j
YXN0PEhUTUxNb2RFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBzd2l0Y2ggKHRva2VuKSB7Ci0gICAg
ICAgIGNhc2UgTW9kQ2l0ZTogICAgICAgICAgICB7IG1vZC5zZXRDaXRlKHN0cik7IHJldHVybjsg
fQotICAgICAgICBjYXNlIE1vZERhdGVUaW1lOiAgICAgICAgeyBtb2Quc2V0RGF0ZVRpbWUoc3Ry
KTsgcmV0dXJuOyB9Ci0gICAgfQotfQotCi12b2lkIEpTSFRNTEVsZW1lbnQ6OmltYWdlU2V0dGVy
KEV4ZWNTdGF0ZSAqZXhlYywgaW50IHRva2VuLCBKU1ZhbHVlICp2YWx1ZSwgY29uc3QgV2ViQ29y
ZTo6U3RyaW5nJiBzdHIpCi17Ci0gICAgSFRNTEltYWdlRWxlbWVudCYgaW1hZ2UgPSAqc3RhdGlj
X2Nhc3Q8SFRNTEltYWdlRWxlbWVudCo+KGltcGwoKSk7Ci0gICAgc3dpdGNoICh0b2tlbikgewot
ICAgICAgICBjYXNlIEltYWdlTmFtZTogICAgICAgICAgICB7IGltYWdlLnNldE5hbWUoc3RyKTsg
cmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgSW1hZ2VBbGlnbjogICAgICAgICAgIHsgaW1hZ2Uuc2V0
QWxpZ24oc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgSW1hZ2VBbHQ6ICAgICAgICAgICAg
IHsgaW1hZ2Uuc2V0QWx0KHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEltYWdlQm9yZGVy
OiAgICAgICAgICB7IGltYWdlLnNldEJvcmRlcih2YWx1ZS0+dG9JbnQzMihleGVjKSk7IHJldHVy
bjsgfQotICAgICAgICBjYXNlIEltYWdlSGVpZ2h0OiAgICAgICAgICB7IGltYWdlLnNldEhlaWdo
dCh2YWx1ZS0+dG9JbnQzMihleGVjKSk7IHJldHVybjsgfQotICAgICAgICBjYXNlIEltYWdlSHNw
YWNlOiAgICAgICAgICB7IGltYWdlLnNldEhzcGFjZSh2YWx1ZS0+dG9JbnQzMihleGVjKSk7IHJl
dHVybjsgfQotICAgICAgICBjYXNlIEltYWdlSXNNYXA6ICAgICAgICAgICB7IGltYWdlLnNldElz
TWFwKHZhbHVlLT50b0Jvb2xlYW4oZXhlYykpOyByZXR1cm47IH0KLSAgICAgICAgY2FzZSBJbWFn
ZUxvbmdEZXNjOiAgICAgICAgeyBpbWFnZS5zZXRMb25nRGVzYyhzdHIpOyByZXR1cm47IH0KLSAg
ICAgICAgY2FzZSBJbWFnZVNyYzogICAgICAgICAgICAgeyBpbWFnZS5zZXRTcmMoc3RyKTsgcmV0
dXJuOyB9Ci0gICAgICAgIGNhc2UgSW1hZ2VVc2VNYXA6ICAgICAgICAgIHsgaW1hZ2Uuc2V0VXNl
TWFwKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEltYWdlVnNwYWNlOiAgICAgICAgICB7
IGltYWdlLnNldFZzcGFjZSh2YWx1ZS0+dG9JbnQzMihleGVjKSk7IHJldHVybjsgfQotICAgICAg
ICBjYXNlIEltYWdlV2lkdGg6ICAgICAgICAgICB7IGltYWdlLnNldFdpZHRoKHZhbHVlLT50b0lu
dDMyKGV4ZWMpKTsgcmV0dXJuOyB9Ci0gICAgfQotfQotCiB2b2lkIEpTSFRNTEVsZW1lbnQ6Om9i
amVjdFNldHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNv
bnN0IFdlYkNvcmU6OlN0cmluZyYgc3RyKQogewogICAgIEhUTUxPYmplY3RFbGVtZW50JiBvYmpl
Y3QgPSAqc3RhdGljX2Nhc3Q8SFRNTE9iamVjdEVsZW1lbnQqPihpbXBsKCkpOwpAQCAtMjExNSwx
NyArMTQ0OSw2IEBAIHZvaWQgSlNIVE1MRWxlbWVudDo6b2JqZWN0U2V0dGVyKEV4ZWNTdGEKICAg
ICB9CiB9CiAKLXZvaWQgSlNIVE1MRWxlbWVudDo6cGFyYW1TZXR0ZXIoRXhlY1N0YXRlICpleGVj
LCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikK
LXsKLSAgICBIVE1MUGFyYW1FbGVtZW50JiBwYXJhbSA9ICpzdGF0aWNfY2FzdDxIVE1MUGFyYW1F
bGVtZW50Kj4oaW1wbCgpKTsKLSAgICBzd2l0Y2ggKHRva2VuKSB7Ci0gICAgICAgIGNhc2UgUGFy
YW1OYW1lOiAgICAgICAgICAgIHsgcGFyYW0uc2V0TmFtZShzdHIpOyByZXR1cm47IH0KLSAgICAg
ICAgY2FzZSBQYXJhbVR5cGU6ICAgICAgICAgICAgeyBwYXJhbS5zZXRUeXBlKHN0cik7IHJldHVy
bjsgfQotICAgICAgICBjYXNlIFBhcmFtVmFsdWU6ICAgICAgICAgICB7IHBhcmFtLnNldFZhbHVl
KHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIFBhcmFtVmFsdWVUeXBlOiAgICAgICB7IHBh
cmFtLnNldFZhbHVlVHlwZShzdHIpOyByZXR1cm47IH0KLSAgICB9Ci19Ci0KIHZvaWQgSlNIVE1M
RWxlbWVudDo6ZW1iZWRTZXR0ZXIoRXhlY1N0YXRlKiwgaW50IHRva2VuLCBKU1ZhbHVlKiwgY29u
c3QgV2ViQ29yZTo6U3RyaW5nJiBzdHIpCiB7CiAgICAgSFRNTEVtYmVkRWxlbWVudCYgZW1iZWQg
PSAqc3RhdGljX2Nhc3Q8SFRNTEVtYmVkRWxlbWVudCo+KGltcGwoKSk7CkBAIC0yMTM5LDQzICsx
NDYyLDYgQEAgdm9pZCBKU0hUTUxFbGVtZW50OjplbWJlZFNldHRlcihFeGVjU3RhdAogICAgIH0K
IH0KIAotdm9pZCBKU0hUTUxFbGVtZW50OjptYXBTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQg
dG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikKLXsKLSAg
ICBIVE1MTWFwRWxlbWVudCYgbWFwID0gKnN0YXRpY19jYXN0PEhUTUxNYXBFbGVtZW50Kj4oaW1w
bCgpKTsKLSAgICBpZiAodG9rZW4gPT0gTWFwTmFtZSkKLSAgICAgICAgLy8gcmVhZC1vbmx5OiBh
cmVhcwotICAgICAgICBtYXAuc2V0TmFtZShzdHIpOwotfQotCi12b2lkIEpTSFRNTEVsZW1lbnQ6
OmFyZWFTZXR0ZXIoRXhlY1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBj
b25zdCBXZWJDb3JlOjpTdHJpbmcmIHN0cikKLXsKLSAgICBIVE1MQXJlYUVsZW1lbnQmIGFyZWEg
PSAqc3RhdGljX2Nhc3Q8SFRNTEFyZWFFbGVtZW50Kj4oaW1wbCgpKTsKLSAgICBzd2l0Y2ggKHRv
a2VuKSB7Ci0gICAgICAgIGNhc2UgQXJlYUFjY2Vzc0tleTogICAgICAgeyBhcmVhLnNldEFjY2Vz
c0tleShzdHIpOyByZXR1cm47IH0KLSAgICAgICAgY2FzZSBBcmVhQWx0OiAgICAgICAgICAgICB7
IGFyZWEuc2V0QWx0KHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEFyZWFDb29yZHM6ICAg
ICAgICAgIHsgYXJlYS5zZXRDb29yZHMoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgQXJl
YUhyZWY6ICAgICAgICAgICAgeyBhcmVhLnNldEhyZWYoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAg
IGNhc2UgQXJlYU5vSHJlZjogICAgICAgICAgeyBhcmVhLnNldE5vSHJlZih2YWx1ZS0+dG9Cb29s
ZWFuKGV4ZWMpKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgQXJlYVNoYXBlOiAgICAgICAgICAg
eyBhcmVhLnNldFNoYXBlKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIEFyZWFUYWJJbmRl
eDogICAgICAgIHsgYXJlYS5zZXRUYWJJbmRleCh2YWx1ZS0+dG9JbnQzMihleGVjKSk7IHJldHVy
bjsgfQotICAgICAgICBjYXNlIEFyZWFUYXJnZXQ6ICAgICAgICAgIHsgYXJlYS5zZXRUYXJnZXQo
c3RyKTsgcmV0dXJuOyB9Ci0gICAgfQotfQotCi12b2lkIEpTSFRNTEVsZW1lbnQ6OnNjcmlwdFNl
dHRlcihFeGVjU3RhdGUgKmV4ZWMsIGludCB0b2tlbiwgSlNWYWx1ZSAqdmFsdWUsIGNvbnN0IFdl
YkNvcmU6OlN0cmluZyYgc3RyKQotewotICAgIEhUTUxTY3JpcHRFbGVtZW50JiBzY3JpcHQgPSAq
c3RhdGljX2Nhc3Q8SFRNTFNjcmlwdEVsZW1lbnQqPihpbXBsKCkpOwotICAgIHN3aXRjaCAodG9r
ZW4pIHsKLSAgICAgICAgY2FzZSBTY3JpcHRUZXh0OiAgICAgICAgICAgIHsgc2NyaXB0LnNldFRl
eHQoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAgIGNhc2UgU2NyaXB0SHRtbEZvcjogICAgICAgICB7
IHNjcmlwdC5zZXRIdG1sRm9yKHN0cik7IHJldHVybjsgfQotICAgICAgICBjYXNlIFNjcmlwdEV2
ZW50OiAgICAgICAgICAgeyBzY3JpcHQuc2V0RXZlbnQoc3RyKTsgcmV0dXJuOyB9Ci0gICAgICAg
IGNhc2UgU2NyaXB0Q2hhcnNldDogICAgICAgICB7IHNjcmlwdC5zZXRDaGFyc2V0KHN0cik7IHJl
dHVybjsgfQotICAgICAgICBjYXNlIFNjcmlwdERlZmVyOiAgICAgICAgICAgeyBzY3JpcHQuc2V0
RGVmZXIodmFsdWUtPnRvQm9vbGVhbihleGVjKSk7IHJldHVybjsgfQotICAgICAgICBjYXNlIFNj
cmlwdFNyYzogICAgICAgICAgICAgeyBzY3JpcHQuc2V0U3JjKHN0cik7IHJldHVybjsgfQotICAg
ICAgICBjYXNlIFNjcmlwdFR5cGU6ICAgICAgICAgICAgeyBzY3JpcHQuc2V0VHlwZShzdHIpOyBy
ZXR1cm47IH0KLSAgICB9Ci19Ci0KIHZvaWQgSlNIVE1MRWxlbWVudDo6dGFibGVTZXR0ZXIoRXhl
Y1N0YXRlICpleGVjLCBpbnQgdG9rZW4sIEpTVmFsdWUgKnZhbHVlLCBjb25zdCBXZWJDb3JlOjpT
dHJpbmcmIHN0cikKIHsKICAgICBIVE1MVGFibGVFbGVtZW50JiB0YWJsZSA9ICpzdGF0aWNfY2Fz
dDxIVE1MVGFibGVFbGVtZW50Kj4oaW1wbCgpKTsKSW5kZXg6IGJpbmRpbmdzL2pzL0pTQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy9qcy9K
U0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAJKHJldmlzaW9uIDE0NDc5KQorKysg
YmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSlNDYW52YXNQYXR0ZXJuLmgiCiAj
aW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpbmNsdWRlICJKU0hUTUxD
YW52YXNFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVk
ZSAia2pzX2h0bWwuaCIKIAogdXNpbmcgbmFtZXNwYWNlIEtKUzsKQEAgLTE4Myw3ICsxODQsNyBA
QCBKU1ZhbHVlKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhCiAgICAgaWYgKCFvLT5p
c09iamVjdCgpKQogICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3IpOwog
ICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgaWYgKG8tPmluaGVyaXRzKCZLSlM6OkpTSFRNTEVs
ZW1lbnQ6OmltZ19pbmZvKSkgeworICAgIGlmIChvLT5pbmhlcml0cygmSlNIVE1MSW1hZ2VFbGVt
ZW50OjppbmZvKSkgewogICAgICAgICBIVE1MSW1hZ2VFbGVtZW50KiBpbWdFbHQgPSBzdGF0aWNf
Y2FzdDxIVE1MSW1hZ2VFbGVtZW50Kj4oc3RhdGljX2Nhc3Q8SlNIVE1MRWxlbWVudCo+KGFyZ3Nb
MF0pLT5pbXBsKCkpOwogICAgICAgICBzd2l0Y2ggKGFyZ3Muc2l6ZSgpKSB7CiAgICAgICAgICAg
ICBjYXNlIDM6CkBAIC0yNDAsNyArMjQxLDcgQEAgSlNWYWx1ZSogSlNDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmRyYQogICAgIEpTT2JqZWN0KiBvID0gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihh
cmdzWzBdKTsKICAgICBpZiAoIW8tPmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiB0aHJvd0Vy
cm9yKGV4ZWMsIFR5cGVFcnJvcik7Ci0gICAgaWYgKCFvLT5pbmhlcml0cygmS0pTOjpKU0hUTUxF
bGVtZW50OjppbWdfaW5mbykpCisgICAgaWYgKCFvLT5pbmhlcml0cygmSlNIVE1MSW1hZ2VFbGVt
ZW50OjppbmZvKSkKICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhlYywgVHlwZUVycm9yKTsK
ICAgICBjb250ZXh0LT5kcmF3SW1hZ2VGcm9tUmVjdChzdGF0aWNfY2FzdDxIVE1MSW1hZ2VFbGVt
ZW50Kj4oc3RhdGljX2Nhc3Q8SlNIVE1MRWxlbWVudCo+KGFyZ3NbMF0pLT5pbXBsKCkpLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbMV0tPnRvTnVtYmVyKGV4ZWMpLCBhcmdz
WzJdLT50b051bWJlcihleGVjKSwKQEAgLTMwNCw3ICszMDUsNyBAQCBKU1ZhbHVlKiBKU0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlCiAgICAgSlNPYmplY3QqIG8gPSBzdGF0aWNfY2FzdDxK
U09iamVjdCo+KGFyZ3NbMF0pOwogICAgIGlmICghby0+aXNPYmplY3QoKSkKICAgICAgICAgcmV0
dXJuIHRocm93RXJyb3IoZXhlYywgVHlwZUVycm9yKTsKLSAgICBpZiAoby0+aW5oZXJpdHMoJktK
Uzo6SlNIVE1MRWxlbWVudDo6aW1nX2luZm8pKSB7CisgICAgaWYgKG8tPmluaGVyaXRzKCZKU0hU
TUxJbWFnZUVsZW1lbnQ6OmluZm8pKSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWM7CiAgICAg
ICAgIEpTVmFsdWUqIHBhdHRlcm4gPSB0b0pTKGV4ZWMsCiAgICAgICAgICAgICBjb250ZXh0LT5j
cmVhdGVQYXR0ZXJuKHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihzdGF0aWNfY2FzdDxK
U0hUTUxFbGVtZW50Kj4oYXJnc1swXSktPmltcGwoKSksCkluZGV4OiBEZXJpdmVkU291cmNlcy5t
YWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIERlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDE0NDc5KQor
KysgRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNjQsMjMgKzY0LDQ1IEBA
IGFsbCA6IFwKICAgICBKU0VudGl0eS5oIFwKIAlKU0hUTUxBcHBsZXRFbGVtZW50LmggXAogCUpT
SFRNTEFuY2hvckVsZW1lbnQuaCBcCi0gICAgSlNIVE1MQnV0dG9uRWxlbWVudC5oIFwKKwlKU0hU
TUxBcmVhRWxlbWVudC5oIFwKICAgICBKU0hUTUxCYXNlRWxlbWVudC5oIFwKKwlKU0hUTUxCYXNl
Rm9udEVsZW1lbnQuaCBcCisJSlNIVE1MQmxvY2txdW90ZUVsZW1lbnQuaCBcCisJSlNIVE1MQm9k
eUVsZW1lbnQuaCBcCisJSlNIVE1MQlJFbGVtZW50LmggXAorICAgIEpTSFRNTEJ1dHRvbkVsZW1l
bnQuaCBcCiAgICAgSlNIVE1MQ2FudmFzRWxlbWVudC5oIFwKLSAgICBKU0hUTUxEb2N1bWVudC5o
IFwKIAlKU0hUTUxEaXJlY3RvcnlFbGVtZW50LmggXAogCUpTSFRNTERpdkVsZW1lbnQuaCBcCiAJ
SlNIVE1MRExpc3RFbGVtZW50LmggXAorICAgIEpTSFRNTERvY3VtZW50LmggXAogICAgIEpTSFRN
TEVsZW1lbnQuaCBcCisJSlNIVE1MRmllbGRTZXRFbGVtZW50LmggXAorCUpTSFRNTEZvbnRFbGVt
ZW50LmggXAogICAgIEpTSFRNTEhlYWRFbGVtZW50LmggXAorCUpTSFRNTEhlYWRpbmdFbGVtZW50
LmggXAorCUpTSFRNTEhSRWxlbWVudC5oIFwKKwlKU0hUTUxJbWFnZUVsZW1lbnQuaCBcCisJSlNI
VE1MSXNJbmRleEVsZW1lbnQuaCBcCiAJSlNIVE1MSHRtbEVsZW1lbnQuaCBcCiAgICAgSlNIVE1M
SW5wdXRFbGVtZW50LmggXAogICAgIEpTSFRNTElucHV0RWxlbWVudEJhc2VUYWJsZS5jcHAgXAor
CUpTSFRNTExhYmVsRWxlbWVudC5oIFwKKwlKU0hUTUxMZWdlbmRFbGVtZW50LmggXAorCUpTSFRN
TExJRWxlbWVudC5oIFwKICAgICBKU0hUTUxMaW5rRWxlbWVudC5oIFwKKwlKU0hUTUxNZW51RWxl
bWVudC5oIFwKICAgICBKU0hUTUxPcHRpb25FbGVtZW50LmggXAogICAgIEpTSFRNTE9wdEdyb3Vw
RWxlbWVudC5oIFwKKwlKU0hUTUxRdW90ZUVsZW1lbnQuaCBcCisJSlNIVE1MTWFwRWxlbWVudC5o
IFwKICAgICBKU0hUTUxNZXRhRWxlbWVudC5oIFwKKwlKU0hUTUxNb2RFbGVtZW50LmggXAogCUpT
SFRNTE9MaXN0RWxlbWVudC5oIFwKKwlKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmggXAorCUpTSFRN
TFBhcmFtRWxlbWVudC5oIFwKKwlKU0hUTUxQcmVFbGVtZW50LmggXAorCUpTSFRNTFNjcmlwdEVs
ZW1lbnQuaCBcCiAgICAgSlNIVE1MU3R5bGVFbGVtZW50LmggXAogICAgIEpTSFRNTFRleHRBcmVh
RWxlbWVudC5oIFwKICAgICBKU0hUTUxUaXRsZUVsZW1lbnQuaCBcCkluZGV4OiBodG1sL0hUTUxM
YWJlbEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0bWwvSFRNTExhYmVsRWxlbWVudC5pZGwJ
KHJldmlzaW9uIDApCisrKyBodG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVy
LCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxl
IFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8K
KworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1M
RWxlbWVudF0gSFRNTExhYmVsRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAgICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGFjY2Vzc0tleTsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBodG1sRm9yOwor
ICAgICAgICB2b2lkIGZvY3VzKCk7CisgICAgfTsKK30KSW5kZXg6IGh0bWwvSFRNTEJSRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MQlJFbGVtZW50LmlkbAkocmV2aXNpb24gMCkK
KysrIGh0bWwvSFRNTEJSRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAz
MzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7
CisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MQlJF
bGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNsZWFy
OworICAgIH07Cit9CkluZGV4OiBodG1sL0hUTUxJc0luZGV4RWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gaHRtbC9IVE1MSXNJbmRleEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQorKysgaHRtbC9I
VE1MSXNJbmRleEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAor
ICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAg
IGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudF0gSFRNTElzSW5kZXhF
bGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZv
cm1FbGVtZW50IGZvcm07CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgcHJvbXB0OworICAg
IH07Cit9CkluZGV4OiBodG1sL0hUTUxIUkVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0bWwv
SFRNTEhSRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBodG1sL0hUTUxIUkVsZW1lbnQuaWRs
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2
IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0x
MzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbTGVnYWN5UGFy
ZW50PUtKUzo6SlNIVE1MRWxlbWVudF0gSFRNTEhSRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAg
ICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBhbGlnbjsKKyAgICAgICAgYXR0cmlidXRlIGJvb2xl
YW4gbm9TaGFkZTsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzaXplOworICAgICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHdpZHRoOworICAgIH07Cit9CkluZGV4OiBodG1sL0hUTUxNYXBF
bGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBodG1sL0hUTUxNYXBFbGVtZW50LmlkbAkocmV2aXNp
b24gMCkKKysrIGh0bWwvSFRNTE1hcEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDI1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxl
IGh0bWwgeworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudF0g
SFRNTE1hcEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBIVE1MQ29sbGVjdGlvbiBhcmVhczsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1l
OworICAgIH07Cit9CkluZGV4OiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGh0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBodG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9z
dG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVy
ZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudF0gSFRNTEltYWdlRWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICAgICAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsaWduOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGFsdDsKKyAgICAgICAgLy8gRklYTUU6IEFjY29yZGluZyB0byB0aGUgRE9NIHNwZWMgYm9yZGVy
IHNob3VsZCBiZSBvZiB0eXBlIERPTVN0cmluZworICAgICAgICBhdHRyaWJ1dGUgbG9uZyBib3Jk
ZXI7ICAgICAgICAKKyAgICAgICAgYXR0cmlidXRlIGxvbmcgaGVpZ2h0OworICAgICAgICBhdHRy
aWJ1dGUgbG9uZyBoc3BhY2U7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGlzTWFwOworICAg
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvbmdEZXNjOworICAgICAgICBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHNyYzsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB1c2VNYXA7CisgICAgICAg
IGF0dHJpYnV0ZSBsb25nIHZzcGFjZTsKKyAgICAgICAgYXR0cmlidXRlIGxvbmcgd2lkdGg7Cisg
ICAgICAgIAorICAgICAgICAvLyBFeHRlbnNpb25zCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIGNvbXBsZXRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB4Owor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB5OworICAgIH07Cit9CkluZGV4OiBodG1s
L0hUTUxNZW51RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MTWVudUVsZW1lbnQu
aWRsCShyZXZpc2lvbiAwKQorKysgaHRtbC9IVE1MTWVudUVsZW1lbnQuaWRsCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDI0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisg
Ki8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNI
VE1MRWxlbWVudF0gSFRNTE1lbnVFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICBhdHRy
aWJ1dGUgYm9vbGVhbiBjb21wYWN0OworICAgIH07Cit9CkluZGV4OiBodG1sL0hUTUxCbG9ja3F1
b3RlRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MQmxvY2txdW90ZUVsZW1lbnQu
aWRsCShyZXZpc2lvbiAwKQorKysgaHRtbC9IVE1MQmxvY2txdW90ZUVsZW1lbnQuaWRsCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxl
IENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBV
U0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9
S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MQmxvY2txdW90ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY2l0ZTsKKyAgICB9OworfQpJbmRleDogaHRt
bC9IVE1MQXJlYUVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0bWwvSFRNTEFyZWFFbGVtZW50
LmlkbAkocmV2aXNpb24gMCkKKysrIGh0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRl
bXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgor
ICovCisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6
SlNIVE1MRWxlbWVudF0gSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBhbHQ7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY29vcmRzOworICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGhyZWY7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIG5vSHJlZjsK
KyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzaGFwZTsKKyAgICAgICAgYXR0cmlidXRlIGxv
bmcgdGFiSW5kZXg7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OworICAgICAg
ICAKKyAgICAgICAgLy8gSUUgRXh0ZW5zaW9ucworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGhhc2g7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaG9z
dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBob3N0bmFtZTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwYXRobmFtZTsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBwb3J0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHByb3RvY29sOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHNlYXJjaDsKKyAgICB9OworCit9CkluZGV4OiBodG1sL0hUTUxQcmVFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBodG1sL0hUTUxQcmVFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysrIGh0bWwv
SFRNTFByZUVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICog
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAg
aW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MUHJlRWxlbWVu
dCA6IEhUTUxFbGVtZW50IHsKKyAgICAgICAgLy8gRklYTUU6IERPTSBzcGVjIHNheXMgdGhhdCB3
aWR0aCBzaG91bGQgYmUgb2YgdHlwZSBET01TdHJpbmcKKyAgICAgICAgYXR0cmlidXRlIGxvbmcg
d2lkdGg7CisgICAgICAgIAorICAgICAgICAvLyBFeHRlbnNpb25zCisgICAgICAgIGF0dHJpYnV0
ZSBib29sZWFuIHdyYXA7CisgICAgfTsKKworfQpJbmRleDogaHRtbC9IVE1MUGFyYWdyYXBoRWxl
bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDApCisrKyBodG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmlkbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRl
ciwgSW5jLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs
ZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICov
CisKK21vZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNI
VE1MRWxlbWVudF0gSFRNTFBhcmFncmFwaEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgYWxpZ247CisgICAgfTsKKworfQpJbmRleDogaHRtbC9IVE1M
Qm9keUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBodG1sL0hUTUxCb2R5RWxlbWVudC5oCShyZXZp
c2lvbiAxNDQ3OSkKKysrIGh0bWwvSFRNTEJvZHlFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTYxLDYgKzYxLDE1IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdkxpbmsoKSBjb25zdDsKICAgICB2
b2lkIHNldFZMaW5rKGNvbnN0IFN0cmluZyYpOwogCisgICAgaW50IHNjcm9sbExlZnQoKSBjb25z
dDsKKyAgICB2b2lkIHNldFNjcm9sbExlZnQoaW50IHNjcm9sbExlZnQpOworICAgIAorICAgIGlu
dCBzY3JvbGxUb3AoKSBjb25zdDsKKyAgICB2b2lkIHNldFNjcm9sbFRvcChpbnQgc2Nyb2xsVG9w
KTsKKyAgICAKKyAgICBpbnQgc2Nyb2xsSGVpZ2h0KCkgY29uc3Q7CisgICAgaW50IHNjcm9sbFdp
ZHRoKCkgY29uc3Q7CisgICAgCiBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uPiBtX2xpbmtEZWNsOwogfTsKSW5kZXg6IGh0bWwvSFRNTFF1b3RlRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MUXVvdGVFbGVtZW50LmlkbAkocmV2aXNpb24g
MCkKKysrIGh0bWwvSFRNTFF1b3RlRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBT
dWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUg
aHRtbCB7CisKKyAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRd
IEhUTUxRdW90ZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgIGF0dHJpYnV0ZSBET01T
dHJpbmcgY2l0ZTsKKyAgICB9OworfQpJbmRleDogaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBodG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCShyZXZpc2lvbiAw
KQorKysgaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAt
IFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVs
ZSBodG1sIHsKKyAgICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRd
IEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKyAgICB9OworfQpJbmRleDogaHRtbC9IVE1M
TW9kRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDApCisrKyBodG1sL0hUTUxNb2RFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5j
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj
ZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21v
ZHVsZSBodG1sIHsKKworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxl
bWVudF0gSFRNTE1vZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgY2l0ZTsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBkYXRlVGltZTsKKyAg
ICB9OworICAgIAorfQpJbmRleDogaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGh0bWwvSFRNTEhlYWRpbmdFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysrIGh0bWwv
SFRNTEhlYWRpbmdFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwK
KyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKyAg
ICBpbnRlcmZhY2UgW0xlZ2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRdIEhUTUxIZWFkaW5n
RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBhbGln
bjsKKyAgICB9OworfQpJbmRleDogaHRtbC9IVE1MTElFbGVtZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBodG1sL0hUTUxMSUVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQorKysgaHRtbC9IVE1MTElFbGVt
ZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAqIEJvc3RvbiwgTUEg
MDIxMTEtMTMwNywgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2UgW0xl
Z2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRdIEhUTUxMSUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKKyAgICAgICAgYXR0cmlidXRl
IGxvbmcgdmFsdWU7ICAgIAorICAgIH07Cit9CkluZGV4OiBodG1sL0hUTUxCb2R5RWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQor
KysgaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwg
eworICAgIGludGVyZmFjZSBbTGVnYWN5UGFyZW50PUtKUzo6SlNIVE1MRWxlbWVudF0gSFRNTEJv
ZHlFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFM
aW5rOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhY2tncm91bmQ7CisgICAgICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgYmdDb2xvcjsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBs
aW5rOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7CisgICAgICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgdkxpbms7IAorICAgICAgICAKKyAgICAgICAgLy8gSUUgRXh0ZW5zaW9ucwor
ICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzY3JvbGxMZWZ0OworICAgICAgICBhdHRyaWJ1dGUgbG9u
ZyBzY3JvbGxUb3A7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHNjcm9sbFdpZHRo
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBzY3JvbGxIZWlnaHQ7CisgICAgfTsK
K30KSW5kZXg6IGh0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0bWwv
SFRNTExlZ2VuZEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQorKysgaHRtbC9IVE1MTGVnZW5kRWxl
bWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1B
IDAyMTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFtM
ZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MTGVnZW5kRWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3Jt
OworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKKyAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyBhbGlnbjsKKyAgICAgICAgdm9pZCBmb2N1cygpOworICAgIH07Cit9Cklu
ZGV4OiBodG1sL0hUTUxCb2R5RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9IVE1MQm9k
eUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNDQ3OSkKKysrIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjI5LDQgKzIyOSw2NCBAQCB2b2lkIEhUTUxCb2R5RWxlbWVu
dDo6c2V0VkxpbmsoY29uc3QgU3RyCiAgICAgc2V0QXR0cmlidXRlKHZsaW5rQXR0ciwgdmFsdWUp
OwogfQogCitpbnQgSFRNTEJvZHlFbGVtZW50OjpzY3JvbGxMZWZ0KCkgY29uc3QKK3sKKyAgICAv
LyBVcGRhdGUgdGhlIGRvY3VtZW50J3MgbGF5b3V0LgorICAgIERvY3VtZW50ICpkb2MgPSBkb2N1
bWVudCgpOworICAgIGRvYy0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7
CisgICAgRnJhbWVWaWV3ICp2aWV3ID0gZG9jLT52aWV3KCk7CisgICAgCisgICAgcmV0dXJuIHZp
ZXcgPyB2aWV3LT5jb250ZW50c1goKSA6IDA7Cit9CisKK3ZvaWQgSFRNTEJvZHlFbGVtZW50Ojpz
ZXRTY3JvbGxMZWZ0KGludCBzY3JvbGxMZWZ0KQoreworICAgIEZyYW1lVmlldyogc3ZpZXcgPSBv
d25lckRvY3VtZW50KCktPnZpZXcoKTsKKyAgICBpZiAoc3ZpZXcpIHsKKyAgICAgICAgLy8gVXBk
YXRlIHRoZSBkb2N1bWVudCdzIGxheW91dAorICAgICAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAgICAgc3ZpZXctPnNldENvbnRlbnRz
UG9zKHNjcm9sbExlZnQsIHN2aWV3LT5jb250ZW50c1koKSk7CisgICAgfSAgICAKK30KKworaW50
IEhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsVG9wKCkgY29uc3QKK3sKKyAgICAvLyBVcGRhdGUgdGhl
IGRvY3VtZW50J3MgbGF5b3V0LgorICAgIERvY3VtZW50ICpkb2MgPSBkb2N1bWVudCgpOworICAg
IGRvYy0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgRnJhbWVW
aWV3ICp2aWV3ID0gZG9jLT52aWV3KCk7CisgICAgCisgICAgcmV0dXJuIHZpZXcgPyB2aWV3LT5j
b250ZW50c1koKSA6IDA7Cit9CisKK3ZvaWQgSFRNTEJvZHlFbGVtZW50OjpzZXRTY3JvbGxUb3Ao
aW50IHNjcm9sbFRvcCkKK3sKKyAgICBGcmFtZVZpZXcqIHN2aWV3ID0gb3duZXJEb2N1bWVudCgp
LT52aWV3KCk7CisgICAgaWYgKHN2aWV3KSB7CisgICAgICAgIC8vIFVwZGF0ZSB0aGUgZG9jdW1l
bnQncyBsYXlvdXQKKyAgICAgICAgZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGlu
Z1N0eWxlc2hlZXRzKCk7CisgICAgICAgIHN2aWV3LT5zZXRDb250ZW50c1Bvcyhzdmlldy0+Y29u
dGVudHNYKCksIHNjcm9sbFRvcCk7CisgICAgfSAgICAgICAgCit9CisKK2ludCBIVE1MQm9keUVs
ZW1lbnQ6OnNjcm9sbEhlaWdodCgpIGNvbnN0Cit7CisgICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVu
dCdzIGxheW91dC4KKyAgICBEb2N1bWVudCAqZG9jID0gZG9jdW1lbnQoKTsKKyAgICBkb2MtPnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOworICAgIEZyYW1lVmlldyAqdmll
dyA9IGRvYy0+dmlldygpOworICAgIAorICAgIHJldHVybiB2aWV3ID8gdmlldy0+Y29udGVudHNI
ZWlnaHQoKSA6IDA7ICAgIAorfQorCitpbnQgSFRNTEJvZHlFbGVtZW50OjpzY3JvbGxXaWR0aCgp
IGNvbnN0Cit7CisgICAgLy8gVXBkYXRlIHRoZSBkb2N1bWVudCdzIGxheW91dC4KKyAgICBEb2N1
bWVudCAqZG9jID0gZG9jdW1lbnQoKTsKKyAgICBkb2MtPnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0cygpOworICAgIEZyYW1lVmlldyAqdmlldyA9IGRvYy0+dmlldygpOworICAg
IAorICAgIHJldHVybiB2aWV3ID8gdmlldy0+Y29udGVudHNXaWR0aCgpIDogMDsgICAgCit9CisK
IH0KSW5kZXg6IGh0bWwvSFRNTFBhcmFtRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHRtbC9I
VE1MUGFyYW1FbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysrIGh0bWwvSFRNTFBhcmFtRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisKKyAgICBpbnRlcmZhY2UgW0xl
Z2FjeVBhcmVudD1LSlM6OkpTSFRNTEVsZW1lbnRdIEhUTUxQYXJhbUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKyAgICAgICAgYXR0cmli
dXRlIERPTVN0cmluZyB0eXBlOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbHVlOwor
ICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbHVlVHlwZTsKKyAgICB9OworCit9CkluZGV4
OiBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh0bWwvSFRNTEJh
c2VGb250RWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBodG1sL0hUTUxCYXNlRm9udEVsZW1l
bnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAw
MjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFtM
ZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MQmFzZUZvbnRFbGVtZW50IDogSFRN
TEVsZW1lbnQgeworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvbG9yOworICAgICAgICBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGZhY2U7CisgICAgICAgIAorICAgICAgICAvLyBGSVhNRTogQWNj
b3JkaW5nIHRvIHRoZSBET00gc3BlYywgdGhpcyBzaG91bGQgYmUgbG9uZyBpbnN0ZWFkIG9mIERP
TVN0cmluZworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNpemU7ICAgIAorICAgIH07Cit9
CkluZGV4OiBodG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBodG1sL0hU
TUxTY3JpcHRFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysrIGh0bWwvSFRNTFNjcmlwdEVsZW1l
bnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAw
MjExMS0xMzA3LCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworCisgICAgaW50ZXJmYWNlIFtM
ZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxFbGVtZW50XSBIVE1MU2NyaXB0RWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0OworICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGh0bWxGb3I7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgZXZl
bnQ7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hhcnNldDsKKyAgICAgICAgYXR0cmli
dXRlIGJvb2xlYW4gZGVmZXI7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc3JjOworICAg
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CisgICAgfTsKK30KSW5kZXg6IGh0bWwvSFRN
TEZvbnRFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBodG1sL0hUTUxGb250RWxlbWVudC5pZGwJ
KHJldmlzaW9uIDApCisrKyBodG1sL0hUTUxGb250RWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIs
IEluYy4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg
UGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLwor
Cittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFtMZWdhY3lQYXJlbnQ9S0pTOjpKU0hUTUxF
bGVtZW50XSBIVE1MRm9udEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgY29sb3I7CisgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgZmFjZTsKKyAg
ICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzaXplOworICAgIH07Cit9CkluZGV4OiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNDQ3OSkKKysrIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTI0LDYgKzEyNCw3MiBAQAogCQkx
QTg1QjJCNjBBMUIyQUM3MDBEOEM4N0MgLyogSlNIVE1MRGl2RWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTg1QjJCNDBBMUIyQUM3MDBE
OEM4N0MgLyogSlNIVE1MRGl2RWxlbWVudC5jcHAgKi87IH07CiAJCTFBODVCMkI3MEExQjJBQzcw
MEQ4Qzg3QyAvKiBKU0hUTUxEaXZFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTg1QjJCNTBBMUIyQUM3MDBEOEM4N0MgLyogSlNIVE1MRGl2
RWxlbWVudC5oICovOyB9OwogCQkxQTlFRjQ1NzBBMUI5NTdEMDAzMzJCNjMgLyogSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE5RUY0NTYwQTFCOTU3RDAwMzMyQjYzIC8qIEpTQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcCAqLzsgfTsKKwkJMUFFMkE5RkEwQTFDREE1NzAwQjQy
QjI1IC8qIEhUTUxBcmVhRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBOUYwMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQXJlYUVs
ZW1lbnQuaWRsICovOyB9OworCQkxQUUyQTlGQjBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJhc2VG
b250RWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRTJBOUYxMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQmFzZUZvbnRFbGVtZW50Lmlk
bCAqLzsgfTsKKwkJMUFFMkE5RkMwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxCb2R5RWxlbWVudC5p
ZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJB
OUYyMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQm9keUVsZW1lbnQuaWRsICovOyB9OworCQkxQUUy
QTlGRDBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJSRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBOUYzMEExQ0RBNTcwMEI0MkIy
NSAvKiBIVE1MQlJFbGVtZW50LmlkbCAqLzsgfTsKKwkJMUFFMkE5RkUwQTFDREE1NzAwQjQyQjI1
IC8qIEhUTUxGaWVsZFNldEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQTlGNDBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEZpZWxk
U2V0RWxlbWVudC5pZGwgKi87IH07CisJCTFBRTJBOUZGMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1M
Rm9udEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUUyQTlGNTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEZvbnRFbGVtZW50LmlkbCAq
LzsgfTsKKwkJMUFFMkFBMDIwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxIZWFkaW5nRWxlbWVudC5p
ZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJB
OUY4MEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MSGVhZGluZ0VsZW1lbnQuaWRsICovOyB9OworCQkx
QUUyQUEwMzBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEhSRWxlbWVudC5pZGwgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBOUY5MEExQ0RBNTcwMEI0
MkIyNSAvKiBIVE1MSFJFbGVtZW50LmlkbCAqLzsgfTsKKwkJMUFFMkFBMUUwQTFDREFCNDAwQjQy
QjI1IC8qIEpTSFRNTEFyZWFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQTBBMEExQ0RBQjMwMEI0MkIyNSAvKiBKU0hUTUxBcmVh
RWxlbWVudC5jcHAgKi87IH07CisJCTFBRTJBQTFGMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxB
cmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFFMkFBMEIwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEFyZWFFbGVtZW50LmggKi87IH07
CisJCTFBRTJBQTIwMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxCYXNlRm9udEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFBMEMw
QTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJhc2VGb250RWxlbWVudC5jcHAgKi87IH07CisJCTFB
RTJBQTIxMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxCYXNlRm9udEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQTBEMEExQ0RBQjMw
MEI0MkIyNSAvKiBKU0hUTUxCYXNlRm9udEVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFBMjIwQTFD
REFCNDAwQjQyQjI1IC8qIEpTSFRNTEJvZHlFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQTBFMEExQ0RBQjMwMEI0MkIyNSAvKiBK
U0hUTUxCb2R5RWxlbWVudC5jcHAgKi87IH07CisJCTFBRTJBQTIzMEExQ0RBQjQwMEI0MkIyNSAv
KiBKU0hUTUxCb2R5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUFFMkFBMEYwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJvZHlFbGVtZW50
LmggKi87IH07CisJCTFBRTJBQTI0MEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxCUkVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFB
MTAwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJSRWxlbWVudC5jcHAgKi87IH07CisJCTFBRTJB
QTI1MEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxCUkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQTExMEExQ0RBQjMwMEI0MkIyNSAv
KiBKU0hUTUxCUkVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFBMjYwQTFDREFCNDAwQjQyQjI1IC8q
IEpTSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUExMjBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MRmllbGRT
ZXRFbGVtZW50LmNwcCAqLzsgfTsKKwkJMUFFMkFBMjcwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRN
TEZpZWxkU2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFFMkFBMTMwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEZpZWxkU2V0RWxlbWVu
dC5oICovOyB9OworCQkxQUUyQUEyODBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MRm9udEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFF
MkFBMTQwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEZvbnRFbGVtZW50LmNwcCAqLzsgfTsKKwkJ
MUFFMkFBMjkwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEZvbnRFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUExNTBBMUNEQUIzMDBC
NDJCMjUgLyogSlNIVE1MRm9udEVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFBMkUwQTFDREFCNDAw
QjQyQjI1IC8qIEpTSFRNTEhlYWRpbmdFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQTFBMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hU
TUxIZWFkaW5nRWxlbWVudC5jcHAgKi87IH07CisJCTFBRTJBQTJGMEExQ0RBQjQwMEI0MkIyNSAv
KiBKU0hUTUxIZWFkaW5nRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFFMkFBMUIwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhlYWRpbmdF
bGVtZW50LmggKi87IH07CisJCTFBRTJBQTMwMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxIUkVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFFMkFBMUMwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhSRWxlbWVudC5jcHAgKi87IH07CisJ
CTFBRTJBQTMxMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxIUkVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQTFEMEExQ0RBQjQwMEI0
MkIyNSAvKiBKU0hUTUxIUkVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFBN0EwQTFDREM2MTAwQjQy
QjI1IC8qIEhUTUxJbWFnZUVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUE3OTBBMUNEQzYxMDBCNDJCMjUgLyogSFRNTEltYWdl
RWxlbWVudC5pZGwgKi87IH07CisJCTFBRTJBQTg2MEExQ0RDQ0UwMEI0MkIyNSAvKiBIVE1MSXNJ
bmRleEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUUyQUE4NTBBMUNEQ0NFMDBCNDJCMjUgLyogSFRNTElzSW5kZXhFbGVtZW50Lmlk
bCAqLzsgfTsKKwkJMUFFMkFBOTcwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUy
QUE5MzBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCAqLzsgfTsKKwkJ
MUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFBOTQwQTFDREQyRDAw
QjQyQjI1IC8qIEpTSFRNTEltYWdlRWxlbWVudC5oICovOyB9OworCQkxQUUyQUE5OTBBMUNERDJE
MDBCNDJCMjUgLyogSlNIVE1MSXNJbmRleEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFBOTUwQTFDREQyRDAwQjQyQjI1IC8qIEpT
SFRNTElzSW5kZXhFbGVtZW50LmNwcCAqLzsgfTsKKwkJMUFFMkFBOUEwQTFDREQyRDAwQjQyQjI1
IC8qIEpTSFRNTElzSW5kZXhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUE5NjBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSXNJbmRl
eEVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFBQkYwQTFDREQ4MzAwQjQyQjI1IC8qIEhUTUxMYWJl
bEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQUUyQUFCRTBBMUNERDgzMDBCNDJCMjUgLyogSFRNTExhYmVsRWxlbWVudC5pZGwgKi87
IH07CisJCTFBRTJBQUNEMEExQ0REREIwMEI0MkIyNSAvKiBIVE1MTGVnZW5kRWxlbWVudC5pZGwg
aW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQUND
MEExQ0REREIwMEI0MkIyNSAvKiBIVE1MTGVnZW5kRWxlbWVudC5pZGwgKi87IH07CisJCTFBRTJB
QUU3MEExQ0U1MkUwMEI0MkIyNSAvKiBIVE1MTElFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFBRTYwQTFDRTUyRTAwQjQyQjI1
IC8qIEhUTUxMSUVsZW1lbnQuaWRsICovOyB9OworCQkxQUUyQUFGODBBMUNFNTg2MDBCNDJCMjUg
LyogSFRNTE1hcEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUUyQUFGNzBBMUNFNTg2MDBCNDJCMjUgLyogSFRNTE1hcEVsZW1lbnQu
aWRsICovOyB9OworCQkxQUUyQUIwODBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQu
aWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUy
QUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQuaWRsICovOyB9OworCQkxQUUy
QUIyMTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQjE3MEExQ0U2M0IwMEI0
MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuY3BwICovOyB9OworCQkxQUUyQUIyMjBBMUNFNjNC
MDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUIxODBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1M
TGFiZWxFbGVtZW50LmggKi87IH07CisJCTFBRTJBQjIzMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hU
TUxMZWdlbmRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBRTJBQjE5MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50
LmNwcCAqLzsgfTsKKwkJMUFFMkFCMjQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
RTJBQjFBMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50LmggKi87IH07CisJ
CTFBRTJBQjI1MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMSUVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCMUIwQTFDRTYzQjAw
QjQyQjI1IC8qIEpTSFRNTExJRWxlbWVudC5jcHAgKi87IH07CisJCTFBRTJBQjI2MEExQ0U2M0Iw
MEI0MkIyNSAvKiBKU0hUTUxMSUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQjFDMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMSUVs
ZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFCMjcwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1hcEVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFFMkFCMUQwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1hcEVsZW1lbnQuY3BwICovOyB9Owor
CQkxQUUyQUIyODBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTWFwRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCMUUwQTFDRTYzQjAw
QjQyQjI1IC8qIEpTSFRNTE1hcEVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFCMjkwQTFDRTYzQjAw
QjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCMUYwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1v
ZEVsZW1lbnQuY3BwICovOyB9OworCQkxQUUyQUIyQTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1M
TW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFFMkFCMjAwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuaCAqLzsgfTsK
KwkJMUFFMkFCNjIwQTFDRTdDQTAwQjQyQjI1IC8qIEhUTUxQYXJhZ3JhcGhFbGVtZW50LmlkbCBp
biBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCNjEw
QTFDRTdDQTAwQjQyQjI1IC8qIEhUTUxQYXJhZ3JhcGhFbGVtZW50LmlkbCAqLzsgfTsKKwkJMUFF
MkFCNzMwQTFDRTgxNTAwQjQyQjI1IC8qIEhUTUxQYXJhbUVsZW1lbnQuaWRsIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUI3MjBBMUNFODE1MDBC
NDJCMjUgLyogSFRNTFBhcmFtRWxlbWVudC5pZGwgKi87IH07CisJCTFBRTJBQjg2MEExQ0U4NTAw
MEI0MkIyNSAvKiBIVE1MUHJlRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQjg1MEExQ0U4NTAwMEI0MkIyNSAvKiBIVE1MUHJl
RWxlbWVudC5pZGwgKi87IH07CisJCTFBRTJBQjk3MEExQ0U4OEQwMEI0MkIyNSAvKiBIVE1MU2Ny
aXB0RWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRTJBQjk2MEExQ0U4OEQwMEI0MkIyNSAvKiBIVE1MU2NyaXB0RWxlbWVudC5pZGwg
Ki87IH07CisJCTFBRTJBQkE2MEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
RTJBQjlFMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcCAqLzsg
fTsKKwkJMUFFMkFCQTcwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFncmFwaEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQjlG
MEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmggKi87IH07CisJCTFB
RTJBQkE4MEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCQTAwQTFDRTkwNTAw
QjQyQjI1IC8qIEpTSFRNTFBhcmFtRWxlbWVudC5jcHAgKi87IH07CisJCTFBRTJBQkE5MEExQ0U5
MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRTJBQkExMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hU
TUxQYXJhbUVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFCQUEwQTFDRTkwNTAwQjQyQjI1IC8qIEpT
SFRNTFByZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFFMkFCQTIwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFByZUVsZW1lbnQuY3Bw
ICovOyB9OworCQkxQUUyQUJBQjBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUHJlRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCQTMw
QTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFByZUVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFCQUMw
QTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFNjcmlwdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCQTQwQTFDRTkwNTAwQjQyQjI1
IC8qIEpTSFRNTFNjcmlwdEVsZW1lbnQuY3BwICovOyB9OworCQkxQUUyQUJBRDBBMUNFOTA1MDBC
NDJCMjUgLyogSlNIVE1MU2NyaXB0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFCQTUwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFNj
cmlwdEVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFFNDQwQTFEMjY5RTAwQjQyQjI1IC8qIEhUTUxN
ZW51RWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBRTJBRTQzMEExRDI2OUUwMEI0MkIyNSAvKiBIVE1MTWVudUVsZW1lbnQuaWRsICov
OyB9OworCQkxQUUyQUU1QjBBMUQyNkYyMDBCNDJCMjUgLyogSlNIVE1MTWVudUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFFNTkw
QTFEMjZGMjAwQjQyQjI1IC8qIEpTSFRNTE1lbnVFbGVtZW50LmNwcCAqLzsgfTsKKwkJMUFFMkFF
NUMwQTFEMjZGMjAwQjQyQjI1IC8qIEpTSFRNTE1lbnVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUU1QTBBMUQyNkYyMDBCNDJCMjUg
LyogSlNIVE1MTWVudUVsZW1lbnQuaCAqLzsgfTsKKwkJMUFFMkFFQTQwQTFEMjhFODAwQjQyQjI1
IC8qIEhUTUxRdW90ZUVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUVBMzBBMUQyOEU4MDBCNDJCMjUgLyogSFRNTFF1b3RlRWxl
bWVudC5pZGwgKi87IH07CisJCTFBRTJBRUE4MEExRDI5MTkwMEI0MkIyNSAvKiBIVE1MQmxvY2tx
dW90ZUVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUUyQUVBNzBBMUQyOTE5MDBCNDJCMjUgLyogSFRNTEJsb2NrcXVvdGVFbGVtZW50
LmlkbCAqLzsgfTsKKwkJMUFFMkFFQzcwQTFEMjk3QjAwQjQyQjI1IC8qIEpTSFRNTFF1b3RlRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUUyQUVDMzBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1MUXVvdGVFbGVtZW50LmNwcCAqLzsgfTsK
KwkJMUFFMkFFQzgwQTFEMjk3QjAwQjQyQjI1IC8qIEpTSFRNTFF1b3RlRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFFQzQwQTFEMjk3
QjAwQjQyQjI1IC8qIEpTSFRNTFF1b3RlRWxlbWVudC5oICovOyB9OworCQkxQUUyQUVFNjBBMUQy
QTc1MDBCNDJCMjUgLyogSlNIVE1MQmxvY2txdW90ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFFMkFFRTQwQTFEMkE3NTAwQjQyQjI1
IC8qIEpTSFRNTEJsb2NrcXVvdGVFbGVtZW50LmNwcCAqLzsgfTsKKwkJMUFFMkFFRTcwQTFEMkE3
NTAwQjQyQjI1IC8qIEpTSFRNTEJsb2NrcXVvdGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUUyQUVFNTBBMUQyQTc1MDBCNDJCMjUgLyog
SlNIVE1MQmxvY2txdW90ZUVsZW1lbnQuaCAqLzsgfTsKIAkJNTUwQTBCQzkwODVGNjAzOTAwNzM1
M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTUwQTBCQzcwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUu
Y3BwICovOyB9OwogCQk1NTBBMEJDQTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTUwQTBCQzgw
ODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCAqLzsgfTsKIAkJNTUwQTBCQ0QwODVG
NjA0RDAwNzM1M0Q2IC8qIEhUTUxOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1NTBBMEJDQjA4NUY2MDREMDA3MzUzRDYgLyogSFRNTE5hbWVz
LmNwcCAqLzsgfTsKQEAgLTE2MDgsNiArMTY3NCw3MiBAQAogCQkxQTg1QjJCNDBBMUIyQUM3MDBE
OEM4N0MgLyogSlNIVE1MRGl2RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNIVE1MRGl2RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBODVCMkI1MEExQjJBQzcwMEQ4Qzg3QyAvKiBKU0hUTUxEaXZFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxEaXZFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOUVGNDU2MEExQjk1N0QwMDMzMkI2MyAvKiBKU0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBOUYwMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1M
QXJlYUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MQXJlYUVsZW1lbnQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQTlGMTBBMUNEQTU3MDBCNDJC
MjUgLyogSFRNTEJhc2VGb250RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhU
TUxCYXNlRm9udEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUy
QTlGMjBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJvZHlFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gSFRNTEJvZHlFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUFFMkE5RjMwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxCUkVsZW1lbnQuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MQlJFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUFFMkE5RjQwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxGaWVsZFNldEVsZW1l
bnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MRmllbGRTZXRFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkE5RjUwQTFDREE1NzAwQjQyQjI1IC8q
IEhUTUxGb250RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxGb250RWxl
bWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBOUY4MEExQ0RBNTcw
MEI0MkIyNSAvKiBIVE1MSGVhZGluZ0VsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MSGVhZGluZ0VsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
QUUyQTlGOTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEhSRWxlbWVudC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEhUTUxIUkVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQUUyQUEwQTBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MQXJlYUVsZW1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTEFyZWFFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFBMEIwQTFDREFCMzAwQjQyQjI1
IC8qIEpTSFRNTEFyZWFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0hUTUxBcmVhRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUy
QUEwQzBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxCYXNlRm9udEVsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUEwRDBBMUNEQUIzMDBCNDJCMjUg
LyogSlNIVE1MQmFzZUZvbnRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0hUTUxCYXNlRm9udEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUFFMkFBMEUwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJvZHlFbGVtZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxCb2R5RWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQTBGMEExQ0RBQjMwMEI0MkIyNSAv
KiBKU0hUTUxCb2R5RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNIVE1MQm9keUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFB
MTAwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJSRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQlJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFBMTEwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJSRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MQlJFbGVtZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQTEyMEExQ0RBQjMwMEI0MkIy
NSAvKiBKU0hUTUxGaWVsZFNldEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTSFRNTEZpZWxkU2V0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFBRTJBQTEzMEExQ0RBQjMwMEI0MkIyNSAvKiBKU0hUTUxGaWVsZFNldEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTEZpZWxkU2V0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUExNDBBMUNEQUIz
MDBCNDJCMjUgLyogSlNIVE1MRm9udEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTEZvbnRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUFFMkFBMTUwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEZvbnRFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxGb250RWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUExQTBBMUNEQUI0MDBCNDJCMjUg
LyogSlNIVE1MSGVhZGluZ0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSFRNTEhlYWRpbmdFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUFFMkFBMUIwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhlYWRpbmdFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxIZWFkaW5nRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUExQzBBMUNEQUI0MDBCNDJC
MjUgLyogSlNIVE1MSFJFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0hUTUxIUkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxQUUyQUExRDBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSFJFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxIUkVsZW1lbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFBNzkwQTFDREM2MTAwQjQyQjI1IC8qIEhUTUxJbWFnZUVs
ZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxJbWFnZUVsZW1lbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUE4NTBBMUNEQ0NFMDBCNDJCMjUgLyog
SFRNTElzSW5kZXhFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MSXNJbmRl
eEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUE5MzBBMUNE
RDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxJbWFnZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQUUyQUE5NDBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxJbWFnZUVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFBOTUwQTFDREQyRDAw
QjQyQjI1IC8qIEpTSFRNTElzSW5kZXhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0hUTUxJc0luZGV4RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFBRTJBQTk2MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hUTUxJc0luZGV4
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MSXNJbmRl
eEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFBQkUwQTFDREQ4
MzAwQjQyQjI1IC8qIEhUTUxMYWJlbEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEhUTUxMYWJlbEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUy
QUFDQzBBMUNERERCMDBCNDJCMjUgLyogSFRNTExlZ2VuZEVsZW1lbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEhUTUxMZWdlbmRFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUFFMkFBRTYwQTFDRTUyRTAwQjQyQjI1IC8qIEhUTUxMSUVsZW1lbnQuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxMSUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxQUUyQUFGNzBBMUNFNTg2MDBCNDJCMjUgLyogSFRNTE1hcEVsZW1lbnQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxNYXBFbGVtZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFCMDcwQTFDRTVDRjAwQjQyQjI1IC8qIEhUTUxNb2RF
bGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MTW9kRWxlbWVudC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQjE3MEExQ0U2M0IwMEI0MkIyNSAvKiBK
U0hUTUxMYWJlbEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTSFRNTExhYmVsRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFBRTJBQjE4MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTExhYmVsRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUIxOTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1M
TGVnZW5kRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNIVE1MTGVnZW5kRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFB
RTJBQjFBMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxMZWdlbmRFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQjFCMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxM
SUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRN
TExJRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQjFDMEEx
Q0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMSUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTSFRNTExJRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQUUyQUIxRDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTWFwRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MTWFwRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQjFFMEExQ0U2M0IwMEI0MkIyNSAv
KiBKU0hUTUxNYXBFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0hUTUxNYXBFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQjFG
MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxNb2RFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFCMjAwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTE1vZEVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFCNjEwQTFDRTdDQTAwQjQy
QjI1IC8qIEhUTUxQYXJhZ3JhcGhFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBI
VE1MUGFyYWdyYXBoRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFB
RTJBQjcyMEExQ0U4MTUwMEI0MkIyNSAvKiBIVE1MUGFyYW1FbGVtZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBIVE1MUGFyYW1FbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUFFMkFCODUwQTFDRTg1MDAwQjQyQjI1IC8qIEhUTUxQcmVFbGVtZW50LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MUHJlRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFBRTJBQjk2MEExQ0U4OEQwMEI0MkIyNSAvKiBIVE1MU2NyaXB0RWxl
bWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTFNjcmlwdEVsZW1lbnQuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUI5RTBBMUNFOTA1MDBCNDJCMjUgLyog
SlNIVE1MUGFyYWdyYXBoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNIVE1MUGFyYWdyYXBoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFBRTJBQjlGMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxQYXJhZ3JhcGhF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQkEwMEExQ0U5MDUw
MEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTFBhcmFtRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFBRTJBQkExMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFBhcmFtRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUJBMjBBMUNFOTA1MDBCNDJC
MjUgLyogSlNIVE1MUHJlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNIVE1MUHJlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFBRTJBQkEzMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQcmVFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxQcmVFbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBQkE0MEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxT
Y3JpcHRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0hUTUxTY3JpcHRFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFF
MkFCQTUwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFNjcmlwdEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFNjcmlwdEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFFNDMwQTFEMjY5RTAwQjQyQjI1IC8qIEhUTUxNZW51
RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTE1lbnVFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFFNTkwQTFEMjZGMjAwQjQyQjI1IC8q
IEpTSFRNTE1lbnVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0hUTUxNZW51RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFBRTJBRTVBMEExRDI2RjIwMEI0MkIyNSAvKiBKU0hUTUxNZW51RWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MTWVudUVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFFQTMwQTFEMjhFODAwQjQyQjI1IC8qIEhUTUxRdW90
ZUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxRdW90ZUVsZW1lbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUVBNzBBMUQyOTE5MDBCNDJCMjUg
LyogSFRNTEJsb2NrcXVvdGVFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1M
QmxvY2txdW90ZUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUy
QUVDMzBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1MUXVvdGVFbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxRdW90ZUVsZW1lbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQUUyQUVDNDBBMUQyOTdCMDBCNDJCMjUgLyogSlNI
VE1MUXVvdGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hU
TUxRdW90ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFFMkFFRTQw
QTFEMkE3NTAwQjQyQjI1IC8qIEpTSFRNTEJsb2NrcXVvdGVFbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxCbG9ja3F1b3RlRWxlbWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBRTJBRUU1MEExRDJBNzUwMEI0MkIyNSAv
KiBKU0hUTUxCbG9ja3F1b3RlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNIVE1MQmxvY2txdW90ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQ5MDY2MEIwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRNYWMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CiAJCTJEOTA2NjBDMDY2NUQ5MzcwMDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDbGlwYm9h
cmRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMg
PSAwOyB9OwogCQk0NzU4QzQ0MzA4QzVGMjE3MDA5QkFGMDUgLyogS0NhbnZhc1BhdGguY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRo
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBLQ2Fu
dmFzUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwpAQCAtMzM1MSw4ICszNDgzLDE4IEBACiAJCQkJMUE0QTJERUMwQTFCODUyQTAw
QzgwN0Y4IC8qIEpTSFRNTEFuY2hvckVsZW1lbnQuaCAqLywKIAkJCQkxQTRBMkRFRDBBMUI4NTJB
MDBDODA3RjggLyogSlNIVE1MQXBwbGV0RWxlbWVudC5jcHAgKi8sCiAJCQkJMUE0QTJERUUwQTFC
ODUyQTAwQzgwN0Y4IC8qIEpTSFRNTEFwcGxldEVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUEwQTBB
MUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MQXJlYUVsZW1lbnQuY3BwICovLAorCQkJCTFBRTJBQTBC
MEExQ0RBQjMwMEI0MkIyNSAvKiBKU0hUTUxBcmVhRWxlbWVudC5oICovLAogCQkJCUE4MEU3QjA4
MEExOUQ2MDYwMDdGQjhDNSAvKiBKU0hUTUxCYXNlRWxlbWVudC5jcHAgKi8sCiAJCQkJQTgwRTdC
MDcwQTE5RDYwNjAwN0ZCOEM1IC8qIEpTSFRNTEJhc2VFbGVtZW50LmggKi8sCisJCQkJMUFFMkFB
MEMwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJhc2VGb250RWxlbWVudC5jcHAgKi8sCisJCQkJ
MUFFMkFBMEQwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJhc2VGb250RWxlbWVudC5oICovLAor
CQkJCTFBRTJBRUU0MEExRDJBNzUwMEI0MkIyNSAvKiBKU0hUTUxCbG9ja3F1b3RlRWxlbWVudC5j
cHAgKi8sCisJCQkJMUFFMkFFRTUwQTFEMkE3NTAwQjQyQjI1IC8qIEpTSFRNTEJsb2NrcXVvdGVF
bGVtZW50LmggKi8sCisJCQkJMUFFMkFBMEUwQTFDREFCMzAwQjQyQjI1IC8qIEpTSFRNTEJvZHlF
bGVtZW50LmNwcCAqLywKKwkJCQkxQUUyQUEwRjBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MQm9k
eUVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUExMDBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MQlJF
bGVtZW50LmNwcCAqLywKKwkJCQkxQUUyQUExMTBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MQlJF
bGVtZW50LmggKi8sCiAJCQkJQTgwRTdFOTYwQTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTEJ1dHRv
bkVsZW1lbnQuY3BwICovLAogCQkJCUE4MEU3RTk1MEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxC
dXR0b25FbGVtZW50LmggKi8sCiAJCQkJOTM4RTY2NUYwOUYwOUI4MTAwOEE0OEVDIC8qIEpTSFRN
TENhbnZhc0VsZW1lbnQuY3BwICovLApAQCAtMzM2NywyMiArMzUwOSw1NiBAQAogCQkJCTFBNDk0
RTMzMEExMjM1OEIwMEZEQUZDMSAvKiBKU0hUTUxEb2N1bWVudC5oICovLAogCQkJCTFBNDk0QkY4
MEExMjJGNDQwMEZEQUZDMSAvKiBKU0hUTUxFbGVtZW50LmNwcCAqLywKIAkJCQkxQTQ5NEJGOTBB
MTIyRjQ0MDBGREFGQzEgLyogSlNIVE1MRWxlbWVudC5oICovLAorCQkJCTFBRTJBQTEyMEExQ0RB
QjMwMEI0MkIyNSAvKiBKU0hUTUxGaWVsZFNldEVsZW1lbnQuY3BwICovLAorCQkJCTFBRTJBQTEz
MEExQ0RBQjMwMEI0MkIyNSAvKiBKU0hUTUxGaWVsZFNldEVsZW1lbnQuaCAqLywKKwkJCQkxQUUy
QUExNDBBMUNEQUIzMDBCNDJCMjUgLyogSlNIVE1MRm9udEVsZW1lbnQuY3BwICovLAorCQkJCTFB
RTJBQTE1MEExQ0RBQjMwMEI0MkIyNSAvKiBKU0hUTUxGb250RWxlbWVudC5oICovLAogCQkJCUE4
MEU3QjBBMEExOUQ2MDYwMDdGQjhDNSAvKiBKU0hUTUxIZWFkRWxlbWVudC5jcHAgKi8sCiAJCQkJ
QTgwRTdCMEIwQTE5RDYwNjAwN0ZCOEM1IC8qIEpTSFRNTEhlYWRFbGVtZW50LmggKi8sCisJCQkJ
MUFFMkFBMUEwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhlYWRpbmdFbGVtZW50LmNwcCAqLywK
KwkJCQkxQUUyQUExQjBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSGVhZGluZ0VsZW1lbnQuaCAq
LywKKwkJCQkxQUUyQUExQzBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSFJFbGVtZW50LmNwcCAq
LywKKwkJCQkxQUUyQUExRDBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSFJFbGVtZW50LmggKi8s
CiAJCQkJMUE4NUIxOEQwQTFCMThBMjAwRDhDODdDIC8qIEpTSFRNTEh0bWxFbGVtZW50LmNwcCAq
LywKIAkJCQkxQTg1QjE4RTBBMUIxOEEyMDBEOEM4N0MgLyogSlNIVE1MSHRtbEVsZW1lbnQuaCAq
LywKKwkJCQkxQUUyQUE5MzBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50LmNw
cCAqLywKKwkJCQkxQUUyQUE5NDBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50
LmggKi8sCisJCQkJMUFFMkFBOTUwQTFDREQyRDAwQjQyQjI1IC8qIEpTSFRNTElzSW5kZXhFbGVt
ZW50LmNwcCAqLywKKwkJCQkxQUUyQUE5NjBBMUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSXNJbmRl
eEVsZW1lbnQuaCAqLywKIAkJCQlBODBFN0U4RTBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MSW5w
dXRFbGVtZW50LmNwcCAqLywKIAkJCQlBODBFN0U4RDBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1M
SW5wdXRFbGVtZW50LmggKi8sCiAJCQkJQTgwRTdCMDYwQTE5RDYwNjAwN0ZCOEM1IC8qIEpTSFRN
TExpbmtFbGVtZW50LmNwcCAqLywKIAkJCQlBODBFN0IwMzBBMTlENjA2MDA3RkI4QzUgLyogSlNI
VE1MTGlua0VsZW1lbnQuaCAqLywKIAkJCQlBODBFN0ExNTBBMTlDM0Q2MDA3RkI4QzUgLyogSlNI
VE1MTWV0YUVsZW1lbnQuY3BwICovLAogCQkJCUE4MEU3QTE2MEExOUMzRDYwMDdGQjhDNSAvKiBK
U0hUTUxNZXRhRWxlbWVudC5oICovLAorCQkJCTFBRTJBQjE3MEExQ0U2M0IwMEI0MkIyNSAvKiBK
U0hUTUxMYWJlbEVsZW1lbnQuY3BwICovLAorCQkJCTFBRTJBQjE4MEExQ0U2M0IwMEI0MkIyNSAv
KiBKU0hUTUxMYWJlbEVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUIxOTBBMUNFNjNCMDBCNDJCMjUg
LyogSlNIVE1MTGVnZW5kRWxlbWVudC5jcHAgKi8sCisJCQkJMUFFMkFCMUEwQTFDRTYzQjAwQjQy
QjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUIxQjBBMUNFNjNCMDBC
NDJCMjUgLyogSlNIVE1MTElFbGVtZW50LmNwcCAqLywKKwkJCQkxQUUyQUIxQzBBMUNFNjNCMDBC
NDJCMjUgLyogSlNIVE1MTElFbGVtZW50LmggKi8sCisJCQkJMUFFMkFCMUQwQTFDRTYzQjAwQjQy
QjI1IC8qIEpTSFRNTE1hcEVsZW1lbnQuY3BwICovLAorCQkJCTFBRTJBQjFFMEExQ0U2M0IwMEI0
MkIyNSAvKiBKU0hUTUxNYXBFbGVtZW50LmggKi8sCisJCQkJMUFFMkFFNTkwQTFEMjZGMjAwQjQy
QjI1IC8qIEpTSFRNTE1lbnVFbGVtZW50LmNwcCAqLywKKwkJCQkxQUUyQUU1QTBBMUQyNkYyMDBC
NDJCMjUgLyogSlNIVE1MTWVudUVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUIxRjBBMUNFNjNCMDBC
NDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5jcHAgKi8sCisJCQkJMUFFMkFCMjAwQTFDRTYzQjAw
QjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuaCAqLywKIAkJCQkxQTg1QjFFNDBBMUIyNDA1MDBE
OEM4N0MgLyogSlNIVE1MT0xpc3RFbGVtZW50LmNwcCAqLywKIAkJCQkxQTg1QjFFNTBBMUIyNDA1
MDBEOEM4N0MgLyogSlNIVE1MT0xpc3RFbGVtZW50LmggKi8sCiAJCQkJQTgwRTdFOTIwQTFBODNF
MzAwN0ZCOEM1IC8qIEpTSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAgKi8sCiAJCQkJQTgwRTdFOTEw
QTFBODNFMzAwN0ZCOEM1IC8qIEpTSFRNTE9wdEdyb3VwRWxlbWVudC5oICovLAogCQkJCUE4MEU3
RTkwMEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxPcHRpb25FbGVtZW50LmNwcCAqLywKIAkJCQlB
ODBFN0U4RjBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MT3B0aW9uRWxlbWVudC5oICovLAorCQkJ
CTFBRTJBQjlFMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhZ3JhcGhFbGVtZW50LmNwcCAq
LywKKwkJCQkxQUUyQUI5RjBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUGFyYWdyYXBoRWxlbWVu
dC5oICovLAorCQkJCTFBRTJBQkEwMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVsZW1l
bnQuY3BwICovLAorCQkJCTFBRTJBQkExMEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hUTUxQYXJhbUVs
ZW1lbnQuaCAqLywKKwkJCQkxQUUyQUJBMjBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUHJlRWxl
bWVudC5jcHAgKi8sCisJCQkJMUFFMkFCQTMwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFByZUVs
ZW1lbnQuaCAqLywKKwkJCQkxQUUyQUVDMzBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1MUXVvdGVF
bGVtZW50LmNwcCAqLywKKwkJCQkxQUUyQUVDNDBBMUQyOTdCMDBCNDJCMjUgLyogSlNIVE1MUXVv
dGVFbGVtZW50LmggKi8sCisJCQkJMUFFMkFCQTQwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFNj
cmlwdEVsZW1lbnQuY3BwICovLAorCQkJCTFBRTJBQkE1MEExQ0U5MDUwMEI0MkIyNSAvKiBKU0hU
TUxTY3JpcHRFbGVtZW50LmggKi8sCiAJCQkJQTgwRTdCMDUwQTE5RDYwNjAwN0ZCOEM1IC8qIEpT
SFRNTFN0eWxlRWxlbWVudC5jcHAgKi8sCiAJCQkJQTgwRTdCMDQwQTE5RDYwNjAwN0ZCOEM1IC8q
IEpTSFRNTFN0eWxlRWxlbWVudC5oICovLAogCQkJCUE4MEU3RTk0MEExQTgzRTMwMDdGQjhDNSAv
KiBKU0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwICovLApAQCAtMzcyMywxNyArMzg5OSwyMiBAQAog
CQkJCTFBNEEyREJBMEExQjgzQTgwMEM4MDdGOCAvKiBIVE1MQXBwbGV0RWxlbWVudC5pZGwgKi8s
CiAJCQkJQThFQTdEMjcwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxBcmVhRWxlbWVudC5jcHAgKi8s
CiAJCQkJQThFQTdEMjYwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxBcmVhRWxlbWVudC5oICovLAor
CQkJCTFBRTJBOUYwMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQXJlYUVsZW1lbnQuaWRsICovLAog
CQkJCUE4NzFEQzFFMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuY3BwICovLAog
CQkJCUE4NzFEQzEzMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuaCAqLywKIAkJ
CQlBODBFN0FBRjBBMTlEMUYxMDA3RkI4QzUgLyogSFRNTEJhc2VFbGVtZW50LmlkbCAqLywKIAkJ
CQlBOERGM0ZDQjA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTEJhc2VGb250RWxlbWVudC5jcHAgKi8s
CiAJCQkJQThERjNGQ0EwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuaCAq
LywKKwkJCQkxQUUyQTlGMTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJhc2VGb250RWxlbWVudC5p
ZGwgKi8sCiAJCQkJQThFQTdDQTgwQTE5MkI5QzAwQThFRjVGIC8qIEhUTUxCbG9ja3F1b3RlRWxl
bWVudC5jcHAgKi8sCiAJCQkJQThFQTdDQTYwQTE5MkI5QzAwQThFRjVGIC8qIEhUTUxCbG9ja3F1
b3RlRWxlbWVudC5oICovLAorCQkJCTFBRTJBRUE3MEExRDI5MTkwMEI0MkIyNSAvKiBIVE1MQmxv
Y2txdW90ZUVsZW1lbnQuaWRsICovLAogCQkJCUE4NzFERTFEMEExNTJBQzgwMEIxMkE2OCAvKiBI
VE1MQm9keUVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFERTIwMEExNTJBQzgwMEIxMkE2OCAvKiBI
VE1MQm9keUVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQTlGMjBBMUNEQTU3MDBCNDJCMjUgLyogSFRN
TEJvZHlFbGVtZW50LmlkbCAqLywKIAkJCQlBOENGRjc5RTBBMTU2OTc4MDAwQTQyMzQgLyogSFRN
TEJSRWxlbWVudC5jcHAgKi8sCiAJCQkJQThDRkY3QTAwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxC
UkVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQTlGMzBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJSRWxl
bWVudC5pZGwgKi8sCiAJCQkJQTgxMzY5QjcwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxCdXR0b25F
bGVtZW50LmNwcCAqLywKIAkJCQlBODEzNjlCNjA5NzM3NEY1MDBENzQ0NjMgLyogSFRNTEJ1dHRv
bkVsZW1lbnQuaCAqLywKIAkJCQlBODBFN0U1NTBBMUE3RkIzMDA3RkI4QzUgLyogSFRNTEJ1dHRv
bkVsZW1lbnQuaWRsICovLApAQCAtMzc2Myw4ICszOTQ0LDEwIEBACiAJCQkJQTg3MUQ0NTIwQTEy
N0NCQzAwQjEyQTY4IC8qIEhUTUxFbWJlZEVsZW1lbnQuaCAqLywKIAkJCQlBODEzNjlCOTA5NzM3
NEY1MDBENzQ0NjMgLyogSFRNTEZpZWxkU2V0RWxlbWVudC5jcHAgKi8sCiAJCQkJQTgxMzY5Qjgw
OTczNzRGNTAwRDc0NDYzIC8qIEhUTUxGaWVsZFNldEVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQTlG
NDBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwgKi8sCiAJCQkJQThD
RkY3OTgwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxGb250RWxlbWVudC5jcHAgKi8sCiAJCQkJQThD
RkY3OUMwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxGb250RWxlbWVudC5oICovLAorCQkJCTFBRTJB
OUY1MEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MRm9udEVsZW1lbnQuaWRsICovLAogCQkJCUE4REYz
RkM3MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbGxlY3Rpb24uY3BwICovLAogCQkJCUE4
REYzRkM2MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbGxlY3Rpb24uaCAqLywKIAkJCQlB
ODEzNjlCNTA5NzM3NEY1MDBENzQ0NjMgLyogSFRNTEZvcm1FbGVtZW50LmNwcCAqLywKQEAgLTM3
ODAsOCArMzk2MywxMCBAQAogCQkJCUE4MEU3QUIxMEExOUQxRjEwMDdGQjhDNSAvKiBIVE1MSGVh
ZEVsZW1lbnQuaWRsICovLAogCQkJCUE4RUE3Q0EwMEExOTJCOUMwMEE4RUY1RiAvKiBIVE1MSGVh
ZGluZ0VsZW1lbnQuY3BwICovLAogCQkJCUE4RUE3Q0FBMEExOTJCOUMwMEE4RUY1RiAvKiBIVE1M
SGVhZGluZ0VsZW1lbnQuaCAqLywKKwkJCQkxQUUyQTlGODBBMUNEQTU3MDBCNDJCMjUgLyogSFRN
TEhlYWRpbmdFbGVtZW50LmlkbCAqLywKIAkJCQlBOEVBN0NBNTBBMTkyQjlDMDBBOEVGNUYgLyog
SFRNTEhSRWxlbWVudC5jcHAgKi8sCiAJCQkJQThFQTdDQTEwQTE5MkI5QzAwQThFRjVGIC8qIEhU
TUxIUkVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQTlGOTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEhS
RWxlbWVudC5pZGwgKi8sCiAJCQkJQTg3MURFMUEwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxIdG1s
RWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURFMUIwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxIdG1s
RWxlbWVudC5oICovLAogCQkJCTFBODVCMTdEMEExQjE4MzYwMEQ4Qzg3QyAvKiBIVE1MSHRtbEVs
ZW1lbnQuaWRsICovLApAQCAtMzc4OSw2ICszOTc0LDcgQEAKIAkJCQlBODcxREUxRTBBMTUyQUM4
MDBCMTJBNjggLyogSFRNTElGcmFtZUVsZW1lbnQuaCAqLywKIAkJCQlBOEVBN0QyOTBBMTkzODU1
MDBBOEVGNUYgLyogSFRNTEltYWdlRWxlbWVudC5jcHAgKi8sCiAJCQkJQThFQTdEMjUwQTE5Mzg1
NTAwQThFRjVGIC8qIEhUTUxJbWFnZUVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUE3OTBBMUNEQzYx
MDBCNDJCMjUgLyogSFRNTEltYWdlRWxlbWVudC5pZGwgKi8sCiAJCQkJQThFQTdEMjgwQTE5Mzg1
NTAwQThFRjVGIC8qIEhUTUxJbWFnZUxvYWRlci5jcHAgKi8sCiAJCQkJQThFQTdEMjMwQTE5Mzg1
NTAwQThFRjVGIC8qIEhUTUxJbWFnZUxvYWRlci5oICovLAogCQkJCUE4MTM2OUIxMDk3Mzc0RjUw
MEQ3NDQ2MyAvKiBIVE1MSW5wdXRFbGVtZW50LmNwcCAqLywKQEAgLTM3OTYsMjggKzM5ODIsMzUg
QEAKIAkJCQlBODBFN0UxNzBBMUE3Q0NCMDA3RkI4QzUgLyogSFRNTElucHV0RWxlbWVudC5pZGwg
Ki8sCiAJCQkJQTgxMzY5QUYwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxJc0luZGV4RWxlbWVudC5j
cHAgKi8sCiAJCQkJQTgxMzY5QUUwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxJc0luZGV4RWxlbWVu
dC5oICovLAorCQkJCTFBRTJBQTg1MEExQ0RDQ0UwMEI0MkIyNSAvKiBIVE1MSXNJbmRleEVsZW1l
bnQuaWRsICovLAogCQkJCUE4MTM2OUM5MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MS2V5Z2VuRWxl
bWVudC5jcHAgKi8sCiAJCQkJQTgxMzY5QzgwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxLZXlnZW5F
bGVtZW50LmggKi8sCiAJCQkJQTgxMzY5QzcwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxMYWJlbEVs
ZW1lbnQuY3BwICovLAogCQkJCUE4MTM2OUM2MDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1MTGFiZWxF
bGVtZW50LmggKi8sCisJCQkJMUFFMkFBQkUwQTFDREQ4MzAwQjQyQjI1IC8qIEhUTUxMYWJlbEVs
ZW1lbnQuaWRsICovLAogCQkJCUE4MTM2OUM1MDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1MTGVnZW5k
RWxlbWVudC5jcHAgKi8sCiAJCQkJQTgxMzY5QzQwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxMZWdl
bmRFbGVtZW50LmggKi8sCisJCQkJMUFFMkFBQ0MwQTFDREREQjAwQjQyQjI1IC8qIEhUTUxMZWdl
bmRFbGVtZW50LmlkbCAqLywKIAkJCQlBOEVBNzlGMDBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTExJ
RWxlbWVudC5jcHAgKi8sCiAJCQkJQThFQTc5RUEwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxMSUVs
ZW1lbnQuaCAqLywKKwkJCQkxQUUyQUFFNjBBMUNFNTJFMDBCNDJCMjUgLyogSFRNTExJRWxlbWVu
dC5pZGwgKi8sCiAJCQkJQTg3MURDMTUwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxMaW5rRWxlbWVu
dC5jcHAgKi8sCiAJCQkJQTg3MURDMTQwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxMaW5rRWxlbWVu
dC5oICovLAogCQkJCUE4MEU3QUIwMEExOUQxRjEwMDdGQjhDNSAvKiBIVE1MTGlua0VsZW1lbnQu
aWRsICovLAogCQkJCUE4RUE3RDJBMEExOTM4NTUwMEE4RUY1RiAvKiBIVE1MTWFwRWxlbWVudC5j
cHAgKi8sCiAJCQkJQThFQTdEMjQwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxNYXBFbGVtZW50Lmgg
Ki8sCisJCQkJMUFFMkFBRjcwQTFDRTU4NjAwQjQyQjI1IC8qIEhUTUxNYXBFbGVtZW50LmlkbCAq
LywKIAkJCQlBOEVBN0M5RTBBMTkyQjlDMDBBOEVGNUYgLyogSFRNTE1hcnF1ZWVFbGVtZW50LmNw
cCAqLywKIAkJCQlBOEVBN0M5RDBBMTkyQjlDMDBBOEVGNUYgLyogSFRNTE1hcnF1ZWVFbGVtZW50
LmggKi8sCiAJCQkJQThFQTc5RUMwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxNZW51RWxlbWVudC5j
cHAgKi8sCiAJCQkJQThFQTc5RTgwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxNZW51RWxlbWVudC5o
ICovLAorCQkJCTFBRTJBRTQzMEExRDI2OUUwMEI0MkIyNSAvKiBIVE1MTWVudUVsZW1lbnQuaWRs
ICovLAogCQkJCUE4NzFEQzFCMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuY3Bw
ICovLAogCQkJCUE4NzFEQzE4MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuaCAq
LywKIAkJCQlBODBFNzlGQzBBMTlDMzA3MDA3RkI4QzUgLyogSFRNTE1ldGFFbGVtZW50LmlkbCAq
LywKIAkJCQlBOENGRjc5RjBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuY3BwICov
LAogCQkJCUE4Q0ZGNzlEMEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5oICovLAor
CQkJCTFBRTJBQjA3MEExQ0U1Q0YwMEI0MkIyNSAvKiBIVE1MTW9kRWxlbWVudC5pZGwgKi8sCiAJ
CQkJQThERjNGQ0QwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5jcHAgKi8s
CiAJCQkJQThERjNGQ0MwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oICov
LAogCQkJCTU1MEEwQkNCMDg1RjYwNEQwMDczNTNENiAvKiBIVE1MTmFtZXMuY3BwICovLApAQCAt
MzgzNywxOCArNDAzMCwyMyBAQAogCQkJCUE4MTM2OUJFMDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1M
T3B0aW9uc0NvbGxlY3Rpb24uaCAqLywKIAkJCQlBOEVBN0NBNDBBMTkyQjlDMDBBOEVGNUYgLyog
SFRNTFBhcmFncmFwaEVsZW1lbnQuY3BwICovLAogCQkJCUE4RUE3Q0E3MEExOTJCOUMwMEE4RUY1
RiAvKiBIVE1MUGFyYWdyYXBoRWxlbWVudC5oICovLAorCQkJCTFBRTJBQjYxMEExQ0U3Q0EwMEI0
MkIyNSAvKiBIVE1MUGFyYWdyYXBoRWxlbWVudC5pZGwgKi8sCiAJCQkJQTg3MUQ0NEYwQTEyN0NC
QzAwQjEyQTY4IC8qIEhUTUxQYXJhbUVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFENDRFMEExMjdD
QkMwMEIxMkE2OCAvKiBIVE1MUGFyYW1FbGVtZW50LmggKi8sCisJCQkJMUFFMkFCNzIwQTFDRTgx
NTAwQjQyQjI1IC8qIEhUTUxQYXJhbUVsZW1lbnQuaWRsICovLAogCQkJCUY1MjNEMjUwMDJERTQz
OTYwMTg2MzVDQSAvKiBIVE1MUGFyc2VyLmNwcCAqLywKIAkJCQlGNTIzRDI1MTAyREU0Mzk2MDE4
NjM1Q0EgLyogSFRNTFBhcnNlci5oICovLAogCQkJCUE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAv
KiBIVE1MUGx1Z0luRWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MUQ0NEMwQTEyN0NCQzAwQjEyQTY4
IC8qIEhUTUxQbHVnSW5FbGVtZW50LmggKi8sCiAJCQkJQThFQTdDOUYwQTE5MkI5QzAwQThFRjVG
IC8qIEhUTUxQcmVFbGVtZW50LmNwcCAqLywKIAkJCQlBOEVBN0NBMjBBMTkyQjlDMDBBOEVGNUYg
LyogSFRNTFByZUVsZW1lbnQuaCAqLywKKwkJCQkxQUUyQUI4NTBBMUNFODUwMDBCNDJCMjUgLyog
SFRNTFByZUVsZW1lbnQuaWRsICovLAogCQkJCUE4Q0ZGNzlCMEExNTY5NzgwMDBBNDIzNCAvKiBI
VE1MUXVvdGVFbGVtZW50LmNwcCAqLywKIAkJCQlBOENGRjc5OTBBMTU2OTc4MDAwQTQyMzQgLyog
SFRNTFF1b3RlRWxlbWVudC5oICovLAorCQkJCTFBRTJBRUEzMEExRDI4RTgwMEI0MkIyNSAvKiBI
VE1MUXVvdGVFbGVtZW50LmlkbCAqLywKIAkJCQlBODcxREMxNjBBMTUyMDU3MDBCMTJBNjggLyog
SFRNTFNjcmlwdEVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFEQzE5MEExNTIwNTcwMEIxMkE2OCAv
KiBIVE1MU2NyaXB0RWxlbWVudC5oICovLAorCQkJCTFBRTJBQjk2MEExQ0U4OEQwMEI0MkIyNSAv
KiBIVE1MU2NyaXB0RWxlbWVudC5pZGwgKi8sCiAJCQkJQTgxMzY5QkQwOTczNzRGNTAwRDc0NDYz
IC8qIEhUTUxTZWxlY3RFbGVtZW50LmNwcCAqLywKIAkJCQlBODEzNjlCQzA5NzM3NEY1MDBENzQ0
NjMgLyogSFRNTFNlbGVjdEVsZW1lbnQuaCAqLywKIAkJCQlBODcxREMxQTBBMTUyMDU3MDBCMTJB
NjggLyogSFRNTFN0eWxlRWxlbWVudC5jcHAgKi8sCkBAIC01ODc0LDYgKzYwNzIsMjggQEAKIAkJ
CQlBODBFN0U5RjBBMUE4M0UzMDA3RkI4QzUgLyogSlNIVE1MQnV0dG9uRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTgyNkU4QUUwQTFBOEYyMzAwQ0QxQkI2IC8qIEpTSFRNTE9wdGlvbkVs
ZW1lbnRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDg5MkEwQTFDNDk5MTAw
NjE4OUE2IC8qIEdseXBoV2lkdGhNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBRTJBQTFGMEEx
Q0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MUFFMkFBMjEwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEJhc2VGb250RWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMUFFMkFBMjMwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEJvZHlFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUUyQUEyNTBBMUNEQUI0MDBCNDJCMjUgLyogSlNI
VE1MQlJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUUyQUEyNzBBMUNEQUI0MDBCNDJC
MjUgLyogSlNIVE1MRmllbGRTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUUyQUEy
OTBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MRm9udEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCTFBRTJBQTJGMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxIZWFkaW5nRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMUFFMkFBMzEwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhSRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFFMkFBOTgwQTFDREQyRDAwQjQyQjI1IC8qIEpT
SFRNTEltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFFMkFBOUEwQTFDREQyRDAw
QjQyQjI1IC8qIEpTSFRNTElzSW5kZXhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUUy
QUIyMjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFiZWxFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQkxQUUyQUIyNDBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGVnZW5kRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMUFFMkFCMjYwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExJ
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFFMkFCMjgwQTFDRTYzQjAwQjQyQjI1IC8q
IEpTSFRNTE1hcEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBRTJBQjJBMEExQ0U2M0Iw
MEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUUyQUJB
NzBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUGFyYWdyYXBoRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMUFFMkFCQTkwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFtRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMUFFMkFCQUIwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBy
ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFBRTJBQkFEMEExQ0U5MDUwMEI0MkIyNSAv
KiBKU0hUTUxTY3JpcHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUUyQUU1QzBBMUQy
NkYyMDBCNDJCMjUgLyogSlNIVE1MTWVudUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTFB
RTJBRUM4MEExRDI5N0IwMEI0MkIyNSAvKiBKU0hUTUxRdW90ZUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTFBRTJBRUU3MEExRDJBNzUwMEI0MkIyNSAvKiBKU0hUTUxCbG9ja3F1b3RlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC01OTk0LDYgKzYyMTQsMjggQEAKIAkJCQlBODBFN0Ux
QzBBMUE3Q0NCMDA3RkI4QzUgLyogSFRNTE9wdGlvbkVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAq
LywKIAkJCQlBODBFN0UxRDBBMUE3Q0NCMDA3RkI4QzUgLyogSFRNTE9wdEdyb3VwRWxlbWVudC5p
ZGwgaW4gUmVzb3VyY2VzICovLAogCQkJCUE4MEU3RTU2MEExQTdGQjMwMDdGQjhDNSAvKiBIVE1M
QnV0dG9uRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTFBRTJBOUZBMEExQ0RBNTcw
MEI0MkIyNSAvKiBIVE1MQXJlYUVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKKwkJCQkxQUUy
QTlGQjBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJhc2VGb250RWxlbWVudC5pZGwgaW4gUmVzb3Vy
Y2VzICovLAorCQkJCTFBRTJBOUZDMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQm9keUVsZW1lbnQu
aWRsIGluIFJlc291cmNlcyAqLywKKwkJCQkxQUUyQTlGRDBBMUNEQTU3MDBCNDJCMjUgLyogSFRN
TEJSRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTFBRTJBOUZFMEExQ0RBNTcwMEI0
MkIyNSAvKiBIVE1MRmllbGRTZXRFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8sCisJCQkJMUFF
MkE5RkYwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxGb250RWxlbWVudC5pZGwgaW4gUmVzb3VyY2Vz
ICovLAorCQkJCTFBRTJBQTAyMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MSGVhZGluZ0VsZW1lbnQu
aWRsIGluIFJlc291cmNlcyAqLywKKwkJCQkxQUUyQUEwMzBBMUNEQTU3MDBCNDJCMjUgLyogSFRN
TEhSRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTFBRTJBQTdBMEExQ0RDNjEwMEI0
MkIyNSAvKiBIVE1MSW1hZ2VFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8sCisJCQkJMUFFMkFB
ODYwQTFDRENDRTAwQjQyQjI1IC8qIEhUTUxJc0luZGV4RWxlbWVudC5pZGwgaW4gUmVzb3VyY2Vz
ICovLAorCQkJCTFBRTJBQUJGMEExQ0REODMwMEI0MkIyNSAvKiBIVE1MTGFiZWxFbGVtZW50Lmlk
bCBpbiBSZXNvdXJjZXMgKi8sCisJCQkJMUFFMkFBQ0QwQTFDREREQjAwQjQyQjI1IC8qIEhUTUxM
ZWdlbmRFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8sCisJCQkJMUFFMkFBRTcwQTFDRTUyRTAw
QjQyQjI1IC8qIEhUTUxMSUVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKKwkJCQkxQUUyQUFG
ODBBMUNFNTg2MDBCNDJCMjUgLyogSFRNTE1hcEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywK
KwkJCQkxQUUyQUIwODBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQuaWRsIGluIFJl
c291cmNlcyAqLywKKwkJCQkxQUUyQUI2MjBBMUNFN0NBMDBCNDJCMjUgLyogSFRNTFBhcmFncmFw
aEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKKwkJCQkxQUUyQUI3MzBBMUNFODE1MDBCNDJC
MjUgLyogSFRNTFBhcmFtRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTFBRTJBQjg2
MEExQ0U4NTAwMEI0MkIyNSAvKiBIVE1MUHJlRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAor
CQkJCTFBRTJBQjk3MEExQ0U4OEQwMEI0MkIyNSAvKiBIVE1MU2NyaXB0RWxlbWVudC5pZGwgaW4g
UmVzb3VyY2VzICovLAorCQkJCTFBRTJBRTQ0MEExRDI2OUUwMEI0MkIyNSAvKiBIVE1MTWVudUVs
ZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKKwkJCQkxQUUyQUVBNDBBMUQyOEU4MDBCNDJCMjUg
LyogSFRNTFF1b3RlRWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovLAorCQkJCTFBRTJBRUE4MEEx
RDI5MTkwMEI0MkIyNSAvKiBIVE1MQmxvY2txdW90ZUVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTY2OTYsNiArNjkzOCwyOCBAQAogCQkJCUJDQzA4ODg2MEExQkQ3OEQwMDYxODlBNiAv
KiBGb250RGF0YU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDQzA4OTFBMEExQzQ2NTIwMDYx
ODlBNiAvKiBGb250RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0MwODk1NjBBMUM0Q0M5
MDA2MTg5QTYgLyogR2x5cGhXaWR0aE1hcC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUEx
RTBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MQXJlYUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMUFFMkFBMjAwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEJhc2VGb250RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUEyMjBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1M
Qm9keUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFFMkFBMjQwQTFDREFCNDAwQjQy
QjI1IC8qIEpTSFRNTEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUEyNjBB
MUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MRmllbGRTZXRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTFBRTJBQTI4MEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxGb250RWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUEyRTBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSGVh
ZGluZ0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFFMkFBMzAwQTFDREFCNDAwQjQy
QjI1IC8qIEpTSFRNTEhSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUE5NzBB
MUNERDJEMDBCNDJCMjUgLyogSlNIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTFBRTJBQTk5MEExQ0REMkQwMEI0MkIyNSAvKiBKU0hUTUxJc0luZGV4RWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUIyMTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTGFi
ZWxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFBRTJBQjIzMEExQ0U2M0IwMEI0MkIy
NSAvKiBKU0hUTUxMZWdlbmRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFBRTJBQjI1
MEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMSUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMUFFMkFCMjcwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1hcEVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMUFFMkFCMjkwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFFMkFCQTYwQTFDRTkwNTAwQjQyQjI1IC8qIEpT
SFRNTFBhcmFncmFwaEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFFMkFCQTgwQTFD
RTkwNTAwQjQyQjI1IC8qIEpTSFRNTFBhcmFtRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkxQUUyQUJBQTBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MUHJlRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxQUUyQUJBQzBBMUNFOTA1MDBCNDJCMjUgLyogSlNIVE1MU2NyaXB0RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQUUyQUU1QjBBMUQyNkYyMDBCNDJCMjUgLyog
SlNIVE1MTWVudUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUFFMkFFQzcwQTFEMjk3
QjAwQjQyQjI1IC8qIEpTSFRNTFF1b3RlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkx
QUUyQUVFNjBBMUQyQTc1MDBCNDJCMjUgLyogSlNIVE1MQmxvY2txdW90ZUVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNDQ4MSkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcy
IEBACisyMDA2LTA1LTE5ICBBbmRlcnMgQ2FybHNzb24gIDxhY2FybHNzb25AYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9i
dWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4MworICAgICAgICBBdXRv
Z2VuZXJhdGUgYW5vdGhlciAyMiBIVE1MIGNsYXNzZXMKKyAgICAgICAgCisgICAgICAgIEFscmVh
ZHkgY292ZXJlZCBieSBleGlzdGluZyBET00gdGVzdHMuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgQWRkIG5ldyBJREwgZmlsZXMgYW5kIGdlbmVyYXRlZCBzb3VyY2VzLgorICAgICAg
ICAKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJh
d0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpk
cmF3SW1hZ2VGcm9tUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpKU0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6Y3JlYXRlUGF0dGVybik6CisgICAgICAgIFVzZSBKU0hUTUxJbWFnZUVsZW1lbnQ6
OmluZm8gaW4gaW5oZXJpdHMuCisgICAgICAgIAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRN
TEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVKU1dy
YXBwZXIpOgorICAgICAgICBBZGQgbWFjcm9zIGZvciB0aGUgZnVuY3Rpb25zIGFuZCB0aGUgY29k
ZSB0byBwb3B1bGF0ZSB0aGUgaGFzaCBzZXQuCisgICAgICAgIAorICAgICAgICAqIGJpbmRpbmdz
L2pzL2tqc19odG1sLmNwcDoKKyAgICAgICAgKEtKUzo6KToKKyAgICAgICAgKEtKUzo6SlNIVE1M
RWxlbWVudDo6Y2xhc3NJbmZvKToKKyAgICAgICAgKEtKUzo6SlNIVE1MRWxlbWVudDo6YWNjZXNz
b3JzKToKKyAgICAgICAgKEtKUzo6SFRNTEVsZW1lbnRGdW5jdGlvbjo6Y2FsbEFzRnVuY3Rpb24p
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL2tqc19odG1sLmg6CisgICAgICAgIChLSlM6OkpTSFRN
TEVsZW1lbnQ6Oik6CisgICAgICAgIERlbGV0ZSBvbGQgY3J1ZnQuCisgICAgICAgIAorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgY3JlYXRpbmcgYSBKUyBvYmplY3QgZnJvbSBhIEhUTUxDb2xsZWN0aW9uLgorICAg
ICAgICAKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAg
ICAqIGh0bWwvSFRNTEJSRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEJh
c2VGb250RWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEJsb2NrcXVvdGVF
bGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgIAorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVudDo6c2Nyb2xsTGVmdCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQm9keUVsZW1lbnQ6OnNldFNjcm9sbExlZnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50OjpzY3JvbGxUb3ApOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEJvZHlFbGVtZW50OjpzZXRTY3JvbGxUb3ApOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEJvZHlFbGVtZW50OjpzY3JvbGxIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJv
ZHlFbGVtZW50OjpzY3JvbGxXaWR0aCk6ICAgICAgICAKKyAgICAgICAgKiBodG1sL0hUTUxCb2R5
RWxlbWVudC5oOgorICAgICAgICBBZGQgbmV3IGZ1bmN0aW9ucyB0aGF0IHVzZWQgdG8gYmUgaW1w
bGVtZW50ZWQgaW4ga2pzX2h0bWwuY3BwCisgICAgICAgIAorICAgICAgICAqIGh0bWwvSFRNTEJv
ZHlFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRm9udEVsZW1lbnQuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxIUkVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1s
L0hUTUxIZWFkaW5nRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEltYWdl
RWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTElzSW5kZXhFbGVtZW50Lmlk
bDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MTElFbGVtZW50LmlkbDogQWRkZWQuCisgICAg
ICAgICogaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9I
VE1MTGVnZW5kRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1hcEVsZW1l
bnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZW51RWxlbWVudC5pZGw6IEFkZGVk
LgorICAgICAgICAqIGh0bWwvSFRNTE1vZEVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBo
dG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1M
UGFyYW1FbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MUHJlRWxlbWVudC5p
ZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTFF1b3RlRWxlbWVudC5pZGw6IEFkZGVkLgor
ICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaWRsOiBBZGRlZC4KKwogMjAwNi0wNS0x
OCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgVHVybiBvZmYgcmVz
cG9uZGluZyB0byBmb250IGNoYW5nZXMgd2hpbGUgcnVubmluZy4gIEl0IGRvZXNuJ3Qgd29yawo=
</data>
<flag name="review"
          id="2380"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>