<?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>235279</bug_id>
          
          <creation_ts>2022-01-16 08:57:38 -0800</creation_ts>
          <short_desc>[WebIDL] Blob-related methods should use _relevant_ context instead of _current_</short_desc>
          <delta_ts>2022-01-25 17:12:14 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=230941</see_also>
    
    <see_also>https://github.com/web-platform-tests/wpt/pull/32545</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831301</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-16 08:57:38 -0800</bug_when>
    <thetext>[WebIDL] Blob-related methods should use _relevant_ context instead of _current_</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831303</commentid>
    <comment_count>1</comment_count>
      <attachid>449281</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-16 09:00:33 -0800</bug_when>
    <thetext>Created attachment 449281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833095</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-23 08:58:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/87942828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833183</commentid>
    <comment_count>3</comment_count>
      <attachid>449775</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-23 18:58:17 -0800</bug_when>
    <thetext>Created attachment 449775
Patch

Add ChangeLog and tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833184</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-01-23 19:00:37 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833844</commentid>
    <comment_count>5</comment_count>
      <attachid>449963</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-25 13:54:07 -0800</bug_when>
    <thetext>Created attachment 449963
Patch

Remove invalid test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833926</commentid>
    <comment_count>6</comment_count>
      <attachid>449963</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-01-25 16:34:57 -0800</bug_when>
    <thetext>Comment on attachment 449963
Patch

Thanks for review, mac-AS-debug-wk2 failures are unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833948</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-25 17:12:09 -0800</bug_when>
    <thetext>Committed r288592 (246414@main): &lt;https://commits.webkit.org/246414@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449963.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449281</attachid>
            <date>2022-01-16 09:00:33 -0800</date>
            <delta_ts>2022-01-23 18:58:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235279-20220116170032.patch</filename>
            <type>text/plain</type>
            <size>13097</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODA3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAxLTE2ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBCbG9iLXJl
bGF0ZWQgbWV0aG9kcyBzaG91bGQgdXNlIF9yZWxldmFudF8gY29udGV4dCBpbnN0ZWFkIG9mIF9j
dXJyZW50XworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QmxvYjo6c2xpY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Qmxv
Yjo6bG9hZEJsb2IpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6dGV4dCk6CisgICAgICAgIChX
ZWJDb3JlOjpCbG9iOjphcnJheUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpCbG9iOjpzdHJl
YW0pOgorICAgICAgICAqIGZpbGVhcGkvQmxvYi5oOgorICAgICAgICAqIGZpbGVhcGkvQmxvYi5p
ZGw6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6dG9CbG9iKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxD
YW52YXNFbGVtZW50Ojp0cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbik6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Y2FwdHVyZVN0cmVhbSk6CisgICAgICAgICogaHRtbC9I
VE1MQ2FudmFzRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRs
OgorCiAyMDIyLTAxLTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDU1MgR3JhZGllbnRzOiBpbnRlcnBvbGF0aW9uIG1vZGUgc2hvdWxkIGRlZmF1bHQgdG8gT0tM
YWIgaWYgYW55IG5vbi1sZWdhY3kgY29sb3Igc3ludGF4IGNvbG9ycyBhcmUgdXNlZCBpbiB0aGUg
c3RvcHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAkocmV2aXNpb24gMjg4MDM0KQorKysg
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDkg
KzE1OSw5IEBAIEJsb2I6On5CbG9iKCkKICAgICAgICAgKCptX2Jsb2JMb2FkZXJzLmJlZ2luKCkp
LT5jYW5jZWwoKTsKIH0KIAotUmVmPEJsb2I+IEJsb2I6OnNsaWNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3Ry
aW5nJiBjb250ZW50VHlwZSkgY29uc3QKK1JlZjxCbG9iPiBCbG9iOjpzbGljZShsb25nIGxvbmcg
c3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGNvbnN0CiB7
Ci0gICAgYXV0byBibG9iID0gYWRvcHRSZWYoKm5ldyBCbG9iKCZjb250ZXh0LCBtX2ludGVybmFs
VVJMLCBzdGFydCwgZW5kLCBjb250ZW50VHlwZSkpOworICAgIGF1dG8gYmxvYiA9IGFkb3B0UmVm
KCpuZXcgQmxvYihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1faW50ZXJuYWxVUkwsIHN0YXJ0
LCBlbmQsIGNvbnRlbnRUeXBlKSk7CiAgICAgYmxvYi0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAg
cmV0dXJuIGJsb2I7CiB9CkBAIC0xOTYsMjIgKzE5NiwyMiBAQCBTdHJpbmcgQmxvYjo6bm9ybWFs
aXplZENvbnRlbnRUeXBlKGNvbnN0CiAgICAgcmV0dXJuIGNvbnRlbnRUeXBlLmNvbnZlcnRUb0FT
Q0lJTG93ZXJjYXNlKCk7CiB9CiAKLXZvaWQgQmxvYjo6bG9hZEJsb2IoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgRmlsZVJlYWRlckxvYWRlcjo6UmVhZFR5cGUgcmVhZFR5cGUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoQmxvYkxvYWRlciYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
dm9pZCBCbG9iOjpsb2FkQmxvYihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkVHlwZSByZWFkVHlwZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChCbG9iTG9hZGVyJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgYXV0byBibG9iTG9hZGVyID0gbWFrZVVuaXF1ZTxCbG9iTG9hZGVyPihbdGhpcywg
cGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEJsb2JMb2FkZXImIGJsb2JMb2Fk
ZXIpIG11dGFibGUgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihibG9iTG9hZGVyKTsKICAg
ICAgICAgbV9ibG9iTG9hZGVycy50YWtlKCZibG9iTG9hZGVyKTsKICAgICB9KTsKIAotICAgIGJs
b2JMb2FkZXItPnN0YXJ0KCp0aGlzLCAmY29udGV4dCwgcmVhZFR5cGUpOworICAgIGJsb2JMb2Fk
ZXItPnN0YXJ0KCp0aGlzLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHJlYWRUeXBlKTsKIAog
ICAgIGlmIChibG9iTG9hZGVyLT5pc0xvYWRpbmcoKSkKICAgICAgICAgbV9ibG9iTG9hZGVycy5h
ZGQoV1RGTW92ZShibG9iTG9hZGVyKSk7CiB9CiAKLXZvaWQgQmxvYjo6dGV4dChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit2
b2lkIEJsb2I6OnRleHQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIGxv
YWRCbG9iKGNvbnRleHQsIEZpbGVSZWFkZXJMb2FkZXI6OlJlYWRBc1RleHQsIFtwcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKV0oQmxvYkxvYWRlciYgYmxvYkxvYWRlcikgbXV0YWJsZSB7CisgICAg
bG9hZEJsb2IoRmlsZVJlYWRlckxvYWRlcjo6UmVhZEFzVGV4dCwgW3Byb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpXShCbG9iTG9hZGVyJiBibG9iTG9hZGVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYg
KGF1dG8gb3B0aW9uYWxFcnJvckNvZGUgPSBibG9iTG9hZGVyLmVycm9yQ29kZSgpKSB7CiAgICAg
ICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgKm9wdGlvbmFsRXJyb3JDb2RlIH0p
OwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjIwLDkgKzIyMCw5IEBAIHZvaWQgQmxvYjo6dGV4
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiAKICAgICB9KTsKIH0KIAotdm9pZCBCbG9iOjphcnJh
eUJ1ZmZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit2b2lkIEJsb2I6OmFycmF5QnVmZmVyKFJlZjxEZWZlcnJlZFByb21p
c2U+JiYgcHJvbWlzZSkKIHsKLSAgICBsb2FkQmxvYihjb250ZXh0LCBGaWxlUmVhZGVyTG9hZGVy
OjpSZWFkQXNBcnJheUJ1ZmZlciwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShCbG9iTG9h
ZGVyJiBibG9iTG9hZGVyKSBtdXRhYmxlIHsKKyAgICBsb2FkQmxvYihGaWxlUmVhZGVyTG9hZGVy
OjpSZWFkQXNBcnJheUJ1ZmZlciwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShCbG9iTG9h
ZGVyJiBibG9iTG9hZGVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGF1dG8gb3B0aW9uYWxFcnJv
ckNvZGUgPSBibG9iTG9hZGVyLmVycm9yQ29kZSgpKSB7CiAgICAgICAgICAgICBwcm9taXNlLT5y
ZWplY3QoRXhjZXB0aW9uIHsgKm9wdGlvbmFsRXJyb3JDb2RlIH0pOwogICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMjM2LDcgKzIzNiw3IEBAIHZvaWQgQmxvYjo6YXJyYXlCdWZmZXIoU2NyaXB0RXhl
Y3V0aW9uQ28KICAgICB9KTsKIH0KIAotRXhjZXB0aW9uT3I8UmVmPFJlYWRhYmxlU3RyZWFtPj4g
QmxvYjo6c3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpCitFeGNlcHRpb25PcjxSZWY8UmVhZGFibGVTdHJlYW0+PiBCbG9iOjpzdHJlYW0oKQogewog
ICAgIGNsYXNzIEJsb2JTdHJlYW1Tb3VyY2UgOiBwdWJsaWMgRmlsZVJlYWRlckxvYWRlckNsaWVu
dCwgcHVibGljIFJlYWRhYmxlU3RyZWFtU291cmNlIHsKICAgICBwdWJsaWM6CkBAIC0yOTksMTAg
KzI5OSwxMSBAQCBFeGNlcHRpb25PcjxSZWY8UmVhZGFibGVTdHJlYW0+PiBCbG9iOjpzCiAgICAg
ICAgIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBtX2V4Y2VwdGlvbjsKICAgICB9OwogCi0gICAg
YXV0byogZ2xvYmFsT2JqZWN0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5nbG9iYWxPYmplY3Qo
KTsKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGF1
dG8qIGdsb2JhbE9iamVjdCA9IGNvbnRleHQgPyBjb250ZXh0LT5nbG9iYWxPYmplY3QoKSA6IG51
bGxwdHI7CiAgICAgaWYgKCFnbG9iYWxPYmplY3QpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciB9OwotICAgIHJldHVybiBSZWFkYWJsZVN0cmVhbTo6Y3JlYXRl
KCpnbG9iYWxPYmplY3QsIGFkb3B0UmVmKCpuZXcgQmxvYlN0cmVhbVNvdXJjZShzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCAqdGhpcykpKTsKKyAgICByZXR1cm4gUmVhZGFibGVTdHJlYW06OmNyZWF0
ZSgqZ2xvYmFsT2JqZWN0LCBhZG9wdFJlZigqbmV3IEJsb2JTdHJlYW1Tb3VyY2UoKmNvbnRleHQs
ICp0aGlzKSkpOwogfQogCiAjaWYgQVNTRVJUX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvQmxvYi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxv
Yi5oCShyZXZpc2lvbiAyODgwMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaAko
d29ya2luZyBjb3B5KQpAQCAtMTExLDExICsxMTEsMTEgQEAgcHVibGljOgogICAgIC8vIFVSTFJl
Z2lzdHJhYmxlCiAgICAgVVJMUmVnaXN0cnkmIHJlZ2lzdHJ5KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
LSAgICBSZWY8QmxvYj4gc2xpY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGxvbmcgbG9uZyBz
dGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgY29uc3Q7Cisg
ICAgUmVmPEJsb2I+IHNsaWNlKGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSkgY29uc3Q7CiAKLSAgICB2b2lkIHRleHQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgYXJyYXlCdWZm
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAg
IEV4Y2VwdGlvbk9yPFJlZjxSZWFkYWJsZVN0cmVhbT4+IHN0cmVhbShTY3JpcHRFeGVjdXRpb25D
b250ZXh0Jik7CisgICAgdm9pZCB0ZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZv
aWQgYXJyYXlCdWZmZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgRXhjZXB0aW9uT3I8
UmVmPFJlYWRhYmxlU3RyZWFtPj4gc3RyZWFtKCk7CiAKICAgICAvLyBLZWVwaW5nIHRoZSBoYW5k
bGUgYWxpdmUgd2lsbCBrZWVwIHRoZSBCbG9iIGRhdGEgYWxpdmUgKGJ1dCBub3QgdGhlIEJsb2Ig
b2JqZWN0KS4KICAgICBCbG9iVVJMSGFuZGxlIGhhbmRsZSgpIGNvbnN0OwpAQCAtMTM4LDcgKzEz
OCw3IEBAIHByb3RlY3RlZDoKICAgICBCbG9iKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5kLCBjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGxvYWRCbG9iKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBGaWxlUmVhZGVyTG9hZGVyOjpSZWFkVHlwZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChCbG9iTG9hZGVyJik+JiYpOworICAgIHZvaWQgbG9hZEJsb2IoRmlsZVJlYWRl
ckxvYWRlcjo6UmVhZFR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQmxvYkxvYWRlciYpPiYm
KTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwJ
KHJldmlzaW9uIDI4ODAzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDkgKzQyLDkgQEAgdHlwZWRlZiAoQnVmZmVyU291cmNlIG9yIEJs
b2Igb3IgVVNWU3RyaQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
c2l6ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gQmxvYiBzbGljZShvcHRpb25hbCBsb25nIGxv
bmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGxvbmcgZW5kID0gMHg3RkZGRkZGRkZGRkZGRkZG
LCBvcHRpb25hbCBET01TdHJpbmcgY29udGVudFR5cGUgPSAiIik7CisgICAgW05ld09iamVjdF0g
QmxvYiBzbGljZShvcHRpb25hbCBsb25nIGxvbmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGxv
bmcgZW5kID0gMHg3RkZGRkZGRkZGRkZGRkZGLCBvcHRpb25hbCBET01TdHJpbmcgY29udGVudFR5
cGUgPSAiIik7CiAKLSAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0XSBSZWFkYWJsZVN0cmVhbSBzdHJlYW0oKTsKLSAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPFVTVlN0cmluZz4gdGV4dCgpOwotICAgIFtO
ZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8QXJyYXlC
dWZmZXI+IGFycmF5QnVmZmVyKCk7CisgICAgW05ld09iamVjdF0gUmVhZGFibGVTdHJlYW0gc3Ry
ZWFtKCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxVU1ZTdHJpbmc+IHRleHQoKTsKKyAgICBb
TmV3T2JqZWN0XSBQcm9taXNlPEFycmF5QnVmZmVyPiBhcnJheUJ1ZmZlcigpOwogfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAyODgw
MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjkyLDEzICs2OTIsMTMgQEAgRXhjZXB0aW9uT3I8VW5jYWNoZWRTdHJpbmc+
IEhUTUxDYW52YXNFbAogICAgIHJldHVybiB0b0RhdGFVUkwobWltZVR5cGUsIHsgfSk7CiB9CiAK
LUV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0b0Jsb2IoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPEJsb2JDYWxsYmFjaz4mJiBjYWxsYmFjaywgY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHlWYWx1ZSkKK0V4Y2VwdGlvbk9y
PHZvaWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0b0Jsb2IoUmVmPEJsb2JDYWxsYmFjaz4mJiBjYWxs
YmFjaywgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHlWYWx1ZSkK
IHsKICAgICBpZiAoIW9yaWdpbkNsZWFuKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBT
ZWN1cml0eUVycm9yIH07CiAKICAgICBpZiAoc2l6ZSgpLmlzRW1wdHkoKSB8fCAhYnVmZmVyKCkp
IHsKLSAgICAgICAgY2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgbnVsbHB0cik7
CisgICAgICAgIGNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50KCksIG51bGxwdHIp
OwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpKQpAQCAtNzEz
LDcgKzcxMyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0b0IKICAg
ICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGJsb2JEYXRhID0gZGF0YShpbWFnZURhdGEtPnBpeGVsQnVm
ZmVyKCksIGVuY29kaW5nTUlNRVR5cGUsIHF1YWxpdHkpOwogICAgICAgICBpZiAoIWJsb2JEYXRh
LmlzRW1wdHkoKSkKICAgICAgICAgICAgIGJsb2IgPSBCbG9iOjpjcmVhdGUoJmRvY3VtZW50KCks
IFdURk1vdmUoYmxvYkRhdGEpLCBlbmNvZGluZ01JTUVUeXBlKTsKLSAgICAgICAgY2FsbGJhY2st
PnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgV1RGTW92ZShibG9iKSk7CisgICAgICAgIGNhbGxi
YWNrLT5zY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50KCksIFdURk1vdmUoYmxvYikpOwogICAgICAg
ICByZXR1cm4geyB9OwogICAgIH0KICNlbmRpZgpAQCAtNzI0LDEyICs3MjQsMTIgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gSFRNTENhbnZhc0VsZW1lbnQ6OnRvQgogICAgIFZlY3Rvcjx1aW50OF90PiBi
bG9iRGF0YSA9IGJ1ZmZlcigpLT50b0RhdGEoZW5jb2RpbmdNSU1FVHlwZSwgcXVhbGl0eSk7CiAg
ICAgaWYgKCFibG9iRGF0YS5pc0VtcHR5KCkpCiAgICAgICAgIGJsb2IgPSBCbG9iOjpjcmVhdGUo
JmRvY3VtZW50KCksIFdURk1vdmUoYmxvYkRhdGEpLCBlbmNvZGluZ01JTUVUeXBlKTsKLSAgICBj
YWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBXVEZNb3ZlKGJsb2IpKTsKKyAgICBj
YWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhkb2N1bWVudCgpLCBXVEZNb3ZlKGJsb2IpKTsKICAg
ICByZXR1cm4geyB9OwogfQogCiAjaWYgRU5BQkxFKE9GRlNDUkVFTl9DQU5WQVMpCi1FeGNlcHRp
b25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gSFRNTENhbnZhc0VsZW1lbnQ6OnRyYW5zZmVyQ29u
dHJvbFRvT2Zmc2NyZWVuKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCitFeGNlcHRp
b25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gSFRNTENhbnZhc0VsZW1lbnQ6OnRyYW5zZmVyQ29u
dHJvbFRvT2Zmc2NyZWVuKCkKIHsKICAgICBpZiAobV9jb250ZXh0KQogICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKQEAgLTczOCw3ICs3MzgsNyBAQCBFeGNl
cHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gSFRNTENhCiAgICAgaWYgKG1fY29udGV4dC0+
aXNBY2NlbGVyYXRlZCgpKQogICAgICAgICBpbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0
aW9uKCk7CiAKLSAgICByZXR1cm4gT2Zmc2NyZWVuQ2FudmFzOjpjcmVhdGUoY29udGV4dCwgKnRo
aXMpOworICAgIHJldHVybiBPZmZzY3JlZW5DYW52YXM6OmNyZWF0ZShkb2N1bWVudCgpLCAqdGhp
cyk7CiB9CiAjZW5kaWYKIApAQCAtNzkxLDcgKzc5MSw3IEBAIFJlZlB0cjxNZWRpYVNhbXBsZT4g
SFRNTENhbnZhc0VsZW1lbnQ6OnQKICNlbmRpZgogfQogCi1FeGNlcHRpb25PcjxSZWY8TWVkaWFT
dHJlYW0+PiBIVE1MQ2FudmFzRWxlbWVudDo6Y2FwdHVyZVN0cmVhbShEb2N1bWVudCYgZG9jdW1l
bnQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiYmIGZyYW1lUmVxdWVzdFJhdGUpCitFeGNlcHRpb25P
cjxSZWY8TWVkaWFTdHJlYW0+PiBIVE1MQ2FudmFzRWxlbWVudDo6Y2FwdHVyZVN0cmVhbShzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4mJiBmcmFtZVJlcXVlc3RSYXRlKQogewogICAgIGlmICghb3JpZ2lu
Q2xlYW4oKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbihTZWN1cml0eUVycm9yLCAiQ2FudmFz
IGlzIHRhaW50ZWQiX3MpOwpAQCAtODAxLDggKzgwMSw4IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZWRp
YVN0cmVhbT4+IEhUTUxDYW52YXMKICAgICBpZiAoZnJhbWVSZXF1ZXN0UmF0ZSAmJiBmcmFtZVJl
cXVlc3RSYXRlLnZhbHVlKCkgPCAwKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uKE5vdFN1cHBv
cnRlZEVycm9yLCAiZnJhbWVSZXF1ZXN0UmF0ZSBpcyBuZWdhdGl2ZSJfcyk7CiAKLSAgICBhdXRv
IHRyYWNrID0gQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZShkb2N1bWVudCwg
KnRoaXMsIFdURk1vdmUoZnJhbWVSZXF1ZXN0UmF0ZSkpOwotICAgIGF1dG8gc3RyZWFtID0gIE1l
ZGlhU3RyZWFtOjpjcmVhdGUoZG9jdW1lbnQpOworICAgIGF1dG8gdHJhY2sgPSBDYW52YXNDYXB0
dXJlTWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKGRvY3VtZW50KCksICp0aGlzLCBXVEZNb3ZlKGZy
YW1lUmVxdWVzdFJhdGUpKTsKKyAgICBhdXRvIHN0cmVhbSA9IE1lZGlhU3RyZWFtOjpjcmVhdGUo
ZG9jdW1lbnQoKSk7CiAgICAgc3RyZWFtLT5hZGRUcmFjayh0cmFjayk7CiAgICAgcmV0dXJuIHN0
cmVhbTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgJKHJl
dmlzaW9uIDI4ODAzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtOTYsOSArOTYsOSBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmluZz4gdG9EYXRhVVJMKGNvbnN0IFN0cmlu
ZyYgbWltZVR5cGUsIEpTQzo6SlNWYWx1ZSBxdWFsaXR5KTsKICAgICBXRUJDT1JFX0VYUE9SVCBF
eGNlcHRpb25PcjxVbmNhY2hlZFN0cmluZz4gdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRvQmxvYihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVmPEJsb2JDYWxsYmFjaz4mJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgSlNDOjpKU1Zh
bHVlIHF1YWxpdHkpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRvQmxvYihSZWY8QmxvYkNhbGxi
YWNrPiYmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBKU0M6OkpTVmFsdWUgcXVhbGl0eSk7CiAj
aWYgRU5BQkxFKE9GRlNDUkVFTl9DQU5WQVMpCi0gICAgRXhjZXB0aW9uT3I8UmVmPE9mZnNjcmVl
bkNhbnZhcz4+IHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmKTsKKyAgICBFeGNlcHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gdHJhbnNmZXJDb250
cm9sVG9PZmZzY3JlZW4oKTsKICNlbmRpZgogCiAgICAgLy8gVXNlZCBmb3IgcmVuZGVyaW5nCkBA
IC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAg
ICBSZWZQdHI8TWVkaWFTYW1wbGU+IHRvTWVkaWFTYW1wbGUoKTsKLSAgICBFeGNlcHRpb25PcjxS
ZWY8TWVkaWFTdHJlYW0+PiBjYXB0dXJlU3RyZWFtKERvY3VtZW50Jiwgc3RkOjpvcHRpb25hbDxk
b3VibGU+JiYgZnJhbWVSZXF1ZXN0UmF0ZSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3Ry
ZWFtPj4gY2FwdHVyZVN0cmVhbShzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBmcmFtZVJlcXVlc3RS
YXRlKTsKICNlbmRpZgogCiAgICAgSW1hZ2UqIGNvcGllZEltYWdlKCkgY29uc3QgZmluYWw7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAkocmV2aXNpb24g
Mjg4MDM0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTQ4LDggKzQ4LDggQEAgdHlwZWRlZiAoCiAgICAgW0NhbGxXaXRoPUds
b2JhbE9iamVjdF0gUmVuZGVyaW5nQ29udGV4dD8gZ2V0Q29udGV4dChET01TdHJpbmcgY29udGV4
dElkLCBhbnkuLi4gYXJndW1lbnRzKTsKIAogICAgIERPTVN0cmluZyB0b0RhdGFVUkwob3B0aW9u
YWwgRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIGFueSBxdWFsaXR5KTsKLSAgICBbQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVkIHRvQmxvYihCbG9iQ2FsbGJhY2sgY2Fs
bGJhY2ssIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBhbnkgcXVhbGl0eSk7Ci0g
ICAgW0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zmc2Ny
ZWVuQ2FudmFzRW5hYmxlZCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gT2Zmc2Ny
ZWVuQ2FudmFzIHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7CisgICAgdW5kZWZpbmVkIHRv
QmxvYihCbG9iQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlLCBvcHRp
b25hbCBhbnkgcXVhbGl0eSk7CisgICAgW0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVu
YWJsZWRBdFJ1bnRpbWU9T2Zmc2NyZWVuQ2FudmFzRW5hYmxlZCwgTmV3T2JqZWN0XSBPZmZzY3Jl
ZW5DYW52YXMgdHJhbnNmZXJDb250cm9sVG9PZmZzY3JlZW4oKTsKIAotICAgIFtDb25kaXRpb25h
bD1NRURJQV9TVFJFQU0sIENhbGxXaXRoPURvY3VtZW50LCBOZXdPYmplY3RdIE1lZGlhU3RyZWFt
IGNhcHR1cmVTdHJlYW0ob3B0aW9uYWwgZG91YmxlIGZyYW1lUmVxdWVzdFJhdGUpOworICAgIFtD
b25kaXRpb25hbD1NRURJQV9TVFJFQU0sIE5ld09iamVjdF0gTWVkaWFTdHJlYW0gY2FwdHVyZVN0
cmVhbShvcHRpb25hbCBkb3VibGUgZnJhbWVSZXF1ZXN0UmF0ZSk7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449775</attachid>
            <date>2022-01-23 18:58:17 -0800</date>
            <delta_ts>2022-01-25 13:54:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235279-20220124025815.patch</filename>
            <type>text/plain</type>
            <size>22288</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODA3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTIzICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBCbG9iLXJl
bGF0ZWQgbWV0aG9kcyBzaG91bGQgdXNlIF9yZWxldmFudF8gY29udGV4dCBpbnN0ZWFkIG9mIF9j
dXJyZW50XworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9sbG93aW5nIG1ldGhvZHMgdG8gcmVseSBvbiBfcmVsZXZh
bnRfIGdsb2JhbCBvYmplY3QgaW5zdGVhZCBvZiBfY3VycmVudF86CisKKyAgICAgICAgICAxLiBC
bG9iJ3Mgc2xpY2UoKSAvIHN0cmVhbSgpIC8gYXJyYXlCdWZmZXIoKSAvIHRleHQoKSBhcyBleHBs
aWNpdGx5IHJlcXVpcmVkIGJ5IHRoZSBGaWxlIEFQSSBzcGVjIFsxXS4KKyAgICAgICAgICAgICBC
ZWZvcmUgdGhpcyBjaGFuZ2UsIG1ldGhvZHMgZnJvbSBkZXRhY2hlZCA8aWZyYW1lPiB3ZXJlIHRo
cm93aW5nIHdoZW4gY2FsbGVkIG9uIGEgbWFpbiBmcmFtZSdzIEJsb2IuCisgICAgICAgICAgICAg
QWxpZ25zIFdlYktpdCB3aXRoIEJsaW5rIGFuZCBHZWNrby4KKworICAgICAgICAgIDIuIEhUTUxD
YW52YXNFbGVtZW50J3MgdG9CbG9iKCkgYXMgcGVyIEhUTUwgc3BlYyBbMl06IGEgdGFzayBzaG91
bGQgYmUgcXVldWVkIG9uIF9yZWxldmFudF8gZG9jdW1lbnQncworICAgICAgICAgICAgIGV2ZW50
IGxvb3AsIGFuZCBzaG91bGQgbm90IGJlIGV4ZWN1dGVkIGlmIHRoZSA8Y2FudmFzPiBlbGVtZW50
IGlzIGZyb20gbm9uIGZ1bGx5IGFjdGl2ZSBkb2N1bWVudCBbM10uCisgICAgICAgICAgICAgVGhp
cyB3YXMgY29ycmVjdCBpbiBTYWZhcmkgMTQuMSwgYnV0IHJlZ3Jlc3NlZCBzb21lIHRpbWUgbGF0
ZXIuIEFsaWducyB3aXRoIEJsaW5rLgorCisgICAgICAgICAgMy4gSFRNTENhbnZhc0VsZW1lbnQn
cyB0cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbigpIC8gY2FwdHVyZVN0cmVhbSgpIHBlciByZWNv
bW1lbmRhdGF0aW9uIGZvciBzcGVjCisgICAgICAgICAgICAgYXV0aG9ycyBbNF0sIGFuZCB0byBh
bGlnbiB3aXRoIHRvQmxvYigpLiB0cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbigpIHNob3VsZCBj
ZXJ0YWlubHkgcGFzcyBfcmVsZXZhbnRfCisgICAgICAgICAgICAgY29udGV4dCwgd2hpY2ggd291
bGQgYmUgdXNlZCBsYXRlciBmb3IgQmxvYiBjcmVhdGlvbi4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL0ZpbGVBUEkvI2Jsb2ItZ2V0LXN0cmVhbQorICAgICAgICBbMl0gaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY2FudmFzLWJsb2Itc2VyaWFsaXNhdGlvbi10YXNr
LXNvdXJjZQorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY29uY2Vw
dC10YXNrLXJ1bm5hYmxlCisgICAgICAgIFs0XSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3Jn
L211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjcmVhbG1zLXNldHRpbmdzLW9iamVjdHMtZ2xvYmFs
LW9iamVjdHM6Y29uY2VwdC1yZWxldmFudC1ldmVyeXRoaW5nLTIKKworICAgICAgICBUZXN0czog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2Jsb2IvQmxvYi1tZXRob2Rz
LWZyb20tZGV0YWNoZWQtZnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1jYW52
YXMtZWxlbWVudC90b0Jsb2ItdXNlcy1yZWxldmFudC1kb2N1bWVudC10by1lbnF1ZXVlLXRhc2su
aHRtbAorCisgICAgICAgICogZmlsZWFwaS9CbG9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJs
b2I6OnNsaWNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJsb2I6OmxvYWRCbG9iKToKKyAg
ICAgICAgKFdlYkNvcmU6OkJsb2I6OnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6YXJy
YXlCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6c3RyZWFtKToKKyAgICAgICAgKiBm
aWxlYXBpL0Jsb2IuaDoKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuaWRsOgorICAgICAgICAqIGh0
bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0Vs
ZW1lbnQ6OnRvQmxvYik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6dHJh
bnNmZXJDb250cm9sVG9PZmZzY3JlZW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0Vs
ZW1lbnQ6OmNhcHR1cmVTdHJlYW0pOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbDoKKyAgICAgICAgTWFyayB0
cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbigpIGFzIFtOZXdPYmplY3RdLgorCiAyMDIyLTAxLTE1
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBDU1MgR3JhZGllbnRz
OiBpbnRlcnBvbGF0aW9uIG1vZGUgc2hvdWxkIGRlZmF1bHQgdG8gT0tMYWIgaWYgYW55IG5vbi1s
ZWdhY3kgY29sb3Igc3ludGF4IGNvbG9ycyBhcmUgdXNlZCBpbiB0aGUgc3RvcHMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9CbG9iLmNwcAkocmV2aXNpb24gMjg4MDM0KQorKysgU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9CbG9iLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDkgKzE1OSw5IEBAIEJsb2I6
On5CbG9iKCkKICAgICAgICAgKCptX2Jsb2JMb2FkZXJzLmJlZ2luKCkpLT5jYW5jZWwoKTsKIH0K
IAotUmVmPEJsb2I+IEJsb2I6OnNsaWNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSkgY29uc3QKK1JlZjxCbG9iPiBCbG9iOjpzbGljZShsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9u
ZyBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGNvbnN0CiB7Ci0gICAgYXV0byBibG9i
ID0gYWRvcHRSZWYoKm5ldyBCbG9iKCZjb250ZXh0LCBtX2ludGVybmFsVVJMLCBzdGFydCwgZW5k
LCBjb250ZW50VHlwZSkpOworICAgIGF1dG8gYmxvYiA9IGFkb3B0UmVmKCpuZXcgQmxvYihzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCksIG1faW50ZXJuYWxVUkwsIHN0YXJ0LCBlbmQsIGNvbnRlbnRU
eXBlKSk7CiAgICAgYmxvYi0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgcmV0dXJuIGJsb2I7CiB9
CkBAIC0xOTYsMjIgKzE5NiwyMiBAQCBTdHJpbmcgQmxvYjo6bm9ybWFsaXplZENvbnRlbnRUeXBl
KGNvbnN0CiAgICAgcmV0dXJuIGNvbnRlbnRUeXBlLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7
CiB9CiAKLXZvaWQgQmxvYjo6bG9hZEJsb2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgRmlsZVJlYWRlckxvYWRlcjo6UmVhZFR5cGUgcmVhZFR5cGUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoQmxvYkxvYWRlciYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBCbG9iOjpsb2Fk
QmxvYihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkVHlwZSByZWFkVHlwZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChCbG9iTG9hZGVyJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byBi
bG9iTG9hZGVyID0gbWFrZVVuaXF1ZTxCbG9iTG9hZGVyPihbdGhpcywgcGVuZGluZ0FjdGl2aXR5
ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKEJsb2JMb2FkZXImIGJsb2JMb2FkZXIpIG11dGFibGUgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihibG9iTG9hZGVyKTsKICAgICAgICAgbV9ibG9iTG9h
ZGVycy50YWtlKCZibG9iTG9hZGVyKTsKICAgICB9KTsKIAotICAgIGJsb2JMb2FkZXItPnN0YXJ0
KCp0aGlzLCAmY29udGV4dCwgcmVhZFR5cGUpOworICAgIGJsb2JMb2FkZXItPnN0YXJ0KCp0aGlz
LCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHJlYWRUeXBlKTsKIAogICAgIGlmIChibG9iTG9h
ZGVyLT5pc0xvYWRpbmcoKSkKICAgICAgICAgbV9ibG9iTG9hZGVycy5hZGQoV1RGTW92ZShibG9i
TG9hZGVyKSk7CiB9CiAKLXZvaWQgQmxvYjo6dGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit2b2lkIEJsb2I6OnRleHQo
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewotICAgIGxvYWRCbG9iKGNvbnRleHQs
IEZpbGVSZWFkZXJMb2FkZXI6OlJlYWRBc1RleHQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KV0oQmxvYkxvYWRlciYgYmxvYkxvYWRlcikgbXV0YWJsZSB7CisgICAgbG9hZEJsb2IoRmlsZVJl
YWRlckxvYWRlcjo6UmVhZEFzVGV4dCwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShCbG9i
TG9hZGVyJiBibG9iTG9hZGVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGF1dG8gb3B0aW9uYWxF
cnJvckNvZGUgPSBibG9iTG9hZGVyLmVycm9yQ29kZSgpKSB7CiAgICAgICAgICAgICBwcm9taXNl
LT5yZWplY3QoRXhjZXB0aW9uIHsgKm9wdGlvbmFsRXJyb3JDb2RlIH0pOwogICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMjIwLDkgKzIyMCw5IEBAIHZvaWQgQmxvYjo6dGV4dChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiAKICAgICB9KTsKIH0KIAotdm9pZCBCbG9iOjphcnJheUJ1ZmZlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2Up
Cit2b2lkIEJsb2I6OmFycmF5QnVmZmVyKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
IHsKLSAgICBsb2FkQmxvYihjb250ZXh0LCBGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNBcnJheUJ1
ZmZlciwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShCbG9iTG9hZGVyJiBibG9iTG9hZGVy
KSBtdXRhYmxlIHsKKyAgICBsb2FkQmxvYihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNBcnJheUJ1
ZmZlciwgW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShCbG9iTG9hZGVyJiBibG9iTG9hZGVy
KSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGF1dG8gb3B0aW9uYWxFcnJvckNvZGUgPSBibG9iTG9h
ZGVyLmVycm9yQ29kZSgpKSB7CiAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9u
IHsgKm9wdGlvbmFsRXJyb3JDb2RlIH0pOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjM2LDcg
KzIzNiw3IEBAIHZvaWQgQmxvYjo6YXJyYXlCdWZmZXIoU2NyaXB0RXhlY3V0aW9uQ28KICAgICB9
KTsKIH0KIAotRXhjZXB0aW9uT3I8UmVmPFJlYWRhYmxlU3RyZWFtPj4gQmxvYjo6c3RyZWFtKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCitFeGNlcHRpb25P
cjxSZWY8UmVhZGFibGVTdHJlYW0+PiBCbG9iOjpzdHJlYW0oKQogewogICAgIGNsYXNzIEJsb2JT
dHJlYW1Tb3VyY2UgOiBwdWJsaWMgRmlsZVJlYWRlckxvYWRlckNsaWVudCwgcHVibGljIFJlYWRh
YmxlU3RyZWFtU291cmNlIHsKICAgICBwdWJsaWM6CkBAIC0yOTksMTAgKzI5OSwxMSBAQCBFeGNl
cHRpb25PcjxSZWY8UmVhZGFibGVTdHJlYW0+PiBCbG9iOjpzCiAgICAgICAgIHN0ZDo6b3B0aW9u
YWw8RXhjZXB0aW9uPiBtX2V4Y2VwdGlvbjsKICAgICB9OwogCi0gICAgYXV0byogZ2xvYmFsT2Jq
ZWN0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5nbG9iYWxPYmplY3QoKTsKKyAgICBhdXRvKiBj
b250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGF1dG8qIGdsb2JhbE9iamVj
dCA9IGNvbnRleHQgPyBjb250ZXh0LT5nbG9iYWxPYmplY3QoKSA6IG51bGxwdHI7CiAgICAgaWYg
KCFnbG9iYWxPYmplY3QpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVF
cnJvciB9OwotICAgIHJldHVybiBSZWFkYWJsZVN0cmVhbTo6Y3JlYXRlKCpnbG9iYWxPYmplY3Qs
IGFkb3B0UmVmKCpuZXcgQmxvYlN0cmVhbVNvdXJjZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAq
dGhpcykpKTsKKyAgICByZXR1cm4gUmVhZGFibGVTdHJlYW06OmNyZWF0ZSgqZ2xvYmFsT2JqZWN0
LCBhZG9wdFJlZigqbmV3IEJsb2JTdHJlYW1Tb3VyY2UoKmNvbnRleHQsICp0aGlzKSkpOwogfQog
CiAjaWYgQVNTRVJUX0VOQUJMRUQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5oCShyZXZpc2lvbiAy
ODgwMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaAkod29ya2luZyBjb3B5KQpA
QCAtMTExLDExICsxMTEsMTEgQEAgcHVibGljOgogICAgIC8vIFVSTFJlZ2lzdHJhYmxlCiAgICAg
VVJMUmVnaXN0cnkmIHJlZ2lzdHJ5KCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBSZWY8QmxvYj4g
c2xpY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25n
IGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgY29uc3Q7CisgICAgUmVmPEJsb2I+IHNs
aWNlKGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50
VHlwZSkgY29uc3Q7CiAKLSAgICB2b2lkIHRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgYXJyYXlCdWZmZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIEV4Y2VwdGlvbk9yPFJl
ZjxSZWFkYWJsZVN0cmVhbT4+IHN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAg
dm9pZCB0ZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgYXJyYXlCdWZmZXIo
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgRXhjZXB0aW9uT3I8UmVmPFJlYWRhYmxlU3Ry
ZWFtPj4gc3RyZWFtKCk7CiAKICAgICAvLyBLZWVwaW5nIHRoZSBoYW5kbGUgYWxpdmUgd2lsbCBr
ZWVwIHRoZSBCbG9iIGRhdGEgYWxpdmUgKGJ1dCBub3QgdGhlIEJsb2Igb2JqZWN0KS4KICAgICBC
bG9iVVJMSGFuZGxlIGhhbmRsZSgpIGNvbnN0OwpAQCAtMTM4LDcgKzEzOCw3IEBAIHByb3RlY3Rl
ZDoKICAgICBCbG9iKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmIHNyY1VSTCwg
bG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBl
KTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGxvYWRCbG9iKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBGaWxlUmVhZGVyTG9hZGVyOjpSZWFkVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChCbG9i
TG9hZGVyJik+JiYpOworICAgIHZvaWQgbG9hZEJsb2IoRmlsZVJlYWRlckxvYWRlcjo6UmVhZFR5
cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQmxvYkxvYWRlciYpPiYmKTsKIAogICAgIC8vIEFj
dGl2ZURPTU9iamVjdC4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwJKHJldmlzaW9uIDI4ODAz
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDkgKzQyLDkgQEAgdHlwZWRlZiAoQnVmZmVyU291cmNlIG9yIEJsb2Igb3IgVVNWU3RyaQog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gQmxvYiBzbGljZShvcHRpb25hbCBsb25nIGxvbmcgc3RhcnQgPSAwLCBv
cHRpb25hbCBsb25nIGxvbmcgZW5kID0gMHg3RkZGRkZGRkZGRkZGRkZGLCBvcHRpb25hbCBET01T
dHJpbmcgY29udGVudFR5cGUgPSAiIik7CisgICAgW05ld09iamVjdF0gQmxvYiBzbGljZShvcHRp
b25hbCBsb25nIGxvbmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGxvbmcgZW5kID0gMHg3RkZG
RkZGRkZGRkZGRkZGLCBvcHRpb25hbCBET01TdHJpbmcgY29udGVudFR5cGUgPSAiIik7CiAKLSAg
ICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBSZWFkYWJsZVN0
cmVhbSBzdHJlYW0oKTsKLSAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBQcm9taXNlPFVTVlN0cmluZz4gdGV4dCgpOwotICAgIFtOZXdPYmplY3QsIENhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8QXJyYXlCdWZmZXI+IGFycmF5QnVm
ZmVyKCk7CisgICAgW05ld09iamVjdF0gUmVhZGFibGVTdHJlYW0gc3RyZWFtKCk7CisgICAgW05l
d09iamVjdF0gUHJvbWlzZTxVU1ZTdHJpbmc+IHRleHQoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9t
aXNlPEFycmF5QnVmZmVyPiBhcnJheUJ1ZmZlcigpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZpc2lvbiAyODgwMzQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjky
LDEzICs2OTIsMTMgQEAgRXhjZXB0aW9uT3I8VW5jYWNoZWRTdHJpbmc+IEhUTUxDYW52YXNFbAog
ICAgIHJldHVybiB0b0RhdGFVUkwobWltZVR5cGUsIHsgfSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZv
aWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0b0Jsb2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgUmVmPEJsb2JDYWxsYmFjaz4mJiBjYWxsYmFjaywgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHlWYWx1ZSkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52
YXNFbGVtZW50Ojp0b0Jsb2IoUmVmPEJsb2JDYWxsYmFjaz4mJiBjYWxsYmFjaywgY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHlWYWx1ZSkKIHsKICAgICBpZiAoIW9y
aWdpbkNsZWFuKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBTZWN1cml0eUVycm9yIH07
CiAKICAgICBpZiAoc2l6ZSgpLmlzRW1wdHkoKSB8fCAhYnVmZmVyKCkpIHsKLSAgICAgICAgY2Fs
bGJhY2stPnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgbnVsbHB0cik7CisgICAgICAgIGNhbGxi
YWNrLT5zY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50KCksIG51bGxwdHIpOwogICAgICAgICByZXR1
cm4geyB9OwogICAgIH0KICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS53ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpKQpAQCAtNzEzLDcgKzcxMyw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0b0IKICAgICAgICAgVmVjdG9yPHVp
bnQ4X3Q+IGJsb2JEYXRhID0gZGF0YShpbWFnZURhdGEtPnBpeGVsQnVmZmVyKCksIGVuY29kaW5n
TUlNRVR5cGUsIHF1YWxpdHkpOwogICAgICAgICBpZiAoIWJsb2JEYXRhLmlzRW1wdHkoKSkKICAg
ICAgICAgICAgIGJsb2IgPSBCbG9iOjpjcmVhdGUoJmRvY3VtZW50KCksIFdURk1vdmUoYmxvYkRh
dGEpLCBlbmNvZGluZ01JTUVUeXBlKTsKLSAgICAgICAgY2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJh
Y2soY29udGV4dCwgV1RGTW92ZShibG9iKSk7CisgICAgICAgIGNhbGxiYWNrLT5zY2hlZHVsZUNh
bGxiYWNrKGRvY3VtZW50KCksIFdURk1vdmUoYmxvYikpOwogICAgICAgICByZXR1cm4geyB9Owog
ICAgIH0KICNlbmRpZgpAQCAtNzI0LDEyICs3MjQsMTIgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRN
TENhbnZhc0VsZW1lbnQ6OnRvQgogICAgIFZlY3Rvcjx1aW50OF90PiBibG9iRGF0YSA9IGJ1ZmZl
cigpLT50b0RhdGEoZW5jb2RpbmdNSU1FVHlwZSwgcXVhbGl0eSk7CiAgICAgaWYgKCFibG9iRGF0
YS5pc0VtcHR5KCkpCiAgICAgICAgIGJsb2IgPSBCbG9iOjpjcmVhdGUoJmRvY3VtZW50KCksIFdU
Rk1vdmUoYmxvYkRhdGEpLCBlbmNvZGluZ01JTUVUeXBlKTsKLSAgICBjYWxsYmFjay0+c2NoZWR1
bGVDYWxsYmFjayhjb250ZXh0LCBXVEZNb3ZlKGJsb2IpKTsKKyAgICBjYWxsYmFjay0+c2NoZWR1
bGVDYWxsYmFjayhkb2N1bWVudCgpLCBXVEZNb3ZlKGJsb2IpKTsKICAgICByZXR1cm4geyB9Owog
fQogCiAjaWYgRU5BQkxFKE9GRlNDUkVFTl9DQU5WQVMpCi1FeGNlcHRpb25PcjxSZWY8T2Zmc2Ny
ZWVuQ2FudmFzPj4gSFRNTENhbnZhc0VsZW1lbnQ6OnRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVu
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCitFeGNlcHRpb25PcjxSZWY8T2Zmc2Ny
ZWVuQ2FudmFzPj4gSFRNTENhbnZhc0VsZW1lbnQ6OnRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVu
KCkKIHsKICAgICBpZiAobV9jb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52
YWxpZFN0YXRlRXJyb3IgfTsKQEAgLTczOCw3ICs3MzgsNyBAQCBFeGNlcHRpb25PcjxSZWY8T2Zm
c2NyZWVuQ2FudmFzPj4gSFRNTENhCiAgICAgaWYgKG1fY29udGV4dC0+aXNBY2NlbGVyYXRlZCgp
KQogICAgICAgICBpbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CiAKLSAgICBy
ZXR1cm4gT2Zmc2NyZWVuQ2FudmFzOjpjcmVhdGUoY29udGV4dCwgKnRoaXMpOworICAgIHJldHVy
biBPZmZzY3JlZW5DYW52YXM6OmNyZWF0ZShkb2N1bWVudCgpLCAqdGhpcyk7CiB9CiAjZW5kaWYK
IApAQCAtNzkxLDcgKzc5MSw3IEBAIFJlZlB0cjxNZWRpYVNhbXBsZT4gSFRNTENhbnZhc0VsZW1l
bnQ6OnQKICNlbmRpZgogfQogCi1FeGNlcHRpb25PcjxSZWY8TWVkaWFTdHJlYW0+PiBIVE1MQ2Fu
dmFzRWxlbWVudDo6Y2FwdHVyZVN0cmVhbShEb2N1bWVudCYgZG9jdW1lbnQsIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiYmIGZyYW1lUmVxdWVzdFJhdGUpCitFeGNlcHRpb25PcjxSZWY8TWVkaWFTdHJl
YW0+PiBIVE1MQ2FudmFzRWxlbWVudDo6Y2FwdHVyZVN0cmVhbShzdGQ6Om9wdGlvbmFsPGRvdWJs
ZT4mJiBmcmFtZVJlcXVlc3RSYXRlKQogewogICAgIGlmICghb3JpZ2luQ2xlYW4oKSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbihTZWN1cml0eUVycm9yLCAiQ2FudmFzIGlzIHRhaW50ZWQiX3Mp
OwpAQCAtODAxLDggKzgwMSw4IEBAIEV4Y2VwdGlvbk9yPFJlZjxNZWRpYVN0cmVhbT4+IEhUTUxD
YW52YXMKICAgICBpZiAoZnJhbWVSZXF1ZXN0UmF0ZSAmJiBmcmFtZVJlcXVlc3RSYXRlLnZhbHVl
KCkgPCAwKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uKE5vdFN1cHBvcnRlZEVycm9yLCAiZnJh
bWVSZXF1ZXN0UmF0ZSBpcyBuZWdhdGl2ZSJfcyk7CiAKLSAgICBhdXRvIHRyYWNrID0gQ2FudmFz
Q2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZShkb2N1bWVudCwgKnRoaXMsIFdURk1vdmUo
ZnJhbWVSZXF1ZXN0UmF0ZSkpOwotICAgIGF1dG8gc3RyZWFtID0gIE1lZGlhU3RyZWFtOjpjcmVh
dGUoZG9jdW1lbnQpOworICAgIGF1dG8gdHJhY2sgPSBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1U
cmFjazo6Y3JlYXRlKGRvY3VtZW50KCksICp0aGlzLCBXVEZNb3ZlKGZyYW1lUmVxdWVzdFJhdGUp
KTsKKyAgICBhdXRvIHN0cmVhbSA9IE1lZGlhU3RyZWFtOjpjcmVhdGUoZG9jdW1lbnQoKSk7CiAg
ICAgc3RyZWFtLT5hZGRUcmFjayh0cmFjayk7CiAgICAgcmV0dXJuIHN0cmVhbTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgJKHJldmlzaW9uIDI4ODAzNCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtOTYsOSArOTYsOSBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRp
b25PcjxVbmNhY2hlZFN0cmluZz4gdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIEpT
Qzo6SlNWYWx1ZSBxdWFsaXR5KTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNh
Y2hlZFN0cmluZz4gdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwotICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHRvQmxvYihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPEJsb2JDYWxs
YmFjaz4mJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHkpOwor
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRvQmxvYihSZWY8QmxvYkNhbGxiYWNrPiYmLCBjb25zdCBT
dHJpbmcmIG1pbWVUeXBlLCBKU0M6OkpTVmFsdWUgcXVhbGl0eSk7CiAjaWYgRU5BQkxFKE9GRlND
UkVFTl9DQU5WQVMpCi0gICAgRXhjZXB0aW9uT3I8UmVmPE9mZnNjcmVlbkNhbnZhcz4+IHRyYW5z
ZmVyQ29udHJvbFRvT2Zmc2NyZWVuKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICBFeGNl
cHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gdHJhbnNmZXJDb250cm9sVG9PZmZzY3JlZW4o
KTsKICNlbmRpZgogCiAgICAgLy8gVXNlZCBmb3IgcmVuZGVyaW5nCkBAIC0xMDgsNyArMTA4LDcg
QEAgcHVibGljOgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBSZWZQdHI8TWVkaWFT
YW1wbGU+IHRvTWVkaWFTYW1wbGUoKTsKLSAgICBFeGNlcHRpb25PcjxSZWY8TWVkaWFTdHJlYW0+
PiBjYXB0dXJlU3RyZWFtKERvY3VtZW50Jiwgc3RkOjpvcHRpb25hbDxkb3VibGU+JiYgZnJhbWVS
ZXF1ZXN0UmF0ZSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhU3RyZWFtPj4gY2FwdHVyZVN0
cmVhbShzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBmcmFtZVJlcXVlc3RSYXRlKTsKICNlbmRpZgog
CiAgICAgSW1hZ2UqIGNvcGllZEltYWdlKCkgY29uc3QgZmluYWw7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAkocmV2aXNpb24gMjg4MDM0KQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDggKzQ4LDggQEAgdHlwZWRlZiAoCiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gUmVu
ZGVyaW5nQ29udGV4dD8gZ2V0Q29udGV4dChET01TdHJpbmcgY29udGV4dElkLCBhbnkuLi4gYXJn
dW1lbnRzKTsKIAogICAgIERPTVN0cmluZyB0b0RhdGFVUkwob3B0aW9uYWwgRE9NU3RyaW5nIHR5
cGUsIG9wdGlvbmFsIGFueSBxdWFsaXR5KTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gdW5kZWZpbmVkIHRvQmxvYihCbG9iQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFs
IERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBhbnkgcXVhbGl0eSk7Ci0gICAgW0NvbmRpdGlvbmFs
PU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zmc2NyZWVuQ2FudmFzRW5hYmxl
ZCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gT2Zmc2NyZWVuQ2FudmFzIHRyYW5z
ZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7CisgICAgdW5kZWZpbmVkIHRvQmxvYihCbG9iQ2FsbGJh
Y2sgY2FsbGJhY2ssIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBhbnkgcXVhbGl0
eSk7CisgICAgW0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9
T2Zmc2NyZWVuQ2FudmFzRW5hYmxlZCwgTmV3T2JqZWN0XSBPZmZzY3JlZW5DYW52YXMgdHJhbnNm
ZXJDb250cm9sVG9PZmZzY3JlZW4oKTsKIAotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU0s
IENhbGxXaXRoPURvY3VtZW50LCBOZXdPYmplY3RdIE1lZGlhU3RyZWFtIGNhcHR1cmVTdHJlYW0o
b3B0aW9uYWwgZG91YmxlIGZyYW1lUmVxdWVzdFJhdGUpOworICAgIFtDb25kaXRpb25hbD1NRURJ
QV9TVFJFQU0sIE5ld09iamVjdF0gTWVkaWFTdHJlYW0gY2FwdHVyZVN0cmVhbShvcHRpb25hbCBk
b3VibGUgZnJhbWVSZXF1ZXN0UmF0ZSk7CiB9OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyODg0MjgpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjItMDEtMjMgIEFsZXhl
eSBTaHZheWthICA8YXNodmF5a2FAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJJRExdIEJsb2It
cmVsYXRlZCBtZXRob2RzIHNob3VsZCB1c2UgX3JlbGV2YW50XyBjb250ZXh0IGluc3RlYWQgb2Yg
X2N1cnJlbnRfCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzUyNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBvcnQgV1BUIHRlc3RzIGZyb20gVEJBLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL0ZpbGVBUEkvYmxvYi9CbG9iLW1ldGhvZHMtZnJvbS1kZXRhY2hlZC1mcmFtZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2Jsb2Iv
QmxvYi1tZXRob2RzLWZyb20tZGV0YWNoZWQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvc3VwcG9ydC9lbXB0eS1kb2N1bWVudC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9yZXNvdXJjZXMvaWZyYW1lLXdpdGgtY2FudmFzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L3RoZS1jYW52YXMtZWxlbWVudC90b0Jsb2ItdXNlcy1yZWxldmFudC1kb2N1bWVudC10by1lbnF1
ZXVlLXRhc2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtY2FudmFzLWVsZW1lbnQvdG9C
bG9iLXVzZXMtcmVsZXZhbnQtZG9jdW1lbnQtdG8tZW5xdWV1ZS10YXNrLmh0bWw6IEFkZGVkLgor
CiAyMDIyLTAxLTIzICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBT
dXBwb3J0IGludGVycG9sYXRpbmcgY29sb3JzIHdpdGggbWlzc2luZy9ub25lIGNvbXBvbmVudHMg
dmlhIGNvbG9yLW1peCgpCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0ZpbGVBUEkvYmxvYi9CbG9iLW1ldGhvZHMtZnJvbS1kZXRhY2hlZC1mcmFtZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2Jsb2IvQmxvYi1tZXRob2RzLWZyb20tZGV0YWNoZWQtZnJh
bWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9ibG9iL0Jsb2ItbWV0aG9kcy1mcm9tLWRldGFj
aGVkLWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKwor
UEFTUyBzbGljZSgpCitQQVNTIHRleHQoKQorUEFTUyBhcnJheUJ1ZmZlcigpCitQQVNTIHN0cmVh
bSgpCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
RmlsZUFQSS9ibG9iL0Jsb2ItbWV0aG9kcy1mcm9tLWRldGFjaGVkLWZyYW1lLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxl
QVBJL2Jsb2IvQmxvYi1tZXRob2RzLWZyb20tZGV0YWNoZWQtZnJhbWUuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVB
UEkvYmxvYi9CbG9iLW1ldGhvZHMtZnJvbS1kZXRhY2hlZC1mcmFtZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPkJsb2IgbWV0aG9kcyBmcm9tIGRldGFjaGVkIGZyYW1lIHdvcmsgYXMgZXhw
ZWN0ZWQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorCis8aWZyYW1lIGlkPSJlbXB0eURvY3VtZW50SWZyYW1lIiBzcmM9Ii4uL3N1cHBv
cnQvZW1wdHktZG9jdW1lbnQuaHRtbCI+PC9pZnJhbWU+CisKKzxzY3JpcHQ+Citjb25zdCBCbG9i
UHJvdG90eXBlRnJvbURldGFjaGVkRnJhbWVQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgZW1wdHlEb2N1bWVudElmcmFtZS5vbmxvYWQgPSAoKSA9PiB7CisgICAgICAgIGNv
bnN0IEJsb2JQcm90b3R5cGUgPSBlbXB0eURvY3VtZW50SWZyYW1lLmNvbnRlbnRXaW5kb3cuQmxv
Yi5wcm90b3R5cGU7CisgICAgICAgIGVtcHR5RG9jdW1lbnRJZnJhbWUucmVtb3ZlKCk7CisgICAg
ICAgIHJlc29sdmUoQmxvYlByb3RvdHlwZSk7CisgICAgfTsKK30pOworCitjb25zdCBjaGFyQ29k
ZUFycmF5VG9TdHJpbmcgPSBjaGFyQ29kZUFycmF5ID0+IEFycmF5LmZyb20oY2hhckNvZGVBcnJh
eSwgYyA9PiBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpKS5qb2luKCIiKTsKK2NvbnN0IGNoYXJDb2Rl
QnVmZmVyVG9TdHJpbmcgPSBjaGFyQ29kZUJ1ZmZlciA9PiBjaGFyQ29kZUFycmF5VG9TdHJpbmco
bmV3IFVpbnQ4QXJyYXkoY2hhckNvZGVCdWZmZXIpKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgp
ID0+IHsKKyAgICBjb25zdCB7IHNsaWNlIH0gPSBhd2FpdCBCbG9iUHJvdG90eXBlRnJvbURldGFj
aGVkRnJhbWVQcm9taXNlOworICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbImZvb2JhciJdKTsK
KworICAgIGNvbnN0IHNsaWNlZEJsb2IgPSBzbGljZS5jYWxsKGJsb2IsIDEsIDMpOworICAgIGFz
c2VydF90cnVlKHNsaWNlZEJsb2IgaW5zdGFuY2VvZiBCbG9iKTsKKworICAgIGFzc2VydF9lcXVh
bHMoYXdhaXQgc2xpY2VkQmxvYi50ZXh0KCksICJvbyIpOworICAgIGFzc2VydF9lcXVhbHMoY2hh
ckNvZGVCdWZmZXJUb1N0cmluZyhhd2FpdCBzbGljZWRCbG9iLmFycmF5QnVmZmVyKCkpLCAib28i
KTsKKworICAgIGNvbnN0IHJlYWRlciA9IHNsaWNlZEJsb2Iuc3RyZWFtKCkuZ2V0UmVhZGVyKCk7
CisgICAgY29uc3QgeyB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGNoYXJDb2RlQXJyYXlUb1N0cmluZyh2YWx1ZSksICJvbyIpOworfSwgInNsaWNlKCki
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCB7IHRleHQgfSA9IGF3
YWl0IEJsb2JQcm90b3R5cGVGcm9tRGV0YWNoZWRGcmFtZVByb21pc2U7CisgICAgY29uc3QgYmxv
YiA9IG5ldyBCbG9iKFsiZm9vIl0pOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCB0ZXh0LmNh
bGwoYmxvYiksICJmb28iKTsKK30sICJ0ZXh0KCkiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgp
ID0+IHsKKyAgICBjb25zdCB7IGFycmF5QnVmZmVyIH0gPSBhd2FpdCBCbG9iUHJvdG90eXBlRnJv
bURldGFjaGVkRnJhbWVQcm9taXNlOworICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbImJhciJd
KTsKKworICAgIGNvbnN0IGNoYXJDb2RlQnVmZmVyID0gYXdhaXQgYXJyYXlCdWZmZXIuY2FsbChi
bG9iKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNoYXJDb2RlQnVmZmVyVG9TdHJpbmcoY2hhckNvZGVC
dWZmZXIpLCAiYmFyIik7Cit9LCAiYXJyYXlCdWZmZXIoKSIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4geworICAgIGNvbnN0IHsgc3RyZWFtIH0gPSBhd2FpdCBCbG9iUHJvdG90eXBlRnJv
bURldGFjaGVkRnJhbWVQcm9taXNlOworICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbImJheiJd
KTsKKworICAgIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5jYWxsKGJsb2IpLmdldFJlYWRlcigpOwor
ICAgIGNvbnN0IHsgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhjaGFyQ29kZUFycmF5VG9TdHJpbmcodmFsdWUpLCAiYmF6Iik7Cit9LCAic3RyZWFtKCki
KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9GaWxlQVBJL3N1cHBvcnQvZW1wdHktZG9jdW1lbnQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvc3Vw
cG9ydC9lbXB0eS1kb2N1bWVudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9zdXBwb3J0L2VtcHR5LWRvY3Vt
ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L3Jlc291cmNlcy9pZnJhbWUtd2l0aC1jYW52YXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvcmVzb3VyY2VzL2lmcmFtZS13aXRoLWNhbnZhcy5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9yZXNvdXJjZXMvaWZyYW1lLXdpdGgtY2FudmFzLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCI+PC9jYW52YXM+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWNh
bnZhcy1lbGVtZW50L3RvQmxvYi11c2VzLXJlbGV2YW50LWRvY3VtZW50LXRvLWVucXVldWUtdGFz
ay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1jYW52
YXMtZWxlbWVudC90b0Jsb2ItdXNlcy1yZWxldmFudC1kb2N1bWVudC10by1lbnF1ZXVlLXRhc2st
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtY2Fu
dmFzLWVsZW1lbnQvdG9CbG9iLXVzZXMtcmVsZXZhbnQtZG9jdW1lbnQtdG8tZW5xdWV1ZS10YXNr
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyB0b0Js
b2IoKSB1c2VzIGVsZW1lbnQncyByZWxldmFudCBkb2N1bWVudCB0byBlbnF1ZXVlIGEgdGFzawor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWNhbnZhcy1lbGVtZW50L3RvQmxvYi11c2Vz
LXJlbGV2YW50LWRvY3VtZW50LXRvLWVucXVldWUtdGFzay5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC90aGUtY2FudmFzLWVsZW1lbnQvdG9CbG9iLXVzZXMtcmVsZXZhbnQt
ZG9jdW1lbnQtdG8tZW5xdWV1ZS10YXNrLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L3RoZS1jYW52YXMtZWxlbWVudC90b0Jsb2ItdXNlcy1yZWxldmFudC1kb2N1bWVu
dC10by1lbnF1ZXVlLXRhc2suaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT50b0Jsb2IoKSB1
c2VzIGVsZW1lbnQncyByZWxldmFudCBkb2N1bWVudCB0byBlbnF1ZXVlIGEgdGFzazwvdGl0bGU+
Cis8bGluayByZWw9ImhlbHAiIHR5cGU9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL3dlYmFwcGFwaXMuaHRtbCNxdWV1ZS1hbi1lbGVtZW50LXRhc2siPgorPGxpbmsgcmVs
PSJoZWxwIiB0eXBlPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJh
cHBhcGlzLmh0bWwjY29uY2VwdC10YXNrLXJ1bm5hYmxlIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPGlmcmFtZSBjbGFzcz0iaWZyYW1lLXdp
dGgtY2FudmFzIiBzcmM9Ii4uL3Jlc291cmNlcy9pZnJhbWUtd2l0aC1jYW52YXMuaHRtbCI+PC9p
ZnJhbWU+Cis8c2NyaXB0PgorY29uc3QgdCA9IGFzeW5jX3Rlc3QoKTsKKword2luZG93Lm9ubG9h
ZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCIuaWZyYW1lLXdpdGgtY2FudmFzIik7CisgICAgY29uc3QgaWZyYW1lQ2FudmFz
ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuY2FudmFzOworCisgICAgaWZyYW1lLnJlbW92ZSgpOwor
ICAgIGFzc2VydF9lcXVhbHMoaWZyYW1lLmNvbnRlbnRXaW5kb3csIG51bGwpOworCisgICAgSFRN
TENhbnZhc0VsZW1lbnQucHJvdG90eXBlLnRvQmxvYi5jYWxsKGlmcmFtZUNhbnZhcywgdC51bnJl
YWNoZWRfZnVuYygiQmxvYkNhbGxiYWNrIHNob3VsZCBub3QgYmUgY2FsbGVkISIpKTsKKworICAg
IHQuc3RlcF90aW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoKSwgNTAwKTsKK30pOworPC9zY3JpcHQ+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449963</attachid>
            <date>2022-01-25 13:54:07 -0800</date>
            <delta_ts>2022-01-25 17:12:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235279-20220125215406.patch</filename>
            <type>text/plain</type>
            <size>18736</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODU4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDIyLTAxLTI1ICBBbGV4ZXkg
U2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViSURMXSBCbG9iLXJl
bGF0ZWQgbWV0aG9kcyBzaG91bGQgdXNlIF9yZWxldmFudF8gY29udGV4dCBpbnN0ZWFkIG9mIF9j
dXJyZW50XworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9sbG93aW5nIG1ldGhvZHMgdG8gcmVseSBvbiBfcmVsZXZh
bnRfIGdsb2JhbCBvYmplY3QgaW5zdGVhZCBvZiBfY3VycmVudF86CisKKyAgICAgICAgICAxLiBC
bG9iJ3Mgc2xpY2UoKSAvIHN0cmVhbSgpIC8gYXJyYXlCdWZmZXIoKSAvIHRleHQoKSBhcyBleHBs
aWNpdGx5IHJlcXVpcmVkIGJ5IHRoZSBGaWxlIEFQSSBzcGVjIFsxXS4KKyAgICAgICAgICAgICBC
ZWZvcmUgdGhpcyBjaGFuZ2UsIG1ldGhvZHMgZnJvbSBkZXRhY2hlZCA8aWZyYW1lPiB3ZXJlIHRo
cm93aW5nIHdoZW4gY2FsbGVkIG9uIGEgbWFpbiBmcmFtZSdzIEJsb2IuCisgICAgICAgICAgICAg
QWxpZ25zIFdlYktpdCB3aXRoIEJsaW5rIGFuZCBHZWNrby4KKworICAgICAgICAgIDIuIEhUTUxD
YW52YXNFbGVtZW50J3MgdG9CbG9iKCkgYXMgcGVyIEhUTUwgc3BlYyBbMl06IGEgdGFzayBzaG91
bGQgYmUgcXVldWVkIG9uIF9yZWxldmFudF8gZG9jdW1lbnQncworICAgICAgICAgICAgIGV2ZW50
IGxvb3AuCisKKyAgICAgICAgICAzLiBIVE1MQ2FudmFzRWxlbWVudCdzIHRyYW5zZmVyQ29udHJv
bFRvT2Zmc2NyZWVuKCkgLyBjYXB0dXJlU3RyZWFtKCkgcGVyIHJlY29tbWVuZGF0YXRpb24gZm9y
IHNwZWMKKyAgICAgICAgICAgICBhdXRob3JzIFs0XSwgYW5kIHRvIGFsaWduIHdpdGggdG9CbG9i
KCkuIHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCkgc2hvdWxkIGNlcnRhaW5seSBwYXNzIF9y
ZWxldmFudF8KKyAgICAgICAgICAgICBjb250ZXh0LCB3aGljaCB3b3VsZCBiZSB1c2VkIGxhdGVy
IGZvciBCbG9iIGNyZWF0aW9uLgorCisgICAgICAgIFsxXSBodHRwczovL3czYy5naXRodWIuaW8v
RmlsZUFQSS8jYmxvYi1nZXQtc3RyZWFtCisgICAgICAgIFsyXSBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyNjYW52YXMtYmxvYi1zZXJpYWxpc2F0aW9uLXRhc2stc291cmNlCisgICAgICAg
IFszXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0
bWwjcmVhbG1zLXNldHRpbmdzLW9iamVjdHMtZ2xvYmFsLW9iamVjdHM6Y29uY2VwdC1yZWxldmFu
dC1ldmVyeXRoaW5nLTIKKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0ZpbGVBUEkvYmxvYi9CbG9iLW1ldGhvZHMtZnJvbS1kZXRhY2hlZC1mcmFtZS5odG1s
CisKKyAgICAgICAgTm90IHN1cmUgaWYgY2hhbmdlcyB0byBIVE1MQ2FudmFzRWxlbWVudCBtZXRo
b2RzIGFyZSBldmVuIHRlc3RhYmxlLgorCisgICAgICAgICogZmlsZWFwaS9CbG9iLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkJsb2I6OnNsaWNlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJs
b2I6OmxvYWRCbG9iKToKKyAgICAgICAgKFdlYkNvcmU6OkJsb2I6OnRleHQpOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYjo6YXJyYXlCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYjo6c3Ry
ZWFtKToKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2IuaDoKKyAgICAgICAgKiBmaWxlYXBpL0Jsb2Iu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OnRvQmxvYik6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Q2FudmFzRWxlbWVudDo6dHJhbnNmZXJDb250cm9sVG9PZmZzY3JlZW4pOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNhcHR1cmVTdHJlYW0pOgorICAgICAgICAqIGh0bWwv
SFRNTENhbnZhc0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmlk
bDoKKyAgICAgICAgTWFyayB0cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbigpIGFzIFtOZXdPYmpl
Y3RdLgorCiAyMDIyLTAxLTI1ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ1NTIENvbnRhaW5lciBRdWVyaWVzXSBQYXJzaW5nIHN1cHBvcnQgZm9yIGNvbnRh
aW5lciBzaG9ydGhhbmQgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxv
Yi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAkocmV2
aXNpb24gMjg4NDkyKQorKysgU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTU5LDkgKzE1OSw5IEBAIEJsb2I6On5CbG9iKCkKICAgICAgICAgKCptX2Js
b2JMb2FkZXJzLmJlZ2luKCkpLT5jYW5jZWwoKTsKIH0KIAotUmVmPEJsb2I+IEJsb2I6OnNsaWNl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBs
b25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgY29uc3QKK1JlZjxCbG9iPiBCbG9i
OjpzbGljZShsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUpIGNvbnN0CiB7Ci0gICAgYXV0byBibG9iID0gYWRvcHRSZWYoKm5ldyBCbG9iKCZj
b250ZXh0LCBtX2ludGVybmFsVVJMLCBzdGFydCwgZW5kLCBjb250ZW50VHlwZSkpOworICAgIGF1
dG8gYmxvYiA9IGFkb3B0UmVmKCpuZXcgQmxvYihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1f
aW50ZXJuYWxVUkwsIHN0YXJ0LCBlbmQsIGNvbnRlbnRUeXBlKSk7CiAgICAgYmxvYi0+c3VzcGVu
ZElmTmVlZGVkKCk7CiAgICAgcmV0dXJuIGJsb2I7CiB9CkBAIC0xOTYsMjIgKzE5NiwyMiBAQCBT
dHJpbmcgQmxvYjo6bm9ybWFsaXplZENvbnRlbnRUeXBlKGNvbnN0CiAgICAgcmV0dXJuIGNvbnRl
bnRUeXBlLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CiB9CiAKLXZvaWQgQmxvYjo6bG9hZEJs
b2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRmlsZVJlYWRlckxvYWRlcjo6UmVh
ZFR5cGUgcmVhZFR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoQmxvYkxvYWRlciYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQordm9pZCBCbG9iOjpsb2FkQmxvYihGaWxlUmVhZGVyTG9hZGVyOjpS
ZWFkVHlwZSByZWFkVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChCbG9iTG9hZGVyJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byBibG9iTG9hZGVyID0gbWFrZVVuaXF1ZTxC
bG9iTG9hZGVyPihbdGhpcywgcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgq
dGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKEJs
b2JMb2FkZXImIGJsb2JMb2FkZXIpIG11dGFibGUgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihibG9iTG9hZGVyKTsKICAgICAgICAgbV9ibG9iTG9hZGVycy50YWtlKCZibG9iTG9hZGVyKTsK
ICAgICB9KTsKIAotICAgIGJsb2JMb2FkZXItPnN0YXJ0KCp0aGlzLCAmY29udGV4dCwgcmVhZFR5
cGUpOworICAgIGJsb2JMb2FkZXItPnN0YXJ0KCp0aGlzLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCksIHJlYWRUeXBlKTsKIAogICAgIGlmIChibG9iTG9hZGVyLT5pc0xvYWRpbmcoKSkKICAgICAg
ICAgbV9ibG9iTG9hZGVycy5hZGQoV1RGTW92ZShibG9iTG9hZGVyKSk7CiB9CiAKLXZvaWQgQmxv
Yjo6dGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit2b2lkIEJsb2I6OnRleHQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlKQogewotICAgIGxvYWRCbG9iKGNvbnRleHQsIEZpbGVSZWFkZXJMb2FkZXI6OlJlYWRB
c1RleHQsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oQmxvYkxvYWRlciYgYmxvYkxvYWRl
cikgbXV0YWJsZSB7CisgICAgbG9hZEJsb2IoRmlsZVJlYWRlckxvYWRlcjo6UmVhZEFzVGV4dCwg
W3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShCbG9iTG9hZGVyJiBibG9iTG9hZGVyKSBtdXRh
YmxlIHsKICAgICAgICAgaWYgKGF1dG8gb3B0aW9uYWxFcnJvckNvZGUgPSBibG9iTG9hZGVyLmVy
cm9yQ29kZSgpKSB7CiAgICAgICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgKm9w
dGlvbmFsRXJyb3JDb2RlIH0pOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjIwLDkgKzIyMCw5
IEBAIHZvaWQgQmxvYjo6dGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiAKICAgICB9KTsKIH0K
IAotdm9pZCBCbG9iOjphcnJheUJ1ZmZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit2b2lkIEJsb2I6OmFycmF5QnVmZmVy
KFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBsb2FkQmxvYihjb250ZXh0
LCBGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNBcnJheUJ1ZmZlciwgW3Byb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpXShCbG9iTG9hZGVyJiBibG9iTG9hZGVyKSBtdXRhYmxlIHsKKyAgICBsb2FkQmxv
YihGaWxlUmVhZGVyTG9hZGVyOjpSZWFkQXNBcnJheUJ1ZmZlciwgW3Byb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpXShCbG9iTG9hZGVyJiBibG9iTG9hZGVyKSBtdXRhYmxlIHsKICAgICAgICAgaWYg
KGF1dG8gb3B0aW9uYWxFcnJvckNvZGUgPSBibG9iTG9hZGVyLmVycm9yQ29kZSgpKSB7CiAgICAg
ICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uIHsgKm9wdGlvbmFsRXJyb3JDb2RlIH0p
OwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjM2LDcgKzIzNiw3IEBAIHZvaWQgQmxvYjo6YXJy
YXlCdWZmZXIoU2NyaXB0RXhlY3V0aW9uQ28KICAgICB9KTsKIH0KIAotRXhjZXB0aW9uT3I8UmVm
PFJlYWRhYmxlU3RyZWFtPj4gQmxvYjo6c3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpCitFeGNlcHRpb25PcjxSZWY8UmVhZGFibGVTdHJlYW0+PiBC
bG9iOjpzdHJlYW0oKQogewogICAgIGNsYXNzIEJsb2JTdHJlYW1Tb3VyY2UgOiBwdWJsaWMgRmls
ZVJlYWRlckxvYWRlckNsaWVudCwgcHVibGljIFJlYWRhYmxlU3RyZWFtU291cmNlIHsKICAgICBw
dWJsaWM6CkBAIC0yOTAsMTAgKzI5MCwxMSBAQCBFeGNlcHRpb25PcjxSZWY8UmVhZGFibGVTdHJl
YW0+PiBCbG9iOjpzCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiBtX2V4Y2VwdGlv
bjsKICAgICB9OwogCi0gICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5nbG9iYWxPYmplY3QoKTsKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOworICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IGNvbnRleHQgPyBjb250ZXh0LT5n
bG9iYWxPYmplY3QoKSA6IG51bGxwdHI7CiAgICAgaWYgKCFnbG9iYWxPYmplY3QpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotICAgIHJldHVybiBSZWFk
YWJsZVN0cmVhbTo6Y3JlYXRlKCpnbG9iYWxPYmplY3QsIGFkb3B0UmVmKCpuZXcgQmxvYlN0cmVh
bVNvdXJjZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCAqdGhpcykpKTsKKyAgICByZXR1cm4gUmVh
ZGFibGVTdHJlYW06OmNyZWF0ZSgqZ2xvYmFsT2JqZWN0LCBhZG9wdFJlZigqbmV3IEJsb2JTdHJl
YW1Tb3VyY2UoKmNvbnRleHQsICp0aGlzKSkpOwogfQogCiAjaWYgQVNTRVJUX0VOQUJMRUQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvQmxvYi5oCShyZXZpc2lvbiAyODg0OTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0Jsb2IuaAkod29ya2luZyBjb3B5KQpAQCAtMTExLDExICsxMTEsMTEgQEAgcHVi
bGljOgogICAgIC8vIFVSTFJlZ2lzdHJhYmxlCiAgICAgVVJMUmVnaXN0cnkmIHJlZ2lzdHJ5KCkg
Y29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBSZWY8QmxvYj4gc2xpY2UoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSkgY29uc3Q7CisgICAgUmVmPEJsb2I+IHNsaWNlKGxvbmcgbG9uZyBzdGFydCwgbG9u
ZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgY29uc3Q7CiAKLSAgICB2b2lk
IHRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwot
ICAgIHZvaWQgYXJyYXlCdWZmZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwotICAgIEV4Y2VwdGlvbk9yPFJlZjxSZWFkYWJsZVN0cmVhbT4+IHN0cmVh
bShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAgdm9pZCB0ZXh0KFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYpOworICAgIHZvaWQgYXJyYXlCdWZmZXIoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7
CisgICAgRXhjZXB0aW9uT3I8UmVmPFJlYWRhYmxlU3RyZWFtPj4gc3RyZWFtKCk7CiAKICAgICAv
LyBLZWVwaW5nIHRoZSBoYW5kbGUgYWxpdmUgd2lsbCBrZWVwIHRoZSBCbG9iIGRhdGEgYWxpdmUg
KGJ1dCBub3QgdGhlIEJsb2Igb2JqZWN0KS4KICAgICBCbG9iVVJMSGFuZGxlIGhhbmRsZSgpIGNv
bnN0OwpAQCAtMTM4LDcgKzEzOCw3IEBAIHByb3RlY3RlZDoKICAgICBCbG9iKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxv
bmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKIAogcHJpdmF0ZToKLSAgICB2b2lk
IGxvYWRCbG9iKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGaWxlUmVhZGVyTG9hZGVyOjpSZWFk
VHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChCbG9iTG9hZGVyJik+JiYpOworICAgIHZvaWQg
bG9hZEJsb2IoRmlsZVJlYWRlckxvYWRlcjo6UmVhZFR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoQmxvYkxvYWRlciYpPiYmKTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICBjb25z
dCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvQmxvYi5pZGwJKHJldmlzaW9uIDI4ODQ5MikKKysrIFNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvQmxvYi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQyLDkgKzQyLDkgQEAgdHlwZWRlZiAo
QnVmZmVyU291cmNlIG9yIEJsb2Igb3IgVVNWU3RyaQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxvbmcgc2l6ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHR5cGU7CiAKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gQmxvYiBzbGlj
ZShvcHRpb25hbCBsb25nIGxvbmcgc3RhcnQgPSAwLCBvcHRpb25hbCBsb25nIGxvbmcgZW5kID0g
MHg3RkZGRkZGRkZGRkZGRkZGLCBvcHRpb25hbCBET01TdHJpbmcgY29udGVudFR5cGUgPSAiIik7
CisgICAgW05ld09iamVjdF0gQmxvYiBzbGljZShvcHRpb25hbCBsb25nIGxvbmcgc3RhcnQgPSAw
LCBvcHRpb25hbCBsb25nIGxvbmcgZW5kID0gMHg3RkZGRkZGRkZGRkZGRkZGLCBvcHRpb25hbCBE
T01TdHJpbmcgY29udGVudFR5cGUgPSAiIik7CiAKLSAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSBSZWFkYWJsZVN0cmVhbSBzdHJlYW0oKTsKLSAgICBbTmV3
T2JqZWN0LCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPFVTVlN0cmlu
Zz4gdGV4dCgpOwotICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdIFByb21pc2U8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyKCk7CisgICAgW05ld09iamVjdF0g
UmVhZGFibGVTdHJlYW0gc3RyZWFtKCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxVU1ZTdHJp
bmc+IHRleHQoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPEFycmF5QnVmZmVyPiBhcnJheUJ1
ZmZlcigpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAyODg0OTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzA4LDEzICs3MDgsMTMgQEAgRXhjZXB0aW9u
T3I8VW5jYWNoZWRTdHJpbmc+IEhUTUxDYW52YXNFbAogICAgIHJldHVybiB0b0RhdGFVUkwobWlt
ZVR5cGUsIHsgfSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0
b0Jsb2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPEJsb2JDYWxsYmFjaz4m
JiBjYWxsYmFjaywgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHlW
YWx1ZSkKK0V4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52YXNFbGVtZW50Ojp0b0Jsb2IoUmVmPEJs
b2JDYWxsYmFjaz4mJiBjYWxsYmFjaywgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgSlNDOjpKU1Zh
bHVlIHF1YWxpdHlWYWx1ZSkKIHsKICAgICBpZiAoIW9yaWdpbkNsZWFuKCkpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBTZWN1cml0eUVycm9yIH07CiAKICAgICBpZiAoc2l6ZSgpLmlzRW1w
dHkoKSB8fCAhYnVmZmVyKCkpIHsKLSAgICAgICAgY2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2so
Y29udGV4dCwgbnVsbHB0cik7CisgICAgICAgIGNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKGRv
Y3VtZW50KCksIG51bGxwdHIpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICBpZiAo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBUElTdGF0aXN0aWNz
RW5hYmxlZCgpKQpAQCAtNzI5LDcgKzcyOSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxDYW52
YXNFbGVtZW50Ojp0b0IKICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGJsb2JEYXRhID0gZGF0YShp
bWFnZURhdGEtPnBpeGVsQnVmZmVyKCksIGVuY29kaW5nTUlNRVR5cGUsIHF1YWxpdHkpOwogICAg
ICAgICBpZiAoIWJsb2JEYXRhLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGJsb2IgPSBCbG9iOjpj
cmVhdGUoJmRvY3VtZW50KCksIFdURk1vdmUoYmxvYkRhdGEpLCBlbmNvZGluZ01JTUVUeXBlKTsK
LSAgICAgICAgY2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgV1RGTW92ZShibG9i
KSk7CisgICAgICAgIGNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKGRvY3VtZW50KCksIFdURk1v
dmUoYmxvYikpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICNlbmRpZgpAQCAtNzQwLDEy
ICs3NDAsMTIgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTENhbnZhc0VsZW1lbnQ6OnRvQgogICAg
IFZlY3Rvcjx1aW50OF90PiBibG9iRGF0YSA9IGJ1ZmZlcigpLT50b0RhdGEoZW5jb2RpbmdNSU1F
VHlwZSwgcXVhbGl0eSk7CiAgICAgaWYgKCFibG9iRGF0YS5pc0VtcHR5KCkpCiAgICAgICAgIGJs
b2IgPSBCbG9iOjpjcmVhdGUoJmRvY3VtZW50KCksIFdURk1vdmUoYmxvYkRhdGEpLCBlbmNvZGlu
Z01JTUVUeXBlKTsKLSAgICBjYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBXVEZN
b3ZlKGJsb2IpKTsKKyAgICBjYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhkb2N1bWVudCgpLCBX
VEZNb3ZlKGJsb2IpKTsKICAgICByZXR1cm4geyB9OwogfQogCiAjaWYgRU5BQkxFKE9GRlNDUkVF
Tl9DQU5WQVMpCi1FeGNlcHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gSFRNTENhbnZhc0Vs
ZW1lbnQ6OnRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCitFeGNlcHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gSFRNTENhbnZhc0Vs
ZW1lbnQ6OnRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCkKIHsKICAgICBpZiAobV9jb250ZXh0
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKQEAgLTc1
NCw3ICs3NTQsNyBAQCBFeGNlcHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2FudmFzPj4gSFRNTENhCiAg
ICAgaWYgKG1fY29udGV4dC0+aXNBY2NlbGVyYXRlZCgpKQogICAgICAgICBpbnZhbGlkYXRlU3R5
bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CiAKLSAgICByZXR1cm4gT2Zmc2NyZWVuQ2FudmFzOjpj
cmVhdGUoY29udGV4dCwgKnRoaXMpOworICAgIHJldHVybiBPZmZzY3JlZW5DYW52YXM6OmNyZWF0
ZShkb2N1bWVudCgpLCAqdGhpcyk7CiB9CiAjZW5kaWYKIApAQCAtODA3LDcgKzgwNyw3IEBAIFJl
ZlB0cjxNZWRpYVNhbXBsZT4gSFRNTENhbnZhc0VsZW1lbnQ6OnQKICNlbmRpZgogfQogCi1FeGNl
cHRpb25PcjxSZWY8TWVkaWFTdHJlYW0+PiBIVE1MQ2FudmFzRWxlbWVudDo6Y2FwdHVyZVN0cmVh
bShEb2N1bWVudCYgZG9jdW1lbnQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiYmIGZyYW1lUmVxdWVz
dFJhdGUpCitFeGNlcHRpb25PcjxSZWY8TWVkaWFTdHJlYW0+PiBIVE1MQ2FudmFzRWxlbWVudDo6
Y2FwdHVyZVN0cmVhbShzdGQ6Om9wdGlvbmFsPGRvdWJsZT4mJiBmcmFtZVJlcXVlc3RSYXRlKQog
ewogICAgIGlmICghb3JpZ2luQ2xlYW4oKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbihTZWN1
cml0eUVycm9yLCAiQ2FudmFzIGlzIHRhaW50ZWQiX3MpOwpAQCAtODE3LDggKzgxNyw4IEBAIEV4
Y2VwdGlvbk9yPFJlZjxNZWRpYVN0cmVhbT4+IEhUTUxDYW52YXMKICAgICBpZiAoZnJhbWVSZXF1
ZXN0UmF0ZSAmJiBmcmFtZVJlcXVlc3RSYXRlLnZhbHVlKCkgPCAwKQogICAgICAgICByZXR1cm4g
RXhjZXB0aW9uKE5vdFN1cHBvcnRlZEVycm9yLCAiZnJhbWVSZXF1ZXN0UmF0ZSBpcyBuZWdhdGl2
ZSJfcyk7CiAKLSAgICBhdXRvIHRyYWNrID0gQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6
OmNyZWF0ZShkb2N1bWVudCwgKnRoaXMsIFdURk1vdmUoZnJhbWVSZXF1ZXN0UmF0ZSkpOwotICAg
IGF1dG8gc3RyZWFtID0gIE1lZGlhU3RyZWFtOjpjcmVhdGUoZG9jdW1lbnQpOworICAgIGF1dG8g
dHJhY2sgPSBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKGRvY3VtZW50KCks
ICp0aGlzLCBXVEZNb3ZlKGZyYW1lUmVxdWVzdFJhdGUpKTsKKyAgICBhdXRvIHN0cmVhbSA9IE1l
ZGlhU3RyZWFtOjpjcmVhdGUoZG9jdW1lbnQoKSk7CiAgICAgc3RyZWFtLT5hZGRUcmFjayh0cmFj
ayk7CiAgICAgcmV0dXJuIHN0cmVhbTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
YW52YXNFbGVtZW50LmgJKHJldmlzaW9uIDI4ODQ5MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsOSArOTYsOSBAQCBwdWJs
aWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmluZz4gdG9E
YXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIEpTQzo6SlNWYWx1ZSBxdWFsaXR5KTsKICAg
ICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25PcjxVbmNhY2hlZFN0cmluZz4gdG9EYXRhVVJMKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRvQmxvYihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPEJsb2JDYWxsYmFjaz4mJiwgY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSwgSlNDOjpKU1ZhbHVlIHF1YWxpdHkpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHRv
QmxvYihSZWY8QmxvYkNhbGxiYWNrPiYmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBKU0M6OkpT
VmFsdWUgcXVhbGl0eSk7CiAjaWYgRU5BQkxFKE9GRlNDUkVFTl9DQU5WQVMpCi0gICAgRXhjZXB0
aW9uT3I8UmVmPE9mZnNjcmVlbkNhbnZhcz4+IHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICBFeGNlcHRpb25PcjxSZWY8T2Zmc2NyZWVuQ2Fu
dmFzPj4gdHJhbnNmZXJDb250cm9sVG9PZmZzY3JlZW4oKTsKICNlbmRpZgogCiAgICAgLy8gVXNl
ZCBmb3IgcmVuZGVyaW5nCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICBSZWZQdHI8TWVkaWFTYW1wbGU+IHRvTWVkaWFTYW1wbGUoKTsK
LSAgICBFeGNlcHRpb25PcjxSZWY8TWVkaWFTdHJlYW0+PiBjYXB0dXJlU3RyZWFtKERvY3VtZW50
Jiwgc3RkOjpvcHRpb25hbDxkb3VibGU+JiYgZnJhbWVSZXF1ZXN0UmF0ZSk7CisgICAgRXhjZXB0
aW9uT3I8UmVmPE1lZGlhU3RyZWFtPj4gY2FwdHVyZVN0cmVhbShzdGQ6Om9wdGlvbmFsPGRvdWJs
ZT4mJiBmcmFtZVJlcXVlc3RSYXRlKTsKICNlbmRpZgogCiAgICAgSW1hZ2UqIGNvcGllZEltYWdl
KCkgY29uc3QgZmluYWw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVt
ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVt
ZW50LmlkbAkocmV2aXNpb24gMjg4NDkyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDggKzQ4LDggQEAgdHlwZWRlZiAo
CiAgICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gUmVuZGVyaW5nQ29udGV4dD8gZ2V0Q29udGV4
dChET01TdHJpbmcgY29udGV4dElkLCBhbnkuLi4gYXJndW1lbnRzKTsKIAogICAgIERPTVN0cmlu
ZyB0b0RhdGFVUkwob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIGFueSBxdWFsaXR5
KTsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdW5kZWZpbmVkIHRvQmxv
YihCbG9iQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlLCBvcHRpb25h
bCBhbnkgcXVhbGl0eSk7Ci0gICAgW0NvbmRpdGlvbmFsPU9GRlNDUkVFTl9DQU5WQVMsIEVuYWJs
ZWRBdFJ1bnRpbWU9T2Zmc2NyZWVuQ2FudmFzRW5hYmxlZCwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dF0gT2Zmc2NyZWVuQ2FudmFzIHRyYW5zZmVyQ29udHJvbFRvT2Zmc2NyZWVuKCk7
CisgICAgdW5kZWZpbmVkIHRvQmxvYihCbG9iQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIERP
TVN0cmluZyB0eXBlLCBvcHRpb25hbCBhbnkgcXVhbGl0eSk7CisgICAgW0NvbmRpdGlvbmFsPU9G
RlNDUkVFTl9DQU5WQVMsIEVuYWJsZWRBdFJ1bnRpbWU9T2Zmc2NyZWVuQ2FudmFzRW5hYmxlZCwg
TmV3T2JqZWN0XSBPZmZzY3JlZW5DYW52YXMgdHJhbnNmZXJDb250cm9sVG9PZmZzY3JlZW4oKTsK
IAotICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sIENhbGxXaXRoPURvY3VtZW50LCBOZXdP
YmplY3RdIE1lZGlhU3RyZWFtIGNhcHR1cmVTdHJlYW0ob3B0aW9uYWwgZG91YmxlIGZyYW1lUmVx
dWVzdFJhdGUpOworICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sIE5ld09iamVjdF0gTWVk
aWFTdHJlYW0gY2FwdHVyZVN0cmVhbShvcHRpb25hbCBkb3VibGUgZnJhbWVSZXF1ZXN0UmF0ZSk7
CiB9OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAyODg0OTIp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMjItMDEtMjUgIEFsZXhleSBTaHZheWthICA8YXNodmF5a2FAYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJJRExdIEJsb2ItcmVsYXRlZCBtZXRob2RzIHNob3VsZCB1
c2UgX3JlbGV2YW50XyBjb250ZXh0IGluc3RlYWQgb2YgX2N1cnJlbnRfCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUyNzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgV1BUIHRlc3RzIGZyb20g
VEJBLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvYmxvYi9CbG9iLW1l
dGhvZHMtZnJvbS1kZXRhY2hlZC1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2Jsb2IvQmxvYi1tZXRob2RzLWZyb20tZGV0YWNo
ZWQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVB
UEkvc3VwcG9ydC9lbXB0eS1kb2N1bWVudC5odG1sOiBBZGRlZC4KKwogMjAyMi0wMS0yNCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFN1cHBvcnQg
aW1wb3J0IGFzc2VydGlvbiBzeW50YXgKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvRmlsZUFQSS9ibG9iL0Jsb2ItbWV0aG9kcy1mcm9tLWRldGFjaGVk
LWZyYW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvYmxvYi9CbG9iLW1ldGhvZHMtZnJvbS1kZXRh
Y2hlZC1mcmFtZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL2Jsb2IvQmxvYi1tZXRob2RzLWZy
b20tZGV0YWNoZWQtZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NiBAQAorCitQQVNTIHNsaWNlKCkKK1BBU1MgdGV4dCgpCitQQVNTIGFycmF5QnVmZmVyKCkKK1BB
U1Mgc3RyZWFtKCkKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9GaWxlQVBJL2Jsb2IvQmxvYi1tZXRob2RzLWZyb20tZGV0YWNoZWQtZnJhbWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0ZpbGVBUEkvYmxvYi9CbG9iLW1ldGhvZHMtZnJvbS1kZXRhY2hlZC1mcmFtZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvRmlsZUFQSS9ibG9iL0Jsb2ItbWV0aG9kcy1mcm9tLWRldGFjaGVkLWZyYW1lLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+QmxvYiBtZXRob2RzIGZyb20gZGV0YWNoZWQgZnJhbWUgd29y
ayBhcyBleHBlY3RlZDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+CisKKzxpZnJhbWUgaWQ9ImVtcHR5RG9jdW1lbnRJZnJhbWUiIHNyYz0i
Li4vc3VwcG9ydC9lbXB0eS1kb2N1bWVudC5odG1sIj48L2lmcmFtZT4KKworPHNjcmlwdD4KK2Nv
bnN0IEJsb2JQcm90b3R5cGVGcm9tRGV0YWNoZWRGcmFtZVByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBlbXB0eURvY3VtZW50SWZyYW1lLm9ubG9hZCA9ICgpID0+IHsKKyAg
ICAgICAgY29uc3QgQmxvYlByb3RvdHlwZSA9IGVtcHR5RG9jdW1lbnRJZnJhbWUuY29udGVudFdp
bmRvdy5CbG9iLnByb3RvdHlwZTsKKyAgICAgICAgZW1wdHlEb2N1bWVudElmcmFtZS5yZW1vdmUo
KTsKKyAgICAgICAgcmVzb2x2ZShCbG9iUHJvdG90eXBlKTsKKyAgICB9OworfSk7CisKK2NvbnN0
IGNoYXJDb2RlQXJyYXlUb1N0cmluZyA9IGNoYXJDb2RlQXJyYXkgPT4gQXJyYXkuZnJvbShjaGFy
Q29kZUFycmF5LCBjID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoYykpLmpvaW4oIiIpOworY29uc3Qg
Y2hhckNvZGVCdWZmZXJUb1N0cmluZyA9IGNoYXJDb2RlQnVmZmVyID0+IGNoYXJDb2RlQXJyYXlU
b1N0cmluZyhuZXcgVWludDhBcnJheShjaGFyQ29kZUJ1ZmZlcikpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKCkgPT4geworICAgIGNvbnN0IHsgc2xpY2UgfSA9IGF3YWl0IEJsb2JQcm90b3R5cGVG
cm9tRGV0YWNoZWRGcmFtZVByb21pc2U7CisgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFsiZm9v
YmFyIl0pOworCisgICAgY29uc3Qgc2xpY2VkQmxvYiA9IHNsaWNlLmNhbGwoYmxvYiwgMSwgMyk7
CisgICAgYXNzZXJ0X3RydWUoc2xpY2VkQmxvYiBpbnN0YW5jZW9mIEJsb2IpOworCisgICAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCBzbGljZWRCbG9iLnRleHQoKSwgIm9vIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhjaGFyQ29kZUJ1ZmZlclRvU3RyaW5nKGF3YWl0IHNsaWNlZEJsb2IuYXJyYXlCdWZmZXIo
KSksICJvbyIpOworCisgICAgY29uc3QgcmVhZGVyID0gc2xpY2VkQmxvYi5zdHJlYW0oKS5nZXRS
ZWFkZXIoKTsKKyAgICBjb25zdCB7IHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpOworICAg
IGFzc2VydF9lcXVhbHMoY2hhckNvZGVBcnJheVRvU3RyaW5nKHZhbHVlKSwgIm9vIik7Cit9LCAi
c2xpY2UoKSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGNvbnN0IHsgdGV4
dCB9ID0gYXdhaXQgQmxvYlByb3RvdHlwZUZyb21EZXRhY2hlZEZyYW1lUHJvbWlzZTsKKyAgICBj
b25zdCBibG9iID0gbmV3IEJsb2IoWyJmb28iXSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0
IHRleHQuY2FsbChibG9iKSwgImZvbyIpOworfSwgInRleHQoKSIpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKCkgPT4geworICAgIGNvbnN0IHsgYXJyYXlCdWZmZXIgfSA9IGF3YWl0IEJsb2JQcm90
b3R5cGVGcm9tRGV0YWNoZWRGcmFtZVByb21pc2U7CisgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9i
KFsiYmFyIl0pOworCisgICAgY29uc3QgY2hhckNvZGVCdWZmZXIgPSBhd2FpdCBhcnJheUJ1ZmZl
ci5jYWxsKGJsb2IpOworICAgIGFzc2VydF9lcXVhbHMoY2hhckNvZGVCdWZmZXJUb1N0cmluZyhj
aGFyQ29kZUJ1ZmZlciksICJiYXIiKTsKK30sICJhcnJheUJ1ZmZlcigpIik7CisKK3Byb21pc2Vf
dGVzdChhc3luYyAoKSA9PiB7CisgICAgY29uc3QgeyBzdHJlYW0gfSA9IGF3YWl0IEJsb2JQcm90
b3R5cGVGcm9tRGV0YWNoZWRGcmFtZVByb21pc2U7CisgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9i
KFsiYmF6Il0pOworCisgICAgY29uc3QgcmVhZGVyID0gc3RyZWFtLmNhbGwoYmxvYikuZ2V0UmVh
ZGVyKCk7CisgICAgY29uc3QgeyB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGNoYXJDb2RlQXJyYXlUb1N0cmluZyh2YWx1ZSksICJiYXoiKTsKK30sICJz
dHJlYW0oKSIpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0ZpbGVBUEkvc3VwcG9ydC9lbXB0eS1kb2N1bWVudC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvRmls
ZUFQSS9zdXBwb3J0L2VtcHR5LWRvY3VtZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9GaWxlQVBJL3N1cHBvcnQvZW1w
dHktZG9jdW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGJvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>