<?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>234792</bug_id>
          
          <creation_ts>2022-01-02 00:26:44 -0800</creation_ts>
          <short_desc>&quot;animation&quot; shorthand should list all longhand values when serializing</short_desc>
          <delta_ts>2022-01-12 12:40:46 -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>Animations</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=234812</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>235138</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1827477</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-02 00:26:44 -0800</bug_when>
    <thetext>&quot;animation&quot; shorthand should list all longhand values when serializing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827482</commentid>
    <comment_count>1</comment_count>
      <attachid>448170</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-02 00:32:15 -0800</bug_when>
    <thetext>Created attachment 448170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827489</commentid>
    <comment_count>2</comment_count>
      <attachid>448171</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-02 02:50:35 -0800</bug_when>
    <thetext>Created attachment 448171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827528</commentid>
    <comment_count>3</comment_count>
      <attachid>448171</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-02 11:44:42 -0800</bug_when>
    <thetext>Comment on attachment 448171
Patch

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

&gt; Source/WebCore/css/parser/CSSPropertyParser.cpp:1662
&gt; +                if (property == CSSPropertyAnimationDuration)

We can and should make this code less repetitive. One function to turn a property into a value, rather than repeating the append calls. Can just take a property ID as an argument and return a Ref&lt;&gt;. A lambda if you prefer but I think a separate named function would be good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827658</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-03 02:01:07 -0800</bug_when>
    <thetext>Committed r287534 (245669@trunk): &lt;https://commits.webkit.org/245669@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827659</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-03 02:02:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/87062031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827662</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-03 02:15:13 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 448171 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448171&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParser.cpp:1662
&gt; &gt; +                if (property == CSSPropertyAnimationDuration)
&gt; 
&gt; We can and should make this code less repetitive. One function to turn a
&gt; property into a value, rather than repeating the append calls. Can just take
&gt; a property ID as an argument and return a Ref&lt;&gt;. A lambda if you prefer but
&gt; I think a separate named function would be good.

I landed the patch as-is but would like to address this, however I don&apos;t understand what you&apos;re driving at. Are you thinking of a function like this?

void ComputedStyleExtractor::addValueForAnimationPropertyToList(CSSPropertyID, CSSValueList&amp;)

This could be useful also for the changes made for bug 234785. I&apos;ll probably make a followup to refactor once bug 234785 lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827684</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2022-01-03 04:14:49 -0800</bug_when>
    <thetext>Refactoring is happening in bug 234812.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448170</attachid>
            <date>2022-01-02 00:32:15 -0800</date>
            <delta_ts>2022-01-02 02:50:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234792-20220102093214.patch</filename>
            <type>text/plain</type>
            <size>33574</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTExMmM2MGUxMDU0N2Vj
ODgwY2ViODgyYTk2NDFjMzY5ZjBmY2VlZC4uYmFlZDA4ZjdkNzczNmU5MDM1ODdiY2FmZTI4ZmRj
MWIxM2Q2MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIyLTAxLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgICJhbmltYXRpb24iIHNo
b3J0aGFuZCBzaG91bGQgbGlzdCBhbGwgbG9uZ2hhbmQgdmFsdWVzIHdoZW4gc2VyaWFsaXppbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDc5Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRs
eSB3ZSBvbWl0IGFueSBpbml0aWFsIHZhbHVlIHdoZW4gc2VyaWFsaXppbmcgdGhlICJhbmltYXRp
b24iIHNob3J0aGFuZC4gSG93ZXZlciwKKyAgICAgICAgdGhlIENTUyBBbmltYXRpb25zIHNwZWMg
c2F5czoKKworICAgICAgICAgICAgTm90ZSB0aGF0IG9yZGVyIGlzIGFsc28gaW1wb3J0YW50IHdp
dGhpbiBlYWNoIGFuaW1hdGlvbiBkZWZpbml0aW9uIGZvciBkaXN0aW5ndWlzaGluZworICAgICAg
ICAgICAgPGtleWZyYW1lcy1uYW1lPiB2YWx1ZXMgZnJvbSBvdGhlciBrZXl3b3Jkcy4gV2hlbiBw
YXJzaW5nLCBrZXl3b3JkcyB0aGF0IGFyZSB2YWxpZCBmb3IKKyAgICAgICAgICAgIHByb3BlcnRp
ZXMgb3RoZXIgdGhhbiBhbmltYXRpb24tbmFtZSB3aG9zZSB2YWx1ZXMgd2VyZSBub3QgZm91bmQg
ZWFybGllciBpbiB0aGUgc2hvcnRoYW5kCisgICAgICAgICAgICBtdXN0IGJlIGFjY2VwdGVkIGZv
ciB0aG9zZSBwcm9wZXJ0aWVzIHJhdGhlciB0aGFuIGZvciBhbmltYXRpb24tbmFtZS4gRnVydGhl
cm1vcmUsIHdoZW4KKyAgICAgICAgICAgIHNlcmlhbGl6aW5nLCBkZWZhdWx0IHZhbHVlcyBvZiBv
dGhlciBwcm9wZXJ0aWVzIG11c3QgYmUgb3V0cHV0IGluIGF0IGxlYXN0IHRoZSBjYXNlcworICAg
ICAgICAgICAgbmVjZXNzYXJ5IHRvIGRpc3Rpbmd1aXNoIGFuIGFuaW1hdGlvbi1uYW1lIHRoYXQg
Y291bGQgYmUgYSB2YWx1ZSBvZiBhbm90aGVyIHByb3BlcnR5LAorICAgICAgICAgICAgYW5kIG1h
eSBiZSBvdXRwdXQgaW4gYWRkaXRpb25hbCBjYXNlcy4gICAgICAgIAorCisgICAgICAgIEJvdGgg
RmlyZWZveCBhbmQgQ2hyb21lIGFsd2F5cyBpbmNsdWRlIGFsbCBsb25naGFuZCB2YWx1ZXMgd2hl
biBxdWVyeWluZyB0aGUgaW5saW5lIHN0eWxlLAorICAgICAgICBzdWNoIHRoYXQgPGRpdiBzdHls
ZT0iYW5pbWF0aW9uOiBub25lIj4geWllbGRzICIwcyBlYXNlIDBzIDEgbm9ybWFsIG5vbmUgcnVu
bmluZyBub25lIiBmb3IKKyAgICAgICAgZWxlbWVudC5zdHlsZS5hbmltYXRpb24uIEN1cnJlbnRs
eSwgU2FmYXJpIG9ubHkgb3V0cHV0cyAibm9uZSIuCisKKyAgICAgICAgV2hlbiBwYXJzaW5nIHRo
ZSAiYW5pbWF0aW9uIiBzaG9ydGhhbmQgaW4gY29uc3VtZUFuaW1hdGlvblNob3J0aGFuZCgpLCB3
ZSBub3cgZmlsbCBpbiBpbml0aWFsCisgICAgICAgIHZhbHVlcyBhcyBpZiB0aGV5IHdlcmUgZXhw
bGljaXRseSBzZXQgdG8gdGhlaXIgaW5pdGlhbCB2YWx1ZSwgZm9yIGluc3RhbmNlIGR1cmF0aW9u
IGlzIHNldCB0bworICAgICAgICAiMHMiLgorCisgICAgICAgIFRvIGRvIHRoaXMsIHdlIHJlZmFj
dG9yZWQgY29kZSBpbiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIHRoYXQgZGVhbHQg
d2l0aCB0aGUgY3JlYXRpb24KKyAgICAgICAgb2YgQ1NTVmFsdWUgZnJvbSB2YXJpb3VzIHZhbHVl
cyBleHBvc2VkIG9uIEFuaW1hdGlvbiBzdWNoIHRoYXQgaXQgbWF5IGJlIGNhbGxlZCBmcm9tIHdp
dGhpbgorICAgICAgICBDU1NQcm9wZXJ0eVBhcnNlci5jcHAuCisKKyAgICAgICAgKiBjc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVk
U3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uRHVyYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmltYXRpb25EZWxheSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlv
bkl0ZXJhdGlvbkNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0
b3I6OnZhbHVlRm9yQW5pbWF0aW9uRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1
dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uRmlsbE1vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmltYXRpb25QbGF5U3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JB
bmltYXRpb25OYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmRlbGF5VmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6ZHVyYXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OnRpbWluZ0Z1bmN0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRT
dHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlVGltaW5nRnVuY3Rpb25WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OmNv
bnN1bWVBbmltYXRpb25TaG9ydGhhbmQpOgorCiAyMDIyLTAxLTAxICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgICJhbmltYXRpb24iIHNob3J0aGFuZCBkb2Vz
IG5vdCBwYXJzZSB2YWx1ZXMgaW4gdGhlIHJpZ2h0IG9yZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDAzNDMxMWRhMzQ1
MzdkOWQyMDJhMzU1NjZiOGZkZjIzNWVhZTVhY2MuLmU4YzY5OTVhMjhhMTMwNTFjMWYyNGVlYzU0
ZWY1MDFjNDBjZDRiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMzQ1LDM1ICsxMzQ1LDk1IEBAIHN0YXRpYyBSZWY8
Q1NTVmFsdWU+IGZvbnRWYXJpYW50RWFzdEFzaWFuUHJvcGVydHlWYWx1ZShGb250VmFyaWFudEVh
c3RBc2lhblZhcmlhCiAgICAgcmV0dXJuIHZhbHVlTGlzdDsKIH0KIAorUmVmPENTU1ByaW1pdGl2
ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkR1cmF0aW9u
KGRvdWJsZSBkdXJhdGlvbikKK3sKKyAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24o
KS5jcmVhdGVWYWx1ZShkdXJhdGlvbiwgQ1NTVW5pdFR5cGU6OkNTU19TKTsKK30KKworUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlv
bkRlbGF5KGRvdWJsZSBkZWxheSkKK3sKKyAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0
b24oKS5jcmVhdGVWYWx1ZShkZWxheSwgQ1NTVW5pdFR5cGU6OkNTU19TKTsKK30KKworUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlv
bkl0ZXJhdGlvbkNvdW50KGRvdWJsZSBpdGVyYXRpb25Db3VudCkKK3sKKyAgICBpZiAoaXRlcmF0
aW9uQ291bnQgPT0gQW5pbWF0aW9uOjpJdGVyYXRpb25Db3VudEluZmluaXRlKQorICAgICAgICBy
ZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVJbmZpbml0ZSk7CisgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3Jl
YXRlVmFsdWUoaXRlcmF0aW9uQ291bnQsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKTsKK30KKwor
UmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFu
aW1hdGlvbkRpcmVjdGlvbihBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24p
Cit7CisgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKKyAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0
aW9uRGlyZWN0aW9uTm9ybWFsOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0
b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgIGNhc2UgQW5p
bWF0aW9uOjpBbmltYXRpb25EaXJlY3Rpb25BbHRlcm5hdGU6CisgICAgICAgIHJldHVybiBDU1NW
YWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFsdGVy
bmF0ZSk7CisgICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvblJldmVyc2U6Cisg
ICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZVJldmVyc2UpOworICAgIGNhc2UgQW5pbWF0aW9uOjpBbmltYXRpb25EaXJl
Y3Rpb25BbHRlcm5hdGVSZXZlcnNlOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5n
bGV0b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBbHRlcm5hdGVSZXZlcnNlKTsK
KyAgICB9Cit9CisKK1JlZjxDU1NQcmltaXRpdmVWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JBbmltYXRpb25GaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZSBmaWxsTW9kZSkK
K3sKKyAgICBzd2l0Y2ggKGZpbGxNb2RlKSB7CisgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6
Tm9uZToKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7CisgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6
Rm9yd2FyZHM6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUZvcndhcmRzKTsKKyAgICBjYXNlIEFuaW1hdGlvbkZp
bGxNb2RlOjpCYWNrd2FyZHM6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRv
bigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUJhY2t3YXJkcyk7CisgICAgY2FzZSBB
bmltYXRpb25GaWxsTW9kZTo6Qm90aDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2lu
Z2xldG9uKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQm90aCk7CisgICAgfQorfQor
CitSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9y
QW5pbWF0aW9uUGxheVN0YXRlKEFuaW1hdGlvblBsYXlTdGF0ZSBwbGF5U3RhdGUpCit7CisgICAg
c3dpdGNoIChwbGF5U3RhdGUpIHsKKyAgICBjYXNlIEFuaW1hdGlvblBsYXlTdGF0ZTo6UGxheWlu
ZzoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSWRlbnRp
ZmllclZhbHVlKENTU1ZhbHVlUnVubmluZyk7CisgICAgY2FzZSBBbmltYXRpb25QbGF5U3RhdGU6
OlBhdXNlZDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUGF1c2VkKTsKKyAgICB9Cit9CisKK1JlZjxDU1NQcmlt
aXRpdmVWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmltYXRpb25OYW1l
KGNvbnN0IEFuaW1hdGlvbjo6TmFtZSYgbmFtZSkKK3sKKyAgICBpZiAobmFtZS5pc0lkZW50aWZp
ZXIpCisgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUN1c3Rv
bUlkZW50KG5hbWUuc3RyaW5nKTsKKyAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24o
KS5jcmVhdGVWYWx1ZShuYW1lLnN0cmluZywgQ1NTVW5pdFR5cGU6OkNTU19TVFJJTkcpOworfQor
CiBzdGF0aWMgUmVmPENTU1ZhbHVlTGlzdD4gZGVsYXlWYWx1ZShjb25zdCBBbmltYXRpb25MaXN0
KiBhbmltYXRpb25MaXN0KQogewotICAgIGF1dG8mIGNzc1ZhbHVlUG9vbCA9IENTU1ZhbHVlUG9v
bDo6c2luZ2xldG9uKCk7CiAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21t
YVNlcGFyYXRlZCgpOwogICAgIGlmIChhbmltYXRpb25MaXN0KSB7CiAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgYW5pbWF0aW9uTGlzdC0+c2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBs
aXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKGFuaW1hdGlvbkxpc3QtPmFuaW1h
dGlvbihpKS5kZWxheSgpLCBDU1NVbml0VHlwZTo6Q1NTX1MpKTsKKyAgICAgICAgICAgIGxpc3Qt
PmFwcGVuZChDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkRlbGF5KGFu
aW1hdGlvbkxpc3QtPmFuaW1hdGlvbihpKS5kZWxheSgpKSk7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgLy8gTm90ZSB0aGF0IGluaXRpYWxBbmltYXRpb25EZWxheSgpIGlzIHVzZWQgZm9yIGJvdGgg
dHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMKLSAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVl
UG9vbC5jcmVhdGVWYWx1ZShBbmltYXRpb246OmluaXRpYWxEZWxheSgpLCBDU1NVbml0VHlwZTo6
Q1NTX1MpKTsKKyAgICAgICAgbGlzdC0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZh
bHVlRm9yQW5pbWF0aW9uRGVsYXkoQW5pbWF0aW9uOjppbml0aWFsRGVsYXkoKSkpOwogICAgIH0K
ICAgICByZXR1cm4gbGlzdDsKIH0KIAogc3RhdGljIFJlZjxDU1NWYWx1ZUxpc3Q+IGR1cmF0aW9u
VmFsdWUoY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbWF0aW9uTGlzdCkKIHsKLSAgICBhdXRvJiBj
c3NWYWx1ZVBvb2wgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpOwogICAgIGF1dG8gbGlzdCA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKICAgICBpZiAoYW5pbWF0aW9u
TGlzdCkgewogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFuaW1hdGlvbkxpc3QtPnNp
emUoKTsgKytpKQotICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVW
YWx1ZShhbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSkuZHVyYXRpb24oKSwgQ1NTVW5pdFR5cGU6
OkNTU19TKSk7CisgICAgICAgICAgICBsaXN0LT5hcHBlbmQoQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JBbmltYXRpb25EdXJhdGlvbihhbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSku
ZHVyYXRpb24oKSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBpbml0aWFs
QW5pbWF0aW9uRHVyYXRpb24oKSBpcyB1c2VkIGZvciBib3RoIHRyYW5zaXRpb25zIGFuZCBhbmlt
YXRpb25zCi0gICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoQW5p
bWF0aW9uOjppbml0aWFsRHVyYXRpb24oKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7CisgICAgICAg
IGxpc3QtPmFwcGVuZChDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkR1
cmF0aW9uKEFuaW1hdGlvbjo6aW5pdGlhbER1cmF0aW9uKCkpKTsKICAgICB9CiAgICAgcmV0dXJu
IGxpc3Q7CiB9CiAKLXN0YXRpYyBSZWY8Q1NTVmFsdWU+IGNyZWF0ZVRpbWluZ0Z1bmN0aW9uVmFs
dWUoY29uc3QgVGltaW5nRnVuY3Rpb24mIHRpbWluZ0Z1bmN0aW9uKQorUmVmPENTU1ZhbHVlPiBD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKGNv
bnN0IFRpbWluZ0Z1bmN0aW9uJiB0aW1pbmdGdW5jdGlvbikKIHsKICAgICBzd2l0Y2ggKHRpbWlu
Z0Z1bmN0aW9uLnR5cGUoKSkgewogICAgIGNhc2UgVGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVy
RnVuY3Rpb246IHsKQEAgLTE0MTgsMTAgKzE0NzgsMTAgQEAgc3RhdGljIFJlZjxDU1NWYWx1ZUxp
c3Q+IHRpbWluZ0Z1bmN0aW9uVmFsdWUoY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbWF0aW9uTGlz
dCkKICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7
CiAgICAgaWYgKGFuaW1hdGlvbkxpc3QpIHsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBhbmltYXRpb25MaXN0LT5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
cmVhdGVUaW1pbmdGdW5jdGlvblZhbHVlKCphbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSkudGlt
aW5nRnVuY3Rpb24oKSkpOworICAgICAgICAgICAgbGlzdC0+YXBwZW5kKENvbXB1dGVkU3R5bGVF
eHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oKmFuaW1hdGlvbkxpc3Qt
PmFuaW1hdGlvbihpKS50aW1pbmdGdW5jdGlvbigpKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIC8v
IE5vdGUgdGhhdCBpbml0aWFsQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oKSBpcyB1c2VkIGZvciBi
b3RoIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zCi0gICAgICAgIGxpc3QtPmFwcGVuZChjcmVh
dGVUaW1pbmdGdW5jdGlvblZhbHVlKEFuaW1hdGlvbjo6aW5pdGlhbFRpbWluZ0Z1bmN0aW9uKCkp
KTsKKyAgICAgICAgbGlzdC0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9y
QW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oQW5pbWF0aW9uOjppbml0aWFsVGltaW5nRnVuY3Rpb24o
KSkpOwogICAgIHJldHVybiBsaXN0OwogfQogCkBAIC0zNTEyLDIyICszNTcyLDggQEAgUmVmUHRy
PENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHls
ZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6
Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKICAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvbkxpc3Qq
IHQgPSBzdHlsZS5hbmltYXRpb25zKCk7CiAgICAgICAgICAgICBpZiAodCkgewotICAgICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICAgICAgc3dpdGNoICh0LT5hbmltYXRpb24oaSkuZGlyZWN0aW9uKCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbk5vcm1hbDoK
LSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRp
cmVjdGlvbkFsdGVybmF0ZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWx0ZXJuYXRlKSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBB
bmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvblJldmVyc2U6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NW
YWx1ZVJldmVyc2UpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJuYXRlUmV2
ZXJzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wu
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWx0ZXJuYXRlUmV2ZXJzZSkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0LT5zaXpl
KCk7ICsraSkKKyAgICAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKHZhbHVlRm9yQW5pbWF0
aW9uRGlyZWN0aW9uKHQtPmFuaW1hdGlvbihpKS5kaXJlY3Rpb24oKSkpOwogICAgICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpKTsKICAgICAgICAgICAgIHJldHVybiBsaXN0
OwpAQCAtMzUzOCwyMiArMzU4NCw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4
dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAg
ICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CiAg
ICAgICAgICAgICBjb25zdCBBbmltYXRpb25MaXN0KiB0ID0gc3R5bGUuYW5pbWF0aW9ucygpOwog
ICAgICAgICAgICAgaWYgKHQpIHsKLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHQtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodC0+YW5p
bWF0aW9uKGkpLmZpbGxNb2RlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBBbmltYXRp
b25GaWxsTW9kZTo6Tm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQW5pbWF0
aW9uRmlsbE1vZGU6OkZvcndhcmRzOgotICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC0+YXBw
ZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVGb3J3YXJkcykp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNh
c2UgQW5pbWF0aW9uRmlsbE1vZGU6OkJhY2t3YXJkczoKLSAgICAgICAgICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVl
QmFja3dhcmRzKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6Qm90aDoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlQm90aCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCB0LT5zaXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICAgICAgbGlzdC0+
YXBwZW5kKHZhbHVlRm9yQW5pbWF0aW9uRmlsbE1vZGUodC0+YW5pbWF0aW9uKGkpLmZpbGxNb2Rl
KCkpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkpOwogICAgICAg
ICAgICAgcmV0dXJuIGxpc3Q7CkBAIC0zNTYyLDEzICszNTk0LDggQEAgUmVmUHRyPENTU1ZhbHVl
PiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBS
ZW5kZXJTdHkKICAgICAgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29t
bWFTZXBhcmF0ZWQoKTsKICAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvbkxpc3QqIHQgPSBzdHls
ZS5hbmltYXRpb25zKCk7CiAgICAgICAgICAgICBpZiAodCkgewotICAgICAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICAg
ICAgZG91YmxlIGl0ZXJhdGlvbkNvdW50ID0gdC0+YW5pbWF0aW9uKGkpLml0ZXJhdGlvbkNvdW50
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpdGVyYXRpb25Db3VudCA9PSBBbmltYXRpb246
Okl0ZXJhdGlvbkNvdW50SW5maW5pdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUluZmluaXRl
KSk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGxp
c3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoaXRlcmF0aW9uQ291bnQsIENTU1Vu
aXRUeXBlOjpDU1NfTlVNQkVSKSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpCisgICAgICAgICAgICAgICAg
ICAgIGxpc3QtPmFwcGVuZCh2YWx1ZUZvckFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50KHQtPmFuaW1h
dGlvbihpKS5pdGVyYXRpb25Db3VudCgpKSk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKEFuaW1hdGlvbjo6
aW5pdGlhbEl0ZXJhdGlvbkNvdW50KCksIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKSk7CiAgICAg
ICAgICAgICByZXR1cm4gbGlzdDsKQEAgLTM1NzcsMTMgKzM2MDQsOCBAQCBSZWZQdHI8Q1NTVmFs
dWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0
IFJlbmRlclN0eQogICAgICAgICAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVD
b21tYVNlcGFyYXRlZCgpOwogICAgICAgICAgICAgY29uc3QgQW5pbWF0aW9uTGlzdCogdCA9IHN0
eWxlLmFuaW1hdGlvbnMoKTsKICAgICAgICAgICAgIGlmICh0KSB7Ci0gICAgICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCB0LT5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICBhdXRvJiBuYW1lID0gdC0+YW5pbWF0aW9uKGkpLm5hbWUoKTsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG5hbWUuaXNJZGVudGlmaWVyKQotICAgICAgICAgICAgICAgICAgICAgICAgbGlz
dC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVDdXN0b21JZGVudChuYW1lLnN0cmluZykpOwot
ICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKG5hbWUuc3RyaW5nLCBDU1NVbml0VHlwZTo6
Q1NTX1NUUklORykpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHQtPnNpemUoKTsgKytpKQorICAgICAgICAgICAgICAgICAgICBsaXN0
LT5hcHBlbmQodmFsdWVGb3JBbmltYXRpb25OYW1lKHQtPmFuaW1hdGlvbihpKS5uYW1lKCkpKTsK
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkpOwogICAgICAgICAgICAg
cmV0dXJuIGxpc3Q7CkBAIC0zNTkyLDE2ICszNjE0LDggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21w
dXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJT
dHkKICAgICAgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKICAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvbkxpc3QqIHQgPSBzdHlsZS5hbmlt
YXRpb25zKCk7CiAgICAgICAgICAgICBpZiAodCkgewotICAgICAgICAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgc3dp
dGNoICh0LT5hbmltYXRpb24oaSkucGxheVN0YXRlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
Y2FzZSBBbmltYXRpb25QbGF5U3RhdGU6OlBsYXlpbmc6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZVJ1bm5pbmcpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICBjYXNlIEFuaW1hdGlvblBsYXlTdGF0ZTo6UGF1c2VkOgotICAgICAgICAgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVQYXVzZWQpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpCisgICAgICAgICAgICAgICAgICAgIGxp
c3QtPmFwcGVuZCh2YWx1ZUZvckFuaW1hdGlvblBsYXlTdGF0ZSh0LT5hbmltYXRpb24oaSkucGxh
eVN0YXRlKCkpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUnVubmluZykp
OwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7CkBAIC0zODE1LDcgKzM4MjksNyBAQCBSZWZQdHI8
Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxl
KGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgICAgICBhdXRvJiBhbmltYXRpb24gPSBh
bmltYXRpb25MaXN0LT5hbmltYXRpb24oaSk7CiAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjcmVhdGVUcmFuc2l0aW9uUHJvcGVydHlWYWx1ZShhbmltYXRpb24pKTsKICAgICAgICAg
ICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1ZShhbmltYXRp
b24uZHVyYXRpb24oKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7Ci0gICAgICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChjcmVhdGVUaW1pbmdGdW5jdGlvblZhbHVlKCphbmltYXRpb24udGltaW5n
RnVuY3Rpb24oKSkpOworICAgICAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWVGb3JB
bmltYXRpb25UaW1pbmdGdW5jdGlvbigqYW5pbWF0aW9uLnRpbWluZ0Z1bmN0aW9uKCkpKTsKICAg
ICAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1ZShh
bmltYXRpb24uZGVsYXkoKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7CiAgICAgICAgICAgICAgICAg
ICAgIHRyYW5zaXRpb25zTGlzdC0+YXBwZW5kKFdURk1vdmUobGlzdCkpOwogICAgICAgICAgICAg
ICAgIH0KQEAgLTM4MjYsNyArMzg0MCw3IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHls
ZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAg
ICAgICAgICAvLyB0cmFuc2l0aW9uLXByb3BlcnR5IGRlZmF1bHQgdmFsdWUuCiAgICAgICAgICAg
ICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZUFsbCkpOwogICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1
ZShBbmltYXRpb246OmluaXRpYWxEdXJhdGlvbigpLCBDU1NVbml0VHlwZTo6Q1NTX1MpKTsKLSAg
ICAgICAgICAgIGxpc3QtPmFwcGVuZChjcmVhdGVUaW1pbmdGdW5jdGlvblZhbHVlKEFuaW1hdGlv
bjo6aW5pdGlhbFRpbWluZ0Z1bmN0aW9uKCkpKTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVuZCh2
YWx1ZUZvckFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKEFuaW1hdGlvbjo6aW5pdGlhbFRpbWluZ0Z1
bmN0aW9uKCkpKTsKICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRl
VmFsdWUoQW5pbWF0aW9uOjppbml0aWFsRGVsYXkoKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7CiAg
ICAgICAgICAgICByZXR1cm4gbGlzdDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IGU2YTRmNDgyOTRiM2QwMTJl
Y2JjZjkzN2NlNmVmMDY2ZjFiZDVmYjMuLjc4YmIyN2IzZmI4ZGQzZDUwY2FjZDY2Y2MxMzA0YzJl
ZTgyOGI4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJBbmltYXRpb24uaCIKICNpbmNsdWRlICJDU1NTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMu
aCIKQEAgLTc3LDYgKzc4LDE1IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTdHls
ZVZhbHVlPiBmb250Tm9uS2V5d29yZFN0eWxlRnJvbVN0eWxlVmFsdWUoRm9udFNlbGVjdGlvblZh
bHVlKTsKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTdHlsZVZhbHVlPiBmb250U3R5bGVGcm9tU3R5
bGVWYWx1ZShzdGQ6Om9wdGlvbmFsPEZvbnRTZWxlY3Rpb25WYWx1ZT4sIEZvbnRTdHlsZUF4aXMp
OwogCisgICAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25E
dXJhdGlvbihkb3VibGUpOworICAgIHN0YXRpYyBSZWY8Q1NTVmFsdWU+IHZhbHVlRm9yQW5pbWF0
aW9uVGltaW5nRnVuY3Rpb24oY29uc3QgVGltaW5nRnVuY3Rpb24mKTsKKyAgICBzdGF0aWMgUmVm
PENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvbkRlbGF5KGRvdWJsZSk7CisgICAg
c3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25JdGVyYXRpb25D
b3VudChkb3VibGUpOworICAgIHN0YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlRm9y
QW5pbWF0aW9uRGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uKTsKKyAgICBz
dGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKEFu
aW1hdGlvbkZpbGxNb2RlKTsKKyAgICBzdGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1
ZUZvckFuaW1hdGlvblBsYXlTdGF0ZShBbmltYXRpb25QbGF5U3RhdGUpOworICAgIHN0YXRpYyBS
ZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlRm9yQW5pbWF0aW9uTmFtZShjb25zdCBBbmltYXRp
b246Ok5hbWUmKTsKKwogcHJpdmF0ZToKICAgICAvLyBUaGUgc3R5bGVkIGVsZW1lbnQgaXMgZWl0
aGVyIHRoZSBlbGVtZW50IHBhc3NlZCBpbnRvCiAgICAgLy8gY29tcHV0ZWRQcm9wZXJ0eVZhbHVl
LCBvciB0aGUgUHNldWRvRWxlbWVudCBmb3IgOmJlZm9yZSBhbmQgOmFmdGVyIGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDdjMmNm
MTk5ZjRlYTVkMjY3Yzk2YjM0ODc3NzY0ZTdhNWVhODZlMWQuLjM5MTA1N2ViMTcxNzYwMzhjODA1
YWNiNzM2NDQyN2JjYzQ5N2Q3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQ1NTQmFz
aWNTaGFwZXMuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZS5oIgogI2luY2x1ZGUgIkNTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5oIgogI2luY2x1ZGUgIkNTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZh
bHVlLmgiCkBAIC04MCw2ICs4MSw3IEBACiAjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVy
LmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIlN0eWxl
UHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCIKKyNpbmNsdWRlICJUaW1pbmdGdW5jdGlvbi5o
IgogI2luY2x1ZGUgPGJpdHNldD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgpAQCAtMTY1NSw4ICsxNjU3LDI5IEBAIGJvb2wgQ1NTUHJvcGVy
dHlQYXJzZXI6OmNvbnN1bWVBbmltYXRpb25TaG9ydGhhbmQoY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYKIAogICAgICAgICAvLyBGSVhNRTogVGhpcyB3aWxsIG1ha2UgaW52YWxpZCBsb25n
aGFuZHMsIHNlZSBjcmJ1Zy5jb20vMzg2NDU5CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbG9uZ2hhbmRDb3VudDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoIXBhcnNlZExvbmdoYW5k
W2ldKQotICAgICAgICAgICAgICAgIGxvbmdoYW5kc1tpXS0+YXBwZW5kKENTU1ZhbHVlUG9vbDo6
c2luZ2xldG9uKCkuY3JlYXRlSW1wbGljaXRJbml0aWFsVmFsdWUoKSk7CisgICAgICAgICAgICBp
ZiAoIXBhcnNlZExvbmdoYW5kW2ldKSB7CisgICAgICAgICAgICAgICAgYXV0byBwcm9wZXJ0eSA9
IHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbaV07CisgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5
ID09IENTU1Byb3BlcnR5QW5pbWF0aW9uRHVyYXRpb24pCisgICAgICAgICAgICAgICAgICAgIGxv
bmdoYW5kc1tpXS0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0
aW9uRHVyYXRpb24oQW5pbWF0aW9uOjppbml0aWFsRHVyYXRpb24oKSkpOworICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKHByb3BlcnR5ID09IENTU1Byb3BlcnR5QW5pbWF0aW9uVGltaW5nRnVuY3Rp
b24pCisgICAgICAgICAgICAgICAgICAgIGxvbmdoYW5kc1tpXS0+YXBwZW5kKENvbXB1dGVkU3R5
bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oQ3ViaWNCZXppZXJU
aW1pbmdGdW5jdGlvbjo6ZGVmYXVsdFRpbWluZ0Z1bmN0aW9uKCkpKTsKKyAgICAgICAgICAgICAg
ICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRlbGF5KQorICAgICAg
ICAgICAgICAgICAgICBsb25naGFuZHNbaV0tPmFwcGVuZChDb21wdXRlZFN0eWxlRXh0cmFjdG9y
Ojp2YWx1ZUZvckFuaW1hdGlvbkRlbGF5KEFuaW1hdGlvbjo6aW5pdGlhbERlbGF5KCkpKTsKKyAg
ICAgICAgICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkl0
ZXJhdGlvbkNvdW50KQorICAgICAgICAgICAgICAgICAgICBsb25naGFuZHNbaV0tPmFwcGVuZChD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50KEFu
aW1hdGlvbjo6aW5pdGlhbEl0ZXJhdGlvbkNvdW50KCkpKTsKKyAgICAgICAgICAgICAgICBlbHNl
IGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRpcmVjdGlvbikKKyAgICAgICAg
ICAgICAgICAgICAgbG9uZ2hhbmRzW2ldLT5hcHBlbmQoQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6
dmFsdWVGb3JBbmltYXRpb25EaXJlY3Rpb24oQW5pbWF0aW9uOjppbml0aWFsRGlyZWN0aW9uKCkp
KTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1h
dGlvbkZpbGxNb2RlKQorICAgICAgICAgICAgICAgICAgICBsb25naGFuZHNbaV0tPmFwcGVuZChD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKEFuaW1hdGlv
bjo6aW5pdGlhbEZpbGxNb2RlKCkpKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9wZXJ0
eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvblBsYXlTdGF0ZSkKKyAgICAgICAgICAgICAgICAgICAg
bG9uZ2hhbmRzW2ldLT5hcHBlbmQoQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmlt
YXRpb25QbGF5U3RhdGUoQW5pbWF0aW9uOjppbml0aWFsUGxheVN0YXRlKCkpKTsKKyAgICAgICAg
ICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbk5hbWUpCisg
ICAgICAgICAgICAgICAgICAgIGxvbmdoYW5kc1tpXS0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRy
YWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uTmFtZShBbmltYXRpb246OmluaXRpYWxOYW1lKCkpKTsK
KyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHNob3J0
aGFuZC5pZCgpID09IENTU1Byb3BlcnR5VHJhbnNpdGlvbik7CisgICAgICAgICAgICAgICAgICAg
IGxvbmdoYW5kc1tpXS0+YXBwZW5kKENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSW1w
bGljaXRJbml0aWFsVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQog
ICAgICAgICAgICAgcGFyc2VkTG9uZ2hhbmRbaV0gPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0g
d2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UobV9yYW5nZSkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDdlNmI1MjE3N2FkMzBmNjNkOTllOWNmNWQ2MGI2ZThmZTQyNDBhNGIuLjQzMWU2YzNjMTYwZjQ0
Mjg4NmU0MjhhZWFhNGU0MGFkNzVlZmEzZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0w
MS0wMiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICAiYW5p
bWF0aW9uIiBzaG9ydGhhbmQgc2hvdWxkIGxpc3QgYWxsIGxvbmdoYW5kIHZhbHVlcyB3aGVuIHNl
cmlhbGl6aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQ3OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdGhlIGluaXRpYWwgbG9uZ2hhbmQgdmFsdWVzIGZvciBhIG5vbi1XUFQgdGVzdCB0aGF0
IGV4cGVjdGVkIHRoZW0gdG8gYmUKKyAgICAgICAgYWJzZW50IGluIHRoZSBzaG9ydGhhbmQgc2Vy
aWFsaXphdGlvbi4KKworICAgICAgICAqIGZhc3QvY3NzL2xvbmdoYW5kLW92ZXJyaWRlcy1zaG9y
dGhhbmQtcHJlZml4aW5nLmh0bWw6CisKIDIwMjItMDEtMDEgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgImFuaW1hdGlvbiIgc2hvcnRoYW5kIGRvZXMgbm90
IHBhcnNlIHZhbHVlcyBpbiB0aGUgcmlnaHQgb3JkZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDU4NTM1MmE3MTI1MmRmNzE1N2UxNzVlMjU5MDM3YjAxYWQ0ODVlYTAuLjkwMGQy
NTBkNTAyMjk4YzA2ODQyNGM5Njc5NjUxMWZlZjFmMDFiN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAxLTAyICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgICJhbmltYXRpb24iIHNob3J0aGFuZCBzaG91
bGQgbGlzdCBhbGwgbG9uZ2hhbmQgdmFsdWVzIHdoZW4gc2VyaWFsaXppbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDc5MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hcmsgMjAgbmV3IFdQVCBwcm9n
cmVzc2lvbnMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL3BhcnNpbmcvYW5pbWF0aW9uLXNob3J0aGFuZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9wYXJzaW5nL2FuaW1hdGlvbi12
YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9zdHlsZS1hbmltYXRpb24tcGFyc2luZy1leHBlY3RlZC50eHQ6CisKIDIwMjIt
MDEtMDEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgImFu
aW1hdGlvbiIgc2hvcnRoYW5kIGRvZXMgbm90IHBhcnNlIHZhbHVlcyBpbiB0aGUgcmlnaHQgb3Jk
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xvbmdoYW5kLW92ZXJyaWRlcy1z
aG9ydGhhbmQtcHJlZml4aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9sb25naGFuZC1v
dmVycmlkZXMtc2hvcnRoYW5kLXByZWZpeGluZy5odG1sCmluZGV4IGU2ZGE5MDI2M2M2OTFjZTdk
ZDc5YjNmNmY0ZmZhYTBkMmJkM2JlODYuLmMwNWQ2ODk1ODk5OTlmNjE0MzVkNTAwMzY5NGNiMjBk
NThjODJlMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2xvbmdoYW5kLW92ZXJy
aWRlcy1zaG9ydGhhbmQtcHJlZml4aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
bG9uZ2hhbmQtb3ZlcnJpZGVzLXNob3J0aGFuZC1wcmVmaXhpbmcuaHRtbApAQCAtNjMsNyArNjMs
NyBAQCBmdW5jdGlvbiB0ZXN0UHJvcGVydHkoc2hvcnRoYW5kUHJvcGVydHksIHVucHJlZml4ZWRT
aG9ydGhhbmRQcm9wZXJ0eSwgbG9uZ2hhbmRQcgogICAgIGRlYnVnKCIiKTsKIH0KIAotdGVzdFBy
b3BlcnR5VmFyaWFudHMoImFuaW1hdGlvbiIsICJhbmltYXRpb24tZHVyYXRpb24iLCAiMnMgbW92
ZSIsICIxMHMgbW92ZSIsICIxMHMiKTsKK3Rlc3RQcm9wZXJ0eVZhcmlhbnRzKCJhbmltYXRpb24i
LCAiYW5pbWF0aW9uLWR1cmF0aW9uIiwgIjJzIG1vdmUiLCAiMTBzIGVhc2UgMHMgMSBub3JtYWwg
bm9uZSBydW5uaW5nIG1vdmUiLCAiMTBzIik7CiAKIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL3BhcnNpbmcvYW5pbWF0aW9uLXNob3J0aGFuZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9wYXJzaW5nL2FuaW1hdGlvbi1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDlmNTY5ZmRjMDFkNGM0ZmQ2OTE0MDRjYjY1ODFkMmYxMTYyNjBhMmMuLmFlYzkwM2I2NDJm
NzFlODA2NGFlYmNkMWFkMjJmMjU0OGI4ZDE0YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3BhcnNpbmcv
YW5pbWF0aW9uLXNob3J0aGFuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvcGFyc2luZy9hbmlt
YXRpb24tc2hvcnRoYW5kLWV4cGVjdGVkLnR4dApAQCAtOSwyNCArOSwyNCBAQCBQQVNTIGUuc3R5
bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSA0IDFzIC0zcyBjdWJp
Yy1iZXppZXIoMCwgLQogRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBi
b3RoIHJldmVyc2UgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNl
dCBhbmltYXRpb24tdGltZWxpbmUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLXRpbWVsaW5lIHNo
b3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgKHN0cmluZykgImF1dG8iIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCiBQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2Vk
IGJvdGggcmV2ZXJzZSA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQg
c2V0IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24KIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10g
PSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwg
MSwgMykiIHNob3VsZCBub3Qgc2V0IHVucmVsYXRlZCBsb25naGFuZHMKLUZBSUwgZS5zdHlsZVsn
YW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1i
ZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1kZWxheSBhc3NlcnRfZXF1
YWxzOiBhbmltYXRpb24tZGVsYXkgc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMHMsIC0z
cyIgYnV0IGdvdCAiaW5pdGlhbCwgLTNzIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJh
bmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwg
MykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWRpcmVjdGlvbiBhc3NlcnRfZXF1YWxzOiBhbmltYXRp
b24tZGlyZWN0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgInJldmVyc2UsIG5vcm1h
bCIgYnV0IGdvdCAicmV2ZXJzZSwgaW5pdGlhbCIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10g
PSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIs
IDEsIDMpIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1kdXJhdGlvbiBhc3NlcnRfZXF1YWxzOiBhbmlt
YXRpb24tZHVyYXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMHMsIDFzIiBidXQg
Z290ICJpbml0aWFsLCAxcyIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVz
ZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91
bGQgc2V0IGFuaW1hdGlvbi1maWxsLW1vZGUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLWZpbGwt
bW9kZSBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJib3RoLCBub25lIiBidXQgZ290ICJi
b3RoLCBpbml0aWFsIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBi
b3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBz
ZXQgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24taXRl
cmF0aW9uLWNvdW50IHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjEsIDQiIGJ1dCBnb3Qg
ImluaXRpYWwsIDQiCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJv
dGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNl
dCBhbmltYXRpb24tbmFtZSBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tbmFtZSBzaG91bGQgYmUg
Y2Fub25pY2FsIGV4cGVjdGVkICJhbmltLCBub25lIiBidXQgZ290ICJhbmltLCBpbml0aWFsIgot
RkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQg
MXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLXBs
YXktc3RhdGUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLXBsYXktc3RhdGUgc2hvdWxkIGJlIGNh
bm9uaWNhbCBleHBlY3RlZCAicGF1c2VkLCBydW5uaW5nIiBidXQgZ290ICJwYXVzZWQsIGluaXRp
YWwiCitQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJz
ZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNldCBhbmltYXRp
b24tZGVsYXkKK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCBy
ZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IGFu
aW1hdGlvbi1kaXJlY3Rpb24KK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVz
ZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91
bGQgc2V0IGFuaW1hdGlvbi1kdXJhdGlvbgorUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJh
bmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwg
MykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWZpbGwtbW9kZQorUEFTUyBlLnN0eWxlWydhbmltYXRp
b24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigw
LCAtMiwgMSwgMykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudAorUEFTUyBl
LnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNz
IGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLW5hbWUKK1BB
U1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlLCA0IDFz
IC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1wbGF5
LXN0YXRlCiBGQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2
ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNldCBhbmlt
YXRpb24tdGltZWxpbmUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLXRpbWVsaW5lIHNob3VsZCBi
ZSBjYW5vbmljYWwgZXhwZWN0ZWQgKHN0cmluZykgImF1dG8sIGF1dG8iIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2Vk
IGJvdGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxk
IHNldCBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uIGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi10
aW1pbmctZnVuY3Rpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiZWFzZSwgY3ViaWMt
YmV6aWVyKDAsIC0yLCAxLCAzKSIgYnV0IGdvdCAiaW5pdGlhbCwgY3ViaWMtYmV6aWVyKDAsIC0y
LCAxLCAzKSIKK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCBy
ZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IGFu
aW1hdGlvbi10aW1pbmctZnVuY3Rpb24KIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5p
bSBwYXVzZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMp
IiBzaG91bGQgbm90IHNldCB1bnJlbGF0ZWQgbG9uZ2hhbmRzCi1GQUlMIGUuc3R5bGVbJ2FuaW1h
dGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2Vk
IGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBhbmltYXRpb24tZGVsYXkgYXNzZXJ0X2VxdWFsczog
YW5pbWF0aW9uLWRlbGF5IHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIi0zcywgMHMiIGJ1
dCBnb3QgIi0zcywgaW5pdGlhbCIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAt
M3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBz
aG91bGQgc2V0IGFuaW1hdGlvbi1kaXJlY3Rpb24gYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLWRp
cmVjdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJub3JtYWwsIHJldmVyc2UiIGJ1
dCBnb3QgImluaXRpYWwsIHJldmVyc2UiCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQg
MXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJz
ZSIgc2hvdWxkIHNldCBhbmltYXRpb24tZHVyYXRpb24gYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9u
LWR1cmF0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjFzLCAwcyIgYnV0IGdvdCAi
MXMsIGluaXRpYWwiCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1Ymlj
LWJlemllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNl
dCBhbmltYXRpb24tZmlsbC1tb2RlIGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi1maWxsLW1vZGUg
c2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAibm9uZSwgYm90aCIgYnV0IGdvdCAiaW5pdGlh
bCwgYm90aCIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6
aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFu
aW1hdGlvbi1pdGVyYXRpb24tY291bnQgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLWl0ZXJhdGlv
bi1jb3VudCBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICI0LCAxIiBidXQgZ290ICI0LCBp
bml0aWFsIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1iZXpp
ZXIoMCwgLTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQgYW5p
bWF0aW9uLW5hbWUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLW5hbWUgc2hvdWxkIGJlIGNhbm9u
aWNhbCBleHBlY3RlZCAibm9uZSwgYW5pbSIgYnV0IGdvdCAiaW5pdGlhbCwgYW5pbSIKLUZBSUwg
ZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAz
KSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1wbGF5LXN0
YXRlIGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi1wbGF5LXN0YXRlIHNob3VsZCBiZSBjYW5vbmlj
YWwgZXhwZWN0ZWQgInJ1bm5pbmcsIHBhdXNlZCIgYnV0IGdvdCAiaW5pdGlhbCwgcGF1c2VkIgor
UEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIs
IDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWRl
bGF5CitQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJlemllcigw
LCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBhbmltYXRp
b24tZGlyZWN0aW9uCitQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1Ymlj
LWJlemllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNl
dCBhbmltYXRpb24tZHVyYXRpb24KK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAt
M3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBz
aG91bGQgc2V0IGFuaW1hdGlvbi1maWxsLW1vZGUKK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10g
PSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCBy
ZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQKK1BBU1MgZS5zdHls
ZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5p
bSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1uYW1lCitQQVNTIGUu
c3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMyks
IGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBhbmltYXRpb24tcGxheS1zdGF0
ZQogRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwg
LTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQgYW5pbWF0aW9u
LXRpbWVsaW5lIGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi10aW1lbGluZSBzaG91bGQgYmUgY2Fu
b25pY2FsIGV4cGVjdGVkIChzdHJpbmcpICJhdXRvLCBhdXRvIiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1i
ZXppZXIoMCwgLTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQg
YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tdGltaW5n
LWZ1bmN0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImN1YmljLWJlemllcigwLCAt
MiwgMSwgMyksIGVhc2UiIGJ1dCBnb3QgImN1YmljLWJlemllcigwLCAtMiwgMSwgMyksIGluaXRp
YWwiCitQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJlemllcigw
LCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBhbmltYXRp
b24tdGltaW5nLWZ1bmN0aW9uCiBQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNz
IGN1YmljLWJlemllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hv
dWxkIG5vdCBzZXQgdW5yZWxhdGVkIGxvbmdoYW5kcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9wYXJz
aW5nL2FuaW1hdGlvbi12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9wYXJzaW5nL2FuaW1hdGlv
bi12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggMGYxZjg3Zjk5MzMzYTkxYjYzNDMzYTQ0ZWQ4NWJl
Y2M3NjM5NThiMS4uZWNiNGI4ZTY0NzE1MGQ5MjMyNzUyYmZkMGE0YmJiNjk4YTc4ZmFiMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvcGFyc2luZy9hbmltYXRpb24tdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL3BhcnNpbmcvYW5pbWF0aW9uLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtOSw1ICs5LDUg
QEAgUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJwYXVzZWQiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIm5vbmUiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0i
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbidd
ID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIs
IDEsIDMpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydhbmlt
YXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemll
cigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9lcXVh
bHM6IHNlcmlhbGl6YXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMHMgZWFzZSAw
cyAxIHJldmVyc2UgYm90aCBwYXVzZWQgYW5pbSwgMXMgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAz
KSAtM3MgNCBub3JtYWwgbm9uZSBydW5uaW5nIG5vbmUiIGJ1dCBnb3QgInJldmVyc2UgYm90aCBw
YXVzZWQgYW5pbSwgMXMgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSAtM3MgNCIKK1BBU1MgZS5z
dHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBj
dWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtYW5pbWF0aW9ucy9zdHlsZS1hbmltYXRpb24tcGFyc2luZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9zdHlsZS1hbmltYXRpb24tcGFyc2luZy1leHBlY3RlZC50eHQKaW5kZXggNTE5Yzk1
MWUxNjQzNzM3NTcxNjkxZjc4NTgxOTM0ZmM2Y2U5NTVmYi4uMGQxNTM4ZGY2ZTYxOWM4YjZhOGE5
ZmRjNGVjNDE5Y2ZlZDEyZTdhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvc3R5bGUtYW5pbWF0aW9uLXBh
cnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3N0eWxlLWFuaW1hdGlvbi1wYXJzaW5nLWV4
cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogUEFTUyBUZXN0IGFuaW1hdGlvbiBuYW1lIGJl
aW5nIGVtcHR5LgogUEFTUyBUZXN0IGEgbm9uLWNvbmZsaWN0aW5nIGFuaW1hdGlvbiBuYW1lLgot
RkFJTCBUZXN0IGFuIGFuaW1hdGlvbiBuYW1lIHRoYXQgaXMgdGhlIHNhbWUgYXMgYSBwb3NzaWJs
ZSBhbmltYXRpb24gZmlsbC1tb2RlLiBhc3NlcnRfZXF1YWxzOiBzdHlsZTEuYW5pbWF0aW9uTmFt
ZSBleHBlY3RlZCAibm9uZSIgYnV0IGdvdCAiaW5pdGlhbCIKLUZBSUwgVGVzdCBhbiBhbmltYXRp
b24gbmFtZSB0aGF0IGlzIHRoZSBzYW1lIGFzIGEgcG9zc2libGUgYW5pbWF0aW9uIGRpcmVjdGlv
bi4gYXNzZXJ0X2VxdWFsczogc3R5bGUxLmFuaW1hdGlvbk5hbWUgZXhwZWN0ZWQgIm5vbmUiIGJ1
dCBnb3QgImluaXRpYWwiCi1GQUlMIFRlc3QgYW4gYW5pbWF0aW9uIG5hbWUgdGhhdCBpcyB0aGUg
c2FtZSBhcyBhIHBvc3NpYmxlIHJ1bm5pbmcgc3RhdGUuIGFzc2VydF9lcXVhbHM6IHN0eWxlMS5h
bmltYXRpb25OYW1lIGV4cGVjdGVkICJub25lIiBidXQgZ290ICJpbml0aWFsIgorUEFTUyBUZXN0
IGFuIGFuaW1hdGlvbiBuYW1lIHRoYXQgaXMgdGhlIHNhbWUgYXMgYSBwb3NzaWJsZSBhbmltYXRp
b24gZmlsbC1tb2RlLgorUEFTUyBUZXN0IGFuIGFuaW1hdGlvbiBuYW1lIHRoYXQgaXMgdGhlIHNh
bWUgYXMgYSBwb3NzaWJsZSBhbmltYXRpb24gZGlyZWN0aW9uLgorUEFTUyBUZXN0IGFuIGFuaW1h
dGlvbiBuYW1lIHRoYXQgaXMgdGhlIHNhbWUgYXMgYSBwb3NzaWJsZSBydW5uaW5nIHN0YXRlLgog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448171</attachid>
            <date>2022-01-02 02:50:35 -0800</date>
            <delta_ts>2022-01-02 11:44:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234792-20220102115033.patch</filename>
            <type>text/plain</type>
            <size>34374</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTExMmM2MGUxMDU0N2Vj
ODgwY2ViODgyYTk2NDFjMzY5ZjBmY2VlZC4uYmFlZDA4ZjdkNzczNmU5MDM1ODdiY2FmZTI4ZmRj
MWIxM2Q2MmQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIyLTAxLTAyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgICJhbmltYXRpb24iIHNo
b3J0aGFuZCBzaG91bGQgbGlzdCBhbGwgbG9uZ2hhbmQgdmFsdWVzIHdoZW4gc2VyaWFsaXppbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDc5Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRs
eSB3ZSBvbWl0IGFueSBpbml0aWFsIHZhbHVlIHdoZW4gc2VyaWFsaXppbmcgdGhlICJhbmltYXRp
b24iIHNob3J0aGFuZC4gSG93ZXZlciwKKyAgICAgICAgdGhlIENTUyBBbmltYXRpb25zIHNwZWMg
c2F5czoKKworICAgICAgICAgICAgTm90ZSB0aGF0IG9yZGVyIGlzIGFsc28gaW1wb3J0YW50IHdp
dGhpbiBlYWNoIGFuaW1hdGlvbiBkZWZpbml0aW9uIGZvciBkaXN0aW5ndWlzaGluZworICAgICAg
ICAgICAgPGtleWZyYW1lcy1uYW1lPiB2YWx1ZXMgZnJvbSBvdGhlciBrZXl3b3Jkcy4gV2hlbiBw
YXJzaW5nLCBrZXl3b3JkcyB0aGF0IGFyZSB2YWxpZCBmb3IKKyAgICAgICAgICAgIHByb3BlcnRp
ZXMgb3RoZXIgdGhhbiBhbmltYXRpb24tbmFtZSB3aG9zZSB2YWx1ZXMgd2VyZSBub3QgZm91bmQg
ZWFybGllciBpbiB0aGUgc2hvcnRoYW5kCisgICAgICAgICAgICBtdXN0IGJlIGFjY2VwdGVkIGZv
ciB0aG9zZSBwcm9wZXJ0aWVzIHJhdGhlciB0aGFuIGZvciBhbmltYXRpb24tbmFtZS4gRnVydGhl
cm1vcmUsIHdoZW4KKyAgICAgICAgICAgIHNlcmlhbGl6aW5nLCBkZWZhdWx0IHZhbHVlcyBvZiBv
dGhlciBwcm9wZXJ0aWVzIG11c3QgYmUgb3V0cHV0IGluIGF0IGxlYXN0IHRoZSBjYXNlcworICAg
ICAgICAgICAgbmVjZXNzYXJ5IHRvIGRpc3Rpbmd1aXNoIGFuIGFuaW1hdGlvbi1uYW1lIHRoYXQg
Y291bGQgYmUgYSB2YWx1ZSBvZiBhbm90aGVyIHByb3BlcnR5LAorICAgICAgICAgICAgYW5kIG1h
eSBiZSBvdXRwdXQgaW4gYWRkaXRpb25hbCBjYXNlcy4gICAgICAgIAorCisgICAgICAgIEJvdGgg
RmlyZWZveCBhbmQgQ2hyb21lIGFsd2F5cyBpbmNsdWRlIGFsbCBsb25naGFuZCB2YWx1ZXMgd2hl
biBxdWVyeWluZyB0aGUgaW5saW5lIHN0eWxlLAorICAgICAgICBzdWNoIHRoYXQgPGRpdiBzdHls
ZT0iYW5pbWF0aW9uOiBub25lIj4geWllbGRzICIwcyBlYXNlIDBzIDEgbm9ybWFsIG5vbmUgcnVu
bmluZyBub25lIiBmb3IKKyAgICAgICAgZWxlbWVudC5zdHlsZS5hbmltYXRpb24uIEN1cnJlbnRs
eSwgU2FmYXJpIG9ubHkgb3V0cHV0cyAibm9uZSIuCisKKyAgICAgICAgV2hlbiBwYXJzaW5nIHRo
ZSAiYW5pbWF0aW9uIiBzaG9ydGhhbmQgaW4gY29uc3VtZUFuaW1hdGlvblNob3J0aGFuZCgpLCB3
ZSBub3cgZmlsbCBpbiBpbml0aWFsCisgICAgICAgIHZhbHVlcyBhcyBpZiB0aGV5IHdlcmUgZXhw
bGljaXRseSBzZXQgdG8gdGhlaXIgaW5pdGlhbCB2YWx1ZSwgZm9yIGluc3RhbmNlIGR1cmF0aW9u
IGlzIHNldCB0bworICAgICAgICAiMHMiLgorCisgICAgICAgIFRvIGRvIHRoaXMsIHdlIHJlZmFj
dG9yZWQgY29kZSBpbiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIHRoYXQgZGVhbHQg
d2l0aCB0aGUgY3JlYXRpb24KKyAgICAgICAgb2YgQ1NTVmFsdWUgZnJvbSB2YXJpb3VzIHZhbHVl
cyBleHBvc2VkIG9uIEFuaW1hdGlvbiBzdWNoIHRoYXQgaXQgbWF5IGJlIGNhbGxlZCBmcm9tIHdp
dGhpbgorICAgICAgICBDU1NQcm9wZXJ0eVBhcnNlci5jcHAuCisKKyAgICAgICAgKiBjc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVk
U3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uRHVyYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmltYXRpb25EZWxheSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlv
bkl0ZXJhdGlvbkNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0
b3I6OnZhbHVlRm9yQW5pbWF0aW9uRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXB1
dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uRmlsbE1vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmltYXRpb25QbGF5U3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JB
bmltYXRpb25OYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmRlbGF5VmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6ZHVyYXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OnRpbWluZ0Z1bmN0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRT
dHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlVGltaW5nRnVuY3Rpb25WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OmNv
bnN1bWVBbmltYXRpb25TaG9ydGhhbmQpOgorCiAyMDIyLTAxLTAxICBBbnRvaW5lIFF1aW50ICA8
Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgICJhbmltYXRpb24iIHNob3J0aGFuZCBkb2Vz
IG5vdCBwYXJzZSB2YWx1ZXMgaW4gdGhlIHJpZ2h0IG9yZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDAzNDMxMWRhMzQ1
MzdkOWQyMDJhMzU1NjZiOGZkZjIzNWVhZTVhY2MuLmU4YzY5OTVhMjhhMTMwNTFjMWYyNGVlYzU0
ZWY1MDFjNDBjZDRiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMzQ1LDM1ICsxMzQ1LDk1IEBAIHN0YXRpYyBSZWY8
Q1NTVmFsdWU+IGZvbnRWYXJpYW50RWFzdEFzaWFuUHJvcGVydHlWYWx1ZShGb250VmFyaWFudEVh
c3RBc2lhblZhcmlhCiAgICAgcmV0dXJuIHZhbHVlTGlzdDsKIH0KIAorUmVmPENTU1ByaW1pdGl2
ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkR1cmF0aW9u
KGRvdWJsZSBkdXJhdGlvbikKK3sKKyAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24o
KS5jcmVhdGVWYWx1ZShkdXJhdGlvbiwgQ1NTVW5pdFR5cGU6OkNTU19TKTsKK30KKworUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlv
bkRlbGF5KGRvdWJsZSBkZWxheSkKK3sKKyAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0
b24oKS5jcmVhdGVWYWx1ZShkZWxheSwgQ1NTVW5pdFR5cGU6OkNTU19TKTsKK30KKworUmVmPENT
U1ByaW1pdGl2ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlv
bkl0ZXJhdGlvbkNvdW50KGRvdWJsZSBpdGVyYXRpb25Db3VudCkKK3sKKyAgICBpZiAoaXRlcmF0
aW9uQ291bnQgPT0gQW5pbWF0aW9uOjpJdGVyYXRpb25Db3VudEluZmluaXRlKQorICAgICAgICBy
ZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVJbmZpbml0ZSk7CisgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3Jl
YXRlVmFsdWUoaXRlcmF0aW9uQ291bnQsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKTsKK30KKwor
UmVmPENTU1ByaW1pdGl2ZVZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFu
aW1hdGlvbkRpcmVjdGlvbihBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24p
Cit7CisgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKKyAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0
aW9uRGlyZWN0aW9uTm9ybWFsOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0
b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpOworICAgIGNhc2UgQW5p
bWF0aW9uOjpBbmltYXRpb25EaXJlY3Rpb25BbHRlcm5hdGU6CisgICAgICAgIHJldHVybiBDU1NW
YWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFsdGVy
bmF0ZSk7CisgICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvblJldmVyc2U6Cisg
ICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZVJldmVyc2UpOworICAgIGNhc2UgQW5pbWF0aW9uOjpBbmltYXRpb25EaXJl
Y3Rpb25BbHRlcm5hdGVSZXZlcnNlOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5n
bGV0b24oKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVBbHRlcm5hdGVSZXZlcnNlKTsK
KyAgICB9Cit9CisKK1JlZjxDU1NQcmltaXRpdmVWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JBbmltYXRpb25GaWxsTW9kZShBbmltYXRpb25GaWxsTW9kZSBmaWxsTW9kZSkK
K3sKKyAgICBzd2l0Y2ggKGZpbGxNb2RlKSB7CisgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6
Tm9uZToKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7CisgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6
Rm9yd2FyZHM6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUZvcndhcmRzKTsKKyAgICBjYXNlIEFuaW1hdGlvbkZp
bGxNb2RlOjpCYWNrd2FyZHM6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRv
bigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUJhY2t3YXJkcyk7CisgICAgY2FzZSBB
bmltYXRpb25GaWxsTW9kZTo6Qm90aDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2lu
Z2xldG9uKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQm90aCk7CisgICAgfQorfQor
CitSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9y
QW5pbWF0aW9uUGxheVN0YXRlKEFuaW1hdGlvblBsYXlTdGF0ZSBwbGF5U3RhdGUpCit7CisgICAg
c3dpdGNoIChwbGF5U3RhdGUpIHsKKyAgICBjYXNlIEFuaW1hdGlvblBsYXlTdGF0ZTo6UGxheWlu
ZzoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSWRlbnRp
ZmllclZhbHVlKENTU1ZhbHVlUnVubmluZyk7CisgICAgY2FzZSBBbmltYXRpb25QbGF5U3RhdGU6
OlBhdXNlZDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUGF1c2VkKTsKKyAgICB9Cit9CisKK1JlZjxDU1NQcmlt
aXRpdmVWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmltYXRpb25OYW1l
KGNvbnN0IEFuaW1hdGlvbjo6TmFtZSYgbmFtZSkKK3sKKyAgICBpZiAobmFtZS5pc0lkZW50aWZp
ZXIpCisgICAgICAgIHJldHVybiBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUN1c3Rv
bUlkZW50KG5hbWUuc3RyaW5nKTsKKyAgICByZXR1cm4gQ1NTVmFsdWVQb29sOjpzaW5nbGV0b24o
KS5jcmVhdGVWYWx1ZShuYW1lLnN0cmluZywgQ1NTVW5pdFR5cGU6OkNTU19TVFJJTkcpOworfQor
CiBzdGF0aWMgUmVmPENTU1ZhbHVlTGlzdD4gZGVsYXlWYWx1ZShjb25zdCBBbmltYXRpb25MaXN0
KiBhbmltYXRpb25MaXN0KQogewotICAgIGF1dG8mIGNzc1ZhbHVlUG9vbCA9IENTU1ZhbHVlUG9v
bDo6c2luZ2xldG9uKCk7CiAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21t
YVNlcGFyYXRlZCgpOwogICAgIGlmIChhbmltYXRpb25MaXN0KSB7CiAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgYW5pbWF0aW9uTGlzdC0+c2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBs
aXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKGFuaW1hdGlvbkxpc3QtPmFuaW1h
dGlvbihpKS5kZWxheSgpLCBDU1NVbml0VHlwZTo6Q1NTX1MpKTsKKyAgICAgICAgICAgIGxpc3Qt
PmFwcGVuZChDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkRlbGF5KGFu
aW1hdGlvbkxpc3QtPmFuaW1hdGlvbihpKS5kZWxheSgpKSk7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgLy8gTm90ZSB0aGF0IGluaXRpYWxBbmltYXRpb25EZWxheSgpIGlzIHVzZWQgZm9yIGJvdGgg
dHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMKLSAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVl
UG9vbC5jcmVhdGVWYWx1ZShBbmltYXRpb246OmluaXRpYWxEZWxheSgpLCBDU1NVbml0VHlwZTo6
Q1NTX1MpKTsKKyAgICAgICAgbGlzdC0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZh
bHVlRm9yQW5pbWF0aW9uRGVsYXkoQW5pbWF0aW9uOjppbml0aWFsRGVsYXkoKSkpOwogICAgIH0K
ICAgICByZXR1cm4gbGlzdDsKIH0KIAogc3RhdGljIFJlZjxDU1NWYWx1ZUxpc3Q+IGR1cmF0aW9u
VmFsdWUoY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbWF0aW9uTGlzdCkKIHsKLSAgICBhdXRvJiBj
c3NWYWx1ZVBvb2wgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpOwogICAgIGF1dG8gbGlzdCA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKICAgICBpZiAoYW5pbWF0aW9u
TGlzdCkgewogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFuaW1hdGlvbkxpc3QtPnNp
emUoKTsgKytpKQotICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVW
YWx1ZShhbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSkuZHVyYXRpb24oKSwgQ1NTVW5pdFR5cGU6
OkNTU19TKSk7CisgICAgICAgICAgICBsaXN0LT5hcHBlbmQoQ29tcHV0ZWRTdHlsZUV4dHJhY3Rv
cjo6dmFsdWVGb3JBbmltYXRpb25EdXJhdGlvbihhbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSku
ZHVyYXRpb24oKSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIE5vdGUgdGhhdCBpbml0aWFs
QW5pbWF0aW9uRHVyYXRpb24oKSBpcyB1c2VkIGZvciBib3RoIHRyYW5zaXRpb25zIGFuZCBhbmlt
YXRpb25zCi0gICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoQW5p
bWF0aW9uOjppbml0aWFsRHVyYXRpb24oKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7CisgICAgICAg
IGxpc3QtPmFwcGVuZChDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkR1
cmF0aW9uKEFuaW1hdGlvbjo6aW5pdGlhbER1cmF0aW9uKCkpKTsKICAgICB9CiAgICAgcmV0dXJu
IGxpc3Q7CiB9CiAKLXN0YXRpYyBSZWY8Q1NTVmFsdWU+IGNyZWF0ZVRpbWluZ0Z1bmN0aW9uVmFs
dWUoY29uc3QgVGltaW5nRnVuY3Rpb24mIHRpbWluZ0Z1bmN0aW9uKQorUmVmPENTU1ZhbHVlPiBD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKGNv
bnN0IFRpbWluZ0Z1bmN0aW9uJiB0aW1pbmdGdW5jdGlvbikKIHsKICAgICBzd2l0Y2ggKHRpbWlu
Z0Z1bmN0aW9uLnR5cGUoKSkgewogICAgIGNhc2UgVGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVy
RnVuY3Rpb246IHsKQEAgLTE0MTgsMTAgKzE0NzgsMTAgQEAgc3RhdGljIFJlZjxDU1NWYWx1ZUxp
c3Q+IHRpbWluZ0Z1bmN0aW9uVmFsdWUoY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbWF0aW9uTGlz
dCkKICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7
CiAgICAgaWYgKGFuaW1hdGlvbkxpc3QpIHsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBhbmltYXRpb25MaXN0LT5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
cmVhdGVUaW1pbmdGdW5jdGlvblZhbHVlKCphbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSkudGlt
aW5nRnVuY3Rpb24oKSkpOworICAgICAgICAgICAgbGlzdC0+YXBwZW5kKENvbXB1dGVkU3R5bGVF
eHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oKmFuaW1hdGlvbkxpc3Qt
PmFuaW1hdGlvbihpKS50aW1pbmdGdW5jdGlvbigpKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIC8v
IE5vdGUgdGhhdCBpbml0aWFsQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oKSBpcyB1c2VkIGZvciBi
b3RoIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zCi0gICAgICAgIGxpc3QtPmFwcGVuZChjcmVh
dGVUaW1pbmdGdW5jdGlvblZhbHVlKEFuaW1hdGlvbjo6aW5pdGlhbFRpbWluZ0Z1bmN0aW9uKCkp
KTsKKyAgICAgICAgbGlzdC0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9y
QW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oQW5pbWF0aW9uOjppbml0aWFsVGltaW5nRnVuY3Rpb24o
KSkpOwogICAgIHJldHVybiBsaXN0OwogfQogCkBAIC0zNTEyLDIyICszNTcyLDggQEAgUmVmUHRy
PENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHls
ZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6
Y3JlYXRlQ29tbWFTZXBhcmF0ZWQoKTsKICAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvbkxpc3Qq
IHQgPSBzdHlsZS5hbmltYXRpb25zKCk7CiAgICAgICAgICAgICBpZiAodCkgewotICAgICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICAgICAgc3dpdGNoICh0LT5hbmltYXRpb24oaSkuZGlyZWN0aW9uKCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvbk5vcm1hbDoK
LSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9ybWFsKSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBBbmltYXRpb246OkFuaW1hdGlvbkRp
cmVjdGlvbkFsdGVybmF0ZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWx0ZXJuYXRlKSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBB
bmltYXRpb246OkFuaW1hdGlvbkRpcmVjdGlvblJldmVyc2U6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NW
YWx1ZVJldmVyc2UpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICBjYXNlIEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uQWx0ZXJuYXRlUmV2
ZXJzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wu
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQWx0ZXJuYXRlUmV2ZXJzZSkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0LT5zaXpl
KCk7ICsraSkKKyAgICAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKHZhbHVlRm9yQW5pbWF0
aW9uRGlyZWN0aW9uKHQtPmFuaW1hdGlvbihpKS5kaXJlY3Rpb24oKSkpOwogICAgICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb3JtYWwpKTsKICAgICAgICAgICAgIHJldHVybiBsaXN0
OwpAQCAtMzUzOCwyMiArMzU4NCw4IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4
dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAg
ICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZUNvbW1hU2VwYXJhdGVkKCk7CiAg
ICAgICAgICAgICBjb25zdCBBbmltYXRpb25MaXN0KiB0ID0gc3R5bGUuYW5pbWF0aW9ucygpOwog
ICAgICAgICAgICAgaWYgKHQpIHsKLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHQtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodC0+YW5p
bWF0aW9uKGkpLmZpbGxNb2RlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBBbmltYXRp
b25GaWxsTW9kZTo6Tm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgQW5pbWF0
aW9uRmlsbE1vZGU6OkZvcndhcmRzOgotICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC0+YXBw
ZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVGb3J3YXJkcykp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNh
c2UgQW5pbWF0aW9uRmlsbE1vZGU6OkJhY2t3YXJkczoKLSAgICAgICAgICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVl
QmFja3dhcmRzKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgY2FzZSBBbmltYXRpb25GaWxsTW9kZTo6Qm90aDoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlQm90aCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCB0LT5zaXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICAgICAgbGlzdC0+
YXBwZW5kKHZhbHVlRm9yQW5pbWF0aW9uRmlsbE1vZGUodC0+YW5pbWF0aW9uKGkpLmZpbGxNb2Rl
KCkpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChj
c3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkpOwogICAgICAg
ICAgICAgcmV0dXJuIGxpc3Q7CkBAIC0zNTYyLDEzICszNTk0LDggQEAgUmVmUHRyPENTU1ZhbHVl
PiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBS
ZW5kZXJTdHkKICAgICAgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29t
bWFTZXBhcmF0ZWQoKTsKICAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvbkxpc3QqIHQgPSBzdHls
ZS5hbmltYXRpb25zKCk7CiAgICAgICAgICAgICBpZiAodCkgewotICAgICAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICAg
ICAgZG91YmxlIGl0ZXJhdGlvbkNvdW50ID0gdC0+YW5pbWF0aW9uKGkpLml0ZXJhdGlvbkNvdW50
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpdGVyYXRpb25Db3VudCA9PSBBbmltYXRpb246
Okl0ZXJhdGlvbkNvdW50SW5maW5pdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUluZmluaXRl
KSk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGxp
c3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUoaXRlcmF0aW9uQ291bnQsIENTU1Vu
aXRUeXBlOjpDU1NfTlVNQkVSKSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpCisgICAgICAgICAgICAgICAg
ICAgIGxpc3QtPmFwcGVuZCh2YWx1ZUZvckFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50KHQtPmFuaW1h
dGlvbihpKS5pdGVyYXRpb25Db3VudCgpKSk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKEFuaW1hdGlvbjo6
aW5pdGlhbEl0ZXJhdGlvbkNvdW50KCksIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSKSk7CiAgICAg
ICAgICAgICByZXR1cm4gbGlzdDsKQEAgLTM1NzcsMTMgKzM2MDQsOCBAQCBSZWZQdHI8Q1NTVmFs
dWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0
IFJlbmRlclN0eQogICAgICAgICAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVD
b21tYVNlcGFyYXRlZCgpOwogICAgICAgICAgICAgY29uc3QgQW5pbWF0aW9uTGlzdCogdCA9IHN0
eWxlLmFuaW1hdGlvbnMoKTsKICAgICAgICAgICAgIGlmICh0KSB7Ci0gICAgICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCB0LT5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICBhdXRvJiBuYW1lID0gdC0+YW5pbWF0aW9uKGkpLm5hbWUoKTsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG5hbWUuaXNJZGVudGlmaWVyKQotICAgICAgICAgICAgICAgICAgICAgICAgbGlz
dC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVDdXN0b21JZGVudChuYW1lLnN0cmluZykpOwot
ICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKG5hbWUuc3RyaW5nLCBDU1NVbml0VHlwZTo6
Q1NTX1NUUklORykpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHQtPnNpemUoKTsgKytpKQorICAgICAgICAgICAgICAgICAgICBsaXN0
LT5hcHBlbmQodmFsdWVGb3JBbmltYXRpb25OYW1lKHQtPmFuaW1hdGlvbihpKS5uYW1lKCkpKTsK
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkpOwogICAgICAgICAgICAg
cmV0dXJuIGxpc3Q7CkBAIC0zNTkyLDE2ICszNjE0LDggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21w
dXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJT
dHkKICAgICAgICAgICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKICAgICAgICAgICAgIGNvbnN0IEFuaW1hdGlvbkxpc3QqIHQgPSBzdHlsZS5hbmlt
YXRpb25zKCk7CiAgICAgICAgICAgICBpZiAodCkgewotICAgICAgICAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgc3dp
dGNoICh0LT5hbmltYXRpb24oaSkucGxheVN0YXRlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
Y2FzZSBBbmltYXRpb25QbGF5U3RhdGU6OlBsYXlpbmc6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZVJ1bm5pbmcpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICBjYXNlIEFuaW1hdGlvblBsYXlTdGF0ZTo6UGF1c2VkOgotICAgICAgICAgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVQYXVzZWQpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgdC0+c2l6ZSgpOyArK2kpCisgICAgICAgICAgICAgICAgICAgIGxp
c3QtPmFwcGVuZCh2YWx1ZUZvckFuaW1hdGlvblBsYXlTdGF0ZSh0LT5hbmltYXRpb24oaSkucGxh
eVN0YXRlKCkpKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUnVubmluZykp
OwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7CkBAIC0zODE1LDcgKzM4MjksNyBAQCBSZWZQdHI8
Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxl
KGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgICAgICBhdXRvJiBhbmltYXRpb24gPSBh
bmltYXRpb25MaXN0LT5hbmltYXRpb24oaSk7CiAgICAgICAgICAgICAgICAgICAgIGxpc3QtPmFw
cGVuZChjcmVhdGVUcmFuc2l0aW9uUHJvcGVydHlWYWx1ZShhbmltYXRpb24pKTsKICAgICAgICAg
ICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1ZShhbmltYXRp
b24uZHVyYXRpb24oKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7Ci0gICAgICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChjcmVhdGVUaW1pbmdGdW5jdGlvblZhbHVlKCphbmltYXRpb24udGltaW5n
RnVuY3Rpb24oKSkpOworICAgICAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQodmFsdWVGb3JB
bmltYXRpb25UaW1pbmdGdW5jdGlvbigqYW5pbWF0aW9uLnRpbWluZ0Z1bmN0aW9uKCkpKTsKICAg
ICAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1ZShh
bmltYXRpb24uZGVsYXkoKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7CiAgICAgICAgICAgICAgICAg
ICAgIHRyYW5zaXRpb25zTGlzdC0+YXBwZW5kKFdURk1vdmUobGlzdCkpOwogICAgICAgICAgICAg
ICAgIH0KQEAgLTM4MjYsNyArMzg0MCw3IEBAIFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHls
ZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAg
ICAgICAgICAvLyB0cmFuc2l0aW9uLXByb3BlcnR5IGRlZmF1bHQgdmFsdWUuCiAgICAgICAgICAg
ICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZUFsbCkpOwogICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVWYWx1
ZShBbmltYXRpb246OmluaXRpYWxEdXJhdGlvbigpLCBDU1NVbml0VHlwZTo6Q1NTX1MpKTsKLSAg
ICAgICAgICAgIGxpc3QtPmFwcGVuZChjcmVhdGVUaW1pbmdGdW5jdGlvblZhbHVlKEFuaW1hdGlv
bjo6aW5pdGlhbFRpbWluZ0Z1bmN0aW9uKCkpKTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVuZCh2
YWx1ZUZvckFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKEFuaW1hdGlvbjo6aW5pdGlhbFRpbWluZ0Z1
bmN0aW9uKCkpKTsKICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRl
VmFsdWUoQW5pbWF0aW9uOjppbml0aWFsRGVsYXkoKSwgQ1NTVW5pdFR5cGU6OkNTU19TKSk7CiAg
ICAgICAgICAgICByZXR1cm4gbGlzdDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IGU2YTRmNDgyOTRiM2QwMTJl
Y2JjZjkzN2NlNmVmMDY2ZjFiZDVmYjMuLjc4YmIyN2IzZmI4ZGQzZDUwY2FjZDY2Y2MxMzA0YzJl
ZTgyOGI4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJBbmltYXRpb24uaCIKICNpbmNsdWRlICJDU1NTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMu
aCIKQEAgLTc3LDYgKzc4LDE1IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTdHls
ZVZhbHVlPiBmb250Tm9uS2V5d29yZFN0eWxlRnJvbVN0eWxlVmFsdWUoRm9udFNlbGVjdGlvblZh
bHVlKTsKICAgICBzdGF0aWMgUmVmPENTU0ZvbnRTdHlsZVZhbHVlPiBmb250U3R5bGVGcm9tU3R5
bGVWYWx1ZShzdGQ6Om9wdGlvbmFsPEZvbnRTZWxlY3Rpb25WYWx1ZT4sIEZvbnRTdHlsZUF4aXMp
OwogCisgICAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25E
dXJhdGlvbihkb3VibGUpOworICAgIHN0YXRpYyBSZWY8Q1NTVmFsdWU+IHZhbHVlRm9yQW5pbWF0
aW9uVGltaW5nRnVuY3Rpb24oY29uc3QgVGltaW5nRnVuY3Rpb24mKTsKKyAgICBzdGF0aWMgUmVm
PENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvbkRlbGF5KGRvdWJsZSk7CisgICAg
c3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWVGb3JBbmltYXRpb25JdGVyYXRpb25D
b3VudChkb3VibGUpOworICAgIHN0YXRpYyBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlRm9y
QW5pbWF0aW9uRGlyZWN0aW9uKEFuaW1hdGlvbjo6QW5pbWF0aW9uRGlyZWN0aW9uKTsKKyAgICBz
dGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKEFu
aW1hdGlvbkZpbGxNb2RlKTsKKyAgICBzdGF0aWMgUmVmPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1
ZUZvckFuaW1hdGlvblBsYXlTdGF0ZShBbmltYXRpb25QbGF5U3RhdGUpOworICAgIHN0YXRpYyBS
ZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbHVlRm9yQW5pbWF0aW9uTmFtZShjb25zdCBBbmltYXRp
b246Ok5hbWUmKTsKKwogcHJpdmF0ZToKICAgICAvLyBUaGUgc3R5bGVkIGVsZW1lbnQgaXMgZWl0
aGVyIHRoZSBlbGVtZW50IHBhc3NlZCBpbnRvCiAgICAgLy8gY29tcHV0ZWRQcm9wZXJ0eVZhbHVl
LCBvciB0aGUgUHNldWRvRWxlbWVudCBmb3IgOmJlZm9yZSBhbmQgOmFmdGVyIGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDdjMmNm
MTk5ZjRlYTVkMjY3Yzk2YjM0ODc3NzY0ZTdhNWVhODZlMWQuLjM5MTA1N2ViMTcxNzYwMzhjODA1
YWNiNzM2NDQyN2JjYzQ5N2Q3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQ1NTQmFz
aWNTaGFwZXMuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZS5oIgogI2luY2x1ZGUgIkNTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5oIgogI2luY2x1ZGUgIkNTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZh
bHVlLmgiCkBAIC04MCw2ICs4MSw3IEBACiAjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVy
LmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgIlN0eWxl
UHJvcGVydHlTaG9ydGhhbmRGdW5jdGlvbnMuaCIKKyNpbmNsdWRlICJUaW1pbmdGdW5jdGlvbi5o
IgogI2luY2x1ZGUgPGJpdHNldD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgpAQCAtMTY1NSw4ICsxNjU3LDI5IEBAIGJvb2wgQ1NTUHJvcGVy
dHlQYXJzZXI6OmNvbnN1bWVBbmltYXRpb25TaG9ydGhhbmQoY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYKIAogICAgICAgICAvLyBGSVhNRTogVGhpcyB3aWxsIG1ha2UgaW52YWxpZCBsb25n
aGFuZHMsIHNlZSBjcmJ1Zy5jb20vMzg2NDU5CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgbG9uZ2hhbmRDb3VudDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoIXBhcnNlZExvbmdoYW5k
W2ldKQotICAgICAgICAgICAgICAgIGxvbmdoYW5kc1tpXS0+YXBwZW5kKENTU1ZhbHVlUG9vbDo6
c2luZ2xldG9uKCkuY3JlYXRlSW1wbGljaXRJbml0aWFsVmFsdWUoKSk7CisgICAgICAgICAgICBp
ZiAoIXBhcnNlZExvbmdoYW5kW2ldKSB7CisgICAgICAgICAgICAgICAgYXV0byBwcm9wZXJ0eSA9
IHNob3J0aGFuZC5wcm9wZXJ0aWVzKClbaV07CisgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5
ID09IENTU1Byb3BlcnR5QW5pbWF0aW9uRHVyYXRpb24pCisgICAgICAgICAgICAgICAgICAgIGxv
bmdoYW5kc1tpXS0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0
aW9uRHVyYXRpb24oQW5pbWF0aW9uOjppbml0aWFsRHVyYXRpb24oKSkpOworICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKHByb3BlcnR5ID09IENTU1Byb3BlcnR5QW5pbWF0aW9uVGltaW5nRnVuY3Rp
b24pCisgICAgICAgICAgICAgICAgICAgIGxvbmdoYW5kc1tpXS0+YXBwZW5kKENvbXB1dGVkU3R5
bGVFeHRyYWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24oQ3ViaWNCZXppZXJU
aW1pbmdGdW5jdGlvbjo6ZGVmYXVsdFRpbWluZ0Z1bmN0aW9uKCkpKTsKKyAgICAgICAgICAgICAg
ICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRlbGF5KQorICAgICAg
ICAgICAgICAgICAgICBsb25naGFuZHNbaV0tPmFwcGVuZChDb21wdXRlZFN0eWxlRXh0cmFjdG9y
Ojp2YWx1ZUZvckFuaW1hdGlvbkRlbGF5KEFuaW1hdGlvbjo6aW5pdGlhbERlbGF5KCkpKTsKKyAg
ICAgICAgICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkl0
ZXJhdGlvbkNvdW50KQorICAgICAgICAgICAgICAgICAgICBsb25naGFuZHNbaV0tPmFwcGVuZChD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50KEFu
aW1hdGlvbjo6aW5pdGlhbEl0ZXJhdGlvbkNvdW50KCkpKTsKKyAgICAgICAgICAgICAgICBlbHNl
IGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRpcmVjdGlvbikKKyAgICAgICAg
ICAgICAgICAgICAgbG9uZ2hhbmRzW2ldLT5hcHBlbmQoQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6
dmFsdWVGb3JBbmltYXRpb25EaXJlY3Rpb24oQW5pbWF0aW9uOjppbml0aWFsRGlyZWN0aW9uKCkp
KTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1h
dGlvbkZpbGxNb2RlKQorICAgICAgICAgICAgICAgICAgICBsb25naGFuZHNbaV0tPmFwcGVuZChD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvckFuaW1hdGlvbkZpbGxNb2RlKEFuaW1hdGlv
bjo6aW5pdGlhbEZpbGxNb2RlKCkpKTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9wZXJ0
eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvblBsYXlTdGF0ZSkKKyAgICAgICAgICAgICAgICAgICAg
bG9uZ2hhbmRzW2ldLT5hcHBlbmQoQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JBbmlt
YXRpb25QbGF5U3RhdGUoQW5pbWF0aW9uOjppbml0aWFsUGxheVN0YXRlKCkpKTsKKyAgICAgICAg
ICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUFuaW1hdGlvbk5hbWUpCisg
ICAgICAgICAgICAgICAgICAgIGxvbmdoYW5kc1tpXS0+YXBwZW5kKENvbXB1dGVkU3R5bGVFeHRy
YWN0b3I6OnZhbHVlRm9yQW5pbWF0aW9uTmFtZShBbmltYXRpb246OmluaXRpYWxOYW1lKCkpKTsK
KyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHNob3J0
aGFuZC5pZCgpID09IENTU1Byb3BlcnR5VHJhbnNpdGlvbik7CisgICAgICAgICAgICAgICAgICAg
IGxvbmdoYW5kc1tpXS0+YXBwZW5kKENTU1ZhbHVlUG9vbDo6c2luZ2xldG9uKCkuY3JlYXRlSW1w
bGljaXRJbml0aWFsVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQog
ICAgICAgICAgICAgcGFyc2VkTG9uZ2hhbmRbaV0gPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0g
d2hpbGUgKGNvbnN1bWVDb21tYUluY2x1ZGluZ1doaXRlc3BhY2UobV9yYW5nZSkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDdlNmI1MjE3N2FkMzBmNjNkOTllOWNmNWQ2MGI2ZThmZTQyNDBhNGIuLmU4Y2E0NmQ4M2RjOWU3
YTQxYWM0YzhhZWM1YTBmZGYyOWFmY2YzYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0w
MS0wMiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICAiYW5p
bWF0aW9uIiBzaG9ydGhhbmQgc2hvdWxkIGxpc3QgYWxsIGxvbmdoYW5kIHZhbHVlcyB3aGVuIHNl
cmlhbGl6aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzQ3OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgdGhlIGluaXRpYWwgbG9uZ2hhbmQgdmFsdWVzIGZvciBzb21lIG5vbi1XUFQgdGVzdHMg
dGhhdCBleHBlY3RlZCB0aGVtIHRvIGJlCisgICAgICAgIGFic2VudCBpbiB0aGUgc2hvcnRoYW5k
IHNlcmlhbGl6YXRpb24uCisKKyAgICAgICAgKiBmYXN0L2Nzcy9sb25naGFuZC1vdmVycmlkZXMt
c2hvcnRoYW5kLXByZWZpeGluZy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL3RyYW5zZm9ybS1p
bmxpbmUtc3R5bGUtcmVtb3ZlLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMS0wMSAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICAiYW5pbWF0aW9uIiBzaG9ydGhh
bmQgZG9lcyBub3QgcGFyc2UgdmFsdWVzIGluIHRoZSByaWdodCBvcmRlcgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggNTg1MzUyYTcxMjUyZGY3MTU3ZTE3NWUyNTkwMzdiMDFhZDQ4
NWVhMC4uOTAwZDI1MGQ1MDIyOThjMDY4NDI0Yzk2Nzk2NTExZmVmMWYwMWI3ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDEtMDIgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgImFuaW1hdGlvbiIgc2hv
cnRoYW5kIHNob3VsZCBsaXN0IGFsbCBsb25naGFuZCB2YWx1ZXMgd2hlbiBzZXJpYWxpemluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NzkyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFyayAyMCBu
ZXcgV1BUIHByb2dyZXNzaW9ucy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvcGFyc2luZy9hbmltYXRpb24tc2hvcnRoYW5kLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3BhcnNpbmcv
YW5pbWF0aW9uLXZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL3N0eWxlLWFuaW1hdGlvbi1wYXJzaW5nLWV4cGVjdGVkLnR4
dDoKKwogMjAyMi0wMS0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICAiYW5pbWF0aW9uIiBzaG9ydGhhbmQgZG9lcyBub3QgcGFyc2UgdmFsdWVzIGluIHRo
ZSByaWdodCBvcmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbG9uZ2hhbmQt
b3ZlcnJpZGVzLXNob3J0aGFuZC1wcmVmaXhpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2xvbmdoYW5kLW92ZXJyaWRlcy1zaG9ydGhhbmQtcHJlZml4aW5nLmh0bWwKaW5kZXggZTZkYTkw
MjYzYzY5MWNlN2RkNzliM2Y2ZjRmZmFhMGQyYmQzYmU4Ni4uYzA1ZDY4OTU4OTk5OWY2MTQzNWQ1
MDAzNjk0Y2IyMGQ1OGM4MmUxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvbG9u
Z2hhbmQtb3ZlcnJpZGVzLXNob3J0aGFuZC1wcmVmaXhpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9sb25naGFuZC1vdmVycmlkZXMtc2hvcnRoYW5kLXByZWZpeGluZy5odG1sCkBA
IC02Myw3ICs2Myw3IEBAIGZ1bmN0aW9uIHRlc3RQcm9wZXJ0eShzaG9ydGhhbmRQcm9wZXJ0eSwg
dW5wcmVmaXhlZFNob3J0aGFuZFByb3BlcnR5LCBsb25naGFuZFByCiAgICAgZGVidWcoIiIpOwog
fQogCi10ZXN0UHJvcGVydHlWYXJpYW50cygiYW5pbWF0aW9uIiwgImFuaW1hdGlvbi1kdXJhdGlv
biIsICIycyBtb3ZlIiwgIjEwcyBtb3ZlIiwgIjEwcyIpOwordGVzdFByb3BlcnR5VmFyaWFudHMo
ImFuaW1hdGlvbiIsICJhbmltYXRpb24tZHVyYXRpb24iLCAiMnMgbW92ZSIsICIxMHMgZWFzZSAw
cyAxIG5vcm1hbCBub25lIHJ1bm5pbmcgbW92ZSIsICIxMHMiKTsKIAogc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdHJhbnNmb3Jt
LWlubGluZS1zdHlsZS1yZW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dHJhbnNmb3JtLWlubGluZS1zdHlsZS1yZW1vdmUtZXhwZWN0ZWQudHh0CmluZGV4IDQyZGM1ZDc0
MWI1YzU5ZGNmYjVmNjMwNDZkOGJkNTNhZDYyZTgwNDkuLjUyMTgyNmI5NzZjMzk1YWE1MDljMmZi
YWUxNTU1YTUyZDI3YjE3YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3RyYW5z
Zm9ybS1pbmxpbmUtc3R5bGUtcmVtb3ZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy90cmFuc2Zvcm0taW5saW5lLXN0eWxlLXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTE5
LDcgKzE5LDcgQEAgdHJhbnNmb3JtIG9yaWdpbiAoYWZ0ZXIpOgogdHJhbnNmb3JtIG9yaWdpbiBY
IChhZnRlcik6CiB0cmFuc2Zvcm0gb3JpZ2luIFkgKGFmdGVyKToKIAotYW5pbWF0aW9uIChiZWZv
cmUpOiA1cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGUgdGVzdAorYW5pbWF0aW9uIChi
ZWZvcmUpOiA1cyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5n
IHRlc3QKIGFuaW1hdGlvbiBuYW1lIChiZWZvcmUpOiB0ZXN0CiBhbmltYXRpb24gZHVyYXRpb24g
KGJlZm9yZSk6IDVzCiBhbmltYXRpb24gdGltaW5nIGZ1bmN0aW9uIChiZWZvcmUpOiBlYXNlLWlu
LW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvcGFyc2luZy9hbmltYXRpb24tc2hvcnRoYW5kLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL3BhcnNpbmcvYW5pbWF0aW9uLXNob3J0aGFuZC1leHBlY3RlZC50eHQK
aW5kZXggOWY1NjlmZGMwMWQ0YzRmZDY5MTQwNGNiNjU4MWQyZjExNjI2MGEyYy4uYWVjOTAzYjY0
MmY3MWU4MDY0YWViY2QxYWQyMmYyNTQ4YjhkMTRhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvcGFyc2lu
Zy9hbmltYXRpb24tc2hvcnRoYW5kLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9wYXJzaW5nL2Fu
aW1hdGlvbi1zaG9ydGhhbmQtZXhwZWN0ZWQudHh0CkBAIC05LDI0ICs5LDI0IEBAIFBBU1MgZS5z
dHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIDQgMXMgLTNzIGN1
YmljLWJlemllcigwLCAtCiBGQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2Vk
IGJvdGggcmV2ZXJzZSA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQg
c2V0IGFuaW1hdGlvbi10aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tdGltZWxpbmUg
c2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAoc3RyaW5nKSAiYXV0byIgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVz
ZWQgYm90aCByZXZlcnNlIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3Vs
ZCBzZXQgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbgogUEFTUyBlLnN0eWxlWydhbmltYXRpb24n
XSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0y
LCAxLCAzKSIgc2hvdWxkIG5vdCBzZXQgdW5yZWxhdGVkIGxvbmdoYW5kcwotRkFJTCBlLnN0eWxl
WydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1Ymlj
LWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWRlbGF5IGFzc2VydF9l
cXVhbHM6IGFuaW1hdGlvbi1kZWxheSBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIwcywg
LTNzIiBidXQgZ290ICJpbml0aWFsLCAtM3MiCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0g
ImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAx
LCAzKSIgc2hvdWxkIHNldCBhbmltYXRpb24tZGlyZWN0aW9uIGFzc2VydF9lcXVhbHM6IGFuaW1h
dGlvbi1kaXJlY3Rpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAicmV2ZXJzZSwgbm9y
bWFsIiBidXQgZ290ICJyZXZlcnNlLCBpbml0aWFsIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24n
XSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAt
MiwgMSwgMykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWR1cmF0aW9uIGFzc2VydF9lcXVhbHM6IGFu
aW1hdGlvbi1kdXJhdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIwcywgMXMiIGJ1
dCBnb3QgImluaXRpYWwsIDFzIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBh
dXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNo
b3VsZCBzZXQgYW5pbWF0aW9uLWZpbGwtbW9kZSBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tZmls
bC1tb2RlIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgImJvdGgsIG5vbmUiIGJ1dCBnb3Qg
ImJvdGgsIGluaXRpYWwiCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2Vk
IGJvdGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxk
IHNldCBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50IGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi1p
dGVyYXRpb24tY291bnQgc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMSwgNCIgYnV0IGdv
dCAiaW5pdGlhbCwgNCIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQg
Ym90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQg
c2V0IGFuaW1hdGlvbi1uYW1lIGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi1uYW1lIHNob3VsZCBi
ZSBjYW5vbmljYWwgZXhwZWN0ZWQgImFuaW0sIG5vbmUiIGJ1dCBnb3QgImFuaW0sIGluaXRpYWwi
Ci1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSwg
NCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNldCBhbmltYXRpb24t
cGxheS1zdGF0ZSBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tcGxheS1zdGF0ZSBzaG91bGQgYmUg
Y2Fub25pY2FsIGV4cGVjdGVkICJwYXVzZWQsIHJ1bm5pbmciIGJ1dCBnb3QgInBhdXNlZCwgaW5p
dGlhbCIKK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCByZXZl
cnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IGFuaW1h
dGlvbi1kZWxheQorUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3Ro
IHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQg
YW5pbWF0aW9uLWRpcmVjdGlvbgorUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBh
dXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNo
b3VsZCBzZXQgYW5pbWF0aW9uLWR1cmF0aW9uCitQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0g
ImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAx
LCAzKSIgc2hvdWxkIHNldCBhbmltYXRpb24tZmlsbC1tb2RlCitQQVNTIGUuc3R5bGVbJ2FuaW1h
dGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6aWVy
KDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNldCBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50CitQQVNT
IGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSwgNCAxcyAt
M3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNldCBhbmltYXRpb24tbmFtZQor
UEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQg
MXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQgYW5pbWF0aW9uLXBs
YXktc3RhdGUKIEZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVzZWQgYm90aCBy
ZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91bGQgc2V0IGFu
aW1hdGlvbi10aW1lbGluZSBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tdGltZWxpbmUgc2hvdWxk
IGJlIGNhbm9uaWNhbCBleHBlY3RlZCAoc3RyaW5nKSAiYXV0bywgYXV0byIgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5pbSBwYXVz
ZWQgYm90aCByZXZlcnNlLCA0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIiBzaG91
bGQgc2V0IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9u
LXRpbWluZy1mdW5jdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJlYXNlLCBjdWJp
Yy1iZXppZXIoMCwgLTIsIDEsIDMpIiBidXQgZ290ICJpbml0aWFsLCBjdWJpYy1iZXppZXIoMCwg
LTIsIDEsIDMpIgorUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3Ro
IHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQg
YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbgogUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICJh
bmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAtMiwgMSwg
MykiIHNob3VsZCBub3Qgc2V0IHVucmVsYXRlZCBsb25naGFuZHMKLUZBSUwgZS5zdHlsZVsnYW5p
bWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVz
ZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1kZWxheSBhc3NlcnRfZXF1YWxz
OiBhbmltYXRpb24tZGVsYXkgc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiLTNzLCAwcyIg
YnV0IGdvdCAiLTNzLCBpbml0aWFsIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFz
IC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2Ui
IHNob3VsZCBzZXQgYW5pbWF0aW9uLWRpcmVjdGlvbiBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24t
ZGlyZWN0aW9uIHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIm5vcm1hbCwgcmV2ZXJzZSIg
YnV0IGdvdCAiaW5pdGlhbCwgcmV2ZXJzZSIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAi
NCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZl
cnNlIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1kdXJhdGlvbiBhc3NlcnRfZXF1YWxzOiBhbmltYXRp
b24tZHVyYXRpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiMXMsIDBzIiBidXQgZ290
ICIxcywgaW5pdGlhbCIKLUZBSUwgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3Vi
aWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQg
c2V0IGFuaW1hdGlvbi1maWxsLW1vZGUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLWZpbGwtbW9k
ZSBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICJub25lLCBib3RoIiBidXQgZ290ICJpbml0
aWFsLCBib3RoIgotRkFJTCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1i
ZXppZXIoMCwgLTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQg
YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24taXRlcmF0
aW9uLWNvdW50IHNob3VsZCBiZSBjYW5vbmljYWwgZXhwZWN0ZWQgIjQsIDEiIGJ1dCBnb3QgIjQs
IGluaXRpYWwiCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJl
emllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBh
bmltYXRpb24tbmFtZSBhc3NlcnRfZXF1YWxzOiBhbmltYXRpb24tbmFtZSBzaG91bGQgYmUgY2Fu
b25pY2FsIGV4cGVjdGVkICJub25lLCBhbmltIiBidXQgZ290ICJpbml0aWFsLCBhbmltIgotRkFJ
TCBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEs
IDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQgYW5pbWF0aW9uLXBsYXkt
c3RhdGUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLXBsYXktc3RhdGUgc2hvdWxkIGJlIGNhbm9u
aWNhbCBleHBlY3RlZCAicnVubmluZywgcGF1c2VkIiBidXQgZ290ICJpbml0aWFsLCBwYXVzZWQi
CitQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJlemllcigwLCAt
MiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBhbmltYXRpb24t
ZGVsYXkKK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVy
KDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1h
dGlvbi1kaXJlY3Rpb24KK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3Vi
aWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQg
c2V0IGFuaW1hdGlvbi1kdXJhdGlvbgorUEFTUyBlLnN0eWxlWydhbmltYXRpb24nXSA9ICI0IDFz
IC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3RoIHJldmVyc2Ui
IHNob3VsZCBzZXQgYW5pbWF0aW9uLWZpbGwtbW9kZQorUEFTUyBlLnN0eWxlWydhbmltYXRpb24n
XSA9ICI0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpLCBhbmltIHBhdXNlZCBib3Ro
IHJldmVyc2UiIHNob3VsZCBzZXQgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudAorUEFTUyBlLnN0
eWxlWydhbmltYXRpb24nXSA9ICI0IDFzIC0zcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpLCBh
bmltIHBhdXNlZCBib3RoIHJldmVyc2UiIHNob3VsZCBzZXQgYW5pbWF0aW9uLW5hbWUKK1BBU1Mg
ZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAz
KSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1hdGlvbi1wbGF5LXN0
YXRlCiBGQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1YmljLWJlemllcigw
LCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNldCBhbmltYXRp
b24tdGltZWxpbmUgYXNzZXJ0X2VxdWFsczogYW5pbWF0aW9uLXRpbWVsaW5lIHNob3VsZCBiZSBj
YW5vbmljYWwgZXhwZWN0ZWQgKHN0cmluZykgImF1dG8sIGF1dG8iIGJ1dCBnb3QgKHVuZGVmaW5l
ZCkgdW5kZWZpbmVkCi1GQUlMIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gIjQgMXMgLTNzIGN1Ymlj
LWJlemllcigwLCAtMiwgMSwgMyksIGFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSIgc2hvdWxkIHNl
dCBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uIGFzc2VydF9lcXVhbHM6IGFuaW1hdGlvbi10aW1p
bmctZnVuY3Rpb24gc2hvdWxkIGJlIGNhbm9uaWNhbCBleHBlY3RlZCAiY3ViaWMtYmV6aWVyKDAs
IC0yLCAxLCAzKSwgZWFzZSIgYnV0IGdvdCAiY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgaW5p
dGlhbCIKK1BBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAtM3MgY3ViaWMtYmV6aWVy
KDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBzaG91bGQgc2V0IGFuaW1h
dGlvbi10aW1pbmctZnVuY3Rpb24KIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiNCAxcyAt
M3MgY3ViaWMtYmV6aWVyKDAsIC0yLCAxLCAzKSwgYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIiBz
aG91bGQgbm90IHNldCB1bnJlbGF0ZWQgbG9uZ2hhbmRzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3Bh
cnNpbmcvYW5pbWF0aW9uLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL3BhcnNpbmcvYW5pbWF0
aW9uLXZhbGlkLWV4cGVjdGVkLnR4dAppbmRleCAwZjFmODdmOTkzMzNhOTFiNjM0MzNhNDRlZDg1
YmVjYzc2Mzk1OGIxLi5lY2I0YjhlNjQ3MTUwZDkyMzI3NTJiZmQwYTRiYmI2OThhNzhmYWIyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9wYXJzaW5nL2FuaW1hdGlvbi12YWxpZC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvcGFyc2luZy9hbmltYXRpb24tdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC05LDUgKzks
NSBAQCBQQVNTIGUuc3R5bGVbJ2FuaW1hdGlvbiddID0gInBhdXNlZCIgc2hvdWxkIHNldCB0aGUg
cHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAibm9uZSIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9uJ10gPSAiYW5p
bSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnYW5pbWF0aW9u
J10gPSAiYW5pbSBwYXVzZWQgYm90aCByZXZlcnNlIDQgMXMgLTNzIGN1YmljLWJlemllcigwLCAt
MiwgMSwgMykiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2Fu
aW1hdGlvbiddID0gImFuaW0gcGF1c2VkIGJvdGggcmV2ZXJzZSwgNCAxcyAtM3MgY3ViaWMtYmV6
aWVyKDAsIC0yLCAxLCAzKSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X2Vx
dWFsczogc2VyaWFsaXphdGlvbiBzaG91bGQgYmUgY2Fub25pY2FsIGV4cGVjdGVkICIwcyBlYXNl
IDBzIDEgcmV2ZXJzZSBib3RoIHBhdXNlZCBhbmltLCAxcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEs
IDMpIC0zcyA0IG5vcm1hbCBub25lIHJ1bm5pbmcgbm9uZSIgYnV0IGdvdCAicmV2ZXJzZSBib3Ro
IHBhdXNlZCBhbmltLCAxcyBjdWJpYy1iZXppZXIoMCwgLTIsIDEsIDMpIC0zcyA0IgorUEFTUyBl
LnN0eWxlWydhbmltYXRpb24nXSA9ICJhbmltIHBhdXNlZCBib3RoIHJldmVyc2UsIDQgMXMgLTNz
IGN1YmljLWJlemllcigwLCAtMiwgMSwgMykiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL3N0eWxlLWFuaW1hdGlvbi1wYXJzaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1h
bmltYXRpb25zL3N0eWxlLWFuaW1hdGlvbi1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCA1MTlj
OTUxZTE2NDM3Mzc1NzE2OTFmNzg1ODE5MzRmYzZjZTk1NWZiLi4wZDE1MzhkZjZlNjE5YzhiNmE4
YTlmZGM0ZWM0MTljZmVkMTJlN2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9zdHlsZS1hbmltYXRpb24t
cGFyc2luZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvc3R5bGUtYW5pbWF0aW9uLXBhcnNpbmct
ZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIFRlc3QgYW5pbWF0aW9uIG5hbWUg
YmVpbmcgZW1wdHkuCiBQQVNTIFRlc3QgYSBub24tY29uZmxpY3RpbmcgYW5pbWF0aW9uIG5hbWUu
Ci1GQUlMIFRlc3QgYW4gYW5pbWF0aW9uIG5hbWUgdGhhdCBpcyB0aGUgc2FtZSBhcyBhIHBvc3Np
YmxlIGFuaW1hdGlvbiBmaWxsLW1vZGUuIGFzc2VydF9lcXVhbHM6IHN0eWxlMS5hbmltYXRpb25O
YW1lIGV4cGVjdGVkICJub25lIiBidXQgZ290ICJpbml0aWFsIgotRkFJTCBUZXN0IGFuIGFuaW1h
dGlvbiBuYW1lIHRoYXQgaXMgdGhlIHNhbWUgYXMgYSBwb3NzaWJsZSBhbmltYXRpb24gZGlyZWN0
aW9uLiBhc3NlcnRfZXF1YWxzOiBzdHlsZTEuYW5pbWF0aW9uTmFtZSBleHBlY3RlZCAibm9uZSIg
YnV0IGdvdCAiaW5pdGlhbCIKLUZBSUwgVGVzdCBhbiBhbmltYXRpb24gbmFtZSB0aGF0IGlzIHRo
ZSBzYW1lIGFzIGEgcG9zc2libGUgcnVubmluZyBzdGF0ZS4gYXNzZXJ0X2VxdWFsczogc3R5bGUx
LmFuaW1hdGlvbk5hbWUgZXhwZWN0ZWQgIm5vbmUiIGJ1dCBnb3QgImluaXRpYWwiCitQQVNTIFRl
c3QgYW4gYW5pbWF0aW9uIG5hbWUgdGhhdCBpcyB0aGUgc2FtZSBhcyBhIHBvc3NpYmxlIGFuaW1h
dGlvbiBmaWxsLW1vZGUuCitQQVNTIFRlc3QgYW4gYW5pbWF0aW9uIG5hbWUgdGhhdCBpcyB0aGUg
c2FtZSBhcyBhIHBvc3NpYmxlIGFuaW1hdGlvbiBkaXJlY3Rpb24uCitQQVNTIFRlc3QgYW4gYW5p
bWF0aW9uIG5hbWUgdGhhdCBpcyB0aGUgc2FtZSBhcyBhIHBvc3NpYmxlIHJ1bm5pbmcgc3RhdGUu
CiAK
</data>
<flag name="review"
          id="473990"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>