<?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>230205</bug_id>
          
          <creation_ts>2021-09-12 11:53:32 -0700</creation_ts>
          <short_desc>[macOS] -toggleAutomaticSpellingCorrection: menu item validation shouldn&apos;t require post-layout editor state</short_desc>
          <delta_ts>2021-09-13 15:50:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792795</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-12 11:53:32 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792798</commentid>
    <comment_count>1</comment_count>
      <attachid>437994</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-12 12:40:15 -0700</bug_when>
    <thetext>Created attachment 437994
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792800</commentid>
    <comment_count>2</comment_count>
      <attachid>437995</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-12 13:04:55 -0700</bug_when>
    <thetext>Created attachment 437995
Fix iOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793064</commentid>
    <comment_count>3</comment_count>
      <attachid>437995</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-13 13:28:12 -0700</bug_when>
    <thetext>Comment on attachment 437995
Fix iOS build

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

&gt; Source/WebCore/editing/AlternativeTextController.cpp:348
&gt; +    } else if (RefPtr editableRoot = position.rootEditableElement()) {
&gt; +        if (is&lt;HTMLElement&gt;(editableRoot) &amp;&amp; !downcast&lt;HTMLElement&gt;(*editableRoot).shouldAutocorrect())
&gt; +            return false;
&gt;      }

This is null checking twice. The old code was doing that too. There are a couple different ways to avoid that. Here’s one:

    } else if (RefPtr editableRoot = position.rootEditableElement(); is&lt;HTMLElement&gt;(editableRoot)) {

Here’s another:

    } else if (RefPtr editableRoot = position.rootEditableElement()) {
        if (is&lt;HTMLElement&gt;(*editableRoot) &amp;&amp; !downcast&lt;HTMLElement&gt;(*editableRoot).shouldAutocorrect())
            return false;
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793070</commentid>
    <comment_count>4</comment_count>
      <attachid>437995</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-13 13:37:13 -0700</bug_when>
    <thetext>Comment on attachment 437995
Fix iOS build

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

Thanks for the review!

&gt;&gt; Source/WebCore/editing/AlternativeTextController.cpp:348
&gt;&gt;      }
&gt; 
&gt; This is null checking twice. The old code was doing that too. There are a couple different ways to avoid that. Here’s one:
&gt; 
&gt;     } else if (RefPtr editableRoot = position.rootEditableElement(); is&lt;HTMLElement&gt;(editableRoot)) {
&gt; 
&gt; Here’s another:
&gt; 
&gt;     } else if (RefPtr editableRoot = position.rootEditableElement()) {
&gt;         if (is&lt;HTMLElement&gt;(*editableRoot) &amp;&amp; !downcast&lt;HTMLElement&gt;(*editableRoot).shouldAutocorrect())
&gt;             return false;
&gt;     }

Good catch — I&apos;ll go with the first option since it&apos;s a bit more succinct, and also move the `!downcast&lt;HTMLElement&gt;(*editableRoot).shouldAutocorrect()` next to the type check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793083</commentid>
    <comment_count>5</comment_count>
      <attachid>438075</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-09-13 13:56:57 -0700</bug_when>
    <thetext>Created attachment 438075
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793130</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-13 15:49:16 -0700</bug_when>
    <thetext>Committed r282370 (241633@main): &lt;https://commits.webkit.org/241633@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438075.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793132</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-13 15:50:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83076301&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437994</attachid>
            <date>2021-09-12 12:40:15 -0700</date>
            <delta_ts>2021-09-12 13:17:02 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-230205-20210912124015.patch</filename>
            <type>text/plain</type>
            <size>18125</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgxMzAyZjI2NzQ2Y2Rj
OTA5YTVlYjUyMjkzYjU3ZDFiOTQ3NjM0Ny4uNzUyOTZlNmUxZGUzYzcwNGU0YjdhYjA0NDEwOTU2
MzIxYzQ2MDE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA5LTEyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gLXRv
Z2dsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjogbWVudSBpdGVtIHZhbGlkYXRpb24gc2hv
dWxkbid0IHJlcXVpcmUgcG9zdC1sYXlvdXQgZWRpdG9yIHN0YXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyMDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgV2ViS2l0IENoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OmNh
bkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbiBjb25zdCk6CisKKyAgICAgICAgU2xp
Z2h0bHkgaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhpcyBtZXRob2QgaW4gdGhlIGNhc2Ug
d2hlcmUgd2UncmUgZm9jdXNpbmcgYSB0ZXh0IGZpZWxkLCBieSBvbmx5CisgICAgICAgIGNvbnN1
bHRpbmcgdGhlIGhvc3QgZm9ybSBjb250cm9sIGVsZW1lbnQsIHJhdGhlciB0aGFuIGJvdGggdGhl
IGZvcm0gY29udHJvbCBhbmQgdGhlIGNvbnRlbnRlZGl0YWJsZSBzaGFkb3cgcm9vdAorICAgICAg
ICBlbGVtZW50LgorCiAyMDIxLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBnZXRDbGllbnRSZWN0cygpIGZvciBTVkcgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggYzczOGI3NWExZjQ1Nzc0N2YzNjE5YTkyYjAwNDYwMDI4ZTBjYmQw
NS4uYzBlNzE4YzAwODdmY2U2OTQwM2Y4YTU5N2IzYjdkYTljNTcwZmVlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1MCBAQAorMjAyMS0wOS0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIC10b2dnbGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJl
Y3Rpb246IG1lbnUgaXRlbSB2YWxpZGF0aW9uIHNob3VsZG4ndCByZXF1aXJlIHBvc3QtbGF5b3V0
IGVkaXRvciBzdGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMwMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIzMDIwNCwgcmVm
YWN0b3IgY29kZSBvbiBtYWNPUyB0aGF0IGRldGVybWluZXMgd2hldGhlciBvciBub3QgdGhlCisg
ICAgICAgICJDb3JyZWN0IFNwZWxsaW5nIEF1dG9tYXRpY2FsbHkiIG1lbnUgYmFyIGl0ZW0gc2hv
dWxkIGJlIGVuYWJsZWQsIHN1Y2ggdGhhdCBpdCBkb2Vzbid0IHJlcXVpcmUgcG9zdC1sYXlvdXQK
KyAgICAgICAgZWRpdG9yIHN0YXRlIGRhdGEuIFRoaXMgaXMgcmVxdWlzaXRlIHRvIGF2b2lkaW5n
IHBvc3QtbGF5b3V0IGVkaXRvciBzdGF0ZSBjb21wdXRhdGlvbiBhbHRvZ2V0aGVyIG9uIG1hY09T
LCB3aGVuCisgICAgICAgIHRoZSB0b3VjaCBiYXIgaXMgZWl0aGVyIHVuYXZhaWxhYmxlLCBvciBo
YXNuJ3QgZXZlciBiZWVuIHNob3duIGluIHRoZSBjb250ZXh0IG9mIHRleHQgZWRpdGluZy4gU2Vl
IGJlbG93IGZvcgorICAgICAgICBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgV2UgYWxzbyB0YWtl
IHRoaXMgb3Bwb3J0dW5pdHkgdG8gcmVtb3ZlIHN1cHBvcnQgZm9yIHRoZSB1bnVzZWQgX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2UgU1BJIHZhbHVlCisgICAgICAgIGluIF9X
S1NlbGVjdGlvbkF0dHJpYnV0ZXMsIHdoaWNoIHdhcyBvcmlnaW5hbGx5IGludGVuZGVkIGZvciB1
c2UgaW4gTWFpbCBjb21wb3NlIGluIFdlYktpdDIgYnV0IHNlZW1zIHRvIGhhdmUKKyAgICAgICAg
YmVlbiBvYnZpYXRlZCBieSB0aGUgYWJpbGl0eSB0byBzd2lwZSBob3Jpem9udGFsbHkgb24gdGhl
IGN1c3RvbSBpbnB1dCBhY2Nlc3NvcnkgdmlldyBpbiBNYWlsIGNvbXBvc2UgdG8gc3dpdGNoCisg
ICAgICAgIGJldHdlZW4gdGV4dCBjYW5kaWRhdGVzIGFuZCB0aGUgdGV4dCBmb3JtYXR0aW5nIG9w
dGlvbnMuCisKKyAgICAgICAgKiBTaGFyZWQvRWRpdG9yU3RhdGUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpFZGl0b3JTdGF0ZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9y
U3RhdGU6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjpQb3N0TGF5b3V0
RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yU3RhdGU6OlBvc3RM
YXlvdXREYXRhOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcjw8KToKKworICAg
ICAgICBSZW1vdmUgdGhlIGBhdFN0YXJ0T2ZTZW50ZW5jZWAgYml0IG9uIEVkaXRvclN0YXRlJ3Mg
cG9zdC1sYXlvdXQgZGF0YSB0aGF0IHdhcyBvbmx5IHVzZWQgdG8gaW1wbGVtZW50IHRoZQorICAg
ICAgICBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSBTUEkgZmxhZyB2YWx1
ZSwgYW5kIGFsc28gbW92ZSB0aGUgYGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bmAKKyAgICAgICAgYml0IG91dCBvZiBwb3N0LWxheW91dCBkYXRhLCBhbmQgaW50byB0aGUgRWRp
dG9yU3RhdGUgc3RydWN0LiBJbXBvcnRhbnRseSwgY29tcHV0aW5nIHRoaXMgYml0IGRvZXMgbm90
IHJlcXVpcmUKKyAgICAgICAgb3IgdHJpZ2dlciBsYXlvdXQsIGFuZCB0aGlzIHJlZmFjdG9yaW5n
IHdpbGwgYWxsb3cgdXMgdG8gY29tcGxldGVseSBmb3JnbyBwb3N0LWxheW91dCBkYXRhIG9uIGNv
bmZpZ3VyYXRpb25zCisgICAgICAgIHRoYXQgZG8gbm90IHJlcXVpcmUgaXQgKGkuZS4gd2hlbiB0
aGUgdGV4dCB0b3VjaCBiYXIgaXMgbm90IGFjdGl2ZSkuCisKKyAgICAgICAgKiBTaGFyZWQvRWRp
dG9yU3RhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToK
KyAgICAgICAgKHNlbGVjdGlvbkF0dHJpYnV0ZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorCisgICAgICAgIFJlbW92ZSBhbiB1bnVzZWQgdmFs
dWUsIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRlbmNlLCBpbiB0aGUgX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlcyBTUEkgZmxhZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnZhbGlkYXRlVXNl
ckludGVyZmFjZUl0ZW0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQ
YWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldFBsYXRmb3JtRWRpdG9y
U3RhdGVDb21tb24gY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JT
dGF0ZSBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlIGNv
bnN0KToKKwogMjAyMS0wOS0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgLVtXS1dlYlZpZXcgX25lZWRzU2l0ZVNw
ZWNpZmljVmlld3BvcnRRdWlya3NdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9B
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCA2OTJkMGQ3NmVmNmRhMzc1ZGMyNmNi
MDZiMWU1MDFlOWY4YWQzNGI2Li5kOThmZjU4MjM4ODBlYmU5OTQxYmVhM2EzZGFjYWE4ZjNjNDFh
Y2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0
Q29udHJvbGxlci5jcHAKQEAgLTMzOSwxNCArMzM5LDEyIEBAIGJvb2wgQWx0ZXJuYXRpdmVUZXh0
Q29udHJvbGxlcjo6Y2FuRW5hYmxlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uKCkgY29uc3QK
IHsKICNpZiBFTkFCTEUoQVVUT0NPUlJFQ1QpCiAgICAgYXV0byBwb3NpdGlvbiA9IG1fZG9jdW1l
bnQuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuc3RhcnQoKTsKLSAgICBpZiAoYXV0byBlZGl0YWJs
ZVJvb3QgPSBwb3NpdGlvbi5yb290RWRpdGFibGVFbGVtZW50KCkpIHsKLSAgICAgICAgaWYgKGlz
PEhUTUxFbGVtZW50PihlZGl0YWJsZVJvb3QpICYmICFkb3duY2FzdDxIVE1MRWxlbWVudD4oKmVk
aXRhYmxlUm9vdCkuc2hvdWxkQXV0b2NvcnJlY3QoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICBpZiAoYXV0byBjb250cm9sID0gZW5jbG9zaW5nVGV4dEZvcm1Db250
cm9sKHBvc2l0aW9uKSkgeworICAgIGlmIChSZWZQdHIgY29udHJvbCA9IGVuY2xvc2luZ1RleHRG
b3JtQ29udHJvbChwb3NpdGlvbikpIHsKICAgICAgICAgaWYgKCFjb250cm9sLT5zaG91bGRBdXRv
Y29ycmVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0gZWxzZSBpZiAoUmVm
UHRyIGVkaXRhYmxlUm9vdCA9IHBvc2l0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkgeworICAg
ICAgICBpZiAoaXM8SFRNTEVsZW1lbnQ+KGVkaXRhYmxlUm9vdCkgJiYgIWRvd25jYXN0PEhUTUxF
bGVtZW50PigqZWRpdGFibGVSb290KS5zaG91bGRBdXRvY29ycmVjdCgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5jcHAKaW5kZXggOWU4NWYyN2UzMjlhNThiYWI2MDI0MjI2ZWJlYTZhYjk1MGFlMGU3ZS4uNjdi
ZDZmMTJhNTU0NzE4OTg0MTM0NmNkYjc1YTg1NTA1ZmY2NzAxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0VkaXRvclN0YXRlLmNwcApAQCAtNDYsNiArNDYsOSBAQCB2b2lkIEVkaXRvclN0YXRlOjplbmNv
ZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgaXNJblBsdWdp
bjsKICAgICBlbmNvZGVyIDw8IGhhc0NvbXBvc2l0aW9uOwogICAgIGVuY29kZXIgPDwgdHJpZ2dl
cmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlOworI2lmIFBMQVRGT1JNKE1BQykKKyAg
ICBlbmNvZGVyIDw8IGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjsKKyNlbmRp
ZgogICAgIGVuY29kZXIgPDwgaXNNaXNzaW5nUG9zdExheW91dERhdGE7CiAgICAgaWYgKCFpc01p
c3NpbmdQb3N0TGF5b3V0RGF0YSkKICAgICAgICAgbV9wb3N0TGF5b3V0RGF0YS5lbmNvZGUoZW5j
b2Rlcik7CkBAIC04OSw2ICs5MiwxMSBAQCBib29sIEVkaXRvclN0YXRlOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBFZGl0b3JTdGF0ZSYgcmVzdWx0KQogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0LnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24pKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CkBAIC0xMzUsNyArMTQzLDYgQEAgdm9pZCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6OmVu
Y29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBoYXNQbGFp
blRleHQ7CiAgICAgZW5jb2RlciA8PCBlZGl0YWJsZVJvb3RJc1RyYW5zcGFyZW50T3JGdWxseUNs
aXBwZWQ7CiAgICAgZW5jb2RlciA8PCBjYXJldENvbG9yOwotICAgIGVuY29kZXIgPDwgYXRTdGFy
dE9mU2VudGVuY2U7CiAgICAgZW5jb2RlciA8PCBzZWxlY3Rpb25TdGFydElzQXRQYXJhZ3JhcGhC
b3VuZGFyeTsKICAgICBlbmNvZGVyIDw8IHNlbGVjdGlvbkVuZElzQXRQYXJhZ3JhcGhCb3VuZGFy
eTsKICNlbmRpZgpAQCAtMTQ0LDcgKzE1MSw2IEBAIHZvaWQgRWRpdG9yU3RhdGU6OlBvc3RMYXlv
dXREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIg
PDwgY2FuZGlkYXRlUmVxdWVzdFN0YXJ0UG9zaXRpb247CiAgICAgZW5jb2RlciA8PCBwYXJhZ3Jh
cGhDb250ZXh0Rm9yQ2FuZGlkYXRlUmVxdWVzdDsKICAgICBlbmNvZGVyIDw8IHN0cmluZ0ZvckNh
bmRpZGF0ZVJlcXVlc3Q7Ci0gICAgZW5jb2RlciA8PCBjYW5FbmFibGVBdXRvbWF0aWNTcGVsbGlu
Z0NvcnJlY3Rpb247CiAjZW5kaWYKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkK
ICAgICBlbmNvZGVyIDw8IHN1cnJvdW5kaW5nQ29udGV4dDsKQEAgLTIxOCw4ICsyMjQsNiBAQCBi
b29sIEVkaXRvclN0YXRlOjpQb3N0TGF5b3V0RGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVj
b2RlciwgUG9zdExheW91dERhdGEmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5jYXJldENvbG9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmF0U3RhcnRPZlNlbnRlbmNlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlbGVjdGlv
blN0YXJ0SXNBdFBhcmFncmFwaEJvdW5kYXJ5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlbGVjdGlvbkVuZElzQXRQYXJhZ3JhcGhCb3Vu
ZGFyeSkpCkBAIC0yMzcsOSArMjQxLDYgQEAgYm9vbCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERh
dGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFBvc3RMYXlvdXREYXRhJgogCiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc3RyaW5nRm9yQ2FuZGlkYXRlUmVxdWVzdCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNh
bkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbikpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0LnN1cnJvdW5kaW5nQ29udGV4dCkpCkBAIC0yODcsNiArMjg4
LDEwIEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEVkaXRv
clN0YXRlJiBlZGl0b3JTdGF0ZSkKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJoYXNDb21wb3Np
dGlvbiIsIGVkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uKTsKICAgICBpZiAoZWRpdG9yU3RhdGUu
dHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKQogICAgICAgICB0cy5kdW1w
UHJvcGVydHkoInRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSIsIGVkaXRv
clN0YXRlLnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSk7CisjaWYgUExB
VEZPUk0oTUFDKQorICAgIGlmICghZWRpdG9yU3RhdGUuY2FuRW5hYmxlQXV0b21hdGljU3BlbGxp
bmdDb3JyZWN0aW9uKQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoImNhbkVuYWJsZUF1dG9tYXRp
Y1NwZWxsaW5nQ29ycmVjdGlvbiIsIGVkaXRvclN0YXRlLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbik7CisjZW5kaWYKICAgICBpZiAoZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9z
dExheW91dERhdGEpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgiaXNNaXNzaW5nUG9zdExheW91
dERhdGEiLCBlZGl0b3JTdGF0ZS5pc01pc3NpbmdQb3N0TGF5b3V0RGF0YSk7CiAKQEAgLTM1Niw4
ICszNjEsNiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBF
ZGl0b3JTdGF0ZSYgZWRpdG9yU3RhdGUpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicGFyYWdy
YXBoQ29udGV4dEZvckNhbmRpZGF0ZVJlcXVlc3QiLCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0
YSgpLnBhcmFncmFwaENvbnRleHRGb3JDYW5kaWRhdGVSZXF1ZXN0KTsKICAgICBpZiAoZWRpdG9y
U3RhdGUucG9zdExheW91dERhdGEoKS5zdHJpbmdGb3JDYW5kaWRhdGVSZXF1ZXN0Lmxlbmd0aCgp
KQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QiLCBl
ZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLnN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QpOwot
ICAgIGlmIChlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVuYWJsZUF1dG9tYXRpY1Nw
ZWxsaW5nQ29ycmVjdGlvbikKLSAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJjYW5FbmFibGVBdXRv
bWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24iLCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNh
bkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbik7CiAjZW5kaWYKIAogICAgIGlmIChl
ZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkN1dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JT
dGF0ZS5oCmluZGV4IGE2NDk4NGI0MWI5OGVhMzY1MGY4Y2EzNzJkOWE0YmM0MjZiZGM4ZjMuLmQy
N2I5NTkyYTE0ODQxZGUwYTQxMDE0ZjZkMDVkN2U2NTU1NWQyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
RWRpdG9yU3RhdGUuaApAQCAtODIsNiArODIsOSBAQCBzdHJ1Y3QgRWRpdG9yU3RhdGUgewogICAg
IGJvb2wgaXNJblBsdWdpbiB7IGZhbHNlIH07CiAgICAgYm9vbCBoYXNDb21wb3NpdGlvbiB7IGZh
bHNlIH07CiAgICAgYm9vbCB0cmlnZ2VyZWRCeUFjY2Vzc2liaWxpdHlTZWxlY3Rpb25DaGFuZ2Ug
eyBmYWxzZSB9OworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIGNhbkVuYWJsZUF1dG9tYXRp
Y1NwZWxsaW5nQ29ycmVjdGlvbiB7IHRydWUgfTsKKyNlbmRpZgogICAgIGJvb2wgaXNNaXNzaW5n
UG9zdExheW91dERhdGEgeyB0cnVlIH07CiAKICAgICBzdHJ1Y3QgUG9zdExheW91dERhdGEgewpA
QCAtMTI3LDcgKzEzMCw2IEBAIHN0cnVjdCBFZGl0b3JTdGF0ZSB7CiAgICAgICAgIHVpbnQ2NF90
IGNhbmRpZGF0ZVJlcXVlc3RTdGFydFBvc2l0aW9uIHsgMCB9OwogICAgICAgICBTdHJpbmcgcGFy
YWdyYXBoQ29udGV4dEZvckNhbmRpZGF0ZVJlcXVlc3Q7CiAgICAgICAgIFN0cmluZyBzdHJpbmdG
b3JDYW5kaWRhdGVSZXF1ZXN0OwotICAgICAgICBib29sIGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbiB7IHRydWUgfTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oV1BFKQogICAgICAgICBTdHJpbmcgc3Vycm91bmRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggODVlNWQzMjIz
MGI1ZWUzMDRjZjIyZTQwYzA4OGE1ZTZlZDA3MTYzOC4uOTlmYzMwOGZhNGFmNTVmYTlmNzcxOWNh
ZjQ5YmJjZjMwMTQ1YWNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC0xNzAzLDE0ICsxNzAzLDYgQEAgc3RhdGljIF9XS1NlbGVjdGlv
bkF0dHJpYnV0ZXMgc2VsZWN0aW9uQXR0cmlidXRlcyhjb25zdCBXZWJLaXQ6OkVkaXRvclN0YXRl
JiBlZGkKICAgICBlbHNlCiAgICAgICAgIGF0dHJpYnV0ZXMgfD0gX1dLU2VsZWN0aW9uQXR0cmli
dXRlSXNDYXJldDsKIAotICAgIGlmICghZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERh
dGEpIHsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoZWRpdG9yU3RhdGUu
cG9zdExheW91dERhdGEoKS5hdFN0YXJ0T2ZTZW50ZW5jZSkKLSAgICAgICAgICAgIGF0dHJpYnV0
ZXMgfD0gX1dLU2VsZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2U7Ci0jZW5kaWYKLSAg
ICB9IGVsc2UgaWYgKHByZXZpb3VzQXR0cmlidXRlcyAmIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0
U3RhcnRPZlNlbnRlbmNlKQotICAgICAgICBhdHRyaWJ1dGVzIHw9IF9XS1NlbGVjdGlvbkF0dHJp
YnV0ZUF0U3RhcnRPZlNlbnRlbmNlOwotCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oCmluZGV4IDM3Y2E0NGNjMzE2Mzc4OWUzYzU3NjZhZjA2M2Q0YTVmNjZlYzMxYmMuLmJlNzI5
MzdlYjFlZDBjNzU5NzI1Yzg1MjMxZDZhYmU0OGFlNmJiYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNjUsNyAr
NjUsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLU2VsZWN0aW9uQXR0cmli
dXRlcykgewogICAgIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZU5vU2VsZWN0aW9uID0gMCwKICAgICBf
V0tTZWxlY3Rpb25BdHRyaWJ1dGVJc0NhcmV0ID0gMSA8PCAwLAogICAgIF9XS1NlbGVjdGlvbkF0
dHJpYnV0ZUlzUmFuZ2UgPSAxIDw8IDEsCi0gICAgX1dLU2VsZWN0aW9uQXR0cmlidXRlQXRTdGFy
dE9mU2VudGVuY2UgPSAxIDw8IDIsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBp
b3MoMTMuMCkpOwogCiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tTaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tCmluZGV4IDQ5NTU0OWUzODJkZjA1ZWIwOGU4MGRmZTIwMzc2MWJhMzA5OWE4YzIu
LjVhMjA0M2ZkNjhiNzg3YmEyYmRjMmM0MTc5OGIxMmQ0ODYyZDc2YjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0zMjQyLDggKzMyNDIsNyBA
QCBib29sIFdlYlZpZXdJbXBsOjp2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtKGlkIDxOU1ZhbGlk
YXRlZFVzZXJJbnRlcmZhY2VJdGVtPiBpdAogICAgIH0KIAogICAgIGlmIChhY3Rpb24gPT0gQHNl
bGVjdG9yKHRvZ2dsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjopKSB7Ci0gICAgICAgIGF1
dG8mIGVkaXRvclN0YXRlID0gbV9wYWdlLT5lZGl0b3JTdGF0ZSgpOwotICAgICAgICBib29sIGVu
YWJsZSA9IGVkaXRvclN0YXRlLmlzQ29udGVudEVkaXRhYmxlICYmIChlZGl0b3JTdGF0ZS5pc01p
c3NpbmdQb3N0TGF5b3V0RGF0YSB8fCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVu
YWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbik7CisgICAgICAgIGJvb2wgZW5hYmxlID0g
bV9wYWdlLT5lZGl0b3JTdGF0ZSgpLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bjsKICAgICAgICAgbWVudUl0ZW0oaXRlbSkuc3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKS5p
c0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQgJiYgZW5hYmxlID8gTlNDb250cm9s
U3RhdGVWYWx1ZU9uIDogTlNDb250cm9sU3RhdGVWYWx1ZU9mZjsKICAgICAgICAgcmV0dXJuIGVu
YWJsZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KaW5kZXggZTliZGQ1N2MxNDkzNDY0ODQyNTNiZTI5Y2Fj
MjhhMjIyOTEzMzA5Ny4uOGM4NWI4NjU3ZWMzYjg0Y2JiMzU5MDMyMGNjNzMyNzEzM2FkN2UyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dl
YlBhZ2VDb2NvYS5tbQpAQCAtMzQ4LDYgKzM0OCw4IEBAIHZvaWQgV2ViUGFnZTo6Z2V0UHJvY2Vz
c0Rpc3BsYXlOYW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nJiYpPiYmIGNvbXBsZXRp
CiAKIHZvaWQgV2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JTdGF0ZUNvbW1vbihjb25zdCBGcmFt
ZSYgZnJhbWUsIEVkaXRvclN0YXRlJiByZXN1bHQpIGNvbnN0CiB7CisgICAgcmVzdWx0LmNhbkVu
YWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbiA9IHJlc3VsdC5pc0NvbnRlbnRFZGl0YWJs
ZSAmJiBmcmFtZS5lZGl0b3IoKS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24o
KTsKKwogICAgIGlmIChyZXN1bHQuaXNNaXNzaW5nUG9zdExheW91dERhdGEpCiAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbQppbmRleCBhNTRjMWFjZDU5NTRjYTc5NzQwZTA1Mzg2ZGVjNmRjMDlmYTJiMmEy
Li5iMzc3ZDY0NGFhZmM1MjY0ZjMwNDZiZDE4MjUwMzY5YjY2ODAwZWIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMzMz
LDcgKzMzMyw2IEBAIHZvaWQgV2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JTdGF0ZShGcmFtZSYg
ZnJhbWUsIEVkaXRvclN0YXRlJiByZXN1bHQpIGNvbnN0CiAgICAgfQogI2VuZGlmCiAKLSAgICBw
b3N0TGF5b3V0RGF0YS5hdFN0YXJ0T2ZTZW50ZW5jZSA9IGZyYW1lLnNlbGVjdGlvbigpLnNlbGVj
dGlvbkF0U2VudGVuY2VTdGFydCgpOwogICAgIHBvc3RMYXlvdXREYXRhLmluc2lkZUZpeGVkUG9z
aXRpb24gPSBzdGFydE5vZGVJc0luc2lkZUZpeGVkUG9zaXRpb24gfHwgZW5kTm9kZUlzSW5zaWRl
Rml4ZWRQb3NpdGlvbjsKICAgICBpZiAoIXNlbGVjdGlvbi5pc05vbmUoKSkgewogICAgICAgICBp
ZiAoc2VsZWN0aW9uLmhhc0VkaXRhYmxlU3R5bGUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCBmMzljODI5Nzg3OTQ2
YmMzOTI5ZGE5NmIxZTkzMWM4YmI4NGViNzRiLi4wNDRkMjE5Y2VlMTY0MmJiNmFjNTE5MWIyYmEx
YTVhZjg3ODg3NzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtMTY3LDcgKzE2Nyw2IEBAIHZvaWQgV2ViUGFnZTo6Z2V0
UGxhdGZvcm1FZGl0b3JTdGF0ZShGcmFtZSYgZnJhbWUsIEVkaXRvclN0YXRlJiByZXN1bHQpIGNv
bnN0CiAgICAgcG9zdExheW91dERhdGEuc2VsZWN0ZWRUZXh0TGVuZ3RoID0gY2hhcmFjdGVyQ291
bnQoeyAqc2VsZWN0aW9uU3RhcnRCb3VuZGFyeSwgKnNlbGVjdGlvbkVuZCB9KTsKICAgICBwb3N0
TGF5b3V0RGF0YS5wYXJhZ3JhcGhDb250ZXh0Rm9yQ2FuZGlkYXRlUmVxdWVzdCA9IGNvbnRleHRS
YW5nZUZvckNhbmRpZGF0ZVJlcXVlc3QgPyBwbGFpblRleHQoKmNvbnRleHRSYW5nZUZvckNhbmRp
ZGF0ZVJlcXVlc3QpIDogU3RyaW5nKCk7CiAgICAgcG9zdExheW91dERhdGEuc3RyaW5nRm9yQ2Fu
ZGlkYXRlUmVxdWVzdCA9IGZyYW1lLmVkaXRvcigpLnN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3Qo
KTsKLSAgICBwb3N0TGF5b3V0RGF0YS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rp
b24gPSBmcmFtZS5lZGl0b3IoKS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24o
KTsKIAogICAgIGF1dG8gcXVhZHMgPSBSZW5kZXJPYmplY3Q6OmFic29sdXRlVGV4dFF1YWRzKCpz
ZWxlY3RlZFJhbmdlKTsKICAgICBpZiAoIXF1YWRzLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmM2UxMDIxZTJiOWIwNDg3MTFm
OTY4MmJiODhhMDQwNDUyZDViM2VkLi43NjEyZTE5NTViOTdhOTY0MDY5ZTdiYzZkYTdlNTU5MDg3
ZTU2ZWI0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDktMTIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSAtdG9nZ2xlQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uOiBtZW51IGl0ZW0gdmFsaWRhdGlvbiBzaG91bGRuJ3QgcmVxdWlyZSBwb3N0LWxh
eW91dCBlZGl0b3Igc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMDIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0VkaXRvclN0YXRlVGVzdHMubW06
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wOS0xMCAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4gbGxkYiBzdW1t
YXJ5IHByb3ZpZGVyIGZvciB0aGUgV2ViQ29yZTo6TGVuZ3RoIHR5cGUKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRWRpdG9yU3RhdGVUZXN0cy5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRWRpdG9yU3RhdGVUZXN0cy5t
bQppbmRleCA2M2EwNzA1MzhjYmExYWQ1MTk1MDU0YzE1MWVhNWI5MzI4OTJlMjg2Li5jNDFhMjhk
MDUxOTBmNTQyYTFkY2RlYTEyM2QzZDMzMTU3NzU5MTBlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0VkaXRvclN0YXRlVGVzdHMubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FZGl0b3JTdGF0ZVRlc3RzLm1tCkBA
IC0zNzIsMjggKzM3MiwyOCBAQCBURVNUKEVkaXRvclN0YXRlVGVzdHMsIE9ic2VydmVTZWxlY3Rp
b25BdHRyaWJ1dGVDaGFuZ2VzKQogCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQuYm9keS5mb2N1cygpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAgIFt3ZWJW
aWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKLSAgICBFWFBFQ1RfRVEoX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNl
bnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKKyAgICBFWFBF
Q1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwgW29ic2VydmVyIGN1cnJlbnRTZWxl
Y3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIGluc2VydFRleHQ6QCJIZWxsbyJdOwog
ICAgIEVYUEVDVF9FUShfV0tTZWxlY3Rpb25BdHRyaWJ1dGVJc0NhcmV0LCBbb2JzZXJ2ZXIgY3Vy
cmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKIAogICAgIFtlZGl0b3IgaW5zZXJ0VGV4dDpAIi4i
XTsKLSAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVj
dGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlv
bkF0dHJpYnV0ZXNdKTsKKyAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJl
dCwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9y
IG1vdmVCYWNrd2FyZF07CiAgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzQ2Fy
ZXQsIFtvYnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAgICAgW2VkaXRv
ciBtb3ZlRm9yd2FyZF07Ci0gICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzQ2Fy
ZXQgfCBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSwgW29ic2VydmVyIGN1
cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CisgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0
dHJpYnV0ZUlzQ2FyZXQsIFtvYnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwog
CiAgICAgW2VkaXRvciBkZWxldGVCYWNrd2FyZHNdOwogICAgIEVYUEVDVF9FUShfV0tTZWxlY3Rp
b25BdHRyaWJ1dGVJc0NhcmV0LCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNd
KTsKIAogICAgIFtlZGl0b3IgaW5zZXJ0UGFyYWdyYXBoXTsKLSAgICBFWFBFQ1RfRVEoX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNl
bnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKKyAgICBFWFBF
Q1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwgW29ic2VydmVyIGN1cnJlbnRTZWxl
Y3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIHNlbGVjdEFsbF07Ci0gICAgRVhQRUNU
X0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFuZ2UgfCBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVB
dFN0YXJ0T2ZTZW50ZW5jZSwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7
CisgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFuZ2UsIFtvYnNlcnZlciBj
dXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCkiIGNvbXBsZXRpb25IYW5k
bGVyOm5pbF07CiAgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOwo=
</data>
<flag name="commit-queue"
          id="461286"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437995</attachid>
            <date>2021-09-12 13:04:55 -0700</date>
            <delta_ts>2021-09-13 13:28:12 -0700</delta_ts>
            <desc>Fix iOS build</desc>
            <filename>bug-230205-20210912130454.patch</filename>
            <type>text/plain</type>
            <size>17621</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgxMzAyZjI2NzQ2Y2Rj
OTA5YTVlYjUyMjkzYjU3ZDFiOTQ3NjM0Ny4uNzUyOTZlNmUxZGUzYzcwNGU0YjdhYjA0NDEwOTU2
MzIxYzQ2MDE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA5LTEyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gLXRv
Z2dsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjogbWVudSBpdGVtIHZhbGlkYXRpb24gc2hv
dWxkbid0IHJlcXVpcmUgcG9zdC1sYXlvdXQgZWRpdG9yIHN0YXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyMDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgV2ViS2l0IENoYW5nZUxvZyBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OmNh
bkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbiBjb25zdCk6CisKKyAgICAgICAgU2xp
Z2h0bHkgaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhpcyBtZXRob2QgaW4gdGhlIGNhc2Ug
d2hlcmUgd2UncmUgZm9jdXNpbmcgYSB0ZXh0IGZpZWxkLCBieSBvbmx5CisgICAgICAgIGNvbnN1
bHRpbmcgdGhlIGhvc3QgZm9ybSBjb250cm9sIGVsZW1lbnQsIHJhdGhlciB0aGFuIGJvdGggdGhl
IGZvcm0gY29udHJvbCBhbmQgdGhlIGNvbnRlbnRlZGl0YWJsZSBzaGFkb3cgcm9vdAorICAgICAg
ICBlbGVtZW50LgorCiAyMDIxLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBnZXRDbGllbnRSZWN0cygpIGZvciBTVkcgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggYzczOGI3NWExZjQ1Nzc0N2YzNjE5YTkyYjAwNDYwMDI4ZTBjYmQw
NS4uNmQ4ZDFkZTc5MmY3MTkzN2NlMWZiZGRjMzM2NDU0NWZjYjk5MjExMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0OCBAQAorMjAyMS0wOS0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIC10b2dnbGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJl
Y3Rpb246IG1lbnUgaXRlbSB2YWxpZGF0aW9uIHNob3VsZG4ndCByZXF1aXJlIHBvc3QtbGF5b3V0
IGVkaXRvciBzdGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMwMjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW4gcHJlcGFyYXRpb24gZm9yIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIzMDIwNCwgcmVm
YWN0b3IgY29kZSBvbiBtYWNPUyB0aGF0IGRldGVybWluZXMgd2hldGhlciBvciBub3QgdGhlCisg
ICAgICAgICJDb3JyZWN0IFNwZWxsaW5nIEF1dG9tYXRpY2FsbHkiIG1lbnUgYmFyIGl0ZW0gc2hv
dWxkIGJlIGVuYWJsZWQsIHN1Y2ggdGhhdCBpdCBkb2Vzbid0IHJlcXVpcmUgcG9zdC1sYXlvdXQK
KyAgICAgICAgZWRpdG9yIHN0YXRlIGRhdGEuIFRoaXMgaXMgcmVxdWlzaXRlIHRvIGF2b2lkaW5n
IHBvc3QtbGF5b3V0IGVkaXRvciBzdGF0ZSBjb21wdXRhdGlvbiBhbHRvZ2V0aGVyIG9uIG1hY09T
LCB3aGVuCisgICAgICAgIHRoZSB0b3VjaCBiYXIgaXMgZWl0aGVyIHVuYXZhaWxhYmxlLCBvciBo
YXNuJ3QgZXZlciBiZWVuIHNob3duIGluIHRoZSBjb250ZXh0IG9mIHRleHQgZWRpdGluZy4gU2Vl
IGJlbG93IGZvcgorICAgICAgICBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgV2UgYWxzbyB0YWtl
IHRoaXMgb3Bwb3J0dW5pdHkgdG8gcmVtb3ZlIHN1cHBvcnQgZm9yIHRoZSB1bnVzZWQgX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2UgU1BJIHZhbHVlCisgICAgICAgIGluIF9X
S1NlbGVjdGlvbkF0dHJpYnV0ZXMsIHdoaWNoIHdhcyBvcmlnaW5hbGx5IGludGVuZGVkIGZvciB1
c2UgaW4gTWFpbCBjb21wb3NlIGluIFdlYktpdDIgYnV0IHNlZW1zIHRvIGhhdmUKKyAgICAgICAg
YmVlbiBvYnZpYXRlZCBieSB0aGUgYWJpbGl0eSB0byBzd2lwZSBob3Jpem9udGFsbHkgb24gdGhl
IGN1c3RvbSBpbnB1dCBhY2Nlc3NvcnkgdmlldyBpbiBNYWlsIGNvbXBvc2UgdG8gc3dpdGNoCisg
ICAgICAgIGJldHdlZW4gdGV4dCBjYW5kaWRhdGVzIGFuZCB0aGUgdGV4dCBmb3JtYXR0aW5nIG9w
dGlvbnMuCisKKyAgICAgICAgKiBTaGFyZWQvRWRpdG9yU3RhdGUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpFZGl0b3JTdGF0ZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9y
U3RhdGU6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjpQb3N0TGF5b3V0
RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yU3RhdGU6OlBvc3RM
YXlvdXREYXRhOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcjw8KToKKworICAg
ICAgICBSZW1vdmUgdGhlIGBhdFN0YXJ0T2ZTZW50ZW5jZWAgYml0IG9uIEVkaXRvclN0YXRlJ3Mg
cG9zdC1sYXlvdXQgZGF0YSB0aGF0IHdhcyBvbmx5IHVzZWQgdG8gaW1wbGVtZW50IHRoZQorICAg
ICAgICBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSBTUEkgZmxhZyB2YWx1
ZSwgYW5kIGFsc28gbW92ZSB0aGUgYGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bmAKKyAgICAgICAgYml0IG91dCBvZiBwb3N0LWxheW91dCBkYXRhLCBhbmQgaW50byB0aGUgRWRp
dG9yU3RhdGUgc3RydWN0LiBJbXBvcnRhbnRseSwgY29tcHV0aW5nIHRoaXMgYml0IGRvZXMgbm90
IHJlcXVpcmUKKyAgICAgICAgb3IgdHJpZ2dlciBsYXlvdXQsIGFuZCB0aGlzIHJlZmFjdG9yaW5n
IHdpbGwgYWxsb3cgdXMgdG8gY29tcGxldGVseSBmb3JnbyBwb3N0LWxheW91dCBkYXRhIG9uIGNv
bmZpZ3VyYXRpb25zCisgICAgICAgIHRoYXQgZG8gbm90IHJlcXVpcmUgaXQgKGkuZS4gd2hlbiB0
aGUgdGV4dCB0b3VjaCBiYXIgaXMgbm90IGFjdGl2ZSkuCisKKyAgICAgICAgKiBTaGFyZWQvRWRp
dG9yU3RhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToK
KyAgICAgICAgKHNlbGVjdGlvbkF0dHJpYnV0ZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorCisgICAgICAgIFJlbW92ZSBhbiB1bnVzZWQgdmFs
dWUsIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRlbmNlLCBpbiB0aGUgX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlcyBTUEkgZmxhZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnZhbGlkYXRlVXNl
ckludGVyZmFjZUl0ZW0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JTdGF0
ZSBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlIGNvbnN0
KToKKwogMjAyMS0wOS0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3IgLVtXS1dlYlZpZXcgX25lZWRzU2l0ZVNwZWNp
ZmljVmlld3BvcnRRdWlya3NdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Fs
dGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRl
cm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCA2OTJkMGQ3NmVmNmRhMzc1ZGMyNmNiMDZi
MWU1MDFlOWY4YWQzNGI2Li5kOThmZjU4MjM4ODBlYmU5OTQxYmVhM2EzZGFjYWE4ZjNjNDFhY2Qx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29u
dHJvbGxlci5jcHAKQEAgLTMzOSwxNCArMzM5LDEyIEBAIGJvb2wgQWx0ZXJuYXRpdmVUZXh0Q29u
dHJvbGxlcjo6Y2FuRW5hYmxlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uKCkgY29uc3QKIHsK
ICNpZiBFTkFCTEUoQVVUT0NPUlJFQ1QpCiAgICAgYXV0byBwb3NpdGlvbiA9IG1fZG9jdW1lbnQu
c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuc3RhcnQoKTsKLSAgICBpZiAoYXV0byBlZGl0YWJsZVJv
b3QgPSBwb3NpdGlvbi5yb290RWRpdGFibGVFbGVtZW50KCkpIHsKLSAgICAgICAgaWYgKGlzPEhU
TUxFbGVtZW50PihlZGl0YWJsZVJvb3QpICYmICFkb3duY2FzdDxIVE1MRWxlbWVudD4oKmVkaXRh
YmxlUm9vdCkuc2hvdWxkQXV0b2NvcnJlY3QoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICB9Ci0KLSAgICBpZiAoYXV0byBjb250cm9sID0gZW5jbG9zaW5nVGV4dEZvcm1Db250cm9s
KHBvc2l0aW9uKSkgeworICAgIGlmIChSZWZQdHIgY29udHJvbCA9IGVuY2xvc2luZ1RleHRGb3Jt
Q29udHJvbChwb3NpdGlvbikpIHsKICAgICAgICAgaWYgKCFjb250cm9sLT5zaG91bGRBdXRvY29y
cmVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0gZWxzZSBpZiAoUmVmUHRy
IGVkaXRhYmxlUm9vdCA9IHBvc2l0aW9uLnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkgeworICAgICAg
ICBpZiAoaXM8SFRNTEVsZW1lbnQ+KGVkaXRhYmxlUm9vdCkgJiYgIWRvd25jYXN0PEhUTUxFbGVt
ZW50PigqZWRpdGFibGVSb290KS5zaG91bGRBdXRvY29ycmVjdCgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9FZGl0b3JTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5j
cHAKaW5kZXggOWU4NWYyN2UzMjlhNThiYWI2MDI0MjI2ZWJlYTZhYjk1MGFlMGU3ZS4uNjdiZDZm
MTJhNTU0NzE4OTg0MTM0NmNkYjc1YTg1NTA1ZmY2NzAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Vk
aXRvclN0YXRlLmNwcApAQCAtNDYsNiArNDYsOSBAQCB2b2lkIEVkaXRvclN0YXRlOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgaXNJblBsdWdpbjsK
ICAgICBlbmNvZGVyIDw8IGhhc0NvbXBvc2l0aW9uOwogICAgIGVuY29kZXIgPDwgdHJpZ2dlcmVk
QnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlOworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBl
bmNvZGVyIDw8IGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjsKKyNlbmRpZgog
ICAgIGVuY29kZXIgPDwgaXNNaXNzaW5nUG9zdExheW91dERhdGE7CiAgICAgaWYgKCFpc01pc3Np
bmdQb3N0TGF5b3V0RGF0YSkKICAgICAgICAgbV9wb3N0TGF5b3V0RGF0YS5lbmNvZGUoZW5jb2Rl
cik7CkBAIC04OSw2ICs5MiwxMSBAQCBib29sIEVkaXRvclN0YXRlOjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyLCBFZGl0b3JTdGF0ZSYgcmVzdWx0KQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24pKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0LmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBA
IC0xMzUsNyArMTQzLDYgQEAgdm9pZCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBoYXNQbGFpblRl
eHQ7CiAgICAgZW5jb2RlciA8PCBlZGl0YWJsZVJvb3RJc1RyYW5zcGFyZW50T3JGdWxseUNsaXBw
ZWQ7CiAgICAgZW5jb2RlciA8PCBjYXJldENvbG9yOwotICAgIGVuY29kZXIgPDwgYXRTdGFydE9m
U2VudGVuY2U7CiAgICAgZW5jb2RlciA8PCBzZWxlY3Rpb25TdGFydElzQXRQYXJhZ3JhcGhCb3Vu
ZGFyeTsKICAgICBlbmNvZGVyIDw8IHNlbGVjdGlvbkVuZElzQXRQYXJhZ3JhcGhCb3VuZGFyeTsK
ICNlbmRpZgpAQCAtMTQ0LDcgKzE1MSw2IEBAIHZvaWQgRWRpdG9yU3RhdGU6OlBvc3RMYXlvdXRE
YXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwg
Y2FuZGlkYXRlUmVxdWVzdFN0YXJ0UG9zaXRpb247CiAgICAgZW5jb2RlciA8PCBwYXJhZ3JhcGhD
b250ZXh0Rm9yQ2FuZGlkYXRlUmVxdWVzdDsKICAgICBlbmNvZGVyIDw8IHN0cmluZ0ZvckNhbmRp
ZGF0ZVJlcXVlc3Q7Ci0gICAgZW5jb2RlciA8PCBjYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0Nv
cnJlY3Rpb247CiAjZW5kaWYKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAg
ICBlbmNvZGVyIDw8IHN1cnJvdW5kaW5nQ29udGV4dDsKQEAgLTIxOCw4ICsyMjQsNiBAQCBib29s
IEVkaXRvclN0YXRlOjpQb3N0TGF5b3V0RGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2Rl
ciwgUG9zdExheW91dERhdGEmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5jYXJldENvbG9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmF0U3RhcnRPZlNlbnRlbmNlKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlbGVjdGlvblN0
YXJ0SXNBdFBhcmFncmFwaEJvdW5kYXJ5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlbGVjdGlvbkVuZElzQXRQYXJhZ3JhcGhCb3VuZGFy
eSkpCkBAIC0yMzcsOSArMjQxLDYgQEAgYm9vbCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6
OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFBvc3RMYXlvdXREYXRhJgogCiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc3RyaW5nRm9yQ2FuZGlkYXRlUmVxdWVzdCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNhbkVu
YWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnN1cnJvdW5kaW5nQ29udGV4dCkpCkBAIC0yODcsNiArMjg4LDEw
IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEVkaXRvclN0
YXRlJiBlZGl0b3JTdGF0ZSkKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJoYXNDb21wb3NpdGlv
biIsIGVkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uKTsKICAgICBpZiAoZWRpdG9yU3RhdGUudHJp
Z2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKQogICAgICAgICB0cy5kdW1wUHJv
cGVydHkoInRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSIsIGVkaXRvclN0
YXRlLnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSk7CisjaWYgUExBVEZP
Uk0oTUFDKQorICAgIGlmICghZWRpdG9yU3RhdGUuY2FuRW5hYmxlQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uKQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoImNhbkVuYWJsZUF1dG9tYXRpY1Nw
ZWxsaW5nQ29ycmVjdGlvbiIsIGVkaXRvclN0YXRlLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5n
Q29ycmVjdGlvbik7CisjZW5kaWYKICAgICBpZiAoZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExh
eW91dERhdGEpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgiaXNNaXNzaW5nUG9zdExheW91dERh
dGEiLCBlZGl0b3JTdGF0ZS5pc01pc3NpbmdQb3N0TGF5b3V0RGF0YSk7CiAKQEAgLTM1Niw4ICsz
NjEsNiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBFZGl0
b3JTdGF0ZSYgZWRpdG9yU3RhdGUpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicGFyYWdyYXBo
Q29udGV4dEZvckNhbmRpZGF0ZVJlcXVlc3QiLCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgp
LnBhcmFncmFwaENvbnRleHRGb3JDYW5kaWRhdGVSZXF1ZXN0KTsKICAgICBpZiAoZWRpdG9yU3Rh
dGUucG9zdExheW91dERhdGEoKS5zdHJpbmdGb3JDYW5kaWRhdGVSZXF1ZXN0Lmxlbmd0aCgpKQog
ICAgICAgICB0cy5kdW1wUHJvcGVydHkoInN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QiLCBlZGl0
b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLnN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QpOwotICAg
IGlmIChlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbikKLSAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJjYW5FbmFibGVBdXRvbWF0
aWNTcGVsbGluZ0NvcnJlY3Rpb24iLCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVu
YWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbik7CiAjZW5kaWYKIAogICAgIGlmIChlZGl0
b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkN1dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0VkaXRvclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5oCmluZGV4IGE2NDk4NGI0MWI5OGVhMzY1MGY4Y2EzNzJkOWE0YmM0MjZiZGM4ZjMuLmQyN2I5
NTkyYTE0ODQxZGUwYTQxMDE0ZjZkMDVkN2U2NTU1NWQyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRp
dG9yU3RhdGUuaApAQCAtODIsNiArODIsOSBAQCBzdHJ1Y3QgRWRpdG9yU3RhdGUgewogICAgIGJv
b2wgaXNJblBsdWdpbiB7IGZhbHNlIH07CiAgICAgYm9vbCBoYXNDb21wb3NpdGlvbiB7IGZhbHNl
IH07CiAgICAgYm9vbCB0cmlnZ2VyZWRCeUFjY2Vzc2liaWxpdHlTZWxlY3Rpb25DaGFuZ2UgeyBm
YWxzZSB9OworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIGNhbkVuYWJsZUF1dG9tYXRpY1Nw
ZWxsaW5nQ29ycmVjdGlvbiB7IHRydWUgfTsKKyNlbmRpZgogICAgIGJvb2wgaXNNaXNzaW5nUG9z
dExheW91dERhdGEgeyB0cnVlIH07CiAKICAgICBzdHJ1Y3QgUG9zdExheW91dERhdGEgewpAQCAt
MTI3LDcgKzEzMCw2IEBAIHN0cnVjdCBFZGl0b3JTdGF0ZSB7CiAgICAgICAgIHVpbnQ2NF90IGNh
bmRpZGF0ZVJlcXVlc3RTdGFydFBvc2l0aW9uIHsgMCB9OwogICAgICAgICBTdHJpbmcgcGFyYWdy
YXBoQ29udGV4dEZvckNhbmRpZGF0ZVJlcXVlc3Q7CiAgICAgICAgIFN0cmluZyBzdHJpbmdGb3JD
YW5kaWRhdGVSZXF1ZXN0OwotICAgICAgICBib29sIGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5n
Q29ycmVjdGlvbiB7IHRydWUgfTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oV1BFKQogICAgICAgICBTdHJpbmcgc3Vycm91bmRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggODVlNWQzMjIzMGI1
ZWUzMDRjZjIyZTQwYzA4OGE1ZTZlZDA3MTYzOC4uOTlmYzMwOGZhNGFmNTVmYTlmNzcxOWNhZjQ5
YmJjZjMwMTQ1YWNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCkBAIC0xNzAzLDE0ICsxNzAzLDYgQEAgc3RhdGljIF9XS1NlbGVjdGlvbkF0
dHJpYnV0ZXMgc2VsZWN0aW9uQXR0cmlidXRlcyhjb25zdCBXZWJLaXQ6OkVkaXRvclN0YXRlJiBl
ZGkKICAgICBlbHNlCiAgICAgICAgIGF0dHJpYnV0ZXMgfD0gX1dLU2VsZWN0aW9uQXR0cmlidXRl
SXNDYXJldDsKIAotICAgIGlmICghZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEp
IHsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoZWRpdG9yU3RhdGUucG9z
dExheW91dERhdGEoKS5hdFN0YXJ0T2ZTZW50ZW5jZSkKLSAgICAgICAgICAgIGF0dHJpYnV0ZXMg
fD0gX1dLU2VsZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2U7Ci0jZW5kaWYKLSAgICB9
IGVsc2UgaWYgKHByZXZpb3VzQXR0cmlidXRlcyAmIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3Rh
cnRPZlNlbnRlbmNlKQotICAgICAgICBhdHRyaWJ1dGVzIHw9IF9XS1NlbGVjdGlvbkF0dHJpYnV0
ZUF0U3RhcnRPZlNlbnRlbmNlOwotCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CmluZGV4IDM3Y2E0NGNjMzE2Mzc4OWUzYzU3NjZhZjA2M2Q0YTVmNjZlYzMxYmMuLmJlNzI5Mzdl
YjFlZDBjNzU5NzI1Yzg1MjMxZDZhYmU0OGFlNmJiYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNjUsNyArNjUs
NiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLU2VsZWN0aW9uQXR0cmlidXRl
cykgewogICAgIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZU5vU2VsZWN0aW9uID0gMCwKICAgICBfV0tT
ZWxlY3Rpb25BdHRyaWJ1dGVJc0NhcmV0ID0gMSA8PCAwLAogICAgIF9XS1NlbGVjdGlvbkF0dHJp
YnV0ZUlzUmFuZ2UgPSAxIDw8IDEsCi0gICAgX1dLU2VsZWN0aW9uQXR0cmlidXRlQXRTdGFydE9m
U2VudGVuY2UgPSAxIDw8IDIsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3Mo
MTMuMCkpOwogCiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLm1tCmluZGV4IDQ5NTU0OWUzODJkZjA1ZWIwOGU4MGRmZTIwMzc2MWJhMzA5OWE4YzIuLjVh
MjA0M2ZkNjhiNzg3YmEyYmRjMmM0MTc5OGIxMmQ0ODYyZDc2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0zMjQyLDggKzMyNDIsNyBAQCBi
b29sIFdlYlZpZXdJbXBsOjp2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtKGlkIDxOU1ZhbGlkYXRl
ZFVzZXJJbnRlcmZhY2VJdGVtPiBpdAogICAgIH0KIAogICAgIGlmIChhY3Rpb24gPT0gQHNlbGVj
dG9yKHRvZ2dsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjopKSB7Ci0gICAgICAgIGF1dG8m
IGVkaXRvclN0YXRlID0gbV9wYWdlLT5lZGl0b3JTdGF0ZSgpOwotICAgICAgICBib29sIGVuYWJs
ZSA9IGVkaXRvclN0YXRlLmlzQ29udGVudEVkaXRhYmxlICYmIChlZGl0b3JTdGF0ZS5pc01pc3Np
bmdQb3N0TGF5b3V0RGF0YSB8fCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVuYWJs
ZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbik7CisgICAgICAgIGJvb2wgZW5hYmxlID0gbV9w
YWdlLT5lZGl0b3JTdGF0ZSgpLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjsK
ICAgICAgICAgbWVudUl0ZW0oaXRlbSkuc3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKS5pc0F1
dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQgJiYgZW5hYmxlID8gTlNDb250cm9sU3Rh
dGVWYWx1ZU9uIDogTlNDb250cm9sU3RhdGVWYWx1ZU9mZjsKICAgICAgICAgcmV0dXJuIGVuYWJs
ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tCmluZGV4IGE1NGMxYWNkNTk1NGNhNzk3NDBlMDUzODZkZWM2ZGMwOWZhMmIy
YTIuLmIzNzdkNjQ0YWFmYzUyNjRmMzA0NmJkMTgyNTAzNjliNjY4MDBlYjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0z
MzMsNyArMzMzLDYgQEAgdm9pZCBXZWJQYWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlKEZyYW1l
JiBmcmFtZSwgRWRpdG9yU3RhdGUmIHJlc3VsdCkgY29uc3QKICAgICB9CiAjZW5kaWYKIAotICAg
IHBvc3RMYXlvdXREYXRhLmF0U3RhcnRPZlNlbnRlbmNlID0gZnJhbWUuc2VsZWN0aW9uKCkuc2Vs
ZWN0aW9uQXRTZW50ZW5jZVN0YXJ0KCk7CiAgICAgcG9zdExheW91dERhdGEuaW5zaWRlRml4ZWRQ
b3NpdGlvbiA9IHN0YXJ0Tm9kZUlzSW5zaWRlRml4ZWRQb3NpdGlvbiB8fCBlbmROb2RlSXNJbnNp
ZGVGaXhlZFBvc2l0aW9uOwogICAgIGlmICghc2VsZWN0aW9uLmlzTm9uZSgpKSB7CiAgICAgICAg
IGlmIChzZWxlY3Rpb24uaGFzRWRpdGFibGVTdHlsZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCmluZGV4IGYzOWM4Mjk3ODc5
NDZiYzM5MjlkYTk2YjFlOTMxYzhiYjg0ZWI3NGIuLjA5NmZiMjEyODE2NGM5MWJlNjllNTA5MGJl
NmVlZTc3MWFlNTllZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tCkBAIC0xNDQsNiArMTQ0LDggQEAgdm9pZCBXZWJQYWdlOjpn
ZXRQbGF0Zm9ybUVkaXRvclN0YXRlKEZyYW1lJiBmcmFtZSwgRWRpdG9yU3RhdGUmIHJlc3VsdCkg
Y29uc3QKIHsKICAgICBnZXRQbGF0Zm9ybUVkaXRvclN0YXRlQ29tbW9uKGZyYW1lLCByZXN1bHQp
OwogCisgICAgcmVzdWx0LmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbiA9IHJl
c3VsdC5pc0NvbnRlbnRFZGl0YWJsZSAmJiBmcmFtZS5lZGl0b3IoKS5jYW5FbmFibGVBdXRvbWF0
aWNTcGVsbGluZ0NvcnJlY3Rpb24oKTsKKwogICAgIGlmIChyZXN1bHQuaXNNaXNzaW5nUG9zdExh
eW91dERhdGEpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTY3LDcgKzE2OSw2IEBAIHZvaWQgV2Vi
UGFnZTo6Z2V0UGxhdGZvcm1FZGl0b3JTdGF0ZShGcmFtZSYgZnJhbWUsIEVkaXRvclN0YXRlJiBy
ZXN1bHQpIGNvbnN0CiAgICAgcG9zdExheW91dERhdGEuc2VsZWN0ZWRUZXh0TGVuZ3RoID0gY2hh
cmFjdGVyQ291bnQoeyAqc2VsZWN0aW9uU3RhcnRCb3VuZGFyeSwgKnNlbGVjdGlvbkVuZCB9KTsK
ICAgICBwb3N0TGF5b3V0RGF0YS5wYXJhZ3JhcGhDb250ZXh0Rm9yQ2FuZGlkYXRlUmVxdWVzdCA9
IGNvbnRleHRSYW5nZUZvckNhbmRpZGF0ZVJlcXVlc3QgPyBwbGFpblRleHQoKmNvbnRleHRSYW5n
ZUZvckNhbmRpZGF0ZVJlcXVlc3QpIDogU3RyaW5nKCk7CiAgICAgcG9zdExheW91dERhdGEuc3Ry
aW5nRm9yQ2FuZGlkYXRlUmVxdWVzdCA9IGZyYW1lLmVkaXRvcigpLnN0cmluZ0ZvckNhbmRpZGF0
ZVJlcXVlc3QoKTsKLSAgICBwb3N0TGF5b3V0RGF0YS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGlu
Z0NvcnJlY3Rpb24gPSBmcmFtZS5lZGl0b3IoKS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0Nv
cnJlY3Rpb24oKTsKIAogICAgIGF1dG8gcXVhZHMgPSBSZW5kZXJPYmplY3Q6OmFic29sdXRlVGV4
dFF1YWRzKCpzZWxlY3RlZFJhbmdlKTsKICAgICBpZiAoIXF1YWRzLmlzRW1wdHkoKSkKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmM2UxMDIxZTJi
OWIwNDg3MTFmOTY4MmJiODhhMDQwNDUyZDViM2VkLi43NjEyZTE5NTViOTdhOTY0MDY5ZTdiYzZk
YTdlNTU5MDg3ZTU2ZWI0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDktMTIgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSAtdG9nZ2xlQXV0b21hdGlj
U3BlbGxpbmdDb3JyZWN0aW9uOiBtZW51IGl0ZW0gdmFsaWRhdGlvbiBzaG91bGRuJ3QgcmVxdWly
ZSBwb3N0LWxheW91dCBlZGl0b3Igc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMu
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0VkaXRvclN0YXRl
VGVzdHMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wOS0xMCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4g
bGxkYiBzdW1tYXJ5IHByb3ZpZGVyIGZvciB0aGUgV2ViQ29yZTo6TGVuZ3RoIHR5cGUKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRWRpdG9yU3RhdGVU
ZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRWRpdG9yU3Rh
dGVUZXN0cy5tbQppbmRleCA2M2EwNzA1MzhjYmExYWQ1MTk1MDU0YzE1MWVhNWI5MzI4OTJlMjg2
Li5jNDFhMjhkMDUxOTBmNTQyYTFkY2RlYTEyM2QzZDMzMTU3NzU5MTBlIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0VkaXRvclN0YXRlVGVzdHMubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FZGl0b3JTdGF0ZVRl
c3RzLm1tCkBAIC0zNzIsMjggKzM3MiwyOCBAQCBURVNUKEVkaXRvclN0YXRlVGVzdHMsIE9ic2Vy
dmVTZWxlY3Rpb25BdHRyaWJ1dGVDaGFuZ2VzKQogCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAiZG9jdW1lbnQuYm9keS5mb2N1cygpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwog
ICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKLSAgICBFWFBFQ1Rf
RVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0
U3RhcnRPZlNlbnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsK
KyAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwgW29ic2VydmVyIGN1
cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIGluc2VydFRleHQ6QCJI
ZWxsbyJdOwogICAgIEVYUEVDVF9FUShfV0tTZWxlY3Rpb25BdHRyaWJ1dGVJc0NhcmV0LCBbb2Jz
ZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKIAogICAgIFtlZGl0b3IgaW5zZXJ0
VGV4dDpAIi4iXTsKLSAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8
IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVu
dFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKKyAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmli
dXRlSXNDYXJldCwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAg
ICBbZWRpdG9yIG1vdmVCYWNrd2FyZF07CiAgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJp
YnV0ZUlzQ2FyZXQsIFtvYnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAg
ICAgW2VkaXRvciBtb3ZlRm9yd2FyZF07Ci0gICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJp
YnV0ZUlzQ2FyZXQgfCBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSwgW29i
c2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CisgICAgRVhQRUNUX0VRKF9XS1Nl
bGVjdGlvbkF0dHJpYnV0ZUlzQ2FyZXQsIFtvYnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmli
dXRlc10pOwogCiAgICAgW2VkaXRvciBkZWxldGVCYWNrd2FyZHNdOwogICAgIEVYUEVDVF9FUShf
V0tTZWxlY3Rpb25BdHRyaWJ1dGVJc0NhcmV0LCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0
dHJpYnV0ZXNdKTsKIAogICAgIFtlZGl0b3IgaW5zZXJ0UGFyYWdyYXBoXTsKLSAgICBFWFBFQ1Rf
RVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0
U3RhcnRPZlNlbnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsK
KyAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwgW29ic2VydmVyIGN1
cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIHNlbGVjdEFsbF07Ci0g
ICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFuZ2UgfCBfV0tTZWxlY3Rpb25B
dHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRy
aWJ1dGVzXSk7CisgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFuZ2UsIFtv
YnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAgICAgW3dlYlZpZXcgZXZh
bHVhdGVKYXZhU2NyaXB0OkAiZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCkiIGNvbXBs
ZXRpb25IYW5kbGVyOm5pbF07CiAgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25V
cGRhdGVdOwo=
</data>
<flag name="review"
          id="461369"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438075</attachid>
            <date>2021-09-13 13:56:57 -0700</date>
            <delta_ts>2021-09-13 15:49:16 -0700</delta_ts>
            <desc>For landing</desc>
            <filename>bug-230205-20210913135656.patch</filename>
            <type>text/plain</type>
            <size>17666</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThjYjRmYjhjZTc4ZGQ4
NTA4M2YzM2NkNjMyOTE3YzY5M2Y0ZDg5MC4uY2NmMzA5OGIzNWM5NjI1YzI1ZDcwYTNkMWZhODc0
NDc1MTY3YjQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA5LTEzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gLXRv
Z2dsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjogbWVudSBpdGVtIHZhbGlkYXRpb24gc2hv
dWxkbid0IHJlcXVpcmUgcG9zdC1sYXlvdXQgZWRpdG9yIHN0YXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyMDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBTZWUgV2ViS2l0IENoYW5nZUxvZyBmb3IgbW9y
ZSBkZXRhaWxzLgorCisgICAgICAgICogZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OmNhbkVu
YWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbiBjb25zdCk6CisKKyAgICAgICAgU2xpZ2h0
bHkgaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhpcyBtZXRob2QgaW4gdGhlIGNhc2Ugd2hl
cmUgd2UncmUgZm9jdXNpbmcgYSB0ZXh0IGZpZWxkLCBieSBvbmx5CisgICAgICAgIGNvbnN1bHRp
bmcgdGhlIGhvc3QgZm9ybSBjb250cm9sIGVsZW1lbnQsIHJhdGhlciB0aGFuIGJvdGggdGhlIGZv
cm0gY29udHJvbCBhbmQgdGhlIGNvbnRlbnRlZGl0YWJsZSBzaGFkb3cgcm9vdAorICAgICAgICBl
bGVtZW50LgorCiAyMDIxLTA5LTEzICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI4MjI3OCk6IEFTU0VSVElPTiBGQUlMRUQ6
ICFtX25lZWRFeGNlcHRpb25DaGVjayBpbiBKU0M6OlZNOjp2ZXJpZnlFeGNlcHRpb25DaGVja05l
ZWRJc1NhdGlzZmllZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNWExMzYyMTg5MDQ2OTc5OTI4ZjAxZWIxMWJkYWZk
YjVjNzM3NWExLi5jYTEzNjgyYjAzNDAxYTljODYwMWVmYWU0ZGNlZmU5ZTBiNDYyNGQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTA5LTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gLXRvZ2dsZUF1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbjogbWVudSBpdGVtIHZhbGlkYXRpb24gc2hvdWxkbid0IHJlcXVpcmUgcG9z
dC1sYXlvdXQgZWRpdG9yIHN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBJbiBwcmVwYXJhdGlvbiBmb3IgaHR0cHM6Ly93ZWJraXQub3JnL2IvMjMwMjA0
LCByZWZhY3RvciBjb2RlIG9uIG1hY09TIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0
aGUKKyAgICAgICAgIkNvcnJlY3QgU3BlbGxpbmcgQXV0b21hdGljYWxseSIgbWVudSBiYXIgaXRl
bSBzaG91bGQgYmUgZW5hYmxlZCwgc3VjaCB0aGF0IGl0IGRvZXNuJ3QgcmVxdWlyZSBwb3N0LWxh
eW91dAorICAgICAgICBlZGl0b3Igc3RhdGUgZGF0YS4gVGhpcyBpcyByZXF1aXNpdGUgdG8gYXZv
aWRpbmcgcG9zdC1sYXlvdXQgZWRpdG9yIHN0YXRlIGNvbXB1dGF0aW9uIGFsdG9nZXRoZXIgb24g
bWFjT1MsIHdoZW4KKyAgICAgICAgdGhlIHRvdWNoIGJhciBpcyBlaXRoZXIgdW5hdmFpbGFibGUs
IG9yIGhhc24ndCBldmVyIGJlZW4gc2hvd24gaW4gdGhlIGNvbnRleHQgb2YgdGV4dCBlZGl0aW5n
LiBTZWUgYmVsb3cgZm9yCisgICAgICAgIG1vcmUgZGV0YWlscy4KKworICAgICAgICBXZSBhbHNv
IHRha2UgdGhpcyBvcHBvcnR1bml0eSB0byByZW1vdmUgc3VwcG9ydCBmb3IgdGhlIHVudXNlZCBf
V0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSBTUEkgdmFsdWUKKyAgICAgICAg
aW4gX1dLU2VsZWN0aW9uQXR0cmlidXRlcywgd2hpY2ggd2FzIG9yaWdpbmFsbHkgaW50ZW5kZWQg
Zm9yIHVzZSBpbiBNYWlsIGNvbXBvc2UgaW4gV2ViS2l0MiBidXQgc2VlbXMgdG8gaGF2ZQorICAg
ICAgICBiZWVuIG9idmlhdGVkIGJ5IHRoZSBhYmlsaXR5IHRvIHN3aXBlIGhvcml6b250YWxseSBv
biB0aGUgY3VzdG9tIGlucHV0IGFjY2Vzc29yeSB2aWV3IGluIE1haWwgY29tcG9zZSB0byBzd2l0
Y2gKKyAgICAgICAgYmV0d2VlbiB0ZXh0IGNhbmRpZGF0ZXMgYW5kIHRoZSB0ZXh0IGZvcm1hdHRp
bmcgb3B0aW9ucy4KKworICAgICAgICAqIFNoYXJlZC9FZGl0b3JTdGF0ZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkVkaXRvclN0YXRlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpF
ZGl0b3JTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yU3RhdGU6OlBvc3RM
YXlvdXREYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JTdGF0ZTo6
UG9zdExheW91dERhdGE6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6Om9wZXJhdG9yPDwpOgor
CisgICAgICAgIFJlbW92ZSB0aGUgYGF0U3RhcnRPZlNlbnRlbmNlYCBiaXQgb24gRWRpdG9yU3Rh
dGUncyBwb3N0LWxheW91dCBkYXRhIHRoYXQgd2FzIG9ubHkgdXNlZCB0byBpbXBsZW1lbnQgdGhl
CisgICAgICAgIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRlbmNlIFNQSSBmbGFn
IHZhbHVlLCBhbmQgYWxzbyBtb3ZlIHRoZSBgY2FuRW5hYmxlQXV0b21hdGljU3BlbGxpbmdDb3Jy
ZWN0aW9uYAorICAgICAgICBiaXQgb3V0IG9mIHBvc3QtbGF5b3V0IGRhdGEsIGFuZCBpbnRvIHRo
ZSBFZGl0b3JTdGF0ZSBzdHJ1Y3QuIEltcG9ydGFudGx5LCBjb21wdXRpbmcgdGhpcyBiaXQgZG9l
cyBub3QgcmVxdWlyZQorICAgICAgICBvciB0cmlnZ2VyIGxheW91dCwgYW5kIHRoaXMgcmVmYWN0
b3Jpbmcgd2lsbCBhbGxvdyB1cyB0byBjb21wbGV0ZWx5IGZvcmdvIHBvc3QtbGF5b3V0IGRhdGEg
b24gY29uZmlndXJhdGlvbnMKKyAgICAgICAgdGhhdCBkbyBub3QgcmVxdWlyZSBpdCAoaS5lLiB3
aGVuIHRoZSB0ZXh0IHRvdWNoIGJhciBpcyBub3QgYWN0aXZlKS4KKworICAgICAgICAqIFNoYXJl
ZC9FZGl0b3JTdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoc2VsZWN0aW9uQXR0cmlidXRlcyk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisKKyAgICAgICAgUmVtb3ZlIGFuIHVudXNl
ZCB2YWx1ZSwgX1dLU2VsZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2UsIGluIHRoZSBf
V0tTZWxlY3Rpb25BdHRyaWJ1dGVzIFNQSSBmbGFnLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dmFsaWRh
dGVVc2VySW50ZXJmYWNlSXRlbSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRQbGF0Zm9ybUVkaXRv
clN0YXRlIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldFBsYXRmb3JtRWRpdG9yU3RhdGUg
Y29uc3QpOgorCiAyMDIxLTA5LTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZvbGxvd3VwIHRvIHIyODIzMjAgLSBhdm9pZCBhIHBvdGVudGlhbCBt
ZW1vcnkgbGVhawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2
ZVRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlci5jcHAKaW5kZXggNjkyZDBkNzZlZjZkYTM3NWRjMjZjYjA2YjFlNTAxZTlm
OGFkMzRiNi4uZjhjOWI2M2I3OGY3ZjllODZlYTRlYWE5YzJjMTcxZmQyMTU4ZTUwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIu
Y3BwCkBAIC0zMzksMTUgKzMzOSwxMSBAQCBib29sIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6
OmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbigpIGNvbnN0CiB7CiAjaWYgRU5B
QkxFKEFVVE9DT1JSRUNUKQogICAgIGF1dG8gcG9zaXRpb24gPSBtX2RvY3VtZW50LnNlbGVjdGlv
bigpLnNlbGVjdGlvbigpLnN0YXJ0KCk7Ci0gICAgaWYgKGF1dG8gZWRpdGFibGVSb290ID0gcG9z
aXRpb24ucm9vdEVkaXRhYmxlRWxlbWVudCgpKSB7Ci0gICAgICAgIGlmIChpczxIVE1MRWxlbWVu
dD4oZWRpdGFibGVSb290KSAmJiAhZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCplZGl0YWJsZVJvb3Qp
LnNob3VsZEF1dG9jb3JyZWN0KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
Ci0gICAgaWYgKGF1dG8gY29udHJvbCA9IGVuY2xvc2luZ1RleHRGb3JtQ29udHJvbChwb3NpdGlv
bikpIHsKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2wgPSBlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2wo
cG9zaXRpb24pKSB7CiAgICAgICAgIGlmICghY29udHJvbC0+c2hvdWxkQXV0b2NvcnJlY3QoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CisgICAgfSBlbHNlIGlmIChSZWZQdHIg
ZWRpdGFibGVSb290ID0gcG9zaXRpb24ucm9vdEVkaXRhYmxlRWxlbWVudCgpOyBpczxIVE1MRWxl
bWVudD4oZWRpdGFibGVSb290KSAmJiAhZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCplZGl0YWJsZVJv
b3QpLnNob3VsZEF1dG9jb3JyZWN0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgog
CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0
b3JTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAKaW5kZXgg
OWU4NWYyN2UzMjlhNThiYWI2MDI0MjI2ZWJlYTZhYjk1MGFlMGU3ZS4uNjdiZDZmMTJhNTU0NzE4
OTg0MTM0NmNkYjc1YTg1NTA1ZmY2NzAxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvRWRpdG9yU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRl
LmNwcApAQCAtNDYsNiArNDYsOSBAQCB2b2lkIEVkaXRvclN0YXRlOjplbmNvZGUoSVBDOjpFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgaXNJblBsdWdpbjsKICAgICBlbmNv
ZGVyIDw8IGhhc0NvbXBvc2l0aW9uOwogICAgIGVuY29kZXIgPDwgdHJpZ2dlcmVkQnlBY2Nlc3Np
YmlsaXR5U2VsZWN0aW9uQ2hhbmdlOworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBlbmNvZGVyIDw8
IGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjsKKyNlbmRpZgogICAgIGVuY29k
ZXIgPDwgaXNNaXNzaW5nUG9zdExheW91dERhdGE7CiAgICAgaWYgKCFpc01pc3NpbmdQb3N0TGF5
b3V0RGF0YSkKICAgICAgICAgbV9wb3N0TGF5b3V0RGF0YS5lbmNvZGUoZW5jb2Rlcik7CkBAIC04
OSw2ICs5MiwxMSBAQCBib29sIEVkaXRvclN0YXRlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyLCBFZGl0b3JTdGF0ZSYgcmVzdWx0KQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
LnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJl
c3VsdC5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24pKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlzTWlz
c2luZ1Bvc3RMYXlvdXREYXRhKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMzUsNyAr
MTQzLDYgQEAgdm9pZCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6OmVuY29kZShJUEM6OkVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBoYXNQbGFpblRleHQ7CiAgICAg
ZW5jb2RlciA8PCBlZGl0YWJsZVJvb3RJc1RyYW5zcGFyZW50T3JGdWxseUNsaXBwZWQ7CiAgICAg
ZW5jb2RlciA8PCBjYXJldENvbG9yOwotICAgIGVuY29kZXIgPDwgYXRTdGFydE9mU2VudGVuY2U7
CiAgICAgZW5jb2RlciA8PCBzZWxlY3Rpb25TdGFydElzQXRQYXJhZ3JhcGhCb3VuZGFyeTsKICAg
ICBlbmNvZGVyIDw8IHNlbGVjdGlvbkVuZElzQXRQYXJhZ3JhcGhCb3VuZGFyeTsKICNlbmRpZgpA
QCAtMTQ0LDcgKzE1MSw2IEBAIHZvaWQgRWRpdG9yU3RhdGU6OlBvc3RMYXlvdXREYXRhOjplbmNv
ZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgY2FuZGlkYXRl
UmVxdWVzdFN0YXJ0UG9zaXRpb247CiAgICAgZW5jb2RlciA8PCBwYXJhZ3JhcGhDb250ZXh0Rm9y
Q2FuZGlkYXRlUmVxdWVzdDsKICAgICBlbmNvZGVyIDw8IHN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVl
c3Q7Ci0gICAgZW5jb2RlciA8PCBjYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb247
CiAjZW5kaWYKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICBlbmNvZGVy
IDw8IHN1cnJvdW5kaW5nQ29udGV4dDsKQEAgLTIxOCw4ICsyMjQsNiBAQCBib29sIEVkaXRvclN0
YXRlOjpQb3N0TGF5b3V0RGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgUG9zdExh
eW91dERhdGEmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5jYXJldENvbG9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LmF0U3RhcnRPZlNlbnRlbmNlKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlbGVjdGlvblN0YXJ0SXNBdFBh
cmFncmFwaEJvdW5kYXJ5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LnNlbGVjdGlvbkVuZElzQXRQYXJhZ3JhcGhCb3VuZGFyeSkpCkBAIC0y
MzcsOSArMjQxLDYgQEAgYm9vbCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6OmRlY29kZShJ
UEM6OkRlY29kZXImIGRlY29kZXIsIFBvc3RMYXlvdXREYXRhJgogCiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShyZXN1bHQuc3RyaW5nRm9yQ2FuZGlkYXRlUmVxdWVzdCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNhbkVuYWJsZUF1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgog
I2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LnN1cnJvdW5kaW5nQ29udGV4dCkpCkBAIC0yODcsNiArMjg4LDEwIEBAIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IEVkaXRvclN0YXRlJiBlZGl0
b3JTdGF0ZSkKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJoYXNDb21wb3NpdGlvbiIsIGVkaXRv
clN0YXRlLmhhc0NvbXBvc2l0aW9uKTsKICAgICBpZiAoZWRpdG9yU3RhdGUudHJpZ2dlcmVkQnlB
Y2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInRy
aWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSIsIGVkaXRvclN0YXRlLnRyaWdn
ZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSk7CisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIGlmICghZWRpdG9yU3RhdGUuY2FuRW5hYmxlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9u
KQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoImNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29y
cmVjdGlvbiIsIGVkaXRvclN0YXRlLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bik7CisjZW5kaWYKICAgICBpZiAoZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEp
CiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgiaXNNaXNzaW5nUG9zdExheW91dERhdGEiLCBlZGl0
b3JTdGF0ZS5pc01pc3NpbmdQb3N0TGF5b3V0RGF0YSk7CiAKQEAgLTM1Niw4ICszNjEsNiBAQCBU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBFZGl0b3JTdGF0ZSYg
ZWRpdG9yU3RhdGUpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicGFyYWdyYXBoQ29udGV4dEZv
ckNhbmRpZGF0ZVJlcXVlc3QiLCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLnBhcmFncmFw
aENvbnRleHRGb3JDYW5kaWRhdGVSZXF1ZXN0KTsKICAgICBpZiAoZWRpdG9yU3RhdGUucG9zdExh
eW91dERhdGEoKS5zdHJpbmdGb3JDYW5kaWRhdGVSZXF1ZXN0Lmxlbmd0aCgpKQogICAgICAgICB0
cy5kdW1wUHJvcGVydHkoInN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QiLCBlZGl0b3JTdGF0ZS5w
b3N0TGF5b3V0RGF0YSgpLnN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QpOwotICAgIGlmIChlZGl0
b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVj
dGlvbikKLSAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJjYW5FbmFibGVBdXRvbWF0aWNTcGVsbGlu
Z0NvcnJlY3Rpb24iLCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVuYWJsZUF1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbik7CiAjZW5kaWYKIAogICAgIGlmIChlZGl0b3JTdGF0ZS5w
b3N0TGF5b3V0RGF0YSgpLmNhbkN1dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0VkaXRvclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5oCmluZGV4
IGE2NDk4NGI0MWI5OGVhMzY1MGY4Y2EzNzJkOWE0YmM0MjZiZGM4ZjMuLmQyN2I5NTkyYTE0ODQx
ZGUwYTQxMDE0ZjZkMDVkN2U2NTU1NWQyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0VkaXRvclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUu
aApAQCAtODIsNiArODIsOSBAQCBzdHJ1Y3QgRWRpdG9yU3RhdGUgewogICAgIGJvb2wgaXNJblBs
dWdpbiB7IGZhbHNlIH07CiAgICAgYm9vbCBoYXNDb21wb3NpdGlvbiB7IGZhbHNlIH07CiAgICAg
Ym9vbCB0cmlnZ2VyZWRCeUFjY2Vzc2liaWxpdHlTZWxlY3Rpb25DaGFuZ2UgeyBmYWxzZSB9Owor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICBib29sIGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29y
cmVjdGlvbiB7IHRydWUgfTsKKyNlbmRpZgogICAgIGJvb2wgaXNNaXNzaW5nUG9zdExheW91dERh
dGEgeyB0cnVlIH07CiAKICAgICBzdHJ1Y3QgUG9zdExheW91dERhdGEgewpAQCAtMTI3LDcgKzEz
MCw2IEBAIHN0cnVjdCBFZGl0b3JTdGF0ZSB7CiAgICAgICAgIHVpbnQ2NF90IGNhbmRpZGF0ZVJl
cXVlc3RTdGFydFBvc2l0aW9uIHsgMCB9OwogICAgICAgICBTdHJpbmcgcGFyYWdyYXBoQ29udGV4
dEZvckNhbmRpZGF0ZVJlcXVlc3Q7CiAgICAgICAgIFN0cmluZyBzdHJpbmdGb3JDYW5kaWRhdGVS
ZXF1ZXN0OwotICAgICAgICBib29sIGNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
biB7IHRydWUgfTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQog
ICAgICAgICBTdHJpbmcgc3Vycm91bmRpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggODVlNWQzMjIzMGI1ZWUzMDRjZjIy
ZTQwYzA4OGE1ZTZlZDA3MTYzOC4uOTlmYzMwOGZhNGFmNTVmYTlmNzcxOWNhZjQ5YmJjZjMwMTQ1
YWNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCkBAIC0xNzAzLDE0ICsxNzAzLDYgQEAgc3RhdGljIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZXMg
c2VsZWN0aW9uQXR0cmlidXRlcyhjb25zdCBXZWJLaXQ6OkVkaXRvclN0YXRlJiBlZGkKICAgICBl
bHNlCiAgICAgICAgIGF0dHJpYnV0ZXMgfD0gX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldDsK
IAotICAgIGlmICghZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEpIHsKLSNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoZWRpdG9yU3RhdGUucG9zdExheW91dERh
dGEoKS5hdFN0YXJ0T2ZTZW50ZW5jZSkKLSAgICAgICAgICAgIGF0dHJpYnV0ZXMgfD0gX1dLU2Vs
ZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2U7Ci0jZW5kaWYKLSAgICB9IGVsc2UgaWYg
KHByZXZpb3VzQXR0cmlidXRlcyAmIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRl
bmNlKQotICAgICAgICBhdHRyaWJ1dGVzIHw9IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRP
ZlNlbnRlbmNlOwotCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDM3
Y2E0NGNjMzE2Mzc4OWUzYzU3NjZhZjA2M2Q0YTVmNjZlYzMxYmMuLmJlNzI5MzdlYjFlZDBjNzU5
NzI1Yzg1MjMxZDZhYmU0OGFlNmJiYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNjUsNyArNjUsNiBAQCB0eXBl
ZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLU2VsZWN0aW9uQXR0cmlidXRlcykgewogICAg
IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZU5vU2VsZWN0aW9uID0gMCwKICAgICBfV0tTZWxlY3Rpb25B
dHRyaWJ1dGVJc0NhcmV0ID0gMSA8PCAwLAogICAgIF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFu
Z2UgPSAxIDw8IDEsCi0gICAgX1dLU2VsZWN0aW9uQXR0cmlidXRlQXRTdGFydE9mU2VudGVuY2Ug
PSAxIDw8IDIsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUpLCBpb3MoMTMuMCkpOwog
CiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmlu
ZGV4IDQ5NTU0OWUzODJkZjA1ZWIwOGU4MGRmZTIwMzc2MWJhMzA5OWE4YzIuLjVhMjA0M2ZkNjhi
Nzg3YmEyYmRjMmM0MTc5OGIxMmQ0ODYyZDc2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0zMjQyLDggKzMyNDIsNyBAQCBib29sIFdlYlZp
ZXdJbXBsOjp2YWxpZGF0ZVVzZXJJbnRlcmZhY2VJdGVtKGlkIDxOU1ZhbGlkYXRlZFVzZXJJbnRl
cmZhY2VJdGVtPiBpdAogICAgIH0KIAogICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKHRvZ2ds
ZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjopKSB7Ci0gICAgICAgIGF1dG8mIGVkaXRvclN0
YXRlID0gbV9wYWdlLT5lZGl0b3JTdGF0ZSgpOwotICAgICAgICBib29sIGVuYWJsZSA9IGVkaXRv
clN0YXRlLmlzQ29udGVudEVkaXRhYmxlICYmIChlZGl0b3JTdGF0ZS5pc01pc3NpbmdQb3N0TGF5
b3V0RGF0YSB8fCBlZGl0b3JTdGF0ZS5wb3N0TGF5b3V0RGF0YSgpLmNhbkVuYWJsZUF1dG9tYXRp
Y1NwZWxsaW5nQ29ycmVjdGlvbik7CisgICAgICAgIGJvb2wgZW5hYmxlID0gbV9wYWdlLT5lZGl0
b3JTdGF0ZSgpLmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbjsKICAgICAgICAg
bWVudUl0ZW0oaXRlbSkuc3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKS5pc0F1dG9tYXRpY1Nw
ZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQgJiYgZW5hYmxlID8gTlNDb250cm9sU3RhdGVWYWx1ZU9u
IDogTlNDb250cm9sU3RhdGVWYWx1ZU9mZjsKICAgICAgICAgcmV0dXJuIGVuYWJsZTsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tCmluZGV4IGE1NGMxYWNkNTk1NGNhNzk3NDBlMDUzODZkZWM2ZGMwOWZhMmIyYTIuLmIzNzdk
NjQ0YWFmYzUyNjRmMzA0NmJkMTgyNTAzNjliNjY4MDBlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0zMzMsNyArMzMz
LDYgQEAgdm9pZCBXZWJQYWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlKEZyYW1lJiBmcmFtZSwg
RWRpdG9yU3RhdGUmIHJlc3VsdCkgY29uc3QKICAgICB9CiAjZW5kaWYKIAotICAgIHBvc3RMYXlv
dXREYXRhLmF0U3RhcnRPZlNlbnRlbmNlID0gZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uQXRT
ZW50ZW5jZVN0YXJ0KCk7CiAgICAgcG9zdExheW91dERhdGEuaW5zaWRlRml4ZWRQb3NpdGlvbiA9
IHN0YXJ0Tm9kZUlzSW5zaWRlRml4ZWRQb3NpdGlvbiB8fCBlbmROb2RlSXNJbnNpZGVGaXhlZFBv
c2l0aW9uOwogICAgIGlmICghc2VsZWN0aW9uLmlzTm9uZSgpKSB7CiAgICAgICAgIGlmIChzZWxl
Y3Rpb24uaGFzRWRpdGFibGVTdHlsZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCmluZGV4IGYzOWM4Mjk3ODc5NDZiYzM5Mjlk
YTk2YjFlOTMxYzhiYjg0ZWI3NGIuLjA5NmZiMjEyODE2NGM5MWJlNjllNTA5MGJlNmVlZTc3MWFl
NTllZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCkBAIC0xNDQsNiArMTQ0LDggQEAgdm9pZCBXZWJQYWdlOjpnZXRQbGF0Zm9y
bUVkaXRvclN0YXRlKEZyYW1lJiBmcmFtZSwgRWRpdG9yU3RhdGUmIHJlc3VsdCkgY29uc3QKIHsK
ICAgICBnZXRQbGF0Zm9ybUVkaXRvclN0YXRlQ29tbW9uKGZyYW1lLCByZXN1bHQpOwogCisgICAg
cmVzdWx0LmNhbkVuYWJsZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbiA9IHJlc3VsdC5pc0Nv
bnRlbnRFZGl0YWJsZSAmJiBmcmFtZS5lZGl0b3IoKS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGlu
Z0NvcnJlY3Rpb24oKTsKKwogICAgIGlmIChyZXN1bHQuaXNNaXNzaW5nUG9zdExheW91dERhdGEp
CiAgICAgICAgIHJldHVybjsKIApAQCAtMTY3LDcgKzE2OSw2IEBAIHZvaWQgV2ViUGFnZTo6Z2V0
UGxhdGZvcm1FZGl0b3JTdGF0ZShGcmFtZSYgZnJhbWUsIEVkaXRvclN0YXRlJiByZXN1bHQpIGNv
bnN0CiAgICAgcG9zdExheW91dERhdGEuc2VsZWN0ZWRUZXh0TGVuZ3RoID0gY2hhcmFjdGVyQ291
bnQoeyAqc2VsZWN0aW9uU3RhcnRCb3VuZGFyeSwgKnNlbGVjdGlvbkVuZCB9KTsKICAgICBwb3N0
TGF5b3V0RGF0YS5wYXJhZ3JhcGhDb250ZXh0Rm9yQ2FuZGlkYXRlUmVxdWVzdCA9IGNvbnRleHRS
YW5nZUZvckNhbmRpZGF0ZVJlcXVlc3QgPyBwbGFpblRleHQoKmNvbnRleHRSYW5nZUZvckNhbmRp
ZGF0ZVJlcXVlc3QpIDogU3RyaW5nKCk7CiAgICAgcG9zdExheW91dERhdGEuc3RyaW5nRm9yQ2Fu
ZGlkYXRlUmVxdWVzdCA9IGZyYW1lLmVkaXRvcigpLnN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3Qo
KTsKLSAgICBwb3N0TGF5b3V0RGF0YS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rp
b24gPSBmcmFtZS5lZGl0b3IoKS5jYW5FbmFibGVBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb24o
KTsKIAogICAgIGF1dG8gcXVhZHMgPSBSZW5kZXJPYmplY3Q6OmFic29sdXRlVGV4dFF1YWRzKCpz
ZWxlY3RlZFJhbmdlKTsKICAgICBpZiAoIXF1YWRzLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2Mjc5ZWVkNjc1NTg3ZmEzZDRl
ZmU4ODgyOGVhZDJlYTc5YzcyN2Y0Li5hZmIyM2EyOWUzZDg0NDIwNDlkMjQ1NGVmYTQxODFjMzhh
NDE5NjE2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDktMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSAtdG9nZ2xlQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uOiBtZW51IGl0ZW0gdmFsaWRhdGlvbiBzaG91bGRuJ3QgcmVxdWlyZSBwb3N0LWxh
eW91dCBlZGl0b3Igc3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMDIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgIFNlZSBXZWJLaXQgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0VkaXRvclN0YXRlVGVzdHMubW06Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wOS0xMyAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgUnVubmluZyBpT1MgbGF5b3V0IHRl
c3RzIHNvbWV0aW1lcyBmYWlscyB3aXRoIGEgdXRmLTggZXJyb3IKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRWRpdG9yU3RhdGVUZXN0cy5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRWRpdG9yU3RhdGVUZXN0cy5tbQpp
bmRleCA2M2EwNzA1MzhjYmExYWQ1MTk1MDU0YzE1MWVhNWI5MzI4OTJlMjg2Li5jNDFhMjhkMDUx
OTBmNTQyYTFkY2RlYTEyM2QzZDMzMTU3NzU5MTBlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0VkaXRvclN0YXRlVGVzdHMubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9FZGl0b3JTdGF0ZVRlc3RzLm1tCkBAIC0z
NzIsMjggKzM3MiwyOCBAQCBURVNUKEVkaXRvclN0YXRlVGVzdHMsIE9ic2VydmVTZWxlY3Rpb25B
dHRyaWJ1dGVDaGFuZ2VzKQogCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9j
dW1lbnQuYm9keS5mb2N1cygpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAgIFt3ZWJWaWV3
IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKLSAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0
aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRl
bmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKKyAgICBFWFBFQ1Rf
RVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rp
b25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIGluc2VydFRleHQ6QCJIZWxsbyJdOwogICAg
IEVYUEVDVF9FUShfV0tTZWxlY3Rpb25BdHRyaWJ1dGVJc0NhcmV0LCBbb2JzZXJ2ZXIgY3VycmVu
dFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKIAogICAgIFtlZGl0b3IgaW5zZXJ0VGV4dDpAIi4iXTsK
LSAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlv
bkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRlbmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0
dHJpYnV0ZXNdKTsKKyAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwg
W29ic2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIG1v
dmVCYWNrd2FyZF07CiAgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzQ2FyZXQs
IFtvYnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAgICAgW2VkaXRvciBt
b3ZlRm9yd2FyZF07Ci0gICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzQ2FyZXQg
fCBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0YXJ0T2ZTZW50ZW5jZSwgW29ic2VydmVyIGN1cnJl
bnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7CisgICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJp
YnV0ZUlzQ2FyZXQsIFtvYnNlcnZlciBjdXJyZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAg
ICAgW2VkaXRvciBkZWxldGVCYWNrd2FyZHNdOwogICAgIEVYUEVDVF9FUShfV0tTZWxlY3Rpb25B
dHRyaWJ1dGVJc0NhcmV0LCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsK
IAogICAgIFtlZGl0b3IgaW5zZXJ0UGFyYWdyYXBoXTsKLSAgICBFWFBFQ1RfRVEoX1dLU2VsZWN0
aW9uQXR0cmlidXRlSXNDYXJldCB8IF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUF0U3RhcnRPZlNlbnRl
bmNlLCBbb2JzZXJ2ZXIgY3VycmVudFNlbGVjdGlvbkF0dHJpYnV0ZXNdKTsKKyAgICBFWFBFQ1Rf
RVEoX1dLU2VsZWN0aW9uQXR0cmlidXRlSXNDYXJldCwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rp
b25BdHRyaWJ1dGVzXSk7CiAKICAgICBbZWRpdG9yIHNlbGVjdEFsbF07Ci0gICAgRVhQRUNUX0VR
KF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFuZ2UgfCBfV0tTZWxlY3Rpb25BdHRyaWJ1dGVBdFN0
YXJ0T2ZTZW50ZW5jZSwgW29ic2VydmVyIGN1cnJlbnRTZWxlY3Rpb25BdHRyaWJ1dGVzXSk7Cisg
ICAgRVhQRUNUX0VRKF9XS1NlbGVjdGlvbkF0dHJpYnV0ZUlzUmFuZ2UsIFtvYnNlcnZlciBjdXJy
ZW50U2VsZWN0aW9uQXR0cmlidXRlc10pOwogCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2Ny
aXB0OkAiZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCkiIGNvbXBsZXRpb25IYW5kbGVy
Om5pbF07CiAgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>