<?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>223205</bug_id>
          
          <creation_ts>2021-03-15 12:06:52 -0700</creation_ts>
          <short_desc>Add CSSValuePair.h in preparation for Pair.h refactor</short_desc>
          <delta_ts>2021-03-16 20:17:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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=223300</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>223204</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">twilco.o</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739572</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-03-15 12:06:52 -0700</bug_when>
    <thetext>See parent bug for the motivation behind this work: https://bugs.webkit.org/show_bug.cgi?id=223204</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739614</commentid>
    <comment_count>1</comment_count>
      <attachid>423226</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-03-15 12:54:14 -0700</bug_when>
    <thetext>Created attachment 423226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739718</commentid>
    <comment_count>2</comment_count>
      <attachid>423260</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-03-15 16:23:39 -0700</bug_when>
    <thetext>Created attachment 423260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739967</commentid>
    <comment_count>3</comment_count>
      <attachid>423260</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-16 09:20:56 -0700</bug_when>
    <thetext>Comment on attachment 423260
Patch

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

&gt; Source/WebCore/css/CSSValuePair.cpp:37
&gt; +    return first + separatorCssText() + second;

makeString() might be more efficient.

&gt; Source/WebCore/css/CSSValuePair.h:36
&gt; + * Intended to replace Pair.h, which is only capable of containing CSSPrimitiveValues, and is not a sub-class of
&gt; + * CSSValue itself. See https://bugs.webkit.org/show_bug.cgi?id=223204.

This comment won&apos;t be useful in the future when Pair.h is lost in the mists of time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740046</commentid>
    <comment_count>4</comment_count>
      <attachid>423358</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-03-16 11:03:52 -0700</bug_when>
    <thetext>Created attachment 423358
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740322</commentid>
    <comment_count>5</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-03-16 17:36:09 -0700</bug_when>
    <thetext>Thanks for the review, Simon.  Marked this new patch with cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740348</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-16 19:12:17 -0700</bug_when>
    <thetext>Committed r274546: &lt;https://commits.webkit.org/r274546&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423358.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740349</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-16 19:13:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/75506725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740351</commentid>
    <comment_count>8</comment_count>
      <attachid>423358</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-16 19:18:35 -0700</bug_when>
    <thetext>Comment on attachment 423358
Patch

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

&gt; Source/WebCore/css/CSSValue.h:80
&gt; +    String separatorCssText() const;

For efficiency, this should return ASCIILiteral instead of String. It never needs to return a value that’s not an ASCII literal, and this saves some memory allocation.

The name should be separatorCSSText, rather than separatorCssText.

&gt; Source/WebCore/css/CSSValueList.cpp:89
&gt; +    String separator = separatorCssText();

If we change separatorCSSText to return an ASCIILiteral, that’s the type we’ll want for this local variable too. Could just use &quot;auto&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740363</commentid>
    <comment_count>9</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-03-16 20:17:31 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Comment on attachment 423358 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423358&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSValue.h:80
&gt; &gt; +    String separatorCssText() const;
&gt; 
&gt; For efficiency, this should return ASCIILiteral instead of String. It never
&gt; needs to return a value that’s not an ASCII literal, and this saves some
&gt; memory allocation.
&gt; 
&gt; The name should be separatorCSSText, rather than separatorCssText.
&gt; 
&gt; &gt; Source/WebCore/css/CSSValueList.cpp:89
&gt; &gt; +    String separator = separatorCssText();
&gt; 
&gt; If we change separatorCSSText to return an ASCIILiteral, that’s the type
&gt; we’ll want for this local variable too. Could just use &quot;auto&quot;.

Good to know, thanks!  I&apos;ve made these changes here[1].  I&apos;ll mark this follow-up patch r? and cq? but feel free to wait to be sure EWS goes green first.

[1]: https://bugs.webkit.org/show_bug.cgi?id=223300</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423226</attachid>
            <date>2021-03-15 12:54:14 -0700</date>
            <delta_ts>2021-03-15 16:23:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223205-20210315145413.patch</filename>
            <type>text/plain</type>
            <size>17491</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MwMmFlMWNjNGQ1NzM3
NWU3MTkzY2ZkZTkwMjNhYWFmMGY1OTBkZC4uNTNiMzdjMGMxNmE5YzE1NTcxZjc2MDQ5Y2YxMzc2
MmE0YzU5MWIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAzLTE1ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgQWRkIENTU1Zh
bHVlUGFpci5oIGluIHByZXBhcmF0aW9uIGZvciBQYWlyLmggcmVmYWN0b3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzIwNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgQ1NTVmFsdWVQYWly
IGNsYXNzLCB3aGljaCBpcyBpbnRlbmRlZCB0byByZXBsYWNlIFBhaXIuaC4KKyAgICAgICAgUGFp
ci5oIGhhcyBzb21lIHByb2JsZW1zLCBuYW1lbHk6CisKKyAgICAgICAgMS4gSXQncyBub3QgYSBz
dWItY2xhc3Mgb2YgQ1NTVmFsdWUsIG1ha2luZyBpdCBhd2t3YXJkIHRvIHVzZS4KKyAgICAgICAg
Mi4gSXQgY2FuIG9ubHkgY29udGFpbiBDU1NQcmltaXRpdmVWYWx1ZXMuCisKKyAgICAgICAgQ1NT
VmFsdWVQYWlyIHdpbGwgZml4IGJvdGggb2YgdGhlc2Ugc2hvcnRjb21pbmdzLgorCisgICAgICAg
ICogU291cmNlcy50eHQ6CisgICAgICAgIEFkZCBDU1NWYWx1ZVBhaXIuY3BwLgorCisgICAgICAg
ICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0
IGNvbnN0KToKKyAgICAgICAgSGFuZGxlIG5ldyBWYWx1ZVBhaXJDbGFzcyB2YWx1ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpzZXBhcmF0b3JDc3NUZXh0IGNvbnN0KToKKyAgICAgICAg
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgIEhh
bmRsZSBuZXcgVmFsdWVQYWlyQ2xhc3MgdmFsdWUuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc1ZhbHVlUGFpciBjb25zdCk6CisgICAg
ICAgIEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OkNTU1ZhbHVlKToKKyAgICAg
ICAgQWRkIG5ldyBWYWx1ZVBhaXJDbGFzcyB2YWx1ZS4gUmVuYW1lIG1fdmFsdWVMaXN0U2VwYXJh
dG9yIHRvIG1fdmFsdWVTZXBhcmF0b3IsCisgICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvciB0byBW
YWx1ZVNlcGFyYXRvciwgYW5kCisgICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvckJpdHMgdG8gVmFs
dWVTZXBhcmF0b3JCaXRzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlTGlzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZUxpc3Q6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0
OjpjdXN0b21DU1NUZXh0IGNvbnN0KToKKyAgICAgICAgUmVmYWN0b3IgdG8gdXNlIG5ldyBzZXBh
cmF0b3JDc3NUZXh0KCkgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6
OmVxdWFscyBjb25zdCk6CisgICAgICAgIFJlbmFtZSBtX3ZhbHVlTGlzdFNlcGFyYXRvciB0byBt
X3ZhbHVlU2VwYXJhdG9yLAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3IgdG8gVmFsdWVTZXBh
cmF0b3IsIGFuZAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3JCaXRzIHRvIFZhbHVlU2VwYXJh
dG9yQml0cy4KKworICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlTGlzdDo6c2VwYXJhdG9yIGNvbnN0KToKKyAgICAgICAgUmVuYW1lIG1fdmFs
dWVMaXN0U2VwYXJhdG9yIHRvIG1fdmFsdWVTZXBhcmF0b3IuCisKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWVQYWlyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlUGFpcjo6Y3VzdG9tQ1NT
VGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBhaXI6OmVxdWFscyBjb25z
dCk6CisgICAgICAgIEFkZGVkLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlUGFpci5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVQYWlyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWVQYWlyOjpmaXJzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBh
aXI6OnNlY29uZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBhaXI6OkNTU1Zh
bHVlUGFpcik6CisgICAgICAgIEFkZGVkLgorCisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NP
TVZhbHVlLmg6CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3Q6OmNzc1RleHQgY29uc3Qp
OgorICAgICAgICAqIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdDo6RGVwcmVjYXRlZENTU09NVmFsdWVMaXN0
KToKKyAgICAgICAgUmVuYW1lIG1fdmFsdWVMaXN0U2VwYXJhdG9yIHRvIG1fdmFsdWVTZXBhcmF0
b3IsCisgICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvciB0byBWYWx1ZVNlcGFyYXRvciwgYW5kCisg
ICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvckJpdHMgdG8gVmFsdWVTZXBhcmF0b3JCaXRzLgorCisK
IDIwMjEtMDMtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBT
dG9wIGNhbGxpbmcgW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2Vd
IGluIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDQ5MzFiZDBjN2JkMzc4MDFmNmMz
YzUzYTFhMzk4MDQ1MzgxMTM1NzcuLmNlOWQ0NDhiZjkwMmIyZjI1MDE5MTkwNmQ4YTkxMWRlN2Ez
ZDM1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC03ODAsNiArNzgwLDcgQEAgY3NzL0NTU1VuaXRzLmNw
cAogY3NzL0NTU1Vuc2V0VmFsdWUuY3BwCiBjc3MvQ1NTVmFsdWUuY3BwCiBjc3MvQ1NTVmFsdWVM
aXN0LmNwcAorY3NzL0NTU1ZhbHVlUGFpci5jcHAKIGNzcy9DU1NWYWx1ZVBvb2wuY3BwCiBjc3Mv
Q1NTVmFyaWFibGVEYXRhLmNwcAogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAxYWEzNTM2NzgwZGRhMDFiMDQ5ZGNiZGFmMGZhOTFm
MGMyYWQ3YzMzLi5hZWVjYTNhNjA0M2NkNDRiYjA4NjliNTZlOWI4NjlkYTAzZGMwYWVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJDU1NVbmlj
b2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Vuc2V0VmFsdWUuaCIKICNpbmNsdWRlICJD
U1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZVBhaXIuaCIKICNpbmNsdWRlICJDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAKICNpbmNsdWRlICJDU1NHcmlkQXV0b1JlcGVhdFZh
bHVlLmgiCkBAIC0zMTIsNiArMzEzLDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1VuaWNvZGVSYW5nZVZhbHVlPigqdGhpcyku
Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgVmFsdWVMaXN0Q2xhc3M6CiAgICAgICAgIHJldHVy
biBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAgY2Fz
ZSBWYWx1ZVBhaXJDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1ZhbHVlUGFpcj4o
KnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIExpbmVCb3hDb250YWluQ2xhc3M6CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NMaW5lQm94Q29udGFpblZhbHVlPigqdGhpcykuY3Vz
dG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ2FsY3VsYXRpb25DbGFzczoKQEAgLTMzOCw2ICszNDEs
MjEgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CiAKK1N0cmluZyBDU1NWYWx1ZTo6c2VwYXJhdG9yQ3NzVGV4dCgpIGNvbnN0Cit7Cisg
ICAgc3dpdGNoIChtX3ZhbHVlU2VwYXJhdG9yKSB7CisgICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoK
KyAgICAgICAgcmV0dXJuICIgIl9zOworICAgIGNhc2UgQ29tbWFTZXBhcmF0b3I6CisgICAgICAg
IHJldHVybiAiLCAiX3M7CisgICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKKyAgICAgICAgcmV0dXJu
ICIgLyAiX3M7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgfQorICAgIHJldHVybiAiICJfczsKK30KKwogdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiB7
CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewpAQCAtNDM0LDYgKzQ1Miw5IEBAIHZvaWQgQ1NT
VmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgVmFsdWVMaXN0Q2xhc3M6CiAgICAgICAgIGRlbGV0
ZSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2Fz
ZSBWYWx1ZVBhaXJDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU1ZhbHVlUGFpcj4o
dGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIExpbmVCb3hDb250YWluQ2xhc3M6CiAg
ICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NMaW5lQm94Q29udGFpblZhbHVlPih0aGlzKTsKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBiZGY1YTUzOGExODVlMzk2MmNm
NTYwMGMxN2M3ODU5YjkwNTA2NmY0Li42ZWI3NmM0MDNhMTFkZjU1NmMwZjgwODM1M2QwNDUwMjBh
N2VhOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzcsOSArNzcsMTEgQEAgcHVibGljOgog
CiAgICAgVHlwZSBjc3NWYWx1ZVR5cGUoKSBjb25zdDsKICAgICBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBzZXBhcmF0b3JDc3NUZXh0KCkgY29uc3Q7CiAKICAgICBib29sIGlz
UHJpbWl0aXZlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBQcmltaXRpdmVD
bGFzczsgfQogICAgIGJvb2wgaXNWYWx1ZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlw
ZSA+PSBWYWx1ZUxpc3RDbGFzczsgfQorICAgIGJvb2wgaXNWYWx1ZVBhaXIoKSBjb25zdCB7IHJl
dHVybiBtX2NsYXNzVHlwZSA9PSBWYWx1ZVBhaXJDbGFzczsgfQogICAgIAogICAgIGJvb2wgaXNC
YXNlVmFsdWVMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gVmFsdWVMaXN0Q2xh
c3M7IH0KICAgICAgICAgCkBAIC0xOTgsNiArMjAwLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBM
aW5lQm94Q29udGFpbkNsYXNzLAogICAgICAgICBDYWxjdWxhdGlvbkNsYXNzLAogICAgICAgICBH
cmlkVGVtcGxhdGVBcmVhc0NsYXNzLAorICAgICAgICBWYWx1ZVBhaXJDbGFzcywKIAogICAgICAg
ICBDU1NDb250ZW50RGlzdHJpYnV0aW9uQ2xhc3MsCiAKQEAgLTIxOSw4ICsyMjIsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgfTsKIAogcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgVmFsdWVM
aXN0U2VwYXJhdG9yQml0cyA9IDI7Ci0gICAgZW51bSBWYWx1ZUxpc3RTZXBhcmF0b3IgeworICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgVmFsdWVTZXBhcmF0b3JCaXRzID0gMjsKKyAgICBlbnVtIFZh
bHVlU2VwYXJhdG9yIHsKICAgICAgICAgU3BhY2VTZXBhcmF0b3IsCiAgICAgICAgIENvbW1hU2Vw
YXJhdG9yLAogICAgICAgICBTbGFzaFNlcGFyYXRvcgpAQCAtMjMzLDcgKzIzNiw3IEBAIHByb3Rl
Y3RlZDoKICAgICBleHBsaWNpdCBDU1NWYWx1ZShDbGFzc1R5cGUgY2xhc3NUeXBlKQogICAgICAg
ICA6IG1fcHJpbWl0aXZlVW5pdFR5cGUoMCkKICAgICAgICAgLCBtX2hhc0NhY2hlZENTU1RleHQo
ZmFsc2UpCi0gICAgICAgICwgbV92YWx1ZUxpc3RTZXBhcmF0b3IoU3BhY2VTZXBhcmF0b3IpCisg
ICAgICAgICwgbV92YWx1ZVNlcGFyYXRvcihTcGFjZVNlcGFyYXRvcikKICAgICAgICAgLCBtX2Ns
YXNzVHlwZShjbGFzc1R5cGUpCiAgICAgewogICAgIH0KQEAgLTI1OSw3ICsyNjIsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9wcmltaXRpdmVVbml0VHlwZSA6IDc7IC8vIENTU1VuaXRU
eXBlCiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX2hhc0NhY2hlZENTU1RleHQgOiAxOwogCi0gICAg
dW5zaWduZWQgbV92YWx1ZUxpc3RTZXBhcmF0b3IgOiBWYWx1ZUxpc3RTZXBhcmF0b3JCaXRzOwor
ICAgIHVuc2lnbmVkIG1fdmFsdWVTZXBhcmF0b3IgOiBWYWx1ZVNlcGFyYXRvckJpdHM7CiAKIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9jbGFzc1R5cGUgOiBDbGFzc1R5cGVCaXRzOyAvLyBDbGFz
c1R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAKaW5kZXggNzU3Y2IzYTc4YTZhODdj
ZGM1M2M2YmY1YmQ3NTQ4NzczNTlhZWM4Yy4uMzg3N2M0OWQ2MzE0YTQyMTdjMzQ3MWFlMTYxZTMy
NWI5MWY2OWE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAKQEAgLTI2LDE2ICsy
NiwxNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVM
aXN0KENsYXNzVHlwZSBjbGFzc1R5cGUsIFZhbHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9y
KQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoQ2xhc3NUeXBlIGNsYXNzVHlwZSwgVmFsdWVT
ZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKIHsKLSAg
ICBtX3ZhbHVlTGlzdFNlcGFyYXRvciA9IGxpc3RTZXBhcmF0b3I7CisgICAgbV92YWx1ZVNlcGFy
YXRvciA9IGxpc3RTZXBhcmF0b3I7CiB9CiAKLUNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KFZh
bHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9yKQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxp
c3QoVmFsdWVTZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENTU1ZhbHVlKFZhbHVlTGlz
dENsYXNzKQogewotICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsKKyAg
ICBtX3ZhbHVlU2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsKIH0KIAogYm9vbCBDU1NWYWx1ZUxp
c3Q6OnJlbW92ZUFsbChDU1NWYWx1ZSogdmFsdWUpCkBAIC02NSw3ICs2NSw3IEBAIGJvb2wgQ1NT
VmFsdWVMaXN0OjpoYXNWYWx1ZShDU1NWYWx1ZSogdmFsKSBjb25zdAogUmVmPENTU1ZhbHVlTGlz
dD4gQ1NTVmFsdWVMaXN0Ojpjb3B5KCkKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBuZXdM
aXN0OwotICAgIHN3aXRjaCAobV92YWx1ZUxpc3RTZXBhcmF0b3IpIHsKKyAgICBzd2l0Y2ggKG1f
dmFsdWVTZXBhcmF0b3IpIHsKICAgICBjYXNlIFNwYWNlU2VwYXJhdG9yOgogICAgICAgICBuZXdM
aXN0ID0gY3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKICAgICAgICAgYnJlYWs7CkBAIC04NiwyMSAr
ODYsNyBAQCBSZWY8Q1NTVmFsdWVMaXN0PiBDU1NWYWx1ZUxpc3Q6OmNvcHkoKQogU3RyaW5nIENT
U1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciBy
ZXN1bHQ7Ci0gICAgU3RyaW5nIHNlcGFyYXRvcjsKLSAgICBzd2l0Y2ggKG1fdmFsdWVMaXN0U2Vw
YXJhdG9yKSB7Ci0gICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0g
IiAiX3M7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29tbWFTZXBhcmF0b3I6Ci0gICAgICAg
IHNlcGFyYXRvciA9ICIsICJfczsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTbGFzaFNlcGFy
YXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0gIiAvICJfczsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCisgICAgU3Ry
aW5nIHNlcGFyYXRvciA9IHNlcGFyYXRvckNzc1RleHQoKTsKICAgICBmb3IgKGF1dG8mIHZhbHVl
IDogbV92YWx1ZXMpIHsKICAgICAgICAgaWYgKCFyZXN1bHQuaXNFbXB0eSgpKQogICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZChzZXBhcmF0b3IpOwpAQCAtMTEyLDcgKzk4LDcgQEAgU3RyaW5nIENT
U1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiAKIGJvb2wgQ1NTVmFsdWVMaXN0Ojpl
cXVhbHMoY29uc3QgQ1NTVmFsdWVMaXN0JiBvdGhlcikgY29uc3QKIHsKLSAgICBpZiAobV92YWx1
ZUxpc3RTZXBhcmF0b3IgIT0gb3RoZXIubV92YWx1ZUxpc3RTZXBhcmF0b3IpCisgICAgaWYgKG1f
dmFsdWVTZXBhcmF0b3IgIT0gb3RoZXIubV92YWx1ZVNlcGFyYXRvcikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgaWYgKG1fdmFsdWVzLnNpemUoKSAhPSBvdGhlci5tX3ZhbHVlcy5zaXpl
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKaW5kZXggM2IxNmJhMTY2ZmI2ZDllYjI0NGRl
NDY2MWE5ODQyMmZjMjY3YWRjNy4uNjFjODY5NjRkMzU5MGIxYzczY2M3YTk5MGE4YzcwNmEwZTE1
NjBiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaApAQCAtNzEsMTMgKzcxLDEzIEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgdHJhdmVyc2VTdWJyZXNvdXJjZXMoY29uc3QgV1RGOjpGdW5jdGlv
bjxib29sIChjb25zdCBDYWNoZWRSZXNvdXJjZSYpPiYgaGFuZGxlcikgY29uc3Q7CiAKLSAgICB1
bnNpZ25lZCBzZXBhcmF0b3IoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlTGlzdFNlcGFyYXRvcjsg
fQorICAgIHVuc2lnbmVkIHNlcGFyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVTZXBhcmF0
b3I7IH0KIAogcHJvdGVjdGVkOgotICAgIENTU1ZhbHVlTGlzdChDbGFzc1R5cGUsIFZhbHVlTGlz
dFNlcGFyYXRvcik7CisgICAgQ1NTVmFsdWVMaXN0KENsYXNzVHlwZSwgVmFsdWVTZXBhcmF0b3Ip
OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlzdChWYWx1ZUxpc3RTZXBhcmF0
b3IpOworICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlzdChWYWx1ZVNlcGFyYXRvcik7CiAKICAgICBW
ZWN0b3I8UmVmPENTU1ZhbHVlPiwgND4gbV92YWx1ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFpci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVQYWlyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWUxZWNiYjI2NTFkZWUzN2Q3YWJhZWMzNDU0Zjg1YTU5
ZDkzOTBmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFp
ci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBUeWxlciBX
aWxjb2NrIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NW
YWx1ZVBhaXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTVmFsdWVQYWly
OjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmcgZmlyc3QgPSB0aGlzLT5maXJz
dCgpLT5jc3NUZXh0KCk7CisgICAgU3RyaW5nIHNlY29uZCA9IHRoaXMtPnNlY29uZCgpLT5jc3NU
ZXh0KCk7CisgICAgaWYgKG1fZW5jb2RpbmcgPT0gSWRlbnRpY2FsVmFsdWVFbmNvZGluZzo6Q29h
bGVzY2UgJiYgZmlyc3QgPT0gc2Vjb25kKQorICAgICAgICByZXR1cm4gZmlyc3Q7CisgICAgcmV0
dXJuIGZpcnN0ICsgc2VwYXJhdG9yQ3NzVGV4dCgpICsgc2Vjb25kOworfQorCitib29sIENTU1Zh
bHVlUGFpcjo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlUGFpciAmb3RoZXIpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fdmFsdWVTZXBhcmF0b3IgPT0gb3RoZXIubV92YWx1ZVNlcGFyYXRvciAmJiBtX2Zp
cnN0LmdldCgpLmVxdWFscyhvdGhlci5tX2ZpcnN0KSAmJiBtX3NlY29uZC5nZXQoKS5lcXVhbHMo
b3RoZXIubV9zZWNvbmQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVQYWlyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVQYWlyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU5ZTBiZjZkZWI3ZWQ4OTc5Y2Y3OTk3MzJhZTg1
NTQxNTVjYjE3MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZVBhaXIuaApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIFR5bGVy
IFdpbGNvY2sgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8qKgorICogUmVwcmVzZW50cyBhIHBhaXIg
b2YgQ1NTIHZhbHVlcy4KKyAqCisgKiBJbnRlbmRlZCB0byByZXBsYWNlIFBhaXIuaCwgd2hpY2gg
aXMgb25seSBjYXBhYmxlIG9mIGNvbnRhaW5pbmcgQ1NTUHJpbWl0aXZlVmFsdWVzLCBhbmQgaXMg
bm90IGEgc3ViLWNsYXNzIG9mCisgKiBDU1NWYWx1ZSBpdHNlbGYuIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjA0LgorICovCitjbGFzcyBDU1NWYWx1ZVBh
aXIgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIGVudW0gY2xhc3MgSWRlbnRpY2Fs
VmFsdWVFbmNvZGluZyA6IHVpbnQ4X3QgeworICAgICAgICBEb05vdENvYWxlc2NlLAorICAgICAg
ICBDb2FsZXNjZQorICAgIH07CisKKyAgICBzdGF0aWMgUmVmPENTU1ZhbHVlUGFpcj4gY3JlYXRl
KFJlZjxDU1NWYWx1ZT4mJiBmaXJzdCwgUmVmPENTU1ZhbHVlPiYmIHNlY29uZCwgVmFsdWVTZXBh
cmF0b3Igc2VwYXJhdG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NT
VmFsdWVQYWlyKFdURk1vdmUoZmlyc3QpLCBXVEZNb3ZlKHNlY29uZCksIHNlcGFyYXRvcikpOwor
ICAgIH0KKyAgICBzdGF0aWMgUmVmPENTU1ZhbHVlUGFpcj4gY3JlYXRlKFJlZjxDU1NWYWx1ZT4m
JiBmaXJzdCwgUmVmPENTU1ZhbHVlPiYmIHNlY29uZCwgVmFsdWVTZXBhcmF0b3Igc2VwYXJhdG9y
LCBJZGVudGljYWxWYWx1ZUVuY29kaW5nIGVuY29kaW5nKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTVmFsdWVQYWlyKFdURk1vdmUoZmlyc3QpLCBXVEZNb3ZlKHNlY29u
ZCksIHNlcGFyYXRvciwgZW5jb2RpbmcpKTsKKyAgICB9CisKKyAgICBSZWY8Q1NTVmFsdWU+IGZp
cnN0KCkgY29uc3QgeyByZXR1cm4gbV9maXJzdDsgfQorICAgIFJlZjxDU1NWYWx1ZT4gc2Vjb25k
KCkgY29uc3QgeyByZXR1cm4gbV9zZWNvbmQ7IH0KKworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0
KCkgY29uc3Q7CisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTVmFsdWVQYWlyJiBvdGhlcikgY29u
c3Q7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTVmFsdWVQYWlyKFJlZjxDU1NWYWx1ZT4m
JiBmaXJzdCwgUmVmPENTU1ZhbHVlPiYmIHNlY29uZCwgVmFsdWVTZXBhcmF0b3Igc2VwYXJhdG9y
KQorICAgICAgICA6IENTU1ZhbHVlKFZhbHVlUGFpckNsYXNzKQorICAgICAgICAsIG1fZmlyc3Qo
V1RGTW92ZShmaXJzdCkpCisgICAgICAgICwgbV9zZWNvbmQoV1RGTW92ZShzZWNvbmQpKQorICAg
IHsKKyAgICAgICAgbV92YWx1ZVNlcGFyYXRvciA9IHNlcGFyYXRvcjsKKyAgICB9CisKKyAgICBl
eHBsaWNpdCBDU1NWYWx1ZVBhaXIoUmVmPENTU1ZhbHVlPiYmIGZpcnN0LCBSZWY8Q1NTVmFsdWU+
JiYgc2Vjb25kLCBWYWx1ZVNlcGFyYXRvciBzZXBhcmF0b3IsIElkZW50aWNhbFZhbHVlRW5jb2Rp
bmcgZW5jb2RpbmcpCisgICAgICAgIDogQ1NTVmFsdWUoVmFsdWVQYWlyQ2xhc3MpCisgICAgICAg
ICwgbV9lbmNvZGluZyhlbmNvZGluZykKKyAgICAgICAgLCBtX2ZpcnN0KFdURk1vdmUoZmlyc3Qp
KQorICAgICAgICAsIG1fc2Vjb25kKFdURk1vdmUoc2Vjb25kKSkKKyAgICB7CisgICAgICAgIG1f
dmFsdWVTZXBhcmF0b3IgPSBzZXBhcmF0b3I7CisgICAgfQorCisgICAgSWRlbnRpY2FsVmFsdWVF
bmNvZGluZyBtX2VuY29kaW5nIHsgSWRlbnRpY2FsVmFsdWVFbmNvZGluZzo6Q29hbGVzY2UgfTsK
KyAgICBSZWY8Q1NTVmFsdWU+IG1fZmlyc3Q7CisgICAgUmVmPENTU1ZhbHVlPiBtX3NlY29uZDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0
ZWRDU1NPTVZhbHVlLmgKaW5kZXggMTZiY2E5NmQwNjg3ZmJjY2IyYzdhMGI1MThhMmY4MWVhMGU2
NWNmMS4uNTUyMmM0OWY2NDY5ZmE2M2Y0YjBjZWE4NTNhNDliODA4OGQ0ODk5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHJp
dmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRlc3Ryb3koKTsKIAogcHJvdGVjdGVkOgot
ICAgIHVuc2lnbmVkIG1fdmFsdWVMaXN0U2VwYXJhdG9yIDogQ1NTVmFsdWU6OlZhbHVlTGlzdFNl
cGFyYXRvckJpdHM7CisgICAgdW5zaWduZWQgbV92YWx1ZVNlcGFyYXRvciA6IENTU1ZhbHVlOjpW
YWx1ZVNlcGFyYXRvckJpdHM7CiAgICAgdW5zaWduZWQgbV9jbGFzc1R5cGUgOiBDbGFzc1R5cGVC
aXRzOyAvLyBDbGFzc1R5cGUKICAgICAKICAgICBSZWY8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9v
d25lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1
ZUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5j
cHAKaW5kZXggZWU5MDU0NzMyMzE5Zjk5MzE3ZDg3MmM5ZmQxYmI0ODU5NzFjYTViMy4uNWY1NmEx
ZDAyZjY3MGVlNjZjNmY0YTcwNmE2N2U2MWUxZTFmNWI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAgU3Ry
aW5nIERlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdDo6Y3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgU3Ry
aW5nQnVpbGRlciByZXN1bHQ7CiAgICAgU3RyaW5nIHNlcGFyYXRvcjsKLSAgICBzd2l0Y2ggKG1f
dmFsdWVMaXN0U2VwYXJhdG9yKSB7CisgICAgc3dpdGNoIChtX3ZhbHVlU2VwYXJhdG9yKSB7CiAg
ICAgY2FzZSBDU1NWYWx1ZTo6U3BhY2VTZXBhcmF0b3I6CiAgICAgICAgIHNlcGFyYXRvciA9ICIg
Il9zOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXBy
ZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NT
T01WYWx1ZUxpc3QuaAppbmRleCBjZWZhODhjNjc3OTQxNzU1MzM0NTZkZGUzYmFmNjc2Yjc2MmMy
NjdlLi5lZTQzMzQzMjY3ODdkZDBkODZjZTYxNTg5Nzg0MDJkNjI4YzljMjNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5oCkBAIC00OCw3ICs0OCw3
IEBAIHByb3RlY3RlZDoKICAgICBEZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QoY29uc3QgQ1NTVmFs
dWVMaXN0JiB2YWx1ZSwgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgb3duZXIpCiAgICAgICAgIDogRGVw
cmVjYXRlZENTU09NVmFsdWUoRGVwcmVjYXRlZFZhbHVlTGlzdENsYXNzLCBvd25lcikKICAgICB7
Ci0gICAgICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9yID0gdmFsdWUuc2VwYXJhdG9yKCk7CisgICAg
ICAgIG1fdmFsdWVTZXBhcmF0b3IgPSB2YWx1ZS5zZXBhcmF0b3IoKTsKICAgICAgICAgbV92YWx1
ZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSh2YWx1ZS5sZW5ndGgoKSk7CiAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDAsIHNpemUgPSB2YWx1ZS5sZW5ndGgoKTsgaSA8IHNpemU7ICsraSkKICAg
ICAgICAgICAgIG1fdmFsdWVzLnVuY2hlY2tlZEFwcGVuZCh2YWx1ZS5pdGVtV2l0aG91dEJvdW5k
c0NoZWNrKGkpLT5jcmVhdGVEZXByZWNhdGVkQ1NTT01XcmFwcGVyKG93bmVyKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423260</attachid>
            <date>2021-03-15 16:23:39 -0700</date>
            <delta_ts>2021-03-16 11:03:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223205-20210315182338.patch</filename>
            <type>text/plain</type>
            <size>17556</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MwMmFlMWNjNGQ1NzM3
NWU3MTkzY2ZkZTkwMjNhYWFmMGY1OTBkZC4uNTNiMzdjMGMxNmE5YzE1NTcxZjc2MDQ5Y2YxMzc2
MmE0YzU5MWIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAzLTE1ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgQWRkIENTU1Zh
bHVlUGFpci5oIGluIHByZXBhcmF0aW9uIGZvciBQYWlyLmggcmVmYWN0b3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzIwNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZXcgQ1NTVmFsdWVQYWly
IGNsYXNzLCB3aGljaCBpcyBpbnRlbmRlZCB0byByZXBsYWNlIFBhaXIuaC4KKyAgICAgICAgUGFp
ci5oIGhhcyBzb21lIHByb2JsZW1zLCBuYW1lbHk6CisKKyAgICAgICAgMS4gSXQncyBub3QgYSBz
dWItY2xhc3Mgb2YgQ1NTVmFsdWUsIG1ha2luZyBpdCBhd2t3YXJkIHRvIHVzZS4KKyAgICAgICAg
Mi4gSXQgY2FuIG9ubHkgY29udGFpbiBDU1NQcmltaXRpdmVWYWx1ZXMuCisKKyAgICAgICAgQ1NT
VmFsdWVQYWlyIHdpbGwgZml4IGJvdGggb2YgdGhlc2Ugc2hvcnRjb21pbmdzLgorCisgICAgICAg
ICogU291cmNlcy50eHQ6CisgICAgICAgIEFkZCBDU1NWYWx1ZVBhaXIuY3BwLgorCisgICAgICAg
ICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0
IGNvbnN0KToKKyAgICAgICAgSGFuZGxlIG5ldyBWYWx1ZVBhaXJDbGFzcyB2YWx1ZS4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpzZXBhcmF0b3JDc3NUZXh0IGNvbnN0KToKKyAgICAgICAg
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgIEhh
bmRsZSBuZXcgVmFsdWVQYWlyQ2xhc3MgdmFsdWUuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc1ZhbHVlUGFpciBjb25zdCk6CisgICAg
ICAgIEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OkNTU1ZhbHVlKToKKyAgICAg
ICAgQWRkIG5ldyBWYWx1ZVBhaXJDbGFzcyB2YWx1ZS4gUmVuYW1lIG1fdmFsdWVMaXN0U2VwYXJh
dG9yIHRvIG1fdmFsdWVTZXBhcmF0b3IsCisgICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvciB0byBW
YWx1ZVNlcGFyYXRvciwgYW5kCisgICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvckJpdHMgdG8gVmFs
dWVTZXBhcmF0b3JCaXRzLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlTGlzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6OkNTU1ZhbHVlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYWx1ZUxpc3Q6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0
OjpjdXN0b21DU1NUZXh0IGNvbnN0KToKKyAgICAgICAgUmVmYWN0b3IgdG8gdXNlIG5ldyBzZXBh
cmF0b3JDc3NUZXh0KCkgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZUxpc3Q6
OmVxdWFscyBjb25zdCk6CisgICAgICAgIFJlbmFtZSBtX3ZhbHVlTGlzdFNlcGFyYXRvciB0byBt
X3ZhbHVlU2VwYXJhdG9yLAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3IgdG8gVmFsdWVTZXBh
cmF0b3IsIGFuZAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3JCaXRzIHRvIFZhbHVlU2VwYXJh
dG9yQml0cy4KKworICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlTGlzdDo6c2VwYXJhdG9yIGNvbnN0KToKKyAgICAgICAgUmVuYW1lIG1fdmFs
dWVMaXN0U2VwYXJhdG9yIHRvIG1fdmFsdWVTZXBhcmF0b3IuCisKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWVQYWlyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlUGFpcjo6Y3VzdG9tQ1NT
VGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBhaXI6OmVxdWFscyBjb25z
dCk6CisgICAgICAgIEFkZGVkLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlUGFpci5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVQYWlyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWVQYWlyOjpmaXJzdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBh
aXI6OnNlY29uZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBhaXI6OkNTU1Zh
bHVlUGFpcik6CisgICAgICAgIEFkZGVkLgorCisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NP
TVZhbHVlLmg6CisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3Q6OmNzc1RleHQgY29uc3Qp
OgorICAgICAgICAqIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdDo6RGVwcmVjYXRlZENTU09NVmFsdWVMaXN0
KToKKyAgICAgICAgUmVuYW1lIG1fdmFsdWVMaXN0U2VwYXJhdG9yIHRvIG1fdmFsdWVTZXBhcmF0
b3IsCisgICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvciB0byBWYWx1ZVNlcGFyYXRvciwgYW5kCisg
ICAgICAgIFZhbHVlTGlzdFNlcGFyYXRvckJpdHMgdG8gVmFsdWVTZXBhcmF0b3JCaXRzLgorCisK
IDIwMjEtMDMtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBT
dG9wIGNhbGxpbmcgW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2Vd
IGluIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDQ5MzFiZDBjN2JkMzc4MDFmNmMz
YzUzYTFhMzk4MDQ1MzgxMTM1NzcuLmNlOWQ0NDhiZjkwMmIyZjI1MDE5MTkwNmQ4YTkxMWRlN2Ez
ZDM1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC03ODAsNiArNzgwLDcgQEAgY3NzL0NTU1VuaXRzLmNw
cAogY3NzL0NTU1Vuc2V0VmFsdWUuY3BwCiBjc3MvQ1NTVmFsdWUuY3BwCiBjc3MvQ1NTVmFsdWVM
aXN0LmNwcAorY3NzL0NTU1ZhbHVlUGFpci5jcHAKIGNzcy9DU1NWYWx1ZVBvb2wuY3BwCiBjc3Mv
Q1NTVmFyaWFibGVEYXRhLmNwcAogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAxYWEzNTM2NzgwZGRhMDFiMDQ5ZGNiZGFmMGZhOTFm
MGMyYWQ3YzMzLi5hZWVjYTNhNjA0M2NkNDRiYjA4NjliNTZlOWI4NjlkYTAzZGMwYWVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJDU1NVbmlj
b2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Vuc2V0VmFsdWUuaCIKICNpbmNsdWRlICJD
U1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZVBhaXIuaCIKICNpbmNsdWRlICJDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAKICNpbmNsdWRlICJDU1NHcmlkQXV0b1JlcGVhdFZh
bHVlLmgiCkBAIC0zMTIsNiArMzEzLDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1VuaWNvZGVSYW5nZVZhbHVlPigqdGhpcyku
Y3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgVmFsdWVMaXN0Q2xhc3M6CiAgICAgICAgIHJldHVy
biBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAgY2Fz
ZSBWYWx1ZVBhaXJDbGFzczoKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1ZhbHVlUGFpcj4o
KnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIExpbmVCb3hDb250YWluQ2xhc3M6CiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NMaW5lQm94Q29udGFpblZhbHVlPigqdGhpcykuY3Vz
dG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ2FsY3VsYXRpb25DbGFzczoKQEAgLTMzOCw2ICszNDEs
MjEgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CiAKK1N0cmluZyBDU1NWYWx1ZTo6c2VwYXJhdG9yQ3NzVGV4dCgpIGNvbnN0Cit7Cisg
ICAgc3dpdGNoIChtX3ZhbHVlU2VwYXJhdG9yKSB7CisgICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoK
KyAgICAgICAgcmV0dXJuICIgIl9zOworICAgIGNhc2UgQ29tbWFTZXBhcmF0b3I6CisgICAgICAg
IHJldHVybiAiLCAiX3M7CisgICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKKyAgICAgICAgcmV0dXJu
ICIgLyAiX3M7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgfQorICAgIHJldHVybiAiICJfczsKK30KKwogdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiB7
CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewpAQCAtNDM0LDYgKzQ1Miw5IEBAIHZvaWQgQ1NT
VmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgVmFsdWVMaXN0Q2xhc3M6CiAgICAgICAgIGRlbGV0
ZSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KHRoaXMpOwogICAgICAgICByZXR1cm47CisgICAgY2Fz
ZSBWYWx1ZVBhaXJDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU1ZhbHVlUGFpcj4o
dGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIExpbmVCb3hDb250YWluQ2xhc3M6CiAg
ICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NMaW5lQm94Q29udGFpblZhbHVlPih0aGlzKTsKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBiZGY1YTUzOGExODVlMzk2MmNm
NTYwMGMxN2M3ODU5YjkwNTA2NmY0Li42ZWI3NmM0MDNhMTFkZjU1NmMwZjgwODM1M2QwNDUwMjBh
N2VhOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzcsOSArNzcsMTEgQEAgcHVibGljOgog
CiAgICAgVHlwZSBjc3NWYWx1ZVR5cGUoKSBjb25zdDsKICAgICBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OworICAgIFN0cmluZyBzZXBhcmF0b3JDc3NUZXh0KCkgY29uc3Q7CiAKICAgICBib29sIGlz
UHJpbWl0aXZlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBQcmltaXRpdmVD
bGFzczsgfQogICAgIGJvb2wgaXNWYWx1ZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlw
ZSA+PSBWYWx1ZUxpc3RDbGFzczsgfQorICAgIGJvb2wgaXNWYWx1ZVBhaXIoKSBjb25zdCB7IHJl
dHVybiBtX2NsYXNzVHlwZSA9PSBWYWx1ZVBhaXJDbGFzczsgfQogICAgIAogICAgIGJvb2wgaXNC
YXNlVmFsdWVMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gVmFsdWVMaXN0Q2xh
c3M7IH0KICAgICAgICAgCkBAIC0xOTgsNiArMjAwLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBM
aW5lQm94Q29udGFpbkNsYXNzLAogICAgICAgICBDYWxjdWxhdGlvbkNsYXNzLAogICAgICAgICBH
cmlkVGVtcGxhdGVBcmVhc0NsYXNzLAorICAgICAgICBWYWx1ZVBhaXJDbGFzcywKIAogICAgICAg
ICBDU1NDb250ZW50RGlzdHJpYnV0aW9uQ2xhc3MsCiAKQEAgLTIxOSw4ICsyMjIsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgfTsKIAogcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgVmFsdWVM
aXN0U2VwYXJhdG9yQml0cyA9IDI7Ci0gICAgZW51bSBWYWx1ZUxpc3RTZXBhcmF0b3IgeworICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgVmFsdWVTZXBhcmF0b3JCaXRzID0gMjsKKyAgICBlbnVtIFZh
bHVlU2VwYXJhdG9yIHsKICAgICAgICAgU3BhY2VTZXBhcmF0b3IsCiAgICAgICAgIENvbW1hU2Vw
YXJhdG9yLAogICAgICAgICBTbGFzaFNlcGFyYXRvcgpAQCAtMjMzLDcgKzIzNiw3IEBAIHByb3Rl
Y3RlZDoKICAgICBleHBsaWNpdCBDU1NWYWx1ZShDbGFzc1R5cGUgY2xhc3NUeXBlKQogICAgICAg
ICA6IG1fcHJpbWl0aXZlVW5pdFR5cGUoMCkKICAgICAgICAgLCBtX2hhc0NhY2hlZENTU1RleHQo
ZmFsc2UpCi0gICAgICAgICwgbV92YWx1ZUxpc3RTZXBhcmF0b3IoU3BhY2VTZXBhcmF0b3IpCisg
ICAgICAgICwgbV92YWx1ZVNlcGFyYXRvcihTcGFjZVNlcGFyYXRvcikKICAgICAgICAgLCBtX2Ns
YXNzVHlwZShjbGFzc1R5cGUpCiAgICAgewogICAgIH0KQEAgLTI1OSw3ICsyNjIsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9wcmltaXRpdmVVbml0VHlwZSA6IDc7IC8vIENTU1VuaXRU
eXBlCiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX2hhc0NhY2hlZENTU1RleHQgOiAxOwogCi0gICAg
dW5zaWduZWQgbV92YWx1ZUxpc3RTZXBhcmF0b3IgOiBWYWx1ZUxpc3RTZXBhcmF0b3JCaXRzOwor
ICAgIHVuc2lnbmVkIG1fdmFsdWVTZXBhcmF0b3IgOiBWYWx1ZVNlcGFyYXRvckJpdHM7CiAKIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9jbGFzc1R5cGUgOiBDbGFzc1R5cGVCaXRzOyAvLyBDbGFz
c1R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAKaW5kZXggNzU3Y2IzYTc4YTZhODdj
ZGM1M2M2YmY1YmQ3NTQ4NzczNTlhZWM4Yy4uMzg3N2M0OWQ2MzE0YTQyMTdjMzQ3MWFlMTYxZTMy
NWI5MWY2OWE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAKQEAgLTI2LDE2ICsy
NiwxNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVM
aXN0KENsYXNzVHlwZSBjbGFzc1R5cGUsIFZhbHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9y
KQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoQ2xhc3NUeXBlIGNsYXNzVHlwZSwgVmFsdWVT
ZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKIHsKLSAg
ICBtX3ZhbHVlTGlzdFNlcGFyYXRvciA9IGxpc3RTZXBhcmF0b3I7CisgICAgbV92YWx1ZVNlcGFy
YXRvciA9IGxpc3RTZXBhcmF0b3I7CiB9CiAKLUNTU1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KFZh
bHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9yKQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxp
c3QoVmFsdWVTZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENTU1ZhbHVlKFZhbHVlTGlz
dENsYXNzKQogewotICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsKKyAg
ICBtX3ZhbHVlU2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsKIH0KIAogYm9vbCBDU1NWYWx1ZUxp
c3Q6OnJlbW92ZUFsbChDU1NWYWx1ZSogdmFsdWUpCkBAIC02NSw3ICs2NSw3IEBAIGJvb2wgQ1NT
VmFsdWVMaXN0OjpoYXNWYWx1ZShDU1NWYWx1ZSogdmFsKSBjb25zdAogUmVmPENTU1ZhbHVlTGlz
dD4gQ1NTVmFsdWVMaXN0Ojpjb3B5KCkKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBuZXdM
aXN0OwotICAgIHN3aXRjaCAobV92YWx1ZUxpc3RTZXBhcmF0b3IpIHsKKyAgICBzd2l0Y2ggKG1f
dmFsdWVTZXBhcmF0b3IpIHsKICAgICBjYXNlIFNwYWNlU2VwYXJhdG9yOgogICAgICAgICBuZXdM
aXN0ID0gY3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKICAgICAgICAgYnJlYWs7CkBAIC04NiwyMSAr
ODYsNyBAQCBSZWY8Q1NTVmFsdWVMaXN0PiBDU1NWYWx1ZUxpc3Q6OmNvcHkoKQogU3RyaW5nIENT
U1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciBy
ZXN1bHQ7Ci0gICAgU3RyaW5nIHNlcGFyYXRvcjsKLSAgICBzd2l0Y2ggKG1fdmFsdWVMaXN0U2Vw
YXJhdG9yKSB7Ci0gICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0g
IiAiX3M7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29tbWFTZXBhcmF0b3I6Ci0gICAgICAg
IHNlcGFyYXRvciA9ICIsICJfczsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTbGFzaFNlcGFy
YXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0gIiAvICJfczsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgfQotCisgICAgU3Ry
aW5nIHNlcGFyYXRvciA9IHNlcGFyYXRvckNzc1RleHQoKTsKICAgICBmb3IgKGF1dG8mIHZhbHVl
IDogbV92YWx1ZXMpIHsKICAgICAgICAgaWYgKCFyZXN1bHQuaXNFbXB0eSgpKQogICAgICAgICAg
ICAgcmVzdWx0LmFwcGVuZChzZXBhcmF0b3IpOwpAQCAtMTEyLDcgKzk4LDcgQEAgU3RyaW5nIENT
U1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiAKIGJvb2wgQ1NTVmFsdWVMaXN0Ojpl
cXVhbHMoY29uc3QgQ1NTVmFsdWVMaXN0JiBvdGhlcikgY29uc3QKIHsKLSAgICBpZiAobV92YWx1
ZUxpc3RTZXBhcmF0b3IgIT0gb3RoZXIubV92YWx1ZUxpc3RTZXBhcmF0b3IpCisgICAgaWYgKG1f
dmFsdWVTZXBhcmF0b3IgIT0gb3RoZXIubV92YWx1ZVNlcGFyYXRvcikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgaWYgKG1fdmFsdWVzLnNpemUoKSAhPSBvdGhlci5tX3ZhbHVlcy5zaXpl
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKaW5kZXggM2IxNmJhMTY2ZmI2ZDllYjI0NGRl
NDY2MWE5ODQyMmZjMjY3YWRjNy4uNjFjODY5NjRkMzU5MGIxYzczY2M3YTk5MGE4YzcwNmEwZTE1
NjBiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaApAQCAtNzEsMTMgKzcxLDEzIEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgdHJhdmVyc2VTdWJyZXNvdXJjZXMoY29uc3QgV1RGOjpGdW5jdGlv
bjxib29sIChjb25zdCBDYWNoZWRSZXNvdXJjZSYpPiYgaGFuZGxlcikgY29uc3Q7CiAKLSAgICB1
bnNpZ25lZCBzZXBhcmF0b3IoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlTGlzdFNlcGFyYXRvcjsg
fQorICAgIHVuc2lnbmVkIHNlcGFyYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVTZXBhcmF0
b3I7IH0KIAogcHJvdGVjdGVkOgotICAgIENTU1ZhbHVlTGlzdChDbGFzc1R5cGUsIFZhbHVlTGlz
dFNlcGFyYXRvcik7CisgICAgQ1NTVmFsdWVMaXN0KENsYXNzVHlwZSwgVmFsdWVTZXBhcmF0b3Ip
OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlzdChWYWx1ZUxpc3RTZXBhcmF0
b3IpOworICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlzdChWYWx1ZVNlcGFyYXRvcik7CiAKICAgICBW
ZWN0b3I8UmVmPENTU1ZhbHVlPiwgND4gbV92YWx1ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFpci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVQYWlyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWUxZWNiYjI2NTFkZWUzN2Q3YWJhZWMzNDU0Zjg1YTU5
ZDkzOTBmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFp
ci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBUeWxlciBX
aWxjb2NrIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NW
YWx1ZVBhaXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTVmFsdWVQYWly
OjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmcgZmlyc3QgPSB0aGlzLT5maXJz
dCgpLT5jc3NUZXh0KCk7CisgICAgU3RyaW5nIHNlY29uZCA9IHRoaXMtPnNlY29uZCgpLT5jc3NU
ZXh0KCk7CisgICAgaWYgKG1fZW5jb2RpbmcgPT0gSWRlbnRpY2FsVmFsdWVFbmNvZGluZzo6Q29h
bGVzY2UgJiYgZmlyc3QgPT0gc2Vjb25kKQorICAgICAgICByZXR1cm4gZmlyc3Q7CisgICAgcmV0
dXJuIGZpcnN0ICsgc2VwYXJhdG9yQ3NzVGV4dCgpICsgc2Vjb25kOworfQorCitib29sIENTU1Zh
bHVlUGFpcjo6ZXF1YWxzKGNvbnN0IENTU1ZhbHVlUGFpciAmb3RoZXIpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fdmFsdWVTZXBhcmF0b3IgPT0gb3RoZXIubV92YWx1ZVNlcGFyYXRvciAmJiBtX2Zp
cnN0LmdldCgpLmVxdWFscyhvdGhlci5tX2ZpcnN0KSAmJiBtX3NlY29uZC5nZXQoKS5lcXVhbHMo
b3RoZXIubV9zZWNvbmQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVQYWlyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVQYWlyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTZhNTEwOGYwMTkyYWMyOTA2YTJiNmU0MTUxYjg0
Y2I1Y2VhZTM3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZVBhaXIuaApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIFR5bGVy
IFdpbGNvY2sgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8qKgorICogUmVwcmVzZW50cyBhIHBhaXIg
b2YgQ1NTIHZhbHVlcy4KKyAqCisgKiBJbnRlbmRlZCB0byByZXBsYWNlIFBhaXIuaCwgd2hpY2gg
aXMgb25seSBjYXBhYmxlIG9mIGNvbnRhaW5pbmcgQ1NTUHJpbWl0aXZlVmFsdWVzLCBhbmQgaXMg
bm90IGEgc3ViLWNsYXNzIG9mCisgKiBDU1NWYWx1ZSBpdHNlbGYuIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjA0LgorICovCitjbGFzcyBDU1NWYWx1ZVBh
aXIgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIGVudW0gY2xhc3MgSWRlbnRpY2Fs
VmFsdWVFbmNvZGluZyA6IHVpbnQ4X3QgeworICAgICAgICBEb05vdENvYWxlc2NlLAorICAgICAg
ICBDb2FsZXNjZQorICAgIH07CisKKyAgICBzdGF0aWMgUmVmPENTU1ZhbHVlUGFpcj4gY3JlYXRl
KFJlZjxDU1NWYWx1ZT4mJiBmaXJzdCwgUmVmPENTU1ZhbHVlPiYmIHNlY29uZCwgVmFsdWVTZXBh
cmF0b3Igc2VwYXJhdG9yKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NT
VmFsdWVQYWlyKFdURk1vdmUoZmlyc3QpLCBXVEZNb3ZlKHNlY29uZCksIHNlcGFyYXRvcikpOwor
ICAgIH0KKyAgICBzdGF0aWMgUmVmPENTU1ZhbHVlUGFpcj4gY3JlYXRlKFJlZjxDU1NWYWx1ZT4m
JiBmaXJzdCwgUmVmPENTU1ZhbHVlPiYmIHNlY29uZCwgVmFsdWVTZXBhcmF0b3Igc2VwYXJhdG9y
LCBJZGVudGljYWxWYWx1ZUVuY29kaW5nIGVuY29kaW5nKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTVmFsdWVQYWlyKFdURk1vdmUoZmlyc3QpLCBXVEZNb3ZlKHNlY29u
ZCksIHNlcGFyYXRvciwgZW5jb2RpbmcpKTsKKyAgICB9CisKKyAgICBSZWY8Q1NTVmFsdWU+IGZp
cnN0KCkgY29uc3QgeyByZXR1cm4gbV9maXJzdDsgfQorICAgIFJlZjxDU1NWYWx1ZT4gc2Vjb25k
KCkgY29uc3QgeyByZXR1cm4gbV9zZWNvbmQ7IH0KKworICAgIFN0cmluZyBjdXN0b21DU1NUZXh0
KCkgY29uc3Q7CisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTVmFsdWVQYWlyJiBvdGhlcikgY29u
c3Q7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTVmFsdWVQYWlyKFJlZjxDU1NWYWx1ZT4m
JiBmaXJzdCwgUmVmPENTU1ZhbHVlPiYmIHNlY29uZCwgVmFsdWVTZXBhcmF0b3Igc2VwYXJhdG9y
KQorICAgICAgICA6IENTU1ZhbHVlKFZhbHVlUGFpckNsYXNzKQorICAgICAgICAsIG1fZmlyc3Qo
V1RGTW92ZShmaXJzdCkpCisgICAgICAgICwgbV9zZWNvbmQoV1RGTW92ZShzZWNvbmQpKQorICAg
IHsKKyAgICAgICAgbV92YWx1ZVNlcGFyYXRvciA9IHNlcGFyYXRvcjsKKyAgICB9CisKKyAgICBl
eHBsaWNpdCBDU1NWYWx1ZVBhaXIoUmVmPENTU1ZhbHVlPiYmIGZpcnN0LCBSZWY8Q1NTVmFsdWU+
JiYgc2Vjb25kLCBWYWx1ZVNlcGFyYXRvciBzZXBhcmF0b3IsIElkZW50aWNhbFZhbHVlRW5jb2Rp
bmcgZW5jb2RpbmcpCisgICAgICAgIDogQ1NTVmFsdWUoVmFsdWVQYWlyQ2xhc3MpCisgICAgICAg
ICwgbV9lbmNvZGluZyhlbmNvZGluZykKKyAgICAgICAgLCBtX2ZpcnN0KFdURk1vdmUoZmlyc3Qp
KQorICAgICAgICAsIG1fc2Vjb25kKFdURk1vdmUoc2Vjb25kKSkKKyAgICB7CisgICAgICAgIG1f
dmFsdWVTZXBhcmF0b3IgPSBzZXBhcmF0b3I7CisgICAgfQorCisgICAgSWRlbnRpY2FsVmFsdWVF
bmNvZGluZyBtX2VuY29kaW5nIHsgSWRlbnRpY2FsVmFsdWVFbmNvZGluZzo6Q29hbGVzY2UgfTsK
KyAgICBSZWY8Q1NTVmFsdWU+IG1fZmlyc3Q7CisgICAgUmVmPENTU1ZhbHVlPiBtX3NlY29uZDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19D
U1NfVkFMVUUoQ1NTVmFsdWVQYWlyLCBpc1ZhbHVlUGFpcigpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RGVwcmVjYXRlZENTU09NVmFsdWUuaAppbmRleCAxNmJjYTk2ZDA2ODdmYmNjYjJjN2EwYjUxOGEy
ZjgxZWEwZTY1Y2YxLi41NTIyYzQ5ZjY0NjlmYTYzZjRiMGNlYTg1M2E0OWI4MDg4ZDQ4OTkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaApAQCAtODksNyArODks
NyBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGVzdHJveSgpOwogCiBwcm90
ZWN0ZWQ6Ci0gICAgdW5zaWduZWQgbV92YWx1ZUxpc3RTZXBhcmF0b3IgOiBDU1NWYWx1ZTo6VmFs
dWVMaXN0U2VwYXJhdG9yQml0czsKKyAgICB1bnNpZ25lZCBtX3ZhbHVlU2VwYXJhdG9yIDogQ1NT
VmFsdWU6OlZhbHVlU2VwYXJhdG9yQml0czsKICAgICB1bnNpZ25lZCBtX2NsYXNzVHlwZSA6IENs
YXNzVHlwZUJpdHM7IC8vIENsYXNzVHlwZQogICAgIAogICAgIFJlZjxDU1NTdHlsZURlY2xhcmF0
aW9uPiBtX293bmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRD
U1NPTVZhbHVlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFs
dWVMaXN0LmNwcAppbmRleCBlZTkwNTQ3MzIzMTlmOTkzMTdkODcyYzlmZDFiYjQ4NTk3MWNhNWIz
Li41ZjU2YTFkMDJmNjcwZWU2NmM2ZjRhNzA2YTY3ZTYxZTFlMWY1YjU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0LmNwcApAQCAtMzQsNyArMzQs
NyBAQCBTdHJpbmcgRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0Ojpjc3NUZXh0KCkgY29uc3QKIHsK
ICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICBTdHJpbmcgc2VwYXJhdG9yOwotICAgIHN3
aXRjaCAobV92YWx1ZUxpc3RTZXBhcmF0b3IpIHsKKyAgICBzd2l0Y2ggKG1fdmFsdWVTZXBhcmF0
b3IpIHsKICAgICBjYXNlIENTU1ZhbHVlOjpTcGFjZVNlcGFyYXRvcjoKICAgICAgICAgc2VwYXJh
dG9yID0gIiAiX3M7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJl
Y2F0ZWRDU1NPTVZhbHVlTGlzdC5oCmluZGV4IGNlZmE4OGM2Nzc5NDE3NTUzMzQ1NmRkZTNiYWY2
NzZiNzYyYzI2N2UuLmVlNDMzNDMyNjc4N2RkMGQ4NmNlNjE1ODk3ODQwMmQ2MjhjOWMyM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0LmgKQEAgLTQ4
LDcgKzQ4LDcgQEAgcHJvdGVjdGVkOgogICAgIERlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdChjb25z
dCBDU1NWYWx1ZUxpc3QmIHZhbHVlLCBDU1NTdHlsZURlY2xhcmF0aW9uJiBvd25lcikKICAgICAg
ICAgOiBEZXByZWNhdGVkQ1NTT01WYWx1ZShEZXByZWNhdGVkVmFsdWVMaXN0Q2xhc3MsIG93bmVy
KQogICAgIHsKLSAgICAgICAgbV92YWx1ZUxpc3RTZXBhcmF0b3IgPSB2YWx1ZS5zZXBhcmF0b3Io
KTsKKyAgICAgICAgbV92YWx1ZVNlcGFyYXRvciA9IHZhbHVlLnNlcGFyYXRvcigpOwogICAgICAg
ICBtX3ZhbHVlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHZhbHVlLmxlbmd0aCgpKTsKICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHZhbHVlLmxlbmd0aCgpOyBpIDwgc2l6ZTsg
KytpKQogICAgICAgICAgICAgbV92YWx1ZXMudW5jaGVja2VkQXBwZW5kKHZhbHVlLml0ZW1XaXRo
b3V0Qm91bmRzQ2hlY2soaSktPmNyZWF0ZURlcHJlY2F0ZWRDU1NPTVdyYXBwZXIob3duZXIpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423358</attachid>
            <date>2021-03-16 11:03:52 -0700</date>
            <delta_ts>2021-03-16 19:12:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223205-20210316130351.patch</filename>
            <type>text/plain</type>
            <size>17378</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYxYTc4YzFiMzNiOWM3
NGZkN2E2NDJmMzgxM2M2ZjY3MzcxYTk3Ny4uNmFkNzk2MjliNDQ4YWUxN2MzZjQ2NzdhZTc1MGMz
MzZmMzhiZGE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTAzLTE2ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgQWRkIENTU1Zh
bHVlUGFpci5oIGluIHByZXBhcmF0aW9uIGZvciBQYWlyLmggcmVmYWN0b3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzIwNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBBZGQgbmV3IENTU1ZhbHVlUGFpciBj
bGFzcywgd2hpY2ggaXMgaW50ZW5kZWQgdG8gcmVwbGFjZSBQYWlyLmguCisgICAgICAgIFBhaXIu
aCBoYXMgc29tZSBwcm9ibGVtcywgbmFtZWx5OgorCisgICAgICAgIDEuIEl0J3Mgbm90IGEgc3Vi
LWNsYXNzIG9mIENTU1ZhbHVlLCBtYWtpbmcgaXQgYXdrd2FyZCB0byB1c2UuCisgICAgICAgIDIu
IEl0IGNhbiBvbmx5IGNvbnRhaW4gQ1NTUHJpbWl0aXZlVmFsdWVzLgorCisgICAgICAgIENTU1Zh
bHVlUGFpciB3aWxsIGZpeCBib3RoIG9mIHRoZXNlIHNob3J0Y29taW5ncy4KKworICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICBBZGQgQ1NTVmFsdWVQYWlyLmNwcC4KKworICAgICAgICAq
IGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCBj
b25zdCk6CisgICAgICAgIEhhbmRsZSBuZXcgVmFsdWVQYWlyQ2xhc3MgdmFsdWUuCisgICAgICAg
IChXZWJDb3JlOjpDU1NWYWx1ZTo6c2VwYXJhdG9yQ3NzVGV4dCBjb25zdCk6CisgICAgICAgIEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICBIYW5k
bGUgbmV3IFZhbHVlUGFpckNsYXNzIHZhbHVlLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNWYWx1ZVBhaXIgY29uc3QpOgorICAgICAg
ICBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpDU1NWYWx1ZSk6CisgICAgICAg
IEFkZCBuZXcgVmFsdWVQYWlyQ2xhc3MgdmFsdWUuIFJlbmFtZSBtX3ZhbHVlTGlzdFNlcGFyYXRv
ciB0byBtX3ZhbHVlU2VwYXJhdG9yLAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3IgdG8gVmFs
dWVTZXBhcmF0b3IsIGFuZAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3JCaXRzIHRvIFZhbHVl
U2VwYXJhdG9yQml0cy4KKworICAgICAgICAqIGNzcy9DU1NWYWx1ZUxpc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTVmFsdWVMaXN0Ojpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlTGlzdDo6
Y3VzdG9tQ1NTVGV4dCBjb25zdCk6CisgICAgICAgIFJlZmFjdG9yIHRvIHVzZSBuZXcgc2VwYXJh
dG9yQ3NzVGV4dCgpIGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0Ojpl
cXVhbHMgY29uc3QpOgorICAgICAgICBSZW5hbWUgbV92YWx1ZUxpc3RTZXBhcmF0b3IgdG8gbV92
YWx1ZVNlcGFyYXRvciwKKyAgICAgICAgVmFsdWVMaXN0U2VwYXJhdG9yIHRvIFZhbHVlU2VwYXJh
dG9yLCBhbmQKKyAgICAgICAgVmFsdWVMaXN0U2VwYXJhdG9yQml0cyB0byBWYWx1ZVNlcGFyYXRv
ckJpdHMuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVMaXN0Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NWYWx1ZUxpc3Q6OnNlcGFyYXRvciBjb25zdCk6CisgICAgICAgIFJlbmFtZSBtX3ZhbHVl
TGlzdFNlcGFyYXRvciB0byBtX3ZhbHVlU2VwYXJhdG9yLgorCisgICAgICAgICogY3NzL0NTU1Zh
bHVlUGFpci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZVBhaXI6OmN1c3RvbUNTU1Rl
eHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVQYWlyOjplcXVhbHMgY29uc3Qp
OgorICAgICAgICBBZGRlZC4KKworICAgICAgICAqIGNzcy9DU1NWYWx1ZVBhaXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ZhbHVlUGFpcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1ZhbHVlUGFpcjo6Zmlyc3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVQYWly
OjpzZWNvbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWVQYWlyOjpDU1NWYWx1
ZVBhaXIpOgorICAgICAgICBBZGRlZC4KKworICAgICAgICAqIGNzcy9EZXByZWNhdGVkQ1NTT01W
YWx1ZS5oOgorICAgICAgICAqIGNzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZENTU09NVmFsdWVMaXN0Ojpjc3NUZXh0IGNvbnN0KToK
KyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpEZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3Q6OkRlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdCk6
CisgICAgICAgIFJlbmFtZSBtX3ZhbHVlTGlzdFNlcGFyYXRvciB0byBtX3ZhbHVlU2VwYXJhdG9y
LAorICAgICAgICBWYWx1ZUxpc3RTZXBhcmF0b3IgdG8gVmFsdWVTZXBhcmF0b3IsIGFuZAorICAg
ICAgICBWYWx1ZUxpc3RTZXBhcmF0b3JCaXRzIHRvIFZhbHVlU2VwYXJhdG9yQml0cy4KKworCiAy
MDIxLTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtD
b2NvYV0gWW91VHViZSBhdWRpbyBzdGFsbHMgb2NjYXNpb25hbGx5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDQ5MzFiZDBjN2JkMzc4MDFmNmMzYzUzYTFhMzk4MDQ1MzgxMTM1NzcuLmNlOWQ0NDhiZjkwMmIy
ZjI1MDE5MTkwNmQ4YTkxMWRlN2EzZDM1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC03ODAsNiArNzgw
LDcgQEAgY3NzL0NTU1VuaXRzLmNwcAogY3NzL0NTU1Vuc2V0VmFsdWUuY3BwCiBjc3MvQ1NTVmFs
dWUuY3BwCiBjc3MvQ1NTVmFsdWVMaXN0LmNwcAorY3NzL0NTU1ZhbHVlUGFpci5jcHAKIGNzcy9D
U1NWYWx1ZVBvb2wuY3BwCiBjc3MvQ1NTVmFyaWFibGVEYXRhLmNwcAogY3NzL0NTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAxYWEzNTM2Nzgw
ZGRhMDFiMDQ5ZGNiZGFmMGZhOTFmMGMyYWQ3YzMzLi5hZWVjYTNhNjA0M2NkNDRiYjA4NjliNTZl
OWI4NjlkYTAzZGMwYWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTYyLDYgKzYyLDcg
QEAKICNpbmNsdWRlICJDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Vuc2V0
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZVBh
aXIuaCIKICNpbmNsdWRlICJDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAKICNpbmNsdWRl
ICJDU1NHcmlkQXV0b1JlcGVhdFZhbHVlLmgiCkBAIC0zMTIsNiArMzEzLDggQEAgU3RyaW5nIENT
U1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1VuaWNv
ZGVSYW5nZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgVmFsdWVMaXN0
Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCp0aGlzKS5jdXN0
b21DU1NUZXh0KCk7CisgICAgY2FzZSBWYWx1ZVBhaXJDbGFzczoKKyAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU1ZhbHVlUGFpcj4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsKICAgICBjYXNlIExp
bmVCb3hDb250YWluQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NMaW5lQm94Q29u
dGFpblZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgQ2FsY3VsYXRpb25D
bGFzczoKQEAgLTMzOCw2ICszNDEsMjEgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29u
c3QKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBDU1NWYWx1ZTo6c2VwYXJhdG9y
Q3NzVGV4dCgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVlU2VwYXJhdG9yKSB7CisgICAg
Y2FzZSBTcGFjZVNlcGFyYXRvcjoKKyAgICAgICAgcmV0dXJuICIgIl9zOworICAgIGNhc2UgQ29t
bWFTZXBhcmF0b3I6CisgICAgICAgIHJldHVybiAiLCAiX3M7CisgICAgY2FzZSBTbGFzaFNlcGFy
YXRvcjoKKyAgICAgICAgcmV0dXJuICIgLyAiX3M7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorICAgIHJldHVybiAiICJfczsKK30KKwogdm9pZCBD
U1NWYWx1ZTo6ZGVzdHJveSgpCiB7CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewpAQCAtNDM0
LDYgKzQ1Miw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgVmFsdWVMaXN0
Q2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KHRoaXMpOwogICAg
ICAgICByZXR1cm47CisgICAgY2FzZSBWYWx1ZVBhaXJDbGFzczoKKyAgICAgICAgZGVsZXRlIGRv
d25jYXN0PENTU1ZhbHVlUGFpcj4odGhpcyk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIExp
bmVCb3hDb250YWluQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NMaW5lQm94Q29u
dGFpblZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRl
eCBiZGY1YTUzOGExODVlMzk2MmNmNTYwMGMxN2M3ODU5YjkwNTA2NmY0Li42ZWI3NmM0MDNhMTFk
ZjU1NmMwZjgwODM1M2QwNDUwMjBhN2VhOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNzcs
OSArNzcsMTEgQEAgcHVibGljOgogCiAgICAgVHlwZSBjc3NWYWx1ZVR5cGUoKSBjb25zdDsKICAg
ICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIFN0cmluZyBzZXBhcmF0b3JDc3NUZXh0KCkg
Y29uc3Q7CiAKICAgICBib29sIGlzUHJpbWl0aXZlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBQcmltaXRpdmVDbGFzczsgfQogICAgIGJvb2wgaXNWYWx1ZUxpc3QoKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzVHlwZSA+PSBWYWx1ZUxpc3RDbGFzczsgfQorICAgIGJvb2wgaXNW
YWx1ZVBhaXIoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBWYWx1ZVBhaXJDbGFzczsg
fQogICAgIAogICAgIGJvb2wgaXNCYXNlVmFsdWVMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c1R5cGUgPT0gVmFsdWVMaXN0Q2xhc3M7IH0KICAgICAgICAgCkBAIC0xOTgsNiArMjAwLDcgQEAg
cHJvdGVjdGVkOgogICAgICAgICBMaW5lQm94Q29udGFpbkNsYXNzLAogICAgICAgICBDYWxjdWxh
dGlvbkNsYXNzLAogICAgICAgICBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzLAorICAgICAgICBWYWx1
ZVBhaXJDbGFzcywKIAogICAgICAgICBDU1NDb250ZW50RGlzdHJpYnV0aW9uQ2xhc3MsCiAKQEAg
LTIxOSw4ICsyMjIsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKIAogcHVibGljOgotICAgIHN0YXRp
YyBjb25zdCBzaXplX3QgVmFsdWVMaXN0U2VwYXJhdG9yQml0cyA9IDI7Ci0gICAgZW51bSBWYWx1
ZUxpc3RTZXBhcmF0b3IgeworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgVmFsdWVTZXBhcmF0b3JC
aXRzID0gMjsKKyAgICBlbnVtIFZhbHVlU2VwYXJhdG9yIHsKICAgICAgICAgU3BhY2VTZXBhcmF0
b3IsCiAgICAgICAgIENvbW1hU2VwYXJhdG9yLAogICAgICAgICBTbGFzaFNlcGFyYXRvcgpAQCAt
MjMzLDcgKzIzNiw3IEBAIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBDU1NWYWx1ZShDbGFzc1R5
cGUgY2xhc3NUeXBlKQogICAgICAgICA6IG1fcHJpbWl0aXZlVW5pdFR5cGUoMCkKICAgICAgICAg
LCBtX2hhc0NhY2hlZENTU1RleHQoZmFsc2UpCi0gICAgICAgICwgbV92YWx1ZUxpc3RTZXBhcmF0
b3IoU3BhY2VTZXBhcmF0b3IpCisgICAgICAgICwgbV92YWx1ZVNlcGFyYXRvcihTcGFjZVNlcGFy
YXRvcikKICAgICAgICAgLCBtX2NsYXNzVHlwZShjbGFzc1R5cGUpCiAgICAgewogICAgIH0KQEAg
LTI1OSw3ICsyNjIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbV9wcmltaXRpdmVVbml0
VHlwZSA6IDc7IC8vIENTU1VuaXRUeXBlCiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX2hhc0NhY2hl
ZENTU1RleHQgOiAxOwogCi0gICAgdW5zaWduZWQgbV92YWx1ZUxpc3RTZXBhcmF0b3IgOiBWYWx1
ZUxpc3RTZXBhcmF0b3JCaXRzOworICAgIHVuc2lnbmVkIG1fdmFsdWVTZXBhcmF0b3IgOiBWYWx1
ZVNlcGFyYXRvckJpdHM7CiAKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jbGFzc1R5cGUgOiBD
bGFzc1R5cGVCaXRzOyAvLyBDbGFzc1R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAK
aW5kZXggNzU3Y2IzYTc4YTZhODdjZGM1M2M2YmY1YmQ3NTQ4NzczNTlhZWM4Yy4uMzg3N2M0OWQ2
MzE0YTQyMTdjMzQ3MWFlMTYxZTMyNWI5MWY2OWE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
TGlzdC5jcHAKQEAgLTI2LDE2ICsyNiwxNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNT
U1ZhbHVlTGlzdDo6Q1NTVmFsdWVMaXN0KENsYXNzVHlwZSBjbGFzc1R5cGUsIFZhbHVlTGlzdFNl
cGFyYXRvciBsaXN0U2VwYXJhdG9yKQorQ1NTVmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoQ2xhc3NU
eXBlIGNsYXNzVHlwZSwgVmFsdWVTZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAgICA6IENTU1Zh
bHVlKGNsYXNzVHlwZSkKIHsKLSAgICBtX3ZhbHVlTGlzdFNlcGFyYXRvciA9IGxpc3RTZXBhcmF0
b3I7CisgICAgbV92YWx1ZVNlcGFyYXRvciA9IGxpc3RTZXBhcmF0b3I7CiB9CiAKLUNTU1ZhbHVl
TGlzdDo6Q1NTVmFsdWVMaXN0KFZhbHVlTGlzdFNlcGFyYXRvciBsaXN0U2VwYXJhdG9yKQorQ1NT
VmFsdWVMaXN0OjpDU1NWYWx1ZUxpc3QoVmFsdWVTZXBhcmF0b3IgbGlzdFNlcGFyYXRvcikKICAg
ICA6IENTU1ZhbHVlKFZhbHVlTGlzdENsYXNzKQogewotICAgIG1fdmFsdWVMaXN0U2VwYXJhdG9y
ID0gbGlzdFNlcGFyYXRvcjsKKyAgICBtX3ZhbHVlU2VwYXJhdG9yID0gbGlzdFNlcGFyYXRvcjsK
IH0KIAogYm9vbCBDU1NWYWx1ZUxpc3Q6OnJlbW92ZUFsbChDU1NWYWx1ZSogdmFsdWUpCkBAIC02
NSw3ICs2NSw3IEBAIGJvb2wgQ1NTVmFsdWVMaXN0OjpoYXNWYWx1ZShDU1NWYWx1ZSogdmFsKSBj
b25zdAogUmVmPENTU1ZhbHVlTGlzdD4gQ1NTVmFsdWVMaXN0Ojpjb3B5KCkKIHsKICAgICBSZWZQ
dHI8Q1NTVmFsdWVMaXN0PiBuZXdMaXN0OwotICAgIHN3aXRjaCAobV92YWx1ZUxpc3RTZXBhcmF0
b3IpIHsKKyAgICBzd2l0Y2ggKG1fdmFsdWVTZXBhcmF0b3IpIHsKICAgICBjYXNlIFNwYWNlU2Vw
YXJhdG9yOgogICAgICAgICBuZXdMaXN0ID0gY3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKICAgICAg
ICAgYnJlYWs7CkBAIC04NiwyMSArODYsNyBAQCBSZWY8Q1NTVmFsdWVMaXN0PiBDU1NWYWx1ZUxp
c3Q6OmNvcHkoKQogU3RyaW5nIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiB7
CiAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Ci0gICAgU3RyaW5nIHNlcGFyYXRvcjsKLSAgICBz
d2l0Y2ggKG1fdmFsdWVMaXN0U2VwYXJhdG9yKSB7Ci0gICAgY2FzZSBTcGFjZVNlcGFyYXRvcjoK
LSAgICAgICAgc2VwYXJhdG9yID0gIiAiX3M7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29t
bWFTZXBhcmF0b3I6Ci0gICAgICAgIHNlcGFyYXRvciA9ICIsICJfczsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBTbGFzaFNlcGFyYXRvcjoKLSAgICAgICAgc2VwYXJhdG9yID0gIiAvICJfczsK
LSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgfQotCisgICAgU3RyaW5nIHNlcGFyYXRvciA9IHNlcGFyYXRvckNzc1RleHQoKTsK
ICAgICBmb3IgKGF1dG8mIHZhbHVlIDogbV92YWx1ZXMpIHsKICAgICAgICAgaWYgKCFyZXN1bHQu
aXNFbXB0eSgpKQogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzZXBhcmF0b3IpOwpAQCAtMTEy
LDcgKzk4LDcgQEAgU3RyaW5nIENTU1ZhbHVlTGlzdDo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0CiAK
IGJvb2wgQ1NTVmFsdWVMaXN0OjplcXVhbHMoY29uc3QgQ1NTVmFsdWVMaXN0JiBvdGhlcikgY29u
c3QKIHsKLSAgICBpZiAobV92YWx1ZUxpc3RTZXBhcmF0b3IgIT0gb3RoZXIubV92YWx1ZUxpc3RT
ZXBhcmF0b3IpCisgICAgaWYgKG1fdmFsdWVTZXBhcmF0b3IgIT0gb3RoZXIubV92YWx1ZVNlcGFy
YXRvcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKG1fdmFsdWVzLnNpemUoKSAh
PSBvdGhlci5tX3ZhbHVlcy5zaXplKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmgKaW5kZXgg
M2IxNmJhMTY2ZmI2ZDllYjI0NGRlNDY2MWE5ODQyMmZjMjY3YWRjNy4uNjFjODY5NjRkMzU5MGIx
YzczY2M3YTk5MGE4YzcwNmEwZTE1NjBiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUxpc3QuaApA
QCAtNzEsMTMgKzcxLDEzIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgdHJhdmVyc2VTdWJyZXNvdXJj
ZXMoY29uc3QgV1RGOjpGdW5jdGlvbjxib29sIChjb25zdCBDYWNoZWRSZXNvdXJjZSYpPiYgaGFu
ZGxlcikgY29uc3Q7CiAKLSAgICB1bnNpZ25lZCBzZXBhcmF0b3IoKSBjb25zdCB7IHJldHVybiBt
X3ZhbHVlTGlzdFNlcGFyYXRvcjsgfQorICAgIHVuc2lnbmVkIHNlcGFyYXRvcigpIGNvbnN0IHsg
cmV0dXJuIG1fdmFsdWVTZXBhcmF0b3I7IH0KIAogcHJvdGVjdGVkOgotICAgIENTU1ZhbHVlTGlz
dChDbGFzc1R5cGUsIFZhbHVlTGlzdFNlcGFyYXRvcik7CisgICAgQ1NTVmFsdWVMaXN0KENsYXNz
VHlwZSwgVmFsdWVTZXBhcmF0b3IpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENTU1ZhbHVl
TGlzdChWYWx1ZUxpc3RTZXBhcmF0b3IpOworICAgIGV4cGxpY2l0IENTU1ZhbHVlTGlzdChWYWx1
ZVNlcGFyYXRvcik7CiAKICAgICBWZWN0b3I8UmVmPENTU1ZhbHVlPiwgND4gbV92YWx1ZXM7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFpci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVQYWlyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hN2UyYjg5ZjA5ODdm
ZmVkNGFlMWU2YjNmNDVhMTlmNWUyNTlhYjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlUGFpci5jcHAKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBUeWxlciBXaWxjb2NrIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4uCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZVBhaXIuaCIKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTVmFsdWVQ
YWlyOjpjdXN0b21DU1NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmcgZmlyc3QgPSB0aGlzLT5m
aXJzdCgpLT5jc3NUZXh0KCk7CisgICAgU3RyaW5nIHNlY29uZCA9IHRoaXMtPnNlY29uZCgpLT5j
c3NUZXh0KCk7CisgICAgaWYgKG1fZW5jb2RpbmcgPT0gSWRlbnRpY2FsVmFsdWVFbmNvZGluZzo6
Q29hbGVzY2UgJiYgZmlyc3QgPT0gc2Vjb25kKQorICAgICAgICByZXR1cm4gZmlyc3Q7CisgICAg
cmV0dXJuIG1ha2VTdHJpbmcoZmlyc3QsIHNlcGFyYXRvckNzc1RleHQoKSwgc2Vjb25kKTsKK30K
KworYm9vbCBDU1NWYWx1ZVBhaXI6OmVxdWFscyhjb25zdCBDU1NWYWx1ZVBhaXIgJm90aGVyKSBj
b25zdAoreworICAgIHJldHVybiBtX3ZhbHVlU2VwYXJhdG9yID09IG90aGVyLm1fdmFsdWVTZXBh
cmF0b3IgJiYgbV9maXJzdC5nZXQoKS5lcXVhbHMob3RoZXIubV9maXJzdCkgJiYgbV9zZWNvbmQu
Z2V0KCkuZXF1YWxzKG90aGVyLm1fc2Vjb25kKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFpci5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlUGFpci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwYzRmOWY0NTk1NTVkMzhl
MWJiNWZiOTJlNDE1ZmJhNDExZWY4ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVQYWlyLmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBUeWxlciBXaWxjb2NrIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4uCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiQ1NTVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvKioKKyAqIFJlcHJl
c2VudHMgYSBwYWlyIG9mIENTUyB2YWx1ZXMuCisgKi8KK2NsYXNzIENTU1ZhbHVlUGFpciA6IHB1
YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgZW51bSBjbGFzcyBJZGVudGljYWxWYWx1ZUVu
Y29kaW5nIDogdWludDhfdCB7CisgICAgICAgIERvTm90Q29hbGVzY2UsCisgICAgICAgIENvYWxl
c2NlCisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8Q1NTVmFsdWVQYWlyPiBjcmVhdGUoUmVmPENT
U1ZhbHVlPiYmIGZpcnN0LCBSZWY8Q1NTVmFsdWU+JiYgc2Vjb25kLCBWYWx1ZVNlcGFyYXRvciBz
ZXBhcmF0b3IpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NWYWx1ZVBh
aXIoV1RGTW92ZShmaXJzdCksIFdURk1vdmUoc2Vjb25kKSwgc2VwYXJhdG9yKSk7CisgICAgfQor
ICAgIHN0YXRpYyBSZWY8Q1NTVmFsdWVQYWlyPiBjcmVhdGUoUmVmPENTU1ZhbHVlPiYmIGZpcnN0
LCBSZWY8Q1NTVmFsdWU+JiYgc2Vjb25kLCBWYWx1ZVNlcGFyYXRvciBzZXBhcmF0b3IsIElkZW50
aWNhbFZhbHVlRW5jb2RpbmcgZW5jb2RpbmcpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDU1NWYWx1ZVBhaXIoV1RGTW92ZShmaXJzdCksIFdURk1vdmUoc2Vjb25kKSwgc2Vw
YXJhdG9yLCBlbmNvZGluZykpOworICAgIH0KKworICAgIFJlZjxDU1NWYWx1ZT4gZmlyc3QoKSBj
b25zdCB7IHJldHVybiBtX2ZpcnN0OyB9CisgICAgUmVmPENTU1ZhbHVlPiBzZWNvbmQoKSBjb25z
dCB7IHJldHVybiBtX3NlY29uZDsgfQorCisgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25z
dDsKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NWYWx1ZVBhaXImIG90aGVyKSBjb25zdDsKKwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBDU1NWYWx1ZVBhaXIoUmVmPENTU1ZhbHVlPiYmIGZpcnN0
LCBSZWY8Q1NTVmFsdWU+JiYgc2Vjb25kLCBWYWx1ZVNlcGFyYXRvciBzZXBhcmF0b3IpCisgICAg
ICAgIDogQ1NTVmFsdWUoVmFsdWVQYWlyQ2xhc3MpCisgICAgICAgICwgbV9maXJzdChXVEZNb3Zl
KGZpcnN0KSkKKyAgICAgICAgLCBtX3NlY29uZChXVEZNb3ZlKHNlY29uZCkpCisgICAgeworICAg
ICAgICBtX3ZhbHVlU2VwYXJhdG9yID0gc2VwYXJhdG9yOworICAgIH0KKworICAgIGV4cGxpY2l0
IENTU1ZhbHVlUGFpcihSZWY8Q1NTVmFsdWU+JiYgZmlyc3QsIFJlZjxDU1NWYWx1ZT4mJiBzZWNv
bmQsIFZhbHVlU2VwYXJhdG9yIHNlcGFyYXRvciwgSWRlbnRpY2FsVmFsdWVFbmNvZGluZyBlbmNv
ZGluZykKKyAgICAgICAgOiBDU1NWYWx1ZShWYWx1ZVBhaXJDbGFzcykKKyAgICAgICAgLCBtX2Vu
Y29kaW5nKGVuY29kaW5nKQorICAgICAgICAsIG1fZmlyc3QoV1RGTW92ZShmaXJzdCkpCisgICAg
ICAgICwgbV9zZWNvbmQoV1RGTW92ZShzZWNvbmQpKQorICAgIHsKKyAgICAgICAgbV92YWx1ZVNl
cGFyYXRvciA9IHNlcGFyYXRvcjsKKyAgICB9CisKKyAgICBJZGVudGljYWxWYWx1ZUVuY29kaW5n
IG1fZW5jb2RpbmcgeyBJZGVudGljYWxWYWx1ZUVuY29kaW5nOjpDb2FsZXNjZSB9OworICAgIFJl
ZjxDU1NWYWx1ZT4gbV9maXJzdDsKKyAgICBSZWY8Q1NTVmFsdWU+IG1fc2Vjb25kOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxV
RShDU1NWYWx1ZVBhaXIsIGlzVmFsdWVQYWlyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRGVwcmVjYXRlZENTU09NVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNh
dGVkQ1NTT01WYWx1ZS5oCmluZGV4IDE2YmNhOTZkMDY4N2ZiY2NiMmM3YTBiNTE4YTJmODFlYTBl
NjVjZjEuLjU1MjJjNDlmNjQ2OWZhNjNmNGIwY2VhODUzYTQ5YjgwODhkNDg5OTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZS5oCkBAIC04OSw3ICs4OSw3IEBAIHBy
aXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkZXN0cm95KCk7CiAKIHByb3RlY3RlZDoK
LSAgICB1bnNpZ25lZCBtX3ZhbHVlTGlzdFNlcGFyYXRvciA6IENTU1ZhbHVlOjpWYWx1ZUxpc3RT
ZXBhcmF0b3JCaXRzOworICAgIHVuc2lnbmVkIG1fdmFsdWVTZXBhcmF0b3IgOiBDU1NWYWx1ZTo6
VmFsdWVTZXBhcmF0b3JCaXRzOwogICAgIHVuc2lnbmVkIG1fY2xhc3NUeXBlIDogQ2xhc3NUeXBl
Qml0czsgLy8gQ2xhc3NUeXBlCiAgICAgCiAgICAgUmVmPENTU1N0eWxlRGVjbGFyYXRpb24+IG1f
b3duZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENTU09NVmFs
dWVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3Qu
Y3BwCmluZGV4IGVlOTA1NDczMjMxOWY5OTMxN2Q4NzJjOWZkMWJiNDg1OTcxY2E1YjMuLjVmNTZh
MWQwMmY2NzBlZTY2YzZmNGE3MDZhNjdlNjFlMWUxZjViNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuY3BwCkBAIC0zNCw3ICszNCw3IEBAIFN0
cmluZyBEZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3Q6OmNzc1RleHQoKSBjb25zdAogewogICAgIFN0
cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIFN0cmluZyBzZXBhcmF0b3I7Ci0gICAgc3dpdGNoICht
X3ZhbHVlTGlzdFNlcGFyYXRvcikgeworICAgIHN3aXRjaCAobV92YWx1ZVNlcGFyYXRvcikgewog
ICAgIGNhc2UgQ1NTVmFsdWU6OlNwYWNlU2VwYXJhdG9yOgogICAgICAgICBzZXBhcmF0b3IgPSAi
ICJfczsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVw
cmVjYXRlZENTU09NVmFsdWVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZENT
U09NVmFsdWVMaXN0LmgKaW5kZXggY2VmYTg4YzY3Nzk0MTc1NTMzNDU2ZGRlM2JhZjY3NmI3NjJj
MjY3ZS4uZWU0MzM0MzI2Nzg3ZGQwZDg2Y2U2MTU4OTc4NDAyZDYyOGM5YzIzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRDU1NPTVZhbHVlTGlzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkQ1NTT01WYWx1ZUxpc3QuaApAQCAtNDgsNyArNDgs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgRGVwcmVjYXRlZENTU09NVmFsdWVMaXN0KGNvbnN0IENTU1Zh
bHVlTGlzdCYgdmFsdWUsIENTU1N0eWxlRGVjbGFyYXRpb24mIG93bmVyKQogICAgICAgICA6IERl
cHJlY2F0ZWRDU1NPTVZhbHVlKERlcHJlY2F0ZWRWYWx1ZUxpc3RDbGFzcywgb3duZXIpCiAgICAg
ewotICAgICAgICBtX3ZhbHVlTGlzdFNlcGFyYXRvciA9IHZhbHVlLnNlcGFyYXRvcigpOworICAg
ICAgICBtX3ZhbHVlU2VwYXJhdG9yID0gdmFsdWUuc2VwYXJhdG9yKCk7CiAgICAgICAgIG1fdmFs
dWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkodmFsdWUubGVuZ3RoKCkpOwogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwLCBzaXplID0gdmFsdWUubGVuZ3RoKCk7IGkgPCBzaXplOyArK2kpCiAg
ICAgICAgICAgICBtX3ZhbHVlcy51bmNoZWNrZWRBcHBlbmQodmFsdWUuaXRlbVdpdGhvdXRCb3Vu
ZHNDaGVjayhpKS0+Y3JlYXRlRGVwcmVjYXRlZENTU09NV3JhcHBlcihvd25lcikpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>