<?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>184768</bug_id>
          
          <creation_ts>2018-04-18 19:55:24 -0700</creation_ts>
          <short_desc>Introduce SVGGeometryElement interface</short_desc>
          <delta_ts>2018-11-05 18:51:53 -0800</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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=184767</see_also>
          <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>
          
          <blocked>191292</blocked>
    
    <blocked>184767</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>koivisto</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1415832</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2018-04-18 19:55:24 -0700</bug_when>
    <thetext>Start implementing SVGGeometryElement interface for path. No new functionality, just different inheritance. Add a fix for getPointAtLength (follow spec and web more restrictive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415835</commentid>
    <comment_count>1</comment_count>
      <attachid>338299</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2018-04-18 20:01:52 -0700</bug_when>
    <thetext>Created attachment 338299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416135</commentid>
    <comment_count>2</comment_count>
      <attachid>338385</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2018-04-19 17:22:43 -0700</bug_when>
    <thetext>Created attachment 338385
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416144</commentid>
    <comment_count>3</comment_count>
      <attachid>338385</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-19 18:00:46 -0700</bug_when>
    <thetext>Comment on attachment 338385
Patch for landing

Clearing flags on attachment: 338385

Committed r230829: &lt;https://trac.webkit.org/changeset/230829&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416145</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-19 18:00:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416146</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-19 18:03:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/39583614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434042</commentid>
    <comment_count>6</comment_count>
      <attachid>338385</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-06-18 10:15:43 -0700</bug_when>
    <thetext>Comment on attachment 338385
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=338385&amp;action=review

&gt; Source/WebCore/svg/SVGGeometryElement.cpp:85
&gt; +    InstanceInvalidationGuard guard(*this);

This actually does nothing.

&gt; Source/WebCore/svg/SVGGeometryElement.idl:28
&gt; +    readonly attribute SVGAnimatedNumber pathLength; // FIXME: Should be [SameObject].

According to https://www.w3.org/TR/2014/WD-SVG2-20140211/single-page.html#types-InterfaceSVGGeometryElement, the SVGGeometryElement does not include the member pathLength. I do not understand why this member is included here.

&gt; Source/WebCore/svg/SVGPathElement.idl:-28
&gt; -    readonly attribute SVGAnimatedNumber pathLength;

According to https://www.w3.org/TR/2014/WD-SVG2-20140211/single-page.html#paths-InterfaceSVGPathElement, the SVGPathElement still has the member pathLength. I am not sure why this member was moved from SVGPathElement to SVGGeometryElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1434854</commentid>
    <comment_count>7</comment_count>
      <attachid>338385</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-06-20 11:32:41 -0700</bug_when>
    <thetext>Comment on attachment 338385
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=338385&amp;action=review

&gt;&gt; Source/WebCore/svg/SVGGeometryElement.idl:28
&gt;&gt; +    readonly attribute SVGAnimatedNumber pathLength; // FIXME: Should be [SameObject].
&gt; 
&gt; According to https://www.w3.org/TR/2014/WD-SVG2-20140211/single-page.html#types-InterfaceSVGGeometryElement, the SVGGeometryElement does not include the member pathLength. I do not understand why this member is included here.

I was wrong.Here I the correct link for the specs: https://svgwg.org/svg2-draft/types.html#InterfaceSVGGeometryElement.

&gt;&gt; Source/WebCore/svg/SVGPathElement.idl:-28
&gt;&gt; -    readonly attribute SVGAnimatedNumber pathLength;
&gt; 
&gt; According to https://www.w3.org/TR/2014/WD-SVG2-20140211/single-page.html#paths-InterfaceSVGPathElement, the SVGPathElement still has the member pathLength. I am not sure why this member was moved from SVGPathElement to SVGGeometryElement.

I was wrong. Here is the correct link for the specs: https://svgwg.org/svg2-draft/paths.html#InterfaceSVGPathElement.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338299</attachid>
            <date>2018-04-18 20:01:52 -0700</date>
            <delta_ts>2018-04-19 17:22:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184768-20180419083149.patch</filename>
            <type>text/plain</type>
            <size>29132</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRlNjQ3MjIxNzdhNmE2
ODQ1ZmIwMjg0OGM2ZjVlYTI3MDU3ZDgxNS4uMTA5MjM0MzVlY2QyZDQ2ZjEwOTcwMjQ4MTg3YWIx
MmZjOWRmZTE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTA0LTE4ICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmJraXQub3JnPgorCisgICAgICAgIEludHJvZHVjZSBTVkdHZW9t
ZXRyeUVsZW1lbnQgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODQ3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTdGFydCBpbXBsZW1lbnRpbmcgU1ZHR2VvbWV0cnlFbGVtZW50IGludGVy
ZmFjZSBmcm9tIFNWRzIuCisgICAgICAgIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvdHlw
ZXMuaHRtbCNJbnRlcmZhY2VTVkdHZW9tZXRyeUVsZW1lbnQKKworICAgICAgICBTdGFydCB3aXRo
IFNWR1BhdGhFbGVtZW50IG9ubHkgZm9yIG5vdy4gQWxzbywganVzdCBpbmZlcmZhY2UgZ2V0cyBp
bXBsZW1lbnRlZAorICAgICAgICBieSB0aGlzIHBhdGNoLiBObyBuZXcgZnVuY3Rpb25hbGl0eSBs
aWtlIGlzUG9pbnRJbkZpbGwgeWV0LgorICAgICAgICBGaXggZ2V0UG9pbnRBdExlbmd0aCBhbmQg
bWFrZSBpdCBtb3JlIHJlc3RyaWN0aXZlLiBUaGlzIGZvbGxvd3MgdGhlIHNwZWMgYW5kCisgICAg
ICAgIGFsbCBvdGhlciBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgQWRkZWQgYWRkaXRpb25h
bCB0ZXN0IHNjZW5hcmlvcyB0byBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0
R251VlRhYmxlT2Zmc2V0Rm9yVHlwZSk6CisgICAgICAgICogc3ZnL1NWR0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBzdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OlNWR0dlb21ldHJ5RWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0dlb21ldHJ5RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHR2VvbWV0cnlFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0dlb21ldHJ5RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRl
cmVyKToKKyAgICAgICAgKiBzdmcvU1ZHR2VvbWV0cnlFbGVtZW50Lmg6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvU1ZH
R3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOgorICAgICAgICAq
IHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5pZGw6
CisKIDIwMTgtMDQtMTYgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV2ViIEFuaW1hdGlvbnNdIEVuc3VyZSB3ZSBuZXZlciByZXR1cm4gLTAgdGhyb3VnaCB0
aGUgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDdhOGExMmRmNTA0YjVjNDljMDBmMTkxNDJi
MTVlNWZiM2E1MDIyYmEuLjg3NDBkMWE4ZjBiYmZlOWFmZTFhYTI0YjI3MmNjZTMwYzAyNWE3Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05MzksNiArOTM5LDcgQEAgc2V0KFdlYkNvcmVfU1ZH
X0lETF9GSUxFUwogICAgIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaWRsCiAgICAgc3ZnL1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LmlkbAogICAgIHN2Zy9TVkdHRWxlbWVudC5pZGwKKyAgICBz
dmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbAogICAgIHN2Zy9TVkdHbHlwaEVsZW1lbnQuaWRsCiAg
ICAgc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5pZGwKICAgICBzdmcvU1ZHR3JhZGllbnRFbGVtZW50
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjVkMGU1ZDJjM2VmMDhiNDZi
NzI2MzljNmE0OTNhN2I5Nzg2MzFiZC4uYjVlZWE5MzhmN2YzZmY4ZDQ1NDkxZDdiYWIzN2EyYjcz
NGYxNjVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04NjcsNiArODY3LDcg
QEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR0ZvbnRGYWNlVXJp
RWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHR0VsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdH
bHlwaEVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggYTU3YmIyZDJmNzViMjkxOWRkYzlkOWNmY2JiMzEyZWU3NjAzOTU5YS4uMzhm
ZGUyMTk5YjhhOWNjMGFjNWNhMTA3YjE2ZTQyZmI2NzgyZWJhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTIxNDQsNiArMjE0NCw3IEBAIHN2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuY3BwCiBzdmcvU1ZH
Rm9udEZhY2VVcmlFbGVtZW50LmNwcAogc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAog
c3ZnL1NWR0dFbGVtZW50LmNwcAorc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKIHN2Zy9TVkdH
bHlwaEVsZW1lbnQuY3BwCiBzdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcAogc3ZnL1NWR0dyYWRp
ZW50RWxlbWVudC5jcHAKQEAgLTI5MTcsNiArMjkxOCw3IEBAIEpTU1ZHRm9udEZhY2VTcmNFbGVt
ZW50LmNwcAogSlNTVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCiBKU1NWR0ZvcmVpZ25PYmplY3RF
bGVtZW50LmNwcAogSlNTVkdHRWxlbWVudC5jcHAKK0pTU1ZHR2VvbWV0cnlFbGVtZW50LmNwcAog
SlNTVkdHbHlwaEVsZW1lbnQuY3BwCiBKU1NWR0dseXBoUmVmRWxlbWVudC5jcHAKIEpTU1ZHR3Jh
ZGllbnRFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGNmNjA1NjcxMmRmZGE1YjNlODg1NzZmMTYwM2IwODgwYjg3
YzgxOWMuLmNhNzk1M2RlYzVmMDBjM2FjN2UxMmRkYmMzZmYzZWU2NmFkOWJkYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ4
MTIsNiArNDgxMiw4IEBACiAJCUZBQkU3MkY3MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVz
ZW50YXRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxl
bWVudC5oICovOyB9OwogCQlGQUJFNzJGOTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZB
QkU3MkYyMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovOyB9OwogCQlG
QUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIxMTAwRDk5OURE
IC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKKwkJRkIyNzNFODIyMDg2RTZDNzAwQTU0RTg3IC8q
IFNWR0dlb21ldHJ5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkIyNzNFN0YyMDg2RTZBMzAwQTU0RTg3IC8qIFNWR0dlb21ldHJ5RWxlbWVu
dC5oICovOyB9OworCQlGQjI3M0U4NTIwODZFNzREMDBBNTRFODcgLyogSlNTVkdHZW9tZXRyeUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZC
MjczRTg0MjA4NkU3M0UwMEE1NEU4NyAvKiBKU1NWR0dlb21ldHJ5RWxlbWVudC5oICovOyB9Owog
CQlGQjJDMTVDMzE2NUQ2NDlEMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCMkMxNUMy
MTY1RDY0OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZCMzA1NkMyMTY5RTVE
QUMwMDk2QTIzMiAvKiBDU1NHcm91cGluZ1J1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCMzA1NkMxMTY5RTVEQUMwMDk2QTIzMiAvKiBDU1NHcm91
cGluZ1J1bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlGQjQ4NEY0RDE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ4NEY0QjE3MUY4
MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggKi87IH07CkBAIC0xNDUwMyw2ICsx
NDUwNSwxMSBAQAogCQlGQUJFNzJGMzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gbWF0aHRhZ3MuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUZBQkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxFbGVtZW50RmFj
dG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBQkU3MkZDMTA1OUMyMTEw
MEQ5OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNYXRoTUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZC
MjczRTdFMjA4NkU2QTMwMEE1NEU4NyAvKiBTVkdHZW9tZXRyeUVsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHR2VvbWV0cnlFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkIyNzNFN0YyMDg2RTZBMzAwQTU0RTg3IC8qIFNW
R0dlb21ldHJ5RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdH
ZW9tZXRyeUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkIyNzNFODAy
MDg2RTZBMzAwQTU0RTg3IC8qIFNWR0dlb21ldHJ5RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU1ZHR2VvbWV0cnlFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkIyNzNFODMyMDg2RTczRTAwQTU0RTg3IC8qIEpTU1ZHR2VvbWV0cnlFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHR2VvbWV0cnlFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQlGQjI3M0U4NDIwODZFNzNF
MDBBNTRFODcgLyogSlNTVkdHZW9tZXRyeUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNTVkdHZW9tZXRyeUVsZW1lbnQuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQlGQjJDMTVDMjE2NUQ2NDkwMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRS
ZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU1ZHRG9j
dW1lbnRSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkIzMDU2QzEx
NjlFNURBQzAwOTZBMjMyIC8qIENTU0dyb3VwaW5nUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NHcm91cGluZ1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkI0ODRGNEExNzFGODIxRTAwMDQwNzU1IC8qIFRyYW5zZm9ybUZ1bmN0aW9ucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1GdW5jdGlvbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE5MDcsNiArMjE5MTQsOCBAQAog
CQkJCUIyRkEzQ0IxMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmggKi8sCiAJCQkJQjJGQTNDQjIwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHR0VsZW1lbnQuY3Bw
ICovLAogCQkJCUIyRkEzQ0IzMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0dFbGVtZW50LmggKi8s
CisJCQkJRkIyNzNFODMyMDg2RTczRTAwQTU0RTg3IC8qIEpTU1ZHR2VvbWV0cnlFbGVtZW50LmNw
cCAqLywKKwkJCQlGQjI3M0U4NDIwODZFNzNFMDBBNTRFODcgLyogSlNTVkdHZW9tZXRyeUVsZW1l
bnQuaCAqLywKIAkJCQlCMjdCMjgyMTBDRUYwQzA3MDBEMzlENTQgLyogSlNTVkdHbHlwaEVsZW1l
bnQuY3BwICovLAogCQkJCUIyN0IyODIyMENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0dseXBoRWxl
bWVudC5oICovLAogCQkJCTI0RDkxMjk3MTNDQTk2REUwMEQyMTkxNSAvKiBKU1NWR0dseXBoUmVm
RWxlbWVudC5jcHAgKi8sCkBAIC0yMjg1OSw2ICsyMjg2OCw5IEBACiAJCQkJQjIyMjc4OTAwRDAw
QkYyMDAwNzFCNzgyIC8qIFNWR0dFbGVtZW50LmNwcCAqLywKIAkJCQlCMjIyNzg5MTBEMDBCRjIw
MDA3MUI3ODIgLyogU1ZHR0VsZW1lbnQuaCAqLywKIAkJCQlCMjIyNzg5MjBEMDBCRjIwMDA3MUI3
ODIgLyogU1ZHR0VsZW1lbnQuaWRsICovLAorCQkJCUZCMjczRTdFMjA4NkU2QTMwMEE1NEU4NyAv
KiBTVkdHZW9tZXRyeUVsZW1lbnQuY3BwICovLAorCQkJCUZCMjczRTdGMjA4NkU2QTMwMEE1NEU4
NyAvKiBTVkdHZW9tZXRyeUVsZW1lbnQuaCAqLywKKwkJCQlGQjI3M0U4MDIwODZFNkEzMDBBNTRF
ODcgLyogU1ZHR2VvbWV0cnlFbGVtZW50LmlkbCAqLywKIAkJCQlCMkExRjJBNDBDRUYwQUJGMDA0
NDJGNkEgLyogU1ZHR2x5cGhFbGVtZW50LmNwcCAqLywKIAkJCQlCMkExRjJBNTBDRUYwQUJGMDA0
NDJGNkEgLyogU1ZHR2x5cGhFbGVtZW50LmggKi8sCiAJCQkJQjJBMUYyQTYwQ0VGMEFCRjAwNDQy
RjZBIC8qIFNWR0dseXBoRWxlbWVudC5pZGwgKi8sCkBAIC0yODcxMiw2ICsyODcyNCw3IEBACiAJ
CQkJQTgzQjc4RkMwQ0NBRkYxNTAwMEIwODI1IC8qIEpTU1ZHRm9udEZhY2VVcmlFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEOUIwQUI3NUE2RjAw
MEU1QUM0IC8qIEpTU1ZHR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCMjczRTg1MjA4
NkU3NEQwMEE1NEU4NyAvKiBKU1NWR0dlb21ldHJ5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjI3QjI4MjgwQ0VGMEMwNzAwRDM5RDU0IC8qIEpTU1ZHR2x5cGhFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyNEQ5MTI5QTEzQ0E5NzE0MDBEMjE5MTUgLyogSlNTVkdHbHlwaFJlZkVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDlEMEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0dyYWRpZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDExMyw2ICszMDEyNiw3
IEBACiAJCQkJQjIyMjdBMjEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0ZvbnRGYWNlVXJpRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBMjQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0EyNzBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCMjczRTgyMjA4
NkU2QzcwMEE1NEU4NyAvKiBTVkdHZW9tZXRyeUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyQTFGMkFFMENFRjBBQkYwMDQ0MkY2QSAvKiBTVkdHbHlwaEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTI0RDkxMkJFMTNDQTlBOTcwMEQyMTkxNSAvKiBTVkdHbHlwaFJlZkVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTJBMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdHcmFk
aWVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxMGY4NzczMWQ4ZDEzNWI2ZmM0
YjZiMDBkMTg2YzM2YmNhYmFhZjQ2Li5lZTExZDUzNGZkZDE3MjUwODMxODM4MDM0MTFiNGU3ZDZm
MThmMGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtMzU1MSw2ICszNTUxLDcgQEAgc3ViIEdldEdudVZUYWJsZU9mZnNl
dEZvclR5cGUKICAgICAgICAgfHwgJHR5cGVuYW1lIGVxICJTVkdQb2x5bGluZUVsZW1lbnQiCiAg
ICAgICAgIHx8ICR0eXBlbmFtZSBlcSAiU1ZHUmVjdEVsZW1lbnQiCiAgICAgICAgIHx8ICR0eXBl
bmFtZSBlcSAiU1ZHU1ZHRWxlbWVudCIKKyAgICAgICAgfHwgJHR5cGVuYW1lIGVxICJTVkdHZW9t
ZXRyeUVsZW1lbnQiCiAgICAgICAgIHx8ICR0eXBlbmFtZSBlcSAiU1ZHR3JhcGhpY3NFbGVtZW50
IgogICAgICAgICB8fCAkdHlwZW5hbWUgZXEgIlNWR1N3aXRjaEVsZW1lbnQiCiAgICAgICAgIHx8
ICR0eXBlbmFtZSBlcSAiU1ZHVGV4dEVsZW1lbnQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNw
cAppbmRleCAwMWE4NTQzMGM0OGRhZDlkYmQ3MDkwZmNlNWIyYzI0ODY3YmUwZDhkLi5kMzNmNDVk
ZWE3NjMxZGEzNzZhMjA4ZWI2MzRhYTYxYTg5ZGY0Y2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJ
bk9uZS5jcHAKQEAgLTEwMiw2ICsxMDIsNyBAQAogI2luY2x1ZGUgIlNWR0ZvbnRGYWNlVXJpRWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIlNWR0dFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJTVkdHZW9tZXRyeUVsZW1lbnQuY3BwIgog
I2luY2x1ZGUgIlNWR0dseXBoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZHR2x5cGhSZWZFbGVt
ZW50LmNwcCIKICNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmI2MmFmNzc3NThlYWU2
ZGJkZjg5MDI0MzI2OTI2OGM4YzY4NDY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCBBZG9iZSBTeXN0
ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlNWR0dlb21ldHJ5RWxlbWVudC5oIgorCisjaW5jbHVkZSAiUmVuZGVyU1ZH
UGF0aC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCisjaW5jbHVkZSAiU1ZHTVBhdGhFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKKyNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAi
U1ZHUG9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChTVkdHZW9tZXRyeUVsZW1lbnQpOworCisvLyBBbmltYXRlZCBw
cm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdHZW9tZXRyeUVs
ZW1lbnQsIFNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0ciwgUGF0aExlbmd0aCwgcGF0aExlbmd0aCkK
KworQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdHZW9tZXRyeUVsZW1lbnQp
CisgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkocGF0aExlbmd0aCkKKyAgICBS
RUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdHcmFwaGljc0VsZW1lbnQpCitF
TkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUworCitTVkdHZW9tZXRyeUVsZW1lbnQ6OlNW
R0dlb21ldHJ5RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYg
ZG9jdW1lbnQpCisgICAgOiBTVkdHcmFwaGljc0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7
CisgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdHZW9tZXRyeUVsZW1lbnQoKTsK
K30KKworYm9vbCBTVkdHZW9tZXRyeUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIHN1cHBv
cnRlZEF0dHJpYnV0ZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10geworICAgICAgICBIYXNoU2V0
PFF1YWxpZmllZE5hbWU+IHNldDsKKyAgICAgICAgU1ZHTGFuZ1NwYWNlOjphZGRTdXBwb3J0ZWRB
dHRyaWJ1dGVzKHNldCk7CisgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFk
ZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKKyAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjpw
YXRoTGVuZ3RoQXR0ci5nZXQoKSB9KTsKKyAgICAgICAgcmV0dXJuIHNldDsKKyAgICB9KCkpOwor
ICAgIHJldHVybiBzdXBwb3J0ZWRBdHRyaWJ1dGVzLmdldCgpLmNvbnRhaW5zPFNWR0F0dHJpYnV0
ZUhhc2hUcmFuc2xhdG9yPihhdHRyTmFtZSk7Cit9CisKK3ZvaWQgU1ZHR2VvbWV0cnlFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNT
dHJpbmcmIHZhbHVlKQoreworICAgIGlmIChuYW1lID09IFNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0
cikgeworICAgICAgICBzZXRQYXRoTGVuZ3RoQmFzZVZhbHVlKHZhbHVlLnRvRmxvYXQoKSk7Cisg
ICAgICAgIGlmIChwYXRoTGVuZ3RoQmFzZVZhbHVlKCkgPCAwKQorICAgICAgICAgICAgZG9jdW1l
bnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUg
Zm9yIHBhdGggYXR0cmlidXRlIDxwYXRoTGVuZ3RoPiBpcyBub3QgYWxsb3dlZCIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgU1ZHR3JhcGhpY3NFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShuYW1lLCB2YWx1ZSk7Cit9CisKK3ZvaWQgU1ZHR2VvbWV0cnlFbGVtZW50OjpzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQoreworICAgIGlmICghaXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ck5hbWUpKSB7CisgICAgICAgIFNWR0dyYXBoaWNzRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gU1ZHR2Vv
bWV0cnlFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwg
Y29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKK3sKKyAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyU1ZHUGF0aD4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5MzkxOTllYTExNmMyNTcy
NWE1MmQ0YTIxNzEyZWNiZDMzYmNkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBS
b2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFkb2JlIFN5c3Rl
bXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIlBhdGguaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKKyNpbmNsdWRl
ICJTVkdBbmltYXRlZE51bWJlci5oIgorI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQuaCIKKyNpbmNsdWRlICJTVkdHcmFwaGljc0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdO
YW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BvaW50OworCitjbGFz
cyBTVkdHZW9tZXRyeUVsZW1lbnQgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50IHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dlb21ldHJ5RWxlbWVudCk7CitwdWJsaWM6CisgICAg
CisgICAgdmlydHVhbCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIFJlZjxTVkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3Qg
PSAwOworCitwcm90ZWN0ZWQ6CisgICAgU1ZHR2VvbWV0cnlFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOworCisgICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAgIHZvaWQg
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CisKKyAg
ICBCRUdJTl9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHR2VvbWV0cnlFbGVtZW50KQor
ICAgICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihQYXRoTGVuZ3RoLCBwYXRoTGVuZ3RoKQor
ICAgIEVORF9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKKworICAgIFJlbmRlclB0cjxSZW5k
ZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFk
OThlMjNiZjUyYzA5MDI2MzQ1ZThmNWMzZGFiM2Y5MWRjODI3MDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbApAQCAtMCwwICsxLDM0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworLy8gW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFNWR0dlb21ldHJ5RWxl
bWVudCA6IFNWR0dyYXBoaWNzRWxlbWVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0Fu
aW1hdGVkTnVtYmVyIHBhdGhMZW5ndGg7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3Rd
LgorCisgICAgLy8gYm9vbGVhbiBpc1BvaW50SW5GaWxsKERPTVBvaW50SW5pdCBwb2ludCk7Cisg
ICAgLy8gYm9vbGVhbiBpc1BvaW50SW5TdHJva2UoRE9NUG9pbnRJbml0IHBvaW50KTsKKyAgICB1
bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKTsKKyAgICBbTmV3T2JqZWN0XSBTVkdQ
b2ludCBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCmluZGV4IDI5MmI2NDU4ODU5MjBjZDEwOGMyODhk
YmI3ODdiMGEwMWRhYzk3NDkuLmJiMmIwYjY5MzA5NDI2MjlhMGM1NWRkMWQwMTg0ZWQ1MmQzNGVh
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCkBAIC0yNCw3
ICsyNCw2IEBACiAKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXIuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdQYXRoLmgiCiAjaW5j
bHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oIgogI2luY2x1ZGUgIlJlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKaW5kZXggMjRkZWU4MzViYTkwNWY5ZjViOTM4
YTg2MzNiODNhMTczMzE5Mjc0YS4uMWRhYzE4YzVjYzFiYzM3ZWE4YTkxNjk3MTgwOWRhYjRmMzRh
ZDBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCkBAIC03OSwxMSArNzks
MTEgQEAgQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdQYXRoRWxlbWVudCkK
ICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShkKQogICAgIFJFR0lTVEVSX0xP
Q0FMX0FOSU1BVEVEX1BST1BFUlRZKHBhdGhMZW5ndGgpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5J
TUFURURfUFJPUEVSVFkoZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICBSRUdJU1RFUl9Q
QVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdHcmFwaGljc0VsZW1lbnQpCisgICAgUkVHSVNU
RVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHR2VvbWV0cnlFbGVtZW50KQogRU5EX1JF
R0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1BhdGhFbGVtZW50OjpTVkdQ
YXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1l
bnQpCi0gICAgOiBTVkdHcmFwaGljc0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBT
VkdHZW9tZXRyeUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX3BhdGhTZWdMaXN0
KFBhdGhTZWdVbmFsdGVyZWRSb2xlKQogICAgICwgbV9pc0FuaW1WYWxPYnNlcnZlZChmYWxzZSkK
IHsKQEAgLTI0MCwxNCArMjQwLDE0IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBTVkdHcmFwaGljc0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KG5hbWUsIHZhbHVlKTsKKyAgICBTVkdHZW9tZXRyeUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZUF0dHJp
YnV0ZShuYW1lLCB2YWx1ZSk7CiB9CiAKIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1
cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAgU1ZHR3JhcGhpY3NFbGVtZW50
OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKKyAgICAgICAgU1ZHR2VvbWV0cnlFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMjg2LDE0ICsyODYsMTQgQEAgdm9pZCBTVkdQYXRoRWxlbWVudDo6aW52YWxpZGF0
ZU1QYXRoRGVwZW5kZW5jaWVzKCkKIAogTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQg
U1ZHUGF0aEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUgaW5zZXJ0
aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYgcGFyZW50T2ZJbnNlcnRlZFRyZWUpCiB7Ci0gICAgU1ZH
R3JhcGhpY3NFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJl
bnRPZkluc2VydGVkVHJlZSk7CisgICAgU1ZHR2VvbWV0cnlFbGVtZW50OjppbnNlcnRlZEludG9B
bmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAgICAgaW52YWxp
ZGF0ZU1QYXRoRGVwZW5kZW5jaWVzKCk7CiAgICAgcmV0dXJuIEluc2VydGVkSW50b0FuY2VzdG9y
UmVzdWx0OjpEb25lOwogfQogCiB2b2lkIFNWR1BhdGhFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2Vz
dG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJl
bW92ZWRUcmVlKQogewotICAgIFNWR0dyYXBoaWNzRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3Rv
cihyZW1vdmFsVHlwZSwgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSk7CisgICAgU1ZHR2VvbWV0cnlF
bGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92
ZWRUcmVlKTsKICAgICBpbnZhbGlkYXRlTVBhdGhEZXBlbmRlbmNpZXMoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAppbmRleCBhNWE5YjhkZmQ3MDEzZjJkZGRjMDAwYzFlNThj
ZmFhOTU3MmQ5MDUxLi5iY2RmMTQ4ZTVlOGFlYzIwYjJlNTRjNjhhN2VmODIwYmUzMDViMzMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaApAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1
ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgotI2luY2x1ZGUgIlNW
R0dyYXBoaWNzRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0dlb21ldHJ5RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aEJ5dGVTdHJlYW0uaCIKICNpbmNs
dWRlICJTVkdQYXRoU2VnTGlzdFZhbHVlcy5oIgpAQCAtNTMsMTMgKzUzLDEzIEBAIGNsYXNzIFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsOwogY2xhc3MgU1ZHUGF0aFNlZ0xpc3Q7
CiBjbGFzcyBTVkdQb2ludDsKIAotY2xhc3MgU1ZHUGF0aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CitjbGFzcyBTVkdQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQs
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR1BhdGhFbGVtZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1Bh
dGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAg
Ci0gICAgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKSBjb25zdDsKLSAgICBSZWY8U1ZHUG9pbnQ+IGdl
dFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OworICAgIGZsb2F0IGdldFRvdGFs
TGVuZ3RoKCkgY29uc3QgZmluYWw7CisgICAgUmVmPFNWR1BvaW50PiBnZXRQb2ludEF0TGVuZ3Ro
KGZsb2F0IGRpc3RhbmNlKSBjb25zdCBmaW5hbDsKICAgICB1bnNpZ25lZCBnZXRQYXRoU2VnQXRM
ZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OwogCiAgICAgUmVmPFNWR1BhdGhTZWdDbG9zZVBh
dGg+IGNyZWF0ZVNWR1BhdGhTZWdDbG9zZVBhdGgoU1ZHUGF0aFNlZ1JvbGUgPSBQYXRoU2VnVW5k
ZWZpbmVkUm9sZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmlkbAppbmRleCBiNGRm
NTYzNzc4OWUwMWY1YjkxYjU2Zjk3YTI4YzMwMjNkMDhhYzUwLi5lZTZiZWM4NDhkMzAwYWNjZjhj
YjUxNmRkZmJmMDA1NTgzODRlZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5p
ZGwKQEAgLTI0LDExICsyNCw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi1pbnRlcmZhY2Ug
U1ZHUGF0aEVsZW1lbnQgOiBTVkdHcmFwaGljc0VsZW1lbnQgewotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTVkdBbmltYXRlZE51bWJlciBwYXRoTGVuZ3RoOwotCi0gICAgdW5yZXN0cmljdGVkIGZs
b2F0IGdldFRvdGFsTGVuZ3RoKCk7Ci0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgZ2V0UG9pbnRB
dExlbmd0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgZGlzdGFuY2UgPSBOYU4pOworaW50
ZXJmYWNlIFNWR1BhdGhFbGVtZW50IDogU1ZHR2VvbWV0cnlFbGVtZW50IHsKICAgICB1bnNpZ25l
ZCBsb25nIGdldFBhdGhTZWdBdExlbmd0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgZGlz
dGFuY2UgPSBOYU4pOwogCiAgICAgU1ZHUGF0aFNlZ0Nsb3NlUGF0aCBjcmVhdGVTVkdQYXRoU2Vn
Q2xvc2VQYXRoKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjE0NTgzMmYwNWMxZTQ2ZWU4MGU3YjNlMGQwZGYwMGUxMDkx
M2VlNy4uMTM2YTQyYmNhMDAxNzQ1NTAyOTRlMzJlZDdlNzA2YzM3MjcwNGIzNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDE4LTA0LTE4ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW50cm9kdWNlIFNWR0dlb21ldHJ5RWxlbWVudCBpbnRlcmZhY2UKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDc2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0IGltcGxlbWVu
dGluZyBTVkdHZW9tZXRyeUVsZW1lbnQgaW50ZXJmYWNlIGZyb20gU1ZHMi4KKworICAgICAgICAq
IHN2Zy9kb20vU1ZHUG9seWdvbkVsZW1lbnQtYmFzZVZhbC1saXN0LXJlbW92YWwtY3Jhc2guaHRt
bDogcG9pbnRBdExlbmd0aCByZXF1aXJlcyB2YWx1ZSBub3cuCisgICAgICAgICogc3ZnL2RvbS9w
YXRoLXBvaW50QXRMZW5ndGgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9kb20vcGF0aC1w
b2ludEF0TGVuZ3RoLmh0bWw6IEFkZGVkIHRocm93IHRlc3RzIGZvciBwb2ludEF0TGVuZ3RoLgor
ICAgICAgICAqIHN2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6IEluaGVyaXRh
bmNlIGZpeGVkIGZvciBTVkdQYXRoRWxlbWVudCBvbmx5IGZvciBub3cuCisKIDIwMTgtMDQtMTYg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgY3Nz
My9maWx0ZXJzL2JsdXItdmFyaW91cy1yYWRpaS5odG1sIGFzIGEgY3Jhc2ggb24gV2luZG93cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9seWdvbkVsZW1lbnQtYmFzZVZh
bC1saXN0LXJlbW92YWwtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9seWdv
bkVsZW1lbnQtYmFzZVZhbC1saXN0LXJlbW92YWwtY3Jhc2guaHRtbAppbmRleCA2ZGJmOTAwNDJm
OTM2YmM1OWM0ZjNkMGNjN2Y1OGVkYTk1NTk1ZGRlLi45MWVmMzliMjYyNGE1YjZkMjFiODNmMDc5
ZjEwOTQ2ZTQ5ZjAxYjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvbHln
b25FbGVtZW50LWJhc2VWYWwtbGlzdC1yZW1vdmFsLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdQb2x5Z29uRWxlbWVudC1iYXNlVmFsLWxpc3QtcmVtb3ZhbC1jcmFzaC5o
dG1sCkBAIC03LDcgKzcsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiBmdW5jdGlvbiBnbygp
IHsKICAgICB2YXIgb1NWR1BvbHlnb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInBvbHlnb24iKTsKICAgICB2YXIgb1NWR1BhdGggPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInBh
dGgiKTsKLSAgICB2YXIgb1NWR1BvaW50MSA9IG9TVkdQYXRoLmdldFBvaW50QXRMZW5ndGgoKTsK
KyAgICB2YXIgb1NWR1BvaW50MSA9IG9TVkdQYXRoLmdldFBvaW50QXRMZW5ndGgoMCk7CiAgICAg
b1NWR1BvbHlnb24ucG9pbnRzLmluaXRpYWxpemUob1NWR1BvaW50MSk7CiAgICAgb1NWR1BvbHln
b24ucG9pbnRzLnJlbW92ZUl0ZW0oLTkyMjMzNzIwMzY4NTQ3NzU4MDIpOwogICAgIGFsZXJ0KCJB
Y2Nlc3Npbmcgb2xkIG9TVkdQb2ludDEueDogIiArIG9TVkdQb2ludDEueCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvZG9tL3BhdGgtcG9pbnRBdExlbmd0aC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdmcvZG9tL3BhdGgtcG9pbnRBdExlbmd0aC1leHBlY3RlZC50eHQKaW5kZXgg
YTFlYjNmMTJlZDBmMTUxNGQyZDJmZTM4ZGIyZmRjODliNTE3MmMyYy4uMjc0YWU5YmExZGY2OGQ0
MjNiMjAwODgyYTg2N2U2NTE4ZmU5ZTExZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9wYXRoLXBvaW50QXRMZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9k
b20vcGF0aC1wb2ludEF0TGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDEwIEBAIFBBU1Mg
cG9pbnRBdExlbmd0aE9mUGF0aCgnTTAsMjAgTDQwMCwyMCBMNjQwLDIwJykgaXMgJyg2NDAsIDIw
KScKIFBBU1MgcG9pbnRBdExlbmd0aE9mUGF0aCgnTTAsMjAgTDQwMCwyMCBMNjQwLDIwIHonKSBp
cyAnKDU4MCwgMjApJwogUEFTUyBwb2ludEF0TGVuZ3RoT2ZQYXRoKCdNMCwyMCBMNDAwLDIwIHog
TSAzMjAsMjAgTDY0MCwyMCcpIGlzICcoMTAwLCAyMCknCiBQQVNTIHBvaW50QXRMZW5ndGhPZlBh
dGgoJ00wLDIwIEwyMCw0MCcpIGlzICcoMjAsIDQwKScKK1BBU1MgcGF0aEVsZW1lbnQuZ2V0UG9p
bnRBdExlbmd0aChNYXRoLk5hTikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3Zp
ZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCitQQVNTIHBhdGhFbGVtZW50LmdldFBvaW50QXRMZW5n
dGgoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BB
U1MgcGF0aEVsZW1lbnQuZ2V0UG9pbnRBdExlbmd0aChNYXRoLkluZmluaXR5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KK1BBU1Mg
cGF0aEVsZW1lbnQuZ2V0UG9pbnRBdExlbmd0aCgnYWJjJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vcGF0aC1wb2ludEF0TGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3Bh
dGgtcG9pbnRBdExlbmd0aC5odG1sCmluZGV4IGRmMGYxZTE0MTkwNjkwZmViODRjNjVmOWE5Mzk2
NmRjYjk1Y2Y1MTguLjU4ZTE0Y2QxMzk1OTAyMjJiNzk3NWQ5ODFiN2I2OWFkMDM2ZGY5YmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vcGF0aC1wb2ludEF0TGVuZ3RoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9wYXRoLXBvaW50QXRMZW5ndGguaHRtbApAQCAtMjIsNiAr
MjIsMTAgQEAgc2hvdWxkQmUoInBvaW50QXRMZW5ndGhPZlBhdGgoJ00wLDIwIEw0MDAsMjAgTDY0
MCwyMCcpIiwgIicoNjQwLCAyMCknIik7CiBzaG91bGRCZSgicG9pbnRBdExlbmd0aE9mUGF0aCgn
TTAsMjAgTDQwMCwyMCBMNjQwLDIwIHonKSIsICInKDU4MCwgMjApJyIpOwogc2hvdWxkQmUoInBv
aW50QXRMZW5ndGhPZlBhdGgoJ00wLDIwIEw0MDAsMjAgeiBNIDMyMCwyMCBMNjQwLDIwJykiLCAi
JygxMDAsIDIwKSciKTsKIHNob3VsZEJlKCJwb2ludEF0TGVuZ3RoT2ZQYXRoKCdNMCwyMCBMMjAs
NDAnKSIsICInKDIwLCA0MCknIik7CitzaG91bGRUaHJvdygicGF0aEVsZW1lbnQuZ2V0UG9pbnRB
dExlbmd0aChNYXRoLk5hTikiKTsKK3Nob3VsZFRocm93KCJwYXRoRWxlbWVudC5nZXRQb2ludEF0
TGVuZ3RoKCkiKTsKK3Nob3VsZFRocm93KCJwYXRoRWxlbWVudC5nZXRQb2ludEF0TGVuZ3RoKE1h
dGguSW5maW5pdHkpIik7CitzaG91bGRUaHJvdygicGF0aEVsZW1lbnQuZ2V0UG9pbnRBdExlbmd0
aCgnYWJjJykiKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CmluZGV4IDNlMjA2NjFmNzQzMzE4N2VkMjg4NzVlYjY4ODc1YzM4NDJmYzc2YzguLmE0MWMyYWMw
MDA1NDc5ODE3MDI3YmNkNDkwNmQ4NjM4N2I2MzEyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtNDQsNyArNDQsNyBAQCBQ
QVNTIFNWR0ZvbnRGYWNlU3JjRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CiBQQVNTIFNWR0Zv
bnRGYWNlVXJpRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CiBQQVNTIFNWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50IGluaGVyaXRzIFNWR0dyYXBoaWNzRWxlbWVudAogUEFTUyBTVkdHRWxlbWVudCBp
bmhlcml0cyBTVkdHcmFwaGljc0VsZW1lbnQKLUZBSUwgU1ZHR2VvbWV0cnlFbGVtZW50IGlzIG5v
dCBkZWZpbmVkCitQQVNTIFNWR0dlb21ldHJ5RWxlbWVudCBpbmhlcml0cyBTVkdHcmFwaGljc0Vs
ZW1lbnQKIFBBU1MgU1ZHR2x5cGhFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKIFBBU1MgU1ZH
R2x5cGhSZWZFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKIFBBU1MgU1ZHR3JhZGllbnRFbGVt
ZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKQEAgLTY4LDcgKzY4LDcgQEAgUEFTUyBTVkdNZXRhZGF0
YUVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAogUEFTUyBTVkdNaXNzaW5nR2x5cGhFbGVtZW50
IGluaGVyaXRzIFNWR0VsZW1lbnQKIFBBU1MgU1ZHTnVtYmVyIGluaGVyaXRzIE9iamVjdAogUEFT
UyBTVkdOdW1iZXJMaXN0IGluaGVyaXRzIE9iamVjdAotRkFJTCBTVkdQYXRoRWxlbWVudCBzaG91
bGQgaW5oZXJpdCBTVkdHZW9tZXRyeUVsZW1lbnQgYnV0IGdvdCBTVkdHcmFwaGljc0VsZW1lbnQg
aW5zdGVhZAorUEFTUyBTVkdQYXRoRWxlbWVudCBpbmhlcml0cyBTVkdHZW9tZXRyeUVsZW1lbnQK
IFBBU1MgU1ZHUGF0aFNlZyBpbmhlcml0cyBPYmplY3QKIFBBU1MgU1ZHUGF0aFNlZ0FyY0FicyBp
bmhlcml0cyBTVkdQYXRoU2VnCiBQQVNTIFNWR1BhdGhTZWdBcmNSZWwgaW5oZXJpdHMgU1ZHUGF0
aFNlZwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338385</attachid>
            <date>2018-04-19 17:22:43 -0700</date>
            <delta_ts>2018-04-19 18:00:46 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-184768-20180420055240.patch</filename>
            <type>text/plain</type>
            <size>29132</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRlNjQ3MjIxNzdhNmE2
ODQ1ZmIwMjg0OGM2ZjVlYTI3MDU3ZDgxNS4uMTNiMzAzZDZiNTg5MDcxM2NjZjEwNTg1OWZjZWQ5
MDZkMThmNDhkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTA0LTE4ICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmJraXQub3JnPgorCisgICAgICAgIEludHJvZHVjZSBTVkdHZW9t
ZXRyeUVsZW1lbnQgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODQ3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0
by4KKworICAgICAgICBTdGFydCBpbXBsZW1lbnRpbmcgU1ZHR2VvbWV0cnlFbGVtZW50IGludGVy
ZmFjZSBmcm9tIFNWRzIuCisgICAgICAgIGh0dHBzOi8vc3Znd2cub3JnL3N2ZzItZHJhZnQvdHlw
ZXMuaHRtbCNJbnRlcmZhY2VTVkdHZW9tZXRyeUVsZW1lbnQKKworICAgICAgICBTdGFydCB3aXRo
IFNWR1BhdGhFbGVtZW50IG9ubHkgZm9yIG5vdy4gQWxzbywganVzdCBpbmZlcmZhY2UgZ2V0cyBp
bXBsZW1lbnRlZAorICAgICAgICBieSB0aGlzIHBhdGNoLiBObyBuZXcgZnVuY3Rpb25hbGl0eSBs
aWtlIGlzUG9pbnRJbkZpbGwgeWV0LgorICAgICAgICBGaXggZ2V0UG9pbnRBdExlbmd0aCBhbmQg
bWFrZSBpdCBtb3JlIHJlc3RyaWN0aXZlLiBUaGlzIGZvbGxvd3MgdGhlIHNwZWMgYW5kCisgICAg
ICAgIGFsbCBvdGhlciBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAgQWRkZWQgYWRkaXRpb25h
bCB0ZXN0IHNjZW5hcmlvcyB0byBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0
R251VlRhYmxlT2Zmc2V0Rm9yVHlwZSk6CisgICAgICAgICogc3ZnL1NWR0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBzdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OlNWR0dlb21ldHJ5RWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0dlb21ldHJ5RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHR2VvbWV0cnlFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0dlb21ldHJ5RWxlbWVudDo6Y3JlYXRlRWxlbWVudFJlbmRl
cmVyKToKKyAgICAgICAgKiBzdmcvU1ZHR2VvbWV0cnlFbGVtZW50Lmg6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvU1ZH
R3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoRWxlbWVudDo6aW5zZXJ0ZWRJbnRvQW5jZXN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOgorICAgICAgICAq
IHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5pZGw6
CisKIDIwMTgtMDQtMTYgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV2ViIEFuaW1hdGlvbnNdIEVuc3VyZSB3ZSBuZXZlciByZXR1cm4gLTAgdGhyb3VnaCB0
aGUgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDdhOGExMmRmNTA0YjVjNDljMDBmMTkxNDJi
MTVlNWZiM2E1MDIyYmEuLjg3NDBkMWE4ZjBiYmZlOWFmZTFhYTI0YjI3MmNjZTMwYzAyNWE3Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05MzksNiArOTM5LDcgQEAgc2V0KFdlYkNvcmVfU1ZH
X0lETF9GSUxFUwogICAgIHN2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaWRsCiAgICAgc3ZnL1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LmlkbAogICAgIHN2Zy9TVkdHRWxlbWVudC5pZGwKKyAgICBz
dmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbAogICAgIHN2Zy9TVkdHbHlwaEVsZW1lbnQuaWRsCiAg
ICAgc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5pZGwKICAgICBzdmcvU1ZHR3JhZGllbnRFbGVtZW50
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjVkMGU1ZDJjM2VmMDhiNDZi
NzI2MzljNmE0OTNhN2I5Nzg2MzFiZC4uYjVlZWE5MzhmN2YzZmY4ZDQ1NDkxZDdiYWIzN2EyYjcz
NGYxNjVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04NjcsNiArODY3LDcg
QEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR0ZvbnRGYWNlVXJp
RWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHR0VsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdH
bHlwaEVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdHbHlwaFJlZkVsZW1lbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggYTU3YmIyZDJmNzViMjkxOWRkYzlkOWNmY2JiMzEyZWU3NjAzOTU5YS4uMzhm
ZGUyMTk5YjhhOWNjMGFjNWNhMTA3YjE2ZTQyZmI2NzgyZWJhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTIxNDQsNiArMjE0NCw3IEBAIHN2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuY3BwCiBzdmcvU1ZH
Rm9udEZhY2VVcmlFbGVtZW50LmNwcAogc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAog
c3ZnL1NWR0dFbGVtZW50LmNwcAorc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKIHN2Zy9TVkdH
bHlwaEVsZW1lbnQuY3BwCiBzdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmNwcAogc3ZnL1NWR0dyYWRp
ZW50RWxlbWVudC5jcHAKQEAgLTI5MTcsNiArMjkxOCw3IEBAIEpTU1ZHRm9udEZhY2VTcmNFbGVt
ZW50LmNwcAogSlNTVkdGb250RmFjZVVyaUVsZW1lbnQuY3BwCiBKU1NWR0ZvcmVpZ25PYmplY3RF
bGVtZW50LmNwcAogSlNTVkdHRWxlbWVudC5jcHAKK0pTU1ZHR2VvbWV0cnlFbGVtZW50LmNwcAog
SlNTVkdHbHlwaEVsZW1lbnQuY3BwCiBKU1NWR0dseXBoUmVmRWxlbWVudC5jcHAKIEpTU1ZHR3Jh
ZGllbnRFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGNmNjA1NjcxMmRmZGE1YjNlODg1NzZmMTYwM2IwODgwYjg3
YzgxOWMuLmNhNzk1M2RlYzVmMDBjM2FjN2UxMmRkYmMzZmYzZWU2NmFkOWJkYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ4
MTIsNiArNDgxMiw4IEBACiAJCUZBQkU3MkY3MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxQcmVz
ZW50YXRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MUHJlc2VudGF0aW9uRWxl
bWVudC5oICovOyB9OwogCQlGQUJFNzJGOTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZB
QkU3MkYyMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovOyB9OwogCQlG
QUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIxMTAwRDk5OURE
IC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKKwkJRkIyNzNFODIyMDg2RTZDNzAwQTU0RTg3IC8q
IFNWR0dlb21ldHJ5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkIyNzNFN0YyMDg2RTZBMzAwQTU0RTg3IC8qIFNWR0dlb21ldHJ5RWxlbWVu
dC5oICovOyB9OworCQlGQjI3M0U4NTIwODZFNzREMDBBNTRFODcgLyogSlNTVkdHZW9tZXRyeUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZC
MjczRTg0MjA4NkU3M0UwMEE1NEU4NyAvKiBKU1NWR0dlb21ldHJ5RWxlbWVudC5oICovOyB9Owog
CQlGQjJDMTVDMzE2NUQ2NDlEMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCMkMxNUMy
MTY1RDY0OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZCMzA1NkMyMTY5RTVE
QUMwMDk2QTIzMiAvKiBDU1NHcm91cGluZ1J1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCMzA1NkMxMTY5RTVEQUMwMDk2QTIzMiAvKiBDU1NHcm91
cGluZ1J1bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlGQjQ4NEY0RDE3MUY4MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ4NEY0QjE3MUY4
MjFFMDAwNDA3NTUgLyogVHJhbnNmb3JtRnVuY3Rpb25zLmggKi87IH07CkBAIC0xNDUwMyw2ICsx
NDUwNSwxMSBAQAogCQlGQUJFNzJGMzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gbWF0aHRhZ3MuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUZBQkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxFbGVtZW50RmFj
dG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBQkU3MkZDMTA1OUMyMTEw
MEQ5OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNYXRoTUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZC
MjczRTdFMjA4NkU2QTMwMEE1NEU4NyAvKiBTVkdHZW9tZXRyeUVsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHR2VvbWV0cnlFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkIyNzNFN0YyMDg2RTZBMzAwQTU0RTg3IC8qIFNW
R0dlb21ldHJ5RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdH
ZW9tZXRyeUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkIyNzNFODAy
MDg2RTZBMzAwQTU0RTg3IC8qIFNWR0dlb21ldHJ5RWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU1ZHR2VvbWV0cnlFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkIyNzNFODMyMDg2RTczRTAwQTU0RTg3IC8qIEpTU1ZHR2VvbWV0cnlFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHR2VvbWV0cnlFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQlGQjI3M0U4NDIwODZFNzNF
MDBBNTRFODcgLyogSlNTVkdHZW9tZXRyeUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNTVkdHZW9tZXRyeUVsZW1lbnQuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQlGQjJDMTVDMjE2NUQ2NDkwMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRS
ZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU1ZHRG9j
dW1lbnRSZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkIzMDU2QzEx
NjlFNURBQzAwOTZBMjMyIC8qIENTU0dyb3VwaW5nUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NHcm91cGluZ1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkI0ODRGNEExNzFGODIxRTAwMDQwNzU1IC8qIFRyYW5zZm9ybUZ1bmN0aW9ucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUcmFuc2Zvcm1GdW5jdGlvbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE5MDcsNiArMjE5MTQsOCBAQAog
CQkJCUIyRkEzQ0IxMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmggKi8sCiAJCQkJQjJGQTNDQjIwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHR0VsZW1lbnQuY3Bw
ICovLAogCQkJCUIyRkEzQ0IzMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0dFbGVtZW50LmggKi8s
CisJCQkJRkIyNzNFODMyMDg2RTczRTAwQTU0RTg3IC8qIEpTU1ZHR2VvbWV0cnlFbGVtZW50LmNw
cCAqLywKKwkJCQlGQjI3M0U4NDIwODZFNzNFMDBBNTRFODcgLyogSlNTVkdHZW9tZXRyeUVsZW1l
bnQuaCAqLywKIAkJCQlCMjdCMjgyMTBDRUYwQzA3MDBEMzlENTQgLyogSlNTVkdHbHlwaEVsZW1l
bnQuY3BwICovLAogCQkJCUIyN0IyODIyMENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0dseXBoRWxl
bWVudC5oICovLAogCQkJCTI0RDkxMjk3MTNDQTk2REUwMEQyMTkxNSAvKiBKU1NWR0dseXBoUmVm
RWxlbWVudC5jcHAgKi8sCkBAIC0yMjg1OSw2ICsyMjg2OCw5IEBACiAJCQkJQjIyMjc4OTAwRDAw
QkYyMDAwNzFCNzgyIC8qIFNWR0dFbGVtZW50LmNwcCAqLywKIAkJCQlCMjIyNzg5MTBEMDBCRjIw
MDA3MUI3ODIgLyogU1ZHR0VsZW1lbnQuaCAqLywKIAkJCQlCMjIyNzg5MjBEMDBCRjIwMDA3MUI3
ODIgLyogU1ZHR0VsZW1lbnQuaWRsICovLAorCQkJCUZCMjczRTdFMjA4NkU2QTMwMEE1NEU4NyAv
KiBTVkdHZW9tZXRyeUVsZW1lbnQuY3BwICovLAorCQkJCUZCMjczRTdGMjA4NkU2QTMwMEE1NEU4
NyAvKiBTVkdHZW9tZXRyeUVsZW1lbnQuaCAqLywKKwkJCQlGQjI3M0U4MDIwODZFNkEzMDBBNTRF
ODcgLyogU1ZHR2VvbWV0cnlFbGVtZW50LmlkbCAqLywKIAkJCQlCMkExRjJBNDBDRUYwQUJGMDA0
NDJGNkEgLyogU1ZHR2x5cGhFbGVtZW50LmNwcCAqLywKIAkJCQlCMkExRjJBNTBDRUYwQUJGMDA0
NDJGNkEgLyogU1ZHR2x5cGhFbGVtZW50LmggKi8sCiAJCQkJQjJBMUYyQTYwQ0VGMEFCRjAwNDQy
RjZBIC8qIFNWR0dseXBoRWxlbWVudC5pZGwgKi8sCkBAIC0yODcxMiw2ICsyODcyNCw3IEBACiAJ
CQkJQTgzQjc4RkMwQ0NBRkYxNTAwMEIwODI1IC8qIEpTU1ZHRm9udEZhY2VVcmlFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEOUIwQUI3NUE2RjAw
MEU1QUM0IC8qIEpTU1ZHR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCMjczRTg1MjA4
NkU3NEQwMEE1NEU4NyAvKiBKU1NWR0dlb21ldHJ5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjI3QjI4MjgwQ0VGMEMwNzAwRDM5RDU0IC8qIEpTU1ZHR2x5cGhFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyNEQ5MTI5QTEzQ0E5NzE0MDBEMjE5MTUgLyogSlNTVkdHbHlwaFJlZkVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDlEMEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0dyYWRpZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDExMyw2ICszMDEyNiw3
IEBACiAJCQkJQjIyMjdBMjEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0ZvbnRGYWNlVXJpRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBMjQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0EyNzBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCMjczRTgyMjA4
NkU2QzcwMEE1NEU4NyAvKiBTVkdHZW9tZXRyeUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyQTFGMkFFMENFRjBBQkYwMDQ0MkY2QSAvKiBTVkdHbHlwaEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTI0RDkxMkJFMTNDQTlBOTcwMEQyMTkxNSAvKiBTVkdHbHlwaFJlZkVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTJBMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdHcmFk
aWVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxMGY4NzczMWQ4ZDEzNWI2ZmM0
YjZiMDBkMTg2YzM2YmNhYmFhZjQ2Li5lZTExZDUzNGZkZDE3MjUwODMxODM4MDM0MTFiNGU3ZDZm
MThmMGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtMzU1MSw2ICszNTUxLDcgQEAgc3ViIEdldEdudVZUYWJsZU9mZnNl
dEZvclR5cGUKICAgICAgICAgfHwgJHR5cGVuYW1lIGVxICJTVkdQb2x5bGluZUVsZW1lbnQiCiAg
ICAgICAgIHx8ICR0eXBlbmFtZSBlcSAiU1ZHUmVjdEVsZW1lbnQiCiAgICAgICAgIHx8ICR0eXBl
bmFtZSBlcSAiU1ZHU1ZHRWxlbWVudCIKKyAgICAgICAgfHwgJHR5cGVuYW1lIGVxICJTVkdHZW9t
ZXRyeUVsZW1lbnQiCiAgICAgICAgIHx8ICR0eXBlbmFtZSBlcSAiU1ZHR3JhcGhpY3NFbGVtZW50
IgogICAgICAgICB8fCAkdHlwZW5hbWUgZXEgIlNWR1N3aXRjaEVsZW1lbnQiCiAgICAgICAgIHx8
ICR0eXBlbmFtZSBlcSAiU1ZHVGV4dEVsZW1lbnQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNw
cAppbmRleCAwMWE4NTQzMGM0OGRhZDlkYmQ3MDkwZmNlNWIyYzI0ODY3YmUwZDhkLi5kMzNmNDVk
ZWE3NjMxZGEzNzZhMjA4ZWI2MzRhYTYxYTg5ZGY0Y2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJ
bk9uZS5jcHAKQEAgLTEwMiw2ICsxMDIsNyBAQAogI2luY2x1ZGUgIlNWR0ZvbnRGYWNlVXJpRWxl
bWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIlNWR0dFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJTVkdHZW9tZXRyeUVsZW1lbnQuY3BwIgog
I2luY2x1ZGUgIlNWR0dseXBoRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiU1ZHR2x5cGhSZWZFbGVt
ZW50LmNwcCIKICNpbmNsdWRlICJTVkdHcmFkaWVudEVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmI2MmFmNzc3NThlYWU2
ZGJkZjg5MDI0MzI2OTI2OGM4YzY4NDY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKQEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAw
NyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOCBBZG9iZSBTeXN0
ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlNWR0dlb21ldHJ5RWxlbWVudC5oIgorCisjaW5jbHVkZSAiUmVuZGVyU1ZH
UGF0aC5oIgorI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCisjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCisjaW5jbHVkZSAiU1ZHTVBhdGhFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKKyNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAi
U1ZHUG9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChTVkdHZW9tZXRyeUVsZW1lbnQpOworCisvLyBBbmltYXRlZCBw
cm9wZXJ0eSBkZWZpbml0aW9ucworREVGSU5FX0FOSU1BVEVEX05VTUJFUihTVkdHZW9tZXRyeUVs
ZW1lbnQsIFNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0ciwgUGF0aExlbmd0aCwgcGF0aExlbmd0aCkK
KworQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdHZW9tZXRyeUVsZW1lbnQp
CisgICAgUkVHSVNURVJfTE9DQUxfQU5JTUFURURfUFJPUEVSVFkocGF0aExlbmd0aCkKKyAgICBS
RUdJU1RFUl9QQVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdHcmFwaGljc0VsZW1lbnQpCitF
TkRfUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUworCitTVkdHZW9tZXRyeUVsZW1lbnQ6OlNW
R0dlb21ldHJ5RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYg
ZG9jdW1lbnQpCisgICAgOiBTVkdHcmFwaGljc0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7
CisgICAgcmVnaXN0ZXJBbmltYXRlZFByb3BlcnRpZXNGb3JTVkdHZW9tZXRyeUVsZW1lbnQoKTsK
K30KKworYm9vbCBTVkdHZW9tZXRyeUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIHN1cHBv
cnRlZEF0dHJpYnV0ZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10geworICAgICAgICBIYXNoU2V0
PFF1YWxpZmllZE5hbWU+IHNldDsKKyAgICAgICAgU1ZHTGFuZ1NwYWNlOjphZGRTdXBwb3J0ZWRB
dHRyaWJ1dGVzKHNldCk7CisgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmFk
ZFN1cHBvcnRlZEF0dHJpYnV0ZXMoc2V0KTsKKyAgICAgICAgc2V0LmFkZCh7IFNWR05hbWVzOjpw
YXRoTGVuZ3RoQXR0ci5nZXQoKSB9KTsKKyAgICAgICAgcmV0dXJuIHNldDsKKyAgICB9KCkpOwor
ICAgIHJldHVybiBzdXBwb3J0ZWRBdHRyaWJ1dGVzLmdldCgpLmNvbnRhaW5zPFNWR0F0dHJpYnV0
ZUhhc2hUcmFuc2xhdG9yPihhdHRyTmFtZSk7Cit9CisKK3ZvaWQgU1ZHR2VvbWV0cnlFbGVtZW50
OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNT
dHJpbmcmIHZhbHVlKQoreworICAgIGlmIChuYW1lID09IFNWR05hbWVzOjpwYXRoTGVuZ3RoQXR0
cikgeworICAgICAgICBzZXRQYXRoTGVuZ3RoQmFzZVZhbHVlKHZhbHVlLnRvRmxvYXQoKSk7Cisg
ICAgICAgIGlmIChwYXRoTGVuZ3RoQmFzZVZhbHVlKCkgPCAwKQorICAgICAgICAgICAgZG9jdW1l
bnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUg
Zm9yIHBhdGggYXR0cmlidXRlIDxwYXRoTGVuZ3RoPiBpcyBub3QgYWxsb3dlZCIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgU1ZHR3JhcGhpY3NFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShuYW1lLCB2YWx1ZSk7Cit9CisKK3ZvaWQgU1ZHR2VvbWV0cnlFbGVtZW50OjpzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQoreworICAgIGlmICghaXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ck5hbWUpKSB7CisgICAgICAgIFNWR0dyYXBoaWNzRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyTmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBJbnN0YW5jZUludmFsaWRhdGlvbkd1YXJkIGd1YXJkKCp0aGlzKTsKKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gU1ZHR2Vv
bWV0cnlFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwg
Y29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKK3sKKyAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8
UmVuZGVyU1ZHUGF0aD4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5MzkxOTllYTExNmMyNTcy
NWE1MmQ0YTIxNzEyZWNiZDMzYmNkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1l
cm1hbm5Aa2RlLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBS
b2IgQnVpcyA8YnVpc0BrZGUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFkb2JlIFN5c3Rl
bXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIlBhdGguaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uaCIKKyNpbmNsdWRl
ICJTVkdBbmltYXRlZE51bWJlci5oIgorI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQuaCIKKyNpbmNsdWRlICJTVkdHcmFwaGljc0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdO
YW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNWR1BvaW50OworCitjbGFz
cyBTVkdHZW9tZXRyeUVsZW1lbnQgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50IHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dlb21ldHJ5RWxlbWVudCk7CitwdWJsaWM6CisgICAg
CisgICAgdmlydHVhbCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIFJlZjxTVkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3Qg
PSAwOworCitwcm90ZWN0ZWQ6CisgICAgU1ZHR2VvbWV0cnlFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOworCisgICAgc3RhdGljIGJvb2wgaXNTdXBwb3J0ZWRBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAgIHZvaWQg
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikgb3ZlcnJpZGU7CisKKyAg
ICBCRUdJTl9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHR2VvbWV0cnlFbGVtZW50KQor
ICAgICAgICBERUNMQVJFX0FOSU1BVEVEX05VTUJFUihQYXRoTGVuZ3RoLCBwYXRoTGVuZ3RoKQor
ICAgIEVORF9ERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRJRVMKKworICAgIFJlbmRlclB0cjxSZW5k
ZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVu
ZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFk
OThlMjNiZjUyYzA5MDI2MzQ1ZThmNWMzZGFiM2Y5MWRjODI3MDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbApAQCAtMCwwICsxLDM0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworLy8gW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFNWR0dlb21ldHJ5RWxl
bWVudCA6IFNWR0dyYXBoaWNzRWxlbWVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR0Fu
aW1hdGVkTnVtYmVyIHBhdGhMZW5ndGg7IC8vIEZJWE1FOiBTaG91bGQgYmUgW1NhbWVPYmplY3Rd
LgorCisgICAgLy8gYm9vbGVhbiBpc1BvaW50SW5GaWxsKERPTVBvaW50SW5pdCBwb2ludCk7Cisg
ICAgLy8gYm9vbGVhbiBpc1BvaW50SW5TdHJva2UoRE9NUG9pbnRJbml0IHBvaW50KTsKKyAgICB1
bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKTsKKyAgICBbTmV3T2JqZWN0XSBTVkdQ
b2ludCBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCmluZGV4IDI5MmI2NDU4ODU5MjBjZDEwOGMyODhk
YmI3ODdiMGEwMWRhYzk3NDkuLmJiMmIwYjY5MzA5NDI2MjlhMGM1NWRkMWQwMTg0ZWQ1MmQzNGVh
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCkBAIC0yNCw3
ICsyNCw2IEBACiAKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5k
ZXJTVkdIaWRkZW5Db250YWluZXIuaCIKLSNpbmNsdWRlICJSZW5kZXJTVkdQYXRoLmgiCiAjaW5j
bHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2VMaW5lYXJHcmFkaWVudC5oIgogI2luY2x1ZGUgIlJlbmRl
clNWR1Jlc291cmNlUmFkaWFsR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKaW5kZXggMjRkZWU4MzViYTkwNWY5ZjViOTM4
YTg2MzNiODNhMTczMzE5Mjc0YS4uMWRhYzE4YzVjYzFiYzM3ZWE4YTkxNjk3MTgwOWRhYjRmMzRh
ZDBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCkBAIC03OSwxMSArNzks
MTEgQEAgQkVHSU5fUkVHSVNURVJfQU5JTUFURURfUFJPUEVSVElFUyhTVkdQYXRoRWxlbWVudCkK
ICAgICBSRUdJU1RFUl9MT0NBTF9BTklNQVRFRF9QUk9QRVJUWShkKQogICAgIFJFR0lTVEVSX0xP
Q0FMX0FOSU1BVEVEX1BST1BFUlRZKHBhdGhMZW5ndGgpCiAgICAgUkVHSVNURVJfTE9DQUxfQU5J
TUFURURfUFJPUEVSVFkoZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICBSRUdJU1RFUl9Q
QVJFTlRfQU5JTUFURURfUFJPUEVSVElFUyhTVkdHcmFwaGljc0VsZW1lbnQpCisgICAgUkVHSVNU
RVJfUEFSRU5UX0FOSU1BVEVEX1BST1BFUlRJRVMoU1ZHR2VvbWV0cnlFbGVtZW50KQogRU5EX1JF
R0lTVEVSX0FOSU1BVEVEX1BST1BFUlRJRVMKIAogaW5saW5lIFNWR1BhdGhFbGVtZW50OjpTVkdQ
YXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1l
bnQpCi0gICAgOiBTVkdHcmFwaGljc0VsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCisgICAgOiBT
VkdHZW9tZXRyeUVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX3BhdGhTZWdMaXN0
KFBhdGhTZWdVbmFsdGVyZWRSb2xlKQogICAgICwgbV9pc0FuaW1WYWxPYnNlcnZlZChmYWxzZSkK
IHsKQEAgLTI0MCwxNCArMjQwLDE0IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnBhcnNlQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBTVkdHcmFwaGljc0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KG5hbWUsIHZhbHVlKTsKKyAgICBTVkdHZW9tZXRyeUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5h
bWUsIHZhbHVlKTsKICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZUF0dHJp
YnV0ZShuYW1lLCB2YWx1ZSk7CiB9CiAKIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnN2Z0F0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiB7CiAgICAgaWYgKCFpc1N1
cHBvcnRlZEF0dHJpYnV0ZShhdHRyTmFtZSkpIHsKLSAgICAgICAgU1ZHR3JhcGhpY3NFbGVtZW50
OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKKyAgICAgICAgU1ZHR2VvbWV0cnlFbGVt
ZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHJOYW1lKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMjg2LDE0ICsyODYsMTQgQEAgdm9pZCBTVkdQYXRoRWxlbWVudDo6aW52YWxpZGF0
ZU1QYXRoRGVwZW5kZW5jaWVzKCkKIAogTm9kZTo6SW5zZXJ0ZWRJbnRvQW5jZXN0b3JSZXN1bHQg
U1ZHUGF0aEVsZW1lbnQ6Omluc2VydGVkSW50b0FuY2VzdG9yKEluc2VydGlvblR5cGUgaW5zZXJ0
aW9uVHlwZSwgQ29udGFpbmVyTm9kZSYgcGFyZW50T2ZJbnNlcnRlZFRyZWUpCiB7Ci0gICAgU1ZH
R3JhcGhpY3NFbGVtZW50OjppbnNlcnRlZEludG9BbmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJl
bnRPZkluc2VydGVkVHJlZSk7CisgICAgU1ZHR2VvbWV0cnlFbGVtZW50OjppbnNlcnRlZEludG9B
bmNlc3RvcihpbnNlcnRpb25UeXBlLCBwYXJlbnRPZkluc2VydGVkVHJlZSk7CiAgICAgaW52YWxp
ZGF0ZU1QYXRoRGVwZW5kZW5jaWVzKCk7CiAgICAgcmV0dXJuIEluc2VydGVkSW50b0FuY2VzdG9y
UmVzdWx0OjpEb25lOwogfQogCiB2b2lkIFNWR1BhdGhFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2Vz
dG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJl
bW92ZWRUcmVlKQogewotICAgIFNWR0dyYXBoaWNzRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3Rv
cihyZW1vdmFsVHlwZSwgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSk7CisgICAgU1ZHR2VvbWV0cnlF
bGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92
ZWRUcmVlKTsKICAgICBpbnZhbGlkYXRlTVBhdGhEZXBlbmRlbmNpZXMoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAppbmRleCBhNWE5YjhkZmQ3MDEzZjJkZGRjMDAwYzFlNThj
ZmFhOTU3MmQ5MDUxLi5iY2RmMTQ4ZTVlOGFlYzIwYjJlNTRjNjhhN2VmODIwYmUzMDViMzMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaApAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1
ZGUgIlNWR0FuaW1hdGVkQm9vbGVhbi5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyLmgi
CiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgotI2luY2x1ZGUgIlNW
R0dyYXBoaWNzRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0dlb21ldHJ5RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aEJ5dGVTdHJlYW0uaCIKICNpbmNs
dWRlICJTVkdQYXRoU2VnTGlzdFZhbHVlcy5oIgpAQCAtNTMsMTMgKzUzLDEzIEBAIGNsYXNzIFNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoUmVsOwogY2xhc3MgU1ZHUGF0aFNlZ0xpc3Q7
CiBjbGFzcyBTVkdQb2ludDsKIAotY2xhc3MgU1ZHUGF0aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHR3JhcGhpY3NFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CitjbGFzcyBTVkdQYXRoRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBTVkdHZW9tZXRyeUVsZW1lbnQs
IHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR1BhdGhFbGVtZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1Bh
dGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAgICAg
Ci0gICAgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKSBjb25zdDsKLSAgICBSZWY8U1ZHUG9pbnQ+IGdl
dFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OworICAgIGZsb2F0IGdldFRvdGFs
TGVuZ3RoKCkgY29uc3QgZmluYWw7CisgICAgUmVmPFNWR1BvaW50PiBnZXRQb2ludEF0TGVuZ3Ro
KGZsb2F0IGRpc3RhbmNlKSBjb25zdCBmaW5hbDsKICAgICB1bnNpZ25lZCBnZXRQYXRoU2VnQXRM
ZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OwogCiAgICAgUmVmPFNWR1BhdGhTZWdDbG9zZVBh
dGg+IGNyZWF0ZVNWR1BhdGhTZWdDbG9zZVBhdGgoU1ZHUGF0aFNlZ1JvbGUgPSBQYXRoU2VnVW5k
ZWZpbmVkUm9sZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmlkbAppbmRleCBiNGRm
NTYzNzc4OWUwMWY1YjkxYjU2Zjk3YTI4YzMwMjNkMDhhYzUwLi5lZTZiZWM4NDhkMzAwYWNjZjhj
YjUxNmRkZmJmMDA1NTgzODRlZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5p
ZGwKQEAgLTI0LDExICsyNCw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi1pbnRlcmZhY2Ug
U1ZHUGF0aEVsZW1lbnQgOiBTVkdHcmFwaGljc0VsZW1lbnQgewotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTVkdBbmltYXRlZE51bWJlciBwYXRoTGVuZ3RoOwotCi0gICAgdW5yZXN0cmljdGVkIGZs
b2F0IGdldFRvdGFsTGVuZ3RoKCk7Ci0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgZ2V0UG9pbnRB
dExlbmd0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgZGlzdGFuY2UgPSBOYU4pOworaW50
ZXJmYWNlIFNWR1BhdGhFbGVtZW50IDogU1ZHR2VvbWV0cnlFbGVtZW50IHsKICAgICB1bnNpZ25l
ZCBsb25nIGdldFBhdGhTZWdBdExlbmd0aChvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgZGlz
dGFuY2UgPSBOYU4pOwogCiAgICAgU1ZHUGF0aFNlZ0Nsb3NlUGF0aCBjcmVhdGVTVkdQYXRoU2Vn
Q2xvc2VQYXRoKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjE0NTgzMmYwNWMxZTQ2ZWU4MGU3YjNlMGQwZGYwMGUxMDkx
M2VlNy4uNGFkOTk0MGRmODZjYTM1ZGQ5ZjZiMDZhYTJkYWFmNzZmMWFlY2E4YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDE4LTA0LTE4ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+
CisKKyAgICAgICAgSW50cm9kdWNlIFNWR0dlb21ldHJ5RWxlbWVudCBpbnRlcmZhY2UKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDc2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFN0YXJ0IGltcGxlbWVu
dGluZyBTVkdHZW9tZXRyeUVsZW1lbnQgaW50ZXJmYWNlIGZyb20gU1ZHMi4KKworICAgICAgICAq
IHN2Zy9kb20vU1ZHUG9seWdvbkVsZW1lbnQtYmFzZVZhbC1saXN0LXJlbW92YWwtY3Jhc2guaHRt
bDogcG9pbnRBdExlbmd0aCByZXF1aXJlcyB2YWx1ZSBub3cuCisgICAgICAgICogc3ZnL2RvbS9w
YXRoLXBvaW50QXRMZW5ndGgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9kb20vcGF0aC1w
b2ludEF0TGVuZ3RoLmh0bWw6IEFkZGVkIHRocm93IHRlc3RzIGZvciBwb2ludEF0TGVuZ3RoLgor
ICAgICAgICAqIHN2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6IEluaGVyaXRh
bmNlIGZpeGVkIGZvciBTVkdQYXRoRWxlbWVudCBvbmx5IGZvciBub3cuCisKIDIwMTgtMDQtMTYg
IFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgY3Nz
My9maWx0ZXJzL2JsdXItdmFyaW91cy1yYWRpaS5odG1sIGFzIGEgY3Jhc2ggb24gV2luZG93cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9seWdvbkVsZW1lbnQtYmFzZVZh
bC1saXN0LXJlbW92YWwtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9seWdv
bkVsZW1lbnQtYmFzZVZhbC1saXN0LXJlbW92YWwtY3Jhc2guaHRtbAppbmRleCA2ZGJmOTAwNDJm
OTM2YmM1OWM0ZjNkMGNjN2Y1OGVkYTk1NTk1ZGRlLi45MWVmMzliMjYyNGE1YjZkMjFiODNmMDc5
ZjEwOTQ2ZTQ5ZjAxYjVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvbHln
b25FbGVtZW50LWJhc2VWYWwtbGlzdC1yZW1vdmFsLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdQb2x5Z29uRWxlbWVudC1iYXNlVmFsLWxpc3QtcmVtb3ZhbC1jcmFzaC5o
dG1sCkBAIC03LDcgKzcsNyBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiBmdW5jdGlvbiBnbygp
IHsKICAgICB2YXIgb1NWR1BvbHlnb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInBvbHlnb24iKTsKICAgICB2YXIgb1NWR1BhdGggPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInBh
dGgiKTsKLSAgICB2YXIgb1NWR1BvaW50MSA9IG9TVkdQYXRoLmdldFBvaW50QXRMZW5ndGgoKTsK
KyAgICB2YXIgb1NWR1BvaW50MSA9IG9TVkdQYXRoLmdldFBvaW50QXRMZW5ndGgoMCk7CiAgICAg
b1NWR1BvbHlnb24ucG9pbnRzLmluaXRpYWxpemUob1NWR1BvaW50MSk7CiAgICAgb1NWR1BvbHln
b24ucG9pbnRzLnJlbW92ZUl0ZW0oLTkyMjMzNzIwMzY4NTQ3NzU4MDIpOwogICAgIGFsZXJ0KCJB
Y2Nlc3Npbmcgb2xkIG9TVkdQb2ludDEueDogIiArIG9TVkdQb2ludDEueCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvZG9tL3BhdGgtcG9pbnRBdExlbmd0aC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdmcvZG9tL3BhdGgtcG9pbnRBdExlbmd0aC1leHBlY3RlZC50eHQKaW5kZXgg
YTFlYjNmMTJlZDBmMTUxNGQyZDJmZTM4ZGIyZmRjODliNTE3MmMyYy4uMjc0YWU5YmExZGY2OGQ0
MjNiMjAwODgyYTg2N2U2NTE4ZmU5ZTExZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9wYXRoLXBvaW50QXRMZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9k
b20vcGF0aC1wb2ludEF0TGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDEwIEBAIFBBU1Mg
cG9pbnRBdExlbmd0aE9mUGF0aCgnTTAsMjAgTDQwMCwyMCBMNjQwLDIwJykgaXMgJyg2NDAsIDIw
KScKIFBBU1MgcG9pbnRBdExlbmd0aE9mUGF0aCgnTTAsMjAgTDQwMCwyMCBMNjQwLDIwIHonKSBp
cyAnKDU4MCwgMjApJwogUEFTUyBwb2ludEF0TGVuZ3RoT2ZQYXRoKCdNMCwyMCBMNDAwLDIwIHog
TSAzMjAsMjAgTDY0MCwyMCcpIGlzICcoMTAwLCAyMCknCiBQQVNTIHBvaW50QXRMZW5ndGhPZlBh
dGgoJ00wLDIwIEwyMCw0MCcpIGlzICcoMjAsIDQwKScKK1BBU1MgcGF0aEVsZW1lbnQuZ2V0UG9p
bnRBdExlbmd0aChNYXRoLk5hTikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIHByb3Zp
ZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCitQQVNTIHBhdGhFbGVtZW50LmdldFBvaW50QXRMZW5n
dGgoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BB
U1MgcGF0aEVsZW1lbnQuZ2V0UG9pbnRBdExlbmd0aChNYXRoLkluZmluaXR5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KK1BBU1Mg
cGF0aEVsZW1lbnQuZ2V0UG9pbnRBdExlbmd0aCgnYWJjJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vcGF0aC1wb2ludEF0TGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3Bh
dGgtcG9pbnRBdExlbmd0aC5odG1sCmluZGV4IGRmMGYxZTE0MTkwNjkwZmViODRjNjVmOWE5Mzk2
NmRjYjk1Y2Y1MTguLjU4ZTE0Y2QxMzk1OTAyMjJiNzk3NWQ5ODFiN2I2OWFkMDM2ZGY5YmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vcGF0aC1wb2ludEF0TGVuZ3RoLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9wYXRoLXBvaW50QXRMZW5ndGguaHRtbApAQCAtMjIsNiAr
MjIsMTAgQEAgc2hvdWxkQmUoInBvaW50QXRMZW5ndGhPZlBhdGgoJ00wLDIwIEw0MDAsMjAgTDY0
MCwyMCcpIiwgIicoNjQwLCAyMCknIik7CiBzaG91bGRCZSgicG9pbnRBdExlbmd0aE9mUGF0aCgn
TTAsMjAgTDQwMCwyMCBMNjQwLDIwIHonKSIsICInKDU4MCwgMjApJyIpOwogc2hvdWxkQmUoInBv
aW50QXRMZW5ndGhPZlBhdGgoJ00wLDIwIEw0MDAsMjAgeiBNIDMyMCwyMCBMNjQwLDIwJykiLCAi
JygxMDAsIDIwKSciKTsKIHNob3VsZEJlKCJwb2ludEF0TGVuZ3RoT2ZQYXRoKCdNMCwyMCBMMjAs
NDAnKSIsICInKDIwLCA0MCknIik7CitzaG91bGRUaHJvdygicGF0aEVsZW1lbnQuZ2V0UG9pbnRB
dExlbmd0aChNYXRoLk5hTikiKTsKK3Nob3VsZFRocm93KCJwYXRoRWxlbWVudC5nZXRQb2ludEF0
TGVuZ3RoKCkiKTsKK3Nob3VsZFRocm93KCJwYXRoRWxlbWVudC5nZXRQb2ludEF0TGVuZ3RoKE1h
dGguSW5maW5pdHkpIik7CitzaG91bGRUaHJvdygicGF0aEVsZW1lbnQuZ2V0UG9pbnRBdExlbmd0
aCgnYWJjJykiKTsKIAogdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CmluZGV4IDNlMjA2NjFmNzQzMzE4N2VkMjg4NzVlYjY4ODc1YzM4NDJmYzc2YzguLmE0MWMyYWMw
MDA1NDc5ODE3MDI3YmNkNDkwNmQ4NjM4N2I2MzEyMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtNDQsNyArNDQsNyBAQCBQ
QVNTIFNWR0ZvbnRGYWNlU3JjRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CiBQQVNTIFNWR0Zv
bnRGYWNlVXJpRWxlbWVudCBpbmhlcml0cyBTVkdFbGVtZW50CiBQQVNTIFNWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50IGluaGVyaXRzIFNWR0dyYXBoaWNzRWxlbWVudAogUEFTUyBTVkdHRWxlbWVudCBp
bmhlcml0cyBTVkdHcmFwaGljc0VsZW1lbnQKLUZBSUwgU1ZHR2VvbWV0cnlFbGVtZW50IGlzIG5v
dCBkZWZpbmVkCitQQVNTIFNWR0dlb21ldHJ5RWxlbWVudCBpbmhlcml0cyBTVkdHcmFwaGljc0Vs
ZW1lbnQKIFBBU1MgU1ZHR2x5cGhFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKIFBBU1MgU1ZH
R2x5cGhSZWZFbGVtZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKIFBBU1MgU1ZHR3JhZGllbnRFbGVt
ZW50IGluaGVyaXRzIFNWR0VsZW1lbnQKQEAgLTY4LDcgKzY4LDcgQEAgUEFTUyBTVkdNZXRhZGF0
YUVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAogUEFTUyBTVkdNaXNzaW5nR2x5cGhFbGVtZW50
IGluaGVyaXRzIFNWR0VsZW1lbnQKIFBBU1MgU1ZHTnVtYmVyIGluaGVyaXRzIE9iamVjdAogUEFT
UyBTVkdOdW1iZXJMaXN0IGluaGVyaXRzIE9iamVjdAotRkFJTCBTVkdQYXRoRWxlbWVudCBzaG91
bGQgaW5oZXJpdCBTVkdHZW9tZXRyeUVsZW1lbnQgYnV0IGdvdCBTVkdHcmFwaGljc0VsZW1lbnQg
aW5zdGVhZAorUEFTUyBTVkdQYXRoRWxlbWVudCBpbmhlcml0cyBTVkdHZW9tZXRyeUVsZW1lbnQK
IFBBU1MgU1ZHUGF0aFNlZyBpbmhlcml0cyBPYmplY3QKIFBBU1MgU1ZHUGF0aFNlZ0FyY0FicyBp
bmhlcml0cyBTVkdQYXRoU2VnCiBQQVNTIFNWR1BhdGhTZWdBcmNSZWwgaW5oZXJpdHMgU1ZHUGF0
aFNlZwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>