<?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>198695</bug_id>
          
          <creation_ts>2019-06-08 18:37:12 -0700</creation_ts>
          <short_desc>Make it possible to mark the value of an SVGProperty as &apos;Invalid&apos;</short_desc>
          <delta_ts>2022-08-14 10:52:45 -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>SVG</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1543164</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-06-08 18:37:12 -0700</bug_when>
    <thetext>SVGProperty can be initialized with the default value. Or it can be set to the default value as a fall back of parsing error. Marking the state to &apos;Invalid&apos; will allow differentiating between these two cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543167</commentid>
    <comment_count>1</comment_count>
      <attachid>371692</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-06-08 18:40:57 -0700</bug_when>
    <thetext>Created attachment 371692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543170</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-08 18:43:27 -0700</bug_when>
    <thetext>Attachment 371692 did not pass style-queue:


ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:36:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:37:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebCore/svg/SVGFETurbulenceElement.h:38:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 3 in 164 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551725</commentid>
    <comment_count>3</comment_count>
      <attachid>373847</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-10 10:38:51 -0700</bug_when>
    <thetext>Created attachment 373847
Patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1891182</commentid>
    <comment_count>4</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-08-13 15:59:33 -0700</bug_when>
    <thetext>I can see that at least on few sample files I looked into that this patch didn&apos;t landed because these changes are not done:

EXAMPLES:

-&gt; These one not:

https://github.com/WebKit/WebKit/blob/be8ef74127a13ec30f4a8ce4130eb29a9b55fb30/Source/WebCore/svg/SVGElement.cpp#L645

https://github.com/WebKit/WebKit/blob/0d7afc5a45c140c44497a81e92416f01306be877/Source/WebCore/svg/SVGFitToViewBox.cpp#L39


https://github.com/WebKit/WebKit/blob/0d7afc5a45c140c44497a81e92416f01306be877/Source/WebCore/svg/SVGFitToViewBox.cpp#L52

https://github.com/WebKit/WebKit/blob/0d7afc5a45c140c44497a81e92416f01306be877/Source/WebCore/svg/SVGFitToViewBox.cpp#L58

-&gt; This one is slightly done:

https://github.com/WebKit/WebKit/blob/be8ef74127a13ec30f4a8ce4130eb29a9b55fb30/Source/WebCore/svg/SVGElement.cpp#L645

_______

Is this needed or we can mark this as &quot;RESOLVED LATER&quot; or can rebase and land, if it fixes or improves web-compat or performance? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1891239</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-08-14 10:52:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/98641903&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371692</attachid>
            <date>2019-06-08 18:40:57 -0700</date>
            <delta_ts>2019-06-08 18:40:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198695-20190608184055.patch</filename>
            <type>text/plain</type>
            <size>331294</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI5OTM3YzhiYjU5YjM1
ZmYxZmJiNmFhMmM5MzMzZjMxZDIzZjFkNS4uNjY0NTMzZWMxYzMyNzMwMDg0MjJiM2E2ZWZhMzUy
YjVhMDkxNDBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyMiBAQAorMjAxOS0wNi0wOCAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IHBvc3Np
YmxlIHRvIG1hcmsgdGhlIHZhbHVlIG9mIGFuIFNWR1Byb3BlcnR5IGFzICdJbnZhbGlkJworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4Njk1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU1ZHUHJvcGVydHkg
Y2FuIGJlIGluaXRpYWxpemVkIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUuIE9yIGl0IGNhbiBiZSBz
ZXQKKyAgICAgICAgdG8gdGhlIGRlZmF1bHQgdmFsdWUgYXMgYSBmYWxsIGJhY2sgb2YgcGFyc2lu
ZyBlcnJvci4gTWFya2luZyB0aGUgc3RhdGUKKyAgICAgICAgdG8gJ0ludmFsaWQnIHdpbGwgYWxs
b3cgZGlmZmVyZW50aWF0aW5nIGJldHdlZW4gdGhlc2UgdHdvIGNhc2VzLgorCisgICAgICAgICog
c3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0
UHJvcGVydHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpTVkdGaXRUb1ZpZXdCb3gpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpzZXRWaWV3Qm94KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZpdFRvVmlld0JveDo6cmVzZXRWaWV3Qm94KToKKyAgICAgICAgKiBzdmcvU1ZHRml0
VG9WaWV3Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnNldFByZXNl
cnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpoYXNW
YWxpZFZpZXdCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94Ojpo
YXNFbXB0eVZpZXdCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94
OjpyZXNldFByZXNlcnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAqIHN2Zy9TVkdSZWN0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdSZWN0OjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVydHkuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZWRQcm9wZXJ0eTo6c3RhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQ
cm9wZXJ0eTo6c2V0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0
eTo6aXNEaXJ0eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZFByb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMv
U1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1wbC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5p
bWF0ZWRWYWx1ZVByb3BlcnR5OjpTVkdBbmltYXRlZFZhbHVlUHJvcGVydHkpOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eTo6c3RhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OnNldFN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzeW5jaHJvbml6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6U1ZHUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUHJvcGVydHk6OmlzRGlydHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUHJvcGVydHk6OnNldERpcnR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVy
dGllcy9TVkdWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3Bl
cnR5OjpTVkdWYWx1ZVByb3BlcnR5KToKKworMjAxOS0wNi0wOCAgU2FpZCBBYm91LUhhbGxhd2Eg
IDxzYWlkQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdGhlIG5vbiBmaW5hbCBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgZnJvbSB0aGUgU1ZHIGJhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MTIyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzYXZlcyB0aGUgbWVtb3J5IHRoYXQg
aXMgdGFrZW4gYnkgdGhlIG1lbWJlciBTVkdQcm9wZXJ0eVJlZ2lzdHJ5IG9mCisgICAgICAgIHRo
ZSBiYXNlIGNsYXNzLiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgaXMgb25seSBuZWVkZWQgZm9yIGNvbmNy
ZXRlIGNsYXNzZXMuCisKKyAgICAgICAgKiBzdmcvU1ZHQUVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHQ2lyY2xlRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHQ3Vyc29yRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdEZWZzRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdEZXNjRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpwcm9wZXJ0eVJlZ2lzdHJ5IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUJs
ZW5kRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oOgor
ICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVDb252b2x2
ZU1hdHJpeEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZF
Rmxvb2RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdG
RUxpZ2h0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU1lcmdlRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVN
b3JwaG9sb2d5RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdGRVRpbGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5jZUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5oOgorICAgICAgICAqIHN2
Zy9TVkdGb250RmFjZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VGb3JtYXRF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZvbnRG
YWNlVXJpRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdHRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHZW9tZXRy
eUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2x5cGhFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdHcmFwaGljc0VsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHSEtlcm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NW
R0ltYWdlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdMaW5lRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTVBh
dGhFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHTWFza0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWV0YWRhdGFFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6
OmdldFRvdGFsTGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50
OjpnZXRQb2ludEF0TGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhFbGVt
ZW50OjpnZXRQYXRoU2VnQXRMZW5ndGggY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnBhdGhTZWdBdExlbmd0aEZyb21TVkdQYXRoQnl0ZVN0cmVhbSk6CisgICAgICAgIChX
ZWJDb3JlOjp0b3RhbExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOgorICAgICAgICAoV2ViQ29y
ZTo6cG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6
Z2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFtKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OmdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRQb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVh
bSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BhdGhVdGlsaXRpZXMuaDoKKyAgICAgICAg
KiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9seUVsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR1JlY3RFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdG9wRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHU3dpdGNoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR1RSZWZFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RTcGFuRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHVGV4dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaDoKKyAgICAgICAg
KiBzdmcvU1ZHVGl0bGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1Vua25vd25FbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVktl
cm5FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1ZpZXdFbGVtZW50Lmg6CisKKzIwMTktMDYt
MDggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHUHJv
cGVydHlUcmFpdHMgYW5kIFNWRyBlbnVtIHR5cGVzIGNsZWFuIHVwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiB0aGlzIHBhdGNoOgorCisgICAgICAg
IC0tIEFsbCBTVkdQcm9wZXJ0eVRyYWl0cyB3aWxsIGhhdmUgdHdvIGZ1bmN0aW9ucyBmb3IgcGFy
c2luZyBhIHN0cmluZyB0byAKKyAgICAgICAgICAgdGhlIHByb3BlcnR5IHR5cGUuIAorICAgICAg
ICAgICAxKSBwYXJzZSgpIHdpbGwgcmV0dXJuIEV4cGVjdGVkPFByb3BlcnR5VHlwZSwgU1ZHUGFy
c2luZ0Vycm9yPi4KKyAgICAgICAgICAgMikgZnJvbVN0cmluZygpIHdpbGwgY2FsbCBwYXJzZSgp
IGJ1dCB3aWxsIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZQorICAgICAgICAgICAgICBpZiBwYXJz
ZSgpIHJldHVybnMgYW4gZXJyb3IuCisKKyAgICAgICAgLS0gQWxsIHRoZSBTVkcgZW51bSB0eXBl
cyBhcmUgbW92ZWQgdG8gYSBzaW5nbGUgZmlsZSBuYW1lZCBTVkdFbnVtVHlwZS5oLgorICAgICAg
ICAgICBBIG5ldyBTVkdQcm9wZXJ0eVRyYWl0cyBpcyBkZWZpbmVkIGZvciBhbGwgZW51bSB0eXBl
cyBpbmNsdWRpbmcgdGhlCisgICAgICAgICAgIG5vbi1TVkcgZW51bSB0eXBlcywgZS5nLiBCbGVu
ZE1vZGUuCisKKyAgICAgICAgLS0gQWxsIFNWR1Byb3BlcnR5VHJhaXRzIGZvciB0aGUgZW51bSB0
eXBlcyBhcmUgcmVtb3ZlZC4gUGFyc2luZyBhIHN0cmluZworICAgICAgICAgICB0byBhbiBlbnVt
IHZhbHVlIHdpbGwgYmUgZG9uZSBieSBTVkdFbnVtVmFsdWVQYXJzZXI6OnBhcnNlKCkuIEdldHRp
bmcgCisgICAgICAgICAgIGEgc3RyaW5nIGZyb20gYW4gZW51bSB2YWx1ZSBpcyBkb25lIGJ5IFNW
R0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0cmluZygpLgorICAgICAgICAgICBFYWNoIGVudW0gdHlw
ZSBuZWVkcyB0byB0ZW1wbGF0ZSBzcGVjaWFsaXplIFNWR0VudW1UcmFpdHM6OnZhbHVlcygpCisg
ICAgICAgICAgIHdoaWNoIGFzc29jaWF0ZXMgZXZlcnkgZW11bSB2YWx1ZSB3aXRoIGEgc3RyaW5n
LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
Zy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZWxlY3RDR0JsZW5k
TW9kZSk6CisgICAgICAgICogc3ZnL1NWR0FuZ2xlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0FuZ2xlVmFsdWU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHQW5nbGVWYWx1ZT46OnRv
U3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPENvbXBv
bmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9uZW50VHJhbnNmZXJUeXBlPjo6dG9TdHJp
bmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9u
ZW50VHJhbnNmZXJUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NW
R0ZFQmxlbmRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxC
bGVuZE1vZGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPEJsZW5kTW9kZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8QmxlbmRNb2RlPjo6dG9TdHJpbmcpOiBE
ZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3JNYXRyaXhUeXBlPjo6aGlnaGVzdEVu
dW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxD
b2xvck1hdHJpeFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJRExFbnVtTGltaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+OjpoaWdoZXN0RXhwb3Nl
ZEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0
czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBl
Pjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAg
ICAqIHN2Zy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxFZGdlTW9kZVR5cGU+Ojpp
bml0aWFsVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8RWRnZU1vZGVUeXBlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisg
ICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT46OmhpZ2hlc3RFbnVt
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q2hh
bm5lbFNlbGVjdG9yVHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+Ojpmcm9tU3RyaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OmhpZ2hl
c3RFbnVtVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFp
dHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+Ojpmcm9t
U3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VFbGVtZW50OjpidWlsZCk6Cisg
ICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1N0aXRjaE9wdGlvbnM+OjpoaWdoZXN0RW51bVZhbHVlKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1N0aXRjaE9w
dGlvbnM+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmhpZ2hlc3RFbnVt
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8VHVy
YnVsZW5jZVR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAg
ICAgICAqIHN2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5VHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1NwcmVhZE1ldGhv
ZFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogc3ZnL1NWR0xlbmd0aFZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT46OmluaXRpYWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhWYWx1ZT46OnBhcnNlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aFZhbHVl
Pjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJUeXBlcy5oOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFya2VyVW5pdHNUeXBlPjo6
aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+Ojpmcm9tU3Ry
aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01h
cmtlck9yaWVudFR5cGU+OjphdXRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjphdXRvU3RhcnRSZXZlcnNl
U3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNW
R01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3Ry
aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR01h
cmtlck9yaWVudFR5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdJRExFbnVtTGltaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1W
YWx1ZSk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BhcnNpbmdFcnJvci5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTnVtZXJpY1BhcnNpbmdWYWxpZGF0b3I6OnZhbGlkYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OnZhbGlkYXRlTnVtZXJpYyk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZl
QXNwZWN0UmF0aW9WYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8
U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6aW5pdGlhbFZhbHVlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9W
YWx1ZT46OmZyb21TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6cGFyc2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRp
b1ZhbHVlPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0
aEFkanVzdFR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+Ojp0b1N0cmluZyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdMZW5ndGhBZGp1
c3RUeXBlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1RleHRQYXRo
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVGV4dFBh
dGhNZXRob2RUeXBlPjo6aGlnaGVzdEVudW1WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+Ojp0b1N0cmluZyk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0
aE1ldGhvZFR5cGU+Ojpmcm9tU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+OjpoaWdoZXN0RW51bVZhbHVl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQ
YXRoU3BhY2luZ1R5cGU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6ZnJvbVN0cmluZyk6IERl
bGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1VuaXRUeXBlcy5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OmhpZ2hlc3RFbnVt
VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZH
VW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+Ojpmcm9t
U3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHWm9vbUFuZFBhbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHWm9vbUFuZFBhbjo6cmVzZXQpOgorICAgICAgICAqIHN2Zy9TVkdab29t
QW5kUGFuVHlwZS5oOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0RlY29y
YXRlZFByaW1pdGl2ZS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0VudW1UcmFpdHMu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVDaGVja2VyOjppc1ZhbGlk
RW51bSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVmFsdWVQYXJzZXI6OnBhcnNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0VudW1WYWx1ZUNvbXBvc2VyOjp0b1N0cmluZyk6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGUuaDogQWRkZWQuCisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHRW51bVR5cGVUcmFpdHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdFbnVtVHJhaXRzPEJsZW5kTW9kZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdF
bnVtVHJhaXRzPEJsZW5kTW9kZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q2hhbm5lbFNlbGVjdG9yVHlwZT46OnZhbHVlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+OjpoaWdo
ZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPENv
bXBvbmVudFRyYW5zZmVyVHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVt
VHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JNYXRyaXhUeXBlPjo6dmFsdWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8Q29sb3JNYXRyaXhUeXBlPjo6aGln
aGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxD
b21wb3NpdGVPcGVyYXRpb25UeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Vu
dW1UcmFpdHM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1vZGVUeXBlPjo6dmFsdWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8RWRnZU1vZGVUeXBlPjo6aGlnaGVz
dEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxNb3Jw
aG9sb2d5T3BlcmF0b3JUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1U
cmFpdHM8TW9ycGhvbG9neU9wZXJhdG9yVHlwZT46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8VHVyYnVsZW5jZVR5cGU+Ojp2YWx1ZXMp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxUdXJidWxlbmNlVHlwZT46OmhpZ2hl
c3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZH
TGVuZ3RoQWRqdXN0VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJh
aXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT46OnZhbHVlcyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT46Omhp
Z2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8
U1ZHTWFya2VyT3JpZW50VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVt
VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1NwcmVhZE1ldGhvZFR5cGU+Ojp2YWx1
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBl
Pjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51bVRy
YWl0czxTVkdTdGl0Y2hPcHRpb25zPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Vu
dW1UcmFpdHM8U1ZHU3RpdGNoT3B0aW9ucz46OmhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPjo6dmFs
dWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhNZXRob2RU
eXBlPjo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRW51
bVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6dmFsdWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VudW1UcmFpdHM8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT46OmhpZ2hlc3RFeHBvc2Vk
RW51bVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHVW5pdFR5cGVz
OjpTVkdVbml0VHlwZT46OnZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRz
PFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdFbnVtVHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6dmFsdWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VudW1UcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojpo
aWdoZXN0RXhwb3NlZEVudW1WYWx1ZSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHlUcmFpdHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGJvb2w+
OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxib29sPjo6ZnJv
bVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxib29sPjo6dG9T
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3I+OjpwYXJz
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxDb2xvcj46OmZyb21TdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3I+Ojp0b1N0cmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTdHJpbmc+Ojppbml0aWFs
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U3RyaW5nPjo6cGFy
c2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U3RyaW5nPjo6ZnJvbVN0
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTdHJpbmc+Ojp0b1N0
cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnBhcnNl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGZsb2F0Pjo6ZnJvbVN0cmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxmbG9hdD46OnRvU3RyaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGludD46OmluaXRpYWxWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+OjpwYXJzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+Ojpmcm9tU3RyaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPGludD46OnRvU3RyaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+OjpwYXJzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50Pjo6ZnJvbVN0cmluZyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFBvaW50Pjo6dG9TdHJp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRSZWN0Pjo6cGFy
c2UpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRSZWN0Pjo6ZnJv
bVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFJlY3Q+
Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czx1bnNpZ25l
ZD46OmluaXRpYWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czx1bnNpZ25lZD46OnBhcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Byb3BlcnR5VHJhaXRzPHVuc2lnbmVkPjo6dG9TdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSURMRW51bUxpbWl0czo6aGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUpOiBEZWxl
dGVkLgorCisyMDE5LTA1LTIwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgor
CisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODMxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFyc2luZyB0aGUg
U1ZHIGxpc3RzIGlzIGp1c3QgYWQtaG9jLiBUaGVyZSBpcyBubyBzaW5nbGUgcnVsZSBmb3I6CisK
KyAgICAgICAgLS0gVGhlIGxlYWRpbmcgc3BhY2VzOiBTVkdMZW5ndGhMaXN0IFNWR051bWJlckxp
c3QgdHJlYXRlZCB0aGVtIGFzIGFuIGVycm9yCisgICAgICAgICAgIHdoaWxlIFNWR1RyYW5zZm9y
bUxpc3QgYW5kIFNWR1BvaW50TGlzdCB3ZXJlIGp1c3Qgc2tpcHBpbmcgdGhlbS4KKyAgICAgICAg
LS0gU3RhdHVzIG9mIHRoZSBsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3I6IFNWR1RyYW5zZm9ybUxp
c3Qgd2FzIGNsZWFyaW5nCisgICAgICAgICAgIHRoZSBsaXN0IGlmIGFuIGVycm9yIHdhcyBkZXRl
Y3RlZC4gVGhlIG90aGVyIGxpc3RzIHdlcmUgbGVhdmluZyB3aGF0ZXZlcgorICAgICAgICAgICBp
cyBwYXJzZWQgYmVmb3JlIHRoZSBlcnJvciBoYXBwZW5lZCBidXQgcmV0dXJuIGFuIGVycm9yLgor
ICAgICAgICAtLSBSZXBvcnRpbmcgYW4gZXJyb3IgbWVzc2FnZSBpbiB0aGUgY29uc29sZTogU1ZH
UG9pbnRMaXN0IHdhcyByZXBvcnRpbmcKKyAgICAgICAgICAgYW4gZXJyb3IgbWVzc2FnZSBpZiBh
IHBhcnNpbmcgZXJyb3IgaGFwcGVuZWQuIFRoZSBvdGhlciB0eXBlIG9mIGxpc3RzCisgICAgICAg
ICAgIHdlcmUganVzdCBzaWxlbnQgd2hlbiBhbiBlcnJvciBoYXBwZW5zLgorICAgICAgICAtLSBE
ZWxpbWl0ZXJzOiBTVkdOdW1iZXJMaXN0IGFzc3VtZSB0aGUgd2hpdGUgc3BhY2VzIGFyZSB0aGUg
b25seSBhbGxvd2VkCisgICAgICAgICAgIGRlbGltaXRlci4gQWxsIG90aGVyIGxpc3RzIGFsbG93
IHRoZSBjb21tYSBhbHNvIGFzIGEgZGVsaW1pdGVyLgorICAgICAgICAtLSBFeHRyYSB0ZXh0IGF0
IHRoZSBlbmQ6IFNWR1RyYW5zZm9ybUxpc3Qgd2FzIG5vdCByZXBvcnRpbmcgYW4gZXJyb3IgaWYK
KyAgICAgICAgICAgdGhlcmUgaXMgZXh0cmEgdGV4dCBhdCB0aGUgZW5kLiBPdGhlciBsaXN0IHdl
cmUgcmV0dXJuaW5nIGZhbHNlLgorCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoYXQsIHRoZSBw
YXJzaW5nIGNvZGUgd2FzIHJlcGVhdGVkIGluIGV2ZXJ5IFNWR0xpc3QKKyAgICAgICAgc3VwZXIg
Y2xhc3MuIEluc3RlYWQgcGFyc2luZyB0aGUgbGlzdCBzaG91bGQgYmUgaW4gU1ZHVmFsdWVQcm9w
ZXJ0eUxpc3QKKyAgICAgICAgYW5kIFNWR1ByaW1pdGl2ZUxpc3QuIEFuZCBwYXJzaW5nIHRoZSBp
dGVtIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgdmFsdWUKKyAgICAgICAgcHJvcGVydHkgY2xhc3Mg
b3IgdGhlIFNWR1Byb3BlcnR5VHJhaXRzIG9mIHRoZSBwcmltaXRpdmUuCisKKyAgICAgICAgU1ZH
Vmlld1NwZWMgcGFyc2luZyBpcyBjbGVhbmVkIHVwIGluIHRoZSBwYXRjaCBhcyB3ZWxsLiBQYXJz
aW5nIG9mIHRoaXMKKyAgICAgICAgY2xhc3MgaXMgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgdmlldyBm
b3IgYSBmcmFnbWVudC4KKworICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcik6CisgICAg
ICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRU
b1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpdFRvVmll
d0JveDo6cGFyc2VWaWV3Qm94KToKKyAgICAgICAgKiBzdmcvU1ZHRml0VG9WaWV3Qm94Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpj
cmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdMZW5ndGhMaXN0OjpwYXJzZSk6CisgICAgICAgICogc3ZnL1NWR051bWJlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdOdW1i
ZXJMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJMaXN0OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyTGlzdDo6cGFyc2UpOiBEZWxldGVkLgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvU1ZHUGFyc2luZ0Vycm9yLmg6CisgICAgICAgICog
c3ZnL1NWR1BvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludDo6Y3JlYXRlKToKKyAg
ICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExp
c3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OnBhcnNlKTogRGVs
ZXRlZC4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1BvbHlFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6
CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBhcnNlKToKKyAgICAgICAg
KiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgICogc3ZnL1NWR1NW
R0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6c2Nyb2xsVG9GcmFnbWVu
dCk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGVz
dHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGVzdHM6OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdUcmFuc2Zv
cm06OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoKKyAgICAgICAg
KiBzdmcvU1ZHVmlld0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld0VsZW1l
bnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHVmlld1NwZWMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cGFyc2VOYW1lc1ZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdW
aWV3U3BlYzo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmlld1NwZWM6
OnBhcnNlVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOgorICAgICAgICAq
IHN2Zy9TVkdab29tQW5kUGFuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46
OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1pvb21BbmRQYW46OnBhcnNl
Wm9vbUFuZFBhbik6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL1NWR1pvb21BbmRQYW4uaDoKKyAg
ICAgICAgKiBzdmcvU1ZHWm9vbUFuZFBhblR5cGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6cGFyc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojpmcm9tU3RyaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6dG9T
dHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxp
c3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZUxpc3Q6OnBhcnNlKToKKyAgICAg
ICAgKiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHVmFsdWVQcm9wZXJ0eUxpc3Q6OnBhcnNlKToKKwogMjAxOS0wNi0wOCAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gSW50cm9kdWNl
IEJhc2VsaW5lIHRvIExpbmVCb3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3YjY5YTg2ZGM3OTI4YTdmYzY1YzE3OGY1MDdhZWJi
ZDg2MmIxMWE3Li5lNzM0ZWVkOTVkMGUyNGEzZjgzYjQyOTc2ODkyYmNiZDMxNDM4MDcwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xNzQzLDcgKzE3NDMsNiBAQAogCQk1NURDQzUyODIyNDA3QjIwMDBDMjZFMzIgLyogU1ZHUHJp
bWl0aXZlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTVEQ0M1MjUyMjQwNzQ5RTAwQzI2RTMyIC8qIFNWR1ByaW1pdGl2ZUxpc3QuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NURDQzUyOTIyNDA3
QjJBMDBDMjZFMzIgLyogU1ZHTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTVEQ0M1MjMyMjQwNzNGRTAwQzI2RTMyIC8qIFNWR0xpc3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NUVDOTU5OTIw
NkFBN0EwMDA3REQwQTkgLyogUGFpbnRGcmVxdWVuY3lUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NUVDOTU5NzIwNjlDOTJEMDA3REQwQTkg
LyogUGFpbnRGcmVxdWVuY3lUcmFja2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTVGQTdGRkIyMTEwRUNENzAwNUFFRkU3IC8qIFNWR1pvb21B
bmRQYW5UeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZHWm9vbUFuZFBhblR5cGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1NzA0NDA1QTFFNTM5
MzYyMDAzNTY2MDEgLyogSlNBZXNDYmNDZmJQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3MDQ0MDU5MUU1MzkzNjIwMDM1NjYwMSAvKiBKU0Fl
c0NiY0NmYlBhcmFtcy5oICovOyB9OwogCQk1NzA2QTY5NjFEREU1Qzk1MDBBMDNCMTQgLyogQ3J5
cHRvQWxnb3JpdGhtUnNhT2FlcFBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTcwNkE2OTUxRERFNUM5NTAwQTAzQjE0IC8qIENyeXB0b0FsZ29y
aXRobVJzYU9hZXBQYXJhbXMuaCAqLzsgfTsKIAkJNTcwNkE2OTgxRERFNUU0NjAwQTAzQjE0IC8q
IEpTUnNhT2FlcFBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTcwNkE2OTcxRERFNUU0NjAwQTAzQjE0IC8qIEpTUnNhT2FlcFBhcmFtcy5oICov
OyB9OwpAQCAtODU2Miw3ICs4NTYxLDYgQEAKIAkJNTVFRTUzNjIyMjNCMkEyMzAwRkJBOTQ0IC8q
IFNWR0FuaW1hdGVkUHJvcGVydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUVF
NTM2MzIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHUHJvcGVydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU1ZHUHJvcGVydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTVFRTUzNjQyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR0F0dHJpYnV0ZUFuaW1hdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0F0dHJpYnV0ZUFuaW1hdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU1RkE3RkZBMjExMEVDRDcwMDVBRUZFNyAvKiBT
Vkdab29tQW5kUGFuVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdab29tQW5kUGFuVHlwZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzA0NDA1NzFFNTM4NTE2MDAzNTY2MDEgLyog
Q3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNTkxRTUzOTM2MjAwMzU2NjAxIC8qIEpTQWVzQ2JjQ2ZiUGFy
YW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWVzQ2JjQ2ZiUGFyYW1z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MDQ0MDVCMUU1MzkzNzkwMDM1NjYw
MSAvKiBKU0Flc0NiY0NmYlBhcmFtcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0Flc0NiY0NmYlBhcmFtcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC05NDA2LDYgKzk0MDQsOSBAQAogCQk3MjRFRDMzMDFBM0E4QjIzMDBGNUYxM0MgLyogSlNF
WFRCbGVuZE1pbk1heC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0VYVEJs
ZW5kTWluTWF4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyNEVFNTRFMURDN0Yy
NUIwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEFjdGl2aXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI0
RUU1NEYxREM3RjI1QjAwQTkxRkZCIC8qIEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY3Rpdml0eVN0YXRlQ2hhbmdlT2JzZXJ2
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI2NTRBQTMyMjhDNkIzQjAwQkVC
MTAzIC8qIFNWR0VudW1UcmFpdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHRW51bVRyYWl0cy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjY1NEFBNzIyOEVGREM0MDBCRUIxMDMgLyog
U1ZHRW51bVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHRW51bVR5cGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNzI2NTRBQTgyMjhGMzgzNjAwQkVCMTAzIC8qIFNWR0VudW1UeXBl
VHJhaXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0VudW1UeXBlVHJhaXRzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcyNjZGMDEzMjI0MUJDRTIwMDgzMzk3NSAvKiBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjY2RjAxNDIyNDFCRkIyMDA4
MzM5NzUgLyogU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvckltcGwuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvckltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzI2NkYwMTUyMjQxQzA5ODAwODMzOTc1IC8qIFNWR1ByaW1pdGl2ZVByb3Bl
cnR5QW5pbWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYwNjksNiArMTYwNzAsOSBAQAog
CQkJCTU1NTM1OTIxMjI0NDFCOTcwMDhGNUVDOSAvKiBTVkdEZWNvcmF0ZWRFbnVtZXJhdGlvbi5o
ICovLAogCQkJCTU1NTM1OTIyMjI0NDFCRTkwMDhGNUVDOSAvKiBTVkdEZWNvcmF0ZWRQcmltaXRp
dmUuaCAqLywKIAkJCQk1NTUzNTkyMzIyNDQxQzE4MDA4RjVFQzkgLyogU1ZHRGVjb3JhdGVkUHJv
cGVydHkuaCAqLywKKwkJCQk3MjY1NEFBMzIyOEM2QjNCMDBCRUIxMDMgLyogU1ZHRW51bVRyYWl0
cy5oICovLAorCQkJCTcyNjU0QUE3MjI4RUZEQzQwMEJFQjEwMyAvKiBTVkdFbnVtVHlwZS5oICov
LAorCQkJCTcyNjU0QUE4MjI4RjM4MzYwMEJFQjEwMyAvKiBTVkdFbnVtVHlwZVRyYWl0cy5oICov
LAogCQkJCTU1RENDNTIzMjI0MDczRkUwMEMyNkUzMiAvKiBTVkdMaXN0LmggKi8sCiAJCQkJNTVF
RTUzNTQyMjNCMjlFOTAwRkJBOTQ0IC8qIFNWR01lbWJlckFjY2Vzc29yLmggKi8sCiAJCQkJNTVC
RTAyNUEyMjNCMjlDMjAwMzJGMDhBIC8qIFNWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oICovLApA
QCAtMjQyMzYsNyArMjQyNDAsNiBAQAogCQkJCUIyMjI3OTVGMEQwMEJGMjEwMDcxQjc4MiAvKiBT
Vkdab29tQW5kUGFuLmNwcCAqLywKIAkJCQlCMjIyNzk2MDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZH
Wm9vbUFuZFBhbi5oICovLAogCQkJCUIyMjI3OTYxMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdab29t
QW5kUGFuLmlkbCAqLywKLQkJCQk1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZHWm9vbUFu
ZFBhblR5cGUuaCAqLywKIAkJCQlCMkU0RUM5NDBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2
ZW50LmNwcCAqLywKIAkJCQlCMkU0RUM5NTBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50
LmggKi8sCiAJCQkJQjJFNEVDOTYwRDAwQzIyQjAwNDMyNjQzIC8qIFNWR1pvb21FdmVudC5pZGwg
Ki8sCkBAIC0zMTc4Niw3ICszMTc4OSw2IEBACiAJCQkJQjIyMjdBRjMwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR1ZpZXdTcGVjLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDg1MjI4QjExOTAxNzNDMDA2
RURDN0YgLyogU1ZHVktlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FGNjBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTVG
QTdGRkIyMTEwRUNENzAwNUFFRkU3IC8qIFNWR1pvb21BbmRQYW5UeXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMkU0RUM5ODBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0NkVDQjYzODFGRDBBM0M4MDA4OEU1QUQgLyogU1dDbGllbnRDb25uZWN0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjY1OERDOTFGQTI0Qjg3MDBGN0RENTQgLyogU1dD
b250ZXh0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA5ZDEyMGNhNWU4MjNjNWEyYzIwOTIyNTlk
MGE4MGRhMDkzYjZkMzUzLi44ZmY0ZmYwM2U3Y2U2MjRlNWMxMmMyNGY0OTAyZGExYWQwY2Y5ZGE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgK
QEAgLTM5MjMsNiArMzkyMyw5IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZShCbGVuZE1vZGUgYmxlbmRNb2RlKQogewogICAgIG1fcHJpbWl0
aXZlVW5pdFR5cGUgPSBDU1NfVkFMVUVfSUQ7CiAgICAgc3dpdGNoIChibGVuZE1vZGUpIHsKKyAg
ICBjYXNlIEJsZW5kTW9kZTo6VW5rbm93bjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxlbmRNb2RlOjpOb3JtYWw6CiAgICAgICAgIG1f
dmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTm9ybWFsOwogICAgICAgICBicmVhazsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuaAppbmRleCA2ZTFh
ZmVlMTk4Y2E0MzhlZDI1ZTQ3MTVmNzlkNjUyYTdmYjFkMjIwLi5lOTQyMjNjZWY2NDYwNTZiM2Vm
NmUwOTkwMThkMjdhYjg5NTA1ZGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oCkBAIC01Miw2ICs1Miw3IEBAIGVudW0gQ29tcG9zaXRl
T3BlcmF0b3IgewogfTsKIAogZW51bSBjbGFzcyBCbGVuZE1vZGUgeworICAgIFVua25vd24gPSAw
LAogICAgIE5vcm1hbCA9IDEsIC8vIFN0YXJ0IHdpdGggMSB0byBtYXRjaCBTVkcncyBibGVuZG1v
ZGUgZW51bWVyYXRpb24uCiAgICAgTXVsdGlwbHksCiAgICAgU2NyZWVuLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwCmluZGV4IDhhZGY4MDE0ZGY1OTYyMWZhMDQ5YTg0NzcyYWQ0Yjg0MjVmNjc4ODEuLmM3MjZm
OWRiYTJlNDUyNjZkN2NlZTI1MjNlOWQ4ZTUwNDdiY2I4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAK
QEAgLTE1NCw2ICsxNTQsOSBAQCBzdGF0aWMgSW50ZXJwb2xhdGlvblF1YWxpdHkgY29udmVydElu
dGVycG9sYXRpb25RdWFsaXR5KENHSW50ZXJwb2xhdGlvblF1YWxpdHkgcQogc3RhdGljIENHQmxl
bmRNb2RlIHNlbGVjdENHQmxlbmRNb2RlKENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJh
dG9yLCBCbGVuZE1vZGUgYmxlbmRNb2RlKQogewogICAgIHN3aXRjaCAoYmxlbmRNb2RlKSB7Cisg
ICAgY2FzZSBCbGVuZE1vZGU6OlVua25vd246CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4ga0NHQmxlbmRNb2RlTm9ybWFsOwogICAgIGNhc2UgQmxlbmRNb2Rl
OjpOb3JtYWw6CiAgICAgICAgIHN3aXRjaCAoY29tcG9zaXRlT3BlcmF0b3IpIHsKICAgICAgICAg
Y2FzZSBDb21wb3NpdGVDbGVhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKaW5kZXggN2UxZDI5
NDY3MDRlNjc1NWJlMzRlNDBlNzk4NDc0ZmIxNGM3MDFjNi4uNmQxZWY0NWVjMTdiNTJkZjMyYTM4
NDgxZTBlMWU1NDJmMmQxMTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKQEAgLTMxLDYg
KzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdBRWxlbWVudCBmaW5hbCA6
IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR0FFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0FFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFNWR0FFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKQEAgLTQyLDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQUVsZW1lbnQsIFNWR0dy
YXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJl
bmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBm
aW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IGZpbmFsOwogCkBAIC02Niw4ICs2Niw2IEBAIHByaXZhdGU6CiAKICAgICBQcm9wZXJ0eVJlZ2lz
dHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkU3Ry
aW5nPiBtX3RhcmdldCB7IFNWR0FuaW1hdGVkU3RyaW5nOjpjcmVhdGUodGhpcykgfTsKLQotICAg
IC8vIFRoaXMgaXMgY29tcHV0ZWQgb25seSBvbmNlIGFuZCBtdXN0IG5vdCBiZSBhZmZlY3RlZCBi
eSBzdWJzZXF1ZW50IFVSTCBjaGFuZ2VzLgogICAgIG11dGFibGUgT3B0aW9uYWw8U2hhcmVkU3Ry
aW5nSGFzaD4gbV9zdG9yZWRWaXNpdGVkTGlua0hhc2g7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmgKaW5kZXggNDcxNzRmYmIwMmI2ZDdiMjJhNGJkNDY3
YmU1N2FiNTVmOTUyMzkyOC4uZTNkNTc5MjY3YjExMjA5MmYyNTIwYmE3ZjFiNzI1MjRlMzRkM2Q3
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuaApAQCAtMjgs
NiArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0FsdEdseXBoRGVmRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR0FsdEdseXBoRGVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9
IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdBbHRHbHlwaERlZkVsZW1lbnQsIFNWR0VsZW1l
bnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdBbHRHbHlwaERlZkVsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzYsNyArMzgsMTAg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdBbHRHbHlwaERlZkVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmlu
YWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVy
dHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgKaW5kZXggNWQ5MDJmNjc1NmMzOWM3YTJj
ZmU3ODMwZmM0NDgyNTE5MDdlMDdlMC4uOTQ1OWRhNDY4MWMzNmIwNjhiMDVlY2FlZTQ2YmJhMzcz
NTk4MWE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaApAQCAtMzIs
NiArMzIsOCBAQCBjbGFzcyBTVkdHbHlwaEVsZW1lbnQ7CiAKIGNsYXNzIFNWR0FsdEdseXBoRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBwdWJsaWMgU1ZH
VVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0FsdEdseXBoRWxl
bWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdBbHRHbHlwaEVsZW1lbnQsIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR1VS
SVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0FsdEdseXBoRWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00NSwxMSAr
NDcsOSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0FsdEdseXBoRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkg
PSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQWx0R2x5cGhFbGVtZW50LCBTVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5
UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3Bl
cnR5UmVnaXN0cnk7IH0KLQotICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVt
ZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3Zl
cnJpZGU7Ci0gICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBj
b25zdCBvdmVycmlkZTsKKyAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVu
dFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIGZpbmFs
OworICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3Qg
ZmluYWw7CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlz
IH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmgKaW5k
ZXggNjA2Yjc4MzM0ODQ3NjNmNmMxMzUyOTA1OWY0ODc1OTZmNmRmZjgzMy4uNjVmYzA0ZWVjN2Q2
MmYwNDU1ZTdjNGZjZDEyYWViZWQ3ZjgyY2VmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QWx0R2x5cGhJdGVtRWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU1ZHQWx0R2x5cGhJdGVtRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVt
ZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0FsdEdseXBoSXRlbUVsZW1lbnQp
OworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHQWx0R2x5cGhJdGVtRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNWR0FsdEdseXBoSXRlbUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIApAQCAtMzYsNyArMzgsMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBTVkdBbHRHbHlwaEl0ZW1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVuZGVy
ZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuZ2xlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZVZhbHVlLmgK
aW5kZXggNGQ0MDJmN2ZjZDQ1YTFmYzdlNzk0N2Q5NjFkZTllYTU5MTRiZTQ2MS4uY2M0NTQ0MTgz
Y2YwZGY5MGZiN2ViOTJhOTNhYTNkZjFlYjMxNTI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuZ2xlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGVW
YWx1ZS5oCkBAIC01NiwxMCArNTYsNCBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fdmFsdWVJblNw
ZWNpZmllZFVuaXRzIHsgMCB9OwogfTsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5
VHJhaXRzPFNWR0FuZ2xlVmFsdWU+IHsKLSAgICBzdGF0aWMgU1ZHQW5nbGVWYWx1ZSBpbml0aWFs
VmFsdWUoKSB7IHJldHVybiBTVkdBbmdsZVZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRv
U3RyaW5nKGNvbnN0IFNWR0FuZ2xlVmFsdWUmIHR5cGUpIHsgcmV0dXJuIHR5cGUudmFsdWVBc1N0
cmluZygpOyB9Ci19OwotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
aAppbmRleCA1NGU5MTI4MTI5Yzc5MmNmODExZTNkNjA1NzU2MzkwZjA4MGFmZTM1Li42MjBkOTE5
OTZhZThkYzEwNTdjZTQ3MjBkYWJmZDQwZDQxOTk0NGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRpb25FbGVtZW50LmgKQEAgLTQwLDYgKzQwLDggQEAgZW51bSBBbmltYXRlZFByb3Bl
cnR5VmFsdWVUeXBlIHsgUmVndWxhclByb3BlcnR5VmFsdWUsIEN1cnJlbnRDb2xvclZhbHVlLCBJ
bmhlcmkKIAogY2xhc3MgU1ZHQW5pbWF0aW9uRWxlbWVudCA6IHB1YmxpYyBTVkdTTUlMRWxlbWVu
dCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdUZXN0cyB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdBbmltYXRpb25FbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0FuaW1h
dGlvbkVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNW
R1Rlc3RzPjsKKwogcHVibGljOgogICAgIGZsb2F0IGdldFN0YXJ0VGltZSgpIGNvbnN0OwogICAg
IGZsb2F0IGdldEN1cnJlbnRUaW1lKCkgY29uc3Q7CkBAIC04Niw5ICs4OCw2IEBAIHB1YmxpYzoK
IHByb3RlY3RlZDoKICAgICBTVkdBbmltYXRpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdBbmltYXRpb25FbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cz47Ci0gICAgY29uc3QgU1ZHUHJvcGVydHlSZWdp
c3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJvcGVy
dHlSZWdpc3RyeTsgfQotCiAgICAgdmlydHVhbCB2b2lkIHJlc2V0QW5pbWF0aW9uKCk7CiAKICAg
ICBzdGF0aWMgYm9vbCBpc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7
CkBAIC0xMTUsNiArMTE0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0Q2FsY01vZGUoQ2Fs
Y01vZGUgY2FsY01vZGUpIHsgbV9jYWxjTW9kZSA9IGNhbGNNb2RlOyB9CiAKIHByaXZhdGU6Cisg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIHZvaWQgYW5pbWF0aW9uQXR0
cmlidXRlQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QXR0cmlidXRlVHlwZShjb25z
dCBBdG9taWNTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Np
cmNsZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgKaW5k
ZXggNWY5MGM3MGZhOWQ2YmIwMmVkYjc1NDcwNjE5YzRmOTMyNDhiZjAwYy4uZjgyNzI2MDkyZmU1
YTQzMTVkYzg0MWU3ZGFjZWQ2YzhjYzQxNTIxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2lyY2xl
RWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1ZHQ2lyY2xlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1Ymxp
YyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR0NpcmNsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2lyY2xlRWxlbWVudCwgU1ZHR2VvbWV0cnlFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8U1ZHQ2lyY2xlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCkBAIC00Myw5ICs0NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHQ2lyY2xl
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFBy
b3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHQ2lyY2xlRWxlbWVu
dCwgU1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKICAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKICAg
ICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKaW5kZXggM2VmMDM2OGNjOTRm
NDRhZGY0ZDA0ZjdhM2FjMjhkZDNjYmJiZTM5Ni4uODg5MGEzMDI0OGY3ZmRmMWJlMzllMTE4NGQ0
YmE2OTFlYjI2YmJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NsaXBQYXRo
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaApA
QCAtMzEsNiArMzEsOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKIGNsYXNzIFNWR0NsaXBQYXRo
RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0Ns
aXBQYXRoRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdDbGlwUGF0aEVsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R0NsaXBQYXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC00MCw5ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHQ2xpcFBhdGhF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDbGlwUGF0aEVsZW1l
bnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAg
ICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsK
ICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlv
bkVsZW1lbnQuaAppbmRleCBhMzM4OGY4MmUyODIxOTQ0NmYyZjIzMWU2YjBlNzUzYWJmZGY1MTMx
Li41NjBjNTJkYTQxYzJkZjQyZjc4NTQ4ZmQ3MTY2NjJiMjExZDMxNmZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1l
bnQuaApAQCAtMjYsNDkgKzI2LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxh
dGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENvbXBvbmVudFRyYW5zZmVyVHlwZT4gewot
ICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01QT05F
TlRUUkFOU0ZFUl9UWVBFX0dBTU1BOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKENv
bXBvbmVudFRyYW5zZmVyVHlwZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7
Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX1VOS05PV046Ci0gICAgICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBGRUNPTVBPTkVOVFRSQU5T
RkVSX1RZUEVfSURFTlRJVFk6Ci0gICAgICAgICAgICByZXR1cm4gImlkZW50aXR5Il9zOwotICAg
ICAgICBjYXNlIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRToKLSAgICAgICAgICAgIHJl
dHVybiAidGFibGUiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0RJ
U0NSRVRFOgotICAgICAgICAgICAgcmV0dXJuICJkaXNjcmV0ZSJfczsKLSAgICAgICAgY2FzZSBG
RUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSOgotICAgICAgICAgICAgcmV0dXJuICJsaW5l
YXIiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BOgotICAg
ICAgICAgICAgcmV0dXJuICJnYW1tYSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAg
ICBzdGF0aWMgQ29tcG9uZW50VHJhbnNmZXJUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2
YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiaWRlbnRpdHkiKQotICAgICAgICAg
ICAgcmV0dXJuIEZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElUWTsKLSAgICAgICAgaWYg
KHZhbHVlID09ICJ0YWJsZSIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZF
Ul9UWVBFX1RBQkxFOwotICAgICAgICBpZiAodmFsdWUgPT0gImRpc2NyZXRlIikKLSAgICAgICAg
ICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfRElTQ1JFVEU7Ci0gICAgICAgIGlm
ICh2YWx1ZSA9PSAibGluZWFyIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5T
RkVSX1RZUEVfTElORUFSOwotICAgICAgICBpZiAodmFsdWUgPT0gImdhbW1hIikKLSAgICAgICAg
ICAgIHJldHVybiBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfR0FNTUE7Ci0gICAgICAgIHJldHVy
biBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVU5LTk9XTjsKLSAgICB9Ci19OwotCiBjbGFzcyBT
VkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCA6IHB1YmxpYyBTVkdFbGVtZW50IHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBTVkdFbGVtZW50PjsK
KwogcHVibGljOgogICAgIENvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlv
bigpIGNvbnN0OwogCkBAIC05MSwxMyArNTIsMTEgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAg
IFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHRWxl
bWVudD47Ci0gICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCi0gICAgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmKSBvdmVycmlkZTsKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Cisg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgZmluYWw7CisgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBmaW5hbDsKIAotICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5k
ZXJTdHlsZSYpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCByZW5kZXJlcklz
TmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICAK
IHByaXZhdGU6CiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhp
cyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKaW5kZXggOWI4MTJlYmM4YjRm
MTFiZTk3MjAyNWFhYTY0NDU4NjQyZmJhNmFlZC4uNmExMjM4MTFkODQ2ZTljYTE4Zjg5ODY5Y2M2
MDkxNjI1M2JkMzRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCkBAIC0z
Miw2ICszMiw4IEBAIGNsYXNzIENTU0N1cnNvckltYWdlVmFsdWU7CiAKIGNsYXNzIFNWR0N1cnNv
ckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdUZXN0cywgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdDdXJzb3JFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0N1cnNvckVs
ZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1Rlc3Rz
LCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdDdXJzb3JF
bGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ5
LDkgKzUxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdDdXJzb3JFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdDdXJzb3JFbGVtZW50LCBTVkdFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cywgU1ZHVVJJUmVmZXJlbmNl
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAgICAgdm9pZCBw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikg
ZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaAppbmRleCA4ZmJiZWY4NDNi
ZDhhOWRiNDM2NDdjNDY1M2U5ZDdkNDFlOTZkYjM3Li42YTQ0YzkxOGVjYTdjOWIyODJkZWQwMTQ0
YWM4ZjkwYWVlYmZiNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0Vs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaApAQCAtMjgs
MTMgKzI4LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRGVmc0VsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdEZWZzRWxlbWVu
dCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdEZWZzRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRGVmc0VsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBT
VkdEZWZzRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRGVmc0Vs
ZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47
CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogCiAgICAgYm9vbCBpc1ZhbGlk
KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRGVzY0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5oCmluZGV4IDVmNWUx
ZDgxMjRiYTkwMzQ3MjcwNDg1OGRkYzZiN2E4Mzc3NGFiMmYuLjMyYjIyNjNlZDE2NTBkZDg3NDUx
YzE4ZTEyNGRjODcwODFlOTUzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
ZXNjRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5oCkBA
IC0yNiw2ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRGVzY0VsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChTVkdEZXNjRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdEZXNjRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFNWR0Rlc2NFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKQEAgLTM0LDcgKzM2LDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHRGVzY0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAg
ICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVl
ZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFBy
b3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBjYzViNmZk
MjVlODViN2Y5Y2E5ZWNhMmUxYWVhZDRlZjQ1OGY2MTg5Li5lMDNkZWNjMmU1NThiODdiYjVmMzQw
NjI3MDI3ZWY2NTYxYWM1ODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC0yMzgs
MTcgKzIzOCwzMSBAQCB2b2lkIFNWR0VsZW1lbnQ6OnJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJv
cihTVkdQYXJzaW5nRXJyb3IgZXJyb3IsIGNvbnN0IFF1YWxpZgogICAgIFN0cmluZyBlcnJvclN0
cmluZyA9ICI8IiArIHRhZ05hbWUoKSArICI+IGF0dHJpYnV0ZSAiICsgbmFtZS50b1N0cmluZygp
ICsgIj1cIiIgKyB2YWx1ZSArICJcIiI7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBleHRl
bnNpb25zID0gZG9jdW1lbnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7CiAKLSAgICBpZiAoZXJy
b3IgPT0gTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yKSB7CisgICAgc3dpdGNoIChlcnJvcikg
eworICAgIGNhc2UgTm9FcnJvcjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIGJyZWFrOworCisgICAgY2FzZSBVbmV4cGVjdGVkRW5kT2ZBdHRyaWJ1dGVFcnJvcjoKKyAg
ICAgICAgZXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiVW5leHBlY3RlZCBlbmQgb2YgYXR0cmlidXRl
IGZvciAiICsgZXJyb3JTdHJpbmcpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgWmVyb1Zh
bHVlRm9yYmlkZGVuRXJyb3I6CisgICAgICAgIGV4dGVuc2lvbnMucmVwb3J0RXJyb3IoIkludmFs
aWQgemVybyB2YWx1ZSBmb3IgIiArIGVycm9yU3RyaW5nKTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBjYXNlIE5lZ2F0aXZlVmFsdWVGb3JiaWRkZW5FcnJvcjoKICAgICAgICAgZXh0ZW5zaW9ucy5y
ZXBvcnRFcnJvcigiSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgIiArIGVycm9yU3RyaW5nKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFVucmVj
b2duaXplZEVudW1WYWx1ZUVycm9yOgorICAgICAgICBleHRlbnNpb25zLnJlcG9ydEVycm9yKCJV
bnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgIiArIGVycm9yU3RyaW5nKTsKKyAgICAg
ICAgYnJlYWs7CiAKLSAgICBpZiAoZXJyb3IgPT0gUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9y
KSB7CisgICAgY2FzZSBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I6CiAgICAgICAgIGV4dGVu
c2lvbnMucmVwb3J0RXJyb3IoIkludmFsaWQgdmFsdWUgZm9yICIgKyBlcnJvclN0cmluZyk7Ci0g
ICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQotCi0gICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1v
dmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyZW50T2ZSZW1vdmVkVHJl
ZSkKQEAgLTU3NCw3ICs1ODgsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OmNvbW1pdFByb3BlcnR5Q2hh
bmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkKICAgICAvLyBXZSB3YW50IHRvIGRpcnR5IHRoZSB0
b3AtbGV2ZWwgcHJvcGVydHkgd2hlbiBhIGRlc2NlbmRhbnQgY2hhbmdlcy4gRm9yIGV4YW1wbGUK
ICAgICAvLyBhIGNoYW5nZSBpbiBhbiBTVkdMZW5ndGggaXRlbSBpbiBTVkdMZW5ndGhMaXN0IHNo
b3VsZCBzZXQgdGhlIGRpcnR5IGZsYWcgb24KICAgICAvLyBTVkdMZW5ndGhMaXN0IGFuZCBub3Qg
dGhlIFNWR0xlbmd0aC4KLSAgICBwcm9wZXJ0eS0+c2V0RGlydHkoKTsKKyAgICBwcm9wZXJ0eS0+
c2V0U3RhdGUoU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHkpOwogCiAgICAgaW52YWxpZGF0ZVNWR0F0
dHJpYnV0ZXMoKTsKICAgICBzdmdBdHRyaWJ1dGVDaGFuZ2VkKHByb3BlcnR5UmVnaXN0cnkoKS5w
cm9wZXJ0eUF0dHJpYnV0ZU5hbWUoKnByb3BlcnR5KSk7CkBAIC01ODgsNyArNjAyLDcgQEAgdm9p
ZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdBbmltYXRlZFByb3BlcnR5JiBh
bmltYXRlZFByb3BlcnR5KQogICAgIC8vIEEgY2hhbmdlIGluIGEgc3R5bGUgcHJvcGVydHksIGUu
ZyBTVkdSZWN0RWxlbWVudDo6eCBzaG91bGQgYmUgc2VyaWFsaXplZCB0bwogICAgIC8vIHRoZSBh
dHRyaWJ1dGUgaW1tZWRpYXRlbHkuIE90aGVyd2lzZSBpdCBpcyBva2F5IHRvIGJlIGxhenkgaW4g
dGhpcyByZWdhcmQuCiAgICAgaWYgKCFwcm9wZXJ0eVJlZ2lzdHJ5KCkuaXNBbmltYXRlZFN0eWxl
UHJvcGVydHlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpCi0gICAgICAgIGFuaW1hdGVkUHJvcGVy
dHkuc2V0RGlydHkoKTsKKyAgICAgICAgYW5pbWF0ZWRQcm9wZXJ0eS5zZXRTdGF0ZShTVkdQcm9w
ZXJ0eVN0YXRlOjpEaXJ0eSk7CiAgICAgZWxzZQogICAgICAgICBzZXRTeW5jaHJvbml6ZWRMYXp5
QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGFuaW1hdGVkUHJvcGVydHkuYmFzZVZhbEFzU3RyaW5n
KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCBiNGE3MDFkMWVkODJhOTQ0OTA2ZmVj
NzU1ODk3YjYyNWY4YmY3MTcwLi5iZDA0YjkzYmQ5NTU5NzRlNTBjMTc3MTIxNmJiYjczMTI0MjQ4
YjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTQ5LDcgKzQ5LDEwIEBAIHZvaWQgbWFw
QXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NQcm9w
ZXJ0eUlEPiogcHJvcGVyCiAKIGNsYXNzIFNWR0VsZW1lbnQgOiBwdWJsaWMgU3R5bGVkRWxlbWVu
dCwgcHVibGljIFNWR0xhbmdTcGFjZSwgcHVibGljIFNWR1Byb3BlcnR5T3duZXIgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRWxlbWVudCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0VsZW1lbnQ+Owor
CiAgICAgYm9vbCBpc091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSBjb25zdDsKIAogICAgIFNWR1NW
R0VsZW1lbnQqIG93bmVyU1ZHRWxlbWVudCgpIGNvbnN0OwpAQCAtMTI2LDggKzEyOSw3IEBAIHB1
YmxpYzoKICAgICBjbGFzcyBJbnN0YW5jZVVwZGF0ZUJsb2NrZXI7CiAgICAgY2xhc3MgSW5zdGFu
Y2VJbnZhbGlkYXRpb25HdWFyZDsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRWxlbWVudD47Ci0gICAgdmlydHVhbCBjb25zdCBTVkdQ
cm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9CisgICAgdmlydHVhbCBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBw
cm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgPSAwOwogICAgIHZvaWQgZGV0YWNoQWxsUHJvcGVydGll
cygpIHsgcHJvcGVydHlSZWdpc3RyeSgpLmRldGFjaEFsbFByb3BlcnRpZXMoKTsgfQogCiAgICAg
Ym9vbCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNv
bnN0OwpAQCAtMjAwLDcgKzIwMiw2IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk+IG1fcHJvcGVydHlBbmltYXRvckZhY3Rvcnk7CiAK
LSAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAg
UmVmPFNWR0FuaW1hdGVkU3RyaW5nPiBtX2NsYXNzTmFtZSB7IFNWR0FuaW1hdGVkU3RyaW5nOjpj
cmVhdGUodGhpcykgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
bGxpcHNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgK
aW5kZXggMGZkY2EzNzY3YzRiYjIzZmM2MjI0Njc3N2RjODNhODkxMTdlOTg4Ni4uZTNiMWVhMTg3
ZWVlMjhiNWU5YTFmZDhmNzhkMTYzMGI0ZWVkOGYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
bGlwc2VFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTVkdFbGxpcHNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQs
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0VsbGlwc2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0VsbGlwc2VFbGVtZW50LCBTVkdHZW9tZXRy
eUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdFbGxpcHNlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogCkBAIC00NSw5ICs0Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
U1ZHRWxsaXBzZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0Vs
bGlwc2VFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnko
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQg
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYp
IGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5oCmluZGV4IDk5MTlhZjZkMWZhMDdjNWRjNTU5YmM3MDg4MTBmYWY0NDRlYWVh
MzAuLjQxZWJlOWM5OTczYjIwZDA1MGJkZjQwZDRjY2JmZmQ4OWFhNjlhZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaApAQCAtMzYs
NyArMzYsMTAgQEAgY2xhc3MgU1ZHRWxlbWVudDsKIC8vIEZJWE1FOiBXaGVuIGltcGxlbWVudGlu
ZyBhbmltVmFsIHN1cHBvcnQsIG1ha2Ugc3VyZSB0aGF0IGFuaW1WYWw9PWJhc2VWYWwgZm9yIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKIGNsYXNzIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpOworCiBwdWJsaWM6CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKKwogICAgIHZpcnR1
YWwgflNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lk
IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcm
KTsKQEAgLTQ0LDggKzQ3LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgYWRkU3VwcG9y
dGVkQXR0cmlidXRlcyhIYXNoU2V0PFF1YWxpZmllZE5hbWU+Jik7CiAKLSAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQ+OwotCiAgICAgYm9vbCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkgY29u
c3QgeyByZXR1cm4gbV9leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLT5jdXJyZW50VmFsdWUoKTsg
fQogICAgIFNWR0FuaW1hdGVkQm9vbGVhbiYgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEFuaW1h
dGVkKCkgeyByZXR1cm4gbV9leHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgKaW5kZXggYTljOThlNDI3NjY0YjJlMTNjMTY3MDc4
ZjFmMGRjN2NkNTAyMzBiYS4uZDE1NWNhNWZkOGMyZWM5MGNlYjAzZjY4ZTBhODdmZGRiY2NhZWY0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgKQEAgLTI3LDI4ICsyNywx
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9w
ZXJ0eVRyYWl0czxCbGVuZE1vZGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1W
YWx1ZSgpIHsgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihCbGVuZE1vZGU6Okx1bWlub3Np
dHkpOyB9Ci0KLSAgICBzdGF0aWMgQmxlbmRNb2RlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCi0gICAgewotICAgICAgICBCbGVuZE1vZGUgbW9kZSA9IEJsZW5kTW9kZTo6Tm9ybWFs
OwotICAgICAgICBwYXJzZUJsZW5kTW9kZShzdHJpbmcsIG1vZGUpOwotICAgICAgICByZXR1cm4g
bW9kZTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKEJsZW5kTW9kZSB0eXBl
KQotICAgIHsKLSAgICAgICAgaWYgKHR5cGUgPCBCbGVuZE1vZGU6OlBsdXNEYXJrZXIpCi0gICAg
ICAgICAgICByZXR1cm4gYmxlbmRNb2RlTmFtZSh0eXBlKTsKLQotICAgICAgICByZXR1cm4gZW1w
dHlTdHJpbmcoKTsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRUJsZW5kRWxlbWVudCBmaW5hbCA6
IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoU1ZHRkVCbGVuZEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVCbGVuZEVsZW1lbnQsIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNWR0ZFQmxlbmRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAKQEAgLTYzLDkgKzQ1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdG
RUJsZW5kRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVCbGVu
ZEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAppbmRleCAz
ZWYyNGM5NDIyNDg2OGRhNzdkMGU4MGJjZGYwYzc0NjUzOTNmMjNlLi4wNjRkMzkwOTYzNDk3YTU1
YjlhMmE4ZjAyZDc1OTlhNDgwOTYyZGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQuaApAQCAtMjYsNDUgKzI2LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPENvbG9yTWF0cml4
VHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4g
RkVDT0xPUk1BVFJJWF9UWVBFX0xVTUlOQU5DRVRPQUxQSEE7IH0KLQotICAgIHN0YXRpYyBTdHJp
bmcgdG9TdHJpbmcoQ29sb3JNYXRyaXhUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2gg
KHR5cGUpIHsKLSAgICAgICAgY2FzZSBGRUNPTE9STUFUUklYX1RZUEVfVU5LTk9XTjoKLSAgICAg
ICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhf
VFlQRV9NQVRSSVg6Ci0gICAgICAgICAgICByZXR1cm4gIm1hdHJpeCJfczsKLSAgICAgICAgY2Fz
ZSBGRUNPTE9STUFUUklYX1RZUEVfU0FUVVJBVEU6Ci0gICAgICAgICAgICByZXR1cm4gInNhdHVy
YXRlIl9zOwotICAgICAgICBjYXNlIEZFQ09MT1JNQVRSSVhfVFlQRV9IVUVST1RBVEU6Ci0gICAg
ICAgICAgICByZXR1cm4gImh1ZVJvdGF0ZSJfczsKLSAgICAgICAgY2FzZSBGRUNPTE9STUFUUklY
X1RZUEVfTFVNSU5BTkNFVE9BTFBIQToKLSAgICAgICAgICAgIHJldHVybiAibHVtaW5hbmNlVG9B
bHBoYSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgQ29sb3JNYXRy
aXhUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlm
ICh2YWx1ZSA9PSAibWF0cml4IikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTE9STUFUUklYX1RZ
UEVfTUFUUklYOwotICAgICAgICBpZiAodmFsdWUgPT0gInNhdHVyYXRlIikKLSAgICAgICAgICAg
IHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfU0FUVVJBVEU7Ci0gICAgICAgIGlmICh2YWx1ZSA9
PSAiaHVlUm90YXRlIikKLSAgICAgICAgICAgIHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfSFVF
Uk9UQVRFOwotICAgICAgICBpZiAodmFsdWUgPT0gImx1bWluYW5jZVRvQWxwaGEiKQotICAgICAg
ICAgICAgcmV0dXJuIEZFQ09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VUT0FMUEhBOwotICAgICAg
ICByZXR1cm4gRkVDT0xPUk1BVFJJWF9UWVBFX1VOS05PV047Ci0gICAgfQotfTsKLQogY2xhc3Mg
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUNv
bG9yTWF0cml4RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCkBAIC03OSw5ICs0NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29sb3JN
YXRyaXhFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAg
IGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJF
bGVtZW50LmgKaW5kZXggNTI2MjE2ZTU2MDE2ZmFiNTIyNGFhYmU5MTMyMDY0Y2RiMDNhZDBiYi4u
ZDE3NWJhMWI4MzkxZWYxOGU1NjZhOGExZDMzMTY0NWU0YjNiMjJmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmgKQEAgLTI4LDYg
KzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVDb21wb25lbnRUcmFuc2Zl
ckVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKQEAgLTM3LDkgKzM5LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRUNv
bXBvbmVudFRyYW5zZmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdp
c3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAg
Ly8gRklYTUU6IHN2Z0F0dHJpYnV0ZUNoYW5nZWQgbWlzc2luZy4KICAgICB2b2lkIHBhcnNlQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlk
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCmluZGV4IGEz
M2M5ODJiMzQ5NWUzYWJmZDRmMTg3NTZhYTExMDI5OWZjOWMyYzUuLjQ3ZDczOTExYmQwMTQyM2E2
MzkwYmU1MTg4NTMzNmNhNzc4NmM0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUNvbXBvc2l0ZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb21w
b3NpdGVFbGVtZW50LmgKQEAgLTI2LDYwICsyNiwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXRlbXBsYXRlPD4KLWlubGluZSB1bnNpZ25lZCBTVkdJRExFbnVtTGltaXRzPENvbXBvc2l0
ZU9wZXJhdGlvblR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIEZFQ09N
UE9TSVRFX09QRVJBVE9SX0FSSVRITUVUSUM7IH0KLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1By
b3BlcnR5VHJhaXRzPENvbXBvc2l0ZU9wZXJhdGlvblR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWdu
ZWQgaGlnaGVzdEVudW1WYWx1ZSgpIHsgcmV0dXJuIEZFQ09NUE9TSVRFX09QRVJBVE9SX0xJR0hU
RVI7IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoQ29tcG9zaXRlT3BlcmF0aW9uVHlw
ZSB0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRkVD
T01QT1NJVEVfT1BFUkFUT1JfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmlu
ZygpOwotICAgICAgICBjYXNlIEZFQ09NUE9TSVRFX09QRVJBVE9SX09WRVI6Ci0gICAgICAgICAg
ICByZXR1cm4gIm92ZXIiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfSU46
Ci0gICAgICAgICAgICByZXR1cm4gImluIl9zOwotICAgICAgICBjYXNlIEZFQ09NUE9TSVRFX09Q
RVJBVE9SX09VVDoKLSAgICAgICAgICAgIHJldHVybiAib3V0Il9zOwotICAgICAgICBjYXNlIEZF
Q09NUE9TSVRFX09QRVJBVE9SX0FUT1A6Ci0gICAgICAgICAgICByZXR1cm4gImF0b3AiX3M7Ci0g
ICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfWE9SOgotICAgICAgICAgICAgcmV0dXJu
ICJ4b3IiX3M7Ci0gICAgICAgIGNhc2UgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQzoK
LSAgICAgICAgICAgIHJldHVybiAiYXJpdGhtZXRpYyJfczsKLSAgICAgICAgY2FzZSBGRUNPTVBP
U0lURV9PUEVSQVRPUl9MSUdIVEVSOgotICAgICAgICAgICAgcmV0dXJuICJsaWdodGVyIl9zOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVy
biBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBDb21wb3NpdGVPcGVyYXRpb25U
eXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2
YWx1ZSA9PSAib3ZlciIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1Jf
T1ZFUjsKLSAgICAgICAgaWYgKHZhbHVlID09ICJpbiIpCi0gICAgICAgICAgICByZXR1cm4gRkVD
T01QT1NJVEVfT1BFUkFUT1JfSU47Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAib3V0IikKLSAgICAg
ICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9PVVQ7Ci0gICAgICAgIGlmICh2YWx1
ZSA9PSAiYXRvcCIpCi0gICAgICAgICAgICByZXR1cm4gRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRP
UDsKLSAgICAgICAgaWYgKHZhbHVlID09ICJ4b3IiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09N
UE9TSVRFX09QRVJBVE9SX1hPUjsKLSAgICAgICAgaWYgKHZhbHVlID09ICJhcml0aG1ldGljIikK
LSAgICAgICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklUSE1FVElDOwotICAg
ICAgICBpZiAodmFsdWUgPT0gImxpZ2h0ZXIiKQotICAgICAgICAgICAgcmV0dXJuIEZFQ09NUE9T
SVRFX09QRVJBVE9SX0xJR0hURVI7Ci0gICAgICAgIHJldHVybiBGRUNPTVBPU0lURV9PUEVSQVRP
Ul9VTktOT1dOOwotICAgIH0KLX07Ci0KIGNsYXNzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudCBmaW5h
bCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVDb21wb3NpdGVFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29tcG9zaXRl
RWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U1ZHRkVDb21wb3NpdGVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTEwMiw5ICs1Miw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgU1ZHRkVDb21wb3NpdGVFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcz47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlS
ZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAg
ICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1
YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVD
b252b2x2ZU1hdHJpeEVsZW1lbnQuaAppbmRleCBjZWExMTIzZmFhOTE4ZDVmMWYxNWQyZDQzM2Vj
MDExZjcwMjExMDAyLi4yMTgxZGRlYmRhYjNkNTk4N2Y2Nzg4MjllMjhjODE2OGM3OTg4NjdhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaApA
QCAtMjUsNDIgKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Pgot
c3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEVkZ2VNb2RlVHlwZT4gewotICAgIHN0YXRpYyB1bnNp
Z25lZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gRURHRU1PREVfTk9ORTsgfQotICAgIHN0
YXRpYyBFZGdlTW9kZVR5cGUgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gRURHRU1PREVfTk9ORTsg
fQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhFZGdlTW9kZVR5cGUgdHlwZSkKLSAgICB7
Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEVER0VNT0RFX1VOS05PV046
Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBFREdFTU9E
RV9EVVBMSUNBVEU6Ci0gICAgICAgICAgICByZXR1cm4gImR1cGxpY2F0ZSJfczsKLSAgICAgICAg
Y2FzZSBFREdFTU9ERV9XUkFQOgotICAgICAgICAgICAgcmV0dXJuICJ3cmFwIl9zOwotICAgICAg
ICBjYXNlIEVER0VNT0RFX05PTkU6Ci0gICAgICAgICAgICByZXR1cm4gIm5vbmUiX3M7Ci0gICAg
ICAgIH0KLQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7Ci0gICAgfQotCi0gICAgc3RhdGljIEVkZ2VNb2RlVHlwZSBmcm9tU3RyaW5n
KGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0gImR1cGxp
Y2F0ZSIpCi0gICAgICAgICAgICByZXR1cm4gRURHRU1PREVfRFVQTElDQVRFOwotICAgICAgICBp
ZiAodmFsdWUgPT0gIndyYXAiKQotICAgICAgICAgICAgcmV0dXJuIEVER0VNT0RFX1dSQVA7Ci0g
ICAgICAgIGlmICh2YWx1ZSA9PSAibm9uZSIpCi0gICAgICAgICAgICByZXR1cm4gRURHRU1PREVf
Tk9ORTsKLSAgICAgICAgcmV0dXJuIEVER0VNT0RFX1VOS05PV047Ci0gICAgfQotfTsKLQogY2xh
c3MgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNW
R0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0g
U1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwogCkBAIC05Niw5ICs2NCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3Vt
ZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaAppbmRleCA4ZDc5NTk5MGNmMjNlMGM0MTQ5MjBlMmYx
N2IxY2NlNzg0YzdmMTM1Li40YjgxYjE2NmY3ZGQ3ZWVkNzk5YmI0MTRiMjViOTYxNGUwODgzZWRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVu
dC5oCkBAIC0zMiw2ICszMiw4IEBAIGNsYXNzIFNWR0NvbG9yOwogCiBjbGFzcyBTVkdGRURpZmZ1
c2VMaWdodGluZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFRGlmZnVzZUxp
Z2h0aW5nRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5
T3duZXJSZWdpc3RyeTxTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZF
RGlmZnVzZUxpZ2h0aW5nRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogICAgIHZvaWQgbGlnaHRFbGVtZW50QXR0cmlidXRlQ2hhbmdlZChjb25zdCBTVkdG
RUxpZ2h0RWxlbWVudCosIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTUxLDkgKzUzLDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
dmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBvdmVycmlkZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oCmluZGV4
IDQyMmYwY2Y3ZWE5NTA1NDI3YjA3YmYwYWVmZmZiM2I4NDQ0MTk3ZmEuLjlkZTg1ZGEzNDAwNDgz
Njg0MTE2ZjkzNTg3ZDYwNDM1NGMyZTAwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgKQEAgLTI1LDQ1ICsyNSwxMCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
Q2hhbm5lbFNlbGVjdG9yVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZh
bHVlKCkgeyByZXR1cm4gQ0hBTk5FTF9BOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
KENoYW5uZWxTZWxlY3RvclR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkg
ewotICAgICAgICBjYXNlIENIQU5ORUxfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOwotICAgICAgICBjYXNlIENIQU5ORUxfUjoKLSAgICAgICAgICAgIHJldHVybiAi
UiJfczsKLSAgICAgICAgY2FzZSBDSEFOTkVMX0c6Ci0gICAgICAgICAgICByZXR1cm4gIkciX3M7
Ci0gICAgICAgIGNhc2UgQ0hBTk5FTF9COgotICAgICAgICAgICAgcmV0dXJuICJCIl9zOwotICAg
ICAgICBjYXNlIENIQU5ORUxfQToKLSAgICAgICAgICAgIHJldHVybiAiQSJfczsKLSAgICAgICAg
fQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgQ2hhbm5lbFNlbGVjdG9yVHlwZSBmcm9tU3Ry
aW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0gIlIi
KQotICAgICAgICAgICAgcmV0dXJuIENIQU5ORUxfUjsKLSAgICAgICAgaWYgKHZhbHVlID09ICJH
IikKLSAgICAgICAgICAgIHJldHVybiBDSEFOTkVMX0c7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAi
QiIpCi0gICAgICAgICAgICByZXR1cm4gQ0hBTk5FTF9COwotICAgICAgICBpZiAodmFsdWUgPT0g
IkEiKQotICAgICAgICAgICAgcmV0dXJuIENIQU5ORUxfQTsKLSAgICAgICAgcmV0dXJuIENIQU5O
RUxfVU5LTk9XTjsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCk7
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFRGlzcGxhY2VtZW50TWFw
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC04
NCw5ICs0OSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hh
ZG93RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRHJvcFNoYWRvd0VsZW1lbnQu
aAppbmRleCAwNjFjY2EyYmVkOTZjMWFhYjA1MzRkN2EwOTEzYzMxNGNlMWJlNWY0Li42MDA2MWIy
ZTRiODU0YTg4MmJmMjM0ZjM2ZDZlNTczOGM3N2U1YmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTVkdGRURyb3BTaGFkb3dFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTVkdGRURyb3BTaGFkb3dFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQsIFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKICAgICAKQEAgLTQ3LDkgKzQ5LDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdGRURyb3BTaGFkb3dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdGRURyb3BTaGFkb3dFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RUZsb29kRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmgK
aW5kZXggYjk2YTQzYWEzMTNlNzVlNGEzMTY3MjQ4YTFiNmY1Y2Y1MWZlZTkxMS4uNzBiMjNlZDJi
NTlmNWJmN2NkMTA2OGM3YzM5MjA0OWRjM2U3YmM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZF
Rmxvb2RFbGVtZW50LmgKQEAgLTI2LDE3ICsyNiwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNWR0ZFRmxvb2RFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUZs
b29kRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGRUZsb29kRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVGbG9vZEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAg
ICBTVkdGRUZsb29kRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAot
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
RkVGbG9vZEVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CiAg
ICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCi0gICAgYm9vbCBzZXRGaWx0ZXJF
ZmZlY3RBdHRyaWJ1dGUoRmlsdGVyRWZmZWN0KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUpIG92ZXJyaWRlOwotICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IGJ1aWxkKFNWR0ZpbHRlckJ1
aWxkZXIqLCBGaWx0ZXImKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIHNldEZpbHRlckVmZmVj
dEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QqLCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkg
ZmluYWw7CisgICAgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQoU1ZHRmlsdGVyQnVpbGRlcios
IEZpbHRlciYpIGNvbnN0IGZpbmFsOwogCiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5
UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuaAppbmRleCBiMmQ1ZTgzY2VjZDZkYTQ2M2I0YThjMDU5ZjRmMzBlYzJh
NGI1MzY1Li4zNjdkMDFhMjQ3NWZjMTBiYTMyNTNlMTBmOTJkOWU2MDM4MGI3MDU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oCkBAIC0yOSw2ICsy
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHRkVHYXVzc2lhbkJsdXJFbGVt
ZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
RkVHYXVzc2lhbkJsdXJFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDcsOSArNDks
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LCBT
VkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0
cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKaW5kZXggNzYyNDk5MGIzNThhYjUyN2I0ZDE5ZTU3
ZjlkY2RjZWJmOWY1MzEwZS4uMTdhNTBlYTI3ODMyMWM2NmQ1MTUzZjI2N2FhNjBmOTQzZmRhMjk4
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGRUltYWdlRWxlbWVudCBmaW5hbCA6
IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIHB1YmxpYyBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLCBwdWJsaWMg
Q2FjaGVkSW1hZ2VDbGllbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVJbWFn
ZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHRkVJbWFnZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcywgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsK
KwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVJbWFnZUVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDUsOSArNDcsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIFNWR0ZFSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3du
ZXJSZWdpc3RyeTxTVkdGRUltYWdlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+
OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJy
aWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmgKaW5kZXggMjUz
NGQxZDdhYzlkNTRlOGQwNjQ0NWU3YTdlMmY4NWFiZDBiNGM1ZS4uNmViZGM0MjljYjBmNmE1YjM5
MzU2ODdmZjQ0ZmMwNWU1ODgzYWQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFTGlnaHRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVt
ZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgY2xhc3MgU1ZHRmlsdGVyQnVpbGRlcjsKIAogY2xhc3Mg
U1ZHRkVMaWdodEVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChTVkdGRUxpZ2h0RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3Ry
eSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRUxpZ2h0RWxlbWVudCwgU1ZHRWxlbWVu
dD47CisKIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlZjxMaWdodFNvdXJjZT4gbGlnaHRTb3VyY2Uo
U1ZHRmlsdGVyQnVpbGRlciYpIGNvbnN0ID0gMDsKICAgICBzdGF0aWMgU1ZHRkVMaWdodEVsZW1l
bnQqIGZpbmRMaWdodEVsZW1lbnQoY29uc3QgU1ZHRWxlbWVudCopOwpAQCAtNjMsOSArNjUsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxl
Jikgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJpdmF0ZToKLSAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTGlnaHRFbGVtZW50
LCBTVkdFbGVtZW50PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJl
Z2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAg
ICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNT
dHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENo
aWxkQ2hhbmdlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVNZXJnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5o
CmluZGV4IDc0NTA4NjgxNmY2OTc2YzY2OTdkYzUxMDc1ODAyZDI4M2NmNGUzYzIuLmFiZWI2YzFi
MTc5NTVhZWI4YzY2ZjkwOTNjNTAxOWQ4ODhhNWIyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RU1lcmdlRWxlbWVudC5oCkBAIC0yNiwxNSArMjYsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTVkdGRU1lcmdlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRkVN
ZXJnZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRkVNZXJnZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcz47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFTWVyZ2VFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAg
ICAgU1ZHRkVNZXJnZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
LSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R0ZFTWVyZ2VFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIFJlZlB0cjxGaWx0ZXJF
ZmZlY3Q+IGJ1aWxkKFNWR0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXImKSBjb25zdCBvdmVycmlkZTsK
IAogICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAppbmRleCA4ZGE5MjM2MTQw
OGEyM2I4OGYxYTZhZjA0YjdhNTMyYjJhOWNiMDcwLi5iMTNkZmUwODc4Y2Y1YWQ2Mzk1NWVlZmQy
ODAzYjM5ZTI0MjFiMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxl
bWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZH
RkVNZXJnZU5vZGVFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoU1ZHRkVNZXJnZU5vZGVFbGVtZW50KTsKKyAgICB1c2luZyBQcm9w
ZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFTWVyZ2VOb2RlRWxl
bWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZFTWVyZ2VO
b2RlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBA
IC0zNiw5ICszOCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVNZXJnZU5vZGVFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVy
dHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1lcmdlTm9kZUVsZW1l
bnQsIFNWR0VsZW1lbnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5
UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQog
ICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RU1vcnBob2xvZ3lFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5
RWxlbWVudC5oCmluZGV4IDk5OTMzNTU1MzYxYTIwNTQxNTc3YjExMjQ1YjQ4MjM5YjZkMzNiMmQu
LjZjMzJkMmIxYTllYjMyYzFlMWY1ZmJlM2IzMTYyMTY0NWRjMzJmYjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaApAQCAtMjUsMzcgKzI1LDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJh
aXRzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVz
dEVudW1WYWx1ZSgpIHsgcmV0dXJuIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEU7IH0KLQot
ICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoTW9ycGhvbG9neU9wZXJhdG9yVHlwZSB0eXBlKQot
ICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgRkVNT1JQSE9MT0dZ
X09QRVJBVE9SX1VOS05PV046Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAg
ICAgICAgY2FzZSBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREU6Ci0gICAgICAgICAgICByZXR1
cm4gImVyb2RlIl9zOwotICAgICAgICBjYXNlIEZFTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEU6
Ci0gICAgICAgICAgICByZXR1cm4gImRpbGF0ZSJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgTW9ycGhvbG9neU9wZXJhdG9yVHlwZSBmcm9tU3RyaW5nKGNvbnN0IFN0
cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0gImVyb2RlIikKLSAgICAg
ICAgICAgIHJldHVybiBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREU7Ci0gICAgICAgIGlmICh2
YWx1ZSA9PSAiZGlsYXRlIikKLSAgICAgICAgICAgIHJldHVybiBGRU1PUlBIT0xPR1lfT1BFUkFU
T1JfRElMQVRFOwotICAgICAgICByZXR1cm4gRkVNT1JQSE9MT0dZX09QRVJBVE9SX1VOS05PV047
Ci0gICAgfQotfTsKLQogY2xhc3MgU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCBmaW5hbCA6IHB1Ymxp
YyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoU1ZHRkVNb3JwaG9sb2d5RWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlS
ZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdGRU1vcnBob2xvZ3lFbGVtZW50
LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdGRU1vcnBob2xvZ3lFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTc0LDkgKzQ3LDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBTVkdGRU1vcnBob2xvZ3lFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVu
dCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdp
c3RyeTxTVkdGRU1vcnBob2xvZ3lFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RU9mZnNldEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQu
aAppbmRleCAzZDhkNzdkYmVmNzgzOTEwOWUzYjBiYzcwYWYwMWE5ZjBlNjJiYTU0Li4xYzUwOGIy
YzI4OGU5MDNmYWI0NWI3NTg2OGQzZTYzNjJiOTI3NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZFT2Zmc2V0RWxlbWVudC5oCkBAIC0yNyw2ICsyNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU1ZHRkVPZmZzZXRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdG
RU9mZnNldEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHRkVPZmZzZXRFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXM+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGRU9mZnNldEVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDEs
OSArNDMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZFT2Zmc2V0RWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVPZmZzZXRFbGVtZW50LCBTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVn
aXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5
UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRl
Q2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCmluZGV4IGNlMjNjYjVh
ZTIyYzNmNzUxZTExNWM3MDgyYWJhMTU4YjVhM2NjMDkuLjdhNzU2ZGY1ZTQ5YmZlYTZiMjFhNzNk
OTBlNjM1MjA1YzYxODU0MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQpOworICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKKwogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZvaWQgbGlnaHRFbGVtZW50
QXR0cmlidXRlQ2hhbmdlZChjb25zdCBTVkdGRUxpZ2h0RWxlbWVudCosIGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKQEAgLTUxLDkgKzUzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
Ci0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXM+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZv
aWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
RVRpbGVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCmlu
ZGV4IGFkY2M3YThkMzA0Y2IzMzJkOWJhZTdiYTU4Mjg0OWMyNjFmNGI0ZDguLjY1NjQ3MjAxOTEy
ZGE2MzdmYTE5YjVjN2Y4M2U2NWVlNmM4MjIzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVGls
ZUVsZW1lbnQuaApAQCAtMjcsNiArMjcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFNWR0ZFVGlsZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZFVGlsZUVsZW1l
bnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0
cnk8U1ZHRkVUaWxlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRkVUaWxlRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0zNiw5ICszOCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgU1ZHRkVUaWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHRkVUaWxlRWxlbWVudCwgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlm
aWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RkVUdXJidWxlbmNlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxl
bmNlRWxlbWVudC5jcHAKaW5kZXggM2UzNWQyMjBlNDhhMWFjNTc1N2Y5MzdiZDMzZDA2YWQ0ZDBk
MWViNi4uNThlN2NhNjc4ZTI4YWQyYTc0YmQ0MzcxZTgyN2I0ODAyNjA2NjM1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcApAQCAtMTIxLDcgKzEy
MSw3IEBAIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OmJ1aWxk
KFNWR0ZpbHRlckJ1aWxkZXIqLCBGaWx0ZXImIGZpCiB7CiAgICAgaWYgKGJhc2VGcmVxdWVuY3lY
KCkgPCAwIHx8IGJhc2VGcmVxdWVuY3lZKCkgPCAwKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICByZXR1cm4gRkVUdXJidWxlbmNlOjpjcmVhdGUoZmlsdGVyLCB0eXBlKCksIGJhc2VGcmVx
dWVuY3lYKCksIGJhc2VGcmVxdWVuY3lZKCksIG51bU9jdGF2ZXMoKSwgc2VlZCgpLCBzdGl0Y2hU
aWxlcygpID09IFNWR19TVElUQ0hUWVBFX1NUSVRDSCk7CisgICAgcmV0dXJuIEZFVHVyYnVsZW5j
ZTo6Y3JlYXRlKGZpbHRlciwgdHlwZSgpLCBiYXNlRnJlcXVlbmN5WCgpLCBiYXNlRnJlcXVlbmN5
WSgpLCBudW1PY3RhdmVzKCksIHNlZWQoKSwgc3RpdGNoVGlsZXMoKSA9PSBTVkdTdGl0Y2hUeXBl
U3RpdGNoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50LmgKaW5kZXggY2NhN2Y4NTc4M2Y0ODg2ZWM5ODFmNmZhMWRiOTYyYjljYjQxNmMyZS4uN2Nh
NWUyOGJiYmZjNjhlNDdmMTI1OWM5ZGNiODYxM2I0MTg5MmQ4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCkBAIC0yNiw3MyArMjYsMTggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIFNWR1N0aXRjaE9wdGlvbnMgewotICAgIFNWR19TVElU
Q0hUWVBFX1VOS05PV04gID0gMCwKLSAgICBTVkdfU1RJVENIVFlQRV9TVElUQ0ggICA9IDEsCi0g
ICAgU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0ggPSAyCi19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3Qg
U1ZHUHJvcGVydHlUcmFpdHM8U1ZHU3RpdGNoT3B0aW9ucz4gewotICAgIHN0YXRpYyB1bnNpZ25l
ZCBoaWdoZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0g7IH0K
LQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHU3RpdGNoT3B0aW9ucyB0eXBlKQotICAg
IHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHX1NUSVRDSFRZUEVf
VU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAgICBjYXNl
IFNWR19TVElUQ0hUWVBFX1NUSVRDSDoKLSAgICAgICAgICAgIHJldHVybiAic3RpdGNoIl9zOwot
ICAgICAgICBjYXNlIFNWR19TVElUQ0hUWVBFX05PU1RJVENIOgotICAgICAgICAgICAgcmV0dXJu
ICJub1N0aXRjaCJfczsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZH
U3RpdGNoT3B0aW9ucyBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAg
ICAgICBpZiAodmFsdWUgPT0gInN0aXRjaCIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHX1NUSVRD
SFRZUEVfU1RJVENIOwotICAgICAgICBpZiAodmFsdWUgPT0gIm5vU3RpdGNoIikKLSAgICAgICAg
ICAgIHJldHVybiBTVkdfU1RJVENIVFlQRV9OT1NUSVRDSDsKLSAgICAgICAgcmV0dXJuIFNWR19T
VElUQ0hUWVBFX1VOS05PV047Ci0gICAgfQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1By
b3BlcnR5VHJhaXRzPFR1cmJ1bGVuY2VUeXBlPiB7Ci0gICAgc3RhdGljIHVuc2lnbmVkIGhpZ2hl
c3RFbnVtVmFsdWUoKSB7IHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oVHVyYnVsZW5jZVR5
cGU6OlR1cmJ1bGVuY2UpOyB9Ci0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKFR1cmJ1bGVu
Y2VUeXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2Fz
ZSBUdXJidWxlbmNlVHlwZTo6VW5rbm93bjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmlu
ZygpOwotICAgICAgICBjYXNlIFR1cmJ1bGVuY2VUeXBlOjpGcmFjdGFsTm9pc2U6Ci0gICAgICAg
ICAgICByZXR1cm4gImZyYWN0YWxOb2lzZSJfczsKLSAgICAgICAgY2FzZSBUdXJidWxlbmNlVHlw
ZTo6VHVyYnVsZW5jZToKLSAgICAgICAgICAgIHJldHVybiAidHVyYnVsZW5jZSJfczsKLSAgICAg
ICAgfQotCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1w
dHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgVHVyYnVsZW5jZVR5cGUgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJmcmFj
dGFsTm9pc2UiKQotICAgICAgICAgICAgcmV0dXJuIFR1cmJ1bGVuY2VUeXBlOjpGcmFjdGFsTm9p
c2U7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAidHVyYnVsZW5jZSIpCi0gICAgICAgICAgICByZXR1
cm4gVHVyYnVsZW5jZVR5cGU6OlR1cmJ1bGVuY2U7Ci0gICAgICAgIHJldHVybiBUdXJidWxlbmNl
VHlwZTo6VW5rbm93bjsKLSAgICB9Ci19OwotCiBjbGFzcyBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50
IGZpbmFsIDogcHVibGljIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGRVR1cmJ1bGVuY2VFbGVtZW50KTsKKyAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQsIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcz47CisK
IHB1YmxpYzoKKyAgICAvLyBGb3J3YXJkIGRlY2xhcmUgZW51bWVyYXRpb25zIGluIHRoZSBXM0Mg
bmFtaW5nIHNjaGVtZSwgZm9yIElETCBnZW5lcmF0aW9uLgorICAgIGVudW0geworICAgICAgICBT
VkdfU1RJVENIVFlQRV9VTktOT1dOID0gU1ZHU3RpdGNoVHlwZVVua25vd24sCisgICAgICAgIFNW
R19TVElUQ0hUWVBFX1NUSVRDSCA9IFNWR1N0aXRjaFR5cGVTdGl0Y2gsCisgICAgICAgIFNWR19T
VElUQ0hUWVBFX05PU1RJVENIID0gU1ZHU3RpdGNoVHlwZU5vU3RpdGNoLAorICAgIH07CisKICAg
ICBzdGF0aWMgUmVmPFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogICAgIGZsb2F0IGJhc2VGcmVxdWVuY3lYKCkgY29uc3Qg
eyByZXR1cm4gbV9iYXNlRnJlcXVlbmN5WC0+Y3VycmVudFZhbHVlKCk7IH0KQEAgLTExMiw5ICs1
Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRkVUdXJidWxlbmNlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0
eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCkBAIC0xMjYsNyAr
NjksNyBAQCBwcml2YXRlOgogICAgIFJlZjxTVkdBbmltYXRlZE51bWJlcj4gbV9iYXNlRnJlcXVl
bmN5WSB7IFNWR0FuaW1hdGVkTnVtYmVyOjpjcmVhdGUodGhpcykgfTsKICAgICBSZWY8U1ZHQW5p
bWF0ZWRJbnRlZ2VyPiBtX251bU9jdGF2ZXMgeyBTVkdBbmltYXRlZEludGVnZXI6OmNyZWF0ZSh0
aGlzLCAxKSB9OwogICAgIFJlZjxTVkdBbmltYXRlZE51bWJlcj4gbV9zZWVkIHsgU1ZHQW5pbWF0
ZWROdW1iZXI6OmNyZWF0ZSh0aGlzKSB9OwotICAgIFJlZjxTVkdBbmltYXRlZEVudW1lcmF0aW9u
PiBtX3N0aXRjaFRpbGVzIHsgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbjo6Y3JlYXRlKHRoaXMsIFNW
R19TVElUQ0hUWVBFX05PU1RJVENIKSB9OworICAgIFJlZjxTVkdBbmltYXRlZEVudW1lcmF0aW9u
PiBtX3N0aXRjaFRpbGVzIHsgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbjo6Y3JlYXRlKHRoaXMsIFNW
R1N0aXRjaFR5cGVOb1N0aXRjaCkgfTsKICAgICBSZWY8U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbj4g
bV90eXBlIHsgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbjo6Y3JlYXRlKHRoaXMsIFR1cmJ1bGVuY2VU
eXBlOjpUdXJidWxlbmNlKSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZpbHRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50
LmgKaW5kZXggZTFmMmY1YmNlYzU2M2RmMTVjMjdmOWZkNGZlNDRiYzg4YTM0NjU3Yy4uMTExNTVl
OGIxYzM4NGQ1MGViZTAwNjUyOGU1ZmRhNjkzZGI0NWY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyRWxlbWVudC5oCkBAIC0zMiw2ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1ZHRmlsdGVyRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMg
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGaWx0ZXJFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZpbHRlckVsZW1l
bnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVy
ZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZpbHRlckVsZW1lbnQ+IGNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTIsOSArNTQsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0ZpbHRlckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR0ZpbHRlckVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVy
dHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJv
cGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVu
Q2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCmluZGV4
IGViMjViNTNhOTRkOGU1ZmRkODkyODViNTgzYjczMjMxM2UyMzIwMTAuLmNiODE5MDJjZDFhNzIx
OWIyODVjZTQzMjgyZjdjNDk3OTg2MzNiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKQEAgLTM2LDE0
ICszNiwxNCBAQCBjbGFzcyBTVkdGaWx0ZXJCdWlsZGVyOwogY2xhc3MgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKTsKIHB1
YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHRWxlbWVudD47CisK
ICAgICB2b2lkIHNldFN0YW5kYXJkQXR0cmlidXRlcyhGaWx0ZXJFZmZlY3QqKSBjb25zdDsKIAog
ICAgIHZpcnR1YWwgUmVmUHRyPEZpbHRlckVmZmVjdD4gYnVpbGQoU1ZHRmlsdGVyQnVpbGRlcios
IEZpbHRlciYpIGNvbnN0ID0gMDsKICAgICAvLyBSZXR1cm5zIHRydWUsIGlmIHRoZSBuZXcgdmFs
dWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIG9sZCBvbmUuCiAgICAgdmlydHVhbCBib29sIHNldEZp
bHRlckVmZmVjdEF0dHJpYnV0ZShGaWx0ZXJFZmZlY3QqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7
CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHRWxlbWVudD47Ci0KICAg
ICBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgeCgpIGNvbnN0IHsgcmV0dXJuIG1feC0+Y3VycmVudFZh
bHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgeSgpIGNvbnN0IHsgcmV0dXJuIG1f
eS0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgd2lkdGgoKSBj
b25zdCB7IHJldHVybiBtX3dpZHRoLT5jdXJyZW50VmFsdWUoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmNwcAppbmRleCBkMTVlMzU0NmMxMjEzZTAwZGZhNTdjODFiNGEwMGIy
ZWZlMzBhOTczLi4zZTM3ODAwYmVjMmQ2NjAzYmNjNTA0Y2E3N2NkZjU0M2UxNGFkODI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveChTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQotICAgIDog
bV92aWV3Qm94KFNWR0FuaW1hdGVkUmVjdDo6Y3JlYXRlKGNvbnRleHRFbGVtZW50LCBhY2Nlc3Mp
KQorICAgIDogbV92aWV3Qm94KFNWR0FuaW1hdGVkUmVjdDo6Y3JlYXRlKGNvbnRleHRFbGVtZW50
LCBhY2Nlc3MsIFNWR1Byb3BlcnR5U3RhdGU6OkludmFsaWQpKQogICAgICwgbV9wcmVzZXJ2ZUFz
cGVjdFJhdGlvKFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKGNvbnRleHRF
bGVtZW50LCBhY2Nlc3MpKQogewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsK
QEAgLTQ4LDEzICs0OCwxMyBAQCBTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveChTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYQogdm9pZCBTVkdGaXRU
b1ZpZXdCb3g6OnNldFZpZXdCb3goY29uc3QgRmxvYXRSZWN0JiB2aWV3Qm94KQogewogICAgIG1f
dmlld0JveC0+c2V0QmFzZVZhbEludGVybmFsKHZpZXdCb3gpOwotICAgIG1faXNWaWV3Qm94VmFs
aWQgPSB0cnVlOworICAgIG1fdmlld0JveC0+c2V0U3RhdGUoU1ZHUHJvcGVydHlTdGF0ZTo6Q2xl
YW4pOwogfQogCiB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cmVzZXRWaWV3Qm94KCkKIHsKICAgICBt
X3ZpZXdCb3gtPnNldEJhc2VWYWxJbnRlcm5hbCh7IH0pOwotICAgIG1faXNWaWV3Qm94VmFsaWQg
PSBmYWxzZTsKKyAgICBtX3ZpZXdCb3gtPnNldFN0YXRlKFNWR1Byb3BlcnR5U3RhdGU6OkludmFs
aWQpOwogfQogCiB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cmVzZXQoKQpAQCAtNjMsMzUgKzYzLDQx
IEBAIHZvaWQgU1ZHRml0VG9WaWV3Qm94OjpyZXNldCgpCiAgICAgcmVzZXRQcmVzZXJ2ZUFzcGVj
dFJhdGlvKCk7CiB9CiAKLWJvb2wgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQorT3B0aW9u
YWw8U1ZHUGFyc2luZ0Vycm9yPiBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0gICAg
aWYgKG5hbWUgPT0gU1ZHTmFtZXM6OnZpZXdCb3hBdHRyKSB7CisgICAgaWYgKG5hbWUubWF0Y2hl
cyhTVkdOYW1lczo6dmlld0JveEF0dHIpKSB7CiAgICAgICAgIEZsb2F0UmVjdCB2aWV3Qm94Owot
ICAgICAgICBpZiAoIXZhbHVlLmlzTnVsbCgpICYmIHBhcnNlVmlld0JveCh2YWx1ZSwgdmlld0Jv
eCkpCi0gICAgICAgICAgICBzZXRWaWV3Qm94KHZpZXdCb3gpOwotICAgICAgICBlbHNlCisgICAg
ICAgIGlmIChhdXRvIGVycm9yID0gcGFyc2VWaWV3Qm94KHZhbHVlLCB2aWV3Qm94KSkgewogICAg
ICAgICAgICAgcmVzZXRWaWV3Qm94KCk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAg
ICAgcmV0dXJuIGVycm9yOworICAgICAgICB9CisgICAgICAgIHNldFZpZXdCb3godmlld0JveCk7
CisgICAgICAgIHJldHVybiBOb0Vycm9yOwogICAgIH0KIAotICAgIGlmIChuYW1lID09IFNWR05h
bWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0cikgeworICAgIGlmIChuYW1lLm1hdGNoZXMoU1ZH
TmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyKSkgewogICAgICAgICBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvVmFsdWUgcHJlc2VydmVBc3BlY3RSYXRpbzsKLSAgICAgICAgcHJlc2VydmVBc3Bl
Y3RSYXRpby5wYXJzZSh2YWx1ZSk7CisgICAgICAgIGlmICghcHJlc2VydmVBc3BlY3RSYXRpby5w
YXJzZSh2YWx1ZSkpIHsKKyAgICAgICAgICAgIHJlc2V0UHJlc2VydmVBc3BlY3RSYXRpbygpOwor
ICAgICAgICAgICAgcmV0dXJuIFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcjsKKyAgICAgICAg
fQogICAgICAgICBzZXRQcmVzZXJ2ZUFzcGVjdFJhdGlvKHByZXNlcnZlQXNwZWN0UmF0aW8pOwot
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIE5vRXJyb3I7CiAgICAgfQogCi0g
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB7IH07CiB9CiAKLWJvb2wgU1ZHRml0VG9WaWV3
Qm94OjpwYXJzZVZpZXdCb3goY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgRmxvYXRSZWN0JiB2
aWV3Qm94KQorU1ZHUGFyc2luZ0Vycm9yIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNv
bnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEZsb2F0UmVjdCYgdmlld0JveCkKIHsKKyAgICBpZiAo
dmFsdWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBVbmV4cGVjdGVkRW5kT2ZBdHRyaWJ1dGVF
cnJvcjsKICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmFsdWUp
LnVwY29udmVydGVkQ2hhcmFjdGVycygpOwogICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzID0g
dXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwogICAgIHJldHVybiBwYXJzZVZpZXdCb3goY2hhcmFjdGVy
cywgY2hhcmFjdGVycyArIHZhbHVlLmxlbmd0aCgpLCB2aWV3Qm94KTsKIH0KIAotYm9vbCBTVkdG
aXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFyKiBl
bmQsIEZsb2F0UmVjdCYgdmlld0JveCwgYm9vbCB2YWxpZGF0ZSkKK1NWR1BhcnNpbmdFcnJvciBT
VkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFy
KiBlbmQsIEZsb2F0UmVjdCYgdmlld0JveCkKIHsKICAgICBTdHJpbmcgc3RyKGMsIGVuZCAtIGMp
OwogCkBAIC0xMDMsMzYgKzEwOSwyNCBAQCBib29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3
Qm94KGNvbnN0IFVDaGFyKiYgYywgY29uc3QgVUNoYXIqIGVuZCwgRmxvYXRSZWN0JgogICAgIGZs
b2F0IGhlaWdodCA9IDAuMGY7CiAgICAgYm9vbCB2YWxpZCA9IHBhcnNlTnVtYmVyKGMsIGVuZCwg
eCkgJiYgcGFyc2VOdW1iZXIoYywgZW5kLCB5KSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIHdpZHRo
KSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIGhlaWdodCwgZmFsc2UpOwogCi0gICAgaWYgKHZhbGlk
YXRlKSB7Ci0gICAgICAgIERvY3VtZW50JiBkb2N1bWVudCA9IG1fdmlld0JveC0+Y29udGV4dEVs
ZW1lbnQoKS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIXZhbGlkKQorICAgICAgICByZXR1cm4gUGFy
c2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOwogCi0gICAgICAgIGlmICghdmFsaWQpIHsKLSAgICAg
ICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRXYXJuaW5nKCJQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD1cIiIgKyBzdHIgKyAiXCIiKTsKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgfQorICAgIC8vIENoZWNrIHRoYXQgd2lkdGggaXMgcG9zaXRpdmUu
CisgICAgaWYgKHdpZHRoIDwgMC4wKQorICAgICAgICByZXR1cm4gTmVnYXRpdmVWYWx1ZUZvcmJp
ZGRlbkVycm9yOwogCi0gICAgICAgIC8vIENoZWNrIHRoYXQgd2lkdGggaXMgcG9zaXRpdmUuCi0g
ICAgICAgIGlmICh3aWR0aCA8IDAuMCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZH
RXh0ZW5zaW9ucygpLnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdp
ZHRoIGlzIG5vdCBhbGxvd2VkIik7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IH0KKyAgICAvLyBDaGVjayB0aGF0IGhlaWdodCBpcyBwb3NpdGl2ZS4KKyAgICBpZiAoaGVpZ2h0
IDwgMC4wKQorICAgICAgICByZXR1cm4gTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yOwogCi0g
ICAgICAgIC8vIENoZWNrIHRoYXQgaGVpZ2h0IGlzIHBvc2l0aXZlLgotICAgICAgICBpZiAoaGVp
Z2h0IDwgMC4wKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNpb25zKCku
cmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggaGVpZ2h0IGlzIG5vdCBh
bGxvd2VkIik7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAg
ICAvLyBOb3RoaW5nIHNob3VsZCBjb21lIGFmdGVyIHRoZSBsYXN0LCBmb3VydGggbnVtYmVyLgot
ICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoYywgZW5kKTsKLSAgICAgICAgaWYgKGMgPCBl
bmQpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRX
YXJuaW5nKCJQcm9ibGVtIHBhcnNpbmcgdmlld0JveD1cIiIgKyBzdHIgKyAiXCIiKTsKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KKyAgICAvLyBOb3RoaW5nIHNo
b3VsZCBjb21lIGFmdGVyIHRoZSBsYXN0LCBmb3VydGggbnVtYmVyLgorICAgIHNraXBPcHRpb25h
bFNWR1NwYWNlcyhjLCBlbmQpOworICAgIGlmIChjIDwgZW5kKQorICAgICAgICByZXR1cm4gUGFy
c2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yOwogCiAgICAgdmlld0JveCA9IHsgeCwgeSwgd2lkdGgs
IGhlaWdodCB9OwotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBOb0Vycm9yOwogfQogCiBB
ZmZpbmVUcmFuc2Zvcm0gU1ZHRml0VG9WaWV3Qm94Ojp2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKGNv
bnN0IEZsb2F0UmVjdCYgdmlld0JveFJlY3QsIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9W
YWx1ZSYgcHJlc2VydmVBc3BlY3RSYXRpbywgZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWV3SGVp
Z2h0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCmluZGV4IDdjYzQyMzE0MTYwMTkz
MTlkN2UyYjRkMmQ3ZDc2MzZjMzc5YjhhNGYuLmIzMTFmNGJhMjIwNGY1ZTlkNjc0Mzg3OWY2OTc2
ZTI0N2RmZWM4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKQEAgLTM2LDQy
ICszNiw0MSBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBTVkdGaXRUb1ZpZXdCb3gg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ZpdFRvVmlld0JveCk7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIEFmZmluZVRyYW5zZm9ybSB2aWV3Qm94VG9WaWV3VHJhbnNmb3JtKGNvbnN0IEZs
b2F0UmVjdCYgdmlld0JveFJlY3QsIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYs
IGZsb2F0IHZpZXdXaWR0aCwgZmxvYXQgdmlld0hlaWdodCk7Ci0KICAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZpdFRvVmlld0JveD47CiAK
KyAgICBzdGF0aWMgQWZmaW5lVHJhbnNmb3JtIHZpZXdCb3hUb1ZpZXdUcmFuc2Zvcm0oY29uc3Qg
RmxvYXRSZWN0JiB2aWV3Qm94UmVjdCwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVl
JiwgZmxvYXQgdmlld1dpZHRoLCBmbG9hdCB2aWV3SGVpZ2h0KTsKKwogICAgIGNvbnN0IEZsb2F0
UmVjdCYgdmlld0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld0JveC0+Y3VycmVudFZhbHVlKCk7
IH0KICAgICBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUmIHByZXNlcnZlQXNwZWN0
UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX3ByZXNlcnZlQXNwZWN0UmF0aW8tPmN1cnJlbnRWYWx1
ZSgpOyB9CiAKICAgICBTVkdBbmltYXRlZFJlY3QmIHZpZXdCb3hBbmltYXRlZCgpIHsgcmV0dXJu
IG1fdmlld0JveDsgfQogICAgIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyYgcHJlc2Vy
dmVBc3BlY3RSYXRpb0FuaW1hdGVkKCkgeyByZXR1cm4gbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvOyB9
CiAKKyAgICBTdHJpbmcgdmlld0JveFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIFNWR1Byb3BlcnR5
VHJhaXRzPEZsb2F0UmVjdD46OnRvU3RyaW5nKHZpZXdCb3goKSk7IH0KKyAgICBTdHJpbmcgcHJl
c2VydmVBc3BlY3RSYXRpb1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIHByZXNlcnZlQXNwZWN0UmF0
aW8oKS52YWx1ZUFzU3RyaW5nKCk7IH0KICAgICB2b2lkIHNldFZpZXdCb3goY29uc3QgRmxvYXRS
ZWN0Jik7Ci0gICAgdm9pZCByZXNldFZpZXdCb3goKTsKIAogICAgIHZvaWQgc2V0UHJlc2VydmVB
c3BlY3RSYXRpbyhjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUmIHByZXNlcnZlQXNw
ZWN0UmF0aW8pIHsgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLT5zZXRCYXNlVmFsSW50ZXJuYWwocHJl
c2VydmVBc3BlY3RSYXRpbyk7IH0KLSAgICB2b2lkIHJlc2V0UHJlc2VydmVBc3BlY3RSYXRpbygp
IHsgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLT5zZXRCYXNlVmFsSW50ZXJuYWwoeyB9KTsgfQotCi0g
ICAgU3RyaW5nIHZpZXdCb3hTdHJpbmcoKSBjb25zdCB7IHJldHVybiBTVkdQcm9wZXJ0eVRyYWl0
czxGbG9hdFJlY3Q+Ojp0b1N0cmluZyh2aWV3Qm94KCkpOyB9Ci0gICAgU3RyaW5nIHByZXNlcnZl
QXNwZWN0UmF0aW9TdHJpbmcoKSBjb25zdCB7IHJldHVybiBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCku
dmFsdWVBc1N0cmluZygpOyB9CisgICAgdm9pZCByZXNldCgpOwogCi0gICAgYm9vbCBoYXNWYWxp
ZFZpZXdCb3goKSBjb25zdCB7IHJldHVybiBtX2lzVmlld0JveFZhbGlkOyB9Ci0gICAgYm9vbCBo
YXNFbXB0eVZpZXdCb3goKSBjb25zdCB7IHJldHVybiBtX2lzVmlld0JveFZhbGlkICYmIHZpZXdC
b3goKS5pc0VtcHR5KCk7IH0KKyAgICBib29sIGhhc1ZhbGlkVmlld0JveCgpIGNvbnN0IHsgcmV0
dXJuIG1fdmlld0JveC0+c3RhdGUoKSAhPSBTVkdQcm9wZXJ0eVN0YXRlOjpJbnZhbGlkOyB9Cisg
ICAgYm9vbCBoYXNFbXB0eVZpZXdCb3goKSBjb25zdCB7IHJldHVybiBoYXNWYWxpZFZpZXdCb3go
KSAmJiB2aWV3Qm94KCkuaXNFbXB0eSgpOyB9CiAKIHByb3RlY3RlZDoKICAgICBTVkdGaXRUb1Zp
ZXdCb3goU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQsIFNWR1Byb3BlcnR5QWNjZXNzID0gU1ZH
UHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSk7CiAKICAgICBzdGF0aWMgYm9vbCBpc0tub3duQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIHsgcmV0dXJuIFByb3Bl
cnR5UmVnaXN0cnk6OmlzS25vd25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7IH0KIAotICAgIHZv
aWQgcmVzZXQoKTsKLSAgICBib29sIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICBib29sIHBhcnNlVmlld0JveChjb25zdCBBdG9t
aWNTdHJpbmcmIHZhbHVlLCBGbG9hdFJlY3QmIHZpZXdCb3gpOwotICAgIGJvb2wgcGFyc2VWaWV3
Qm94KGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQsIEZsb2F0UmVjdCYgdmll
d0JveCwgYm9vbCB2YWxpZGF0ZSA9IHRydWUpOworICAgIE9wdGlvbmFsPFNWR1BhcnNpbmdFcnJv
cj4gcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYpOworICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZVZpZXdCb3goY29uc3QgQXRvbWljU3RyaW5n
JiB2YWx1ZSwgRmxvYXRSZWN0JiB2aWV3Qm94KTsKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VW
aWV3Qm94KGNvbnN0IFVDaGFyKiYgc3RhcnQsIGNvbnN0IFVDaGFyKiBlbmQsIEZsb2F0UmVjdCYg
dmlld0JveCk7CiAKIHByaXZhdGU6CisgICAgdm9pZCByZXNldFZpZXdCb3goKTsKKyAgICB2b2lk
IHJlc2V0UHJlc2VydmVBc3BlY3RSYXRpbygpIHsgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLT5zZXRC
YXNlVmFsSW50ZXJuYWwoeyB9KTsgfQorCiAgICAgUmVmPFNWR0FuaW1hdGVkUmVjdD4gbV92aWV3
Qm94OwogICAgIFJlZjxTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8+IG1fcHJlc2VydmVB
c3BlY3RSYXRpbzsKLSAgICBib29sIG1faXNWaWV3Qm94VmFsaWQgeyBmYWxzZSB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAppbmRl
eCBjZDFlOGVhMGIyNzRkOGNjOGQ2NDdlYWFiNjFkMGVmNzViZDk1NzQ4Li5hNjYyYTBiZDhlZTlj
YjVlM2QzYTZkYTIxOTA2MzFiODg3MmYyZWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRm9udEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1l
bnQuaApAQCAtNDQsMTYgKzQ0LDE2IEBAIHN0cnVjdCBTVkdLZXJuaW5nUGFpciB7CiAKIGNsYXNz
IFNWR0ZvbnRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0Zv
bnRFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR0ZvbnRFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHRm9udEVsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBT
VkdGb250RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIGJv
b2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZh
bHNlOyB9Ci0KLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0ZvbnRFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CisgICAgYm9vbCBy
ZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7
IH0KIAogICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKaW5kZXggOGY4YmE1ODky
YmUyODA3OThlZTQxZGMwMGJkMWIzY2I3ZDMwOThhOS4uMjRmNzRlZWJkODQzODI5ZmFkNjgzYzAz
MDUxMjA4YWUyMWNkZjllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQu
aApAQCAtMzIsNiArMzIsOCBAQCBjbGFzcyBTdHlsZVJ1bGVGb250RmFjZTsKIAogY2xhc3MgU1ZH
Rm9udEZhY2VFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoU1ZHRm9udEZhY2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJl
Z2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZvbnRGYWNlRWxlbWVudCwgU1ZH
RWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0ZvbnRGYWNlRWxlbWVudD4g
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01Nyw2ICs1OSw3
IEBAIHByaXZhdGU6CiAgICAgU1ZHRm9udEZhY2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYpOwogICAgIH5TVkdGb250RmFjZUVsZW1lbnQoKTsKIAorICAgIGNvbnN0IFNW
R1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBmaW5hbDsKIAogICAgIHZvaWQgY2hp
bGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgZmluYWw7CkBAIC02NSw2ICs2OCw3IEBA
IHByaXZhdGU6CiAKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUm
KSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3Bl
cnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogICAgIFJlZjxTdHlsZVJ1bGVGb250RmFjZT4gbV9mb250
RmFjZVJ1bGU7CiAgICAgU1ZHRm9udEVsZW1lbnQqIG1fZm9udEVsZW1lbnQ7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5oCmluZGV4IDA1NjA3NWVl
OWFiMzdjZjhjZTg3NDYzMjk4MGU3YzIxMDg0MzUzOGYuLjIzNWUwYzhmODNhMzFjN2Q5NTM0ZGMx
MThjOGY1ZTE2ZDc2YzVkNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250
RmFjZUZvcm1hdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VG
b3JtYXRFbGVtZW50LmgKQEAgLTI3LDE0ICsyNywxOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudCk7
CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxT
VkdGb250RmFjZUZvcm1hdEVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBTVkdGb250RmFjZUZvcm1hdEVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9w
ZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
cm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRD
aGFuZ2UmKSBmaW5hbDsKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3By
b3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmgKaW5kZXggODY3Y2Rj
ODVmNmVkNDQ3NDkyMmY3MmU4ZDkzNzA5MzE1OTM2ODZiNi4uNDJiMjBmNmQ2NTg3Y2RkMjZkNTcx
MDIxMWQxZDBkOTc4NmI2YzU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Zv
bnRGYWNlTmFtZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VO
YW1lRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIGNsYXNzIENTU0ZvbnRGYWNlU3JjVmFsdWU7
CiAKIGNsYXNzIFNWR0ZvbnRGYWNlTmFtZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVu
dCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdGb250RmFjZU5hbWVFbGVtZW50KTsK
KyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R0ZvbnRGYWNlTmFtZUVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTVkdGb250RmFjZU5hbWVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAgICAgCkBAIC0zNyw3ICszOSwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFNWR0ZvbnRGYWNlTmFtZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5k
ZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
KworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFj
ZVNyY0VsZW1lbnQuaAppbmRleCA0MTY5NjhjNjFmNWFmMTkyMTY2MjRkYTJiMWM2MTg5ZjdiZDc0
MjlhLi43YmVmYTg2MmM1OTgwNTNlMDQxYjcxYzg4ZTQ4ZGYwZjdjMjI3Y2I4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBAIGNs
YXNzIENTU1ZhbHVlTGlzdDsKIAogY2xhc3MgU1ZHRm9udEZhY2VTcmNFbGVtZW50IGZpbmFsIDog
cHVibGljIFNWR0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRm9udEZh
Y2VTcmNFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlP
d25lclJlZ2lzdHJ5PFNWR0ZvbnRGYWNlU3JjRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPFNWR0ZvbnRGYWNlU3JjRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0zNyw4ICszOSwxMSBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFNWR0ZvbnRGYWNlU3JjRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKICAgICAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAg
ICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsKICAgICBi
b29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBm
YWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhp
cyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRGYWNlVXJpRWxlbWVudC5oCmluZGV4IGM3OGEyYmNhOTdmNGZhMzU5ZGYxYTY3ZjBlZGUw
MDQ4MTk5ODEwYjMuLmQ3YzkwZGI4NGNkNTBiYjgzYWQ2NjlmYjQyYzA5NjMyYjhhNTJiNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgKQEAgLTMxLDYgKzMx
LDggQEAgY2xhc3MgQ1NTRm9udEZhY2VTcmNWYWx1ZTsKIAogY2xhc3MgU1ZHRm9udEZhY2VVcmlF
bGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBDYWNoZWRGb250Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvbnRGYWNlVXJpRWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdG
b250RmFjZVVyaUVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxTVkdGb250RmFjZVVyaUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIApAQCAtNDAsMTQgKzQyLDE3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBT
VkdGb250RmFjZVVyaUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7Ci0g
ICAgCisKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmlu
YWw7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmKSBmaW5hbDsK
KwogICAgIEluc2VydGVkSW50b0FuY2VzdG9yUmVzdWx0IGluc2VydGVkSW50b0FuY2VzdG9yKElu
c2VydGlvblR5cGUsIENvbnRhaW5lck5vZGUmKSBmaW5hbDsKICAgICBib29sIHJlbmRlcmVySXNO
ZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAg
dm9pZCBsb2FkRm9udCgpOwogCisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0
cnkgeyAqdGhpcyB9OwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IG1fY2Fj
aGVkRm9udDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50LmgKaW5kZXggZmI1NzQ2OGEwNmZiYTEwOGE1MTJmOWJlNWUyNjAxMWIyODc5ZjZmNy4uMGFj
ODUxZGQ2OWZhMGRjMDMxZjgzYjYyYjg5YTA5MmFhYzNlMmMyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50
KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdGb3JlaWdu
T2JqZWN0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CkBAIC00NCw5ICs0Niw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHRm9yZWlnbk9iamVj
dEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZp
bmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikg
ZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKaW5kZXggY2IyMDZhZTM0YWQyY2JiYmYz
NDgwMWMxMmFlNDAxOTc5MDJiNmY1Zi4uYWRhZWJiZWQxNTM1MTY0YTFhMDlhMjkyY2FhYTU0Mjc2
ZDk1Yjk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdHRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdH
cmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0
eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dFbGVtZW50LCBTVkdHcmFw
aGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OworCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTVkdHRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogICAgIHN0YXRpYyBSZWY8U1ZHR0VsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYp
OwpAQCAtMzcsOSArMzksNyBAQCBwcml2YXRlOgogCiAgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1l
bnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVl
UG9zaXRpb24mKSBmaW5hbDsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYg
cHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5
RWxlbWVudC5oCmluZGV4IGQyNGU2MjJkMWUwMmEyNTlkMDNiYzhkNmZmNTJkMWYwNmNiODZmNTYu
LjNjZjI0N2Q3ZGVjMDFmOTc1ZjBhNGMyMWViOTRlNzExYThkYmEzZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKQEAgLTMzLDE1ICszMywxNiBAQCBjbGFzcyBTVkdQ
b2ludDsKIAogY2xhc3MgU1ZHR2VvbWV0cnlFbGVtZW50IDogcHVibGljIFNWR0dyYXBoaWNzRWxl
bWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHZW9tZXRyeUVsZW1lbnQpOwor
ICAgIAogcHVibGljOgorICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHR2VvbWV0cnlFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1lbnQ+OworCiAg
ICAgdmlydHVhbCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0OwogICAgIHZpcnR1YWwgUmVm
PFNWR1BvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdDsKIAogICAg
IGJvb2wgaXNQb2ludEluRmlsbChET01Qb2ludEluaXQmJik7CiAgICAgYm9vbCBpc1BvaW50SW5T
dHJva2UoRE9NUG9pbnRJbml0JiYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0dyYXBoaWNzRWxl
bWVudD47Ci0KICAgICBmbG9hdCBwYXRoTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9wYXRoTGVu
Z3RoLT5jdXJyZW50VmFsdWUoKTsgfQogICAgIFNWR0FuaW1hdGVkTnVtYmVyJiBwYXRoTGVuZ3Ro
QW5pbWF0ZWQoKSB7IHJldHVybiBtX3BhdGhMZW5ndGg7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ds
eXBoRWxlbWVudC5oCmluZGV4IDlmZjk5MWU3MjBjYjgyZjhmYTBhMDZhNjAwODA1MDBiYTY5ODhk
ODEuLjkwYzY5Mzg5NWZkMzBhN2FmZGEyYmViN2RmNzBiMjMzZTQ1YmQ0ODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmgKQEAgLTI5LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTVkdHbHlwaEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdHbHlwaEVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHR2x5cGhFbGVt
ZW50LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHR2x5cGhFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTM4LDcg
KzQwLDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHR2x5cGhFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQogICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZp
bmFsIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlS
ZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmgKaW5kZXggYmUwNDZlZTczNjI1YWVkOTBiY2Q3
ZGY1NmFiZTllMWQ3MTVkOTg2OS4uNTkyYjhjZmFiODMxNmE3Zjk3MjlmMGNhOTkyNTNiNzFjNTI1
MDEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQuaApAQCAtMjksNiAr
MjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0dseXBoUmVmRWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dseXBoUmVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJv
cGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHbHlwaFJlZkVsZW1l
bnQsIFNWR0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR0dseXBoUmVmRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwogCkBAIC00Niw5ICs0OCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHR2x5
cGhSZWZFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNp
bmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdHbHlwaFJl
ZkVsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJv
cGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
cHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCmluZGV4IDIxYjIxMGM1OTUxZGNi
MWNlYzVjNjQyZWE4OWVjMzYyMjQ4MWY3YWYuLjBiNmM3ZDVmMmRkOTMyY2E1OWMxYTNmMjU1NTMw
MjVkYzMxNTljYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgKQEAg
LTMwLDQ5ICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gU1ZHU3ByZWFk
TWV0aG9kVHlwZSB7Ci0gICAgU1ZHU3ByZWFkTWV0aG9kVW5rbm93biA9IDAsCi0gICAgU1ZHU3By
ZWFkTWV0aG9kUGFkLAotICAgIFNWR1NwcmVhZE1ldGhvZFJlZmxlY3QsCi0gICAgU1ZHU3ByZWFk
TWV0aG9kUmVwZWF0Ci19OwotCi10ZW1wbGF0ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
U1ZHU3ByZWFkTWV0aG9kVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51bVZh
bHVlKCkgeyByZXR1cm4gU1ZHU3ByZWFkTWV0aG9kUmVwZWF0OyB9Ci0KLSAgICBzdGF0aWMgU3Ry
aW5nIHRvU3RyaW5nKFNWR1NwcmVhZE1ldGhvZFR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIFNWR1NwcmVhZE1ldGhvZFVua25vd246Ci0gICAg
ICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdTcHJlYWRNZXRo
b2RQYWQ6Ci0gICAgICAgICAgICByZXR1cm4gInBhZCJfczsKLSAgICAgICAgY2FzZSBTVkdTcHJl
YWRNZXRob2RSZWZsZWN0OgotICAgICAgICAgICAgcmV0dXJuICJyZWZsZWN0Il9zOwotICAgICAg
ICBjYXNlIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDoKLSAgICAgICAgICAgIHJldHVybiAicmVwZWF0
Il9zOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
IHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIH0KLQotICAgIHN0YXRpYyBTVkdTcHJlYWRNZXRo
b2RUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlm
ICh2YWx1ZSA9PSAicGFkIikKLSAgICAgICAgICAgIHJldHVybiBTVkdTcHJlYWRNZXRob2RQYWQ7
Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAicmVmbGVjdCIpCi0gICAgICAgICAgICByZXR1cm4gU1ZH
U3ByZWFkTWV0aG9kUmVmbGVjdDsKLSAgICAgICAgaWYgKHZhbHVlID09ICJyZXBlYXQiKQotICAg
ICAgICAgICAgcmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDsKLSAgICAgICAgcmV0dXJuIFNW
R1NwcmVhZE1ldGhvZFVua25vd247Ci0gICAgfQotfTsKLQogY2xhc3MgU1ZHR3JhZGllbnRFbGVt
ZW50IDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFNWR0dyYWRpZW50RWxlbWVudCk7CisKIHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHRWxl
bWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwog
ICAgIGVudW0gewogICAgICAgICBTVkdfU1BSRUFETUVUSE9EX1VOS05PV04gPSBTVkdTcHJlYWRN
ZXRob2RVbmtub3duLAogICAgICAgICBTVkdfU1BSRUFETUVUSE9EX1BBRCA9IFNWR1NwcmVhZE1l
dGhvZFJlZmxlY3QsCkBAIC04Miw4ICs0NSw2IEBAIHB1YmxpYzoKIAogICAgIFZlY3RvcjxHcmFk
aWVudDo6Q29sb3JTdG9wPiBidWlsZFN0b3BzKCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHRWxl
bWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKLQog
ICAgIFNWR1NwcmVhZE1ldGhvZFR5cGUgc3ByZWFkTWV0aG9kKCkgY29uc3QgeyByZXR1cm4gbV9z
cHJlYWRNZXRob2QtPmN1cnJlbnRWYWx1ZTxTVkdTcHJlYWRNZXRob2RUeXBlPigpOyB9CiAgICAg
U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSBncmFkaWVudFVuaXRzKCkgY29uc3QgeyByZXR1cm4g
bV9ncmFkaWVudFVuaXRzLT5jdXJyZW50VmFsdWU8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT4o
KTsgfQogICAgIGNvbnN0IFNWR1RyYW5zZm9ybUxpc3QmIGdyYWRpZW50VHJhbnNmb3JtKCkgY29u
c3QgeyByZXR1cm4gbV9ncmFkaWVudFRyYW5zZm9ybS0+Y3VycmVudFZhbHVlKCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdHcmFwaGljc0VsZW1lbnQuaAppbmRleCBkNTE2ZTU5YjM4NTkwNmIyODc5
ODJjYjkwZmQ4Zjc2MGZmYTc3NTRhLi43ZWM0NGYxYmMzZmMxYTEzNjBiMjBiYzA5NDA0NzIwNmIw
NmFjMWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhcGhpY3NFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dyYXBoaWNzRWxlbWVudC5oCkBAIC0zNCw3
ICszNCwxMCBAQCBjbGFzcyBTVkdNYXRyaXg7CiAKIGNsYXNzIFNWR0dyYXBoaWNzRWxlbWVudCA6
IHB1YmxpYyBTVkdFbGVtZW50LCBwdWJsaWMgU1ZHVHJhbnNmb3JtYWJsZSwgcHVibGljIFNWR1Rl
c3RzIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dyYXBoaWNzRWxlbWVudCk7CisK
IHB1YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJl
Z2lzdHJ5PFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHVGVzdHM+OworCiAgICAg
dmlydHVhbCB+U1ZHR3JhcGhpY3NFbGVtZW50KCk7CiAKICAgICBSZWY8U1ZHTWF0cml4PiBnZXRD
VE1Gb3JCaW5kaW5ncygpOwpAQCAtNjIsOCArNjUsNiBAQCBwdWJsaWM6CiAKICAgICBzaXplX3Qg
YXBwcm94aW1hdGVNZW1vcnlDb3N0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc2l6ZW9mKCp0
aGlzKTsgfQogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJS
ZWdpc3RyeTxTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR1Rlc3RzPjsKLQogICAg
IGNvbnN0IFNWR1RyYW5zZm9ybUxpc3QmIHRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJh
bnNmb3JtLT5jdXJyZW50VmFsdWUoKTsgfQogICAgIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdCYg
dHJhbnNmb3JtQW5pbWF0ZWQoKSB7IHJldHVybiBtX3RyYW5zZm9ybTsgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHSEtlcm5FbGVtZW50LmgKaW5kZXggNzQ3YjAzMjdkNjk4NjM3YzhmNjVlN2JlOTA0NDA4
ODQ1NDM2NTEzMy4uZjI5MzVmMDBkMjA2ZGYzMzE1ZTEwMWU1NzQzNWFiNWRlMGNlOTBlMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdIS2VybkVsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0hLZXJuRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdF
bGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0hLZXJuRWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdI
S2VybkVsZW1lbnQsIFNWR0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdI
S2VybkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApA
QCAtMzcsNyArMzksMTAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdIS2VybkVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0
eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9CiAgICAgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0
eWxlJikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFByb3BlcnR5UmVnaXN0cnkgbV9w
cm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAppbmRleCBkY2Q3YTA4MjZhZDQ5YTJlZmQ2
ZDEwOGJiMTFhMjg5ZTk2Mzk1NGQ0Li5kMzFmMDMyZGI5Y2M5MWRkODE0ZjAyMmUyZjhkMGVkZDdj
MDI1NzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHSW1hZ2VFbGVtZW50IGZpbmFsIDog
cHVibGljIFNWR0dyYXBoaWNzRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU1ZHSW1hZ2VFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR0ltYWdlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdJbWFnZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTEsOSArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFNWR0ltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAg
ICAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR0ltYWdlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0
cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVn
aXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaAppbmRl
eCBmZjBmZDM1MTRiMjYzZTEzOGQ1Y2NhOTA3ZjNhNzk4N2I2ZjNiOWVmLi45YmJiNWRmODI1NWFl
ZjYwYTU4YzEzNGYyNDU4YWUxOGZjOTAyMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5oCkBAIC02
Niw2ICs2NiwyMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0xl
bmd0aChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOwogICAgIH0KIAorICAgIHN0YXRpYyBFeHBlY3Rl
ZDxSZWY8U1ZHTGVuZ3RoPiwgU1ZHUGFyc2luZ0Vycm9yPiBjcmVhdGUoY29uc3QgVUNoYXIqJiBw
dHIsIGNvbnN0IFVDaGFyKiBlbmQsIFNWR0xlbmd0aE1vZGUgbGVuZ3RoTW9kZSkKKyAgICB7Cisg
ICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVu
ZCAmJiAqcHRyICE9ICcsJyAmJiAhaXNTVkdTcGFjZSgqcHRyKSkKKyAgICAgICAgICAgIHB0cisr
OworCisgICAgICAgIFN0cmluZyBzdHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KTsKKyAgICAgICAg
aWYgKHN0cmluZy5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQo
UGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAgICBTVkdMZW5ndGhWYWx1ZSB2
YWx1ZShsZW5ndGhNb2RlKTsKKyAgICAgICAgaWYgKHZhbHVlLnNldFZhbHVlQXNTdHJpbmcoc3Ry
aW5nKS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQ
YXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIHJldHVybiBTVkdMZW5ndGg6
OmNyZWF0ZSh2YWx1ZSk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBz
dGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNWR0xlbmd0aD4+IGNyZWF0ZShFeGNlcHRpb25PcjxUPiYm
IHZhbHVlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhM
aXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCmluZGV4IGIwMTQ3ZmEy
MzRmNGQ5YTg4ZjlmYzlmMzFkNWYzODg5NzMxNjc2OTUuLmRmZTY1Njk4NTg5MzY5NTg3ZDBkOTgz
NmMyOTc0YTU0OTBmYmRlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5n
dGhMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaApAQCAtNTIs
NDYgKzUyLDExIEBAIHB1YmxpYzoKIAogICAgIFNWR0xlbmd0aE1vZGUgbGVuZ3RoTW9kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbGVuZ3RoTW9kZTsgfQogCi0gICAgYm9vbCBwYXJzZShjb25zdCBTdHJp
bmcmIHZhbHVlKQorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVl
KQogICAgIHsKLSAgICAgICAgY2xlYXJJdGVtcygpOwotCi0gICAgICAgIGF1dG8gdXBjb252ZXJ0
ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7
Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAg
ICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyB2YWx1ZS5sZW5ndGgoKTsKLSAgICAgICAgd2hp
bGUgKHB0ciA8IGVuZCkgewotICAgICAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gcHRyOwot
ICAgICAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyICE9ICcsJyAmJiAhaXNTVkdTcGFj
ZSgqcHRyKSkKLSAgICAgICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICAgIGlmIChwdHIgPT0g
c3RhcnQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIFN0cmluZyB2YWx1
ZVN0cmluZyhzdGFydCwgcHRyIC0gc3RhcnQpOwotICAgICAgICAgICAgU1ZHTGVuZ3RoVmFsdWUg
dmFsdWUobV9sZW5ndGhNb2RlKTsKLSAgICAgICAgICAgIGlmICh2YWx1ZS5zZXRWYWx1ZUFzU3Ry
aW5nKHZhbHVlU3RyaW5nKS5oYXNFeGNlcHRpb24oKSkKLSAgICAgICAgICAgICAgICBicmVhazsK
LQotICAgICAgICAgICAgYXBwZW5kKFNWR0xlbmd0aDo6Y3JlYXRlKHZhbHVlKSk7Ci0gICAgICAg
ICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7Ci0gICAgICAg
IH0KLQotICAgICAgICByZXR1cm4gcHRyID09IGVuZDsKKyAgICAgICAgcmV0dXJuIEJhc2U6OnBh
cnNlKHZhbHVlLCBtX2xlbmd0aE1vZGUpOwogICAgIH0KIAotICAgIFN0cmluZyB2YWx1ZUFzU3Ry
aW5nKCkgY29uc3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRl
cjsKLQotICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGxlbmd0aCA6IG1faXRlbXMpIHsKLSAgICAg
ICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcgJyk7Ci0KLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGxlbmd0aC0+dmFsdWUoKS52
YWx1ZUFzU3RyaW5nKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9T
dHJpbmcoKTsKLSAgICB9Ci0gICAgCiBwcml2YXRlOgogICAgIFNWR0xlbmd0aExpc3QoU1ZHTGVu
Z3RoTW9kZSBsZW5ndGhNb2RlKQogICAgICAgICA6IG1fbGVuZ3RoTW9kZShsZW5ndGhNb2RlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aFZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTGVuZ3RoVmFsdWUuaAppbmRleCA5MjY2MWIyMWU1M2U3MDBjYTFiYWZl
ZTUxZTFmN2M1YWM5ZDZlMzQ1Li45N2I1NTEzN2QyNDg1MTYyMzZiNTM1ZjQ5Yzc2NjI2MWIyYjA0
YmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoVmFsdWUuaApAQCAtMTQ1LDE3ICsxNDUsNiBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdW5pdDsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0
IFNWR1Byb3BlcnR5VHJhaXRzPFNWR0xlbmd0aFZhbHVlPiB7Ci0gICAgc3RhdGljIFNWR0xlbmd0
aFZhbHVlIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQotICAgIHN0YXRpYyBPcHRpb25h
bDxTVkdMZW5ndGhWYWx1ZT4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIGNv
bnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgU1ZHTGVuZ3RoVmFsdWUgbGVuZ3Ro
OwotICAgICAgICBsZW5ndGguc2V0VmFsdWVBc1N0cmluZyhzdHJpbmcsIFNWR0xlbmd0aFZhbHVl
OjpsZW5ndGhNb2RlRm9yQW5pbWF0ZWRMZW5ndGhBdHRyaWJ1dGUoYXR0ck5hbWUpKS5oYXNFeGNl
cHRpb24oKTsKLSAgICAgICAgcmV0dXJuIGxlbmd0aDsKLSAgICB9Ci0gICAgc3RhdGljIFN0cmlu
ZyB0b1N0cmluZyhjb25zdCBTVkdMZW5ndGhWYWx1ZSYgbGVuZ3RoKSB7IHJldHVybiBsZW5ndGgu
dmFsdWVBc1N0cmluZygpOyB9Ci19OwotCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RG
OjpUZXh0U3RyZWFtJiwgY29uc3QgU1ZHTGVuZ3RoVmFsdWUmKTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAppbmRleCBkZDAyOWEzZDViZWQ4
MjUwMjQ4Nzk5Yzk0Y2NjNmM3ODFkMjdhMmNmLi5lMWZiZWE5ZTI1MGNlYjQ3NzliZWI3NGY3ZjNl
MjQ1ZDQ4YmE0NzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaApAQCAtMjksNiAr
MjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR0xpbmVFbGVtZW50IGZpbmFs
IDogcHVibGljIFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHTGluZUVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
TGluZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR0xpbmVFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTQ1LDkgKzQ3LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBTVkdMaW5lRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHTGluZUVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJv
cGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsg
fQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVh
ckdyYWRpZW50RWxlbWVudC5oCmluZGV4IDA0YTMxZGQ0N2MwYjIxOTE2MzgzOGFmNWM1ZTA5YTky
ODVjM2EyNmYuLjhhZDFlYTlkMjQ5OTAyNWI1MzNjZTZhYTA2OWRkZWIzNjk0ZjIxNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKQEAgLTMwLDYg
KzMwLDggQEAgc3RydWN0IExpbmVhckdyYWRpZW50QXR0cmlidXRlczsKIAogY2xhc3MgU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYWRpZW50RWxlbWVudCB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQpOworICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNDgsOSArNTAsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1lbnQ+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3Zl
cnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaAppbmRleCBkNjU5MDNjZWI4
M2E5YmNmNjE1NGI3OGNjYWE0YTZiYTM1NGIzZmU2Li42NzBlNjRkOWFiYzMzOTc4Nzc3OTRhMmJh
MTM3ZmI0ZTJhZDMwOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5oCkBAIC0z
MSw2ICszMSw4IEBAIGNsYXNzIFNWR1BhdGhFbGVtZW50OwogCiBjbGFzcyBTVkdNUGF0aEVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoU1ZHTVBhdGhFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01QYXRoRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U1ZHTVBhdGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAKQEAgLTQzLDkgKzQ1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBT
VkdNUGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICB1
c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01QYXRo
RWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHVVJJ
UmVmZXJlbmNlPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lz
dHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2Vy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAppbmRleCBm
MDM0NTg0NDAzYmFiYTI2M2YxOGJlYzFjMTQzOGM3NmU4NjgxYjUwLi5hNjNiYzUzNTBiZjg1ODg3
MTU0OTkxZmFiODQzOThiMzc2NDQ3OThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTWFya2VyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVt
ZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdN
YXJrZXJFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94IHsKICAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEKFNWR01hcmtlckVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWFya2VyRWxlbWVudCwgU1ZHRWxl
bWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKKwog
cHVibGljOgogICAgIC8vIEZvcndhcmQgZGVjbGFyZSBlbnVtZXJhdGlvbnMgaW4gdGhlIFczQyBu
YW1pbmcgc2NoZW1lLCBmb3IgSURMIGdlbmVyYXRpb24uCiAgICAgZW51bSB7CkBAIC03MSw5ICs3
Myw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHTWFya2VyRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBT
VkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWFya2VyRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKICAgICBjb25zdCBT
VkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lk
IHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogICAg
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdNYXJrZXJUeXBlcy5oCmluZGV4IGI4MTFkMmU5ZGJjYjRkMjYzYmJmYzNjMDBj
Mjc0YzM3MmEzOGUwN2EuLjgyNmEwZjU0NDg1ZTA4NTA0NGE0Njk3Yjk4OTE5M2MwYjgxN2Y4ZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJUeXBlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJUeXBlcy5oCkBAIC0yNiw5OSArMjYsMzIgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSAiU1ZHQW5nbGVWYWx1ZS5oIgorI2luY2x1ZGUgIlNWR0Vu
dW1UeXBlLmgiCiAjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1lbnVtIFNWR01hcmtlclVuaXRzVHlwZSB7Ci0gICAgU1ZHTWFya2VyVW5pdHNV
bmtub3duID0gMCwKLSAgICBTVkdNYXJrZXJVbml0c1VzZXJTcGFjZU9uVXNlLAotICAgIFNWR01h
cmtlclVuaXRzU3Ryb2tlV2lkdGgKLX07Ci0KLWVudW0gU1ZHTWFya2VyT3JpZW50VHlwZSB7Ci0g
ICAgU1ZHTWFya2VyT3JpZW50VW5rbm93biA9IDAsCi0gICAgU1ZHTWFya2VyT3JpZW50QXV0bywK
LSAgICBTVkdNYXJrZXJPcmllbnRBbmdsZSwKLSAgICBTVkdNYXJrZXJPcmllbnRBdXRvU3RhcnRS
ZXZlcnNlLAotICAgIAotICAgIC8vIEFkZCBuZXcgZWxlbWVudHMgYmVmb3JlIGhlcmUuCi0gICAg
U1ZHTWFya2VyT3JpZW50TWF4Ci19OwotICAgIAogdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdo
ZXN0RW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDsgfQotICAg
IHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHTWFya2VyVW5pdHNUeXBlIHR5cGUpCi0gICAgewot
ICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBTVkdNYXJrZXJVbml0c1Vua25v
d246Ci0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgY2FzZSBTVkdN
YXJrZXJVbml0c1VzZXJTcGFjZU9uVXNlOgotICAgICAgICAgICAgcmV0dXJuICJ1c2VyU3BhY2VP
blVzZSJfczsKLSAgICAgICAgY2FzZSBTVkdNYXJrZXJVbml0c1N0cm9rZVdpZHRoOgotICAgICAg
ICAgICAgcmV0dXJuICJzdHJva2VXaWR0aCJfczsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwot
ICAgIH0KLSAgICBzdGF0aWMgU1ZHTWFya2VyVW5pdHNUeXBlIGZyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKK3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8U1ZHQW5nbGVW
YWx1ZSwgU1ZHTWFya2VyT3JpZW50VHlwZT4+IHsKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8c3RkOjpw
YWlyPFNWR0FuZ2xlVmFsdWUsIFNWR01hcmtlck9yaWVudFR5cGU+LCBTVkdQYXJzaW5nRXJyb3I+
IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09
ICJ1c2VyU3BhY2VPblVzZSIpCi0gICAgICAgICAgICByZXR1cm4gU1ZHTWFya2VyVW5pdHNVc2Vy
U3BhY2VPblVzZTsKLSAgICAgICAgaWYgKHZhbHVlID09ICJzdHJva2VXaWR0aCIpCi0gICAgICAg
ICAgICByZXR1cm4gU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aDsKLSAgICAgICAgcmV0dXJuIFNW
R01hcmtlclVuaXRzVW5rbm93bjsKLSAgICB9Ci19OworICAgICAgICBTVkdBbmdsZVZhbHVlIGFu
Z2xlOworICAgICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBz
dGQ6Om1ha2VfcGFpcihhbmdsZSwgU1ZHTWFya2VyT3JpZW50QW5nbGUpOwogCi10ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT4gewotICAgIHN0
YXRpYyBjb25zdCBTdHJpbmcgYXV0b1N0cmluZygpCi0gICAgewotICAgICAgICBzdGF0aWMgY29u
c3QgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBhdXRvU3RyaW5nID0gTUFLRV9TVEFUSUNfU1RSSU5H
X0lNUEwoImF1dG8iKTsKLSAgICAgICAgcmV0dXJuIGF1dG9TdHJpbmc7Ci0gICAgfQotICAgIHN0
YXRpYyBjb25zdCBTdHJpbmcgYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZygpCi0gICAgewotICAgICAg
ICBzdGF0aWMgY29uc3QgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBhdXRvU3RhcnRSZXZlcnNlU3Ry
aW5nID0gTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoImF1dG8tc3RhcnQtcmV2ZXJzZSIpOwotICAg
ICAgICByZXR1cm4gYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZzsKLSAgICB9Ci0gICAgc3RhdGljIHVu
c2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdNYXJrZXJPcmllbnRBdXRvU3Rh
cnRSZXZlcnNlOyB9Ci0gICAgc3RhdGljIFNWR01hcmtlck9yaWVudFR5cGUgZnJvbVN0cmluZyhj
b25zdCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAgICAgIGlmIChzdHJpbmcgPT0gYXV0b1N0
cmluZygpKQotICAgICAgICAgICAgcmV0dXJuIFNWR01hcmtlck9yaWVudEF1dG87Ci0gICAgICAg
IGlmIChzdHJpbmcgPT0gYXV0b1N0YXJ0UmV2ZXJzZVN0cmluZygpKQotICAgICAgICAgICAgcmV0
dXJuIFNWR01hcmtlck9yaWVudEF1dG9TdGFydFJldmVyc2U7Ci0gICAgICAgIHJldHVybiBTVkdN
YXJrZXJPcmllbnRVbmtub3duOwotICAgIH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKFNW
R01hcmtlck9yaWVudFR5cGUgdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmICh0eXBlID09IFNWR01h
cmtlck9yaWVudEF1dG8pCi0gICAgICAgICAgICByZXR1cm4gYXV0b1N0cmluZygpOwotICAgICAg
ICBpZiAodHlwZSA9PSBTVkdNYXJrZXJPcmllbnRBdXRvU3RhcnRSZXZlcnNlKQotICAgICAgICAg
ICAgcmV0dXJuIGF1dG9TdGFydFJldmVyc2VTdHJpbmcoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5
U3RyaW5nKCk7Ci0gICAgfQotfTsKKyAgICAgICAgU1ZHTWFya2VyT3JpZW50VHlwZSBvcmllbnRU
eXBlID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT46OmZyb21TdHJpbmco
c3RyaW5nKTsKKyAgICAgICAgaWYgKG9yaWVudFR5cGUgIT0gU1ZHTWFya2VyT3JpZW50VW5rbm93
bikKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihhbmdsZSwgb3JpZW50VHlwZSk7
CiAKLXRlbXBsYXRlPD4KLWlubGluZSB1bnNpZ25lZCBTVkdJRExFbnVtTGltaXRzPFNWR01hcmtl
ck9yaWVudFR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR01hcmtl
ck9yaWVudEFuZ2xlOyB9CisgICAgICAgIGF1dG8gcmVzdWx0ID0gYW5nbGUuc2V0VmFsdWVBc1N0
cmluZyhzdHJpbmcpOworICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQorICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7
CiAKLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8U1ZHQW5n
bGVWYWx1ZSwgU1ZHTWFya2VyT3JpZW50VHlwZT4+IHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFr
ZV9wYWlyKGFuZ2xlLCBTVkdNYXJrZXJPcmllbnRBbmdsZSk7CisgICAgfQogICAgIHN0YXRpYyBz
dGQ6OnBhaXI8U1ZHQW5nbGVWYWx1ZSwgU1ZHTWFya2VyT3JpZW50VHlwZT4gZnJvbVN0cmluZyhj
b25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIFNWR0FuZ2xlVmFsdWUgYW5nbGU7
Ci0gICAgICAgIFNWR01hcmtlck9yaWVudFR5cGUgb3JpZW50VHlwZSA9IFNWR1Byb3BlcnR5VHJh
aXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKHN0cmluZyk7Ci0gICAgICAgIGlm
IChvcmllbnRUeXBlID09IFNWR01hcmtlck9yaWVudFVua25vd24pIHsKLSAgICAgICAgICAgIGF1
dG8gcmVzdWx0ID0gYW5nbGUuc2V0VmFsdWVBc1N0cmluZyhzdHJpbmcpOwotICAgICAgICAgICAg
aWYgKCFyZXN1bHQuaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAgb3JpZW50VHlwZSA9
IFNWR01hcmtlck9yaWVudEFuZ2xlOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBzdGQ6Om1h
a2VfcGFpcihhbmdsZSwgb3JpZW50VHlwZSk7CisgICAgICAgIHJldHVybiBwYXJzZShzdHJpbmcp
LnZhbHVlX29yKHN0ZDo6bWFrZV9wYWlyPFNWR0FuZ2xlVmFsdWUsIFNWR01hcmtlck9yaWVudFR5
cGU+KHsgfSwgU1ZHTWFya2VyT3JpZW50VW5rbm93bikpOwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR01hc2tFbGVtZW50LmgKaW5kZXggYzVlMzU4ZGZmYmE5ZGU0ZDcwM2Y2YzQ4MjA3Y2Rm
MWEzNmE0YzBiZS4uYzMxNjJmMzg1NDQ3MmM5YmYxYzhkNmYwZDhhMWJkNTZkNGFjZmQ2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKQEAgLTMwLDYgKzMwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTVkdNYXNrRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVt
ZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR1Rlc3Rz
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR01hc2tFbGVtZW50KTsKKyAgICB1c2lu
ZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01hc2tFbGVt
ZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdUZXN0cz47
CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01hc2tFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTUwLDkgKzUyLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICBTVkdNYXNrRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHTWFza0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIFNWR1Rlc3RzPjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0K
ICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBmaW5hbDsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGZpbmFsOwogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxk
Q2hhbmdlJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRh
dGFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmgKaW5k
ZXggNmIwNDExMmI3ZmExNDM3YTlhNGQzMGRkZTYxMTJhNzU4NjFjMjYwMi4uZGI5YmU3ODAxZjMy
OTAxMmI1YjEyMTViNGQ2NzM0OTVjYzE1NjM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR01ldGFkYXRhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNZXRh
ZGF0YUVsZW1lbnQuaApAQCAtMjYsMTMgKzI2LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1ZHTWV0YWRhdGFFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHTWV0YWRhdGFFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR01ldGFkYXRhRWxl
bWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01ldGFkYXRh
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCiBwcml2
YXRlOgogICAgIFNWR01ldGFkYXRhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnko
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJl
bmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsg
fQorICAgIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMg
fTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TWlzc2luZ0dseXBoRWxlbWVudC5oCmluZGV4IDQ0YjM3NDZhODI3ZTVmNTdlZDk1NTVhMGNlNmZk
N2NjYWM1YTE0N2EuLjQ0OWQ0MTQ0N2Q0MTM5OTc5NjI0N2QzOTMyMDJhYTU4N2QyZmJjMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaApAQCAtMjgsMTMg
KzI4LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHTWlzc2luZ0dseXBoRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR01pc3NpbmdHbHlwaEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkg
PSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHTWlzc2luZ0dseXBoRWxlbWVudCwgU1ZHRWxl
bWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR01pc3NpbmdHbHlwaEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAogcHJpdmF0ZToKICAg
ICBTVkdNaXNzaW5nR2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIGJvb2wgcmVuZGVy
ZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisK
KyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHTnVtYmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKaW5kZXggMjNjODJl
NDRlNjc3ZDhkMzYwYzk2MTU0Yzc5NWRhYjg3NzZhMWZhNC4uOTJmNWExYWQ4Y2U0YWJjZmRkZTdj
YTRiNmUwZDdiZmQ1MDk5OGY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051
bWJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaApAQCAtNDUsNiArNDUs
MTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXIob3du
ZXIsIGFjY2VzcywgdmFsdWUpKTsKICAgICB9CiAKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8UmVmPFNW
R051bWJlcj4sIFNWR1BhcnNpbmdFcnJvcj4gY3JlYXRlKGNvbnN0IFVDaGFyKiYgcHRyLCBjb25z
dCBVQ2hhciogZW5kKQorICAgIHsKKyAgICAgICAgZmxvYXQgbnVtYmVyID0gMDsKKyAgICAgICAg
aWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybiBt
YWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworICAgICAgICByZXR1
cm4gU1ZHTnVtYmVyOjpjcmVhdGUobnVtYmVyKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgogICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHTnVtYmVyPj4gY3JlYXRlKEV4
Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR051bWJlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgK
aW5kZXggNWI1ZDU3ZTg0NmY0MzFhYWY1YzA4ZGJjOWE0YzM0YWJlODRkNmQxZi4uYTVlNzNlMTkw
OWRiZjQ2MTRhYzA3ZWYzMWUzYWI0NTI3MmVmZjMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR051bWJlckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVy
TGlzdC5oCkBAIC00OSw0MCArNDksNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTVkdOdW1iZXJMaXN0KG90aGVyLCBhY2Nlc3MpKTsKICAgICB9Ci0KLSAg
ICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBjbGVhckl0
ZW1zKCk7Ci0KLSAgICAgICAgZmxvYXQgbnVtYmVyID0gMDsKLSAgICAgICAgYXV0byB1cGNvbnZl
cnRlZENoYXJhY3RlcnMgPSBTdHJpbmdWaWV3KHZhbHVlKS51cGNvbnZlcnRlZENoYXJhY3RlcnMo
KTsKLSAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKLSAg
ICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHZhbHVlLmxlbmd0aCgpOwotCi0gICAgICAg
IC8vIFRoZSBzcGVjIChzZWN0aW9uIDQuMSkgc3RyYW5nZWx5IGRvZXNuJ3QgYWxsb3cgbGVhZGlu
ZyB3aGl0ZXNwYWNlLgotICAgICAgICAvLyBXZSBtaWdodCBjaG9vc2UgdG8gdmlvbGF0ZSB0aGF0
IGludGVudGlvbmFsbHkuCi0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKLSAgICAgICAgICAg
IGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIG51bWJlcikpCi0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBhcHBlbmQoU1ZHTnVtYmVyOjpjcmVhdGUobnVtYmVyKSk7Ci0gICAg
ICAgIH0KLQotICAgICAgICByZXR1cm4gcHRyID09IGVuZDsKLSAgICB9Ci0KLSAgICBTdHJpbmcg
dmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWls
ZGVyIGJ1aWxkZXI7Ci0KLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBudW1iZXIgOiBtX2l0ZW1z
KSB7Ci0gICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKLSAgICAgICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZCgnICcpOwotCi0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJl
Y2lzaW9uTnVtYmVyKG51bWJlci0+dmFsdWUoKSk7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1
cm4gYnVpbGRlci50b1N0cmluZygpOwotICAgIH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzaW5nRXJyb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXJzaW5nRXJyb3IuaAppbmRleCAxYjlhNzAxYjliMjg5OTY1
Njg1NTBhZDdiODliMzczZDc0MzYzOTcyLi41NGFmZGJmN2MyNzVmNDJmYzg1ZGEzMTViY2ZkN2I5
YjYxZjJhODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFyc2luZ0Vycm9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhcnNpbmdFcnJvci5oCkBAIC0xLDYgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAx
MS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSwgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTkgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzAsOCArMzAsNDAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIFNWR1BhcnNp
bmdFcnJvciB7CiAgICAgTm9FcnJvciwKLSAgICBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3Is
Ci0gICAgTmVnYXRpdmVWYWx1ZUZvcmJpZGRlbkVycm9yCisgICAgVW5leHBlY3RlZEVuZE9mQXR0
cmlidXRlRXJyb3IsCisgICAgWmVyb1ZhbHVlRm9yYmlkZGVuRXJyb3IsCisgICAgTmVnYXRpdmVW
YWx1ZUZvcmJpZGRlbkVycm9yLAorICAgIFVucmVjb2duaXplZEVudW1WYWx1ZUVycm9yLAorICAg
IFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcgogfTsKIAorZW51bSBTVkdQYXJzaW5nT3B0aW9u
cyB7CisgICAgTm9PcHRpb25zICAgICAgICAgICAgID0gMCwKKyAgICBGb3JiaWROZWdhdGl2ZSAg
ICAgICAgPSAxIDw8IDAsCisgICAgRm9yYmlkWmVybyAgICAgICAgICAgID0gMSA8PCAyLAorICAg
IEZvcmJpZFplcm9BbmROZWdhdGl2ZSA9IEZvcmJpZE5lZ2F0aXZlIHwgRm9yYmlkWmVybywKKyAg
ICBBbGxvd1BlcmNlbnRhZ2UgICAgICAgPSAxIDw8IDMKK307CisKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBTVkdOdW1lcmljUGFyc2luZ1ZhbGlkYXRvcjsKKwordGVtcGxhdGU8dHlwZW5h
bWUgVD4KK3N0cnVjdCBTVkdOdW1lcmljUGFyc2luZ1ZhbGlkYXRvciB7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBTVkdQYXJzaW5nRXJyb3IgdmFsaWRhdGUoVCB0LCBTVkdQYXJzaW5nT3B0aW9ucyBw
YXJzaW5nT3B0aW9ucykKKyAgICB7CisgICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19hcml0
aG1ldGljPFQ+Ojp2YWx1ZSwgIlRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgY2hlY2sgdGhlIHZhbHVl
IG9mIGEgbnVtZXJpYy4iKTsKKyAgICAgICAgaWYgKChwYXJzaW5nT3B0aW9ucyAmIEZvcmJpZE5l
Z2F0aXZlKSAmJiB0IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOZWdhdGl2ZVZhbHVlRm9yYmlk
ZGVuRXJyb3I7CisgICAgICAgIGlmICgocGFyc2luZ09wdGlvbnMgJiBGb3JiaWRaZXJvKSAmJiAh
dCkKKyAgICAgICAgICAgIHJldHVybiBaZXJvVmFsdWVGb3JiaWRkZW5FcnJvcjsKKyAgICAgICAg
cmV0dXJuIE5vRXJyb3I7CisgICAgfQorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2NvbnN0
ZXhwciBhdXRvIHZhbGlkYXRlTnVtZXJpYyhUIHQsIFNWR1BhcnNpbmdPcHRpb25zIHBhcnNpbmdP
cHRpb25zKQoreworICAgIHJldHVybiBTVkdOdW1lcmljUGFyc2luZ1ZhbGlkYXRvcjxUPjo6dmFs
aWRhdGUodCwgcGFyc2luZ09wdGlvbnMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAppbmRleCAwN2ZjMmE5YTMzZjQxODc1MzU0
ZWM5ODE2Nzc2NDQ2OTEzYTI1M2E4Li5jMjFmMGIwMTA5ODQ4ZGZkNGFhMzdkZGM0ZTI0MDgwMGRh
MjAxZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKQEAgLTEwOSwyMyAr
MTA5LDE3IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3Zh
bFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmCiAKIGZsb2F0IFNWR1BhdGhFbGVtZW50
OjpnZXRUb3RhbExlbmd0aCgpIGNvbnN0CiB7Ci0gICAgZmxvYXQgdG90YWxMZW5ndGggPSAwOwot
ICAgIGdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShwYXRoQnl0ZVN0cmVhbSgpLCB0
b3RhbExlbmd0aCk7Ci0gICAgcmV0dXJuIHRvdGFsTGVuZ3RoOworICAgIHJldHVybiB0b3RhbExl
bmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSkudmFsdWVPcigwKTsKIH0K
IAogUmVmPFNWR1BvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBs
ZW5ndGgpIGNvbnN0CiB7Ci0gICAgRmxvYXRQb2ludCBwb2ludDsKLSAgICBnZXRQb2ludEF0TGVu
Z3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShwYXRoQnl0ZVN0cmVhbSgpLCBsZW5ndGgsIHBvaW50KTsK
LSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShwb2ludCk7CisgICAgcmV0dXJuIFNWR1BvaW50
OjpjcmVhdGUocG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0o
KSwgbGVuZ3RoKS52YWx1ZU9yKEZsb2F0UG9pbnQoKSkpOwogfQogCiB1bnNpZ25lZCBTVkdQYXRo
RWxlbWVudDo6Z2V0UGF0aFNlZ0F0TGVuZ3RoKGZsb2F0IGxlbmd0aCkgY29uc3QKIHsKLSAgICB1
bnNpZ25lZCBwYXRoU2VnID0gMDsKLSAgICBnZXRTVkdQYXRoU2VnQXRMZW5ndGhGcm9tU1ZHUGF0
aEJ5dGVTdHJlYW0ocGF0aEJ5dGVTdHJlYW0oKSwgbGVuZ3RoLCBwYXRoU2VnKTsKLSAgICByZXR1
cm4gcGF0aFNlZzsKKyAgICByZXR1cm4gcGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3Ry
ZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0aCkudmFsdWVPcigwKTsKIH0KIAogRmxvYXRSZWN0
IFNWR1BhdGhFbGVtZW50OjpnZXRCQm94KFN0eWxlVXBkYXRlU3RyYXRlZ3kgc3R5bGVVcGRhdGVT
dHJhdGVneSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKaW5kZXggNjc3NGQwNjk4YWE0
MmZiNTM3MzdkZTFkODk1MDcwODMxMzU4ZTdhNy4uZjI1MDhjYWU5MGRjNzRjZjYxNmQ4ZjFlMzBj
YTZiM2Q1NTVmN2QxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKQEAgLTM1LDYg
KzM1LDggQEAgY2xhc3MgU1ZHUG9pbnQ7CiAKIGNsYXNzIFNWR1BhdGhFbGVtZW50IGZpbmFsIDog
cHVibGljIFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUGF0aEVsZW1lbnQpOworICAg
IHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUGF0
aEVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1BhdGhFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgCkBAIC0xMDgsOSArMTEwLDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBTVkdQYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHUGF0aEVsZW1lbnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYg
cHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3Ry
eTsgfQotICAgIAogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
VXRpbGl0aWVzLmNwcAppbmRleCBkYjhmOTI5YWQxOWI1YmUwZjc5NDliYTViNTI0NDE4MGZjYWE3
YWE4Li41ZDQyNmVlZGIwMjdhNzEyNmI1MTRmYTk5ZjkyNzQ5ZTY3ZTBhNDliIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFV0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuY3BwCkBAIC0xOTMsNDggKzE5Myw0OSBAQCBib29s
IGFkZFRvU1ZHUGF0aEJ5dGVTdHJlYW0oU1ZHUGF0aEJ5dGVTdHJlYW0mIHN0cmVhbVRvQXBwZW5k
VG8sIGNvbnN0IFNWR1BhdGhCeQogICAgIHJldHVybiBTVkdQYXRoQmxlbmRlcjo6YWRkQW5pbWF0
ZWRQYXRoKGZyb21Tb3VyY2UsIGJ5U291cmNlLCBidWlsZGVyLCByZXBlYXRDb3VudCk7CiB9CiAK
LWJvb2wgZ2V0U1ZHUGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNW
R1BhdGhCeXRlU3RyZWFtJiBzdHJlYW0sIGZsb2F0IGxlbmd0aCwgdW5zaWduZWQmIHBhdGhTZWcp
CitPcHRpb25hbDx1bnNpZ25lZD4gcGF0aFNlZ0F0TGVuZ3RoRnJvbVNWR1BhdGhCeXRlU3RyZWFt
KGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiBzdHJlYW0sIGZsb2F0IGxlbmd0aCkKIHsKICAgICBp
ZiAoc3RyZWFtLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgUGF0aFRyYXZlcnNhbFN0YXRlIHRyYXZlcnNhbFN0YXRl
KFBhdGhUcmF2ZXJzYWxTdGF0ZTo6QWN0aW9uOjpTZWdtZW50QXRMZW5ndGgpOwogICAgIFNWR1Bh
dGhUcmF2ZXJzYWxTdGF0ZUJ1aWxkZXIgYnVpbGRlcih0cmF2ZXJzYWxTdGF0ZSwgbGVuZ3RoKTsK
IAogICAgIFNWR1BhdGhCeXRlU3RyZWFtU291cmNlIHNvdXJjZShzdHJlYW0pOwotICAgIGJvb2wg
b2sgPSBTVkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpOwotICAgIHBhdGhTZWcg
PSBidWlsZGVyLnBhdGhTZWdtZW50SW5kZXgoKTsKLSAgICByZXR1cm4gb2s7CisgICAgaWYgKCFT
VkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpKQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgcmV0dXJuIGJ1aWxkZXIucGF0aFNlZ21lbnRJbmRleCgpOwogfQog
Ci1ib29sIGdldFRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0
ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCYgdG90YWxMZW5ndGgpCitPcHRpb25hbDxmbG9hdD4gdG90
YWxMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiBzdHJl
YW0pCiB7CiAgICAgaWYgKHN0cmVhbS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIFBhdGhUcmF2ZXJzYWxTdGF0ZSB0
cmF2ZXJzYWxTdGF0ZShQYXRoVHJhdmVyc2FsU3RhdGU6OkFjdGlvbjo6VG90YWxMZW5ndGgpOwot
CiAgICAgU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVpbGRlciBidWlsZGVyKHRyYXZlcnNhbFN0YXRl
KTsKIAogICAgIFNWR1BhdGhCeXRlU3RyZWFtU291cmNlIHNvdXJjZShzdHJlYW0pOwotICAgIGJv
b2wgb2sgPSBTVkdQYXRoUGFyc2VyOjpwYXJzZShzb3VyY2UsIGJ1aWxkZXIpOwotICAgIHRvdGFs
TGVuZ3RoID0gYnVpbGRlci50b3RhbExlbmd0aCgpOwotICAgIHJldHVybiBvazsKKyAgICBpZiAo
IVNWR1BhdGhQYXJzZXI6OnBhcnNlKHNvdXJjZSwgYnVpbGRlcikpCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gYnVpbGRlci50b3RhbExlbmd0aCgpOwogfQogCi1i
b29sIGdldFBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNWR1BhdGhCeXRl
U3RyZWFtJiBzdHJlYW0sIGZsb2F0IGxlbmd0aCwgRmxvYXRQb2ludCYgcG9pbnQpCitPcHRpb25h
bDxGbG9hdFBvaW50PiBwb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQ
YXRoQnl0ZVN0cmVhbSYgc3RyZWFtLCBmbG9hdCBsZW5ndGgpCiB7CiAgICAgaWYgKHN0cmVhbS5p
c0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIAogICAgIFBhdGhUcmF2ZXJzYWxTdGF0ZSB0cmF2ZXJzYWxTdGF0ZShQYXRoVHJhdmVy
c2FsU3RhdGU6OkFjdGlvbjo6VmVjdG9yQXRMZW5ndGgpOwotCiAgICAgU1ZHUGF0aFRyYXZlcnNh
bFN0YXRlQnVpbGRlciBidWlsZGVyKHRyYXZlcnNhbFN0YXRlLCBsZW5ndGgpOwogCiAgICAgU1ZH
UGF0aEJ5dGVTdHJlYW1Tb3VyY2Ugc291cmNlKHN0cmVhbSk7Ci0gICAgYm9vbCBvayA9IFNWR1Bh
dGhQYXJzZXI6OnBhcnNlKHNvdXJjZSwgYnVpbGRlcik7Ci0gICAgcG9pbnQgPSBidWlsZGVyLmN1
cnJlbnRQb2ludCgpOwotICAgIHJldHVybiBvazsKKyAgICBpZiAoIVNWR1BhdGhQYXJzZXI6OnBh
cnNlKHNvdXJjZSwgYnVpbGRlcikpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAg
CisgICAgcmV0dXJuIGJ1aWxkZXIuY3VycmVudFBvaW50KCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFV0aWxpdGllcy5oCmluZGV4IDQ5MGZmN2M2NjBjOWQ5NWY5ZjFlNDU0MzQxZjEx
N2ZhODEyNmQzNzguLjExYmI1M2RmNTFiZmU4YjVmNmI4OWRmYTA0ZjQ0YWVkYmFmZjU3NjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoVXRpbGl0aWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhVdGlsaXRpZXMuaApAQCAtNTMsOCArNTMsOCBAQCBib29s
IGNhbkJsZW5kU1ZHUGF0aEJ5dGVTdHJlYW1zKGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiBmcm9t
LCBjb25zdCBTVkdQYXRoQnl0ZQogYm9vbCBidWlsZEFuaW1hdGVkU1ZHUGF0aEJ5dGVTdHJlYW0o
Y29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mIGZyb20sIGNvbnN0IFNWR1BhdGhCeXRlU3RyZWFtJiB0
bywgU1ZHUGF0aEJ5dGVTdHJlYW0mIHJlc3VsdCwgZmxvYXQgcHJvZ3Jlc3MpOwogYm9vbCBhZGRU
b1NWR1BhdGhCeXRlU3RyZWFtKFNWR1BhdGhCeXRlU3RyZWFtJiBzdHJlYW1Ub0FwcGVuZFRvLCBj
b25zdCBTVkdQYXRoQnl0ZVN0cmVhbSYgZnJvbSwgdW5zaWduZWQgcmVwZWF0Q291bnQgPSAxKTsK
IAotYm9vbCBnZXRTVkdQYXRoU2VnQXRMZW5ndGhGcm9tU1ZHUGF0aEJ5dGVTdHJlYW0oY29uc3Qg
U1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBsZW5ndGgsIHVuc2lnbmVkJiBwYXRoU2VnKTsKLWJv
b2wgZ2V0VG90YWxMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKGNvbnN0IFNWR1BhdGhCeXRlU3Ry
ZWFtJiwgZmxvYXQmIHRvdGFsTGVuZ3RoKTsKLWJvb2wgZ2V0UG9pbnRBdExlbmd0aE9mU1ZHUGF0
aEJ5dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBsZW5ndGgsIEZsb2F0
UG9pbnQmKTsKK09wdGlvbmFsPHVuc2lnbmVkPiBwYXRoU2VnQXRMZW5ndGhGcm9tU1ZHUGF0aEJ5
dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBsZW5ndGgpOworT3B0aW9u
YWw8ZmxvYXQ+IHRvdGFsTGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShjb25zdCBTVkdQYXRoQnl0
ZVN0cmVhbSYpOworT3B0aW9uYWw8RmxvYXRQb2ludD4gcG9pbnRBdExlbmd0aE9mU1ZHUGF0aEJ5
dGVTdHJlYW0oY29uc3QgU1ZHUGF0aEJ5dGVTdHJlYW0mLCBmbG9hdCBsZW5ndGgpOwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
dGVybkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCmlu
ZGV4IDM2Y2RlZmIwYjc2MzRkYjI3ZGRkZWQ4MTY2MDhjOWMxNzZjMWJlMGYuLmU5MmQzMTUxYzk0
MGI5ZjVjY2IwNDRhMmI3MDIxMTU3MDFmMzQxZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5oCkBAIC0zNSw2ICszNSw4IEBAIHN0cnVjdCBQYXR0ZXJuQXR0cmlidXRlczsK
ICAKIGNsYXNzIFNWR1BhdHRlcm5FbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0VsZW1lbnQsIHB1
YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94
LCBwdWJsaWMgU1ZHVGVzdHMsIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoU1ZHUGF0dGVybkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUGF0dGVybkVsZW1lbnQsIFNWR0Vs
ZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveCwgU1ZH
VGVzdHMsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1Bh
dHRlcm5FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAK
QEAgLTYxLDkgKzYzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdQYXR0ZXJuRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5
UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUGF0dGVybkVsZW1lbnQsIFNW
R0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveCwg
U1ZHVGVzdHMsIFNWR1VSSVJlZmVyZW5jZT47CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3Ry
eSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdp
c3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChj
b25zdCBDaGlsZENoYW5nZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaAppbmRleCA3NzQ0NWI5
ZmNiMWZiNDBiNTEzOTZlMTkyZTczNDU4NmM2MzU0YjUyLi5iMWZhZjYxMmMwNTZhZGQ1NzNmNzIw
NTQzNGQ1NGEwZTliY2YxMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9p
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaApAQCAtNDQsNiArNDQsMTkg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludCh2YWx1ZSkp
OwogICAgIH0KIAorICAgIHN0YXRpYyBFeHBlY3RlZDxSZWY8U1ZHUG9pbnQ+LCBTVkdQYXJzaW5n
RXJyb3I+IGNyZWF0ZShjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCkKKyAgICB7
CisgICAgICAgIGZsb2F0IHhQb3MgPSAwLjBmOworICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKHB0
ciwgZW5kLCB4UG9zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5n
QXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAgIGZsb2F0IHlQb3MgPSAwLjBmOworICAg
ICAgICBpZiAoIXBhcnNlTnVtYmVyKHB0ciwgZW5kLCB5UG9zLCBmYWxzZSkpCisgICAgICAgICAg
ICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKwor
ICAgICAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZSh7IHhQb3MsIHlQb3MgfSk7CisgICAgfQor
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNW
R1BvaW50Pj4gY3JlYXRlKEV4Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCiAgICAgewpAQCAtODgsNyAr
MTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludChu
ZXdQb2ludCkpOwogICAgIH0KIAotcHJpdmF0ZToKICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0IG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRQb2ludD46OnRvU3RyaW5nKG1fdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BvaW50TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5o
CmluZGV4IDhjNmM1MGIwZTNiYWNlNTM2YWU1MGViYjI4YzFiNDZlMTU3NDllODEuLmRiZWM4OWJm
YTg5ODllNDMyMDM3MGUyY2MwNDI2N2I1Y2UyNDdmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQb2ludExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRM
aXN0LmgKQEAgLTQ5LDU3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlciwgYWNjZXNzKSk7CiAgICAgfQotCi0gICAg
Ym9vbCBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgY2xlYXJJdGVt
cygpOwotCi0gICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2
YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBjdXIg
PSB1cGNvbnZlcnRlZENoYXJhY3RlcnM7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXIg
KyB2YWx1ZS5sZW5ndGgoKTsKLQotICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBl
bmQpOwotCi0gICAgICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBmYWxzZTsKLSAgICAgICAgd2hpbGUg
KGN1ciA8IGVuZCkgewotICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSBmYWxzZTsKLSAgICAgICAg
ICAgIGZsb2F0IHhQb3MgPSAwLjBmOwotICAgICAgICAgICAgaWYgKCFwYXJzZU51bWJlcihjdXIs
IGVuZCwgeFBvcykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgICAg
ICBmbG9hdCB5UG9zID0gMC4wZjsKLSAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBl
bmQsIHlQb3MsIGZhbHNlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAg
ICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjdXIsIGVuZCk7Ci0KLSAgICAgICAgICAgIGlm
IChjdXIgPCBlbmQgJiYgKmN1ciA9PSAnLCcpIHsKLSAgICAgICAgICAgICAgICBkZWxpbVBhcnNl
ZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgY3VyKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwotCi0gICAgICAgICAgICBhcHBl
bmQoU1ZHUG9pbnQ6OmNyZWF0ZSh7IHhQb3MsIHlQb3MgfSkpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgcmV0dXJuICFkZWxpbVBhcnNlZDsKLSAgICB9Ci0KLSAgICBTdHJpbmcgdmFsdWVBc1N0cmlu
ZygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7
Ci0KLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwb2ludCA6IG1faXRlbXMpIHsKLSAgICAgICAg
ICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KCcgJyk7Ci0KLSAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIo
cG9pbnQtPngoKSk7Ci0gICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICAg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihwb2ludC0+eSgpKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7Ci0gICAgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKaW5kZXggYzJmZTJlYWE4OTdkNzhi
NjliMDk1YzZkY2YzNTBjMjlmMGZjYmJiNi4uYzk1NTJjNjZiNDZiMGViMjEwNjBmNjFhZGNiODNl
ZjVkMjIyYTllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCkBAIC00Niw3
ICs0Niw3IEBAIFNWR1BvbHlFbGVtZW50OjpTVkdQb2x5RWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB2b2lkIFNWR1BvbHlFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJp
bmcmIHZhbHVlKQogewogICAgIGlmIChuYW1lID09IFNWR05hbWVzOjpwb2ludHNBdHRyKSB7Ci0g
ICAgICAgIGlmICghbV9wb2ludHMtPmJhc2VWYWwoKS0+cGFyc2UodmFsdWUpKQorICAgICAgICBp
ZiAobV9wb2ludHMtPmJhc2VWYWwoKS0+cGFyc2UodmFsdWUpICE9IE5vRXJyb3IpCiAgICAgICAg
ICAgICBkb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRFcnJvcigiUHJvYmxl
bSBwYXJzaW5nIHBvaW50cz1cIiIgKyB2YWx1ZSArICJcIiIpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAppbmRleCA2NzIyNDkwM2VmNjMxMGUy
YmQyYjE3OTEyMTg5NjM0NDU5ZDI1ZjJiLi5mMjI2ODE5YzA1YjYzNTNlNTRhODU0NTVmNjZiNDM5
YmQ1MGIzZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaApAQCAtMjksNiArMjks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1BvbHlFbGVtZW50IDogcHVibGlj
IFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUG9seUVsZW1lbnQpOworICAgIHVzaW5n
IFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHUG9seUVsZW1l
bnQsIFNWR0dlb21ldHJ5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZD47CisK
IHB1YmxpYzoKICAgICBjb25zdCBTVkdQb2ludExpc3QmIHBvaW50cygpIGNvbnN0IHsgcmV0dXJu
IG1fcG9pbnRzLT5jdXJyZW50VmFsdWUoKTsgfQogCkBAIC00MSw5ICs0Myw3IEBAIHByb3RlY3Rl
ZDoKICAgICBTVkdQb2x5RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
IAogcHJpdmF0ZToKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25l
clJlZ2lzdHJ5PFNWR1BvbHlFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3Bl
cnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0K
LQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYpIG92ZXJyaWRlOyAKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuY3BwCmluZGV4IGQwYmM3MTY2MjBmN2E4YTUx
ZWM2MzRhZjdiZTk0YmJmNTEwMWU3NTUuLjdlNDQ2ZTJjYWYwNTZmNzMxOGFkZmE4YzkyZWNkOWFh
NzU2OWY1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvVmFsdWUuY3BwCkBAIC01OCwxMSArNTgsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gU1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlOjpzZXRNZWV0T3JTbGljZSh1bnNpZ25lZCBzaG9ydCBt
ZWUKICAgICByZXR1cm4geyB9OwogfQogCi12b2lkIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZTo6cGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK2Jvb2wgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
b1ZhbHVlOjpwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIGF1dG8gdXBjb252ZXJ0
ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7
CiAgICAgY29uc3QgVUNoYXIqIGJlZ2luID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAgIHBh
cnNlSW50ZXJuYWwoYmVnaW4sIGJlZ2luICsgdmFsdWUubGVuZ3RoKCksIHRydWUpOworICAgIHJl
dHVybiBwYXJzZUludGVybmFsKGJlZ2luLCBiZWdpbiArIHZhbHVlLmxlbmd0aCgpLCB0cnVlKTsK
IH0KIAogYm9vbCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU6OnBhcnNlKGNvbnN0IFVDaGFy
KiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oCmluZGV4IDQxNWI4
NzIzZjhkMzA4NjRjMWIzZmQ3ODhjYzNiOTg5YmFkN2VmOWMuLmYyZDYwOTZhMzM2ODQ3YTA2MGJk
OTZhYWZlMjI2MDRkMjNjODkzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogCiAgICAg
QWZmaW5lVHJhbnNmb3JtIGdldENUTShmbG9hdCBsb2dpY2FsWCwgZmxvYXQgbG9naWNhbFksIGZs
b2F0IGxvZ2ljYWxXaWR0aCwgZmxvYXQgbG9naWNhbEhlaWdodCwgZmxvYXQgcGh5c2ljYWxXaWR0
aCwgZmxvYXQgcGh5c2ljYWxIZWlnaHQpIGNvbnN0OwogCi0gICAgdm9pZCBwYXJzZShjb25zdCBT
dHJpbmcmKTsKKyAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgcGFyc2Uo
Y29uc3QgVUNoYXIqJiBjdXJyUGFyYW0sIGNvbnN0IFVDaGFyKiBlbmQsIGJvb2wgdmFsaWRhdGUp
OwogCiAgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdDsKQEAgLTc2LDExICs3Niw0IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBwYXJzZUludGVybmFsKGNvbnN0IFVDaGFyKiYgY3VyclBhcmFt
LCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsKIH07CiAKLXRlbXBsYXRlPD4gc3Ry
dWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gewotICAg
IHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgaW5pdGlhbFZhbHVlKCkgeyByZXR1
cm4gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpb1ZhbHVlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0
dXJuIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZShzdHJpbmcpOyB9Ci0gICAgc3RhdGljIE9w
dGlvbmFsPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gcGFyc2UoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0
aWFsVmFsdWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpb1ZhbHVlJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsg
fQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1JhZGlhbEdyYWRpZW50RWxlbWVudC5oCmluZGV4IGI4OGEzNWE0MzI4YWY4YzY2NDBmMjJlZGE2
MTRmOTFlYmZlNmE1OTcuLjUxYmI4NGNkNmYwYzEyYzcxZmY3MzA3ZDFlYzY2YjIzZTgzODU0Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgKQEAg
LTMwLDYgKzMwLDggQEAgc3RydWN0IFJhZGlhbEdyYWRpZW50QXR0cmlidXRlczsKIAogY2xhc3Mg
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dyYWRpZW50RWxlbWVu
dCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQp
OworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1lbnQ+OworCiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTIsOSArNTQsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdHcmFkaWVudEVsZW1l
bnQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5oCmluZGV4IDkwMDE4ZTE4NmIxOTJhYzNiZTZm
MDU1MGRmODExNjI3ZmJkN2U5ZjIuLjQyZjc5Mzc1MDIwYTMxZDI3NzNkNzZjMzcxYWQ1NmY1MGM3
NjhmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3QuaApAQCAtNDEsNiArNDEsMTEgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdSZWN0KG93bmVyLCBhY2Nlc3MsIHZhbHVlKSk7
CiAgICAgfQogCisgICAgc3RhdGljIFJlZjxTVkdSZWN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25l
ciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0
ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1JlY3Qob3duZXIsIGFj
Y2Vzcywgc3RhdGUpKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0
YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHUmVjdD4+IGNyZWF0ZShFeGNlcHRpb25PcjxUPiYmIHZh
bHVlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgKaW5kZXggYzM5MmUxZTJl
NWM2ZTQ5N2RkN2M4OWYyYjM3MDljYmY3NTc3NjA1Ni4uODA0NjA4Mjk4MTdjNzdkNjM2OGNkNDAw
ZDAxNzhkYjZlZWUwZTMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgKQEAgLTI5
LDYgKzI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdSZWN0RWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1JlY3RFbGVtZW50
KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR1JlY3RFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQ+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdSZWN0RWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC00OSw5ICs1MSw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHUmVjdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVy
dHlPd25lclJlZ2lzdHJ5PFNWR1JlY3RFbGVtZW50LCBTVkdHZW9tZXRyeUVsZW1lbnQsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkm
IHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0
cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmNwcAppbmRleCA5YmYwMzQyMzMyYWViNDRkY2RiNDliYTk0MzJiMTFjYmNlMDI2YmFhLi5iN2Zj
N2ZkNDM4NTA3MTk1YjQ3M2M5NjE3NWIwN2IxOGYzZDdhODk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuY3BwCkBAIC0yNTIsMTIgKzI1MiwxNiBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0
cmluZwogICAgICAgICBtX2hlaWdodC0+c2V0QmFzZVZhbEludGVybmFsKGxlbmd0aCk7CiAgICAg
fQogCi0gICAgcmVwb3J0QXR0cmlidXRlUGFyc2luZ0Vycm9yKHBhcnNlRXJyb3IsIG5hbWUsIHZh
bHVlKTsKLQogICAgIFNWR0dyYXBoaWNzRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFs
dWUpOwogICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKLSAgICBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZh
bHVlKTsKLSAgICBTVkdab29tQW5kUGFuOjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CisK
KyAgICBpZiAoYXV0byBlcnJvciA9IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VBdHRyaWJ1dGUobmFt
ZSwgdmFsdWUpKQorICAgICAgICBwYXJzZUVycm9yID0gKmVycm9yOworICAgIAorICAgIGlmIChh
dXRvIGVycm9yID0gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpKQor
ICAgICAgICBwYXJzZUVycm9yID0gKmVycm9yOworCisgICAgcmVwb3J0QXR0cmlidXRlUGFyc2lu
Z0Vycm9yKHBhcnNlRXJyb3IsIG5hbWUsIHZhbHVlKTsKIH0KIAogdm9pZCBTVkdTVkdFbGVtZW50
OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpAQCAt
NjUxLDcgKzY1NSw3IEBAIGJvb2wgU1ZHU1ZHRWxlbWVudDo6c2Nyb2xsVG9GcmFnbWVudChjb25z
dCBTdHJpbmcmIGZyYWdtZW50SWRlbnRpZmllcikKICAgICBpZiAoZnJhZ21lbnRJZGVudGlmaWVy
LnN0YXJ0c1dpdGgoInN2Z1ZpZXcoIikpIHsKICAgICAgICAgaWYgKCF2aWV3KQogICAgICAgICAg
ICAgdmlldyA9ICZjdXJyZW50VmlldygpOyAvLyBDcmVhdGUgdGhlIFNWR1ZpZXdTcGVjLgotICAg
ICAgICBpZiAodmlldy0+cGFyc2VWaWV3U3BlYyhmcmFnbWVudElkZW50aWZpZXIpKQorICAgICAg
ICBpZiAodmlldy0+cGFyc2VWaWV3U3BlYyhmcmFnbWVudElkZW50aWZpZXIpID09IE5vRXJyb3Ip
CiAgICAgICAgICAgICBtX3VzZUN1cnJlbnRWaWV3ID0gdHJ1ZTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgdmlldy0+cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4
IDk2MGY4NWFkYTBhZmVlNThhY2NiMDBjNDFlMGI0NGZlN2I2Nzk4ZTEuLjY5OTgyZDRhYmM5YjBh
NmY1Y2NmMzk1MTdjZmIyNGViZmI1NTM5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQu
aApAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBTVkdWaWV3U3BlYzsKIAogY2xhc3MgU1ZHU1ZHRWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LCBwdWJsaWMgU1ZHWm9v
bUFuZFBhbiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdTVkdFbGVtZW50KTsKKyAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1NW
R0VsZW1lbnQsIFNWR0dyYXBoaWNzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgU1ZHRml0VG9WaWV3Qm94PjsKKwogcHVibGljOiAvLyBET00KICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIGNvbnRlbnRTY3JpcHRUeXBlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDb250ZW50U2Ny
aXB0VHlwZShjb25zdCBBdG9taWNTdHJpbmcmKTsKQEAgLTEzMSwxMSArMTMzLDEwIEBAIHByaXZh
dGU6CiAgICAgU1ZHU1ZHRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsK
ICAgICB2aXJ0dWFsIH5TVkdTVkdFbGVtZW50KCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lz
dHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1NWR0VsZW1lbnQsIFNWR0dyYXBoaWNz
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsK
ICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9Ci0gICAgCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBvdmVycmlkZTsKKwogICAgIGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAppbmRleCBmMTVmM2I3Y2Y2ZjkzYWYxNDhkNTAzMmExMGRk
MmIwMTY3YWZhYmFmLi4wYTI2ZWE4M2M1ODNjZTVlY2FmZDkyMjc0YjlmNGRiYThiMWE1ZWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTY3JpcHRFbGVtZW50IGZpbmFsIDogcHVibGlj
IFNWR0VsZW1lbnQsIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMg
U1ZHVVJJUmVmZXJlbmNlLCBwdWJsaWMgU2NyaXB0RWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChTVkdTY3JpcHRFbGVtZW50KTsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5
ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1NjcmlwdEVsZW1lbnQsIFNWR0VsZW1lbnQs
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR1VSSVJlZmVyZW5jZT47CisKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPFNWR1NjcmlwdEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmLCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIpOwogCkBAIC00MCw5
ICs0Miw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU1ZHU2NyaXB0RWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBib29sIHdhc0luc2VydGVkQnlQYXJzZXIsIGJvb2wg
YWxyZWFkeVN0YXJ0ZWQpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeTxTVkdTY3JpcHRFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgc3ZnQXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N0b3BFbGVtZW50LmgKaW5kZXggODEwNGZiYmQ3ZjZjZmNkYjczYzYwZDM3MDNkNGVlNjY4NzQx
YTMwYS4uYjhjNGMwNmM0Mzc1YmY1ODJkMTdiZjMyMzIzOWE3OGM4MTVmZjM5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTVkdTdG9wRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50IHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR1N0b3BFbGVtZW50KTsKKyAgICB1c2luZyBQ
cm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1N0b3BFbGVtZW50
LCBTVkdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3RvcEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtMzgsOSArNDAs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1N0b3BFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogCi0gICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTdG9wRWxlbWVudCwgU1ZHRWxlbWVudD47CiAgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBmaW5hbDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKaW5kZXggZDFlMDEwNjliMTJjN2U5MDYwMmFmMDAyZmUy
OTNjNDBkNGI3MGVjNS4uMzUwZThhODEzNTcwMWIyMWIxYzE2Y2M0YzI2MzJkZGNmYjg2NzhiMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5nTGlzdC5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiU1ZH
UHJpbWl0aXZlTGlzdC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApA
QCAtNDIsNDcgKzQxLDE1IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHU3RyaW5nTGlzdChvd25lcikpOwogICAgIH0KIAotICAgIHZvaWQgcmVzZXQoY29uc3QgU3Ry
aW5nJiBzdHJpbmcpCisgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlKGNvbnN0IFN0cmluZyYgc3Ry
aW5nKQogICAgIHsKLSAgICAgICAgcGFyc2Uoc3RyaW5nLCAnICcpOworICAgICAgICBTVkdQYXJz
aW5nRXJyb3IgZXJyb3IgPSBCYXNlOjpwYXJzZShzdHJpbmcpOwogCiAgICAgICAgIC8vIEFkZCBl
bXB0eSBzdHJpbmcsIGlmIGxpc3QgaXMgZW1wdHkuCiAgICAgICAgIGlmIChtX2l0ZW1zLmlzRW1w
dHkoKSkKICAgICAgICAgICAgIG1faXRlbXMuYXBwZW5kKGVtcHR5U3RyaW5nKCkpOwotICAgIH0K
LQotICAgIGJvb2wgcGFyc2UoY29uc3QgU3RyaW5nJiBkYXRhLCBVQ2hhciBkZWxpbWl0ZXIpCi0g
ICAgewotICAgICAgICBjbGVhckl0ZW1zKCk7Ci0KLSAgICAgICAgYXV0byB1cGNvbnZlcnRlZENo
YXJhY3RlcnMgPSBTdHJpbmdWaWV3KGRhdGEpLnVwY29udmVydGVkQ2hhcmFjdGVycygpOwotICAg
ICAgICBjb25zdCBVQ2hhciogcHRyID0gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzOwotICAgICAgICBj
b25zdCBVQ2hhciogZW5kID0gcHRyICsgZGF0YS5sZW5ndGgoKTsKLSAgICAgICAgd2hpbGUgKHB0
ciA8IGVuZCkgewotICAgICAgICAgICAgY29uc3QgVUNoYXIqIHN0YXJ0ID0gcHRyOwotICAgICAg
ICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAqcHRyICE9IGRlbGltaXRlciAmJiAhaXNTVkdTcGFj
ZSgqcHRyKSkKLSAgICAgICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICAgIGlmIChwdHIgPT0g
c3RhcnQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBtX2l0ZW1zLmFwcGVu
ZChTdHJpbmcoc3RhcnQsIHB0ciAtIHN0YXJ0KSk7Ci0gICAgICAgICAgICBza2lwT3B0aW9uYWxT
VkdTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCwgZGVsaW1pdGVyKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIHJldHVybiBwdHIgPT0gZW5kOwotICAgIH0KLQotICAgIFN0cmluZyB2YWx1ZUFzU3Ry
aW5nKCkgY29uc3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRl
cjsKLQotICAgICAgICBmb3IgKGF1dG8gc3RyaW5nIDogbV9pdGVtcykgewotICAgICAgICAgICAg
aWYgKGJ1aWxkZXIubGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAn
KTsKLQotICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoc3RyaW5nKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAgICAgIAorICAgICAgICByZXR1
cm4gZXJyb3I7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N0eWxlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlRWxlbWVudC5oCmlu
ZGV4IDQxYTkzN2VkMTllODQ5ZTU0MDNhNDE3NGY2MzkwMzQ3MzVmZTM0NjIuLmMxODBlMGM1ZWY4
MTU5MmNmYTQzMDk0MGJmOGNhY2EzOGY3ZGUyMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTdHlsZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVF
bGVtZW50LmgKQEAgLTI4LDYgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBT
VkdTdHlsZUVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTVkdTdHlsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3R5bGVFbGVtZW50LCBTVkdFbGVtZW50
PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHU3R5bGVFbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpOwogICAg
IHZpcnR1YWwgflNWR1N0eWxlRWxlbWVudCgpOwpAQCAtNDYsNiArNDgsNyBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIFNWR1N0eWxlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmLCBib29sIGNyZWF0ZWRCeVBhcnNlcik7CiAKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lz
dHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJl
Z2lzdHJ5OyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgZmluYWw7CiAgICAgSW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1
bHQgaW5zZXJ0ZWRJbnRvQW5jZXN0b3IoSW5zZXJ0aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYpIGZp
bmFsOwogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwgQ29udGFpbmVy
Tm9kZSYpIGZpbmFsOwpAQCAtNjIsNiArNjUsNyBAQCBwcml2YXRlOgogCiAgICAgU3RyaW5nIHRp
dGxlKCkgY29uc3QgZmluYWw7CiAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdp
c3RyeSB7ICp0aGlzIH07CiAgICAgSW5saW5lU3R5bGVTaGVldE93bmVyIG1fc3R5bGVTaGVldE93
bmVyOwogICAgIFRpbWVyIG1fc3ZnTG9hZEV2ZW50VGltZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTd2l0Y2hFbGVtZW50LmgKaW5kZXggM2QxNGE0ZmFmZmExNGU3NDFhYjk5NmEzODI4MWY0Mjcw
YTc1ZTI4NC4uOGRmMWQyZDBjOWI2OGMyNGU5Zjc3ZmNjNzRkZjJhYjVhMzJmYTJhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5oCkBAIC0yOCwxMyArMjgsMTQgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdTd2l0Y2hFbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0dyYXBoaWNzRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHU3dpdGNoRWxlbWVudCk7CisgICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdTd2l0Y2hFbGVt
ZW50LCBTVkdHcmFwaGljc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+Owor
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdTd2l0Y2hFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHU3dpdGNoRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHU3dpdGNoRWxlbWVudCwg
U1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkPjsKICAgICBj
b25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAKICAgICBib29sIGlzVmFsaWQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1N5bWJvbEVsZW1lbnQuaAppbmRleCA4YzRhZmRlZGM5YzJiYjBmZmEyZWYwZWNmMzgwNmQzYzNm
NDgzYjc2Li5lMjFkNTA3NTJkMDc2NmY0ZTA1ZjMyNTc0YTg3MGFhYmM4ZjkwZjg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgKQEAgLTI5LDE3ICsyOSwxOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1N5bWJvbEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZH
RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIHB1YmxpYyBTVkdG
aXRUb1ZpZXdCb3ggewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHU3ltYm9sRWxlbWVu
dCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3Ry
eTxTVkdTeW1ib2xFbGVtZW50LCBTVkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBTVkdGaXRUb1ZpZXdCb3g+OworCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTVkdTeW1i
b2xFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHBy
aXZhdGU6CiAgICAgU1ZHU3ltYm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1l
bnQmKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVn
aXN0cnk8U1ZHU3ltYm9sRWxlbWVudCwgU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgU1ZHRml0VG9WaWV3Qm94PjsKICAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5
JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lz
dHJ5OyB9Ci0KICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIG92ZXJyaWRlOworCiAgICAgUmVuZGVyUHRyPFJlbmRl
ckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5k
ZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKIAogICAgIGJvb2wgc2VsZkhhc1JlbGF0aXZlTGVu
Z3RocygpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RSZWZFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAppbmRl
eCA4ZTgxNmY1NDY5YmNlYzhiOWY1MzA4MDQwOGFlNjM0N2E2YzA2MTNjLi45MGQwYmQyMjlmZTVh
M2Y5ZTY1ZjVjMzBlM2VjZmU0YzM3YmFlNGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVFJlZkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1l
bnQuaApAQCAtMzAsNiArMzAsOCBAQCBjbGFzcyBTVkdUUmVmVGFyZ2V0RXZlbnRMaXN0ZW5lcjsK
IAogY2xhc3MgU1ZHVFJlZkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudCwgcHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChTVkdUUmVmRWxlbWVudCk7CisgICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeTxTVkdUUmVmRWxlbWVudCwgU1ZHVGV4dFBvc2l0aW9uaW5nRWxl
bWVudCwgU1ZHVVJJUmVmZXJlbmNlPjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVFJl
ZkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAt
MzksOSArNDEsNyBAQCBwcml2YXRlOgogICAgIFNWR1RSZWZFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZpcnR1YWwgflNWR1RSZWZFbGVtZW50KCk7CiAKLSAg
ICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1RS
ZWZFbGVtZW50LCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdVUklSZWZlcmVuY2U+Owog
ICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3Zl
cnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaAppbmRleCA1YjIyZWEwMmM4
YTQ1YTUyNjJhYzAyZWM0OWFiODg3ODA5Y2ZmM2NkLi5lYTNjMWYxMWNjMTUzZTA2N2NkODMzZDUx
MzMzYWVjYjBhM2U0NDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFuRWxlbWVudC5oCkBAIC0y
NiwxNSArMjYsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdUU3BhbkVsZW1l
bnQgZmluYWwgOiBwdWJsaWMgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChTVkdUU3BhbkVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVn
aXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVFNwYW5FbGVtZW50LCBTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50PjsKKwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVFNwYW5F
bGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZh
dGU6CiAgICAgU1ZHVFNwYW5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYp
OwotICAgICAgICAgICAgCisKKyAgICBjb25zdCBTVkdQcm9wZXJ0eVJlZ2lzdHJ5JiBwcm9wZXJ0
eVJlZ2lzdHJ5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9wZXJ0eVJlZ2lzdHJ5OyB9CiAg
ICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJT
dHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKICAgICBib29sIGNo
aWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOwogICAg
IGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlOworCisg
ICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1Rlc3RzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0cy5jcHAKaW5kZXggNDU1MjMw
NDRmODQwNjZmZTAyMmMwM2QxNTk1ZThmMzJhOWY3YzBkNS4uOWJjNzAwMTljMTczNDhlODgwZTE0
MzBlZWE2MzQyNWViNmVjNDBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
c3RzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuY3BwCkBAIC0xNTAsMTEg
KzE1MCwxMSBAQCBib29sIFNWR1Rlc3RzOjppc1ZhbGlkKCkgY29uc3QKIHZvaWQgU1ZHVGVzdHM6
OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGNvbnN0
IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAgICAgaWYgKGF0dHJpYnV0ZU5hbWUgPT0gcmVxdWly
ZWRGZWF0dXJlc0F0dHIpCi0gICAgICAgIG1fcmVxdWlyZWRGZWF0dXJlcy0+cmVzZXQodmFsdWUp
OworICAgICAgICBtX3JlcXVpcmVkRmVhdHVyZXMtPnBhcnNlKHZhbHVlKTsKICAgICBpZiAoYXR0
cmlidXRlTmFtZSA9PSByZXF1aXJlZEV4dGVuc2lvbnNBdHRyKQotICAgICAgICBtX3JlcXVpcmVk
RXh0ZW5zaW9ucy0+cmVzZXQodmFsdWUpOworICAgICAgICBtX3JlcXVpcmVkRXh0ZW5zaW9ucy0+
cGFyc2UodmFsdWUpOwogICAgIGlmIChhdHRyaWJ1dGVOYW1lID09IHN5c3RlbUxhbmd1YWdlQXR0
cikKLSAgICAgICAgbV9zeXN0ZW1MYW5ndWFnZS0+cmVzZXQodmFsdWUpOworICAgICAgICBtX3N5
c3RlbUxhbmd1YWdlLT5wYXJzZSh2YWx1ZSk7CiB9CiAKIHZvaWQgU1ZHVGVzdHM6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGVzdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0
cy5oCmluZGV4IDQ0OTI3MGQ5ZjlkMGY4OTdkZGZmOWU3YzE1Y2NlYjA4MDY0N2UxNzQuLjU1YmFk
NzZkMjZmMDJjMjM4M2IzYTZlZjI3ODkxZTFhNDM0MjJlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXN0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXN0cy5o
CkBAIC0zNSwxMSArMzUsMTEgQEAgY2xhc3MgU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5OwogY2xh
c3MgU1ZHVGVzdHMgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Rlc3RzKTsKIHB1Ymxp
YzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5
PFNWR1Rlc3RzPjsKKwogICAgIHN0YXRpYyBib29sIGhhc0V4dGVuc2lvbihjb25zdCBTdHJpbmcm
KTsKICAgICBib29sIGlzVmFsaWQoKSBjb25zdDsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0
cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGVzdHM+OwotCiAgICAgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAg
ICAgdm9pZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oCmluZGV4IDBlNmRhNWM2Nzc4
NWNmNDE2NTc0MzRhYTJiOTVjNmZjMTdlMGYwZGMuLjgwNjZjNGJlNGU3NGFiZTgzZWQ3ZWZhNzdk
ZTM1YzNjMzhkOWUzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29u
dGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmgKQEAgLTI4LDQzICsyOCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBE
T01Qb2ludEluaXQ7CiAKLWVudW0gU1ZHTGVuZ3RoQWRqdXN0VHlwZSB7Ci0gICAgU1ZHTGVuZ3Ro
QWRqdXN0VW5rbm93biwKLSAgICBTVkdMZW5ndGhBZGp1c3RTcGFjaW5nLAotICAgIFNWR0xlbmd0
aEFkanVzdFNwYWNpbmdBbmRHbHlwaHMKLX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IFNWR1Byb3Bl
cnR5VHJhaXRzPFNWR0xlbmd0aEFkanVzdFR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGln
aGVzdEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR0xlbmd0aEFkanVzdFNwYWNpbmdBbmRHbHlwaHM7
IH0KLQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoU1ZHTGVuZ3RoQWRqdXN0VHlwZSB0eXBl
KQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHTGVuZ3Ro
QWRqdXN0VW5rbm93bjoKLSAgICAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgICAg
ICBjYXNlIFNWR0xlbmd0aEFkanVzdFNwYWNpbmc6Ci0gICAgICAgICAgICByZXR1cm4gInNwYWNp
bmciX3M7Ci0gICAgICAgIGNhc2UgU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZ0FuZEdseXBoczoKLSAg
ICAgICAgICAgIHJldHVybiAic3BhY2luZ0FuZEdseXBocyJfczsKLSAgICAgICAgfQotCi0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
LSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZHTGVuZ3RoQWRqdXN0VHlwZSBmcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0gInNwYWNpbmdBbmRH
bHlwaHMiKQotICAgICAgICAgICAgcmV0dXJuIFNWR0xlbmd0aEFkanVzdFNwYWNpbmdBbmRHbHlw
aHM7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic3BhY2luZyIpCi0gICAgICAgICAgICByZXR1cm4g
U1ZHTGVuZ3RoQWRqdXN0U3BhY2luZzsKLSAgICAgICAgcmV0dXJuIFNWR0xlbmd0aEFkanVzdFVu
a25vd247Ci0gICAgfQotfTsKLQogY2xhc3MgU1ZHVGV4dENvbnRlbnRFbGVtZW50IDogcHVibGlj
IFNWR0dyYXBoaWNzRWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVGV4dENvbnRlbnRFbGVtZW50KTsKIHB1
YmxpYzoKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lz
dHJ5PFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkPjsKKwogICAgIGVudW0gewogICAgICAgICBMRU5HVEhBREpVU1Rf
VU5LTk9XTiA9IFNWR0xlbmd0aEFkanVzdFVua25vd24sCiAgICAgICAgIExFTkdUSEFESlVTVF9T
UEFDSU5HID0gU1ZHTGVuZ3RoQWRqdXN0U3BhY2luZywKQEAgLTgzLDggKzUxLDYgQEAgcHVibGlj
OgogCiAgICAgc3RhdGljIFNWR1RleHRDb250ZW50RWxlbWVudCogZWxlbWVudEZyb21SZW5kZXJl
cihSZW5kZXJPYmplY3QqKTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdHcmFwaGljc0VsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ+OwotCiAgICAgY29uc3QgU1ZHTGVuZ3Ro
VmFsdWUmIHNwZWNpZmllZFRleHRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3NwZWNpZmllZFRl
eHRMZW5ndGg7IH0KICAgICBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgdGV4dExlbmd0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fdGV4dExlbmd0aC0+Y3VycmVudFZhbHVlKCk7IH0KICAgICBTVkdMZW5ndGhB
ZGp1c3RUeXBlIGxlbmd0aEFkanVzdCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoQWRqdXN0LT5j
dXJyZW50VmFsdWU8U1ZHTGVuZ3RoQWRqdXN0VHlwZT4oKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dEVsZW1lbnQuaAppbmRleCBhYTk0NDVkOTJiNmZiNGE1MTU5MTYxMTVlZjFhZDNkODU1YzY0M2Qy
Li44MzU0Y2E5OTNhMDY3NjE3OTU1MWY5ZTI0NGQxNTNiNTljOGNlNWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dEVsZW1lbnQuaApAQCAtMjYsNiArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFNWR1RleHRFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVGV4dEVsZW1lbnQpOwor
ICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZH
VGV4dEVsZW1lbnQsIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQ+OworCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTVkdUZXh0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogCkBAIC0zNCw4ICszNiwxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNW
R1RleHRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29u
c3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50
PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBv
c2l0aW9uJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNv
bnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKKyAgICAKKyAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1f
cHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKaW5kZXggNDM1Mzg3YmZhZjU3
YmU0MzdmOWRhMjVlYmE1Njk3Yzc3ZmJhN2M5ZC4uODA1ZjViY2IwMjFjYjY3Y2Q1MDVkNmI0MGQ2
ZTU2NWQ0ZTRmY2Q2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRo
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaApA
QCAtMjYsNzggKzI2LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBTVkdUZXh0
UGF0aE1ldGhvZFR5cGUgewotICAgIFNWR1RleHRQYXRoTWV0aG9kVW5rbm93biA9IDAsCi0gICAg
U1ZHVGV4dFBhdGhNZXRob2RBbGlnbiwKLSAgICBTVkdUZXh0UGF0aE1ldGhvZFN0cmV0Y2gKLX07
Ci0KLWVudW0gU1ZHVGV4dFBhdGhTcGFjaW5nVHlwZSB7Ci0gICAgU1ZHVGV4dFBhdGhTcGFjaW5n
VW5rbm93biA9IDAsCi0gICAgU1ZHVGV4dFBhdGhTcGFjaW5nQXV0bywKLSAgICBTVkdUZXh0UGF0
aFNwYWNpbmdFeGFjdAotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRz
PFNWR1RleHRQYXRoTWV0aG9kVHlwZT4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoaWdoZXN0RW51
bVZhbHVlKCkgeyByZXR1cm4gU1ZHVGV4dFBhdGhNZXRob2RTdHJldGNoOyB9Ci0KLSAgICBzdGF0
aWMgU3RyaW5nIHRvU3RyaW5nKFNWR1RleHRQYXRoTWV0aG9kVHlwZSB0eXBlKQotICAgIHsKLSAg
ICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgU1ZHVGV4dFBhdGhNZXRob2RVbmtu
b3duOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgU1ZH
VGV4dFBhdGhNZXRob2RBbGlnbjoKLSAgICAgICAgICAgIHJldHVybiAiYWxpZ24iX3M7Ci0gICAg
ICAgIGNhc2UgU1ZHVGV4dFBhdGhNZXRob2RTdHJldGNoOgotICAgICAgICAgICAgcmV0dXJuICJz
dHJldGNoIl9zOwotICAgICAgICB9Ci0gICAgCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZH
VGV4dFBhdGhNZXRob2RUeXBlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKLSAgICB7
Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAiYWxpZ24iKQotICAgICAgICAgICAgcmV0dXJuIFNWR1Rl
eHRQYXRoTWV0aG9kQWxpZ247Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAic3RyZXRjaCIpCi0gICAg
ICAgICAgICByZXR1cm4gU1ZHVGV4dFBhdGhNZXRob2RTdHJldGNoOwotICAgICAgICByZXR1cm4g
U1ZHVGV4dFBhdGhNZXRob2RVbmtub3duOwotICAgIH0KLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVj
dCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPiB7Ci0gICAgc3RhdGlj
IHVuc2lnbmVkIGhpZ2hlc3RFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdUZXh0UGF0aFNwYWNpbmdF
eGFjdDsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdUZXh0UGF0aFNwYWNpbmdU
eXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBT
VkdUZXh0UGF0aFNwYWNpbmdVbmtub3duOgotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7Ci0gICAgICAgIGNhc2UgU1ZHVGV4dFBhdGhTcGFjaW5nQXV0bzoKLSAgICAgICAgICAgIHJl
dHVybiAiYXV0byJfczsKLSAgICAgICAgY2FzZSBTVkdUZXh0UGF0aFNwYWNpbmdFeGFjdDoKLSAg
ICAgICAgICAgIHJldHVybiAiZXhhY3QiX3M7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0gICAgfQotCi0g
ICAgc3RhdGljIFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
IHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKHZhbHVlID09ICJhdXRvIikKLSAgICAgICAgICAg
IHJldHVybiBTVkdUZXh0UGF0aFNwYWNpbmdBdXRvOwotICAgICAgICBpZiAodmFsdWUgPT0gImV4
YWN0IikKLSAgICAgICAgICAgIHJldHVybiBTVkdUZXh0UGF0aFNwYWNpbmdFeGFjdDsKLSAgICAg
ICAgcmV0dXJuIFNWR1RleHRQYXRoU3BhY2luZ1Vua25vd247Ci0gICAgfQotfTsKLQogY2xhc3Mg
U1ZHVGV4dFBhdGhFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR1RleHRDb250ZW50RWxlbWVudCwg
cHVibGljIFNWR1VSSVJlZmVyZW5jZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdU
ZXh0UGF0aEVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHVGV4dFBhdGhFbGVtZW50LCBTVkdUZXh0Q29udGVudEVsZW1lbnQs
IFNWR1VSSVJlZmVyZW5jZT47CisKIHB1YmxpYzoKICAgICAvLyBGb3J3YXJkIGRlY2xhcmUgZW51
bWVyYXRpb25zIGluIHRoZSBXM0MgbmFtaW5nIHNjaGVtZSwgZm9yIElETCBnZW5lcmF0aW9uLgog
ICAgIGVudW0gewpAQCAtMTI2LDkgKzU4LDcgQEAgcHJpdmF0ZToKICAgICBTVkdUZXh0UGF0aEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAgdmlydHVhbCB+U1ZH
VGV4dFBhdGhFbGVtZW50KCk7CiAKLSAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5PFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHBy
b3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7
IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCmluZGV4IGE0ODYyZWM0NzYyOTY1OTk3NDMwZmE4
NGQ2OGQ5NzE5YjM0NzY1YmEuLjYxYzdkYjE2MjE0ZjZlNTkzNzRkYmI4MjUzZjcyYWY1ZGVhZjYy
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQu
aApAQCAtMjcsMTEgKzI3LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCk7Ci1wdWJs
aWM6Ci0gICAgc3RhdGljIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIGVsZW1lbnRGcm9tUmVu
ZGVyZXIoUmVuZGVyQm94TW9kZWxPYmplY3QmKTsKIAorcHVibGljOgogICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudCwgU1ZHVGV4dENvbnRlbnRFbGVtZW50PjsKIAorICAgIHN0YXRpYyBTVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50KiBlbGVtZW50RnJvbVJlbmRlcmVyKFJlbmRlckJveE1vZGVsT2JqZWN0
Jik7CisKICAgICBjb25zdCBTVkdMZW5ndGhMaXN0JiB4KCkgY29uc3QgeyByZXR1cm4gbV94LT5j
dXJyZW50VmFsdWUoKTsgfQogICAgIGNvbnN0IFNWR0xlbmd0aExpc3QmIHkoKSBjb25zdCB7IHJl
dHVybiBtX3ktPmN1cnJlbnRWYWx1ZSgpOyB9CiAgICAgY29uc3QgU1ZHTGVuZ3RoTGlzdCYgZHgo
KSBjb25zdCB7IHJldHVybiBtX2R4LT5jdXJyZW50VmFsdWUoKTsgfQpAQCAtNTQsOSArNTUsNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgaXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29sbGVjdFN0eWxlRm9yUHJlc2VudGF0
aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmLCBN
dXRhYmxlU3R5bGVQcm9wZXJ0aWVzJikgZmluYWw7CiAKLSAgICBjb25zdCBTVkdQcm9wZXJ0eVJl
Z2lzdHJ5JiBwcm9wZXJ0eVJlZ2lzdHJ5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9wcm9w
ZXJ0eVJlZ2lzdHJ5OyB9Ci0KLSAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3Ry
eSB7ICp0aGlzIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkTGVuZ3RoTGlzdD4gbV94IHsgU1ZHQW5p
bWF0ZWRMZW5ndGhMaXN0OjpjcmVhdGUodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSB9OwogICAgIFJl
ZjxTVkdBbmltYXRlZExlbmd0aExpc3Q+IG1feSB7IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdDo6Y3Jl
YXRlKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpIH07CiAgICAgUmVmPFNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdD4gbV9keCB7IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdDo6Y3JlYXRlKHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUaXRsZUVsZW1lbnQuaAppbmRleCAzZjUzMzM1
NjcwN2QzZTg1NGM0NDMwN2MzNDBjYjhiMTA3YzQzZThkLi45YWZlNDA2OTRjYThkOWNiMWY1Y2M5
YWJmZWE3N2E1MDA5YmI2NjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGl0
bGVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5oCkBA
IC0yNywxNyArMjcsMjIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTVkdUaXRsZUVs
ZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChTVkdUaXRsZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQ
cm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVGl0bGVFbGVtZW50LCBTVkdFbGVtZW50PjsKKwogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVGl0bGVFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgU1ZHVGl0bGVFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCisgICAgY29uc3QgU1ZHUHJvcGVydHlS
ZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVy
dHlSZWdpc3RyeTsgfQorICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHls
ZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICBJbnNlcnRlZEludG9BbmNlc3RvclJl
c3VsdCBpbnNlcnRlZEludG9BbmNlc3RvcihJbnNlcnRpb25UeXBlLCBDb250YWluZXJOb2RlJikg
ZmluYWw7CiAgICAgdm9pZCByZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlLCBDb250YWlu
ZXJOb2RlJikgZmluYWw7CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFu
Z2UmKSBmaW5hbDsKIAotICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHls
ZSYpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3Bl
cnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RyYW5zZm9ybS5oCmluZGV4IDZhMjljNzJjZjNlN2YzMTNmNzA5NjU3YTQwMTI0
ODFjMjIzYjhkY2QuLjc3Yjg5OTYxNGZiY2UzODkxOWQ3M2I1MmJmOTgxZWUzZjZhOGQ3ZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUg
IlNWR01hdHJpeC5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybVZhbHVlLmgiCisjaW5jbHVkZSAi
U1ZHVHJhbnNmb3JtYWJsZS5oIgogI2luY2x1ZGUgIlNWR1ZhbHVlUHJvcGVydHkuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNDgsNiArNDksMTkgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm0odmFsdWUudHlwZSgpLCB2YWx1ZS5tYXRyaXgo
KS0+dmFsdWUoKSwgdmFsdWUuYW5nbGUoKSwgdmFsdWUucm90YXRpb25DZW50ZXIoKSkpOwogICAg
IH0KIAorICAgIHN0YXRpYyBFeHBlY3RlZDxSZWY8U1ZHVHJhbnNmb3JtPiwgU1ZHUGFyc2luZ0Vy
cm9yPiBjcmVhdGUoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQpCisgICAgewor
ICAgICAgICBTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHVHJhbnNmb3JtVHlwZSB0eXBlID0gU1ZHVHJh
bnNmb3JtVmFsdWU6OlNWR19UUkFOU0ZPUk1fVU5LTk9XTjsKKyAgICAgICAgaWYgKCFTVkdUcmFu
c2Zvcm1hYmxlOjpwYXJzZUFuZFNraXBUeXBlKHB0ciwgZW5kLCB0eXBlKSkKKyAgICAgICAgICAg
IHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisg
ICAgICAgIFJlZjxTVkdUcmFuc2Zvcm0+IHRyYW5zZm9ybSA9IFNWR1RyYW5zZm9ybTo6Y3JlYXRl
KHR5cGUpOworICAgICAgICBpZiAoIVNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJhbnNmb3JtVmFs
dWUodHlwZSwgcHRyLCBlbmQsIHRyYW5zZm9ybS0+dmFsdWUoKSkpCisgICAgICAgICAgICByZXR1
cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsKKworICAgICAg
ICByZXR1cm4gdHJhbnNmb3JtOworICAgIH0KKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAg
ICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxTVkdUcmFuc2Zvcm0+PiBjcmVhdGUoRXhjZXB0aW9u
T3I8VD4mJiB2YWx1ZSkKICAgICB7CkBAIC0xMzAsNiArMTQ0LDExIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIHsgfTsKICAgICB9CiAKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0
IG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS52YWx1ZUFzU3RyaW5nKCk7
CisgICAgfQorCiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5PFNW
R1RyYW5zZm9ybVZhbHVlPjsKIApAQCAtMTQ3LDExICsxNjYsNiBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgb3duZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CiAgICAgICAgIG1fdmFs
dWUubWF0cml4RGlkQ2hhbmdlKCk7CiAgICAgfQotCi0gICAgU3RyaW5nIHZhbHVlQXNTdHJpbmco
KSBjb25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVBc1N0
cmluZygpOwotICAgIH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVHJhbnNmb3JtTGlzdC5oCmluZGV4IDU0NGQ2MGIyZTYzNWMxYzIwOTkzNGVlNDM1Y2Y0
MTI1ZTZhNzFmMmIuLjc3NTRiNzFmYjRlOTYxYjJlN2YwNmNmNzE2MTBlYjM1ZjRjMTAyNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaApAQCAtMjIsMTMgKzIyLDExIEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybS5oIgotI2luY2x1ZGUgIlNWR1Ry
YW5zZm9ybWFibGUuaCIKICNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5TGlzdC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNWR1RyYW5zZm9ybUxpc3QgZmluYWwgOiBwdWJsaWMg
U1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8U1ZHVHJhbnNmb3JtPiB7Ci0gICAgZnJpZW5kIGNsYXNzIFNW
R1ZpZXdTcGVjOwogICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdUcmFu
c2Zvcm0+OwogICAgIHVzaW5nIEJhc2U6OkJhc2U7CiAKQEAgLTc1LDE2ICs3Myw2IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIG1ha2VSZWZQdHIoaXRlbS5nZXQoKSk7CiAgICAgfQogCi0gICAg
dm9pZCBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQotICAgIHsKLSAgICAgICAgY2xlYXJJdGVt
cygpOwotCi0gICAgICAgIGF1dG8gdXBjb252ZXJ0ZWRDaGFyYWN0ZXJzID0gU3RyaW5nVmlldyh2
YWx1ZSkudXBjb252ZXJ0ZWRDaGFyYWN0ZXJzKCk7Ci0gICAgICAgIGNvbnN0IFVDaGFyKiBzdGFy
dCA9IHVwY29udmVydGVkQ2hhcmFjdGVyczsKLSAgICAgICAgaWYgKCFwYXJzZShzdGFydCwgc3Rh
cnQgKyB2YWx1ZS5sZW5ndGgoKSkpCi0gICAgICAgICAgICBjbGVhckl0ZW1zKCk7Ci0gICAgfQot
CiAgICAgQWZmaW5lVHJhbnNmb3JtIGNvbmNhdGVuYXRlKCkgY29uc3QKICAgICB7CiAgICAgICAg
IEFmZmluZVRyYW5zZm9ybSByZXN1bHQ7CkBAIC05Myw0NCArODEsMTMgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkg
Y29uc3Qgb3ZlcnJpZGUKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2UoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCiAgICAgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAgIGZv
ciAoY29uc3QgYXV0byYgdHJhbnNmcm9tIDogbV9pdGVtcykgewotICAgICAgICAgICAgaWYgKGJ1
aWxkZXIubGVuZ3RoKCkpCi0gICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKLQot
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQodHJhbnNmcm9tLT52YWx1ZSgpLnZhbHVlQXNTdHJp
bmcoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKLSAg
ICB9Ci0KLXByaXZhdGU6Ci0gICAgYm9vbCBwYXJzZShjb25zdCBVQ2hhciomIHN0YXJ0LCBjb25z
dCBVQ2hhciogZW5kKQotICAgIHsKLSAgICAgICAgYm9vbCBkZWxpbVBhcnNlZCA9IGZhbHNlOwot
ICAgICAgICB3aGlsZSAoc3RhcnQgPCBlbmQpIHsKLSAgICAgICAgICAgIGRlbGltUGFyc2VkID0g
ZmFsc2U7Ci0gICAgICAgICAgICBTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHVHJhbnNmb3JtVHlwZSB0
eXBlID0gU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR19UUkFOU0ZPUk1fVU5LTk9XTjsKLSAgICAgICAg
ICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhzdGFydCwgZW5kKTsKLQotICAgICAgICAgICAgaWYg
KCFTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZUFuZFNraXBUeXBlKHN0YXJ0LCBlbmQsIHR5cGUpKQot
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICAgICAgUmVmPFNWR1RyYW5z
Zm9ybT4gdHJhbnNmb3JtID0gU1ZHVHJhbnNmb3JtOjpjcmVhdGUodHlwZSk7Ci0gICAgICAgICAg
ICBpZiAoIVNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJhbnNmb3JtVmFsdWUodHlwZSwgc3RhcnQs
IGVuZCwgdHJhbnNmb3JtLT52YWx1ZSgpKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgICAgIGFwcGVuZChXVEZNb3ZlKHRyYW5zZm9ybSkpOwotICAgICAgICAgICAg
c2tpcE9wdGlvbmFsU1ZHU3BhY2VzKHN0YXJ0LCBlbmQpOwotICAgICAgICAgICAgaWYgKHN0YXJ0
IDwgZW5kICYmICpzdGFydCA9PSAnLCcpIHsKLSAgICAgICAgICAgICAgICBkZWxpbVBhcnNlZCA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgKytzdGFydDsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2VzKHN0YXJ0LCBlbmQpOworICAgICAgICBpZiAoYXV0
byBlcnJvciA9IEJhc2U6OnBhcnNlKHN0cmluZykpIHsKKyAgICAgICAgICAgIGNsZWFySXRlbXMo
KTsKKyAgICAgICAgICAgIHJldHVybiBlcnJvcjsKICAgICAgICAgfQotICAgICAgICByZXR1cm4g
IWRlbGltUGFyc2VkOworICAgICAgICByZXR1cm4gTm9FcnJvcjsKICAgICB9CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKaW5kZXggMjAxYjZjNzFiZWQ3MTM5YTljNmUyZWQw
MGQ2MmIyZGY0MWY2ZDc1MC4uMGY5ODg0MGRhMjc4NDBiNjI5NTA5NjY5NzJkM2E3NDNkZGM5OTUw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaApAQCAtMzIsNyArMzIsNyBAQCBj
bGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHVVJJUmVmZXJlbmNlIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdVUklSZWZlcmVuY2UpOwogcHVibGljOgotICAgIHZpcnR1YWwgflNWR1VS
SVJlZmVyZW5jZSgpID0gZGVmYXVsdDsKKyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5PFNWR1VSSVJlZmVyZW5jZT47CiAKICAgICB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKIApA
QCAtNTYsMTMgKzU2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICFlcXVhbElnbm9yaW5n
RnJhZ21lbnRJZGVudGlmaWVyKHVybCwgZG9jdW1lbnQudXJsKCkpOwogICAgIH0KIAotICAgIHVz
aW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVVJJUmVm
ZXJlbmNlPjsKLQogICAgIFN0cmluZyBocmVmKCkgY29uc3QgeyByZXR1cm4gbV9ocmVmLT5jdXJy
ZW50VmFsdWUoKTsgfQogICAgIFNWR0FuaW1hdGVkU3RyaW5nJiBocmVmQW5pbWF0ZWQoKSB7IHJl
dHVybiBtX2hyZWY7IH0KIAogcHJvdGVjdGVkOgogICAgIFNWR1VSSVJlZmVyZW5jZShTVkdFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCk7CisgICAgdmlydHVhbCB+U1ZHVVJJUmVmZXJlbmNlKCkgPSBk
ZWZhdWx0OwogCiAgICAgc3RhdGljIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyaWJ1dGVOYW1lKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1VuaXRUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VuaXRUeXBlcy5oCmluZGV4
IGY0NDQ4NWY3ZTA1ZGYyNDUzZmFhYmU2OWIwYzI4ODJmZWM1MDA0YmUuLjRhOTg5YzlkYzliYTll
ZjkwNmNiMjRkZGY1MzEyOTIyNjQ2YjI2OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVbml0VHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVW5pdFR5cGVzLmgK
QEAgLTE5LDcgKzE5LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQcm9wZXJ0
eVRyYWl0cy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTMxLDM4ICszMCw4IEBAIHB1YmxpYzoKICAgICAgICAgU1ZHX1VOSVRfVFlQRV9V
U0VSU1BBQ0VPTlVTRSAgICAgICAgPSAxLAogICAgICAgICBTVkdfVU5JVF9UWVBFX09CSkVDVEJP
VU5ESU5HQk9YICAgICA9IDIKICAgICB9OwotCiBwcml2YXRlOgotICAgIFNWR1VuaXRUeXBlcygp
IHsgfQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRU
eXBlczo6U1ZHVW5pdFR5cGU+IHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGlnaGVzdEVudW1WYWx1
ZSgpIHsgcmV0dXJuIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JP
WDsgfQotCi0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdVbml0VHlwZXM6OlNWR1VuaXRU
eXBlIHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAgY2FzZSBT
VkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfVU5LTk9XTjoKLSAgICAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwotICAgICAgICBjYXNlIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9V
U0VSU1BBQ0VPTlVTRToKLSAgICAgICAgICAgIHJldHVybiAidXNlclNwYWNlT25Vc2UiX3M7Ci0g
ICAgICAgIGNhc2UgU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9Y
OgotICAgICAgICAgICAgcmV0dXJuICJvYmplY3RCb3VuZGluZ0JveCJfczsKLSAgICAgICAgfQot
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZW1wdHlTdHJp
bmcoKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSBmcm9t
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0g
InVzZXJTcGFjZU9uVXNlIikKLSAgICAgICAgICAgIHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19V
TklUX1RZUEVfVVNFUlNQQUNFT05VU0U7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAib2JqZWN0Qm91
bmRpbmdCb3giKQotICAgICAgICAgICAgcmV0dXJuIFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQ
RV9PQkpFQ1RCT1VORElOR0JPWDsKLSAgICAgICAgcmV0dXJuIFNWR1VuaXRUeXBlczo6U1ZHX1VO
SVRfVFlQRV9VTktOT1dOOwotICAgIH0KKyAgICBTVkdVbml0VHlwZXMoKSA9IGRlZmF1bHQ7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVW5rbm93bkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVbmtub3duRWxl
bWVudC5oCmluZGV4IGExNWM3YWY5Nzg3YWQyMWYyY2E3YzMyOTNjODIwMDY4MmUxYmFiZWQuLjk2
NDQ1MmNjODBhYjFkOGU1ZjM1ZmY3N2Y3MzkzMzI4YTJkY2U3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdVbmtub3duRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdVbmtub3duRWxlbWVudC5oCkBAIC0zNyw2ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIC8vIGZhbHNlIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBhdHRlbXB0IHRvIHJlbmRlciBzdWNo
IGVsZW1lbnRzLgogY2xhc3MgU1ZHVW5rbm93bkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgU1ZHRWxl
bWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdVbmtub3duRWxlbWVudCk7Cisg
ICAgdXNpbmcgUHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdV
bmtub3duRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R1Vua25vd25FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtZW50KQogICAgIHsKQEAgLTQ5LDcgKzUxLDEwIEBAIHByaXZhdGU6CiAgICAg
ewogICAgIH0KIAorICAgIGNvbnN0IFNWR1Byb3BlcnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0
cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Byb3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29s
IHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxz
ZTsgfQorICAgIAorICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRo
aXMgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxl
bWVudC5oCmluZGV4IDAzOTA4MWQxNjZlYWRhN2I1MjAwYjYwNGI3MGUzOWM0ZmVhYTFiZGIuLjlj
Mzk2MzM0NmY2ZmU2OTBlNjY1YjgzNDdiMjRlNmZjNjRlYjRlOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1VzZUVsZW1lbnQuaApAQCAtMzQsNiArMzQsOCBAQCBjbGFzcyBTVkdHRWxlbWVudDsKIAogY2xh
c3MgU1ZHVXNlRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQsIHB1Ymxp
YyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLCBw
cml2YXRlIENhY2hlZFNWR0RvY3VtZW50Q2xpZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNWR1VzZUVsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9w
ZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVXNlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OworCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxTVkdVc2VFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CiAgICAgdmlydHVhbCB+U1ZHVXNlRWxlbWVudCgpOwpAQCAtNjMsOSArNjUs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSwg
Q29udGFpbmVyTm9kZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgYnVpbGRQZW5kaW5nUmVzb3VyY2Uo
KSBvdmVycmlkZTsKIAotICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93
bmVyUmVnaXN0cnk8U1ZHVXNlRWxlbWVudCwgU1ZHR3JhcGhpY3NFbGVtZW50LCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBTVkdVUklSZWZlcmVuY2U+OwogICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KLQogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc3ZnQXR0
cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWS2VybkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdWS2VybkVsZW1lbnQuaAppbmRleCA3OGM4ZDU1MDE4OTZkMTZjZWM3MDdiNTI2YWUx
ZDdkMDJhYzBkZmE2Li4xZWMwNzJjMGMzY2QzNjM4MGFlNWNjZWJkMjFmOGJmMTM1ZjRmZGJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZLZXJuRWxlbWVudC5oCkBAIC0yOCw2ICsyOCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1ZHVktlcm5FbGVtZW50IGZpbmFsIDogcHVibGljIFNW
R0VsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHVktlcm5FbGVtZW50KTsK
KyAgICB1c2luZyBQcm9wZXJ0eVJlZ2lzdHJ5ID0gU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5PFNW
R1ZLZXJuRWxlbWVudCwgU1ZHRWxlbWVudD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNW
R1ZLZXJuRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwog
CkBAIC0zNiw3ICszOCwxMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR1ZLZXJuRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAorICAgIGNvbnN0IFNWR1Byb3Bl
cnR5UmVnaXN0cnkmIHByb3BlcnR5UmVnaXN0cnkoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3By
b3BlcnR5UmVnaXN0cnk7IH0KICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgUHJvcGVydHlSZWdpc3RyeSBt
X3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5jcHAKaW5kZXggMzM5NmM2ZTk4MjM2YjY0
ZTg2OTVmZjA0MTllODAyNjk1NzdiNDczYS4uMGFlYzMyNzZlYzRhZGMwYjIxYTYyZjc0ZmI1Mzc5
YTg1Mzk3YmIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuY3BwCkBAIC01MSw3
ICs1MSw3IEBAIFJlZjxTVkdWaWV3RWxlbWVudD4gU1ZHVmlld0VsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVuCiB2b2lkIFNWR1ZpZXdFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJp
bmcmIHZhbHVlKQogewogICAgIGlmIChuYW1lID09IFNWR05hbWVzOjp2aWV3VGFyZ2V0QXR0cikg
ewotICAgICAgICBtX3ZpZXdUYXJnZXQtPnJlc2V0KHZhbHVlKTsKKyAgICAgICAgbV92aWV3VGFy
Z2V0LT5wYXJzZSh2YWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1ZpZXdFbGVtZW50LmgKaW5kZXggYjBlZWYxOWQ3YzQ5NTA1MTg3OGE4ODE1YWU0NjJkYTk1
MDg0ZTA3Yy4uNzVkMTgyZjRkODUyOGQ0ZGU1ZjllZWU0MmI2MjNlNTA1N2VjNDM1MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgKQEAgLTMxLDYgKzMxLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTVkdWaWV3RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50
LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgcHVibGljIFNWR0ZpdFRvVmll
d0JveCwgcHVibGljIFNWR1pvb21BbmRQYW4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
U1ZHVmlld0VsZW1lbnQpOworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnk8U1ZHVmlld0VsZW1lbnQsIFNWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47CisKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNWR1ZpZXdFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CiAKQEAgLTQyLDkgKzQ0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBTVkdWaWV3RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIHVzaW5nIFByb3Bl
cnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnk8U1ZHVmlld0VsZW1lbnQsIFNW
R0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIFNWR0ZpdFRvVmlld0JveD47
CiAgICAgY29uc3QgU1ZHUHJvcGVydHlSZWdpc3RyeSYgcHJvcGVydHlSZWdpc3RyeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fcHJvcGVydHlSZWdpc3RyeTsgfQotCiAgICAgLy8gRklYTUUod2Vi
a2l0Lm9yZy9iLzE5NjU1NCk6IHN2Z0F0dHJpYnV0ZUNoYW5nZWQgbWlzc2luZy4KICAgICB2b2lk
IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcm
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKaW5kZXggOGY0MjM1MTZiNWJk
YmM1Mjg3Y2RhNDRhZGY0OWZjNjE4ZGRjMzJlYy4uNzhiODljNTk4MGMxYmY5NjRkOWUxZGFmNzkx
YTgxY2NmMmJiMDNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCkBAIC0yMywxMSAr
MjMsOCBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50Lmgi
Ci0jaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94LmgiCiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKLSNp
bmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0
LmgiCi0jaW5jbHVkZSAiU1ZHVHJhbnNmb3JtYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTYwLDk5ICs1NywxMDQgQEAgdm9pZCBTVkdWaWV3U3BlYzo6cmVzZXQoKQogICAgIFNW
R1pvb21BbmRQYW46OnJlc2V0KCk7CiB9CiAKLXN0YXRpYyBjb25zdCBVQ2hhciBzdmdWaWV3U3Bl
Y1tdID0geydzJywgJ3YnLCAnZycsICdWJywgJ2knLCAnZScsICd3J307Ci1zdGF0aWMgY29uc3Qg
VUNoYXIgdmlld0JveFNwZWNbXSA9IHsndicsICdpJywgJ2UnLCAndycsICdCJywgJ28nLCAneCd9
Owotc3RhdGljIGNvbnN0IFVDaGFyIHByZXNlcnZlQXNwZWN0UmF0aW9TcGVjW10gPSB7J3AnLCAn
cicsICdlJywgJ3MnLCAnZScsICdyJywgJ3YnLCAnZScsICdBJywgJ3MnLCAncCcsICdlJywgJ2Mn
LCAndCcsICdSJywgJ2EnLCAndCcsICdpJywgJ28nfTsKLXN0YXRpYyBjb25zdCBVQ2hhciB0cmFu
c2Zvcm1TcGVjW10gPSB7J3QnLCAncicsICdhJywgJ24nLCAncycsICdmJywgJ28nLCAncicsICdt
J307Ci1zdGF0aWMgY29uc3QgVUNoYXIgem9vbUFuZFBhblNwZWNbXSA9IHsneicsICdvJywgJ28n
LCAnbScsICdBJywgJ24nLCAnZCcsICdQJywgJ2EnLCAnbid9Owotc3RhdGljIGNvbnN0IFVDaGFy
IHZpZXdUYXJnZXRTcGVjW10gPSAgeyd2JywgJ2knLCAnZScsICd3JywgJ1QnLCAnYScsICdyJywg
J2cnLCAnZScsICd0J307CitzdGF0aWMgT3B0aW9uYWw8VmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcs
IFN0cmluZz4+PiBwYXJzZU5hbWVzVmFsdWVzKGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAg
IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiByZXN1bHQ7CisKKyAgICBmb3IgKHNp
emVfdCBwb3NpdGlvbiA9IDA7IHBvc2l0aW9uIDwgc3RyaW5nLmxlbmd0aCgpOyApIHsKKyAgICAg
ICAgc2l6ZV90IHN0YXJ0ID0gcG9zaXRpb247CisgICAgICAgIAorICAgICAgICAvLyBGaW5kIG9m
IHRoZSBlbmQgb2YgdGhlIGF0dHJpYnV0dWUgbmFtZS4KKyAgICAgICAgcG9zaXRpb24gPSBzdHJp
bmcuZmluZCgnKCcsIHN0YXJ0KTsKKyAgICAgICAgaWYgKHBvc2l0aW9uID09IG5vdEZvdW5kKQor
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICAvLyBFeHRyYWN0IHRo
ZSBuYW1lIGFuZCBzdGlwIHRoZSB3aGl0ZSBzcGFjZXMuCisgICAgICAgIFN0cmluZyBuYW1lID0g
c3RyaW5nLnN1YnN0cmluZyhzdGFydCwgcG9zaXRpb24gLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNl
KCk7CisKKyAgICAgICAgLy8gS2VlcCB0cmFjayBvZiBvcGVuZCBsZWZ0IHBhcmVudGhlc2VzIGJ1
dCBzdG9yZSB0aGUgcG9zdGlvbnMgb2YgdGhlIGNsb3NlZCBvbmVzCisgICAgICAgIFZlY3Rvcjxz
aXplX3Q+IGxlZnRQYXJlbnRoZXNlcyB7IHBvc2l0aW9uIH07CisgICAgICAgIFZlY3RvcjxzdGQ6
OnBhaXI8c2l6ZV90LCBzaXplX3Q+PiBwYXJlbnRoZXNlczsKKyAgICAgICAgc3RhcnQgPSBwb3Np
dGlvbisrOworCisgICAgICAgIHdoaWxlIChwb3NpdGlvbiA8IHN0cmluZy5sZW5ndGgoKSAmJiAh
bGVmdFBhcmVudGhlc2VzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaWYgKHN0cmluZ1twb3Np
dGlvbl0gPT0gJygnKQorICAgICAgICAgICAgICAgIGxlZnRQYXJlbnRoZXNlcy5hcHBlbmQocG9z
aXRpb24pOworICAgICAgICAgICAgZWxzZSBpZiAoc3RyaW5nW3Bvc2l0aW9uXSA9PSAnKScpCisg
ICAgICAgICAgICAgICAgcGFyZW50aGVzZXMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGxlZnRQYXJl
bnRoZXNlcy50YWtlTGFzdCgpLCBwb3NpdGlvbikpOworICAgICAgICAgICAgKytwb3NpdGlvbjsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIFVuYmFsYW5jZWQgcGFyZW50aGVzZXMuCisgICAgICAg
IGlmICghbGVmdFBhcmVudGhlc2VzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CiAKLWJvb2wgU1ZHVmlld1NwZWM6OnBhcnNlVmlld1NwZWMoY29uc3QgU3RyaW5n
JiB2aWV3U3BlYykKKyAgICAgICAgc2l6ZV90IGVuZCA9IHBvc2l0aW9uOworICAgICAgICAKKyAg
ICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IHBhcmVudGhlc2VzLgorICAgICAgICBmb3IgKDsg
IXBhcmVudGhlc2VzLmlzRW1wdHkoKTsgKytzdGFydCwgLS1lbmQpIHsKKyAgICAgICAgICAgIGF1
dG8gcGFpciA9IHBhcmVudGhlc2VzLnRha2VMYXN0KCk7CisgICAgICAgICAgICBpZiAocGFpci5m
aXJzdCAhPSBzdGFydCB8fCBwYWlyLnNlY29uZCAhPSBlbmQgLTEpCisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBFeHRyYWN0IHRoZSB2YWx1ZSBhbmQgc3Rp
cCB0aGUgd2hpdGUgc3BhY2VzLgorICAgICAgICBTdHJpbmcgdmFsdWUgPSBzdHJpbmcuc3Vic3Ry
aW5nKHN0YXJ0LCBlbmQgLSBzdGFydCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgICAgIHJlc3Vs
dC5hcHBlbmQoc3RkOjptYWtlX3BhaXIobmFtZSwgdmFsdWUpKTsKKworICAgICAgICAvLyBTa2lw
IHRoZSBzZW1pY29sb24gaWYgaXQgc2VwYXJhdGVzIHRoZSBhdHRyaWJ1dGVzLgorICAgICAgICBp
ZiAocG9zaXRpb24gPCBzdHJpbmcubGVuZ3RoKCkgJiYgc3RyaW5nW3Bvc2l0aW9uXSA9PSAnOycp
CisgICAgICAgICAgICArK3Bvc2l0aW9uOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKK1NWR1BhcnNpbmdFcnJvciBTVkdWaWV3U3BlYzo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAo
bmFtZSA9PSBTVkdOYW1lczo6dHJhbnNmb3JtQXR0cikKKyAgICAgICAgcmV0dXJuIG1fdHJhbnNm
b3JtLT5wYXJzZSh2YWx1ZSk7CisKKyAgICBpZiAoYXV0byBlcnJvciA9IFNWR0ZpdFRvVmlld0Jv
eDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpKQorICAgICAgICByZXR1cm4gKmVycm9yOwor
CisgICAgaWYgKGF1dG8gZXJyb3IgPSBTVkdab29tQW5kUGFuOjpwYXJzZUF0dHJpYnV0ZShuYW1l
LCB2YWx1ZSkpCisgICAgICAgIHJldHVybiAqZXJyb3I7CisKKyAgICByZXR1cm4gUGFyc2luZ0F0
dHJpYnV0ZUZhaWxlZEVycm9yOworfQorCitTVkdQYXJzaW5nRXJyb3IgU1ZHVmlld1NwZWM6OnBh
cnNlVmlld1NwZWMoY29uc3QgU3RyaW5nJiB2aWV3U3BlYykKIHsKLSAgICBhdXRvIHVwY29udmVy
dGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcodmlld1NwZWMpLnVwY29udmVydGVkQ2hhcmFjdGVy
cygpOwotICAgIGNvbnN0IFVDaGFyKiBjdXJyVmlld1NwZWMgPSB1cGNvbnZlcnRlZENoYXJhY3Rl
cnM7Ci0gICAgY29uc3QgVUNoYXIqIGVuZCA9IGN1cnJWaWV3U3BlYyArIHZpZXdTcGVjLmxlbmd0
aCgpOwotCi0gICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgIW1fY29udGV4dEVsZW1lbnQp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghc2tpcFN0cmluZyhjdXJyVmlld1Nw
ZWMsIGVuZCwgc3ZnVmlld1NwZWMsIFdURl9BUlJBWV9MRU5HVEgoc3ZnVmlld1NwZWMpKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1
cnJWaWV3U3BlYyAhPSAnKCcpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjdXJyVmlld1Nw
ZWMrKzsKLQotICAgIHdoaWxlIChjdXJyVmlld1NwZWMgPCBlbmQgJiYgKmN1cnJWaWV3U3BlYyAh
PSAnKScpIHsKLSAgICAgICAgaWYgKCpjdXJyVmlld1NwZWMgPT0gJ3YnKSB7Ci0gICAgICAgICAg
ICBpZiAoc2tpcFN0cmluZyhjdXJyVmlld1NwZWMsIGVuZCwgdmlld0JveFNwZWMsIFdURl9BUlJB
WV9MRU5HVEgodmlld0JveFNwZWMpKSkgewotICAgICAgICAgICAgICAgIGlmIChjdXJyVmlld1Nw
ZWMgPj0gZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgY3VyclZpZXdTcGVjKys7Ci0gICAgICAgICAg
ICAgICAgRmxvYXRSZWN0IHZpZXdCb3g7Ci0gICAgICAgICAgICAgICAgaWYgKCFTVkdGaXRUb1Zp
ZXdCb3g6OnBhcnNlVmlld0JveChjdXJyVmlld1NwZWMsIGVuZCwgdmlld0JveCwgZmFsc2UpKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgc2V0Vmll
d0JveCh2aWV3Qm94KTsKLSAgICAgICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8
fCAqY3VyclZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAgICAgfSBlbHNlIGlm
IChza2lwU3RyaW5nKGN1cnJWaWV3U3BlYywgZW5kLCB2aWV3VGFyZ2V0U3BlYywgV1RGX0FSUkFZ
X0xFTkdUSCh2aWV3VGFyZ2V0U3BlYykpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJWaWV3
U3BlYyA+PSBlbmQgfHwgKmN1cnJWaWV3U3BlYyAhPSAnKCcpCi0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICBjb25zdCBVQ2hhciogdmlld1RhcmdldFN0
YXJ0ID0gKytjdXJyVmlld1NwZWM7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGN1cnJWaWV3U3Bl
YyA8IGVuZCAmJiAqY3VyclZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgICAgICAgICAgICAgY3Vy
clZpZXdTcGVjKys7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQpCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICBtX3ZpZXdU
YXJnZXRTdHJpbmcgPSBTdHJpbmcodmlld1RhcmdldFN0YXJ0LCBjdXJyVmlld1NwZWMgLSB2aWV3
VGFyZ2V0U3RhcnQpOwotICAgICAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9IGVsc2Ug
aWYgKCpjdXJyVmlld1NwZWMgPT0gJ3onKSB7Ci0gICAgICAgICAgICBpZiAoIXNraXBTdHJpbmco
Y3VyclZpZXdTcGVjLCBlbmQsIHpvb21BbmRQYW5TcGVjLCBXVEZfQVJSQVlfTEVOR1RIKHpvb21B
bmRQYW5TcGVjKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAg
aWYgKGN1cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1cnJWaWV3U3BlYyAhPSAnKCcpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY3VyclZpZXdTcGVjKys7Ci0gICAg
ICAgICAgICBpZiAoIVNWR1pvb21BbmRQYW46OnBhcnNlWm9vbUFuZFBhbihjdXJyVmlld1NwZWMs
IGVuZCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKGN1
cnJWaWV3U3BlYyA+PSBlbmQgfHwgKmN1cnJWaWV3U3BlYyAhPSAnKScpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY3VyclZpZXdTcGVjKys7Ci0gICAgICAgIH0g
ZWxzZSBpZiAoKmN1cnJWaWV3U3BlYyA9PSAncCcpIHsKLSAgICAgICAgICAgIGlmICghc2tpcFN0
cmluZyhjdXJyVmlld1NwZWMsIGVuZCwgcHJlc2VydmVBc3BlY3RSYXRpb1NwZWMsIFdURl9BUlJB
WV9MRU5HVEgocHJlc2VydmVBc3BlY3RSYXRpb1NwZWMpKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoY3VyclZpZXdTcGVjID49IGVuZCB8fCAqY3VyclZp
ZXdTcGVjICE9ICcoJykKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAg
ICBjdXJyVmlld1NwZWMrKzsKLSAgICAgICAgICAgIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvOwotICAgICAgICAgICAgaWYgKCFwcmVzZXJ2ZUFzcGVjdFJh
dGlvLnBhcnNlKGN1cnJWaWV3U3BlYywgZW5kLCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAgICAgc2V0UHJlc2VydmVBc3BlY3RSYXRpbyhwcmVzZXJ2ZUFz
cGVjdFJhdGlvKTsKLSAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5kIHx8ICpjdXJy
Vmlld1NwZWMgIT0gJyknKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
ICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICB9IGVsc2UgaWYgKCpjdXJyVmlld1NwZWMgPT0g
J3QnKSB7Ci0gICAgICAgICAgICBpZiAoIXNraXBTdHJpbmcoY3VyclZpZXdTcGVjLCBlbmQsIHRy
YW5zZm9ybVNwZWMsIFdURl9BUlJBWV9MRU5HVEgodHJhbnNmb3JtU3BlYykpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0gZW5k
IHx8ICpjdXJyVmlld1NwZWMgIT0gJygnKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICAgICAgbV90cmFuc2Zvcm0tPnBh
cnNlKGN1cnJWaWV3U3BlYywgZW5kKTsKLSAgICAgICAgICAgIGlmIChjdXJyVmlld1NwZWMgPj0g
ZW5kIHx8ICpjdXJyVmlld1NwZWMgIT0gJyknKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgICAgIGN1cnJWaWV3U3BlYysrOwotICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBpZiAoY3VyclZpZXdTcGVjIDwgZW5kICYmICpj
dXJyVmlld1NwZWMgPT0gJzsnKQotICAgICAgICAgICAgY3VyclZpZXdTcGVjKys7CisgICAgYXV0
byByZXN1bHQgPSBwYXJzZU5hbWVzVmFsdWVzKHZpZXdTcGVjKTsKKyAgICBpZiAoIXJlc3VsdCB8
fCByZXN1bHQtPnNpemUoKSAhPSAxIHx8ICgqcmVzdWx0KVswXS5maXJzdCAhPSAic3ZnVmlldyIp
CisgICAgICAgIHJldHVybiBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I7CisKKyAgICBhdXRv
IG5hbWVzVmFsdWVzID0gcGFyc2VOYW1lc1ZhbHVlcygoKnJlc3VsdClbMF0uc2Vjb25kKTsKKyAg
ICBpZiAoIW5hbWVzVmFsdWVzIHx8IG5hbWVzVmFsdWVzLT5pc0VtcHR5KCkpCisgICAgICAgIHJl
dHVybiBQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3I7CisKKyAgICBTdHJpbmdCdWlsZGVyIHRy
YW5zZnJvbTsKKyAgICBmb3IgKGF1dG8mIG5hbWVWYWx1ZSA6ICpuYW1lc1ZhbHVlcykgeworICAg
ICAgICBRdWFsaWZpZWROYW1lIG5hbWUoZW1wdHlBdG9tKCksIG5hbWVWYWx1ZS5maXJzdCwgZW1w
dHlBdG9tKCkpOworICAgICAgICBpZiAobmFtZS5tYXRjaGVzKFNWR05hbWVzOjp2aWV3VGFyZ2V0
QXR0cikpIHsKKyAgICAgICAgICAgIC8vIHZpZXdUYXJnZXQgY2FuJ3QgYmUgYW4gZW1wdHkgc3Ry
aW5nLgorICAgICAgICAgICAgaWYgKG5hbWVWYWx1ZS5zZWNvbmQuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBVbmV4cGVjdGVkRW5kT2ZBdHRyaWJ1dGVFcnJvcjsKKyAgICAgICAg
ICAgIG1fdmlld1RhcmdldFN0cmluZyA9IG5hbWVWYWx1ZS5zZWNvbmQ7CisgICAgICAgIH0gZWxz
ZSBpZiAobmFtZS5tYXRjaGVzKFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyKSkgeworICAgICAgICAg
ICAgLy8gdHJhbnNmb3JtIGNhbiBleGlzdCBtdWx0aXBsZSB0aW1lcy4gQ29sbGVjdCB2YWx1ZXMg
YW5kIHBhcnNlIGF0IHRoZSBlbmQuCisgICAgICAgICAgICBpZiAodHJhbnNmcm9tLmxlbmd0aCgp
KQorICAgICAgICAgICAgICAgIHRyYW5zZnJvbS5hcHBlbmQoJyAnKTsKKyAgICAgICAgICAgIHRy
YW5zZnJvbS5hcHBlbmQobmFtZVZhbHVlLnNlY29uZCk7CisgICAgICAgIH0gZWxzZSBpZiAoYXV0
byBlcnJvciA9IHBhcnNlQXR0cmlidXRlKG5hbWUsIG5hbWVWYWx1ZS5zZWNvbmQpKQorICAgICAg
ICAgICAgcmV0dXJuIGVycm9yOwogICAgIH0KLSAgICAKLSAgICBpZiAoY3VyclZpZXdTcGVjID49
IGVuZCB8fCAqY3VyclZpZXdTcGVjICE9ICcpJykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHRyYW5zZnJvbS5sZW5ndGgoKSkKKyAgICAgICAgcmV0
dXJuIHBhcnNlQXR0cmlidXRlKFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyLCB0cmFuc2Zyb20udG9T
dHJpbmcoKSk7CisKKyAgICByZXR1cm4gTm9FcnJvcjsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmll
d1NwZWMuaAppbmRleCAyZTdlZjk3ODZjMWE4ODZmZDI1YWNmZWEwMzdmYzg1MGQ3OWRlNTIwLi42
Zjg4YzBjYWY5MjlkNDE3YTAzMmNmNTUzMjk5ZjFlNmM2YTA5NjEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuaApAQCAtMzAsMTMgKzMwLDE1IEBAIGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBT
VkdUcmFuc2Zvcm1MaXN0OwogCiBjbGFzcyBTVkdWaWV3U3BlYyBmaW5hbCA6IHB1YmxpYyBSZWZD
b3VudGVkPFNWR1ZpZXdTcGVjPiwgcHVibGljIFNWR0ZpdFRvVmlld0JveCwgcHVibGljIFNWR1pv
b21BbmRQYW4geworICAgIHVzaW5nIFByb3BlcnR5UmVnaXN0cnkgPSBTVkdQcm9wZXJ0eU93bmVy
UmVnaXN0cnk8U1ZHVmlld1NwZWMsIFNWR0ZpdFRvVmlld0JveD47CisKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFNWR1ZpZXdTcGVjPiBjcmVhdGUoU1ZHRWxlbWVudCYgY29udGV4dEVsZW1lbnQp
CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdWaWV3U3BlYyhjb250ZXh0
RWxlbWVudCkpOwogICAgIH0KIAotICAgIGJvb2wgcGFyc2VWaWV3U3BlYyhjb25zdCBTdHJpbmcm
KTsKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VWaWV3U3BlYyhjb25zdCBTdHJpbmcmKTsKICAg
ICB2b2lkIHJlc2V0KCk7CiAgICAgdm9pZCByZXNldENvbnRleHRFbGVtZW50KCkgeyBtX2NvbnRl
eHRFbGVtZW50ID0gbnVsbHB0cjsgfQogCkBAIC01MSw3ICs1Myw3IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgU1ZHVmlld1NwZWMoU1ZHRWxlbWVudCYpOwogCi0gICAgdXNpbmcg
UHJvcGVydHlSZWdpc3RyeSA9IFNWR1Byb3BlcnR5T3duZXJSZWdpc3RyeTxTVkdWaWV3U3BlYywg
U1ZHRml0VG9WaWV3Qm94PjsKKyAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpOwogCiAgICAgV2Vha1B0cjxT
VkdFbGVtZW50PiBtX2NvbnRleHRFbGVtZW50OwogICAgIFN0cmluZyBtX3ZpZXdUYXJnZXRTdHJp
bmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5jcHAKaW5kZXggMTRkOGZjYjc3ZWE1ODAx
ZDY1MTA5ZjQ1M2RhMjUwMzYyMzExMjc2ZC4uOWEwZTAyMzEzZTg5ODY2YzdiZGZiY2FkNjNjMmEw
NGZhMzA3YzA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmNwcApAQCAtMjQsMjgg
KzI0LDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBTVkdab29tQW5kUGFuOjpw
YXJzZVpvb21BbmRQYW4oY29uc3QgVUNoYXIqJiBzdGFydCwgY29uc3QgVUNoYXIqIGVuZCkKK09w
dGlvbmFsPFNWR1BhcnNpbmdFcnJvcj4gU1ZHWm9vbUFuZFBhbjo6cGFyc2VBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKLSAg
ICBzdGF0aWMgY29uc3QgVUNoYXIgZGlzYWJsZVtdID0geyAnZCcsICdpJywgJ3MnLCAnYScsICdi
JywgJ2wnLCAnZScgfTsKLSAgICBpZiAoc2tpcFN0cmluZyhzdGFydCwgZW5kLCBkaXNhYmxlLCBX
VEZfQVJSQVlfTEVOR1RIKGRpc2FibGUpKSkgewotICAgICAgICBtX3pvb21BbmRQYW4gPSBTVkda
b29tQW5kUGFuRGlzYWJsZTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIGlmICgh
bmFtZS5tYXRjaGVzKFNWR05hbWVzOjp6b29tQW5kUGFuQXR0cikpCisgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiAKLSAgICBzdGF0aWMgY29uc3QgVUNoYXIgbWFnbmlmeVtdID0geyAnbScs
ICdhJywgJ2cnLCAnbicsICdpJywgJ2YnLCAneScgfTsKLSAgICBpZiAoc2tpcFN0cmluZyhzdGFy
dCwgZW5kLCBtYWduaWZ5LCBXVEZfQVJSQVlfTEVOR1RIKG1hZ25pZnkpKSkgewotICAgICAgICBt
X3pvb21BbmRQYW4gPSBTVkdab29tQW5kUGFuTWFnbmlmeTsKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi12b2lkIFNWR1pvb21BbmRQYW46OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKGF0dHJpYnV0ZU5hbWUgIT0gU1ZHTmFtZXM6
Onpvb21BbmRQYW5BdHRyKQotICAgICAgICByZXR1cm47Ci0gICAgbV96b29tQW5kUGFuID0gU1ZH
UHJvcGVydHlUcmFpdHM8U1ZHWm9vbUFuZFBhblR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKyAg
ICBhdXRvIGV4cGVjdGVkWm9vbUFuZFBhbiA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQ
YW5UeXBlPjo6cGFyc2UodmFsdWUpOworICAgIGlmICghZXhwZWN0ZWRab29tQW5kUGFuKQorICAg
ICAgICByZXR1cm4gZXhwZWN0ZWRab29tQW5kUGFuLmVycm9yKCk7CisgICAgCisgICAgbV96b29t
QW5kUGFuID0gKmV4cGVjdGVkWm9vbUFuZFBhbjsKKyAgICByZXR1cm4gTm9FcnJvcjsKIH0KIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmgKaW5kZXggOWZiY2ZiMDlhYzNhZDAxNmI4ZmUy
ZDI5MmRhYjIzNTYyYTUyNTRhNy4uOTA2MzhmOTEwOGJjOTViYTY5MDY3ZTdhN2UyNWIwYzg5OGRh
NmMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUFuZFBhbi5oCkBAIC0yMyw4ICsyMyw4IEBACiAK
ICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKKyNp
bmNsdWRlICJTVkdFbnVtVHlwZS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAi
U1ZHWm9vbUFuZFBhblR5cGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSwxNyAr
NDEsMTUgQEAgcHVibGljOgogICAgIFNWR1pvb21BbmRQYW5UeXBlIHpvb21BbmRQYW4oKSBjb25z
dCB7IHJldHVybiBtX3pvb21BbmRQYW47IH0KICAgICB2b2lkIHNldFpvb21BbmRQYW4oU1ZHWm9v
bUFuZFBhblR5cGUgem9vbUFuZFBhbikgeyBtX3pvb21BbmRQYW4gPSB6b29tQW5kUGFuOyB9CiAg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Wm9vbUFuZFBhbih1bnNpZ25lZCkgeyByZXR1cm4gRXhj
ZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsgfQotICAgIHZvaWQgcmVzZXQo
KSB7IG1fem9vbUFuZFBhbiA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPjo6
aW5pdGlhbFZhbHVlKCk7IH0KKyAgICB2b2lkIHJlc2V0KCkgeyBtX3pvb21BbmRQYW4gPSBTVkda
b29tQW5kUGFuTWFnbmlmeTsgfQogCi0gICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CisgICAgT3B0aW9uYWw8U1ZHUGFyc2lu
Z0Vycm9yPiBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWlj
U3RyaW5nJik7CiAKIHByb3RlY3RlZDoKICAgICBTVkdab29tQW5kUGFuKCkgPSBkZWZhdWx0Owog
Ci0gICAgYm9vbCBwYXJzZVpvb21BbmRQYW4oY29uc3QgVUNoYXIqJiwgY29uc3QgVUNoYXIqKTsK
LQogcHJpdmF0ZToKLSAgICBTVkdab29tQW5kUGFuVHlwZSBtX3pvb21BbmRQYW4geyBTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdab29tQW5kUGFuVHlwZT46OmluaXRpYWxWYWx1ZSgpIH07CisgICAgU1ZH
Wm9vbUFuZFBhblR5cGUgbV96b29tQW5kUGFuIHsgU1ZHWm9vbUFuZFBhbk1hZ25pZnkgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdab29tQW5kUGFuVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW5U
eXBlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyMGZhOTNmNjM3NjZkMzI3MDE1
YWU2MTkxNjk3MGU1Yzg2YWY2NmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW5UeXBlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFp
dHMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1lbnVtIFNWR1pvb21BbmRQYW5UeXBlIHsK
LSAgICBTVkdab29tQW5kUGFuVW5rbm93biwKLSAgICBTVkdab29tQW5kUGFuRGlzYWJsZSwKLSAg
ICBTVkdab29tQW5kUGFuTWFnbmlmeQotfTsKLQotdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3Bl
cnR5VHJhaXRzPFNWR1pvb21BbmRQYW5UeXBlPiB7Ci0gICAgc3RhdGljIFNWR1pvb21BbmRQYW5U
eXBlIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR1pvb21BbmRQYW5NYWduaWZ5OyB9Ci0gICAg
c3RhdGljIFN0cmluZyB0b1N0cmluZyhTVkdab29tQW5kUGFuVHlwZSkgeyByZXR1cm4gZW1wdHlT
dHJpbmcoKTsgfQotICAgIHN0YXRpYyBTVkdab29tQW5kUGFuVHlwZSBmcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUgPT0gImRpc2FibGUiKQot
ICAgICAgICAgICAgcmV0dXJuIFNWR1pvb21BbmRQYW5EaXNhYmxlOwotICAgICAgICBpZiAodmFs
dWUgPT0gIm1hZ25pZnkiKQotICAgICAgICAgICAgcmV0dXJuIFNWR1pvb21BbmRQYW5NYWduaWZ5
OwotICAgICAgICByZXR1cm4gU1ZHWm9vbUFuZFBhblVua25vd247Ci0gICAgfQotfTsKLQotfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNv
cmF0ZWRQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0
ZWREZWNvcmF0ZWRQcm9wZXJ0eS5oCmluZGV4IGU1ZWZhYWVhNzExMWJjNmM5NTdkOTcyZDc0NTQ4
ZGU5MmQ4YTEzM2UuLmJhZGZiOWVhNGZmMDA4MTY3NThiYzE0OTRmZmQzMzJmZjM2YzY0NmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3Jh
dGVkUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZERlY29yYXRlZFByb3BlcnR5LmgKQEAgLTk3LDggKzk3LDggQEAgcHVibGljOgogICAgIH0K
IAogICAgIC8vIE1hbmFnaW5nIHRoZSByZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3duZXIuCi0gICAg
dm9pZCBzZXREaXJ0eSgpIG92ZXJyaWRlIHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRp
cnR5OyB9Ci0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zdGF0
ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQorICAgIFNWR1Byb3BlcnR5U3RhdGUgc3Rh
dGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgdm9pZCBzZXRTdGF0
ZShTVkdQcm9wZXJ0eVN0YXRlIHN0YXRlKSBvdmVycmlkZSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQog
ICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlkZQogICAgIHsKICAgICAg
ICAgaWYgKG1fc3RhdGUgPT0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW4pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVBy
b3BlcnR5LmgKaW5kZXggYzQyNTYxOTIwMGRmMDQ4NTY3MWJjNzMxOWViNTdmNmQzY2E4YWQ4ZC4u
YTAyZWEyN2E1NGI1ZDY2NzRhNGFiMjMxZDRkNjdiOThjNjM4MDY0OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcmltaXRpdmVQcm9wZXJ0eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZl
UHJvcGVydHkuaApAQCAtODcsOCArODcsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gTWFu
YWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERpcnR5
KCkgb3ZlcnJpZGUgeyBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7IH0KLSAgICBi
b29sIGlzRGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlID09IFNWR1Byb3Bl
cnR5U3RhdGU6OkRpcnR5OyB9CisgICAgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICB2b2lkIHNldFN0YXRlKFNWR1Byb3BlcnR5
U3RhdGUgc3RhdGUpIG92ZXJyaWRlIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CiAgICAgT3B0aW9uYWw8
U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAobV9zdGF0
ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaAppbmRleCBjNmY5MzJlNmRmNjljY2Vm
YWZjOTY1ZTMyY2Q1NjYyMGExZmMzMzY0Li44YTllOTEzOGQwZTZlNTViYzU5NGU0NjYzN2FiOGZl
MThiZmUyNDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
QW5pbWF0ZWRQcm9wZXJ0eS5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGljOgogICAgIAogICAg
IHZpcnR1YWwgU3RyaW5nIGJhc2VWYWxBc1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBhbmltVmFsQXNTdHJpbmcoKSBjb25zdCB7IHJl
dHVybiBlbXB0eVN0cmluZygpOyB9Ci0gICAgCisKICAgICAvLyBDb250cm9sIHRoZSBzeW5jaHJv
bml6YXRpb24gYmV0d2VlbiB0aGUgYXR0cmlidXRlIGFuZCBpdHMgcmVmbGVjdGlvbiBpbiBiYXNl
VmFsLgotICAgIHZpcnR1YWwgYm9vbCBpc0RpcnR5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
LSAgICB2aXJ0dWFsIHZvaWQgc2V0RGlydHkoKSB7IH0KKyAgICB2aXJ0dWFsIFNWR1Byb3BlcnR5
U3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbjsgfQor
ICAgIHZpcnR1YWwgdm9pZCBzZXRTdGF0ZShTVkdQcm9wZXJ0eVN0YXRlKSB7IH0KICAgICB2aXJ0
dWFsIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSB7IHJldHVybiBXVEY6Om51bGxvcHQ7
IH0KICAgICAKICAgICAvLyBDb250cm9sIHRoZSBhbmltYXRpb24gbGlmZSBjeWNsZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlM
aXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5
TGlzdC5oCmluZGV4IGY0MjU1ZDdmNmU3NWIxNGFjYTg4YTg4MGJmZjM2ZTY1NjM4M2Y3MTYuLjA3
N2M4MzdkZjg2NGMwNDAyNWJjZDNiZmQ0ZWU4NDNhNDIyOTgyOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaApA
QCAtNjgsOCArNjgsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gTWFuYWdpbmcgdGhlIHJl
bGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERpcnR5KCkgb3ZlcnJpZGUg
eyBtX2Jhc2VWYWwtPnNldERpcnR5KCk7IH0KLSAgICBib29sIGlzRGlydHkoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPmlzRGlydHkoKTsgfQorICAgIFNWR1Byb3BlcnR5U3Rh
dGUgc3RhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN0YXRlKCk7IH0K
KyAgICB2b2lkIHNldFN0YXRlKFNWR1Byb3BlcnR5U3RhdGUgc3RhdGUpIG92ZXJyaWRlIHsgbV9i
YXNlVmFsLT5zZXRTdGF0ZShzdGF0ZSk7IH0KICAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9u
aXplKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9iYXNlVmFsLT5zeW5jaHJvbml6ZSgpOyB9CiAKICAg
ICAvLyBVc2VkIGJ5IFJlbmRlclNWR0VsZW1lbnRzIGFuZCBEdW1wUmVuZGVyVHJlZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQ
YWlyQWNjZXNzb3JJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1wbC5oCmluZGV4IGQ0N2U0YWU1NTc5MDA2ZDI1YmEw
OTQ1OTViM2Y2NzE2ZTE3NThlNzQuLjI5N2YwZWZjNGNkYjhlZTg1YzAwMTBkNDFkMjljN2E2MTVm
ZTBjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1h
dGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaApAQCAtNDgsOCAr
NDgsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25p
emUoY29uc3QgT3duZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJv
b2wgZGlydHkxID0gcHJvcGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRp
cnR5MiA9IHByb3BlcnR5Mihvd25lciktPmlzRGlydHkoKTsKKyAgICAgICAgYm9vbCBkaXJ0eTEg
PSBwcm9wZXJ0eTEob3duZXIpLT5zdGF0ZSgpID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5Owor
ICAgICAgICBib29sIGRpcnR5MiA9IHByb3BlcnR5Mihvd25lciktPnN0YXRlKCkgPT0gU1ZHUHJv
cGVydHlTdGF0ZTo6RGlydHk7CiAgICAgICAgIGlmICghKGRpcnR5MSB8fCBkaXJ0eTIpKQogICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtODUsOCArODUsOCBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJU
eXBlJiBvd25lcikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJvb2wgZGlydHkxID0gcHJv
cGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRpcnR5MiA9IHByb3BlcnR5
Mihvd25lciktPmlzRGlydHkoKTsKKyAgICAgICAgYm9vbCBkaXJ0eTEgPSBwcm9wZXJ0eTEob3du
ZXIpLT5zdGF0ZSgpID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OworICAgICAgICBib29sIGRp
cnR5MiA9IHByb3BlcnR5Mihvd25lciktPnN0YXRlKCkgPT0gU1ZHUHJvcGVydHlTdGF0ZTo6RGly
dHk7CiAgICAgICAgIGlmICghKGRpcnR5MSB8fCBkaXJ0eTIpKQogICAgICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIApAQCAtMTIwLDggKzEyMCw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShjb25zdCBPd25lclR5cGUmIG93bmVyKSBj
b25zdCBmaW5hbAogICAgIHsKLSAgICAgICAgYm9vbCBkaXJ0eTEgPSBwcm9wZXJ0eTEob3duZXIp
LT5pc0RpcnR5KCk7Ci0gICAgICAgIGJvb2wgZGlydHkyID0gcHJvcGVydHkyKG93bmVyKS0+aXNE
aXJ0eSgpOworICAgICAgICBib29sIGRpcnR5MSA9IHByb3BlcnR5MShvd25lciktPnN0YXRlKCkg
PT0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7CisgICAgICAgIGJvb2wgZGlydHkyID0gcHJvcGVy
dHkyKG93bmVyKS0+c3RhdGUoKSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsKICAgICAgICAg
aWYgKCEoZGlydHkxIHx8IGRpcnR5MikpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRl
ZFZhbHVlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1h
dGVkVmFsdWVQcm9wZXJ0eS5oCmluZGV4IGRmZGIxNzFhMGNiODNmYzc1OTYwNTllNzYwNGE3ZmQ4
OTM1MWY1MjUuLjYxMjczNDBjNDdjZGE5NGZhOGU5ODBkNTliMmJhNGE5MDBiNDIzYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFsdWVQcm9w
ZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFs
dWVQcm9wZXJ0eS5oCkBAIC04NCw4ICs4NCw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBN
YW5hZ2luZyB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGly
dHkoKSBvdmVycmlkZSB7IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0
eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9CisgICAg
U1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZh
bC0+c3RhdGUoKTsgfQorICAgIHZvaWQgc2V0U3RhdGUoU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSkg
b3ZlcnJpZGUgeyBtX2Jhc2VWYWwtPnNldFN0YXRlKHN0YXRlKTsgfQogICAgIE9wdGlvbmFsPFN0
cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNocm9u
aXplKCk7IH0KIAogICAgIC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5k
ZXJUcmVlLgpAQCAtMTQyLDYgKzE0MiwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KIAor
ICAgIFNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eShTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwg
U1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBTVkdQcm9wZXJ0eVN0YXRlIHN0YXRlKQorICAgICAg
ICA6IFNWR0FuaW1hdGVkUHJvcGVydHkoY29udGV4dEVsZW1lbnQpCisgICAgICAgICwgbV9iYXNl
VmFsKFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIGFjY2Vzcywgc3RhdGUpKQorICAgIHsKKyAg
ICB9CisKICAgICBSZWZQdHI8UHJvcGVydHlUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAgewog
ICAgICAgICBpZiAoIW1fYW5pbVZhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR0RlY29yYXRlZEVudW1lcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdEZWNvcmF0ZWRFbnVtZXJhdGlvbi5oCmluZGV4IDI2NGMzNmI2OTA3NGNj
ZjNlMmUyOWQyNjc3MjFjZjUzNzQ1NzAzMTEuLjEwNmJjZGU0NTViYzc0OGY1MmQ2MmNiNjMxY2Qz
YzQyY2ZhZGI3NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0RlY29yYXRlZEVudW1lcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHRGVjb3JhdGVkRW51bWVyYXRpb24uaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlICJTVkdEZWNvcmF0ZWRQcmltaXRpdmUuaCIKKyNpbmNsdWRlICJTVkdF
bnVtVHJhaXRzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDUsNyArNDYsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIGJvb2wgc2V0VmFsdWUoY29uc3QgRGVjb3JhdGlvblR5cGUm
IHZhbHVlKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA+IFNW
R0lETEVudW1MaW1pdHM8RW51bVR5cGU+OjpoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpKQorICAg
ICAgICBpZiAoIVNWR1Byb3BlcnR5VHJhaXRzPEVudW1UeXBlPjo6aXNWYWxpZEVudW0odmFsdWUp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBCYXNlOjpzZXRWYWx1ZUludGVy
bmFsKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC01Myw3ICs1NCw3IEBAIHByaXZh
dGU6CiAKICAgICBEZWNvcmF0aW9uVHlwZSB2YWx1ZSgpIGNvbnN0IG92ZXJyaWRlCiAgICAgewot
ICAgICAgICBpZiAoQmFzZTo6dmFsdWUoKSA+IFNWR0lETEVudW1MaW1pdHM8RW51bVR5cGU+Ojpo
aWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpKQorICAgICAgICBpZiAoIVNWR1Byb3BlcnR5VHJhaXRz
PEVudW1UeXBlPjo6aXNWYWxpZEVudW0oQmFzZTo6dmFsdWUoKSkpCiAgICAgICAgICAgICByZXR1
cm4gbV9vdXRPZlJhbmdlRW51bVZhbHVlOwogICAgICAgICByZXR1cm4gQmFzZTo6dmFsdWUoKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdEZWNv
cmF0ZWRQcmltaXRpdmUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29y
YXRlZFByaW1pdGl2ZS5oCmluZGV4IGUyYTUyNDMxMjRmMDczZjg1YWQ4ZGQ2YTk2ZGY0YTY1MzUw
YjY3YzguLmZkMjQzYTE3ZDJiNmYzMjA1NWFhNjllMjYxMjA0NzlkZDg4OWE5NTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0RlY29yYXRlZFByaW1pdGl2
ZS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIlNWR0RlY29y
YXRlZFByb3BlcnR5LmgiCisjaW5jbHVkZSAiU1ZHRW51bVR5cGVUcmFpdHMuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdFbnVtVHJhaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVt
VHJhaXRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNiMzQ2NDkxOTk2YjRiMDNhMGZmODg4MTk3OTg3NmIwMjIw
NmI0OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0VudW1UcmFpdHMuaApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiU1ZHUGFyc2lu
Z0Vycm9yLmgiCisjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKKyNpbmNsdWRlIDx3dGYv
RXhwZWN0ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBTVkdFbnVtVHJhaXRzOworCit0ZW1wbGF0
ZTx0eXBlbmFtZSBFbnVtVHlwZT4gdXNpbmcgU1ZHRW51bVZhbHVlID0gc3RkOjpwYWlyPEVudW1U
eXBlLCBTdHJpbmc+OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBFbnVtVHlwZT4gdXNpbmcgU1ZHRW51
bVZhbHVlcyA9IFZlY3RvcjxTVkdFbnVtVmFsdWU8RW51bVR5cGU+PjsKKwordGVtcGxhdGU8dHlw
ZW5hbWUgRW51bVR5cGU+CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8RW51bVR5cGUsIHN0ZDo6
ZW5hYmxlX2lmX3Q8c3RkOjppc19lbnVtPEVudW1UeXBlPjo6dmFsdWU+PiB7CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4KKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNWYWxpZEVudW0oVCB0
KQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkgPj0gc3RkOjp1bmRlcmx5
aW5nX3R5cGVfdDxFbnVtVHlwZT4oKSwgIkludGVncmFsIHR5cGUgbXVzdCBiZSBhdCBsZWFzdCB0
aGUgc2l6ZSBvZiB0aGUgdW5kZXJseWluZyBlbnVtIHR5cGUiKTsKKyAgICAKKyAgICAgICAgaWYg
KHQgPiBzdGF0aWNfY2FzdDxUPihTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6aGlnaGVzdEV4cG9z
ZWRFbnVtVmFsdWUoKSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVy
biBTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFsdWVzKCkuZmluZE1hdGNoaW5nKFsmXShhdXRv
JiBpdGVtKSB7CisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VD4oaXRlbS5maXJzdCkg
PT0gdDsKKyAgICAgICAgfSkgIT0gbm90Rm91bmQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0
ZXhwciBFeHBlY3RlZDxFbnVtVHlwZSwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJp
bmcmIHN0cmluZykKKyAgICB7CisgICAgICAgIGF1dG8gZmluZCA9IFNWR0VudW1UcmFpdHM8RW51
bVR5cGU+Ojp2YWx1ZXMoKS5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsKKyAgICAgICAg
ICAgIHJldHVybiBpdGVtLnNlY29uZCA9PSBzdHJpbmc7CisgICAgICAgIH0pOworICAgICAgICBp
ZiAoZmluZCAhPSBub3RGb3VuZCkKKyAgICAgICAgICAgIHJldHVybiBTVkdFbnVtVHJhaXRzPEVu
dW1UeXBlPjo6dmFsdWVzKClbZmluZF0uZmlyc3Q7CisgICAgICAgIHJldHVybiBtYWtlVW5leHBl
Y3RlZChVbnJlY29nbml6ZWRFbnVtVmFsdWVFcnJvcik7CisgICAgfQorICAgIHN0YXRpYyBjb25z
dGV4cHIgRW51bVR5cGUgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4g
cGFyc2Uoc3RyaW5nKS52YWx1ZV9vcigwKTsgfQorCisgICAgc3RhdGljIFN0cmluZyB0b1N0cmlu
ZyhFbnVtVHlwZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIGF1dG8gZmluZCA9IFNWR0VudW1UcmFp
dHM8RW51bVR5cGU+Ojp2YWx1ZXMoKS5maW5kTWF0Y2hpbmcoWyZdKGF1dG8mIGl0ZW0pIHsKKyAg
ICAgICAgICAgIHJldHVybiBpdGVtLmZpcnN0ID09IHZhbHVlOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuIGZpbmQgIT0gbm90Rm91bmQgPyBTVkdFbnVtVHJhaXRzPEVudW1UeXBlPjo6dmFs
dWVzKClbZmluZF0uc2Vjb25kIDogZW1wdHlTdHJpbmcoKTsKKyAgICB9Cit9OworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVtVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGUuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjE4
N2EzODc3NDc1NWRiMTg4MDk2ZTRkODU0NDUwYTFhMmVlNGRkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHRW51bVR5cGUuaApAQCAtMCwwICsxLDgw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gU1ZHTGVuZ3RoQWRqdXN0VHlw
ZSB7CisgICAgU1ZHTGVuZ3RoQWRqdXN0VW5rbm93biwKKyAgICBTVkdMZW5ndGhBZGp1c3RTcGFj
aW5nLAorICAgIFNWR0xlbmd0aEFkanVzdFNwYWNpbmdBbmRHbHlwaHMKK307CisKK2VudW0gU1ZH
TWFya2VyVW5pdHNUeXBlIHsKKyAgICBTVkdNYXJrZXJVbml0c1Vua25vd24gPSAwLAorICAgIFNW
R01hcmtlclVuaXRzVXNlclNwYWNlT25Vc2UsCisgICAgU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0
aAorfTsKKworZW51bSBTVkdNYXJrZXJPcmllbnRUeXBlIHsKKyAgICBTVkdNYXJrZXJPcmllbnRV
bmtub3duID0gMCwKKyAgICBTVkdNYXJrZXJPcmllbnRBdXRvLAorICAgIFNWR01hcmtlck9yaWVu
dEFuZ2xlLAorICAgIFNWR01hcmtlck9yaWVudEF1dG9TdGFydFJldmVyc2UKK307CisKK2VudW0g
U1ZHU3ByZWFkTWV0aG9kVHlwZSB7CisgICAgU1ZHU3ByZWFkTWV0aG9kVW5rbm93biA9IDAsCisg
ICAgU1ZHU3ByZWFkTWV0aG9kUGFkLAorICAgIFNWR1NwcmVhZE1ldGhvZFJlZmxlY3QsCisgICAg
U1ZHU3ByZWFkTWV0aG9kUmVwZWF0Cit9OworCitlbnVtIFNWR1N0aXRjaE9wdGlvbnMgeworICAg
IFNWR1N0aXRjaFR5cGVVbmtub3duICA9IDAsCisgICAgU1ZHU3RpdGNoVHlwZVN0aXRjaCwKKyAg
ICBTVkdTdGl0Y2hUeXBlTm9TdGl0Y2gKK307CisKK2VudW0gU1ZHVGV4dFBhdGhNZXRob2RUeXBl
IHsKKyAgICBTVkdUZXh0UGF0aE1ldGhvZFVua25vd24gPSAwLAorICAgIFNWR1RleHRQYXRoTWV0
aG9kQWxpZ24sCisgICAgU1ZHVGV4dFBhdGhNZXRob2RTdHJldGNoCit9OworCitlbnVtIFNWR1Rl
eHRQYXRoU3BhY2luZ1R5cGUgeworICAgIFNWR1RleHRQYXRoU3BhY2luZ1Vua25vd24gPSAwLAor
ICAgIFNWR1RleHRQYXRoU3BhY2luZ0F1dG8sCisgICAgU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3QK
K307CisKK2VudW0gU1ZHWm9vbUFuZFBhblR5cGUgeworICAgIFNWR1pvb21BbmRQYW5Vbmtub3du
ID0gMCwKKyAgICBTVkdab29tQW5kUGFuRGlzYWJsZSwKKyAgICBTVkdab29tQW5kUGFuTWFnbmlm
eQorfTsKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0VudW1UeXBlVHJhaXRzLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdFbnVt
VHlwZVRyYWl0cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxNWY5NTU2ZmEwMGYxN2U5MDgxYzIyMDIzMjJjN2Nh
NWYyMmUzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdFbnVtVHlwZVRyYWl0cy5oCkBAIC0wLDAgKzEsMjc0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
RkVDb2xvck1hdHJpeC5oIgorI2luY2x1ZGUgIkZFQ29tcG9uZW50VHJhbnNmZXIuaCIKKyNpbmNs
dWRlICJGRUNvbXBvc2l0ZS5oIgorI2luY2x1ZGUgIkZFQ29udm9sdmVNYXRyaXguaCIKKyNpbmNs
dWRlICJGRURpc3BsYWNlbWVudE1hcC5oIgorI2luY2x1ZGUgIkZFTW9ycGhvbG9neS5oIgorI2lu
Y2x1ZGUgIkZFVHVyYnVsZW5jZS5oIgorI2luY2x1ZGUgIlNWR0VudW1UcmFpdHMuaCIKKyNpbmNs
dWRlICJTVkdFbnVtVHlwZS5oIgorI2luY2x1ZGUgIlNWR1VuaXRUeXBlcy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8QmxlbmRNb2Rl
PiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8QmxlbmRNb2RlPiYgdmFsdWVzKCkK
KyAgICB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPEJsZW5k
TW9kZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZhbHVlPEJsZW5kTW9k
ZT4+IHsKKyAgICAgICAgICAgIHsgQmxlbmRNb2RlOjpOb3JtYWwsICAgICAibm9ybWFsIl9zIH0s
CisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6TXVsdGlwbHksICAgIm11bHRpcGx5Il9zIH0sCisg
ICAgICAgICAgICB7IEJsZW5kTW9kZTo6U2NyZWVuLCAgICAgInNjcmVlbiJfcyB9LAorICAgICAg
ICAgICAgeyBCbGVuZE1vZGU6OkRhcmtlbiwgICAgICJkYXJrZW4iX3MgfSwKKyAgICAgICAgICAg
IHsgQmxlbmRNb2RlOjpMaWdodGVuLCAgICAibGlnaHRlbiJfcyB9LAorICAgICAgICAgICAgeyBC
bGVuZE1vZGU6Ok92ZXJsYXksICAgICJvdmVybGF5Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5k
TW9kZTo6Q29sb3JEb2RnZSwgImNvbG9yLWRvZGdlIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5k
TW9kZTo6Q29sb3JCdXJuLCAgImNvbG9yLWJ1cm4iX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRN
b2RlOjpIYXJkTGlnaHQsICAiaGFyZC1saWdodCJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1v
ZGU6OlNvZnRMaWdodCwgICJzb2Z0LWxpZ2h0Il9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9k
ZTo6RGlmZmVyZW5jZSwgImRpZmZlcmVuY2UiX3MgfSwKKyAgICAgICAgICAgIHsgQmxlbmRNb2Rl
OjpFeGNsdXNpb24sICAiZXhjbHVzaW9uIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6
SHVlLCAgICAgICAgImh1ZSJfcyB9LAorICAgICAgICAgICAgeyBCbGVuZE1vZGU6OlNhdHVyYXRp
b24sICJzYXR1cmF0aW9uIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6Q29sb3IsICAg
ICAgImNvbG9yIl9zIH0sCisgICAgICAgICAgICB7IEJsZW5kTW9kZTo6THVtaW5vc2l0eSwgImx1
bWlub3NpdHkiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9
CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyBy
ZXR1cm4gQmxlbmRNb2RlOjpMdW1pbm9zaXR5OyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBT
VkdFbnVtVHJhaXRzPENoYW5uZWxTZWxlY3RvclR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZH
RW51bVZhbHVlczxDaGFubmVsU2VsZWN0b3JUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPENoYW5uZWxTZWxlY3RvclR5cGU+
PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxDaGFubmVsU2VsZWN0
b3JUeXBlPj4geworICAgICAgICAgICAgeyBDSEFOTkVMX1IsICAgICAgICJSIl9zIH0sCisgICAg
ICAgICAgICB7IENIQU5ORUxfRywgICAgICAgIkciX3MgfSwKKyAgICAgICAgICAgIHsgQ0hBTk5F
TF9CLCAgICAgICAiQiJfcyB9LAorICAgICAgICAgICAgeyBDSEFOTkVMX0EsICAgICAgICJBIl9z
IH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRp
YyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIENIQU5O
RUxfQTsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxDb21wb25lbnRU
cmFuc2ZlclR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxDb21wb25lbnRU
cmFuc2ZlclR5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFNWR0VudW1WYWx1ZXM8Q29tcG9uZW50VHJhbnNmZXJUeXBlPj4gdmFsdWVzKHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8Q29tcG9uZW50VHJhbnNmZXJUeXBlPj4geworICAg
ICAgICAgICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFksICJpZGVudGl0eSJf
cyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVEFCTEUsICAgICJ0
YWJsZSJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfRElTQ1JF
VEUsICJkaXNjcmV0ZSJfcyB9LAorICAgICAgICAgICAgeyBGRUNPTVBPTkVOVFRSQU5TRkVSX1RZ
UEVfTElORUFSLCAgICJsaW5lYXIiX3MgfSwKKyAgICAgICAgICAgIHsgRkVDT01QT05FTlRUUkFO
U0ZFUl9UWVBFX0dBTU1BLCAgICAiZ2FtbWEiX3MgfQorICAgICAgICB9KTsKKyAgICAgICAgcmV0
dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBv
c2VkRW51bVZhbHVlKCkgeyByZXR1cm4gRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BOyB9
Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPENvbG9yTWF0cml4VHlwZT4g
eworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVtVmFsdWVzPENvbG9yTWF0cml4VHlwZT4mIHZhbHVl
cygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxD
b2xvck1hdHJpeFR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1
ZTxDb2xvck1hdHJpeFR5cGU+PiB7CisgICAgICAgICAgICB7IEZFQ09MT1JNQVRSSVhfVFlQRV9N
QVRSSVgsICAgICAgICAgICAibWF0cml4Il9zIH0sCisgICAgICAgICAgICB7IEZFQ09MT1JNQVRS
SVhfVFlQRV9TQVRVUkFURSwgICAgICAgICAic2F0dXJhdGUiX3MgfSwKKyAgICAgICAgICAgIHsg
RkVDT0xPUk1BVFJJWF9UWVBFX0hVRVJPVEFURSwgICAgICAgICJodWVSb3RhdGUiX3MgfSwKKyAg
ICAgICAgICAgIHsgRkVDT0xPUk1BVFJJWF9UWVBFX0xVTUlOQU5DRVRPQUxQSEEsICJsdW1pbmFu
Y2VUb0FscGhhIl9zIH0sCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOworICAg
IH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUoKSB7
IHJldHVybiBGRUNPTE9STUFUUklYX1RZUEVfTFVNSU5BTkNFVE9BTFBIQTsgfQorfTsKKwordGVt
cGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPiB7Cisg
ICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT4mIHZh
bHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVl
czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxT
VkdFbnVtVmFsdWU8Q29tcG9zaXRlT3BlcmF0aW9uVHlwZT4+IHsKKyAgICAgICAgICAgIHsgRkVD
T01QT1NJVEVfT1BFUkFUT1JfT1ZFUiwgICAgICAgIm92ZXIiX3MgfSwKKyAgICAgICAgICAgIHsg
RkVDT01QT1NJVEVfT1BFUkFUT1JfSU4sICAgICAgICAgImluIl9zIH0sCisgICAgICAgICAgICB7
IEZFQ09NUE9TSVRFX09QRVJBVE9SX09VVCwgICAgICAgICJvdXQiX3MgfSwKKyAgICAgICAgICAg
IHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfQVRPUCwgICAgICAgImF0b3AiX3MgfSwKKyAgICAgICAg
ICAgIHsgRkVDT01QT1NJVEVfT1BFUkFUT1JfWE9SLCAgICAgICAgInhvciJfcyB9LAorICAgICAg
ICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9BUklUSE1FVElDLCAiYXJpdGhtZXRpYyJfcyB9
LAorICAgICAgICAgICAgeyBGRUNPTVBPU0lURV9PUEVSQVRPUl9MSUdIVEVSLCAgICAibGlnaHRl
ciJfcyB9LAorICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAg
c3RhdGljIGNvbnN0ZXhwciBhdXRvIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4g
RkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQzsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgU1ZHRW51bVRyYWl0czxFZGdlTW9kZVR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51
bVZhbHVlczxFZGdlTW9kZVR5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8RWRnZU1vZGVUeXBlPj4gdmFsdWVzKHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8RWRnZU1vZGVUeXBlPj4geworICAgICAgICAgICAg
eyBFREdFTU9ERV9EVVBMSUNBVEUsICJkdXBsaWNhdGUiX3MgfSwKKyAgICAgICAgICAgIHsgRURH
RU1PREVfV1JBUCwgICAgICAid3JhcCJfcyB9LAorICAgICAgICAgICAgeyBFREdFTU9ERV9OT05F
LCAgICAgICJub25lIl9zIH0sCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOwor
ICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUo
KSB7IHJldHVybiBFREdFTU9ERV9OT05FOyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdF
bnVtVHJhaXRzPE1vcnBob2xvZ3lPcGVyYXRvclR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZH
RW51bVZhbHVlczxNb3JwaG9sb2d5T3BlcmF0b3JUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAg
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPE1vcnBob2xvZ3lPcGVyYXRv
clR5cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxNb3JwaG9s
b2d5T3BlcmF0b3JUeXBlPj4geworICAgICAgICAgICAgeyBGRU1PUlBIT0xPR1lfT1BFUkFUT1Jf
RVJPREUsICAgImVyb2RlIl9zIH0sCisgICAgICAgICAgICB7IEZFTU9SUEhPTE9HWV9PUEVSQVRP
Ul9ESUxBVEUsICAiZGlsYXRlIl9zIH0sCisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFs
dWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVt
VmFsdWUoKSB7IHJldHVybiBGRU1PUlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFOyB9Cit9OworCit0
ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFR1cmJ1bGVuY2VUeXBlPiB7CisgICAgc3Rh
dGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8VHVyYnVsZW5jZVR5cGU+JiB2YWx1ZXMoKQorICAgIHsK
KyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8VHVyYnVsZW5jZVR5
cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxUdXJidWxlbmNl
VHlwZT4+IHsKKyAgICAgICAgICAgIHsgVHVyYnVsZW5jZVR5cGU6OkZyYWN0YWxOb2lzZSwgImZy
YWN0YWxOb2lzZSJfcyB9LAorICAgICAgICAgICAgeyBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5j
ZSwgICAidHVyYnVsZW5jZSJfcyB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVz
OworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFs
dWUoKSB7IHJldHVybiBUdXJidWxlbmNlVHlwZTo6VHVyYnVsZW5jZTsgfQorfTsKKwordGVtcGxh
dGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdMZW5ndGhBZGp1c3RUeXBlPiB7CisgICAgc3Rh
dGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHTGVuZ3RoQWRqdXN0VHlwZT4mIHZhbHVlcygpCisg
ICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdMZW5n
dGhBZGp1c3RUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8
U1ZHTGVuZ3RoQWRqdXN0VHlwZT4+IHsKKyAgICAgICAgICAgIHsgU1ZHTGVuZ3RoQWRqdXN0U3Bh
Y2luZywgICAgICAgICAgInNwYWNpbmciX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHTGVuZ3RoQWRq
dXN0U3BhY2luZ0FuZEdseXBocywgInNwYWNpbmdBbmRHbHlwaHMiX3MgfQorICAgICAgICB9KTsK
KyAgICAgICAgcmV0dXJuIHZhbHVlczsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRv
IGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHTGVuZ3RoQWRqdXN0U3BhY2lu
Z0FuZEdseXBoczsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdN
YXJrZXJVbml0c1R5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdNYXJr
ZXJVbml0c1R5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFNWR0VudW1WYWx1ZXM8U1ZHTWFya2VyVW5pdHNUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlh
bGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHTWFya2VyVW5pdHNUeXBlPj4geworICAgICAgICAg
ICAgeyBTVkdNYXJrZXJVbml0c1VzZXJTcGFjZU9uVXNlLCAidXNlclNwYWNlT25Vc2UiX3MgfSwK
KyAgICAgICAgICAgIHsgU1ZHTWFya2VyVW5pdHNTdHJva2VXaWR0aCwgICAgInN0cm9rZVdpZHRo
Il9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0
YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNW
R01hcmtlclVuaXRzU3Ryb2tlV2lkdGg7IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0Vu
dW1UcmFpdHM8U1ZHTWFya2VyT3JpZW50VHlwZT4geworICAgIHN0YXRpYyBjb25zdCBTVkdFbnVt
VmFsdWVzPFNWR01hcmtlck9yaWVudFR5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFNWR0VudW1WYWx1ZXM8U1ZHTWFya2VyT3JpZW50VHlwZT4+IHZh
bHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZHRW51bVZhbHVlPFNWR01hcmtlck9yaWVudFR5
cGU+PiB7CisgICAgICAgICAgICB7IFNWR01hcmtlck9yaWVudEF1dG8sICAgICAgICAgICAgICJh
dXRvIl9zIH0sCisgICAgICAgICAgICB7IFNWR01hcmtlck9yaWVudEFuZ2xlLCAgICAgICAgICAg
IGVtcHR5U3RyaW5nKCkgfSwKKyAgICAgICAgICAgIHsgU1ZHTWFya2VyT3JpZW50QXV0b1N0YXJ0
UmV2ZXJzZSwgImF1dG8tc3RhcnQtcmV2ZXJzZSJfcyB9CisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm4gdmFsdWVzOworICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4
cG9zZWRFbnVtVmFsdWUoKSB7IHJldHVybiBTVkdNYXJrZXJPcmllbnRBbmdsZTsgfQorfTsKKwor
dGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdTcHJlYWRNZXRob2RUeXBlPiB7Cisg
ICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHU3ByZWFkTWV0aG9kVHlwZT4mIHZhbHVl
cygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxT
VkdTcHJlYWRNZXRob2RUeXBlPj4gdmFsdWVzKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVt
VmFsdWU8U1ZHU3ByZWFkTWV0aG9kVHlwZT4+IHsKKyAgICAgICAgICAgIHsgU1ZHU3ByZWFkTWV0
aG9kUGFkLCAgICAgInBhZCJfcyB9LAorICAgICAgICAgICAgeyBTVkdTcHJlYWRNZXRob2RSZWZs
ZWN0LCAicmVmbGVjdCJfcyB9LAorICAgICAgICAgICAgeyBTVkdTcHJlYWRNZXRob2RSZXBlYXQs
ICAicmVwZWF0Il9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAg
fQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsg
cmV0dXJuIFNWR1NwcmVhZE1ldGhvZFJlcGVhdDsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
U1ZHRW51bVRyYWl0czxTVkdTdGl0Y2hPcHRpb25zPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0Vu
dW1WYWx1ZXM8U1ZHU3RpdGNoT3B0aW9ucz4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdTdGl0Y2hPcHRpb25zPj4gdmFsdWVz
KHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHU3RpdGNoT3B0aW9ucz4+IHsK
KyAgICAgICAgICAgIHsgU1ZHU3RpdGNoVHlwZVN0aXRjaCwgICAic3RpdGNoIl9zIH0sCisgICAg
ICAgICAgICB7IFNWR1N0aXRjaFR5cGVOb1N0aXRjaCwgIm5vU3RpdGNoIl9zIH0KKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1N0aXRjaFR5cGVOb1N0
aXRjaDsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdUZXh0UGF0
aE1ldGhvZFR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdUZXh0UGF0
aE1ldGhvZFR5cGU+JiB2YWx1ZXMoKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFNWR0VudW1WYWx1ZXM8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPj4gdmFsdWVzKHN0ZDo6aW5p
dGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHVGV4dFBhdGhNZXRob2RUeXBlPj4geworICAg
ICAgICAgICAgeyBTVkdUZXh0UGF0aE1ldGhvZEFsaWduLCAgICJhbGlnbiJfcyB9LAorICAgICAg
ICAgICAgeyBTVkdUZXh0UGF0aE1ldGhvZFN0cmV0Y2gsICJzdHJldGNoIl9zIH0KKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIg
YXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRoTWV0aG9k
U3RyZXRjaDsgfQorfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgU1ZHRW51bVRyYWl0czxTVkdUZXh0
UGF0aFNwYWNpbmdUeXBlPiB7CisgICAgc3RhdGljIGNvbnN0IFNWR0VudW1WYWx1ZXM8U1ZHVGV4
dFBhdGhTcGFjaW5nVHlwZT4mIHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8U1ZHRW51bVZhbHVlczxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPj4gdmFsdWVzKHN0
ZDo6aW5pdGlhbGl6ZXJfbGlzdDxTVkdFbnVtVmFsdWU8U1ZHVGV4dFBhdGhTcGFjaW5nVHlwZT4+
IHsKKyAgICAgICAgICAgIHsgU1ZHVGV4dFBhdGhTcGFjaW5nQXV0bywgICAgImF1dG8iX3MgfSwK
KyAgICAgICAgICAgIHsgU1ZHVGV4dFBhdGhTcGFjaW5nRXhhY3QsICAgImV4YWN0Il9zIH0KKyAg
ICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7CisgICAgfQorICAgIHN0YXRpYyBjb25z
dGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1ZSgpIHsgcmV0dXJuIFNWR1RleHRQYXRo
U3BhY2luZ0V4YWN0OyB9Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBTVkdFbnVtVHJhaXRzPFNW
R1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVl
czxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPiYgdmFsdWVzKCkKKyAgICB7CisgICAgICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxTVkdFbnVtVmFsdWVzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5
cGU+PiB2YWx1ZXMoc3RkOjppbml0aWFsaXplcl9saXN0PFNWR0VudW1WYWx1ZTxTVkdVbml0VHlw
ZXM6OlNWR1VuaXRUeXBlPj4geworICAgICAgICAgICAgeyBTVkdVbml0VHlwZXM6OlNWR19VTklU
X1RZUEVfVVNFUlNQQUNFT05VU0UsICAgICJ1c2VyU3BhY2VPblVzZSJfcyB9LAorICAgICAgICAg
ICAgeyBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gsICJvYmpl
Y3RCb3VuZGluZ0JveCJfcyB9CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdmFsdWVzOwor
ICAgIH0KKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gaGlnaGVzdEV4cG9zZWRFbnVtVmFsdWUo
KSB7IHJldHVybiBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7
IH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IFNWR0VudW1UcmFpdHM8U1ZHWm9vbUFuZFBhblR5
cGU+IHsKKyAgICBzdGF0aWMgY29uc3QgU1ZHRW51bVZhbHVlczxTVkdab29tQW5kUGFuVHlwZT4m
IHZhbHVlcygpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U1ZHRW51bVZh
bHVlczxTVkdab29tQW5kUGFuVHlwZT4+IHZhbHVlcyhzdGQ6OmluaXRpYWxpemVyX2xpc3Q8U1ZH
RW51bVZhbHVlPFNWR1pvb21BbmRQYW5UeXBlPj4geworICAgICAgICAgICAgeyBTVkdab29tQW5k
UGFuRGlzYWJsZSwgImRpc2FibGUiX3MgfSwKKyAgICAgICAgICAgIHsgU1ZHWm9vbUFuZFBhbk1h
Z25pZnksICJtYWduaWZ5Il9zIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZXM7
CisgICAgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBoaWdoZXN0RXhwb3NlZEVudW1WYWx1
ZSgpIHsgcmV0dXJuIFNWR1pvb21BbmRQYW5NYWduaWZ5OyB9Cit9OworCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0aXZlTGlzdC5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0aXZlTGlzdC5oCmluZGV4IDQ1NzMx
YTM4MDMxNjdkZGUxMzZiMzFhZTM1MWE5ODBlN2VjNzI2NTkuLmEwNGZmM2QzNGM0NjljNGJkMTFh
NmU2NzMwNWFjM2I2ZDBlYzFlYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdQcmltaXRpdmVMaXN0LmgKQEAgLTI2LDE1ICsyNiw1MCBAQAogI3ByYWdtYSBvbmNl
CiAKICNpbmNsdWRlICJTVkdMaXN0LmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgi
CisjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vycm9yLmgiCisjaW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFp
dHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0
eVR5cGU+CiBjbGFzcyBTVkdQcmltaXRpdmVMaXN0IDogcHVibGljIFNWR0xpc3Q8UHJvcGVydHlU
eXBlPiB7Ci1wcm90ZWN0ZWQ6CiAgICAgdXNpbmcgQmFzZSA9IFNWR0xpc3Q8UHJvcGVydHlUeXBl
PjsKICAgICB1c2luZyBCYXNlOjpCYXNlOworICAgIHVzaW5nIEJhc2U6OmNsZWFySXRlbXM7CiAg
ICAgdXNpbmcgQmFzZTo6c2l6ZTsKKworcHVibGljOgorICAgIFNWR1BhcnNpbmdFcnJvciBwYXJz
ZShjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICB7CisgICAgICAgIGNsZWFySXRlbXMoKTsKKwor
ICAgICAgICBhdXRvIHVwY29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcoc3RyaW5nKS51
cGNvbnZlcnRlZENoYXJhY3RlcnMoKTsKKyAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29u
dmVydGVkQ2hhcmFjdGVyczsKKyAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHN0cmlu
Zy5sZW5ndGgoKTsKKworICAgICAgICBib29sIGRlbGltUGFyc2VkID0gZmFsc2U7CisgICAgICAg
IHdoaWxlIChza2lwT3B0aW9uYWxTVkdTcGFjZXMocHRyLCBlbmQpKSB7CisgICAgICAgICAgICBk
ZWxpbVBhcnNlZCA9IGZhbHNlOworCisgICAgICAgICAgICBBU1NFUlQocHRyIDwgZW5kKTsKKyAg
ICAgICAgICAgIGNvbnN0IFVDaGFyKiBzdGFydCA9IHB0cjsKKyAgICAgICAgICAgIHdoaWxlIChw
dHIgPCBlbmQgJiYgIWlzU1ZHU3BhY2UoKnB0cikpCisgICAgICAgICAgICAgICAgcHRyKys7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIEFTU0VSVChwdHIgPiBzdGFydCk7CisgICAgICAgICAg
ICBhcHBlbmQoU1ZHUHJvcGVydHlUcmFpdHM8UHJvcGVydHlUeXBlPjo6ZnJvbVN0cmluZyhTdHJp
bmcoc3RhcnQsIHB0ciAtIHN0YXJ0KSkpOworCisgICAgICAgICAgICBpZiAocHRyIDwgZW5kICYm
ICpwdHIgPT0gJywnKSB7CisgICAgICAgICAgICAgICAgKytwdHI7CisgICAgICAgICAgICAgICAg
ZGVsaW1QYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAg
cmV0dXJuIGRlbGltUGFyc2VkID8gVW5leHBlY3RlZEVuZE9mQXR0cmlidXRlRXJyb3IgOiBOb0Vy
cm9yOworICAgIH0KKworcHJvdGVjdGVkOgogICAgIHVzaW5nIEJhc2U6Om1faXRlbXM7CiAKICAg
ICBQcm9wZXJ0eVR5cGUgYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlCkBAIC03MCw2
ICsxMDUsMTkgQEAgcHJvdGVjdGVkOgogICAgICAgICBtX2l0ZW1zLmFwcGVuZChXVEZNb3ZlKG5l
d0l0ZW0pKTsKICAgICAgICAgcmV0dXJuIGF0KHNpemUoKSAtIDEpOwogICAgIH0KKworICAgIFN0
cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFN0cmlu
Z0J1aWxkZXIgYnVpbGRlcjsKKworICAgICAgICBmb3IgKGF1dG8gaXRlbSA6IG1faXRlbXMpIHsK
KyAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQorICAgICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChTVkdQcm9wZXJ0eVRy
YWl0czxQcm9wZXJ0eVR5cGU+Ojp0b1N0cmluZyhpdGVtKSk7CisgICAgICAgIH0KKworICAgICAg
ICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOworICAgIH0KIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oCmluZGV4IGNlNjVjYjExMGQxZmI0NjZl
MjI5ZWM3OWM5ZGQwMTdlODYxMjk5NjcuLmM3MDFlZmYwOTg3ZTQ5YmEzMTRhYTdlNGY5NDI3MDcy
MzNhN2YzMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1By
b3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHku
aApAQCAtMjgsNyArMjgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIFNW
R1Byb3BlcnR5QWNjZXNzIDogdWludDhfdCB7IFJlYWRXcml0ZSwgUmVhZE9ubHkgfTsKLWVudW0g
Y2xhc3MgU1ZHUHJvcGVydHlTdGF0ZSA6IHVpbnQ4X3QgeyBDbGVhbiwgRGlydHkgfTsKK2VudW0g
Y2xhc3MgU1ZHUHJvcGVydHlTdGF0ZSA6IHVpbnQ4X3QgeyBDbGVhbiwgRGlydHksIEludmFsaWQg
fTsKIAogY2xhc3MgU1ZHUHJvcGVydHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdQcm9wZXJ0eT4g
ewogcHVibGljOgpAQCAtNzAsMTEgKzcwLDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVhZE9u
bHkoKSBjb25zdCB7IHJldHVybiBtX2FjY2VzcyA9PSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9u
bHk7IH0KIAogICAgIC8vIFN5bmNocm9uaXppbmcgdGhlIFNWRyBhdHRyaWJ1dGUgYW5kIGl0cyBy
ZWZsZWN0aW9uIGhlcmUuCi0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0
ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQotICAgIHZvaWQgc2V0RGlydHkoKSB7IG1f
c3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQorICAgIFNWR1Byb3BlcnR5U3RhdGUg
c3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAgdm9pZCBzZXRTdGF0ZShTVkdQ
cm9wZXJ0eVN0YXRlIHN0YXRlKSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQogICAgIE9wdGlvbmFsPFN0
cmluZz4gc3luY2hyb25pemUoKQogICAgIHsKLSAgICAgICAgaWYgKG1fc3RhdGUgPT0gU1ZHUHJv
cGVydHlTdGF0ZTo6Q2xlYW4pCisgICAgICAgIGlmIChtX3N0YXRlICE9IFNWR1Byb3BlcnR5U3Rh
dGU6OkRpcnR5KQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICAgICAgbV9z
dGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFuOwogICAgICAgICByZXR1cm4gdmFsdWVBc1N0
cmluZygpOwpAQCAtODgsOSArODgsMTAgQEAgcHVibGljOgogI2lmICFDT01QSUxFUihNU1ZDKQog
cHJvdGVjdGVkOgogI2VuZGlmCi0gICAgU1ZHUHJvcGVydHkoU1ZHUHJvcGVydHlPd25lciogb3du
ZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vz
czo6UmVhZFdyaXRlKQorICAgIFNWR1Byb3BlcnR5KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0g
bnVsbHB0ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJl
YWRXcml0ZSwgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFu
KQogICAgICAgICA6IG1fb3duZXIob3duZXIpCiAgICAgICAgICwgbV9hY2Nlc3MoYWNjZXNzKQor
ICAgICAgICAsIG1fc3RhdGUoc3RhdGUpCiAgICAgewogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlUcmFpdHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJhaXRzLmgKaW5kZXggYmI4M2U3N2Qz
NjRkZGQ1NDFjM2QxY2Q0YjE5ZDRiMzIzOGI4OWMxMi4uOWVhZGQ5ZTMxMjk5NmUxYTQzMDY3YTZi
OTY5Mzg4NGY0ZWNmMTc2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHlUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eVRyYWl0cy5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1
LDEyNCArMjUsOTcgQEAKICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQu
aCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKLSNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCiAj
aW5jbHVkZSAiU1ZHUGFyc2VyVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2luZ0Vycm9y
LmgiCisjaW5jbHVkZSA8d3RmL0V4cGVjdGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
QnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZT4KK3RlbXBsYXRlPHR5
cGVuYW1lIFByb3BlcnR5VHlwZSwgY2xhc3MgRW5hYmxlciA9IHZvaWQ+CiBzdHJ1Y3QgU1ZHUHJv
cGVydHlUcmFpdHMgeyB9OwogCiB0ZW1wbGF0ZTw+CiBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
Ym9vbD4gewogICAgIHN0YXRpYyBib29sIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIGZhbHNlOyB9
Ci0gICAgc3RhdGljIGJvb2wgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1
cm4gc3RyaW5nID09ICJ0cnVlIjsgfQotICAgIHN0YXRpYyBPcHRpb25hbDxib29sPiBwYXJzZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJikgeyBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsgcmV0dXJuIGluaXRpYWxWYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhi
b29sIHR5cGUpIHsgcmV0dXJuIHR5cGUgPyAidHJ1ZSIgOiAiZmFsc2UiOyB9CisgICAgc3RhdGlj
IEV4cGVjdGVkPGJvb2wsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJp
bmcpCisgICAgeworICAgICAgICBpZiAoc3RyaW5nID09ICJ0cnVlIikKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICBpZiAoc3RyaW5nID09ICJmYWxzZSIpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmli
dXRlRmFpbGVkRXJyb3IpOworICAgIH0KKyAgICBzdGF0aWMgYm9vbCBmcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZhbHVlX29yKGluaXRpYWxW
YWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoYm9vbCB2YWx1ZSkgeyByZXR1
cm4gdmFsdWUgPyAidHJ1ZSIgOiAiZmFsc2UiOyB9CiB9OwogCiB0ZW1wbGF0ZTw+CiBzdHJ1Y3Qg
U1ZHUHJvcGVydHlUcmFpdHM8Q29sb3I+IHsKICAgICBzdGF0aWMgQ29sb3IgaW5pdGlhbFZhbHVl
KCkgeyByZXR1cm4gQ29sb3IoKTsgfQotICAgIHN0YXRpYyBDb2xvciBmcm9tU3RyaW5nKGNvbnN0
IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBDU1NQYXJzZXI6OnBhcnNlQ29sb3Ioc3RyaW5nLnN0
cmlwV2hpdGVTcGFjZSgpKTsgfQotICAgIHN0YXRpYyBPcHRpb25hbDxDb2xvcj4gcGFyc2UoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQorICAgIHN0YXRpYyBFeHBl
Y3RlZDxDb2xvciwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykK
ICAgICB7Ci0gICAgICAgIENvbG9yIGNvbG9yID0gQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKHN0cmlu
Zy5zdHJpcFdoaXRlU3BhY2UoKSk7Ci0gICAgICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQotICAg
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIGNvbG9yOworICAg
ICAgICBDb2xvciB2YWx1ZSA9IENTU1BhcnNlcjo6cGFyc2VDb2xvcihzdHJpbmcuc3RyaXBXaGl0
ZVNwYWNlKCkpOworICAgICAgICBpZiAoIXZhbHVlLmlzVmFsaWQoKSkKKyAgICAgICAgICAgIHJl
dHVybiBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworICAgICAg
ICByZXR1cm4gdmFsdWU7CiAgICAgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3Qg
Q29sb3ImIHR5cGUpIHsgcmV0dXJuIHR5cGUuc2VyaWFsaXplZCgpOyB9Ci19OwotCi10ZW1wbGF0
ZTw+Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8dW5zaWduZWQ+IHsKLSAgICBzdGF0aWMgdW5z
aWduZWQgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gMDsgfQotICAgIHN0YXRpYyBPcHRpb25hbDx1
bnNpZ25lZD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYpIHsgQVNT
RVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFsdWUoKTsgfQotICAgIHN0YXRpYyBT
dHJpbmcgdG9TdHJpbmcodW5zaWduZWQgdHlwZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodHlw
ZSk7IH0KLX07Ci0KLXRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxpbnQ+IHsK
LSAgICBzdGF0aWMgaW50IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIDA7IH0KLSAgICBzdGF0aWMg
aW50IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJnN0cmluZykgeyByZXR1cm4gc3RyaW5nLnRvSW50
U3RyaWN0KCk7IH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8aW50PiBwYXJzZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgU3RyaW5nJikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIGlu
aXRpYWxWYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhpbnQgdHlwZSkgeyBy
ZXR1cm4gU3RyaW5nOjpudW1iZXIodHlwZSk7IH0KKyAgICBzdGF0aWMgQ29sb3IgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihp
bml0aWFsVmFsdWUoKSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IENvbG9y
JiB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuc2VyaWFsaXplZCgpOyB9CiB9OwogCiB0ZW1wbGF0ZTw+
Ci1zdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPGludCwgaW50Pj4gewotICAgIHN0
YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQot
ICAgIHN0YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBz
dHJpbmcpCi0gICAgewotICAgICAgICBmbG9hdCBmaXJzdE51bWJlciA9IDAsIHNlY29uZE51bWJl
ciA9IDA7Ci0gICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihzdHJpbmcsIGZp
cnN0TnVtYmVyLCBzZWNvbmROdW1iZXIpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKLSAgICAg
ICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHN0YXRpY19jYXN0PGludD4ocm91bmRmKGZpcnN0TnVt
YmVyKSksIHN0YXRpY19jYXN0PGludD4ocm91bmRmKHNlY29uZE51bWJlcikpKTsKLSAgICB9Ci0g
ICAgc3RhdGljIE9wdGlvbmFsPHN0ZDo6cGFpcjxpbnQsIGludD4+IHBhcnNlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4g
aW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKHN0ZDo6cGFpcjxp
bnQsIGludD4pIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBlbXB0eVN0cmluZygpOyB9
CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8U3RyaW5nPiB7CisgICAgc3RhdGljIFN0cmluZyBp
bml0aWFsVmFsdWUoKSB7IHJldHVybiBTdHJpbmcoKTsgfQorICAgIHN0YXRpYyBFeHBlY3RlZDxT
dHJpbmcsIFNWR1BhcnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0
dXJuIHN0cmluZzsgfQorICAgIHN0YXRpYyBTdHJpbmcgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
IHN0cmluZykgeyByZXR1cm4gc3RyaW5nOyB9CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhj
b25zdCBTdHJpbmcmIHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfQogfTsKIAogdGVtcGxhdGU8Pgog
c3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPGZsb2F0PiB7CiAgICAgc3RhdGljIGZsb2F0IGluaXRp
YWxWYWx1ZSgpIHsgcmV0dXJuIDA7IH0KLSAgICBzdGF0aWMgZmxvYXQgZnJvbVN0cmluZyhjb25z
dCBTdHJpbmcmIHN0cmluZykKKyAgICBzdGF0aWMgRXhwZWN0ZWQ8ZmxvYXQsIFNWR1BhcnNpbmdF
cnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFNWR1BhcnNpbmdPcHRpb25zIHBhcnNp
bmdPcHRpb25zID0gTm9PcHRpb25zKQogICAgIHsKLSAgICAgICAgZmxvYXQgbnVtYmVyID0gMDsK
LSAgICAgICAgaWYgKCFwYXJzZU51bWJlckZyb21TdHJpbmcoc3RyaW5nLCBudW1iZXIpKQotICAg
ICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJldHVybiBudW1iZXI7CisgICAgICAgIGZsb2F0
IHZhbHVlOworICAgICAgICBpZiAoKHBhcnNpbmdPcHRpb25zICYgQWxsb3dQZXJjZW50YWdlKSAm
JiBzdHJpbmcuZW5kc1dpdGgoJyUnKSkKKyAgICAgICAgICAgIHZhbHVlID0gc3RyaW5nLmxlZnQo
c3RyaW5nLmxlbmd0aCgpIC0gMSkudG9GbG9hdCgpIC8gMTAwOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB2YWx1ZSA9IHN0cmluZy50b0Zsb2F0KCk7CisgICAgICAgIGlmIChhdXRvIGVycm9y
ID0gdmFsaWRhdGVOdW1lcmljKHZhbHVlLCBwYXJzaW5nT3B0aW9ucykpCisgICAgICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAg
fQotICAgIHN0YXRpYyBPcHRpb25hbDxmbG9hdD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IFN0cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgZmxvYXQgbnVtYmVyOwotICAg
ICAgICBpZiAoIXBhcnNlTnVtYmVyRnJvbVN0cmluZyhzdHJpbmcsIG51bWJlcikpCi0gICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICByZXR1cm4gbnVtYmVyOwotICAgIH0K
LSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGZsb2F0IHR5cGUpIHsgcmV0dXJuIFN0cmluZzo6
bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih0eXBlKTsgfQorICAgIHN0YXRpYyBmbG9hdCBm
cm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShzdHJpbmcpLnZh
bHVlX29yKGluaXRpYWxWYWx1ZSgpKTsgfQorICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoZmxv
YXQgdmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih2
YWx1ZSk7IH0KIH07CiAKIHRlbXBsYXRlPD4KLXN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6
OnBhaXI8ZmxvYXQsIGZsb2F0Pj4gewotICAgIHN0YXRpYyBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0
PiBpbml0aWFsVmFsdWUoKSB7IHJldHVybiB7IH07IH0KLSAgICBzdGF0aWMgc3RkOjpwYWlyPGZs
b2F0LCBmbG9hdD4gZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKLSAgICB7Ci0gICAg
ICAgIGZsb2F0IGZpcnN0TnVtYmVyID0gMCwgc2Vjb25kTnVtYmVyID0gMDsKLSAgICAgICAgaWYg
KCFwYXJzZU51bWJlck9wdGlvbmFsTnVtYmVyKHN0cmluZywgZmlyc3ROdW1iZXIsIHNlY29uZE51
bWJlcikpCi0gICAgICAgICAgICByZXR1cm4geyB9OwotICAgICAgICByZXR1cm4gc3RkOjptYWtl
X3BhaXIoZmlyc3ROdW1iZXIsIHNlY29uZE51bWJlcik7Ci0gICAgfQotICAgIHN0YXRpYyBPcHRp
b25hbDxzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0Pj4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFs
dWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoc3RkOjpwYWlyPGZsb2F0LCBmbG9h
dD4pIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CitzdHJ1
Y3QgU1ZHUHJvcGVydHlUcmFpdHM8aW50PiB7CisgICAgc3RhdGljIGludCBpbml0aWFsVmFsdWUo
KSB7IHJldHVybiAwOyB9CisgICAgc3RhdGljIEV4cGVjdGVkPGludCwgU1ZHUGFyc2luZ0Vycm9y
PiBwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nLnRvSW50U3RyaWN0
KCk7IH0KKyAgICBzdGF0aWMgaW50IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsg
cmV0dXJuIHBhcnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3Rh
dGljIFN0cmluZyB0b1N0cmluZyhpbnQgdmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHZh
bHVlKTsgfQogfTsKIAogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0
UG9pbnQ+IHsKICAgICBzdGF0aWMgRmxvYXRQb2ludCBpbml0aWFsVmFsdWUoKSB7IHJldHVybiBG
bG9hdFBvaW50KCk7IH0KLSAgICBzdGF0aWMgRmxvYXRQb2ludCBmcm9tU3RyaW5nKGNvbnN0IFN0
cmluZyYgc3RyaW5nKQotICAgIHsKLSAgICAgICAgRmxvYXRQb2ludCBwb2ludDsKLSAgICAgICAg
aWYgKCFwYXJzZVBvaW50KHN0cmluZywgcG9pbnQpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsK
LSAgICAgICAgcmV0dXJuIHBvaW50OwotICAgIH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8RmxvYXRQ
b2ludD4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQor
ICAgIHN0YXRpYyBFeHBlY3RlZDxGbG9hdFBvaW50LCBTVkdQYXJzaW5nRXJyb3I+IHBhcnNlKGNv
bnN0IFN0cmluZyYgc3RyaW5nKQogICAgIHsKLSAgICAgICAgRmxvYXRQb2ludCBwb2ludDsKLSAg
ICAgICAgaWYgKCFwYXJzZVBvaW50KHN0cmluZywgcG9pbnQpKQotICAgICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKLSAgICAgICAgcmV0dXJuIHBvaW50OworICAgICAgICBGbG9hdFBvaW50
IHZhbHVlOworICAgICAgICBpZiAoIXBhcnNlUG9pbnQoc3RyaW5nLCB2YWx1ZSkpCisgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUGFyc2luZ0F0dHJpYnV0ZUZhaWxlZEVycm9yKTsK
KyAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgIH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
KGNvbnN0IEZsb2F0UG9pbnQmIHR5cGUpCisgICAgc3RhdGljIEZsb2F0UG9pbnQgZnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihp
bml0aWFsVmFsdWUoKSk7IH0KKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IEZsb2F0
UG9pbnQmIHZhbHVlKQogICAgIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAg
ICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHR5cGUueCgpKTsKKyAgICAg
ICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS54KCkpOwogICAgICAg
ICBidWlsZGVyLmFwcGVuZCgnICcpOwotICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lz
aW9uTnVtYmVyKHR5cGUueSgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lv
bk51bWJlcih2YWx1ZS55KCkpOwogICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwog
ICAgIH0KIH07CkBAIC0xNTAsNDYgKzEyMyw3MyBAQCBzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRQb2ludD4gewogdGVtcGxhdGU8Pgogc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0
UmVjdD4gewogICAgIHN0YXRpYyBGbG9hdFJlY3QgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gRmxv
YXRSZWN0KCk7IH0KLSAgICBzdGF0aWMgRmxvYXRSZWN0IGZyb21TdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcpCi0gICAgewotICAgICAgICBGbG9hdFJlY3QgcmVjdDsKLSAgICAgICAgaWYgKCFw
YXJzZVJlY3Qoc3RyaW5nLCByZWN0KSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAg
IHJldHVybiByZWN0OwotICAgIH0KLSAgICBzdGF0aWMgT3B0aW9uYWw8RmxvYXRSZWN0PiBwYXJz
ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCisgICAgc3RhdGlj
IEV4cGVjdGVkPEZsb2F0UmVjdCwgU1ZHUGFyc2luZ0Vycm9yPiBwYXJzZShjb25zdCBTdHJpbmcm
IHN0cmluZywgU1ZHUGFyc2luZ09wdGlvbnMgcGFyc2luZ09wdGlvbnMgPSBOb09wdGlvbnMpCiAg
ICAgewotICAgICAgICBGbG9hdFJlY3QgcmVjdDsKLSAgICAgICAgaWYgKCFwYXJzZVJlY3Qoc3Ry
aW5nLCByZWN0KSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgICAgIHJl
dHVybiByZWN0OworICAgICAgICBGbG9hdFJlY3QgdmFsdWU7CisgICAgICAgIGlmICghcGFyc2VS
ZWN0KHN0cmluZywgdmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBh
cnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7CisgICAgICAgIGlmIChhdXRvIGVycm9yID0gdmFs
aWRhdGVOdW1lcmljKHZhbHVlLndpZHRoKCksIHBhcnNpbmdPcHRpb25zKSkKKyAgICAgICAgICAg
IHJldHVybiBtYWtlVW5leHBlY3RlZChlcnJvcik7CisgICAgICAgIGlmIChhdXRvIGVycm9yID0g
dmFsaWRhdGVOdW1lcmljKHZhbHVlLmhlaWdodCgpLCBwYXJzaW5nT3B0aW9ucykpCisgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJyb3IpOworICAgICAgICByZXR1cm4gdmFsdWU7
CiAgICAgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgRmxvYXRSZWN0JiB0eXBl
KQorICAgIHN0YXRpYyBGbG9hdFJlY3QgZnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykg
eyByZXR1cm4gcGFyc2Uoc3RyaW5nKS52YWx1ZV9vcihpbml0aWFsVmFsdWUoKSk7IH0KKyAgICBz
dGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IEZsb2F0UmVjdCYgdmFsdWUpCiAgICAgewogICAg
ICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQ
cmVjaXNpb25OdW1iZXIodHlwZS54KCkpOworICAgICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJl
Y2lzaW9uTnVtYmVyKHZhbHVlLngoKSk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0g
ICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVjaXNpb25OdW1iZXIodHlwZS55KCkpOworICAg
ICAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKHZhbHVlLnkoKSk7CiAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kRml4ZWRQcmVj
aXNpb25OdW1iZXIodHlwZS53aWR0aCgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFBy
ZWNpc2lvbk51bWJlcih2YWx1ZS53aWR0aCgpKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAn
KTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih0eXBlLmhlaWdo
dCgpKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcih2YWx1ZS5o
ZWlnaHQoKSk7CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgfQogfTsK
IAogdGVtcGxhdGU8Pgotc3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFN0cmluZz4gewotICAgIHN0
YXRpYyBTdHJpbmcgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICBzdGF0
aWMgU3RyaW5nIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHN0cmlu
ZzsgfQotICAgIHN0YXRpYyBPcHRpb25hbDxTdHJpbmc+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nOyB9Ci0gICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyByZXR1cm4gc3RyaW5nOyB9
CitzdHJ1Y3QgU1ZHUHJvcGVydHlUcmFpdHM8c3RkOjpwYWlyPGludCwgaW50Pj4geworICAgIHN0
YXRpYyBzdGQ6OnBhaXI8aW50LCBpbnQ+IGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIHsgfTsgfQor
ICAgIHN0YXRpYyBFeHBlY3RlZDxzdGQ6OnBhaXI8aW50LCBpbnQ+LCBTVkdQYXJzaW5nRXJyb3I+
IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBTVkdQYXJzaW5nT3B0aW9ucyBwYXJzaW5nT3B0
aW9ucyA9IE5vT3B0aW9ucykKKyAgICB7CisgICAgICAgIGZsb2F0IHZhbHVlTnVtYmVyMSA9IDAs
IHZhbHVlTnVtYmVyMiA9IDA7CisgICAgICAgIGlmICghcGFyc2VOdW1iZXJPcHRpb25hbE51bWJl
cihzdHJpbmcsIHZhbHVlTnVtYmVyMSwgdmFsdWVOdW1iZXIyKSkKKyAgICAgICAgICAgIHJldHVy
biBtYWtlVW5leHBlY3RlZChQYXJzaW5nQXR0cmlidXRlRmFpbGVkRXJyb3IpOworCisgICAgICAg
IGludCB2YWx1ZUludGVnZXIxID0gc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYodmFsdWVOdW1iZXIx
KSk7CisgICAgICAgIGludCB2YWx1ZUludGVnZXIyID0gc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYo
dmFsdWVOdW1iZXIyKSk7CisKKyAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSB2YWxpZGF0ZU51bWVy
aWModmFsdWVJbnRlZ2VyMSwgcGFyc2luZ09wdGlvbnMpKQorICAgICAgICAgICAgcmV0dXJuIG1h
a2VVbmV4cGVjdGVkKGVycm9yKTsKKyAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSB2YWxpZGF0ZU51
bWVyaWModmFsdWVJbnRlZ2VyMiwgcGFyc2luZ09wdGlvbnMpKQorICAgICAgICAgICAgcmV0dXJu
IG1ha2VVbmV4cGVjdGVkKGVycm9yKTsKKworICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
dmFsdWVJbnRlZ2VyMSwgdmFsdWVJbnRlZ2VyMik7CisgICAgfQorICAgIHN0YXRpYyBzdGQ6OnBh
aXI8aW50LCBpbnQ+IGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHBh
cnNlKHN0cmluZykudmFsdWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3RhdGljIFN0cmlu
ZyB0b1N0cmluZyhjb25zdCBzdGQ6OnBhaXI8aW50LCBpbnQ+JiB2YWx1ZSkgeyByZXR1cm4gU1ZH
UHJvcGVydHlUcmFpdHM8aW50Pjo6dG9TdHJpbmcodmFsdWUuZmlyc3QpICsgIiwgIiArIFNWR1By
b3BlcnR5VHJhaXRzPGludD46OnRvU3RyaW5nKHZhbHVlLnNlY29uZCk7IH0KIH07CiAKLXRlbXBs
YXRlPHR5cGVuYW1lIEVudW1UeXBlPgotc3RydWN0IFNWR0lETEVudW1MaW1pdHMgewotICAgIC8v
IFNwZWNpYWxpemUgdGhpcyBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1bGFyIGVudW1lcmF0aW9uIHRv
IGxpbWl0IHRoZSB2YWx1ZXMgdGhhdCBhcmUgZXhwb3NlZCB0aHJvdWdoIHRoZSBET00uCi0gICAg
c3RhdGljIHVuc2lnbmVkIGhpZ2hlc3RFeHBvc2VkRW51bVZhbHVlKCkgeyByZXR1cm4gU1ZHUHJv
cGVydHlUcmFpdHM8RW51bVR5cGU+OjpoaWdoZXN0RW51bVZhbHVlKCk7IH0KK3RlbXBsYXRlPD4K
K3N0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0Pj4geworICAg
IHN0YXRpYyBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBpbml0aWFsVmFsdWUoKSB7IHJldHVybiB7
IH07IH0KKyAgICBzdGF0aWMgRXhwZWN0ZWQ8c3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4sIFNWR1Bh
cnNpbmdFcnJvcj4gcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIFNWR1BhcnNpbmdPcHRpb25z
IHBhcnNpbmdPcHRpb25zID0gTm9PcHRpb25zKQorICAgIHsKKyAgICAgICAgZmxvYXQgdmFsdWVO
dW1iZXIxID0gMCwgdmFsdWVOdW1iZXIyID0gMDsKKyAgICAgICAgaWYgKCFwYXJzZU51bWJlck9w
dGlvbmFsTnVtYmVyKHN0cmluZywgdmFsdWVOdW1iZXIxLCB2YWx1ZU51bWJlcjIpKQorICAgICAg
ICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFBhcnNpbmdBdHRyaWJ1dGVGYWlsZWRFcnJvcik7
CisKKyAgICAgICAgaWYgKGF1dG8gZXJyb3IgPSB2YWxpZGF0ZU51bWVyaWModmFsdWVOdW1iZXIx
LCBwYXJzaW5nT3B0aW9ucykpCisgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoZXJy
b3IpOworICAgICAgICBpZiAoYXV0byBlcnJvciA9IHZhbGlkYXRlTnVtZXJpYyh2YWx1ZU51bWJl
cjIsIHBhcnNpbmdPcHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChl
cnJvcik7CisKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKHZhbHVlTnVtYmVyMSwgdmFs
dWVOdW1iZXIyKTsKKyAgICB9CisgICAgc3RhdGljIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIHBhcnNlKHN0cmluZykudmFs
dWVfb3IoaW5pdGlhbFZhbHVlKCkpOyB9CisgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZyhjb25z
dCBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiYgdmFsdWUpIHsgcmV0dXJuIFNWR1Byb3BlcnR5VHJh
aXRzPGZsb2F0Pjo6dG9TdHJpbmcodmFsdWUuZmlyc3QpICsgIiwgIiArIFNWR1Byb3BlcnR5VHJh
aXRzPGZsb2F0Pjo6dG9TdHJpbmcodmFsdWUuc2Vjb25kKTsgfQogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQ
cm9wZXJ0eS5oCmluZGV4IDlmMzFlMmQwZjUzOWNjMjAyM2I2M2Y4NzA2ODZmMGVkODFkYzI5Y2Uu
LjU1OWZiZjUxZWFkMmZmYTRlZjBiYWIzMTI2ZGVmM2E3YjAwNmRiYjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmgKQEAgLTY0LDggKzY0
LDggQEAgcHJvdGVjdGVkOgogICAgIH0KIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29uc3Ry
dWN0b3IuIERvIG5vdCB1c2UgInVzaW5nIFNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSIgYmVjYXVz
ZSBvZiBXaW5kb3dzIGFuZCBHVEsgcG9ydHMuCi0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9w
ZXJ0eU93bmVyKiBvd25lciA9IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcyA9IFNW
R1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUpCi0gICAgICAgIDogU1ZHUHJvcGVydHkob3duZXIs
IGFjY2VzcykKKyAgICBTVkdWYWx1ZVByb3BlcnR5KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0g
bnVsbHB0ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJl
YWRXcml0ZSwgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFu
KQorICAgICAgICA6IFNWR1Byb3BlcnR5KG93bmVyLCBhY2Nlc3MsIHN0YXRlKQogICAgIHsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVl
UHJvcGVydHlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVBy
b3BlcnR5TGlzdC5oCmluZGV4IDMwMTBjMzNhNzQwODliYzQ0ZmJiNDEwYTU2Zjc4NWE5ZjcxN2Nj
ZWUuLjRlYjkzODM4ZmEwYTAzMzYxMzU3ZGUxYzBmMGRhMDlmM2FmYTMxNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaApA
QCAtNjYsNiArNjYsNDggQEAgcHVibGljOgogICAgICAgICAgICAgcmVtb3ZlKHNpemUoKSAtIDEp
OwogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KKyAgICBTVkdQ
YXJzaW5nRXJyb3IgcGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIEFyZ3VtZW50cyYmLi4uIGFy
Z3VtZW50cykKKyAgICB7CisgICAgICAgIGNsZWFySXRlbXMoKTsKKworICAgICAgICBhdXRvIHVw
Y29udmVydGVkQ2hhcmFjdGVycyA9IFN0cmluZ1ZpZXcoc3RyaW5nKS51cGNvbnZlcnRlZENoYXJh
Y3RlcnMoKTsKKyAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHVwY29udmVydGVkQ2hhcmFjdGVy
czsKKyAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHN0cmluZy5sZW5ndGgoKTsKKwor
ICAgICAgICBib29sIGRlbGltUGFyc2VkID0gZmFsc2U7CisgICAgICAgIHdoaWxlIChza2lwT3B0
aW9uYWxTVkdTcGFjZXMocHRyLCBlbmQpKSB7CisgICAgICAgICAgICBkZWxpbVBhcnNlZCA9IGZh
bHNlOworCisgICAgICAgICAgICBBU1NFUlQocHRyIDwgZW5kKTsKKyAgICAgICAgICAgIGF1dG8g
ZXhwZWN0ZWRJdGVtID0gUHJvcGVydHlUeXBlOjpjcmVhdGUocHRyLCBlbmQsIHN0ZDo6Zm9yd2Fy
ZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pOworICAgICAgICAgICAgaWYgKCFleHBlY3RlZEl0
ZW0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkSXRlbS5lcnJvcigpOworCisgICAg
ICAgICAgICBhcHBlbmQoV1RGTW92ZShleHBlY3RlZEl0ZW0udmFsdWUoKSkpOworCisgICAgICAg
ICAgICBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJywnKSB7CisgICAgICAgICAgICAgICAgKytw
dHI7CisgICAgICAgICAgICAgICAgZGVsaW1QYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGRlbGltUGFyc2VkID8gVW5leHBlY3RlZEVuZE9m
QXR0cmlidXRlRXJyb3IgOiBOb0Vycm9yOworICAgIH0KKworICAgIFN0cmluZyB2YWx1ZUFzU3Ry
aW5nKCkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRl
cjsKKworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBpdGVtcygpKSB7CisgICAgICAg
ICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKKyAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVu
ZCgnICcpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoaXRlbS0+dmFsdWVBc1N0cmluZygp
KTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CisgICAg
fQorCiAgICAgLy8gVmlzdWFsIFN0dWRpbyBkb2Vzbid0IHNlZW0gdG8gc2VlIHRoZXNlIHByaXZh
dGUgY29uc3RydWN0b3JzIGZyb20gc3ViY2xhc3Nlcy4KICAgICAvLyBGSVhNRTogU2VlIHdoYXQg
aXQgdGFrZXMgdG8gcmVtb3ZlIHRoaXMgaGFjay4KICNpZiAhQ09NUElMRVIoTVNWQykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA3NGU4YjllN2U5OTRmOWQzOTRiN2I1Mjg1M2QwNzRjMDg3MzEzZThhLi5hMjVmM2QwNGE3Yjcz
NDBhOWE0MzFlODJkYTVjZDBjM2NkNWY5OWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcgQEAKKzIwMTkt
MDYtMDggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZH
UHJvcGVydHlUcmFpdHMgYW5kIFNWRyBlbnVtIHR5cGVzIGNsZWFuIHVwCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTgwNzMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z251
bWJlci1hbmltYXRpb24tMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMv
c3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWw6CisgICAgICAgIFRoZSBleHBlY3RlZCB2YWx1ZXMg
b2YgdGhpcyB0ZXN0IHdlcmUgd3JvbmcuIFRoZSB0ZXN0IGlzIHN1cHBvc2VkIHRvIHZlcmlmeQor
ICAgICAgICB0aGUgdmFsdWVzIGF0IDAlLCA1MCUsIGp1c3QgYmVmb3JlIDEwMCUgYW5kIDEwMCUu
IFRoZSBjaGFuZ2UgaW4gdGhlIG9wYWNpdHkKKyAgICAgICAgb2YgdGhlIGVsZW1lbnQgc2hvdWxk
IGJlOiAwLCAwLjUsIDEsIDAuIFRoZSB0ZXN0IHdhcyBleHBlY3RpbmcgYWxsIHZhbHVlcworICAg
ICAgICB0byBiZSB6ZXJvcy4KKworMjAxOS0wNS0yMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJv
dWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5IHRoZSBwYXJzaW5nIG9mIFNWR0xp
c3Qgc3VwZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk3ODMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3RzMTEtZGF0YS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgUmVwb3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbyBvciBTVkdab29tQW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVu
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1y
YXRpby1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9zdmcvY3Vz
dG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
c3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3Rr
L3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVj
dC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
Y3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
d2luY2Fpcm8vc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vdmlld2JveC1z
eW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJy
b3IvMDEwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vy
cm9yLzAxMS1leHBlY3RlZC50eHQ6CisgICAgICAgIFJlcGxhY2UgdGhlIHBhcnNpbmcgd2Fybmlu
ZyBtZXNzYWdlcyBieSBlcnJvciBtZXNzYWdlcy4gUmVwb3J0IGVycm9yCisgICAgICAgIG1lc3Nh
Z2VzIGlmIGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBwYXJzaW5nIGVycm9yIGhhcHBlbnMuCisK
KyAgICAgICAgKiBzdmcvZG9tL2xlbmd0aC1saXN0LXBhcnNlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgIFNWR0xlbmd0aExpc3Qgd2FzIHRyZWF0aW5nIHRoZSBsZWFkaW5nIHNwYWNlcyBpbiB0aGUg
YXR0cmlidXRlIHZhbHVlIGFzCisgICAgICAgIGFuIGVycm9yLgorCisgICAgICAgICogc3ZnL2Rv
bS92aWV3c3BlYy1wYXJzZXItMS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS92aWV3
c3BlYy1wYXJzZXItMS5odG1sOgorICAgICAgICBFeHRyYSB0ZXh0IGF0IHRoZSBlbmQgb2Ygc3Zn
VmlldyBhdHRyaWJ1dGUgdmFsdWUgd2FzIG5vdCB0cmVhdGVkIGFzIGFuCisgICAgICAgIGVycm9y
LgorCisgICAgICAgICogc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQ6CisgICAgICAgIFJlcGxhY2UgdGhl
IHBhcnNpbmcgd2FybmluZyBtZXNzYWdlcyBieSBlcnJvciBtZXNzYWdlcy4KKwogMjAxOS0wNi0w
OCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgcmVzaXpl
LW9ic2VydmVyL2VsZW1lbnQtbGVhay5odG1sIGZhaWxzIG9uIFdpbmRvd3MgcGxhdGZvcm0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGYxY2I5MDM4OWE4ODM4NGJkMGU1ZjAzNDFm
MDI4Y2M3MWUzM2VjZDUuLjQ5MzZiZTVkNzcyMzNlODI2YmFiMmQ1MWQxZmYzYmYwZjQ1YTRlMDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA2
LTA4ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5
IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDczCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
eW50YXgvcGFyc2luZy9odG1sNWxpYl90ZXN0czExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVw
b3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBvciBTVkdab29t
QW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVucy4KKworMjAxOS0wNS0yMCAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFVuaWZ5
IHRoZSBwYXJzaW5nIG9mIFNWR0xpc3Qgc3VwZXIgY2xhc3NlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3ODMxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
eW50YXgvcGFyc2luZy9odG1sNWxpYl90ZXN0czExLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVw
b3J0IGVycm9yIG1lc3NhZ2VzIGlmIGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyBvciBTVkdab29t
QW5kUGFuIHBhcnNpbmcKKyAgICAgICAgZXJyb3IgaGFwcGVucy4KKwogMjAxOS0wNi0wNyAgSm9v
bmdodW4gUGFyayAgPGpoNzE4LnBhcmtAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgSW1wbGVtZW50
IHRhYi1zaXplIHdpdGggdW5pdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0bWw1bGliL2dl
bmVyYXRlZC9ydW4tdGVzdHMxMS1kYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0bWw1
bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMS1kYXRhLWV4cGVjdGVkLnR4dAppbmRleCAxNzZiNWMw
N2M3OGIxZTEwMDYzNTcwZTVlNjUyMDI1ODZkZTgwNGE4Li40ZTRmYmMwMjBkYmQ0NWNhMzAyOGE1
ZTk1ZmExZGFiYzcwNWY5MDBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9nZW5l
cmF0ZWQvcnVuLXRlc3RzMTEtZGF0YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHRt
bDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
MTAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcg
dmlld0JveD0iIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFy
c2luZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0
cmlidXRlIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogVW5yZWNv
Z25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIi
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0iIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVB
c3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHpvb21BbmRQYW49IiIKIC4uL3Jlc291cmNlcy90ZXN0czExLmRhdDogUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tdGVzdHMxMS13
cml0ZS1leHBlY3RlZC50eHQKaW5kZXggOWFjNjgyYWU5MmQ3ZGNkMTRiYmM5YWNjOThlYjM2Yjg0
YjY1ZWVjYy4uYTg5MzA5Y2IzMjI2NDUwNzllZWFhOWIwYjU2MWMwZDMyMDQyM2M5MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi10ZXN0czExLXdyaXRlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLXRlc3Rz
MTEtd3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMTAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxNjg6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIiCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTY4OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iIgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE2ODogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE2ODogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94
PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1l
cmF0ZWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTY4OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjg6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iIgorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE2ODogRXJyb3I6IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFuZFBhbj0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2
ODogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVj
dFJhdGlvPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY4OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
Njg6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHpvb21BbmRQYW49IiIKIC4uL3Jlc291cmNlcy90ZXN0czExLmRhdDogUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3N5
bnRheC9wYXJzaW5nL2h0bWw1bGliX3Rlc3RzMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3N5bnRheC9wYXJzaW5nL2h0bWw1
bGliX3Rlc3RzMTEtZXhwZWN0ZWQudHh0CmluZGV4IDVmMzBmYzhkMDQyYzczM2U0OTU4NmJjOWU4
ZWM2Y2Y5NjkxNWM4ZWYuLmFlOTA3MjgyOGJkMzZhZmYyZWE3ZmNjNjJkYzUxNzkxZTNhOTI0NmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zeW50YXgvcGFyc2luZy9odG1sNWxpYl90ZXN0czExLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc3ludGF4L3Bh
cnNpbmcvaHRtbDVsaWJfdGVzdHMxMS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSwxMiBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIi
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdC
b3g9IiIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcg
dmlld0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmll
d0JveD0iIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBVbnJlY29nbml6ZWQgZW51
bWVyYXRlZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHpvb21BbmRQYW49IiIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRl
IHByZXNlcnZlQXNwZWN0UmF0aW89IiIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxOiBFcnJvcjogVW5yZWNvZ25pemVkIGVudW1lcmF0ZWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB6b29tQW5kUGFuPSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlv
PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6
IFVucmVjb2duaXplZCBlbnVtZXJhdGVkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgem9vbUFu
ZFBhbj0iIgogaHRtbDVsaWIgUGFyc2VyIFRlc3QKIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZl
LWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGQ5NjRjNWU3ZDY1NTZhNjhl
NThlNGMxZWI0ZWI0N2I4NTc5MGIyYjMuLjQxNTA4YWUxOTQ5YWYwODcxM2M5YTNjMTk1NWU2ZTJj
MWIzMzgzZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9t
L3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1p
ZFlNaWQgbWVldCBhIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIDEgeE1p
ZFlNaWQgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFs
dWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAsIHhNaWRZ
TWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iIgogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRl
eCBlMGRkZWY1MzY3N2JkMWQzYjBiZmEyNWFhYWE0NGI0YjBkOWZiOTVlLi40YmZiZWIyYzdiMjc5
YTJiZGQyM2M4MzMwMTVkMWFkYTgzYjllZmYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQu
dHh0CkBAIC0xLDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6
IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAw
IDMwIDQwIDUwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBh
cnNpbmcgdmlld0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2Fy
bmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlz
IG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZl
IHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQw
IgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iMCAwIDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFs
aWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdC
b3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0i
MCAwIDMwIDQwIDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
dmlld0JveD0iLDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IElu
dmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMw
IDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2
YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
dmlld0JveD0iMCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CmluZGV4
IGI3YWQ0Zjk2N2QxYzAxM2M3ODAwZjdhMGI0NmJkMWZhNzBkNDk0ZDguLmRkMjA3MDUzOWUxNmQ5
ZTgzZjEzMjVjOTBjODgwYWY4ZmY3NzU5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCAxIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAxIDEgMSIKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggYTVk
OGJlNzg0NmFhODRkNThiNDczYjg1MTg5NWE5NWRiOTBjNGRlNy4uOWQwOWZjNjgxNmU5NDE1ZWNl
NjI0OWQ2ZmQyNmIzNjdkYmU2MDk3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmll
d0JveD0iMCAwLCwgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwLCwgMSAxIgogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0
LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggNzM3OGEzN2JhYjgzMWNiZDQ4YzFhNzg3
NDVhN2EyMmZkNWQwYTk0Yi4uZTIzN2FiM2E5ZDFlMTE4YzcwYWE1MzZjY2E0ODc0NjBkZDdmMjY5
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3Rl
ZC50eHQKQEAgLTEsMyArMSw4IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVm
ZXIgbWVldCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciB4TWlkWU1pZCBt
ZWV0IGEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgMSB4TWlkWU1pZCBt
ZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3Ig
PHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyICwgeE1pZFlNaWQgbWVl
dCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxz
dmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiCiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2
Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CmluZGV4IGM5YjFh
MjVhY2YyMWNhOTAwNTdkY2MzYTc0OGIzYjllZmU1MDJkYTkuLjkzYWU1YTMzYjI4NGNlM2ZmYmI1
OGZiZGZkMTI1NjZjNDU4MWE1NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKQEAg
LTEsMTMgKzEsMTMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IjAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IFdhcm5pbmc6
IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6
IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAiCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMjk6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAgNDAg
NTAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2
aWV3Qm94PSIwIDAgMzAgNDAsIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBXYXJuaW5nOiBQ
cm9ibGVtIHBhcnNpbmcgdmlld0JveD0iLDAgMCAzMCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAzODogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggd2lkdGggaXMgbm90IGFs
bG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEEgbmVnYXRpdmUgdmFsdWUg
Zm9yIFZpZXdCb3ggaGVpZ2h0IGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
NDQ6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMzAsICwgNDAiCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNDc6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIw
IDAgMzAlIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTog
RXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAg
NDAgNTAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwLCIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAzNTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94
PSIsMCAwIDMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogSW52YWxpZCBu
ZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAtMzAgNDAiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZv
ciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIC00MCIKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA0NDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94
PSIwIDAgMzAsICwgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDc6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwJSA0MCIKIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAog
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKaW5kZXggOTJiY2Mz
OWZhNzM0OGNiMzUwMGI5MTUzOGNkNzkyYWZiZDRlM2E0OS4uNDU4YWM0MGNlYmVhZmUzZjg1ODJh
OTFkNTZjMzJhNjE0OTI0N2NlNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0Jv
eD0iMCAwIDEgMSAxIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZh
bHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDEgMSAxIgogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAppbmRleCBmYmY0OGMwYTM1
NDkwZjMyNDgxOWJlMGM3ODczZWZhNjA3ZDhkNGEyLi43NmRmNTZmZmFmY2Q1MTBhY2IyN2JkZDc5
MGJlYzIzNzFjMWQ1MDRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3Zn
L2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIw
IDAsLCAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAsLCAxIDEiCiBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8t
c3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA0YTFmMzRhN2NjMTEyYjZjMjc0YmNiMDA0ZWRiZWZj
MTE3YWVhOTk4Li5hYzkxZjk2MThmMWFiYjA2MTMzNDNhYzYyMDBjNDFlMDNkNGZmNTFkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQg
dmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlkIG1lZXQiCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBh
dHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBtZWV0IgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0
cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3Rv
bS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKaW5kZXggODk5YWZjZWY3M2Jl
Njg0MTk3OTA4YWNiNWQ4YWJjY2UwMzgwYThjMC4uMmJjYmY4ZTY1MzQyOGNmMWZjM2U5OTEyYmYy
NWEzY2FkMDQ2OWFkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9j
dXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwxMyAr
MSwxMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIwOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IjAgMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogV2Fybmlu
ZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCIKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyOTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAzMjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
IjAgMCAzMCA0MCwiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IFdhcm5pbmc6IFByb2JsZW0g
cGFyc2luZyB2aWV3Qm94PSIsMCAwIDMwIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBF
cnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3QgYWxsb3dlZAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmll
d0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogV2Fy
bmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSA0NzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCUg
NDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwIDMwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAsIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiwwIDAg
MzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZl
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIC0zMCA0MCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+
IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgLTQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0
OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAz
MCwgLCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogRXJyb3I6IEludmFsaWQgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAlIDQwIgogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAppbmRleCA5MmJjYzM5ZmE3MzQ4
Y2IzNTAwYjkxNTM4Y2Q3OTJhZmJkNGUzYTQ5Li40NThhYzQwY2ViZWFmZTNmODU4MmE5MWQ1NmMz
MmE2MTQ5MjQ3Y2U2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hp
eGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAg
MSAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMSAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0CmluZGV4IGZiZjQ4YzBhMzU0OTBmMzI0
ODE5YmUwYzc4NzNlZmE2MDdkOGQ0YTIuLjc2ZGY1NmZmYWZjZDUxMGFjYjI3YmRkNzkwYmVjMjM3
MWMxZDUwNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUv
ZXJyb3IvMDExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCwsIDEg
MSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2N1
c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ2ZDEwNTcyNjg5ODY3ZDNlMWRjMjk4ZTU3M2M2MzY3YjJiYzA0
OTQuLjE5MWYzZTYzNWYxODk5MDE4OTdlN2JkMjYwYmYyMGI0ZmRhYmU0MzMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRp
by1zeW50YXgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcv
Y3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIG1lZXQiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIDEgeE1pZFlNaWQgbWVldCIKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAzMjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0
ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAsIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUg
cHJlc2VydmVBc3BlY3RSYXRpbz0iIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3VzdG9tL3ZpZXdi
b3gtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvY3Vz
dG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA2MjZjZDZhOTQ2YTI1OWE2OWI5
NGJkOTAzMGUzMmUxYTI2NDdkYTQ3Li5mOTk0MTc4ZjhkY2U3OGYxYTc0YWYzOWUwNGQ3ZjMzYTZm
ODJlYzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2N1c3RvbS92
aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3
Qm94PSIwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNp
bmcgdmlld0JveD0iMCAwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9i
bGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBX
YXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMw
IDQwLCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBB
IG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNDE6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhl
aWdodCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQ
cm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52
YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAyNjogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2
aWV3Qm94PSIwIDAgMzAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlk
IHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUg
Zm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDQxOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9o
aXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2
Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQudHh0CmluZGV4IGI3YWQ0Zjk2N2QxYzAxM2M3ODAw
ZjdhMGI0NmJkMWZhNzBkNDk0ZDguLmRkMjA3MDUzOWUxNmQ5ZTgzZjEzMjVjOTBjODgwYWY4ZmY3
NzU5NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvaGl4aWUvZXJy
b3IvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hp
eGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAxIDEgMSIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAgMCAxIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hpeGll
L2Vycm9yLzAxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL2hp
eGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKaW5kZXggYTVkOGJlNzg0NmFhODRkNThiNDczYjg1
MTg5NWE5NWRiOTBjNGRlNy4uOWQwOWZjNjgxNmU5NDE1ZWNlNjI0OWQ2ZmQyNmIzNjdkYmU2MDk3
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9oaXhpZS9lcnJvci8w
MTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvaGl4aWUv
ZXJyb3IvMDExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwLCwgMSAxIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRy
aWJ1dGUgdmlld0JveD0iMCAwLCwgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50
YXgtZXhwZWN0ZWQudHh0CmluZGV4IDVmNjc3MDRjN2ExNGM3ZjlmMzZmOGU1ZGVmZjk5Y2Y1ZmE5
ZWQ1MWMuLjNjZjE4NWExOGM5YTEwZDU5ZTlmMDk4NWYxZTIwNDMyN2JkZTM5ZDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNw
ZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IElu
dmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZl
ciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1l
ZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9y
IDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciAxIHhNaWRZTWlkIG1l
ZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgLCB4TWlkWU1pZCBtZWV0
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9zdmcvY3VzdG9tL3ZpZXdib3gtc3ludGF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGQ4MTMyNWY4YWE3NGVmMGUzMzEyNGI5Yzk5NDU5OTIwOWJkOWQwNGEuLjUxNjhjMDc1YzMw
MzA5MGFkM2Y1ODIwNTM5ZDQ3OGI2MThjYjRmZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL3N2Zy9jdXN0b20vdmlld2JveC1zeW50
YXgtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjA6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDIzOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIgotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI2OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAw
IDMwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI5OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcg
dmlld0JveD0iMCAwIDMwIDQwIDUwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBXYXJuaW5n
OiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDMwIDQwLCIKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAzNTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IiwwIDAgMzAgNDAiCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3
Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDE6IEVycm9y
OiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZAotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0i
MCAwIDMwLCAsIDQwIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ3OiBXYXJuaW5nOiBQcm9ibGVt
IHBhcnNpbmcgdmlld0JveD0iMCAwIDMwJSA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDog
RXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDIzOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0
cmlidXRlIHZpZXdCb3g9IjAgMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogRXJyb3I6IElu
dmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAiCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMjk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1
dGUgdmlld0JveD0iMCAwIDMwIDQwIDUwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMyOiBFcnJv
cjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCA0MCwi
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzU6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgdmlld0JveD0iLDAgMCAzMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAz
ODogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3
Qm94PSIwIDAgLTMwIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJvcjogSW52YWxp
ZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCAtNDAi
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3Zn
PiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwLCAsIDQwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQ3OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAg
MCAzMCUgNDAiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJh
dGlvLXN5bnRheC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1
c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAppbmRleCA5OWI3
MDNkMzJmNWQ1MTI4NzgxYzFmYmYwZGU4OTE5ZTljYjhlODQ4Li5iMWJiNTVmNzQ5OGQ1ZTk2OTZj
N2JlOTA2YzRmNjRmNWRmZjNlNzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3Qt
cmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlv
PSJkZWZlciAxIHhNaWRZTWlkIG1lZXQiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IEVycm9y
OiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgcHJlc2VydmVBc3BlY3RSYXRpbz0i
ZGVmZXIgLCB4TWlkWU1pZCBtZWV0IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjog
SW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHByZXNlcnZlQXNwZWN0UmF0aW89IiIK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2N1c3RvbS92aWV3Ym94LXN5bnRheC1leHBl
Y3RlZC50eHQKaW5kZXggMmY5MmZmMmUzN2ZhMzMwMTM5MGE5NGE4MjZkMGJlOWViNGU4NzBjOS4u
ZjhkMzJlMzllMGUxN2I3MjY5OWZlNDk4ODk2ZDAzYmRhMTNiODMzNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9jdXN0b20vdmlld2JveC1zeW50YXgtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvY3VzdG9tL3ZpZXdib3gtc3lu
dGF4LWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwxMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDIwOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCIKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAyMzogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCIKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAyNjogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAg
MCAzMCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyOTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5n
IHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogV2Fybmlu
ZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCA0MCwiCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzU6IFdhcm5pbmc6IFByb2JsZW0gcGFyc2luZyB2aWV3Qm94PSIsMCAwIDMwIDQwIgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmll
d0JveCB3aWR0aCBpcyBub3QgYWxsb3dlZAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQxOiBFcnJv
cjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA0NDogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9
IjAgMCAzMCwgLCA0MCIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0NzogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IjAgMCAzMCUgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0
dHJpYnV0ZSB2aWV3Qm94PSIwIDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yOiBJ
bnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmlld0JveD0iMCAwIDMwIgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHZpZXdCb3g9IjAgMCAzMCA0MCA1MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgNDAs
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM1OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IiwwIDAgMzAgNDAiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
Mzg6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgdmll
d0JveD0iMCAwIC0zMCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0MTogRXJyb3I6IEludmFs
aWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAgMzAgLTQw
IgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2
Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCAzMCwgLCA0MCIKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0NzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIw
IDAgMzAlIDQwIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVj
dGVkLnR4dAppbmRleCBiN2FkNGY5NjdkMWMwMTNjNzgwMGY3YTBiNDZiZDFmYTcwZDQ5NGQ4Li5k
ZDIwNzA1MzllMTZkOWU4M2YxMzI1YzkwYzg4MGFmOGZmNzc1OTVjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTAtZXhwZWN0ZWQu
dHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFdhcm5pbmc6IFBy
b2JsZW0gcGFyc2luZyB2aWV3Qm94PSIwIDAgMSAxIDEiCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxzdmc+IGF0dHJpYnV0ZSB2aWV3Qm94PSIwIDAg
MSAxIDEiCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhwZWN0ZWQu
dHh0CmluZGV4IGE1ZDhiZTc4NDZhYTg0ZDU4YjQ3M2I4NTE4OTVhOTVkYjkwYzRkZTcuLjlkMDlm
YzY4MTZlOTQxNWVjZTYyNDlkNmZkMjZiMzY3ZGJlNjA5N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dwZS9zdmcvaGl4aWUvZXJyb3IvMDExLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxl
bSBwYXJzaW5nIHZpZXdCb3g9IjAgMCwsIDEgMSIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEg
MSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLWV4cGVj
dGVkLnR4dAppbmRleCBkZDM1MjVkMWE1YmJlMGQ5NGFkYjJhYjZmNTE2MDQzNDFkY2NiMGEyLi5l
OWYwMzFiMjc4ZTlkMDg5MDA1YzhkYzIwYjQyYTNmNTlhNGNkZTYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXItYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlci1hbmltYXRpb24tMy1l
eHBlY3RlZC50eHQKQEAgLTYsOCArNiw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHkn
KS5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDAKLVBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0
RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCi1QQVNTIGdldENv
bXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0
VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikgaXMgMAorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVl
KENTU1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDAuNQorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKHJlY3QpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ29wYWNpdHknKS5nZXRGbG9hdFZhbHVlKENT
U1ByaW1pdGl2ZVZhbHVlLkNTU19OVU1CRVIpIGlzIDEKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShy
ZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQcmlt
aXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSBpcyAwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlci1h
bmltYXRpb24tMy5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFu
aW1hdGlvbi0zLmh0bWwKaW5kZXggYjYwZGE4M2E3NGRlOTAwYjQwMDE0ODk4ZDc0MjcyMjgzYzAz
ZjRjNy4uOGJjNDQyNjk5ZjQ1YTBmOWE3NmI2NjQwZWFlZTljNzIyOTk4NDFiMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyLWFuaW1hdGlvbi0zLmh0
bWwKQEAgLTM2LDE1ICszNiwxNSBAQCByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsK
IC8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0CiBmdW5jdGlvbiBzYW1wbGUxKCkgewogICAgIC8vIENo
ZWNrIGluaXRpYWwvZW5kIGNvbmRpdGlvbnMKLSAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHls
ZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5JykuZ2V0RmxvYXRWYWx1ZShDU1NQ
cmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwIik7CisgICAgc2hvdWxkQmVDbG9zZUVub3Vn
aCgiZ2V0Q29tcHV0ZWRTdHlsZShyZWN0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdvcGFjaXR5Jyku
Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZS5DU1NfTlVNQkVSKSIsICIwIik7CiB9CiAK
IGZ1bmN0aW9uIHNhbXBsZTIoKSB7Ci0gICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUocmVj
dCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0
aXZlVmFsdWUuQ1NTX05VTUJFUikiLCAiMCIpOworICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goImdl
dENvbXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZs
b2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikiLCAiMC41Iik7CiB9CiAKIGZ1
bmN0aW9uIHNhbXBsZTMoKSB7Ci0gICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUocmVjdCku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWUuQ1NTX05VTUJFUikiLCAiMCIpOworICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goImdldENv
bXB1dGVkU3R5bGUocmVjdCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnb3BhY2l0eScpLmdldEZsb2F0
VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX05VTUJFUikiLCAiMSIpOwogfQogCiBmdW5jdGlv
biBleGVjdXRlVGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vbGVuZ3Ro
LWxpc3QtcGFyc2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vbGVuZ3RoLWxp
c3QtcGFyc2VyLWV4cGVjdGVkLnR4dAppbmRleCBlZWYwNjMwNzZiZDRkZTYxNzk0NTExOTM3YTYx
ZjAxNjU1MDdiN2JhLi5jMzA4MmRiMWM2ZjMyZjc2OGYxOWI5MDFjNzUwMTk0MzFjOGFhOTZiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL2xlbmd0aC1saXN0LXBhcnNlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9sZW5ndGgtbGlzdC1wYXJzZXItZXhwZWN0
ZWQudHh0CkBAIC01LDggKzUsMTAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUGFyc2Vk
IGFzIDEgbGVuZ3RoKHMpIFsgOC44NDcgXTogOC44NDcKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBb
IDguNjI1NjllKzYgXTogODYyNTY4NiAzLjAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMSwgOTAsZTQ5OTcuLiw3ODItNDMyNmUuCS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxM2UsK2U5CWUgNDgyOS4sMDYzNzIxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEuLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNiAwNzIKK1BhcnNlZCBh
cyA4IGxlbmd0aChzKSBbIDI4LCAtOCwgMCwgNDcsIDQsIDAsIDM1LCA2ODQgXTogIDI4CS04IC0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLDQ3IDA0LC0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2
NDYwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAK
IFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMK
K1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZl
MzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIg
NTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4
OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEr
ICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4w
MDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBh
cnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgz
MwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMTRlODUgLi0xLQpAQCAtMTQsNiArMTYsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAw
LCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAog
UGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2
ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFy
c2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQg
YXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQg
YXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVl
NTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0
MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQku
NzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2
Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAt
NTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMg
MSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJ
ZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1
IC4tMS0KQEAgLTIxLDYgKzI0LDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3
IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBh
cyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAt
NzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAx
IGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVu
Z3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVu
Z3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgog
UGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQu
LDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcg
ZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwog
UGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3Ro
KHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4
Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBA
IC0yOCw2ICszMiw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5n
dGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgo
cykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBb
IDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBb
IDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTkt
LSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5
MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBh
cyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0
NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBh
cyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2
NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4
ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtMzUsNiAr
NDAsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsg
NCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5
MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4
MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUg
XTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06
ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0Nzgu
LDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStl
MGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5n
dGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5n
dGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTog
NTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTQyLDYgKzQ4LDcgQEAg
UGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1
LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4
NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2
NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYx
ODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUs
NjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3
ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsg
OCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsg
MSBdOiAxLC4sKy44MzMrLjAwNCAyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEy
LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMS43OTgwLTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAxLTE5OAk1MAogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAw
ZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQxCWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4NSAuLTEtCkBAIC00OSw2ICs1Niw3IEBAIFBhcnNlZCBh
cyAzIGxlbmd0aChzKSBbIDAsIDksIDM2NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQgYXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06
IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTll
ICAgKy4zLWUwKyw4MTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE0KywtLTEtMjZlNjY2NDYwLTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzIt
OTYwCTEtOSAyODkJCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0w
MC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxlbmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUg
LDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUz
CTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4KIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4
OSBdOiA4IDIgNTg5CS00NWU1OCAtNAktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTErICw5KzYtCS43NjUrLTg3IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwu
LCsuODMzKy4wMDQgMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEuNzk4MC01NTUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0x
OTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUg
CTM3ODU4NDgzMwksLjE0MQllOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUz
LiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMTRlODUgLi0xLQpAQCAtNTYsNiArNjQsNyBAQCBQYXJzZWQgYXMgMyBsZW5n
dGgocykgWyAwLCA5LCAzNjcgXTogLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAogUGFyc2VkIGFzIDQgbGVuZ3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1l
MCssODEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
NCssLS0xLTI2ZTY2NjQ2MC03OS41LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2
OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkg
Mjg5CQogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2Ljcg
CiBQYXJzZWQgYXMgMiBsZW5ndGgocykgWyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUz
CitQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42
ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJOTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAy
IDU4OQktNDVlNTggLTQJLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2
ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEx
KyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysu
MDA0IDItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0JOC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQ
YXJzZWQgYXMgMSBsZW5ndGgocykgWyA1NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4
MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDE0ZTg1IC4tMS0KQEAgLTYzLDYgKzcyLDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsg
MCwgOSwgMzY3IF06IC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
IFBhcnNlZCBhcyA0IGxlbmd0aChzKSBbIDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0y
NmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBh
cnNlZCBhcyAxIGxlbmd0aChzKSBbIDYxODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2Vk
IGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2Vk
IGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBdOiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkrZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDEgLgogUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1
ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0s
NDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0J
Ljc2NSstODcgZS4gNjgJOTQ1MjE4Mi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
Ni4uIDEJKwogUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMSBdOiAxLC4sKy44MzMrLjAwNCAyLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDErLjktCTgtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS43OTgw
LTU1NS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTE5OAk1MAogUGFyc2VkIGFz
IDEgbGVuZ3RoKHMpIFsgNTY0MjgxIF06IDU2NDI4MSAwZWU1MSsgZSAJMzc4NTg0ODMzCSwuMTQx
CWU4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtNTMuIDg4NTMwLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCTguLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDE4Ljg0N2UyODg4Ni0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNGU4
NSAuLTEtCkBAIC03MCw2ICs4MCw3IEBAIFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDAsIDksIDM2
NyBdOiAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiBQYXJzZWQg
YXMgNCBsZW5ndGgocykgWyA0LCAwLCAzNSwgNjg0IF06IDA0LC0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxOTkzLDM1CSs2ODQgKwkxNTllICAgKy4zLWUwKyw4MTItMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxNzI4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0KywtLTEtMjZlNjY2NDYw
LTc5LjUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTY5NjAzLTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwNjQxLCw1NzItOTYwCTEtOSAyODkJCiBQYXJzZWQgYXMg
MSBsZW5ndGgocykgWyA2MTgyMiBdOiA2MTgyMiwxNS0wMC4xNjYuNyAKIFBhcnNlZCBhcyAyIGxl
bmd0aChzKSBbIDIsIDAuNSBdOiAyCS41LDY1OC03IGUgLDg0Nzc1NTMKK1BhcnNlZCBhcyAxIGxl
bmd0aChzKSBbIDIxODMgXTogIDIxODMgOS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxOTEsNTktLSA3MDQ3OC4sNTY2OTY0Nzg0CWUxLTUzCTg0N2UwLjZlMzQ4MDUtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxIDk3NQk5MjJlLDQJK2UwZS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIC4K
IFBhcnNlZCBhcyAzIGxlbmd0aChzKSBbIDgsIDIsIDU4OSBdOiA4IDIgNTg5CS00NWU1OCAtNAkt
MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWU1OC0rKzY4OS4tOTgtLDQyIDk0NTY0
Liw5NjctMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTErICw5KzYtCS43NjUrLTg3
IGUuIDY4CTk0NTIxODItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYuLiAxCSsK
IFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDEgXTogMSwuLCsuODMzKy4wMDQgMi0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAxKy45LQk4LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEuNzk4MC01NTUtMC4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMS0xOTgJNTAKIFBhcnNlZCBhcyAxIGxlbmd0
aChzKSBbIDU2NDI4MSBdOiA1NjQyODEgMGVlNTErIGUgCTM3ODU4NDgzMwksLjE0MQllOC0wLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLTUzLiA4ODUzMC0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxMAk4Li0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx
OC44NDdlMjg4ODYtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTRlODUgLi0xLQpA
QCAtNzcsNiArODgsNyBAQCBQYXJzZWQgYXMgMyBsZW5ndGgocykgWyAwLCA5LCAzNjcgXTogLTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAogUGFyc2VkIGFzIDQgbGVu
Z3RoKHMpIFsgNCwgMCwgMzUsIDY4NCBdOiAwNCwtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTk5MywzNQkrNjg0ICsJMTU5ZSAgICsuMy1lMCssODEyLTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcyOC0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNCssLS0xLTI2ZTY2NjQ2MC03OS41LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2OTYwMy0wLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAxMDY0MSwsNTcyLTk2MAkxLTkgMjg5CQogUGFyc2VkIGFzIDEgbGVuZ3Ro
KHMpIFsgNjE4MjIgXTogNjE4MjIsMTUtMDAuMTY2LjcgCiBQYXJzZWQgYXMgMiBsZW5ndGgocykg
WyAyLCAwLjUgXTogMgkuNSw2NTgtNyBlICw4NDc3NTUzCitQYXJzZWQgYXMgMSBsZW5ndGgocykg
WyAyMTgzIF06ICAyMTgzIDktMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkxLDU5
LS0gNzA0NzguLDU2Njk2NDc4NAllMS01Mwk4NDdlMC42ZTM0ODA1LTAuMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDEtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSA5NzUJ
OTIyZSw0CStlMGUtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAuCiBQYXJzZWQg
YXMgMyBsZW5ndGgocykgWyA4LCAyLCA1ODkgXTogOCAyIDU4OQktNDVlNTggLTQJLTAuMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFlNTgtKys2ODkuLTk4LSw0MiA5NDU2NC4sOTY3LTAu
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExKyAsOSs2LQkuNzY1Ky04NyBlLiA2OAk5
NDUyMTgyLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Li4gMQkrCiBQYXJzZWQg
YXMgMSBsZW5ndGgocykgWyAxIF06IDEsLiwrLjgzMysuMDA0IDItMC4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMTItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSsuOS0J
OC0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxLjc5ODAtNTU1LTAuMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEtMTk4CTUwCiBQYXJzZWQgYXMgMSBsZW5ndGgocykgWyA1
NjQyODEgXTogNTY0MjgxIDBlZTUxKyBlIAkzNzg1ODQ4MzMJLC4xNDEJZTgtMC4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMS01My4gODg1MzAtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMTAJOC4tMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTguODQ3ZTI4
ODg2LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0ZTg1IC4tMS0KQEAgLTg0LDYg
Kzk2LDcgQEAgUGFyc2VkIGFzIDMgbGVuZ3RoKHMpIFsgMCwgOSwgMzY3IF06IC0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKIFBhcnNlZCBhcyA0IGxlbmd0aChzKSBb
IDQsIDAsIDM1LCA2ODQgXTogMDQsLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5
OTMsMzUJKzY4NCArCTE1OWUgICArLjMtZTArLDgxMi0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3MjgtMC4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQrLC0tMS0yNmU2NjY0NjAtNzkuNS0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjk2MDMtMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMTA2NDEsLDU3Mi05NjAJMS05IDI4OQkKIFBhcnNlZCBhcyAxIGxlbmd0aChzKSBbIDYx
ODIyIF06IDYxODIyLDE1LTAwLjE2Ni43IAogUGFyc2VkIGFzIDIgbGVuZ3RoKHMpIFsgMiwgMC41
IF06IDIJLjUsNjU4LTcgZSAsODQ3NzU1MworUGFyc2VkIGFzIDEgbGVuZ3RoKHMpIFsgMjE4MyBd
OiAgMjE4MyA5LTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5MSw1OS0tIDcwNDc4
Liw1NjY5NjQ3ODQJZTEtNTMJODQ3ZTAuNmUzNDgwNS0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAxLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgOTc1CTkyMmUsNAkr
ZTBlLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEgLgogUGFyc2VkIGFzIDMgbGVu
Z3RoKHMpIFsgOCwgMiwgNTg5IF06IDggMiA1ODkJLTQ1ZTU4IC00CS0wLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAxZTU4LSsrNjg5Li05OC0sNDIgOTQ1NjQuLDk2Ny0wLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMSsgLDkrNi0JLjc2NSstODcgZS4gNjgJOTQ1MjE4Mi0w
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNi4uIDEJKwogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3ZpZXdz
cGVjLXBhcnNlci0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMt
cGFyc2VyLTEtZXhwZWN0ZWQudHh0CmluZGV4IGQ0NDJmMWJmOTExMWQzYmQ3MjhhNTdhZjE1OGFl
YmI2YTUyNDE1MWMuLjkzZDNjNjRkZTdhZmRhM2I0YmQyMWEzZTIzYjVlM2VkYTkzMmRjN2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEtZXhwZWN0ZWQu
dHh0CkBAIC02LDggKzYsOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogTG9hZGVkOiByZXNv
dXJjZXMvdmlld3NwZWMtdGFyZ2V0LnN2ZyMKIFBhcnNlZDogW2luaXRpYWwgdmlld10gZnJvbTog
W2luaXRpYWwgdmlld10KIAotTG9hZGVkOiByZXNvdXJjZXMvdmlld3NwZWMtdGFyZ2V0LnN2ZyNz
dmdWaWV3KHZpZXdCb3goMCwwLDIwMCwyMDApKSkKLVBhcnNlZDogc3ZnVmlldyh2aWV3Qm94KDAg
MCAyMDAgMjAwKSkgZnJvbTogc3ZnVmlldyh2aWV3Qm94KDAsMCwyMDAsMjAwKSkpCitMb2FkZWQ6
IHJlc291cmNlcy92aWV3c3BlYy10YXJnZXQuc3ZnI3N2Z1ZpZXcodmlld0JveCgwLDAsMjAwLDIw
MCkpCitQYXJzZWQ6IHN2Z1ZpZXcodmlld0JveCgwIDAgMjAwIDIwMCkpIGZyb206IHN2Z1ZpZXco
dmlld0JveCgwLDAsMjAwLDIwMCkpCiAKIExvYWRlZDogcmVzb3VyY2VzL3ZpZXdzcGVjLXRhcmdl
dC5zdmcjc3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluIHNsaWNlKSkKIFBhcnNl
ZDogc3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluIHNsaWNlKSkgZnJvbTogc3Zn
VmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluIHNsaWNlKSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9kb20vdmlld3NwZWMtcGFyc2VyLTEuaHRtbAppbmRleCA1YjE3ZDc1OTIxMjg4ZTFjMGEwZTY3
MWQ1NWYyNGZhYjY3NDM3MGFmLi42MjE3M2U2MmYzY2Q0MzNjMmFmYTE5YjRjY2UzNWE4NWFiMjYy
MGExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3ZpZXdzcGVjLXBhcnNlci0xLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS92aWV3c3BlYy1wYXJzZXItMS5odG1sCkBAIC0x
OCw3ICsxOCw3IEBACiAgICAgfTsKIAogICAgIHZhciB0ZXN0cyA9IFsKLSAgICAgICJzdmdWaWV3
KHZpZXdCb3goMCwwLDIwMCwyMDApKSkiLAorICAgICAgInN2Z1ZpZXcodmlld0JveCgwLDAsMjAw
LDIwMCkpIiwKICAgICAgICJzdmdWaWV3KHByZXNlcnZlQXNwZWN0UmF0aW8oeE1heFlNaW4gc2xp
Y2UpKSIsCiAgICAgICAic3ZnVmlldyhwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZTWluKSkiLAog
ICAgICAgInN2Z1ZpZXcodmlld0JveCgxLDIsMyw0KTtwcmVzZXJ2ZUFzcGVjdFJhdGlvKHhNYXhZ
TWluKSkiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dApp
bmRleCBmN2QzNTliOTFkYjk1M2Q1MjJhNjY5Y2RiOTkzZjk0NzI5NDg0NWE3Li40OTAxODI0NGU2
NjQyMTBkMTc3YjQ0OGUzNDI2MjZlY2Q0OWU3Y2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dmcvaGl4aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvaGl4
aWUvZXJyb3IvMDEwLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBXYXJuaW5nOiBQcm9ibGVtIHBhcnNpbmcgdmlld0JveD0iMCAwIDEgMSAxIgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8c3ZnPiBh
dHRyaWJ1dGUgdmlld0JveD0iMCAwIDEgMSAxIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9oaXhpZS9lcnJvci8wMTEtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQK
aW5kZXggN2MyNDFiNjQ2MjA3MTQxNWMxZDAzODI4YzA1NWE0ZTM5Mjg3YzI4MS4uY2FjZWM1Zjhj
YmQ1MzJkYmE2Njg0NjE3YmZjOGE2YmU0YTQ1MThlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2hpeGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2hp
eGllL2Vycm9yLzAxMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTogV2FybmluZzogUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9IjAgMCwsIDEgMSIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHN2Zz4g
YXR0cmlidXRlIHZpZXdCb3g9IjAgMCwsIDEgMSIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373847</attachid>
            <date>2019-07-10 10:38:51 -0700</date>
            <delta_ts>2019-07-10 10:38:51 -0700</delta_ts>
            <desc>Patch for review</desc>
            <filename>04a.patch</filename>
            <type>text/plain</type>
            <size>16186</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MjNkYTdhMjNmNC4uNjY0NTMzZWMxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OCBAQAorMjAxOS0wNi0wOCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIG1hcmsgdGhlIHZhbHVlIG9mIGFuIFNW
R1Byb3BlcnR5IGFzICdJbnZhbGlkJworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk4Njk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU1ZHUHJvcGVydHkgY2FuIGJlIGluaXRpYWxpemVkIHdpdGggdGhlIGRl
ZmF1bHQgdmFsdWUuIE9yIGl0IGNhbiBiZSBzZXQKKyAgICAgICAgdG8gdGhlIGRlZmF1bHQgdmFs
dWUgYXMgYSBmYWxsIGJhY2sgb2YgcGFyc2luZyBlcnJvci4gTWFya2luZyB0aGUgc3RhdGUKKyAg
ICAgICAgdG8gJ0ludmFsaWQnIHdpbGwgYWxsb3cgZGlmZmVyZW50aWF0aW5nIGJldHdlZW4gdGhl
c2UgdHdvIGNhc2VzLgorCisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UpOgorICAgICAgICAqIHN2
Zy9TVkdGaXRUb1ZpZXdCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94
OjpTVkdGaXRUb1ZpZXdCb3gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94Ojpz
ZXRWaWV3Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpdFRvVmlld0JveDo6cmVzZXRWaWV3
Qm94KToKKyAgICAgICAgKiBzdmcvU1ZHRml0VG9WaWV3Qm94Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaXRUb1ZpZXdCb3g6OnNldFByZXNlcnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRml0VG9WaWV3Qm94OjpoYXNWYWxpZFZpZXdCb3ggY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpoYXNFbXB0eVZpZXdCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpyZXNldFByZXNlcnZlQXNwZWN0UmF0aW8pOgor
ICAgICAgICAqIHN2Zy9TVkdSZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZWN0OjpjcmVh
dGUpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVy
dHkuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3Bl
cnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c3RhdGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c2V0U3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6aXNEaXJ0eSBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQu
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1w
bC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eS5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5OjpTVkdBbmltYXRl
ZFZhbHVlUHJvcGVydHkpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3RhdGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUHJvcGVydHk6OnNldFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5OjpzeW5jaHJvbml6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6U1ZH
UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmlzRGlydHkgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OnNldERpcnR5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5OjpTVkdWYWx1ZVByb3BlcnR5KToKKwogMjAx
OS0wNi0wOCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgdGhlIG5vbiBmaW5hbCBwcm9wZXJ0eVJlZ2lzdHJ5KCkgZnJvbSB0aGUgU1ZHIGJhc2Ug
Y2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IDlkNGNiODcyMzk4Li5lMDNk
ZWNjMmU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNTg4LDcgKzU4OCw3IEBA
IHZvaWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3Bl
cnR5KQogICAgIC8vIFdlIHdhbnQgdG8gZGlydHkgdGhlIHRvcC1sZXZlbCBwcm9wZXJ0eSB3aGVu
IGEgZGVzY2VuZGFudCBjaGFuZ2VzLiBGb3IgZXhhbXBsZQogICAgIC8vIGEgY2hhbmdlIGluIGFu
IFNWR0xlbmd0aCBpdGVtIGluIFNWR0xlbmd0aExpc3Qgc2hvdWxkIHNldCB0aGUgZGlydHkgZmxh
ZyBvbgogICAgIC8vIFNWR0xlbmd0aExpc3QgYW5kIG5vdCB0aGUgU1ZHTGVuZ3RoLgotICAgIHBy
b3BlcnR5LT5zZXREaXJ0eSgpOworICAgIHByb3BlcnR5LT5zZXRTdGF0ZShTVkdQcm9wZXJ0eVN0
YXRlOjpEaXJ0eSk7CiAKICAgICBpbnZhbGlkYXRlU1ZHQXR0cmlidXRlcygpOwogICAgIHN2Z0F0
dHJpYnV0ZUNoYW5nZWQocHJvcGVydHlSZWdpc3RyeSgpLnByb3BlcnR5QXR0cmlidXRlTmFtZSgq
cHJvcGVydHkpKTsKQEAgLTYwMiw3ICs2MDIsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OmNvbW1pdFBy
b3BlcnR5Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmIGFuaW1hdGVkUHJvcGVydHkpCiAgICAg
Ly8gQSBjaGFuZ2UgaW4gYSBzdHlsZSBwcm9wZXJ0eSwgZS5nIFNWR1JlY3RFbGVtZW50Ojp4IHNo
b3VsZCBiZSBzZXJpYWxpemVkIHRvCiAgICAgLy8gdGhlIGF0dHJpYnV0ZSBpbW1lZGlhdGVseS4g
T3RoZXJ3aXNlIGl0IGlzIG9rYXkgdG8gYmUgbGF6eSBpbiB0aGlzIHJlZ2FyZC4KICAgICBpZiAo
IXByb3BlcnR5UmVnaXN0cnkoKS5pc0FuaW1hdGVkU3R5bGVQcm9wZXJ0eUF0dHJpYnV0ZShhdHRy
aWJ1dGVOYW1lKSkKLSAgICAgICAgYW5pbWF0ZWRQcm9wZXJ0eS5zZXREaXJ0eSgpOworICAgICAg
ICBhbmltYXRlZFByb3BlcnR5LnNldFN0YXRlKFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5KTsKICAg
ICBlbHNlCiAgICAgICAgIHNldFN5bmNocm9uaXplZExhenlBdHRyaWJ1dGUoYXR0cmlidXRlTmFt
ZSwgYW5pbWF0ZWRQcm9wZXJ0eS5iYXNlVmFsQXNTdHJpbmcoKSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZpdFRvVmlld0JveC5jcHAKaW5kZXggYmJiMjk3OGE0MGIuLjNlMzc4MDBiZWMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveChTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQotICAgIDog
bV92aWV3Qm94KFNWR0FuaW1hdGVkUmVjdDo6Y3JlYXRlKGNvbnRleHRFbGVtZW50LCBhY2Nlc3Mp
KQorICAgIDogbV92aWV3Qm94KFNWR0FuaW1hdGVkUmVjdDo6Y3JlYXRlKGNvbnRleHRFbGVtZW50
LCBhY2Nlc3MsIFNWR1Byb3BlcnR5U3RhdGU6OkludmFsaWQpKQogICAgICwgbV9wcmVzZXJ2ZUFz
cGVjdFJhdGlvKFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKGNvbnRleHRF
bGVtZW50LCBhY2Nlc3MpKQogewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsK
QEAgLTQ4LDEzICs0OCwxMyBAQCBTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveChTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYQogdm9pZCBTVkdGaXRU
b1ZpZXdCb3g6OnNldFZpZXdCb3goY29uc3QgRmxvYXRSZWN0JiB2aWV3Qm94KQogewogICAgIG1f
dmlld0JveC0+c2V0QmFzZVZhbEludGVybmFsKHZpZXdCb3gpOwotICAgIG1faXNWaWV3Qm94VmFs
aWQgPSB0cnVlOworICAgIG1fdmlld0JveC0+c2V0U3RhdGUoU1ZHUHJvcGVydHlTdGF0ZTo6Q2xl
YW4pOwogfQogCiB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cmVzZXRWaWV3Qm94KCkKIHsKICAgICBt
X3ZpZXdCb3gtPnNldEJhc2VWYWxJbnRlcm5hbCh7IH0pOwotICAgIG1faXNWaWV3Qm94VmFsaWQg
PSBmYWxzZTsKKyAgICBtX3ZpZXdCb3gtPnNldFN0YXRlKFNWR1Byb3BlcnR5U3RhdGU6OkludmFs
aWQpOwogfQogCiB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZpdFRvVmlld0JveC5oCmluZGV4IGRiNTYwMDJjNDU1Li5iMzExZjRiYTIyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtNDYsMzIgKzQ2LDMxIEBAIHB1YmxpYzoKICAg
ICBTVkdBbmltYXRlZFJlY3QmIHZpZXdCb3hBbmltYXRlZCgpIHsgcmV0dXJuIG1fdmlld0JveDsg
fQogICAgIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyYgcHJlc2VydmVBc3BlY3RSYXRp
b0FuaW1hdGVkKCkgeyByZXR1cm4gbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvOyB9CiAKKyAgICBTdHJp
bmcgdmlld0JveFN0cmluZygpIGNvbnN0IHsgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0
UmVjdD46OnRvU3RyaW5nKHZpZXdCb3goKSk7IH0KKyAgICBTdHJpbmcgcHJlc2VydmVBc3BlY3RS
YXRpb1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIHByZXNlcnZlQXNwZWN0UmF0aW8oKS52YWx1ZUFz
U3RyaW5nKCk7IH0KICAgICB2b2lkIHNldFZpZXdCb3goY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAg
dm9pZCByZXNldFZpZXdCb3goKTsKIAogICAgIHZvaWQgc2V0UHJlc2VydmVBc3BlY3RSYXRpbyhj
b25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUmIHByZXNlcnZlQXNwZWN0UmF0aW8pIHsg
bV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLT5zZXRCYXNlVmFsSW50ZXJuYWwocHJlc2VydmVBc3BlY3RS
YXRpbyk7IH0KLSAgICB2b2lkIHJlc2V0UHJlc2VydmVBc3BlY3RSYXRpbygpIHsgbV9wcmVzZXJ2
ZUFzcGVjdFJhdGlvLT5zZXRCYXNlVmFsSW50ZXJuYWwoeyB9KTsgfQotCi0gICAgU3RyaW5nIHZp
ZXdCb3hTdHJpbmcoKSBjb25zdCB7IHJldHVybiBTVkdQcm9wZXJ0eVRyYWl0czxGbG9hdFJlY3Q+
Ojp0b1N0cmluZyh2aWV3Qm94KCkpOyB9Ci0gICAgU3RyaW5nIHByZXNlcnZlQXNwZWN0UmF0aW9T
dHJpbmcoKSBjb25zdCB7IHJldHVybiBwcmVzZXJ2ZUFzcGVjdFJhdGlvKCkudmFsdWVBc1N0cmlu
ZygpOyB9CisgICAgdm9pZCByZXNldCgpOwogCi0gICAgYm9vbCBoYXNWYWxpZFZpZXdCb3goKSBj
b25zdCB7IHJldHVybiBtX2lzVmlld0JveFZhbGlkOyB9Ci0gICAgYm9vbCBoYXNFbXB0eVZpZXdC
b3goKSBjb25zdCB7IHJldHVybiBtX2lzVmlld0JveFZhbGlkICYmIHZpZXdCb3goKS5pc0VtcHR5
KCk7IH0KKyAgICBib29sIGhhc1ZhbGlkVmlld0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld0Jv
eC0+c3RhdGUoKSAhPSBTVkdQcm9wZXJ0eVN0YXRlOjpJbnZhbGlkOyB9CisgICAgYm9vbCBoYXNF
bXB0eVZpZXdCb3goKSBjb25zdCB7IHJldHVybiBoYXNWYWxpZFZpZXdCb3goKSAmJiB2aWV3Qm94
KCkuaXNFbXB0eSgpOyB9CiAKIHByb3RlY3RlZDoKICAgICBTVkdGaXRUb1ZpZXdCb3goU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQsIFNWR1Byb3BlcnR5QWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nl
c3M6OlJlYWRXcml0ZSk7CiAKICAgICBzdGF0aWMgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIHsgcmV0dXJuIFByb3BlcnR5UmVnaXN0cnk6
OmlzS25vd25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7IH0KIAotICAgIHZvaWQgcmVzZXQoKTsK
ICAgICBPcHRpb25hbDxTVkdQYXJzaW5nRXJyb3I+IHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICBTVkdQYXJzaW5nRXJyb3IgcGFy
c2VWaWV3Qm94KGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEZsb2F0UmVjdCYgdmlld0JveCk7
CiAgICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIHN0YXJ0LCBj
b25zdCBVQ2hhciogZW5kLCBGbG9hdFJlY3QmIHZpZXdCb3gpOwogCiBwcml2YXRlOgorICAgIHZv
aWQgcmVzZXRWaWV3Qm94KCk7CisgICAgdm9pZCByZXNldFByZXNlcnZlQXNwZWN0UmF0aW8oKSB7
IG1fcHJlc2VydmVBc3BlY3RSYXRpby0+c2V0QmFzZVZhbEludGVybmFsKHsgfSk7IH0KKwogICAg
IFJlZjxTVkdBbmltYXRlZFJlY3Q+IG1fdmlld0JveDsKICAgICBSZWY8U1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvPiBtX3ByZXNlcnZlQXNwZWN0UmF0aW87Ci0gICAgYm9vbCBtX2lzVmll
d0JveFZhbGlkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUmVjdC5oCmluZGV4IDkwMDE4ZTE4NmIxLi40MmY3OTM3NTAyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVj
dC5oCkBAIC00MSw2ICs0MSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR1JlY3Qob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKICAgICB9CiAKKyAgICBzdGF0aWMg
UmVmPFNWR1JlY3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlB
Y2Nlc3MgYWNjZXNzLCBTVkdQcm9wZXJ0eVN0YXRlIHN0YXRlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdChvd25lciwgYWNjZXNzLCBzdGF0ZSkpOworICAgIH0K
KwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxT
VkdSZWN0Pj4gY3JlYXRlKEV4Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCiAgICAgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9w
ZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0
ZWRQcm9wZXJ0eS5oCmluZGV4IGU1ZWZhYWVhNzExLi5iYWRmYjllYTRmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3Jh
dGVkUHJvcGVydHkuaApAQCAtOTcsOCArOTcsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8g
TWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERp
cnR5KCkgb3ZlcnJpZGUgeyBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7IH0KLSAg
ICBib29sIGlzRGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlID09IFNWR1By
b3BlcnR5U3RhdGU6OkRpcnR5OyB9CisgICAgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICB2b2lkIHNldFN0YXRlKFNWR1Byb3Bl
cnR5U3RhdGUgc3RhdGUpIG92ZXJyaWRlIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CiAgICAgT3B0aW9u
YWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAobV9z
dGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaApp
bmRleCBjNDI1NjE5MjAwZC4uYTAyZWEyN2E1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmgK
QEAgLTg3LDggKzg3LDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIE1hbmFnaW5nIHRoZSBy
ZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3duZXIuCi0gICAgdm9pZCBzZXREaXJ0eSgpIG92ZXJyaWRl
IHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgYm9vbCBpc0RpcnR5
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpE
aXJ0eTsgfQorICAgIFNWR1Byb3BlcnR5U3RhdGUgc3RhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX3N0YXRlOyB9CisgICAgdm9pZCBzZXRTdGF0ZShTVkdQcm9wZXJ0eVN0YXRlIHN0YXRl
KSBvdmVycmlkZSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQogICAgIE9wdGlvbmFsPFN0cmluZz4gc3lu
Y2hyb25pemUoKSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKG1fc3RhdGUgPT0gU1ZHUHJv
cGVydHlTdGF0ZTo6Q2xlYW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdBbmltYXRlZFByb3BlcnR5LmgKaW5kZXggYzZmOTMyZTZkZjYuLjhhOWU5MTM4ZDBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3Bl
cnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eS5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgU3Ry
aW5nIGJhc2VWYWxBc1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KICAg
ICB2aXJ0dWFsIFN0cmluZyBhbmltVmFsQXNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0
cmluZygpOyB9Ci0gICAgCisKICAgICAvLyBDb250cm9sIHRoZSBzeW5jaHJvbml6YXRpb24gYmV0
d2VlbiB0aGUgYXR0cmlidXRlIGFuZCBpdHMgcmVmbGVjdGlvbiBpbiBiYXNlVmFsLgotICAgIHZp
cnR1YWwgYm9vbCBpc0RpcnR5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFs
IHZvaWQgc2V0RGlydHkoKSB7IH0KKyAgICB2aXJ0dWFsIFNWR1Byb3BlcnR5U3RhdGUgc3RhdGUo
KSBjb25zdCB7IHJldHVybiBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbjsgfQorICAgIHZpcnR1YWwg
dm9pZCBzZXRTdGF0ZShTVkdQcm9wZXJ0eVN0YXRlKSB7IH0KICAgICB2aXJ0dWFsIE9wdGlvbmFs
PFN0cmluZz4gc3luY2hyb25pemUoKSB7IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KICAgICAKICAg
ICAvLyBDb250cm9sIHRoZSBhbmltYXRpb24gbGlmZSBjeWNsZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oCmluZGV4
IGY0MjU1ZDdmNmU3Li4wNzdjODM3ZGY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oCkBAIC02OCw4ICs2OCw4
IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlwIHdp
dGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZhbC0+
c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9CisgICAgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3RhdGUoKTsgfQorICAgIHZvaWQgc2V0
U3RhdGUoU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSkgb3ZlcnJpZGUgeyBtX2Jhc2VWYWwtPnNldFN0
YXRlKHN0YXRlKTsgfQogICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlk
ZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNocm9uaXplKCk7IH0KIAogICAgIC8vIFVzZWQgYnkg
UmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3Nvcklt
cGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQ
YWlyQWNjZXNzb3JJbXBsLmgKaW5kZXggZDQ3ZTRhZTU1NzkuLjI5N2YwZWZjNGNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5UGFp
ckFjY2Vzc29ySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVy
VHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBib29sIGRpcnR5MSA9IHBy
b3BlcnR5MShvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBkaXJ0eTIgPSBwcm9wZXJ0
eTIob3duZXIpLT5pc0RpcnR5KCk7CisgICAgICAgIGJvb2wgZGlydHkxID0gcHJvcGVydHkxKG93
bmVyKS0+c3RhdGUoKSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsKKyAgICAgICAgYm9vbCBk
aXJ0eTIgPSBwcm9wZXJ0eTIob3duZXIpLT5zdGF0ZSgpID09IFNWR1Byb3BlcnR5U3RhdGU6OkRp
cnR5OwogICAgICAgICBpZiAoIShkaXJ0eTEgfHwgZGlydHkyKSkKICAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiAKQEAgLTg1LDggKzg1LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVyVHlwZSYgb3duZXIpIGNv
bnN0IGZpbmFsCiAgICAgewotICAgICAgICBib29sIGRpcnR5MSA9IHByb3BlcnR5MShvd25lcikt
PmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBkaXJ0eTIgPSBwcm9wZXJ0eTIob3duZXIpLT5pc0Rp
cnR5KCk7CisgICAgICAgIGJvb2wgZGlydHkxID0gcHJvcGVydHkxKG93bmVyKS0+c3RhdGUoKSA9
PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsKKyAgICAgICAgYm9vbCBkaXJ0eTIgPSBwcm9wZXJ0
eTIob3duZXIpLT5zdGF0ZSgpID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OwogICAgICAgICBp
ZiAoIShkaXJ0eTEgfHwgZGlydHkyKSkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAKQEAgLTEyMCw4ICsxMjAsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIE9wdGlvbmFsPFN0
cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKICAg
ICB7Ci0gICAgICAgIGJvb2wgZGlydHkxID0gcHJvcGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwot
ICAgICAgICBib29sIGRpcnR5MiA9IHByb3BlcnR5Mihvd25lciktPmlzRGlydHkoKTsKKyAgICAg
ICAgYm9vbCBkaXJ0eTEgPSBwcm9wZXJ0eTEob3duZXIpLT5zdGF0ZSgpID09IFNWR1Byb3BlcnR5
U3RhdGU6OkRpcnR5OworICAgICAgICBib29sIGRpcnR5MiA9IHByb3BlcnR5Mihvd25lciktPnN0
YXRlKCkgPT0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7CiAgICAgICAgIGlmICghKGRpcnR5MSB8
fCBkaXJ0eTIpKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVy
dHkuaAppbmRleCBkZmRiMTcxYTBjYi4uNjEyNzM0MGM0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eS5oCkBA
IC04NCw4ICs4NCw4IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVs
YXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7
IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9CisgICAgU1ZHUHJvcGVydHlTdGF0
ZSBzdGF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3RhdGUoKTsgfQor
ICAgIHZvaWQgc2V0U3RhdGUoU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSkgb3ZlcnJpZGUgeyBtX2Jh
c2VWYWwtPnNldFN0YXRlKHN0YXRlKTsgfQogICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25p
emUoKSBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNocm9uaXplKCk7IH0KIAogICAg
IC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5kZXJUcmVlLgpAQCAtMTQy
LDYgKzE0MiwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KIAorICAgIFNWR0FuaW1hdGVk
VmFsdWVQcm9wZXJ0eShTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nl
c3MgYWNjZXNzLCBTVkdQcm9wZXJ0eVN0YXRlIHN0YXRlKQorICAgICAgICA6IFNWR0FuaW1hdGVk
UHJvcGVydHkoY29udGV4dEVsZW1lbnQpCisgICAgICAgICwgbV9iYXNlVmFsKFByb3BlcnR5VHlw
ZTo6Y3JlYXRlKHRoaXMsIGFjY2Vzcywgc3RhdGUpKQorICAgIHsKKyAgICB9CisKICAgICBSZWZQ
dHI8UHJvcGVydHlUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAgewogICAgICAgICBpZiAoIW1f
YW5pbVZhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1By
b3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oCmlu
ZGV4IGNlNjVjYjExMGQxLi5jNzAxZWZmMDk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdQcm9wZXJ0eS5oCkBAIC0yOCw3ICsyOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGVudW0gY2xhc3MgU1ZHUHJvcGVydHlBY2Nlc3MgOiB1aW50OF90IHsgUmVhZFdyaXRl
LCBSZWFkT25seSB9OwotZW51bSBjbGFzcyBTVkdQcm9wZXJ0eVN0YXRlIDogdWludDhfdCB7IENs
ZWFuLCBEaXJ0eSB9OworZW51bSBjbGFzcyBTVkdQcm9wZXJ0eVN0YXRlIDogdWludDhfdCB7IENs
ZWFuLCBEaXJ0eSwgSW52YWxpZCB9OwogCiBjbGFzcyBTVkdQcm9wZXJ0eSA6IHB1YmxpYyBSZWZD
b3VudGVkPFNWR1Byb3BlcnR5PiB7CiBwdWJsaWM6CkBAIC03MCwxMSArNzAsMTEgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzID09IFNWR1By
b3BlcnR5QWNjZXNzOjpSZWFkT25seTsgfQogCiAgICAgLy8gU3luY2hyb25pemluZyB0aGUgU1ZH
IGF0dHJpYnV0ZSBhbmQgaXRzIHJlZmxlY3Rpb24gaGVyZS4KLSAgICBib29sIGlzRGlydHkoKSBj
b25zdCB7IHJldHVybiBtX3N0YXRlID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAg
dm9pZCBzZXREaXJ0eSgpIHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Cisg
ICAgU1ZHUHJvcGVydHlTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAg
ICB2b2lkIHNldFN0YXRlKFNWR1Byb3BlcnR5U3RhdGUgc3RhdGUpIHsgbV9zdGF0ZSA9IHN0YXRl
OyB9CiAgICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpCiAgICAgewotICAgICAgICBp
ZiAobV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKKyAgICAgICAgaWYgKG1fc3Rh
dGUgIT0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHkpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogICAgICAgICBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW47CiAgICAg
ICAgIHJldHVybiB2YWx1ZUFzU3RyaW5nKCk7CkBAIC04OCw5ICs4OCwxMCBAQCBwdWJsaWM6CiAj
aWYgIUNPTVBJTEVSKE1TVkMpCiBwcm90ZWN0ZWQ6CiAjZW5kaWYKLSAgICBTVkdQcm9wZXJ0eShT
VkdQcm9wZXJ0eU93bmVyKiBvd25lciA9IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2Vz
cyA9IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUpCisgICAgU1ZHUHJvcGVydHkoU1ZHUHJv
cGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBT
VkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlLCBTVkdQcm9wZXJ0eVN0YXRlIHN0YXRlID0gU1ZH
UHJvcGVydHlTdGF0ZTo6Q2xlYW4pCiAgICAgICAgIDogbV9vd25lcihvd25lcikKICAgICAgICAg
LCBtX2FjY2VzcyhhY2Nlc3MpCisgICAgICAgICwgbV9zdGF0ZShzdGF0ZSkKICAgICB7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVBy
b3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5
LmgKaW5kZXggOWYzMWUyZDBmNTMuLjU1OWZiZjUxZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oCkBAIC02NCw4ICs2NCw4IEBAIHBy
b3RlY3RlZDoKICAgICB9CiAKICAgICAvLyBCYXNlIGFuZCBkZWZhdWx0IGNvbnN0cnVjdG9yLiBE
byBub3QgdXNlICJ1c2luZyBTVkdQcm9wZXJ0eTo6U1ZHUHJvcGVydHkiIGJlY2F1c2Ugb2YgV2lu
ZG93cyBhbmQgR1RLIHBvcnRzLgotICAgIFNWR1ZhbHVlUHJvcGVydHkoU1ZHUHJvcGVydHlPd25l
ciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0
eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAgICA6IFNWR1Byb3BlcnR5KG93bmVyLCBhY2Nlc3Mp
CisgICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciA9IG51bGxwdHIs
IFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcyA9IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUs
IFNWR1Byb3BlcnR5U3RhdGUgc3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKKyAgICAg
ICAgOiBTVkdQcm9wZXJ0eShvd25lciwgYWNjZXNzLCBzdGF0ZSkKICAgICB7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="389635"
          type_id="1"
          status="?"
          setter="sabouhallawa"
    />
          </attachment>
      

    </bug>

</bugzilla>