<?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>203362</bug_id>
          
          <creation_ts>2019-10-24 05:30:37 -0700</creation_ts>
          <short_desc>Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied</short_desc>
          <delta_ts>2019-11-05 02:13:15 -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>WebRTC</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=203536</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jlewis3</cc>
    
    <cc>jonlee</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1583316</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-24 05:30:37 -0700</bug_when>
    <thetext>Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583317</commentid>
    <comment_count>1</comment_count>
      <attachid>381801</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-24 05:43:45 -0700</bug_when>
    <thetext>Created attachment 381801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583392</commentid>
    <comment_count>2</comment_count>
      <attachid>381817</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-24 09:31:50 -0700</bug_when>
    <thetext>Created attachment 381817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583481</commentid>
    <comment_count>3</comment_count>
      <attachid>381817</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-10-24 13:17:53 -0700</bug_when>
    <thetext>Comment on attachment 381817
Patch

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

&gt; LayoutTests/fast/mediastream/getUserMedia-deny-persistency-expected.txt:3
&gt; +FAIL Testing getUserMedia with and without user gesture after user denied access assert_unreached: [object MediaStream] Reached unreachable code

This seems wrong, do you really want a FAIL in the results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583522</commentid>
    <comment_count>4</comment_count>
      <attachid>381817</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-24 14:04:02 -0700</bug_when>
    <thetext>Comment on attachment 381817
Patch

Will fix test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583876</commentid>
    <comment_count>5</comment_count>
      <attachid>381936</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-25 10:00:55 -0700</bug_when>
    <thetext>Created attachment 381936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584128</commentid>
    <comment_count>6</comment_count>
      <attachid>381936</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-10-25 18:31:08 -0700</bug_when>
    <thetext>Comment on attachment 381936
Patch

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

&gt; Source/WebCore/Modules/mediastream/MediaDevices.cpp:118
&gt; +    auto* currentGestureToken = UserGestureIndicator::currentUserGesture().get();
&gt; +    if (m_currentGestureToken != currentGestureToken) {
&gt; +        m_currentGestureToken = currentGestureToken;
&gt; +        m_requestTypesForCurrentGesture = { };
&gt; +    }
&gt; +
&gt; +    bool isUserGesturePriviledged = m_currentGestureToken &amp;&amp; !m_requestTypesForCurrentGesture.contains(requestType);
&gt; +    m_requestTypesForCurrentGesture.add(requestType);
&gt; +    return isUserGesturePriviledged;

I&apos;m not completely comfortable with allowing script to reprompt the user on every user gesture, forever, but we can start with this and talk about rate (or other) limits to the reprompts later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584265</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-10-26 13:07:52 -0700</bug_when>
    <thetext>&gt; I&apos;m not completely comfortable with allowing script to reprompt the user on
&gt; every user gesture, forever, but we can start with this and talk about rate
&gt; (or other) limits to the reprompts later.

Sounds good.
I am also thinking we should try to remove the iframe check, at least for deny cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584268</commentid>
    <comment_count>8</comment_count>
      <attachid>381936</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-26 13:50:47 -0700</bug_when>
    <thetext>Comment on attachment 381936
Patch

Clearing flags on attachment: 381936

Committed r251639: &lt;https://trac.webkit.org/changeset/251639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584269</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-26 13:50:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584270</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-26 13:51:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/56648232&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584366</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-10-27 19:50:08 -0700</bug_when>
    <thetext>Committed r251646: &lt;https://trac.webkit.org/changeset/251646&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584964</commentid>
    <comment_count>12</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2019-10-29 10:15:25 -0700</bug_when>
    <thetext>This caused internal and Internal API Test to flake much more frequently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584967</commentid>
    <comment_count>13</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-10-29 10:29:37 -0700</bug_when>
    <thetext>Reverted r251646 for reason:

Caused flakey API failures for GetDisplayMediaTest.Constraints

Committed r251711: &lt;https://trac.webkit.org/changeset/251711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584969</commentid>
    <comment_count>14</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-10-29 10:33:48 -0700</bug_when>
    <thetext>Reverted r251639 for reason:

Caused flakey API failures for GetDisplayMediaTest.Constraints

Committed r251712: &lt;https://trac.webkit.org/changeset/251712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586916</commentid>
    <comment_count>15</comment_count>
      <attachid>382724</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-04 02:17:38 -0800</bug_when>
    <thetext>Created attachment 382724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586973</commentid>
    <comment_count>16</comment_count>
      <attachid>382737</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-04 07:19:28 -0800</bug_when>
    <thetext>Created attachment 382737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1586999</commentid>
    <comment_count>17</comment_count>
      <attachid>382737</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-04 08:23:25 -0800</bug_when>
    <thetext>Comment on attachment 382737
Patch

Rejecting attachment 382737 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 382737, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/13210872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587317</commentid>
    <comment_count>18</comment_count>
      <attachid>382807</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-04 23:12:45 -0800</bug_when>
    <thetext>Created attachment 382807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587333</commentid>
    <comment_count>19</comment_count>
      <attachid>382807</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-05 01:14:40 -0800</bug_when>
    <thetext>Comment on attachment 382807
Patch

Clearing flags on attachment: 382807

Committed r252046: &lt;https://trac.webkit.org/changeset/252046&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587334</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-05 01:14:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587343</commentid>
    <comment_count>21</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-05 02:13:15 -0800</bug_when>
    <thetext>Committed r252048: &lt;https://trac.webkit.org/changeset/252048&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381801</attachid>
            <date>2019-10-24 05:43:45 -0700</date>
            <delta_ts>2019-10-24 09:31:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203362-20191024144343.patch</filename>
            <type>text/plain</type>
            <size>17374</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA5ZjI4MmYzMmQ2ZDg3
YWViOTRiNmI2MGEwNjM1ODgyNzNkNzMwNC4uMjg2Yjg4YThlYmI4ODMxZTFjOTY0NDM3OWVkNDFl
ZWRkMjU4NTQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTI0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2Vz
dHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2Fs
bCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDb21wdXRlIHdoZXRoZXIgYSBtZWRpYSByZXF1ZXN0IGlzIHVzZXIgcHJpdmlsZWRnZWQg
b3Igbm90LgorICAgICAgICBJdCBpcyBwcml2aWxlZGdlZCBpZiBpdCBpcyBjcmVhdGVkIGFzIHBh
cnQgb2YgYSB1c2VyIGdlc3R1cmUgYW5kIG5vIHJlcXVlc3Qgb2YgdGhlIHNhbWUgdHlwZQorICAg
ICAgICBoYXMgYmVlbiBwcmV2aW91c2x5IGNyZWF0ZWQgZm9yIHRoZSBzYW1lIHVzZXIgZ2VzdHVy
ZS4gCisgICAgICAgIElmIGdldERpc3BsYXlNZWRpYSBpcyBjYWxsZWQgdHdpY2UgYXMgcGFydCBv
ZiBhIHNpbmdsZSB1c2VyIGdlc3R1cmUsIGdldERpc3BsYU1lZGlhIHdpbGwgcmVqZWN0IGZvciB0
aGUgc2Vjb25kIGNhbGwuCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRGV2aWNlczo6Y29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYURldmljZXM6OmdldFVzZXJNZWRpYSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtUmVxdWVzdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtUmVxdWVzdDo6ZGVjb2RlKToKKwogMjAxOS0xMC0yMyAgeW91ZW5uIGZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgbXA0IHZpZGVvIGVsZW1lbnQgYnJva2VuIHdp
dGggc2VydmljZSB3b3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMWIyMDQ1N2UyZjA5Nzc0OWJhZTcwYTIxOGIz
NTQzNzdiMjMxMjg3OC4uZTg1NTc4MWU3N2I1MWNiMGIxYjEwZWI1NDZmMzA2ZDY5NDczNzk1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0xMC0yNCAgeW91ZW5uIGZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5mb3JjZSB1c2VyIGdlc3R1cmUgZm9yIGdldFVz
ZXJNZWRpYSBpbiBjYXNlIGEgcHJldmlvdXMgZ2V0VXNlck1lZGlhIGNhbGwgd2FzIGRlbmllZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMzYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gY2FzZSB0
aGUgcmVxdWVzdCBoYXMgdXNlciBnZXN0dXJlIHByaXZpbGVkZ2UsIGRvIG5vdCBsb29rIGF0IGRl
bmllZCByZXF1ZXN0IGhpc3RvcnkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6Z2V0UmVxdWVzdEFjdGlvbik6CisgICAg
ICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaDoKKyAgICAg
ICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6aXNVc2VyR2VzdHVy
ZVByaXZpbGVkZ2VkIGNvbnN0KToKKwogMjAxOS0xMC0yMyAgeW91ZW5uIGZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgbXA0IHZpZGVvIGVsZW1lbnQgYnJva2VuIHdpdGggc2Vy
dmljZSB3b3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFEZXZpY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmNwcAppbmRleCAzMWI0NTY1MzI5YjZiZTczOGExMmJmODE5ZWY5YzYzNjU0
ZGQ3Y2E5Li4zMjI1YTliMWQ4OGFmYTUzZjlhNjY1N2FlZTRkZTk4NmJjZjdkOTg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3Bw
CkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIKICNpbmNs
dWRlICJNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFsdGlt
ZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5o
IgogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTEwNCw3ICsx
MDUsMjAgQEAgc3RhdGljIE1lZGlhQ29uc3RyYWludHMgY3JlYXRlTWVkaWFDb25zdHJhaW50cyhj
b25zdCBWYXJpYW50PGJvb2wsIE1lZGlhVHJhY2tDb24KICAgICApOwogfQogCi12b2lkIE1lZGlh
RGV2aWNlczo6Z2V0VXNlck1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiBjb25zdHJhaW50
cywgUHJvbWlzZSYmIHByb21pc2UpIGNvbnN0Citib29sIE1lZGlhRGV2aWNlczo6Y29tcHV0ZVVz
ZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0dXJlQWxsb3dlZFJlcXVlc3QgcmVxdWVzdFR5cGUpCit7
CisgICAgYXV0byogY3VycmVudEdlc3R1cmVUb2tlbiA9IFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpj
dXJyZW50VXNlckdlc3R1cmUoKS5nZXQoKTsKKyAgICBpZiAobV9jdXJyZW50R2VzdHVyZVRva2Vu
ICE9IGN1cnJlbnRHZXN0dXJlVG9rZW4pIHsKKyAgICAgICAgbV9jdXJyZW50R2VzdHVyZVRva2Vu
ID0gY3VycmVudEdlc3R1cmVUb2tlbjsKKyAgICAgICAgbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50
R2VzdHVyZSA9IHsgfTsKKyAgICB9CisKKyAgICBib29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdl
ZCA9IG1fY3VycmVudEdlc3R1cmVUb2tlbiAmJiAhbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2Vz
dHVyZS5jb250YWlucyhyZXF1ZXN0VHlwZSk7CisgICAgbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50
R2VzdHVyZS5hZGQocmVxdWVzdFR5cGUpOworICAgIHJldHVybiBpc1VzZXJHZXN0dXJlUHJpdmls
ZWRnZWQ7Cit9CisKK3ZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFt
Q29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBhdXRv
KiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCkKQEAgLTEx
MiwyNSArMTI2LDM0IEBAIHZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEoY29uc3QgU3Ry
ZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYKIAogICAgIGF1dG8gYXVkaW9D
b25zdHJhaW50cyA9IGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMuYXVkaW8pOwog
ICAgIGF1dG8gdmlkZW9Db25zdHJhaW50cyA9IGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3Ry
YWludHMudmlkZW8pOwotICAgIGlmICh2aWRlb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisKKyAgICBi
b29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCA9IGZhbHNlOworCisgICAgaWYgKGF1ZGlvQ29u
c3RyYWludHMuaXNWYWxpZCkKKyAgICAgICAgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIHw9IGNv
bXB1dGVVc2VyR2VzdHVyZVByaXZpbGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0OjpNaWNyb3Bo
b25lKTsKKworICAgIGlmICh2aWRlb0NvbnN0cmFpbnRzLmlzVmFsaWQpIHsKKyAgICAgICAgaXNV
c2VyR2VzdHVyZVByaXZpbGVkZ2VkIHw9IGNvbXB1dGVVc2VyR2VzdHVyZVByaXZpbGVkZ2UoR2Vz
dHVyZUFsbG93ZWRSZXF1ZXN0OjpDYW1lcmEpOwogICAgICAgICB2aWRlb0NvbnN0cmFpbnRzLnNl
dERlZmF1bHRWaWRlb0NvbnN0cmFpbnRzKCk7CisgICAgfQogCi0gICAgYXV0byByZXF1ZXN0ID0g
VXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6
OlR5cGU6OlVzZXJNZWRpYSwgV1RGTW92ZShhdWRpb0NvbnN0cmFpbnRzKSwgV1RGTW92ZSh2aWRl
b0NvbnN0cmFpbnRzKSB9LCBXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBV
c2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCB7IE1lZGlhU3RyZWFtUmVxdWVzdDo6
VHlwZTo6VXNlck1lZGlhLCBXVEZNb3ZlKGF1ZGlvQ29uc3RyYWludHMpLCBXVEZNb3ZlKHZpZGVv
Q29uc3RyYWludHMpLCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgfSwgV1RGTW92ZShwcm9taXNl
KSk7CiAgICAgcmVxdWVzdC0+c3RhcnQoKTsKIH0KIAotdm9pZCBNZWRpYURldmljZXM6OmdldERp
c3BsYXlNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYgY29uc3RyYWludHMsIFByb21pc2Um
JiBwcm9taXNlKSBjb25zdAordm9pZCBNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYShjb25z
dCBTdHJlYW1Db25zdHJhaW50cyYgY29uc3RyYWludHMsIFByb21pc2UmJiBwcm9taXNlKQogewog
ICAgIGF1dG8qIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50
KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fZGlzYWJsZUdldERpc3BsYXlNZWRpYVVz
ZXJHZXN0dXJlQ29uc3RyYWludCAmJiAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZSgpKSB7CisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgPSBjb21w
dXRlVXNlckdlc3R1cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdDo6RGlzcGxheSk7
CisgICAgaWYgKCFtX2Rpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQg
JiYgIWlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkgewogICAgICAgICBwcm9taXNlLnJlamVjdChF
eGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IsICJnZXREaXNwbGF5TWVkaWEgbXVzdCBiZSBj
YWxsZWQgZnJvbSBhIHVzZXIgZ2VzdHVyZSBoYW5kbGVyLiJfcyB9KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGF1dG8gcmVxdWVzdCA9IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZSgq
ZG9jdW1lbnQsIHsgTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEsIHsgfSwg
Y3JlYXRlTWVkaWFDb25zdHJhaW50cyhjb25zdHJhaW50cy52aWRlbykgfSwgV1RGTW92ZShwcm9t
aXNlKSk7CisgICAgYXV0byByZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1
bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGU6OkRpc3BsYXlNZWRpYSwgeyB9LCBjcmVh
dGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRzLnZpZGVvKSwgaXNVc2VyR2VzdHVyZVByaXZp
bGVkZ2VkIH0sIFdURk1vdmUocHJvbWlzZSkpOwogICAgIHJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5o
CmluZGV4IDUzOTVlYjg0ODJmOGM3NGQ1ZGMwZDZjNTkzMGQ0OWEyMjY3MjBhM2YuLjljOWYxOWM4
ZDM4YWVkNGEyNjEyNTI4NzczOWNlYzZiYWY0NjkzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaApAQCAtNDksNiArNDksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhRGV2aWNlSW5m
bzsKIGNsYXNzIE1lZGlhU3RyZWFtOworY2xhc3MgVXNlckdlc3R1cmVUb2tlbjsKIAogc3RydWN0
IE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czsKIApAQCAtNzcsOCArNzgsOCBAQCBwdWJs
aWM6CiAgICAgICAgIFZhcmlhbnQ8Ym9vbCwgTWVkaWFUcmFja0NvbnN0cmFpbnRzPiB2aWRlbzsK
ICAgICAgICAgVmFyaWFudDxib29sLCBNZWRpYVRyYWNrQ29uc3RyYWludHM+IGF1ZGlvOwogICAg
IH07Ci0gICAgdm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9t
aXNlJiYpIGNvbnN0OwotICAgIHZvaWQgZ2V0RGlzcGxheU1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0
cmFpbnRzJiwgUHJvbWlzZSYmKSBjb25zdDsKKyAgICB2b2lkIGdldFVzZXJNZWRpYShjb25zdCBT
dHJlYW1Db25zdHJhaW50cyYsIFByb21pc2UmJik7CisgICAgdm9pZCBnZXREaXNwbGF5TWVkaWEo
Y29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9taXNlJiYpOwogICAgIHZvaWQgZW51bWVyYXRl
RGV2aWNlcyhFbnVtZXJhdGVEZXZpY2VzUHJvbWlzZSYmKTsKICAgICBNZWRpYVRyYWNrU3VwcG9y
dGVkQ29uc3RyYWludHMgZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKIApAQCAtMTA5LDYgKzEx
MCwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigp
OyB9CiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKKyAg
ICBlbnVtIGNsYXNzIEdlc3R1cmVBbGxvd2VkUmVxdWVzdCB7CisgICAgICAgIE1pY3JvcGhvbmUg
PSAxIDw8IDAsCisgICAgICAgIENhbWVyYSA9IDEgPDwgMSwKKyAgICAgICAgRGlzcGxheSA9IDEg
PDwgMiwKKyAgICB9OworICAgIGJvb2wgY29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0
dXJlQWxsb3dlZFJlcXVlc3QpOworCiAgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVudFRpbWVyOwog
ICAgIFVzZXJNZWRpYUNsaWVudDo6RGV2aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlbiBtX2RldmljZUNo
YW5nZVRva2VuOwogICAgIGNvbnN0IEV2ZW50TmFtZXMmIG1fZXZlbnROYW1lczsgLy8gTmVlZCB0
byBjYWNoZSB0aGlzIHNvIHdlIGNhbiB1c2UgaXQgZnJvbSBHQyB0aHJlYWRzLgpAQCAtMTE4LDYg
KzEyNiw5IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJlZjxNZWRpYURldmljZUluZm8+PiBtX2Rl
dmljZXM7CiAgICAgYm9vbCBtX2NhbkFjY2Vzc0NhbWVyYSB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2NhbkFjY2Vzc01pY3JvcGhvbmUgeyBmYWxzZSB9OworCisgICAgT3B0aW9uU2V0PEdlc3R1cmVB
bGxvd2VkUmVxdWVzdD4gbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZTsKKyAgICBVc2Vy
R2VzdHVyZVRva2VuKiBtX2N1cnJlbnRHZXN0dXJlVG9rZW4geyBudWxscHRyIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oCmluZGV4IDlhNzI3MDE4M2RmMmE1
NWM0MmM0MjZkYzdjNjVmMDFhYmQzODA4ODUuLjAwNDU4MmY4ZjUwOWJlNGRmOWQxZDA5YjU3Njg0
ZjRjYmZlODE5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oCkBAIC0zMyw5ICszMywxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgIGVudW0gY2xh
c3MgVHlwZSB7IFVzZXJNZWRpYSwgRGlzcGxheU1lZGlhIH07Ci0gICAgVHlwZSB0eXBlOworICAg
IFR5cGUgdHlwZSB7IFR5cGU6OlVzZXJNZWRpYSB9OwogICAgIE1lZGlhQ29uc3RyYWludHMgYXVk
aW9Db25zdHJhaW50czsKICAgICBNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWludHM7Cisg
ICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dApAQCAtNDMsMTIgKzQ0LDEzIEBAIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgICAg
ICBlbmNvZGVyLmVuY29kZUVudW0odHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgYXVkaW9Db25z
dHJhaW50czsKICAgICAgICAgZW5jb2RlciA8PCB2aWRlb0NvbnN0cmFpbnRzOworICAgICAgICBl
bmNvZGVyIDw8IGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZDsKICAgICB9CiAKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhU3RyZWFtUmVxdWVzdD4gZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewogICAgICAgICBNZWRpYVN0cmVhbVJlcXVlc3Qg
cmVxdWVzdDsKLSAgICAgICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUpICYm
IGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rlci5kZWNv
ZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSkKKyAgICAgICAgaWYgKGRlY29kZXIuZGVjb2Rl
RW51bShyZXF1ZXN0LnR5cGUpICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJh
aW50cykgJiYgZGVjb2Rlci5kZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSAmJiBkZWNv
ZGVyLmRlY29kZShyZXF1ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkpCiAgICAgICAgICAg
ICByZXR1cm4gcmVxdWVzdDsKIAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDEzYjUyMGEzODUwMGU0N2ZiOGYyYzQ4
NTVlMGIwNDQyMDZjYjZjNWEuLjVhODk0N2EyNzE2MTU3ZDA0ZTliNzljNmQ5OTA5YmQzYjNjZjYz
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTM0NSw3ICszNDUs
NyBAQCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6UmVxdWVzdEFjdGlv
biBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdAogICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3Jl
ZW5DYXB0dXJlICYmICFyZXF1ZXN0Lmhhc1ZpZGVvRGV2aWNlKCkpKTsKICAgICBBU1NFUlQoIShy
ZXF1ZXN0aW5nU2NyZWVuQ2FwdHVyZSAmJiByZXF1ZXN0aW5nTWljcm9waG9uZSkpOwogCi0gICAg
aWYgKHdhc1JlcXVlc3REZW5pZWQocmVxdWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlh
RG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0
eU9yaWdpbigpLCByZXF1ZXN0aW5nTWljcm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwgcmVxdWVz
dGluZ1NjcmVlbkNhcHR1cmUpKQorICAgIGlmICghcmVxdWVzdC5pc1VzZXJHZXN0dXJlUHJpdmls
ZWRnZWQoKSAmJiB3YXNSZXF1ZXN0RGVuaWVkKHJlcXVlc3QuZnJhbWVJRCgpLCByZXF1ZXN0LnVz
ZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC50b3BMZXZlbERvY3VtZW50
U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdGluZ01pY3JvcGhvbmUsIHJlcXVlc3RpbmdDYW1lcmEs
IHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlKSkKICAgICAgICAgcmV0dXJuIFJlcXVlc3RBY3Rpb246
OkRlbnk7CiAKICAgICBpZiAocmVxdWVzdC5yZXF1ZXN0VHlwZSgpID09IE1lZGlhU3RyZWFtUmVx
dWVzdDo6VHlwZTo6RGlzcGxheU1lZGlhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oCmluZGV4IGJhNGUwYTM0
NzE2MDMxYjE4ZjA4NWNmZDAxYTczNTE3NzhhMDMwNTguLjdkODI0OTcyMGNmZWI1Y2Y5NDQ4Mjc4
ZDhjZDdlMDYyZmM3ZTU3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKQEAgLTg0LDYgKzg0LDggQEAg
cHVibGljOgogICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UgYXVkaW9EZXZpY2UoKSBjb25zdCB7
IHJldHVybiBtX2VsaWdpYmxlQXVkaW9EZXZpY2VzLmlzRW1wdHkoKSA/IFdlYkNvcmU6OkNhcHR1
cmVEZXZpY2UgeyB9IDogbV9lbGlnaWJsZUF1ZGlvRGV2aWNlc1swXTsgfQogICAgIFdlYkNvcmU6
OkNhcHR1cmVEZXZpY2UgdmlkZW9EZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2VsaWdpYmxlVmlk
ZW9EZXZpY2VzLmlzRW1wdHkoKSA/IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UgeyB9IDogbV9lbGln
aWJsZVZpZGVvRGV2aWNlc1swXTsgfQogCisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRn
ZWQoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3QuaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkOyB9
CisKIHByaXZhdGU6CiAgICAgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eShVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYsIHVpbnQ2NF90IHVzZXJNZWRpYUlELCBX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgbWFpbkZyYW1lSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciwgUmVmPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURvY3VtZW50T3Jp
Z2luLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxEb2N1bWVudE9yaWdp
biwgVmVjdG9yPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+JiYgYXVkaW9EZXZpY2VzLCBWZWN0b3I8
V2ViQ29yZTo6Q2FwdHVyZURldmljZT4mJiB2aWRlb0RldmljZXMsIFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtUmVxdWVzdCYmKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc4ZmRjNjA1YTFkYzUwNTdjNjE4YTdjMzIxMjA4Mjlj
Yjg4OWJlNDAuLjNmYzYxMzI2MjM5ZWE4MDcyOTE0MjdiOTUyZDI2ZWY1NzE5M2Q5YjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxOS0xMC0yNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgRW5mb3JjZSB1c2VyIGdlc3R1cmUgZm9yIGdldFVzZXJNZWRpYSBp
biBjYXNlIGEgcHJldmlvdXMgZ2V0VXNlck1lZGlhIGNhbGwgd2FzIGRlbmllZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMzYyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFt
L2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5Lmh0bWw6CisgICAg
ICAgICogZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2Vz
dHVyZS5odG1sOgorCiAyMDE5LTEwLTIzICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBtcDQgdmlkZW8gZWxlbWVudCBicm9rZW4gd2l0aCBzZXJ2aWNlIHdvcmtl
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEt
ZGVueS1wZXJzaXN0ZW5jeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5LWV4cGVjdGVkLnR4dAppbmRleCA0NGJk
YjFlNGMxN2JhZWU1ODE2YjhmNzU0OTIyOGRjYjZkZWY5MTcxLi5jZDJhODViZmQ4NzgxOGFlMDJk
YTI5MjVmNjg1MDZhY2U3NWYzY2U3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAogUEFTUyBUZXN0aW5nIHNhbWUgcGFnZSBn
ZXRVc2VyTWVkaWEgZGVueSBwZXJzaXN0ZW5jeSB3aXRoIGF1ZGlvIGRlbmllZCAKK0ZBSUwgVGVz
dGluZyBnZXRVc2VyTWVkaWEgd2l0aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1cmUgYWZ0ZXIgdXNl
ciBkZW5pZWQgYWNjZXNzIGFzc2VydF91bnJlYWNoZWQ6IFtvYmplY3QgTWVkaWFTdHJlYW1dIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5Lmh0bWwKaW5k
ZXggZTNjNTA4MjkzMTQ2ZDRiYzdiODg3ZDcwYjE2MTk3MjIyMDFlNjM5NS4uYmY3YzMyYTJkNGY3
OWM5N2MzZDk0YzliN2EwYzE2Y2RmM2ViZTZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLWRlbnktcGVyc2lzdGVuY3ku
aHRtbApAQCAtMjksNiArMjksNDEgQEAgcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CiAgICAgICAg
IH0pOwogICAgIH0pOwogfSwgIlRlc3Rpbmcgc2FtZSBwYWdlIGdldFVzZXJNZWRpYSBkZW55IHBl
cnNpc3RlbmN5IHdpdGggYXVkaW8gZGVuaWVkIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5z
ZXRVc2VyTWVkaWFQZXJtaXNzaW9uKGZhbHNlKTsKKworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRp
YURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzpmYWxzZSwgdmlkZW86dHJ1ZX0pLnRoZW4oYXNz
ZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7CisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOmZhbHNlfSkudGhlbihhc3NlcnRf
dW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0pLnRoZW4oYXNzZXJ0X3VucmVh
Y2hlZCwgKGUpID0+IHsgfSk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlck1lZGlhUGVybWlzc2lvbih0cnVlKTsKKworICAgIGF3YWl0IG5h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzpmYWxzZSwgdmlkZW86dHJ1
ZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlLm5hbWUsICJOb3RBbGxvd2VkRXJyb3IiKTsKKyAgICB9KTsKKworICAgIGxldCBwcm9taXNl
OworICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRl
bzp0cnVlfSk7CisgICAgfSk7CisgICAgYXdhaXQgcHJvbWlzZTsKKyAgICBpbnRlcm5hbHMud2l0
aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgcHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzpmYWxzZX0pOworICAgIH0pOwor
ICAgIGF3YWl0IHByb21pc2U7CisKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+
IHsKKyAgICAgICAgcHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlh
KHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSk7CisgICAgfSk7CisgICAgYXdhaXQgcHJvbWlzZTsK
KworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzpm
YWxzZSwgdmlkZW86dHJ1ZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7Cisg
ICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUs
IHZpZGVvOmZhbHNlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBh
d2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlk
ZW86dHJ1ZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7Cit9LCAiVGVzdGlu
ZyBnZXRVc2VyTWVkaWEgd2l0aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1cmUgYWZ0ZXIgdXNlciBk
ZW5pZWQgYWNjZXNzIik7CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11
c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9z
Y3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKaW5kZXggZTM4ZDgwZTg2N2My
Y2Q2MTEyZjAxNDQwMTEyZTVjZTYxOTljOTM2OC4uYWY4MTJkNGY0Y2Y2ZmMwMWVjMTE5YmM2NjY4
YjUxZTFjNWI3ODNkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9z
Y3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw1IEBACiAKIFBBU1MgQWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGwgaW4gY2Fz
ZSBvZiB1c2VyIGdlc3R1cmUgCitQQVNTIERpc2FsbG93IGdldERpc3BsYXlNZWRpYSBjYWxscyBp
biBjYXNlIG9mIHVzZXIgZ2VzdHVyZSBpZiBub3QgdGhlIGZpcnN0IGNhbGwgCiBQQVNTIERlbnkg
Z2V0RGlzcGxheU1lZGlhIGNhbGwgaWYgbm8gdXNlciBnZXN0dXJlIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0
dXJlLmh0bWwKaW5kZXggNGE0NWM2YjUzZjNlMjhjNWVlNWQxMTc3ZjMxNDc2OGVlY2Q2MjFlMy4u
MTVkZDZiZjYzNjkzNzdkMmY4OTI4YzQxZDE0Nzk0ZGNmNTEzMGUwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdl
c3R1cmUuaHRtbApAQCAtMTIsNiArMTIsMjEgQEAgcHJvbWlzZV90ZXN0KCgpID0+IHsKICAgICBy
ZXR1cm4gcHJvbWlzZTsKIH0sICJBbGxvdyBnZXREaXNwbGF5TWVkaWEgY2FsbCBpbiBjYXNlIG9m
IHVzZXIgZ2VzdHVyZSIpOwogCitwcm9taXNlX3Rlc3QoKCkgPT4geworICAgIGxldCBwcm9taXNl
OworICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBjb25zdCBw
cm9taXNlMSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHt2aWRlbyA6
IHRydWV9KTsKKyAgICAgICAgY29uc3QgcHJvbWlzZTIgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldERpc3BsYXlNZWRpYSh7dmlkZW8gOiB0cnVlfSkudGhlbigoKSA9PiB7CisgICAgICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZWplY3QoIlNlY29uZCBwcm9taXNlIHNob3VsZCByZWplY3QiKTsK
KyAgICAgICAgfSwgKCkgPT4geworICAgICAgICAgICAgcmV0dXJuICJTZWNvbmQgcHJvbWlzZSBy
ZWplY3RlZCI7CisgICAgICAgIH0pOworICAgICAgICBwcm9taXNlID0gUHJvbWlzZS5hbGwoW3By
b21pc2UxLCBwcm9taXNlMl0pOworICAgIH0pOworICAgIHJldHVybiBwcm9taXNlOworfSwgIkRp
c2FsbG93IGdldERpc3BsYXlNZWRpYSBjYWxscyBpbiBjYXNlIG9mIHVzZXIgZ2VzdHVyZSBpZiBu
b3QgdGhlIGZpcnN0IGNhbGwiKTsKKworCiBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzKHRlc3QsICJJbnZhbGlkQWNjZXNzRXJyb3IiLCBuYXZpZ2F0
b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7dmlkZW8gOiB0cnVlfSkpOwogfSwgIkRl
bnkgZ2V0RGlzcGxheU1lZGlhIGNhbGwgaWYgbm8gdXNlciBnZXN0dXJlIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381817</attachid>
            <date>2019-10-24 09:31:50 -0700</date>
            <delta_ts>2019-10-25 10:00:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203362-20191024183148.patch</filename>
            <type>text/plain</type>
            <size>18955</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDM1ZTBjMThmZDVlZWZm
ZmRmMTY2ZWU1YWZiOTVmMGZhMDM4NDk0MC4uMzZkNTc3NTdmYTkwZDVlZjM4YjMyZTRkZDFmYzQw
MWZlNTBmYWZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTI0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2Vz
dHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2Fs
bCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDb21wdXRlIHdoZXRoZXIgYSBtZWRpYSByZXF1ZXN0IGlzIHVzZXIgcHJpdmlsZWRnZWQg
b3Igbm90LgorICAgICAgICBJdCBpcyBwcml2aWxlZGdlZCBpZiBpdCBpcyBjcmVhdGVkIGFzIHBh
cnQgb2YgYSB1c2VyIGdlc3R1cmUgYW5kIG5vIHJlcXVlc3Qgb2YgdGhlIHNhbWUgdHlwZQorICAg
ICAgICBoYXMgYmVlbiBwcmV2aW91c2x5IGNyZWF0ZWQgZm9yIHRoZSBzYW1lIHVzZXIgZ2VzdHVy
ZS4gCisgICAgICAgIElmIGdldERpc3BsYXlNZWRpYSBpcyBjYWxsZWQgdHdpY2UgYXMgcGFydCBv
ZiBhIHNpbmdsZSB1c2VyIGdlc3R1cmUsIGdldERpc3BsYU1lZGlhIHdpbGwgcmVqZWN0IGZvciB0
aGUgc2Vjb25kIGNhbGwuCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRGV2aWNlczo6Y29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYURldmljZXM6OmdldFVzZXJNZWRpYSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtUmVxdWVzdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtUmVxdWVzdDo6ZGVjb2RlKToKKwogMjAxOS0xMC0yNCAgQW50dGkgS29pdmlzdG8g
IDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBNYXRjaFJlc3VsdCBhbmQgcmVsYXRl
ZCB0eXBlcyBvdXQgb2YgU3R5bGVSZXNvbHZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NDkzY2RmMWVmZWUwMTQy
YmE2YTJjMjkzYjg4MzA1YzU0MTM1MGRkLi5kZjE1MmI3MjNmM2QzNTJkNTAxMGQ2M2ZlZjZhNDU4
Njc5MDgxYzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTEwLTI0ICB5b3Vlbm4g
ZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2VzdHVy
ZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2FsbCB3
YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBjYXNlIHRoZSByZXF1ZXN0IGhhcyB1c2VyIGdlc3R1cmUgcHJpdmlsZWRnZSwgZG8gbm90
IGxvb2sgYXQgZGVuaWVkIHJlcXVlc3QgaGlzdG9yeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpnZXRSZXF1ZXN0QWN0
aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eS5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojpp
c1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgY29uc3QpOgorCiAyMDE5LTEwLTI0ICBDYXJsb3MgQWxi
ZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQ
RV0gRW5hYmxlIHJ1bnRpbWUgc2V0dGluZyB3aXRoIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyBmb3Ig
U2VydmVyIFRpbWluZyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLmNwcAppbmRleCAzMWI0NTY1MzI5YjZiZTczOGExMmJmODE5ZWY5
YzYzNjU0ZGQ3Y2E5Li4zMjI1YTliMWQ4OGFmYTUzZjlhNjY1N2FlZTRkZTk4NmJjZjdkOTg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIK
ICNpbmNsdWRlICJNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJS
ZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKKyNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGlj
YXRvci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFSZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTEw
NCw3ICsxMDUsMjAgQEAgc3RhdGljIE1lZGlhQ29uc3RyYWludHMgY3JlYXRlTWVkaWFDb25zdHJh
aW50cyhjb25zdCBWYXJpYW50PGJvb2wsIE1lZGlhVHJhY2tDb24KICAgICApOwogfQogCi12b2lk
IE1lZGlhRGV2aWNlczo6Z2V0VXNlck1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiBjb25z
dHJhaW50cywgUHJvbWlzZSYmIHByb21pc2UpIGNvbnN0Citib29sIE1lZGlhRGV2aWNlczo6Y29t
cHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0dXJlQWxsb3dlZFJlcXVlc3QgcmVxdWVzdFR5
cGUpCit7CisgICAgYXV0byogY3VycmVudEdlc3R1cmVUb2tlbiA9IFVzZXJHZXN0dXJlSW5kaWNh
dG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKS5nZXQoKTsKKyAgICBpZiAobV9jdXJyZW50R2VzdHVy
ZVRva2VuICE9IGN1cnJlbnRHZXN0dXJlVG9rZW4pIHsKKyAgICAgICAgbV9jdXJyZW50R2VzdHVy
ZVRva2VuID0gY3VycmVudEdlc3R1cmVUb2tlbjsKKyAgICAgICAgbV9yZXF1ZXN0VHlwZXNGb3JD
dXJyZW50R2VzdHVyZSA9IHsgfTsKKyAgICB9CisKKyAgICBib29sIGlzVXNlckdlc3R1cmVQcml2
aWxlZGdlZCA9IG1fY3VycmVudEdlc3R1cmVUb2tlbiAmJiAhbV9yZXF1ZXN0VHlwZXNGb3JDdXJy
ZW50R2VzdHVyZS5jb250YWlucyhyZXF1ZXN0VHlwZSk7CisgICAgbV9yZXF1ZXN0VHlwZXNGb3JD
dXJyZW50R2VzdHVyZS5hZGQocmVxdWVzdFR5cGUpOworICAgIHJldHVybiBpc1VzZXJHZXN0dXJl
UHJpdmlsZWRnZWQ7Cit9CisKK3ZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEoY29uc3Qg
U3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAg
ICBhdXRvKiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCkK
QEAgLTExMiwyNSArMTI2LDM0IEBAIHZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEoY29u
c3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYKIAogICAgIGF1dG8g
YXVkaW9Db25zdHJhaW50cyA9IGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMuYXVk
aW8pOwogICAgIGF1dG8gdmlkZW9Db25zdHJhaW50cyA9IGNyZWF0ZU1lZGlhQ29uc3RyYWludHMo
Y29uc3RyYWludHMudmlkZW8pOwotICAgIGlmICh2aWRlb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisK
KyAgICBib29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCA9IGZhbHNlOworCisgICAgaWYgKGF1
ZGlvQ29uc3RyYWludHMuaXNWYWxpZCkKKyAgICAgICAgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2Vk
IHw9IGNvbXB1dGVVc2VyR2VzdHVyZVByaXZpbGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0OjpN
aWNyb3Bob25lKTsKKworICAgIGlmICh2aWRlb0NvbnN0cmFpbnRzLmlzVmFsaWQpIHsKKyAgICAg
ICAgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIHw9IGNvbXB1dGVVc2VyR2VzdHVyZVByaXZpbGVk
Z2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0OjpDYW1lcmEpOwogICAgICAgICB2aWRlb0NvbnN0cmFp
bnRzLnNldERlZmF1bHRWaWRlb0NvbnN0cmFpbnRzKCk7CisgICAgfQogCi0gICAgYXV0byByZXF1
ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJl
cXVlc3Q6OlR5cGU6OlVzZXJNZWRpYSwgV1RGTW92ZShhdWRpb0NvbnN0cmFpbnRzKSwgV1RGTW92
ZSh2aWRlb0NvbnN0cmFpbnRzKSB9LCBXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBhdXRvIHJlcXVl
c3QgPSBVc2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCB7IE1lZGlhU3RyZWFtUmVx
dWVzdDo6VHlwZTo6VXNlck1lZGlhLCBXVEZNb3ZlKGF1ZGlvQ29uc3RyYWludHMpLCBXVEZNb3Zl
KHZpZGVvQ29uc3RyYWludHMpLCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgfSwgV1RGTW92ZShw
cm9taXNlKSk7CiAgICAgcmVxdWVzdC0+c3RhcnQoKTsKIH0KIAotdm9pZCBNZWRpYURldmljZXM6
OmdldERpc3BsYXlNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYgY29uc3RyYWludHMsIFBy
b21pc2UmJiBwcm9taXNlKSBjb25zdAordm9pZCBNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRp
YShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYgY29uc3RyYWludHMsIFByb21pc2UmJiBwcm9taXNl
KQogewogICAgIGF1dG8qIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRv
Y3VtZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoIW1fZGlzYWJsZUdldERpc3BsYXlN
ZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCAmJiAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nl
c3NpbmdVc2VyR2VzdHVyZSgpKSB7CisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQg
PSBjb21wdXRlVXNlckdlc3R1cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdDo6RGlz
cGxheSk7CisgICAgaWYgKCFtX2Rpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0
cmFpbnQgJiYgIWlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkgewogICAgICAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IsICJnZXREaXNwbGF5TWVkaWEgbXVz
dCBiZSBjYWxsZWQgZnJvbSBhIHVzZXIgZ2VzdHVyZSBoYW5kbGVyLiJfcyB9KTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gcmVxdWVzdCA9IFVzZXJNZWRpYVJlcXVlc3Q6OmNy
ZWF0ZSgqZG9jdW1lbnQsIHsgTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEs
IHsgfSwgY3JlYXRlTWVkaWFDb25zdHJhaW50cyhjb25zdHJhaW50cy52aWRlbykgfSwgV1RGTW92
ZShwcm9taXNlKSk7CisgICAgYXV0byByZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRl
KCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGU6OkRpc3BsYXlNZWRpYSwgeyB9
LCBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRzLnZpZGVvKSwgaXNVc2VyR2VzdHVy
ZVByaXZpbGVkZ2VkIH0sIFdURk1vdmUocHJvbWlzZSkpOwogICAgIHJlcXVlc3QtPnN0YXJ0KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2
aWNlcy5oCmluZGV4IDUzOTVlYjg0ODJmOGM3NGQ1ZGMwZDZjNTkzMGQ0OWEyMjY3MjBhM2YuLjlj
OWYxOWM4ZDM4YWVkNGEyNjEyNTI4NzczOWNlYzZiYWY0NjkzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaApAQCAtNDksNiArNDks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhRGV2
aWNlSW5mbzsKIGNsYXNzIE1lZGlhU3RyZWFtOworY2xhc3MgVXNlckdlc3R1cmVUb2tlbjsKIAog
c3RydWN0IE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czsKIApAQCAtNzcsOCArNzgsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFZhcmlhbnQ8Ym9vbCwgTWVkaWFUcmFja0NvbnN0cmFpbnRzPiB2
aWRlbzsKICAgICAgICAgVmFyaWFudDxib29sLCBNZWRpYVRyYWNrQ29uc3RyYWludHM+IGF1ZGlv
OwogICAgIH07Ci0gICAgdm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMm
LCBQcm9taXNlJiYpIGNvbnN0OwotICAgIHZvaWQgZ2V0RGlzcGxheU1lZGlhKGNvbnN0IFN0cmVh
bUNvbnN0cmFpbnRzJiwgUHJvbWlzZSYmKSBjb25zdDsKKyAgICB2b2lkIGdldFVzZXJNZWRpYShj
b25zdCBTdHJlYW1Db25zdHJhaW50cyYsIFByb21pc2UmJik7CisgICAgdm9pZCBnZXREaXNwbGF5
TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9taXNlJiYpOwogICAgIHZvaWQgZW51
bWVyYXRlRGV2aWNlcyhFbnVtZXJhdGVEZXZpY2VzUHJvbWlzZSYmKTsKICAgICBNZWRpYVRyYWNr
U3VwcG9ydGVkQ29uc3RyYWludHMgZ2V0U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKIApAQCAtMTA5
LDYgKzExMCwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7
IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9
CiAKKyAgICBlbnVtIGNsYXNzIEdlc3R1cmVBbGxvd2VkUmVxdWVzdCB7CisgICAgICAgIE1pY3Jv
cGhvbmUgPSAxIDw8IDAsCisgICAgICAgIENhbWVyYSA9IDEgPDwgMSwKKyAgICAgICAgRGlzcGxh
eSA9IDEgPDwgMiwKKyAgICB9OworICAgIGJvb2wgY29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRn
ZShHZXN0dXJlQWxsb3dlZFJlcXVlc3QpOworCiAgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVudFRp
bWVyOwogICAgIFVzZXJNZWRpYUNsaWVudDo6RGV2aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlbiBtX2Rl
dmljZUNoYW5nZVRva2VuOwogICAgIGNvbnN0IEV2ZW50TmFtZXMmIG1fZXZlbnROYW1lczsgLy8g
TmVlZCB0byBjYWNoZSB0aGlzIHNvIHdlIGNhbiB1c2UgaXQgZnJvbSBHQyB0aHJlYWRzLgpAQCAt
MTE4LDYgKzEyNiw5IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJlZjxNZWRpYURldmljZUluZm8+
PiBtX2RldmljZXM7CiAgICAgYm9vbCBtX2NhbkFjY2Vzc0NhbWVyYSB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2NhbkFjY2Vzc01pY3JvcGhvbmUgeyBmYWxzZSB9OworCisgICAgT3B0aW9uU2V0PEdl
c3R1cmVBbGxvd2VkUmVxdWVzdD4gbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZTsKKyAg
ICBVc2VyR2VzdHVyZVRva2VuKiBtX2N1cnJlbnRHZXN0dXJlVG9rZW4geyBudWxscHRyIH07CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oCmluZGV4IDlhNzI3MDE4
M2RmMmE1NWM0MmM0MjZkYzdjNjVmMDFhYmQzODA4ODUuLjAwNDU4MmY4ZjUwOWJlNGRmOWQxZDA5
YjU3Njg0ZjRjYmZlODE5MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oCkBAIC0zMyw5ICszMywxMCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgIGVu
dW0gY2xhc3MgVHlwZSB7IFVzZXJNZWRpYSwgRGlzcGxheU1lZGlhIH07Ci0gICAgVHlwZSB0eXBl
OworICAgIFR5cGUgdHlwZSB7IFR5cGU6OlVzZXJNZWRpYSB9OwogICAgIE1lZGlhQ29uc3RyYWlu
dHMgYXVkaW9Db25zdHJhaW50czsKICAgICBNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWlu
dHM7CisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgeyBmYWxzZSB9OwogCiAgICAg
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdApAQCAtNDMsMTIgKzQ0LDEzIEBAIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3Qgewog
ICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0odHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgYXVk
aW9Db25zdHJhaW50czsKICAgICAgICAgZW5jb2RlciA8PCB2aWRlb0NvbnN0cmFpbnRzOworICAg
ICAgICBlbmNvZGVyIDw8IGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZDsKICAgICB9CiAKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhU3RyZWFtUmVxdWVz
dD4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewogICAgICAgICBNZWRpYVN0cmVhbVJl
cXVlc3QgcmVxdWVzdDsKLSAgICAgICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5
cGUpICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rl
ci5kZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSkKKyAgICAgICAgaWYgKGRlY29kZXIu
ZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUpICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9D
b25zdHJhaW50cykgJiYgZGVjb2Rlci5kZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSAm
JiBkZWNvZGVyLmRlY29kZShyZXF1ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkpCiAgICAg
ICAgICAgICByZXR1cm4gcmVxdWVzdDsKIAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDEzYjUyMGEzODUwMGU0N2Zi
OGYyYzQ4NTVlMGIwNDQyMDZjYjZjNWEuLjVhODk0N2EyNzE2MTU3ZDA0ZTliNzljNmQ5OTA5YmQz
YjNjZjYzZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTM0NSw3
ICszNDUsNyBAQCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6UmVxdWVz
dEFjdGlvbiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdAogICAgIEFTU0VSVCghKHJlcXVlc3Rp
bmdTY3JlZW5DYXB0dXJlICYmICFyZXF1ZXN0Lmhhc1ZpZGVvRGV2aWNlKCkpKTsKICAgICBBU1NF
UlQoIShyZXF1ZXN0aW5nU2NyZWVuQ2FwdHVyZSAmJiByZXF1ZXN0aW5nTWljcm9waG9uZSkpOwog
Ci0gICAgaWYgKHdhc1JlcXVlc3REZW5pZWQocmVxdWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNl
ck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRT
ZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0aW5nTWljcm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwg
cmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUpKQorICAgIGlmICghcmVxdWVzdC5pc1VzZXJHZXN0dXJl
UHJpdmlsZWRnZWQoKSAmJiB3YXNSZXF1ZXN0RGVuaWVkKHJlcXVlc3QuZnJhbWVJRCgpLCByZXF1
ZXN0LnVzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC50b3BMZXZlbERv
Y3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdGluZ01pY3JvcGhvbmUsIHJlcXVlc3RpbmdD
YW1lcmEsIHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlKSkKICAgICAgICAgcmV0dXJuIFJlcXVlc3RB
Y3Rpb246OkRlbnk7CiAKICAgICBpZiAocmVxdWVzdC5yZXF1ZXN0VHlwZSgpID09IE1lZGlhU3Ry
ZWFtUmVxdWVzdDo6VHlwZTo6RGlzcGxheU1lZGlhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oCmluZGV4IGJh
NGUwYTM0NzE2MDMxYjE4ZjA4NWNmZDAxYTczNTE3NzhhMDMwNTguLjdkODI0OTcyMGNmZWI1Y2Y5
NDQ4Mjc4ZDhjZDdlMDYyZmM3ZTU3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKQEAgLTg0LDYgKzg0
LDggQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UgYXVkaW9EZXZpY2UoKSBj
b25zdCB7IHJldHVybiBtX2VsaWdpYmxlQXVkaW9EZXZpY2VzLmlzRW1wdHkoKSA/IFdlYkNvcmU6
OkNhcHR1cmVEZXZpY2UgeyB9IDogbV9lbGlnaWJsZUF1ZGlvRGV2aWNlc1swXTsgfQogICAgIFdl
YkNvcmU6OkNhcHR1cmVEZXZpY2UgdmlkZW9EZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2VsaWdp
YmxlVmlkZW9EZXZpY2VzLmlzRW1wdHkoKSA/IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UgeyB9IDog
bV9lbGlnaWJsZVZpZGVvRGV2aWNlc1swXTsgfQogCisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJp
dmlsZWRnZWQoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3QuaXNVc2VyR2VzdHVyZVByaXZpbGVk
Z2VkOyB9CisKIHByaXZhdGU6CiAgICAgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eShV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYsIHVpbnQ2NF90IHVzZXJNZWRp
YUlELCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgbWFpbkZyYW1lSUQsIFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciwgUmVmPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURvY3Vt
ZW50T3JpZ2luLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxEb2N1bWVu
dE9yaWdpbiwgVmVjdG9yPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U+JiYgYXVkaW9EZXZpY2VzLCBW
ZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmljZT4mJiB2aWRlb0RldmljZXMsIFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtUmVxdWVzdCYmKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGU4ZmI4ZjUwOTI5NmQyNjA0MzMwYTNkMmU1MTc4NThkODY2ZGRm
MmUuLjU4MTQzYmIxZjgwM2VmNTlmNDE2MTU5Zjg0ZTRmOTg4NzQ2ODRhZDYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMC0yNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
RW5mb3JjZSB1c2VyIGdlc3R1cmUgZm9yIGdldFVzZXJNZWRpYSBpbiBjYXNlIGEgcHJldmlvdXMg
Z2V0VXNlck1lZGlhIGNhbGwgd2FzIGRlbmllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3QgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhl
IGFiaWxpdHkgdG8gcmVhc2sgcGVybWlzc2lvbi4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1RfRik6CisKIDIwMTktMTAtMjMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgW2lPUyAxM10gaW1wb3J0ZWQvbW96aWxsYS9zdmcvdGV4dC90
ZXh0cGF0aC1zZWxlY3Rpb24uc3ZnIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhLm1tCmluZGV4IDQxYTVl
NmZlYmUzNDMzMTlkYWIzOWIzODM5ZGExMzE3YmFhYzUzOWYuLjk1YWRjYTlhMmQ3YzlmYWMwZTEw
NGZhNDMzNjU2NTNlZmE1ODc4YWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhLm1tCkBAIC0xODAsOCArMTgwLDcg
QEAgVEVTVF9GKEdldERpc3BsYXlNZWRpYVRlc3QsIFByb21wdE9uY2VBZnRlckRlbmlhbCkKICAg
ICBzaG91bGREZW55ID0gdHJ1ZTsKICAgICBwcm9tcHRGb3JDYXB0dXJlKEAieyB2aWRlbzogdHJ1
ZSB9IiwgZmFsc2UpOwogICAgIHNob3VsZERlbnkgPSBmYWxzZTsKLSAgICBwcm9tcHRGb3JDYXB0
dXJlKEAieyB2aWRlbzogdHJ1ZSB9IiwgZmFsc2UpOwotICAgIHByb21wdEZvckNhcHR1cmUoQCJ7
IHZpZGVvOiB0cnVlIH0iLCBmYWxzZSk7CisgICAgcHJvbXB0Rm9yQ2FwdHVyZShAInsgdmlkZW86
IHRydWUgfSIsIHRydWUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggY2U4NWM1N2YyZmI3MzFmMTZlZGZhOTJiYjFhNTY4YWViODI5ZWJlYy4uMWNlNzQ5ZDM3MjIz
NmRkODQ4ZTI2OGRhOTcyOTM1NGU4MTE5YTI5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTEwLTI0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZv
cmNlIHVzZXIgZ2VzdHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRV
c2VyTWVkaWEgY2FsbCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLWRlbnktcGVy
c2lzdGVuY3ktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNl
ck1lZGlhLWRlbnktcGVyc2lzdGVuY3kuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFt
L3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWw6CisKIDIwMTktMTAt
MjQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUg
TGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtYWN0aXZlLWZldGNoLXJlcXVlc3Qt
YmxvYlJlYWRBc1JlYWRhYmxlU3RyZWFtLmh0bWwgdGVzdCBjb3ZlcmFnZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5j
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRp
YS1kZW55LXBlcnNpc3RlbmN5LWV4cGVjdGVkLnR4dAppbmRleCA0NGJkYjFlNGMxN2JhZWU1ODE2
YjhmNzU0OTIyOGRjYjZkZWY5MTcxLi5jZDJhODViZmQ4NzgxOGFlMDJkYTI5MjVmNjg1MDZhY2U3
NWYzY2U3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJN
ZWRpYS1kZW55LXBlcnNpc3RlbmN5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5LWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDQgQEAKIAogUEFTUyBUZXN0aW5nIHNhbWUgcGFnZSBnZXRVc2VyTWVkaWEgZGVu
eSBwZXJzaXN0ZW5jeSB3aXRoIGF1ZGlvIGRlbmllZCAKK0ZBSUwgVGVzdGluZyBnZXRVc2VyTWVk
aWEgd2l0aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1cmUgYWZ0ZXIgdXNlciBkZW5pZWQgYWNjZXNz
IGFzc2VydF91bnJlYWNoZWQ6IFtvYmplY3QgTWVkaWFTdHJlYW1dIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVz
ZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5Lmh0bWwKaW5kZXggZTNjNTA4MjkzMTQ2
ZDRiYzdiODg3ZDcwYjE2MTk3MjIyMDFlNjM5NS4uYmY3YzMyYTJkNGY3OWM5N2MzZDk0YzliN2Ew
YzE2Y2RmM2ViZTZlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9n
ZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLWRlbnktcGVyc2lzdGVuY3kuaHRtbApAQCAtMjksNiAr
MjksNDEgQEAgcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CiAgICAgICAgIH0pOwogICAgIH0pOwog
fSwgIlRlc3Rpbmcgc2FtZSBwYWdlIGdldFVzZXJNZWRpYSBkZW55IHBlcnNpc3RlbmN5IHdpdGgg
YXVkaW8gZGVuaWVkIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJt
aXNzaW9uKGZhbHNlKTsKKworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhKHthdWRpbzpmYWxzZSwgdmlkZW86dHJ1ZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwg
KGUpID0+IHsgfSk7CisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVk
aWEoe2F1ZGlvOnRydWUsIHZpZGVvOmZhbHNlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkg
PT4geyB9KTsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7
YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsg
fSk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlck1lZGlhUGVybWlzc2lvbih0cnVlKTsKKworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzpmYWxzZSwgdmlkZW86dHJ1ZX0pLnRoZW4oYXNzZXJ0
X3VucmVhY2hlZCwgKGUpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlLm5hbWUsICJOb3RB
bGxvd2VkRXJyb3IiKTsKKyAgICB9KTsKKworICAgIGxldCBwcm9taXNlOworICAgIGludGVybmFs
cy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBwcm9taXNlID0gbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVlfSk7CisgICAg
fSk7CisgICAgYXdhaXQgcHJvbWlzZTsKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgp
ID0+IHsKKyAgICAgICAgcHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhKHthdWRpbzp0cnVlLCB2aWRlbzpmYWxzZX0pOworICAgIH0pOworICAgIGF3YWl0IHByb21p
c2U7CisKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgcHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2
aWRlbzp0cnVlfSk7CisgICAgfSk7CisgICAgYXdhaXQgcHJvbWlzZTsKKworICAgIGF3YWl0IG5h
dmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzpmYWxzZSwgdmlkZW86dHJ1
ZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7CisgICAgYXdhaXQgbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOmZhbHNlfSku
dGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBhd2FpdCBuYXZpZ2F0b3Iu
bWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0pLnRoZW4o
YXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7Cit9LCAiVGVzdGluZyBnZXRVc2VyTWVkaWEg
d2l0aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1cmUgYWZ0ZXIgdXNlciBkZW5pZWQgYWNjZXNzIik7
CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVz
ZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKaW5kZXggZTM4ZDgwZTg2N2MyY2Q2MTEyZjAxNDQwMTEy
ZTVjZTYxOTljOTM2OC4uYWY4MTJkNGY0Y2Y2ZmMwMWVjMTE5YmM2NjY4YjUxZTFjNWI3ODNkOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVz
ZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBA
CiAKIFBBU1MgQWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGwgaW4gY2FzZSBvZiB1c2VyIGdlc3R1
cmUgCitQQVNTIERpc2FsbG93IGdldERpc3BsYXlNZWRpYSBjYWxscyBpbiBjYXNlIG9mIHVzZXIg
Z2VzdHVyZSBpZiBub3QgdGhlIGZpcnN0IGNhbGwgCiBQQVNTIERlbnkgZ2V0RGlzcGxheU1lZGlh
IGNhbGwgaWYgbm8gdXNlciBnZXN0dXJlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwKaW5kZXgg
NGE0NWM2YjUzZjNlMjhjNWVlNWQxMTc3ZjMxNDc2OGVlY2Q2MjFlMy4uMTVkZDZiZjYzNjkzNzdk
MmY4OTI4YzQxZDE0Nzk0ZGNmNTEzMGUwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbApAQCAt
MTIsNiArMTIsMjEgQEAgcHJvbWlzZV90ZXN0KCgpID0+IHsKICAgICByZXR1cm4gcHJvbWlzZTsK
IH0sICJBbGxvdyBnZXREaXNwbGF5TWVkaWEgY2FsbCBpbiBjYXNlIG9mIHVzZXIgZ2VzdHVyZSIp
OwogCitwcm9taXNlX3Rlc3QoKCkgPT4geworICAgIGxldCBwcm9taXNlOworICAgIGludGVybmFs
cy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBjb25zdCBwcm9taXNlMSA9IG5hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHt2aWRlbyA6IHRydWV9KTsKKyAgICAg
ICAgY29uc3QgcHJvbWlzZTIgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRp
YSh7dmlkZW8gOiB0cnVlfSkudGhlbigoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gUHJvbWlz
ZS5yZWplY3QoIlNlY29uZCBwcm9taXNlIHNob3VsZCByZWplY3QiKTsKKyAgICAgICAgfSwgKCkg
PT4geworICAgICAgICAgICAgcmV0dXJuICJTZWNvbmQgcHJvbWlzZSByZWplY3RlZCI7CisgICAg
ICAgIH0pOworICAgICAgICBwcm9taXNlID0gUHJvbWlzZS5hbGwoW3Byb21pc2UxLCBwcm9taXNl
Ml0pOworICAgIH0pOworICAgIHJldHVybiBwcm9taXNlOworfSwgIkRpc2FsbG93IGdldERpc3Bs
YXlNZWRpYSBjYWxscyBpbiBjYXNlIG9mIHVzZXIgZ2VzdHVyZSBpZiBub3QgdGhlIGZpcnN0IGNh
bGwiKTsKKworCiBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzKHRlc3QsICJJbnZhbGlkQWNjZXNzRXJyb3IiLCBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldERpc3BsYXlNZWRpYSh7dmlkZW8gOiB0cnVlfSkpOwogfSwgIkRlbnkgZ2V0RGlzcGxheU1l
ZGlhIGNhbGwgaWYgbm8gdXNlciBnZXN0dXJlIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381936</attachid>
            <date>2019-10-25 10:00:55 -0700</date>
            <delta_ts>2019-11-04 02:17:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203362-20191025190053.patch</filename>
            <type>text/plain</type>
            <size>18885</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UzODZhMDg5Y2EwN2U3
ZGNiOTRiOWI1MWRmMDU1NGIzNDM5NjcyMi4uYTU1MDBmNzFiMzgwNDA4OWM3MWZhMDhiZTRkMWYz
NjIzNjE2MDA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTEwLTI1ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2Vz
dHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2Fs
bCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDb21wdXRlIHdoZXRoZXIgYSBtZWRpYSByZXF1ZXN0IGlzIHVzZXIgcHJpdmlsZWRnZWQg
b3Igbm90LgorICAgICAgICBJdCBpcyBwcml2aWxlZGdlZCBpZiBpdCBpcyBjcmVhdGVkIGFzIHBh
cnQgb2YgYSB1c2VyIGdlc3R1cmUgYW5kIG5vIHJlcXVlc3Qgb2YgdGhlIHNhbWUgdHlwZQorICAg
ICAgICBoYXMgYmVlbiBwcmV2aW91c2x5IGNyZWF0ZWQgZm9yIHRoZSBzYW1lIHVzZXIgZ2VzdHVy
ZS4gCisgICAgICAgIElmIGdldERpc3BsYXlNZWRpYSBpcyBjYWxsZWQgdHdpY2UgYXMgcGFydCBv
ZiBhIHNpbmdsZSB1c2VyIGdlc3R1cmUsIGdldERpc3BsYU1lZGlhIHdpbGwgcmVqZWN0IGZvciB0
aGUgc2Vjb25kIGNhbGwuCisKKyAgICAgICAgVGVzdDogZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2Vy
TWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUuaHRtbCBhbmQgdXBkYXRlZCB0ZXN0LgorCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFEZXZpY2VzOjpjb21wdXRlVXNlckdlc3R1cmVQcml2aWxlZGdlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhRGV2aWNlczo6Z2V0VXNlck1lZGlhKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRGV2aWNlczo6Z2V0RGlzcGxheU1lZGlhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RGV2aWNlczo6Z2V0VXNlck1lZGlhIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRGV2aWNlczo6Z2V0RGlzcGxheU1lZGlhIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1SZXF1ZXN0OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1SZXF1ZXN0OjpkZWNvZGUpOgorCiAyMDE5LTEwLTI1ICB5b3Vlbm4gZmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgQXVkaW9UcmFja1ByaXZhdGVNZWRp
YVN0cmVhbUNvY29hOjpjbGVhcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyZTkyMzIxOWRmMjQ5N2QzNjQxYTZi
OWI4MjM1ODkyMDJiZTY4MTEuLjMwNmNiY2E5YzQ5NTMwMDFmZGY1YWIzOGY3YzBmMDI0ODU2ZDdj
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMTAtMjUgIHlvdWVubiBmYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuZm9yY2UgdXNlciBnZXN0dXJlIGZvciBn
ZXRVc2VyTWVkaWEgaW4gY2FzZSBhIHByZXZpb3VzIGdldFVzZXJNZWRpYSBjYWxsIHdhcyBkZW5p
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzM2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNh
c2UgdGhlIHJlcXVlc3QgaGFzIHVzZXIgZ2VzdHVyZSBwcml2aWxlZGdlLCBkbyBub3QgbG9vayBh
dCBkZW5pZWQgcmVxdWVzdCBoaXN0b3J5LgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmdldFJlcXVlc3RBY3Rpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmlzVXNlckdl
c3R1cmVQcml2aWxlZGdlZCBjb25zdCk6CisKIDIwMTktMTAtMjUgIHlvdWVubiBmYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYlByb2Nlc3Mgc2hvdWxkIHVucmVnaXN0ZXIg
aXRzIGludGVyZXN0IGZvciBhIFNXU2VydmVyUmVnaXN0cmF0aW9uIHdoZW4gYWxsIGl0cyBjb3Jy
ZXNwb25kaW5nIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zIGFyZSBkZXN0cm95ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcApp
bmRleCAzMWI0NTY1MzI5YjZiZTczOGExMmJmODE5ZWY5YzYzNjU0ZGQ3Y2E5Li4zMjI1YTliMWQ4
OGFmYTUzZjlhNjY1N2FlZTRkZTk4NmJjZjdkOTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCkBAIC00MSw2ICs0MSw3IEBA
CiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIKICNpbmNsdWRlICJNZWRpYVRyYWNrU3Vw
cG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlU2V0dGlu
Z3MuaCIKKyNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgIlVzZXJN
ZWRpYUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTEwNCw3ICsxMDUsMjAgQEAgc3RhdGljIE1l
ZGlhQ29uc3RyYWludHMgY3JlYXRlTWVkaWFDb25zdHJhaW50cyhjb25zdCBWYXJpYW50PGJvb2ws
IE1lZGlhVHJhY2tDb24KICAgICApOwogfQogCi12b2lkIE1lZGlhRGV2aWNlczo6Z2V0VXNlck1l
ZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgUHJvbWlzZSYmIHByb21p
c2UpIGNvbnN0Citib29sIE1lZGlhRGV2aWNlczo6Y29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRn
ZShHZXN0dXJlQWxsb3dlZFJlcXVlc3QgcmVxdWVzdFR5cGUpCit7CisgICAgYXV0byogY3VycmVu
dEdlc3R1cmVUb2tlbiA9IFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUo
KS5nZXQoKTsKKyAgICBpZiAobV9jdXJyZW50R2VzdHVyZVRva2VuICE9IGN1cnJlbnRHZXN0dXJl
VG9rZW4pIHsKKyAgICAgICAgbV9jdXJyZW50R2VzdHVyZVRva2VuID0gY3VycmVudEdlc3R1cmVU
b2tlbjsKKyAgICAgICAgbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZSA9IHsgfTsKKyAg
ICB9CisKKyAgICBib29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCA9IG1fY3VycmVudEdlc3R1
cmVUb2tlbiAmJiAhbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZS5jb250YWlucyhyZXF1
ZXN0VHlwZSk7CisgICAgbV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZS5hZGQocmVxdWVz
dFR5cGUpOworICAgIHJldHVybiBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQ7Cit9CisKK3ZvaWQg
TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0
cmFpbnRzLCBQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBhdXRvKiBkb2N1bWVudCA9IHRoaXMt
PmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCkKQEAgLTExMiwyNSArMTI2LDM0IEBAIHZv
aWQgTWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNv
bnN0cmFpbnRzLCBQcm9taXNlJiYKIAogICAgIGF1dG8gYXVkaW9Db25zdHJhaW50cyA9IGNyZWF0
ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMuYXVkaW8pOwogICAgIGF1dG8gdmlkZW9Db25z
dHJhaW50cyA9IGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMudmlkZW8pOwotICAg
IGlmICh2aWRlb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisKKyAgICBib29sIGlzVXNlckdlc3R1cmVQ
cml2aWxlZGdlZCA9IGZhbHNlOworCisgICAgaWYgKGF1ZGlvQ29uc3RyYWludHMuaXNWYWxpZCkK
KyAgICAgICAgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIHw9IGNvbXB1dGVVc2VyR2VzdHVyZVBy
aXZpbGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0OjpNaWNyb3Bob25lKTsKKworICAgIGlmICh2
aWRlb0NvbnN0cmFpbnRzLmlzVmFsaWQpIHsKKyAgICAgICAgaXNVc2VyR2VzdHVyZVByaXZpbGVk
Z2VkIHw9IGNvbXB1dGVVc2VyR2VzdHVyZVByaXZpbGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0
OjpDYW1lcmEpOwogICAgICAgICB2aWRlb0NvbnN0cmFpbnRzLnNldERlZmF1bHRWaWRlb0NvbnN0
cmFpbnRzKCk7CisgICAgfQogCi0gICAgYXV0byByZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6
Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5cGU6OlVzZXJNZWRpYSwg
V1RGTW92ZShhdWRpb0NvbnN0cmFpbnRzKSwgV1RGTW92ZSh2aWRlb0NvbnN0cmFpbnRzKSB9LCBX
VEZNb3ZlKHByb21pc2UpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBVc2VyTWVkaWFSZXF1ZXN0Ojpj
cmVhdGUoKmRvY3VtZW50LCB7IE1lZGlhU3RyZWFtUmVxdWVzdDo6VHlwZTo6VXNlck1lZGlhLCBX
VEZNb3ZlKGF1ZGlvQ29uc3RyYWludHMpLCBXVEZNb3ZlKHZpZGVvQ29uc3RyYWludHMpLCBpc1Vz
ZXJHZXN0dXJlUHJpdmlsZWRnZWQgfSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgcmVxdWVzdC0+
c3RhcnQoKTsKIH0KIAotdm9pZCBNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYShjb25zdCBT
dHJlYW1Db25zdHJhaW50cyYgY29uc3RyYWludHMsIFByb21pc2UmJiBwcm9taXNlKSBjb25zdAor
dm9pZCBNZWRpYURldmljZXM6OmdldERpc3BsYXlNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50
cyYgY29uc3RyYWludHMsIFByb21pc2UmJiBwcm9taXNlKQogewogICAgIGF1dG8qIGRvY3VtZW50
ID0gdGhpcy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50KQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAoIW1fZGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWlu
dCAmJiAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSB7Cisg
ICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgPSBjb21wdXRlVXNlckdlc3R1cmVQcml2
aWxlZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdDo6RGlzcGxheSk7CisgICAgaWYgKCFtX2Rpc2Fi
bGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgJiYgIWlzVXNlckdlc3R1cmVQ
cml2aWxlZGdlZCkgewogICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlk
QWNjZXNzRXJyb3IsICJnZXREaXNwbGF5TWVkaWEgbXVzdCBiZSBjYWxsZWQgZnJvbSBhIHVzZXIg
Z2VzdHVyZSBoYW5kbGVyLiJfcyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1
dG8gcmVxdWVzdCA9IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZSgqZG9jdW1lbnQsIHsgTWVkaWFT
dHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEsIHsgfSwgY3JlYXRlTWVkaWFDb25zdHJh
aW50cyhjb25zdHJhaW50cy52aWRlbykgfSwgV1RGTW92ZShwcm9taXNlKSk7CisgICAgYXV0byBy
ZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVh
bVJlcXVlc3Q6OlR5cGU6OkRpc3BsYXlNZWRpYSwgeyB9LCBjcmVhdGVNZWRpYUNvbnN0cmFpbnRz
KGNvbnN0cmFpbnRzLnZpZGVvKSwgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIH0sIFdURk1vdmUo
cHJvbWlzZSkpOwogICAgIHJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IDUzOTVlYjg0ODJm
OGM3NGQ1ZGMwZDZjNTkzMGQ0OWEyMjY3MjBhM2YuLjljOWYxOWM4ZDM4YWVkNGEyNjEyNTI4Nzcz
OWNlYzZiYWY0NjkzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhRGV2aWNlSW5mbzsKIGNsYXNzIE1lZGlhU3Ry
ZWFtOworY2xhc3MgVXNlckdlc3R1cmVUb2tlbjsKIAogc3RydWN0IE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50czsKIApAQCAtNzcsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZhcmlh
bnQ8Ym9vbCwgTWVkaWFUcmFja0NvbnN0cmFpbnRzPiB2aWRlbzsKICAgICAgICAgVmFyaWFudDxi
b29sLCBNZWRpYVRyYWNrQ29uc3RyYWludHM+IGF1ZGlvOwogICAgIH07Ci0gICAgdm9pZCBnZXRV
c2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9taXNlJiYpIGNvbnN0OwotICAg
IHZvaWQgZ2V0RGlzcGxheU1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlzZSYm
KSBjb25zdDsKKyAgICB2b2lkIGdldFVzZXJNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYs
IFByb21pc2UmJik7CisgICAgdm9pZCBnZXREaXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3Ry
YWludHMmLCBQcm9taXNlJiYpOwogICAgIHZvaWQgZW51bWVyYXRlRGV2aWNlcyhFbnVtZXJhdGVE
ZXZpY2VzUHJvbWlzZSYmKTsKICAgICBNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMgZ2V0
U3VwcG9ydGVkQ29uc3RyYWludHMoKTsKIApAQCAtMTA5LDYgKzExMCwxMyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CiAKKyAgICBlbnVtIGNsYXNzIEdlc3R1
cmVBbGxvd2VkUmVxdWVzdCB7CisgICAgICAgIE1pY3JvcGhvbmUgPSAxIDw8IDAsCisgICAgICAg
IENhbWVyYSA9IDEgPDwgMSwKKyAgICAgICAgRGlzcGxheSA9IDEgPDwgMiwKKyAgICB9OworICAg
IGJvb2wgY29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0dXJlQWxsb3dlZFJlcXVlc3Qp
OworCiAgICAgVGltZXIgbV9zY2hlZHVsZWRFdmVudFRpbWVyOwogICAgIFVzZXJNZWRpYUNsaWVu
dDo6RGV2aWNlQ2hhbmdlT2JzZXJ2ZXJUb2tlbiBtX2RldmljZUNoYW5nZVRva2VuOwogICAgIGNv
bnN0IEV2ZW50TmFtZXMmIG1fZXZlbnROYW1lczsgLy8gTmVlZCB0byBjYWNoZSB0aGlzIHNvIHdl
IGNhbiB1c2UgaXQgZnJvbSBHQyB0aHJlYWRzLgpAQCAtMTE4LDYgKzEyNiw5IEBAIHByaXZhdGU6
CiAgICAgVmVjdG9yPFJlZjxNZWRpYURldmljZUluZm8+PiBtX2RldmljZXM7CiAgICAgYm9vbCBt
X2NhbkFjY2Vzc0NhbWVyYSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhbkFjY2Vzc01pY3JvcGhv
bmUgeyBmYWxzZSB9OworCisgICAgT3B0aW9uU2V0PEdlc3R1cmVBbGxvd2VkUmVxdWVzdD4gbV9y
ZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZTsKKyAgICBVc2VyR2VzdHVyZVRva2VuKiBtX2N1
cnJlbnRHZXN0dXJlVG9rZW4geyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtUmVxdWVzdC5oCmluZGV4IDlhNzI3MDE4M2RmMmE1NWM0MmM0MjZkYzdjNjVmMDFh
YmQzODA4ODUuLjAwNDU4MmY4ZjUwOWJlNGRmOWQxZDA5YjU3Njg0ZjRjYmZlODE5MzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtUmVxdWVzdC5oCkBAIC0zMyw5ICszMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgIGVudW0gY2xhc3MgVHlwZSB7IFVzZXJNZWRp
YSwgRGlzcGxheU1lZGlhIH07Ci0gICAgVHlwZSB0eXBlOworICAgIFR5cGUgdHlwZSB7IFR5cGU6
OlVzZXJNZWRpYSB9OwogICAgIE1lZGlhQ29uc3RyYWludHMgYXVkaW9Db25zdHJhaW50czsKICAg
ICBNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWludHM7CisgICAgYm9vbCBpc1VzZXJHZXN0
dXJlUHJpdmlsZWRnZWQgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4K
ICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdApAQCAtNDMsMTIgKzQ0LDEz
IEBAIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgICAgICBlbmNvZGVyLmVuY29kZUVu
dW0odHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgYXVkaW9Db25zdHJhaW50czsKICAgICAgICAg
ZW5jb2RlciA8PCB2aWRlb0NvbnN0cmFpbnRzOworICAgICAgICBlbmNvZGVyIDw8IGlzVXNlckdl
c3R1cmVQcml2aWxlZGdlZDsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIE9wdGlvbmFsPE1lZGlhU3RyZWFtUmVxdWVzdD4gZGVjb2RlKERlY29kZXImIGRlY29k
ZXIpCiAgICAgewogICAgICAgICBNZWRpYVN0cmVhbVJlcXVlc3QgcmVxdWVzdDsKLSAgICAgICAg
aWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUpICYmIGRlY29kZXIuZGVjb2RlKHJl
cXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rlci5kZWNvZGUocmVxdWVzdC52aWRlb0Nv
bnN0cmFpbnRzKSkKKyAgICAgICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUp
ICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rlci5k
ZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSAmJiBkZWNvZGVyLmRlY29kZShyZXF1ZXN0
LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkpCiAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdDsK
IAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCmluZGV4IDEzYjUyMGEzODUwMGU0N2ZiOGYyYzQ4NTVlMGIwNDQyMDZjYjZjNWEu
LjVhODk0N2EyNzE2MTU3ZDA0ZTliNzljNmQ5OTA5YmQzYjNjZjYzZDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTM0NSw3ICszNDUsNyBAQCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6UmVxdWVzdEFjdGlvbiBVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdAogICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlICYmICFyZXF1
ZXN0Lmhhc1ZpZGVvRGV2aWNlKCkpKTsKICAgICBBU1NFUlQoIShyZXF1ZXN0aW5nU2NyZWVuQ2Fw
dHVyZSAmJiByZXF1ZXN0aW5nTWljcm9waG9uZSkpOwogCi0gICAgaWYgKHdhc1JlcXVlc3REZW5p
ZWQocmVxdWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9y
aWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0
aW5nTWljcm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwgcmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUp
KQorICAgIGlmICghcmVxdWVzdC5pc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQoKSAmJiB3YXNSZXF1
ZXN0RGVuaWVkKHJlcXVlc3QuZnJhbWVJRCgpLCByZXF1ZXN0LnVzZXJNZWRpYURvY3VtZW50U2Vj
dXJpdHlPcmlnaW4oKSwgcmVxdWVzdC50b3BMZXZlbERvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSwg
cmVxdWVzdGluZ01pY3JvcGhvbmUsIHJlcXVlc3RpbmdDYW1lcmEsIHJlcXVlc3RpbmdTY3JlZW5D
YXB0dXJlKSkKICAgICAgICAgcmV0dXJuIFJlcXVlc3RBY3Rpb246OkRlbnk7CiAKICAgICBpZiAo
cmVxdWVzdC5yZXF1ZXN0VHlwZSgpID09IE1lZGlhU3RyZWFtUmVxdWVzdDo6VHlwZTo6RGlzcGxh
eU1lZGlhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RQcm94eS5oCmluZGV4IGJhNGUwYTM0NzE2MDMxYjE4ZjA4NWNmZDAx
YTczNTE3NzhhMDMwNTguLjdkODI0OTcyMGNmZWI1Y2Y5NDQ4Mjc4ZDhjZDdlMDYyZmM3ZTU3NjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5LmgKQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIFdlYkNv
cmU6OkNhcHR1cmVEZXZpY2UgYXVkaW9EZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2VsaWdpYmxl
QXVkaW9EZXZpY2VzLmlzRW1wdHkoKSA/IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UgeyB9IDogbV9l
bGlnaWJsZUF1ZGlvRGV2aWNlc1swXTsgfQogICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2Ugdmlk
ZW9EZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2VsaWdpYmxlVmlkZW9EZXZpY2VzLmlzRW1wdHko
KSA/IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UgeyB9IDogbV9lbGlnaWJsZVZpZGVvRGV2aWNlc1sw
XTsgfQogCisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQoKSBjb25zdCB7IHJldHVy
biBtX3JlcXVlc3QuaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkOyB9CisKIHByaXZhdGU6CiAgICAg
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eShVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eSYsIHVpbnQ2NF90IHVzZXJNZWRpYUlELCBXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXIgbWFpbkZyYW1lSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgUmVmPFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luPiYmIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLCBSZWY8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+JiYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbiwgVmVjdG9yPFdlYkNvcmU6
OkNhcHR1cmVEZXZpY2U+JiYgYXVkaW9EZXZpY2VzLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURl
dmljZT4mJiB2aWRlb0RldmljZXMsIFdlYkNvcmU6Ok1lZGlhU3RyZWFtUmVxdWVzdCYmKTsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdlOTM1
ZjViZmMxMDBjNGFjMzNlOGUyZDg0NzZkMmMxYzZjYTk5N2EuLjc1ZjVmNTA2NzUwNjI5MDY5ZjA1
MzI1N2JjZWQxNjE1YzIzNTFhYTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0xMC0yNSAgeW91ZW5uIGZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5mb3JjZSB1c2VyIGdlc3R1cmUgZm9y
IGdldFVzZXJNZWRpYSBpbiBjYXNlIGEgcHJldmlvdXMgZ2V0VXNlck1lZGlhIGNhbGwgd2FzIGRl
bmllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAz
MzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRlc3QgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIGFiaWxpdHkgdG8gcmVhc2sgcGVybWlz
c2lvbi4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dldERpc3Bs
YXlNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMTktMTAt
MjUgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIHRl
c3QyNjItcnVubmVyIHNob3VsZCBiZSBhYmxlIHRvIHBhc3MgSlNDIGEgZmVhdHVyZSBmbGFnCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dldERpc3Bs
YXlNZWRpYS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlz
cGxheU1lZGlhLm1tCmluZGV4IDQxYTVlNmZlYmUzNDMzMTlkYWIzOWIzODM5ZGExMzE3YmFhYzUz
OWYuLjk1YWRjYTlhMmQ3YzlmYWMwZTEwNGZhNDMzNjU2NTNlZmE1ODc4YWMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1l
ZGlhLm1tCkBAIC0xODAsOCArMTgwLDcgQEAgVEVTVF9GKEdldERpc3BsYXlNZWRpYVRlc3QsIFBy
b21wdE9uY2VBZnRlckRlbmlhbCkKICAgICBzaG91bGREZW55ID0gdHJ1ZTsKICAgICBwcm9tcHRG
b3JDYXB0dXJlKEAieyB2aWRlbzogdHJ1ZSB9IiwgZmFsc2UpOwogICAgIHNob3VsZERlbnkgPSBm
YWxzZTsKLSAgICBwcm9tcHRGb3JDYXB0dXJlKEAieyB2aWRlbzogdHJ1ZSB9IiwgZmFsc2UpOwot
ICAgIHByb21wdEZvckNhcHR1cmUoQCJ7IHZpZGVvOiB0cnVlIH0iLCBmYWxzZSk7CisgICAgcHJv
bXB0Rm9yQ2FwdHVyZShAInsgdmlkZW86IHRydWUgfSIsIHRydWUpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjQ3MzBhNDRlYzExZDRkYzZiMTFjMmEyMjBlYmM2
ZTJmZGIxZTJkYi4uOTg3ZGJiNWI3MzBiODgwYzU5MWZjYmQzZGU4YmE0N2MyNjJlYTNhYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTI1ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2VzdHVyZSBmb3IgZ2V0VXNlck1lZGlh
IGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2FsbCB3YXMgZGVuaWVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMzNjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vZ2V0VXNlck1lZGlhLWRlbnktcGVyc2lzdGVuY3k1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS5odG1sOgor
ICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2Vy
LWdlc3R1cmUuaHRtbDoKKwogMjAxOS0xMC0yNSAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIGEgdGVzdCB2ZXJpZnlpbmcgdmlkZW8gcGxheXMgd2VsbCB3
aGVuIHN3aXRjaGluZyBmcm9tIE1lZGlhU3RyZWFtcyB0byByZWd1bGFyIHZpZGVvcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJz
aXN0ZW5jeTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRV
c2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYjBh
ZmU2YTQ3OWFjNDMxNDBjOTAzMTFhNTBjYjg0MGIwNzg4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVGVzdGluZyBnZXRVc2VyTWVk
aWEgd2l0aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1cmUgYWZ0ZXIgdXNlciBkZW5pZWQgYWNjZXNz
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRp
YS1kZW55LXBlcnNpc3RlbmN5NS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9n
ZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTlmMmJmOGYw
NDU2YWE5ZTU4N2E3NzdiMTc0N2Q5MGUxMDJmZmFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUuaHRt
bApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2Ny
aXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNldFVzZXJNZWRpYVBlcm1pc3Npb24oZmFsc2Up
OworCisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlv
OmZhbHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsK
KyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1
ZSwgdmlkZW86ZmFsc2V9KS50aGVuKGFzc2VydF91bnJlYWNoZWQsIChlKSA9PiB7IH0pOworICAg
IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2
aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKworICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJt
aXNzaW9uKHRydWUpOworCisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2Vy
TWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAo
ZSkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgIk5vdEFsbG93ZWRFcnJvciIp
OworICAgIH0pOworCisgICAgbGV0IHByb21pc2U7CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2Vz
dHVyZSgoKSA9PiB7CisgICAgICAgIHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYSh7YXVkaW86ZmFsc2UsIHZpZGVvOnRydWV9KTsKKyAgICB9KTsKKyAgICBhd2Fp
dCBwcm9taXNlOworICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAg
ICBwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRy
dWUsIHZpZGVvOmZhbHNlfSk7CisgICAgfSk7CisgICAgYXdhaXQgcHJvbWlzZTsKKworICAgIGlu
dGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9KTsK
KyAgICB9KTsKKyAgICBhd2FpdCBwcm9taXNlOworCisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3Nl
cnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZp
Y2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86ZmFsc2V9KS50aGVuKGFzc2VydF91
bnJlYWNoZWQsIChlKSA9PiB7IH0pOworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFj
aGVkLCAoZSkgPT4geyB9KTsKK30sICJUZXN0aW5nIGdldFVzZXJNZWRpYSB3aXRoIGFuZCB3aXRo
b3V0IHVzZXIgZ2VzdHVyZSBhZnRlciB1c2VyIGRlbmllZCBhY2Nlc3MiKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLWV4
cGVjdGVkLnR4dAppbmRleCBlMzhkODBlODY3YzJjZDYxMTJmMDE0NDAxMTJlNWNlNjE5OWM5MzY4
Li5hZjgxMmQ0ZjRjZjZmYzAxZWMxMTliYzY2NjhiNTFlMWM1Yjc4M2Q5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1
cmUtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKIAogUEFTUyBBbGxv
dyBnZXREaXNwbGF5TWVkaWEgY2FsbCBpbiBjYXNlIG9mIHVzZXIgZ2VzdHVyZSAKK1BBU1MgRGlz
YWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGxzIGluIGNhc2Ugb2YgdXNlciBnZXN0dXJlIGlmIG5v
dCB0aGUgZmlyc3QgY2FsbCAKIFBBU1MgRGVueSBnZXREaXNwbGF5TWVkaWEgY2FsbCBpZiBubyB1
c2VyIGdlc3R1cmUgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
c2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbAppbmRleCA0YTQ1YzZiNTNmM2Uy
OGM1ZWU1ZDExNzdmMzE0NzY4ZWVjZDYyMWUzLi4xNWRkNmJmNjM2OTM3N2QyZjg5MjhjNDFkMTQ3
OTRkY2Y1MTMwZTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3Nj
cmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS5odG1sCkBAIC0xMiw2ICsxMiwyMSBA
QCBwcm9taXNlX3Rlc3QoKCkgPT4gewogICAgIHJldHVybiBwcm9taXNlOwogfSwgIkFsbG93IGdl
dERpc3BsYXlNZWRpYSBjYWxsIGluIGNhc2Ugb2YgdXNlciBnZXN0dXJlIik7CiAKK3Byb21pc2Vf
dGVzdCgoKSA9PiB7CisgICAgbGV0IHByb21pc2U7CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2Vz
dHVyZSgoKSA9PiB7CisgICAgICAgIGNvbnN0IHByb21pc2UxID0gbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXREaXNwbGF5TWVkaWEoe3ZpZGVvIDogdHJ1ZX0pOworICAgICAgICBjb25zdCBwcm9t
aXNlMiA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHt2aWRlbyA6IHRy
dWV9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiU2Vj
b25kIHByb21pc2Ugc2hvdWxkIHJlamVjdCIpOworICAgICAgICB9LCAoKSA9PiB7CisgICAgICAg
ICAgICByZXR1cm4gIlNlY29uZCBwcm9taXNlIHJlamVjdGVkIjsKKyAgICAgICAgfSk7CisgICAg
ICAgIHByb21pc2UgPSBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSk7CisgICAgfSk7
CisgICAgcmV0dXJuIHByb21pc2U7Cit9LCAiRGlzYWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGxz
IGluIGNhc2Ugb2YgdXNlciBnZXN0dXJlIGlmIG5vdCB0aGUgZmlyc3QgY2FsbCIpOworCisKIHBy
b21pc2VfdGVzdCgodGVzdCkgPT4gewogICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVzdCwg
IkludmFsaWRBY2Nlc3NFcnJvciIsIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1l
ZGlhKHt2aWRlbyA6IHRydWV9KSk7CiB9LCAiRGVueSBnZXREaXNwbGF5TWVkaWEgY2FsbCBpZiBu
byB1c2VyIGdlc3R1cmUiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382724</attachid>
            <date>2019-11-04 02:17:38 -0800</date>
            <delta_ts>2019-11-04 07:19:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203362-20191104111736.patch</filename>
            <type>text/plain</type>
            <size>25833</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTEyYWU5ZjljNzAwNmZi
MzNjNGVlOTE5ZWU0ZmM5MDM5MjMwYWVkNC4uMDMyYzk1YTczMTg2MTA0OTQwY2VjMDA5NGE1MjQ1
NTRhMzM5NGVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTExLTA0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2Vz
dHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2Fs
bCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAg
ICAgQ29tcHV0ZSB3aGV0aGVyIGEgbWVkaWEgcmVxdWVzdCBpcyB1c2VyIHByaXZpbGVkZ2VkIG9y
IG5vdC4KKyAgICAgICAgSXQgaXMgcHJpdmlsZWRnZWQgaWYgaXQgaXMgY3JlYXRlZCBhcyBwYXJ0
IG9mIGEgdXNlciBnZXN0dXJlIGFuZCBubyByZXF1ZXN0IG9mIHRoZSBzYW1lIHR5cGUKKyAgICAg
ICAgaGFzIGJlZW4gcHJldmlvdXNseSBjcmVhdGVkIGZvciB0aGUgc2FtZSB1c2VyIGdlc3R1cmUu
CisgICAgICAgIElmIGdldERpc3BsYXlNZWRpYSBpcyBjYWxsZWQgdHdpY2UgYXMgcGFydCBvZiBh
IHNpbmdsZSB1c2VyIGdlc3R1cmUsIGdldERpc3BsYU1lZGlhIHdpbGwgcmVqZWN0IGZvciB0aGUg
c2Vjb25kIGNhbGwuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBpbnRlcm5hbCBhYmlsaXR5IHRvIGRp
c2FibGUgdXNlciBnZXN0dXJlIGNoZWNrLgorICAgICAgICBJbnN0ZWFkIHVzZSBpbnRlcm5hbHMg
QVBJIHRvIHNpbXVsYXRlIGEgdXNlciBnZXN0dXJlLiAgICAgICAKKworICAgICAgICBUZXN0OiBm
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS5odG1sIGFuZCB1
cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURldmljZXM6OmNvbXB1dGVVc2VyR2VzdHVy
ZVByaXZpbGVkZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVk
aWEpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZXF1ZXN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Q6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Q6OmRlY29kZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRN
ZWRpYVN0cmVhbVNvdXJjZUludGVycnVwdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCk6IERlbGV0
ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisKIDIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29y
a2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGZiOWE4Y2U3NjFjNGQ0MmFmY2JkZGI0MTZhN2M3OGI1MTJiODgwOWMu
LmFlNWY3ZWI2MzgwZmFiZTI5MzgzMzIwM2UyZDE3YmMxNzliODc2NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEVuZm9yY2UgdXNlciBnZXN0dXJlIGZvciBnZXRVc2VyTWVkaWEgaW4gY2Fz
ZSBhIHByZXZpb3VzIGdldFVzZXJNZWRpYSBjYWxsIHdhcyBkZW5pZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzM2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbiBjYXNlIHRoZSByZXF1ZXN0IGhhcyB1
c2VyIGdlc3R1cmUgcHJpdmlsZWRnZSwgZG8gbm90IGxvb2sgYXQgZGVuaWVkIHJlcXVlc3QgaGlz
dG9yeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5OjpnZXRSZXF1ZXN0QWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojppc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgY29u
c3QpOgorCiAyMDE5LTExLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBtcDQgdmlkZW8gZWxlbWVudCBicm9rZW4gd2l0aCBzZXJ2aWNlIHdvcmtlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3Bw
CmluZGV4IDY1NjIxZDlmMWZiZGM2YjNhMzJhNjU1MWVmMmJjNGQ0MTYyOTVjZmEuLmQ4NWVkMGMy
ZTM3ODU0ODE2NmMxMzRjNzY3MmJiYzMyMDJmYjBmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJKU01lZGlhRGV2aWNlSW5mby5oIgogI2luY2x1ZGUgIk1lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5ncy5oIgorI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNl
ck1lZGlhQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYVJlcXVlc3QuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtMTA0LDcgKzEwNSwyMCBAQCBzdGF0aWMg
TWVkaWFDb25zdHJhaW50cyBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0IFZhcmlhbnQ8Ym9v
bCwgTWVkaWFUcmFja0NvbgogICAgICk7CiB9CiAKLXZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2Vy
TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYgcHJv
bWlzZSkgY29uc3QKK2Jvb2wgTWVkaWFEZXZpY2VzOjpjb21wdXRlVXNlckdlc3R1cmVQcml2aWxl
ZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdCByZXF1ZXN0VHlwZSkKK3sKKyAgICBhdXRvKiBjdXJy
ZW50R2VzdHVyZVRva2VuID0gVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVy
ZSgpLmdldCgpOworICAgIGlmIChtX2N1cnJlbnRHZXN0dXJlVG9rZW4gIT0gY3VycmVudEdlc3R1
cmVUb2tlbikgeworICAgICAgICBtX2N1cnJlbnRHZXN0dXJlVG9rZW4gPSBjdXJyZW50R2VzdHVy
ZVRva2VuOworICAgICAgICBtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlID0geyB9Owor
ICAgIH0KKworICAgIGJvb2wgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkID0gbV9jdXJyZW50R2Vz
dHVyZVRva2VuICYmICFtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlLmNvbnRhaW5zKHJl
cXVlc3RUeXBlKTsKKyAgICBtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlLmFkZChyZXF1
ZXN0VHlwZSk7CisgICAgcmV0dXJuIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZDsKK30KKwordm9p
ZCBNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYgY29u
c3RyYWludHMsIFByb21pc2UmJiBwcm9taXNlKQogewogICAgIGF1dG8qIGRvY3VtZW50ID0gdGhp
cy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+aXNGdWxseUFj
dGl2ZSgpKSB7CkBAIC0xMTQsMjUgKzEyOCwzNCBAQCB2b2lkIE1lZGlhRGV2aWNlczo6Z2V0VXNl
ck1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgUHJvbWlzZSYmCiAK
ICAgICBhdXRvIGF1ZGlvQ29uc3RyYWludHMgPSBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0
cmFpbnRzLmF1ZGlvKTsKICAgICBhdXRvIHZpZGVvQ29uc3RyYWludHMgPSBjcmVhdGVNZWRpYUNv
bnN0cmFpbnRzKGNvbnN0cmFpbnRzLnZpZGVvKTsKLSAgICBpZiAodmlkZW9Db25zdHJhaW50cy5p
c1ZhbGlkKQorCisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgPSBmYWxzZTsKKwor
ICAgIGlmIChhdWRpb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisgICAgICAgIGlzVXNlckdlc3R1cmVQ
cml2aWxlZGdlZCB8PSBjb21wdXRlVXNlckdlc3R1cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2Vk
UmVxdWVzdDo6TWljcm9waG9uZSk7CisKKyAgICBpZiAodmlkZW9Db25zdHJhaW50cy5pc1ZhbGlk
KSB7CisgICAgICAgIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCB8PSBjb21wdXRlVXNlckdlc3R1
cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdDo6Q2FtZXJhKTsKICAgICAgICAgdmlk
ZW9Db25zdHJhaW50cy5zZXREZWZhdWx0VmlkZW9Db25zdHJhaW50cygpOworICAgIH0KIAotICAg
IGF1dG8gcmVxdWVzdCA9IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZSgqZG9jdW1lbnQsIHsgTWVk
aWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpVc2VyTWVkaWEsIFdURk1vdmUoYXVkaW9Db25zdHJhaW50
cyksIFdURk1vdmUodmlkZW9Db25zdHJhaW50cykgfSwgV1RGTW92ZShwcm9taXNlKSk7CisgICAg
YXV0byByZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRp
YVN0cmVhbVJlcXVlc3Q6OlR5cGU6OlVzZXJNZWRpYSwgV1RGTW92ZShhdWRpb0NvbnN0cmFpbnRz
KSwgV1RGTW92ZSh2aWRlb0NvbnN0cmFpbnRzKSwgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIH0s
IFdURk1vdmUocHJvbWlzZSkpOwogICAgIHJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgTWVk
aWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0
cmFpbnRzLCBQcm9taXNlJiYgcHJvbWlzZSkgY29uc3QKK3ZvaWQgTWVkaWFEZXZpY2VzOjpnZXRE
aXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNl
JiYgcHJvbWlzZSkKIHsKICAgICBhdXRvKiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7CiAg
ICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX2Rpc2FibGVH
ZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgJiYgIVVzZXJHZXN0dXJlSW5kaWNh
dG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgIGJvb2wgaXNVc2VyR2VzdHVyZVBy
aXZpbGVkZ2VkID0gY29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0dXJlQWxsb3dlZFJl
cXVlc3Q6OkRpc3BsYXkpOworICAgIGlmICghaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkKSB7CiAg
ICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciwgImdl
dERpc3BsYXlNZWRpYSBtdXN0IGJlIGNhbGxlZCBmcm9tIGEgdXNlciBnZXN0dXJlIGhhbmRsZXIu
Il9zIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byByZXF1ZXN0ID0gVXNl
ck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5
cGU6OkRpc3BsYXlNZWRpYSwgeyB9LCBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRz
LnZpZGVvKSB9LCBXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBVc2VyTWVk
aWFSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCB7IE1lZGlhU3RyZWFtUmVxdWVzdDo6VHlwZTo6
RGlzcGxheU1lZGlhLCB7IH0sIGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMudmlk
ZW8pLCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgfSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAg
cmVxdWVzdC0+c3RhcnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNTM5NWViODQ4MmY4Yzc0ZDVkYzBkNmM1OTMw
ZDQ5YTIyNjcyMGEzZi4uOWI2Nzg3YzQzZWViNWJlNTE2OWI3NjhhMGJiNjFiMDE2MzI4YjA1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgTWVkaWFEZXZpY2VJbmZvOwogY2xhc3MgTWVkaWFTdHJlYW07CitjbGFzcyBVc2Vy
R2VzdHVyZVRva2VuOwogCiBzdHJ1Y3QgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOwog
CkBAIC03NywxNiArNzgsMTQgQEAgcHVibGljOgogICAgICAgICBWYXJpYW50PGJvb2wsIE1lZGlh
VHJhY2tDb25zdHJhaW50cz4gdmlkZW87CiAgICAgICAgIFZhcmlhbnQ8Ym9vbCwgTWVkaWFUcmFj
a0NvbnN0cmFpbnRzPiBhdWRpbzsKICAgICB9OwotICAgIHZvaWQgZ2V0VXNlck1lZGlhKGNvbnN0
IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlzZSYmKSBjb25zdDsKLSAgICB2b2lkIGdldERpc3Bs
YXlNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYsIFByb21pc2UmJikgY29uc3Q7CisgICAg
dm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9taXNlJiYpOwor
ICAgIHZvaWQgZ2V0RGlzcGxheU1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlz
ZSYmKTsKICAgICB2b2lkIGVudW1lcmF0ZURldmljZXMoRW51bWVyYXRlRGV2aWNlc1Byb21pc2Um
Jik7CiAgICAgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzIGdldFN1cHBvcnRlZENvbnN0
cmFpbnRzKCk7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhRGV2aWNlcz46OnJlZjsKICAg
ICB1c2luZyBSZWZDb3VudGVkPE1lZGlhRGV2aWNlcz46OmRlcmVmOwogCi0gICAgdm9pZCBzZXRE
aXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2wgdmFsdWUpIHsg
bV9kaXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50ID0gdmFsdWU7IH0K
LQogcHJpdmF0ZToKICAgICBleHBsaWNpdCBNZWRpYURldmljZXMoRG9jdW1lbnQmKTsKIApAQCAt
MTA5LDE1ICsxMDgsMjQgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmlu
YWwgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYo
KTsgfQogCisgICAgZW51bSBjbGFzcyBHZXN0dXJlQWxsb3dlZFJlcXVlc3QgeworICAgICAgICBN
aWNyb3Bob25lID0gMSA8PCAwLAorICAgICAgICBDYW1lcmEgPSAxIDw8IDEsCisgICAgICAgIERp
c3BsYXkgPSAxIDw8IDIsCisgICAgfTsKKyAgICBib29sIGNvbXB1dGVVc2VyR2VzdHVyZVByaXZp
bGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0KTsKKwogICAgIFRpbWVyIG1fc2NoZWR1bGVkRXZl
bnRUaW1lcjsKICAgICBVc2VyTWVkaWFDbGllbnQ6OkRldmljZUNoYW5nZU9ic2VydmVyVG9rZW4g
bV9kZXZpY2VDaGFuZ2VUb2tlbjsKICAgICBjb25zdCBFdmVudE5hbWVzJiBtX2V2ZW50TmFtZXM7
IC8vIE5lZWQgdG8gY2FjaGUgdGhpcyBzbyB3ZSBjYW4gdXNlIGl0IGZyb20gR0MgdGhyZWFkcy4K
ICAgICBib29sIG1fbGlzdGVuaW5nRm9yRGV2aWNlQ2hhbmdlcyB7IGZhbHNlIH07Ci0gICAgYm9v
bCBtX2Rpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgeyBmYWxzZSB9
OwogCiAgICAgVmVjdG9yPFJlZjxNZWRpYURldmljZUluZm8+PiBtX2RldmljZXM7CiAgICAgYm9v
bCBtX2NhbkFjY2Vzc0NhbWVyYSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhbkFjY2Vzc01pY3Jv
cGhvbmUgeyBmYWxzZSB9OworCisgICAgT3B0aW9uU2V0PEdlc3R1cmVBbGxvd2VkUmVxdWVzdD4g
bV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZTsKKyAgICBVc2VyR2VzdHVyZVRva2VuKiBt
X2N1cnJlbnRHZXN0dXJlVG9rZW4geyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtUmVxdWVzdC5oCmluZGV4IDlhNzI3MDE4M2RmMmE1NWM0MmM0MjZkYzdjNjVm
MDFhYmQzODA4ODUuLjAwNDU4MmY4ZjUwOWJlNGRmOWQxZDA5YjU3Njg0ZjRjYmZlODE5MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtUmVxdWVzdC5oCkBAIC0zMyw5ICszMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgIGVudW0gY2xhc3MgVHlwZSB7IFVzZXJN
ZWRpYSwgRGlzcGxheU1lZGlhIH07Ci0gICAgVHlwZSB0eXBlOworICAgIFR5cGUgdHlwZSB7IFR5
cGU6OlVzZXJNZWRpYSB9OwogICAgIE1lZGlhQ29uc3RyYWludHMgYXVkaW9Db25zdHJhaW50czsK
ICAgICBNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWludHM7CisgICAgYm9vbCBpc1VzZXJH
ZXN0dXJlUHJpdmlsZWRnZWQgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdApAQCAtNDMsMTIgKzQ0
LDEzIEBAIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgICAgICBlbmNvZGVyLmVuY29k
ZUVudW0odHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgYXVkaW9Db25zdHJhaW50czsKICAgICAg
ICAgZW5jb2RlciA8PCB2aWRlb0NvbnN0cmFpbnRzOworICAgICAgICBlbmNvZGVyIDw8IGlzVXNl
ckdlc3R1cmVQcml2aWxlZGdlZDsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhU3RyZWFtUmVxdWVzdD4gZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCiAgICAgewogICAgICAgICBNZWRpYVN0cmVhbVJlcXVlc3QgcmVxdWVzdDsKLSAgICAg
ICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUpICYmIGRlY29kZXIuZGVjb2Rl
KHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rlci5kZWNvZGUocmVxdWVzdC52aWRl
b0NvbnN0cmFpbnRzKSkKKyAgICAgICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5
cGUpICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rl
ci5kZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSAmJiBkZWNvZGVyLmRlY29kZShyZXF1
ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkpCiAgICAgICAgICAgICByZXR1cm4gcmVxdWVz
dDsKIAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IDFiYWZjNjZmZWIzNWYwNTk5MmZlYjdlYTkzZWYxM2IxODMwZjU4N2Mu
LmE3NGI0ZmM0ZGU3NjQ4NjIwMzYzYTZmMGNmZWQ5MmVkNGY4NzE2ODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ4NzEsMTYgKzQ4NzEsNiBAQCB2b2lkIEludGVybmFs
czo6c2V0TWVkaWFTdHJlYW1Tb3VyY2VJbnRlcnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNrJiB0cmFj
aywgYm9vbCBpbgogewogICAgIHRyYWNrLnNvdXJjZSgpLnNldEludGVycnVwdGVkRm9yVGVzdGlu
ZyhpbnRlcnJ1cHRlZCk7CiB9Ci0KLXZvaWQgSW50ZXJuYWxzOjpzZXREaXNhYmxlR2V0RGlzcGxh
eU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2wgdmFsdWUpCi17Ci0gICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCB8fCAhZG9j
dW1lbnQtPmRvbVdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXV0byogbWVk
aWFEZXZpY2VzID0gTmF2aWdhdG9yTWVkaWFEZXZpY2VzOjptZWRpYURldmljZXMoZG9jdW1lbnQt
PmRvbVdpbmRvdygpLT5uYXZpZ2F0b3IoKSkpCi0gICAgICAgIG1lZGlhRGV2aWNlcy0+c2V0RGlz
YWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCh2YWx1ZSk7Ci19CiAjZW5k
aWYKIAogYm9vbCBJbnRlcm5hbHM6OnN1cHBvcnRzQXVkaW9TZXNzaW9uKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDBiYTA2NmJmYTkxZWUwOWEzOTMyZmRhNGRiOGJl
ZGYyNDVhYjdmZjYuLjc4NjI3ZDYwNTgzMjUzNWExNTRmN2QzMGNkZDIyNmQ2YTM1YjE4ZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNzQ0LDcgKzc0NCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNpbXVsYXRlTWVkaWFTdHJlYW1UcmFja0NhcHR1cmVTb3VyY2VGYWlsdXJlKE1l
ZGlhU3RyZWFtVHJhY2smKTsKICAgICB2b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tJZGVudGlmaWVy
KE1lZGlhU3RyZWFtVHJhY2smLCBTdHJpbmcmJiBpZCk7CiAgICAgdm9pZCBzZXRNZWRpYVN0cmVh
bVNvdXJjZUludGVycnVwdGVkKE1lZGlhU3RyZWFtVHJhY2smLCBib29sKTsKLSAgICB2b2lkIHNl
dERpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQoYm9vbCk7CiAjZW5k
aWYKIAogICAgIGJvb2wgc3VwcG9ydHNBdWRpb1Nlc3Npb24oKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkMmY5YjBiZTQ0N2RhMWI1OGFhZGYwYmZjZjc1YjY5
MTkwYWY0NmU5Li4zM2Y0ODY1MTVjMWM5YmVmZmExN2Y2ZWFlZmIzY2M4NjcwZDRmNTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC03MjYsNyArNzI2LDYgQEAgZW51bSBD
b21wb3NpdGluZ1BvbGljeSB7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBz
aW11bGF0ZU1lZGlhU3RyZWFtVHJhY2tDYXB0dXJlU291cmNlRmFpbHVyZShNZWRpYVN0cmVhbVRy
YWNrIHRyYWNrKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldE1lZGlh
U3RyZWFtVHJhY2tJZGVudGlmaWVyKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIERPTVN0cmluZyBp
ZGVudGlmaWVyKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldE1lZGlh
U3RyZWFtU291cmNlSW50ZXJydXB0ZWQoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgYm9vbGVhbiBp
bnRlcnJ1cHRlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBzZXREaXNh
YmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2xlYW4gdmFsdWUpOwog
CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvY3VtZW50SWRlbnRpZmllcihEb2N1bWVudCBkb2N1
bWVudCk7CiAgICAgYm9vbGVhbiBpc0RvY3VtZW50QWxpdmUodW5zaWduZWQgbG9uZyBsb25nIGRv
Y3VtZW50SWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggMTNiNTIwYTM4NTAwZTQ3ZmI4ZjJjNDg1NWUwYjA0NDIwNmNiNmM1YS4uNWE4OTQ3YTI3MTYx
NTdkMDRlOWI3OWM2ZDk5MDliZDNiM2NmNjNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5OjpSZXF1ZXN0QWN0aW9uIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgQVNTRVJUKCEocmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUgJiYgIXJlcXVlc3QuaGFzVmlkZW9E
ZXZpY2UoKSkpOwogICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlICYmIHJlcXVl
c3RpbmdNaWNyb3Bob25lKSk7CiAKLSAgICBpZiAod2FzUmVxdWVzdERlbmllZChyZXF1ZXN0LmZy
YW1lSUQoKSwgcmVxdWVzdC51c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVl
c3QudG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVlc3RpbmdNaWNyb3Bob25l
LCByZXF1ZXN0aW5nQ2FtZXJhLCByZXF1ZXN0aW5nU2NyZWVuQ2FwdHVyZSkpCisgICAgaWYgKCFy
ZXF1ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCgpICYmIHdhc1JlcXVlc3REZW5pZWQocmVx
dWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigp
LCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0aW5nTWlj
cm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwgcmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUpKQogICAg
ICAgICByZXR1cm4gUmVxdWVzdEFjdGlvbjo6RGVueTsKIAogICAgIGlmIChyZXF1ZXN0LnJlcXVl
c3RUeXBlKCkgPT0gTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmgKaW5kZXggYmE0ZTBhMzQ3MTYwMzFiMThmMDg1Y2ZkMDFhNzM1MTc3OGEwMzA1
OC4uN2Q4MjQ5NzIwY2ZlYjVjZjk0NDgyNzhkOGNkN2UwNjJmYzdlNTc2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuaApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6Q2FwdHVyZURl
dmljZSBhdWRpb0RldmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWxpZ2libGVBdWRpb0RldmljZXMu
aXNFbXB0eSgpID8gV2ViQ29yZTo6Q2FwdHVyZURldmljZSB7IH0gOiBtX2VsaWdpYmxlQXVkaW9E
ZXZpY2VzWzBdOyB9CiAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZSB2aWRlb0RldmljZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZWxpZ2libGVWaWRlb0RldmljZXMuaXNFbXB0eSgpID8gV2ViQ29yZTo6
Q2FwdHVyZURldmljZSB7IH0gOiBtX2VsaWdpYmxlVmlkZW9EZXZpY2VzWzBdOyB9CiAKKyAgICBi
b29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdC5p
c1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQ7IH0KKwogcHJpdmF0ZToKICAgICBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBtYWluRnJh
bWVJRCwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+JiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmlj
ZT4mJiBhdWRpb0RldmljZXMsIFZlY3RvcjxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPiYmIHZpZGVv
RGV2aWNlcywgV2ViQ29yZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiYpOwogCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDE5OWJmMTgwMmRhYzNlMTdk
OTViMTk0YWY3ODcwNGQyYzUyMGU0Zi4uODc5MDkyNzQ2ZjMyNDczNmM5MGIwN2EzNDNmYTlkNDA2
MGU0MTc3MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTExLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2VzdHVyZSBmb3IgZ2V0VXNlck1lZGlh
IGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2FsbCB3YXMgZGVuaWVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMzNjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1RfRik6CisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIHRha2UgaW50byBhY2NvdW50IHRo
ZSBhYmlsaXR5IHRvIGFzayBhZ2FpbiBmb3IgcGVybWlzc2lvbi4KKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9nZXREaXNwbGF5TWVkaWEuaHRtbDoKKyAgICAgICAgVXBkYXRl
IHRvIG1ha2Ugc3VyZSB3ZSBub3RpZnkgdGVzdCBpZiBpbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJs
ZS4KKwogMjAxOS0xMS0wMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBXS1dlYlZpZXcgY2FuIGdldCBzdHVjayBibGFuayAoV2ViIENvbnRlbnQgcHJv
Y2VzcyB0aGlua3MgdGhlIGFwcCBpcyBiYWNrZ3JvdW5kZWQpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9nZXREaXNwbGF5TWVkaWEuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCmluZGV4IGM0NDY4
YzRlZTg4MWFhM2NlMDhlNTczYTQ2ODY0MWY3Mzg0MDY2NGIuLjAwZjlhMzQwYzA5N2QwMjE2NzVl
YzlhZmE2MzFkM2FkOTk4YTc3ZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCkBAIC0yLDEyICsyLDE2IEBACiA8aHRt
bD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdD4KLQogICAgICAgICAgICAgbGV0IHN0cmVh
bSA9IG51bGw7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHByb21wdEZvckNhcHR1cmUoY29uc3Ry
YWludHMpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy53
aXRoVXNlckdlc3R1cmUoYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIGlmICghd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VI
YW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgndGVzdCByZXF1aXJlcyBpbnRlcm5hbHMn
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEo
Y29uc3RyYWludHMpCiAgICAgICAgICAgICAgICAgICAgIC50aGVuKChzKSA9PiB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJlYW0gPSBzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWEubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQppbmRleCA0MWE1ZTZm
ZWJlMzQzMzE5ZGFiMzliMzgzOWRhMTMxN2JhYWM1MzlmLi45NWFkY2E5YTJkN2M5ZmFjMGUxMDRm
YTQzMzY1NjUzZWZhNTg3OGFjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQpAQCAtMTgwLDggKzE4MCw3IEBA
IFRFU1RfRihHZXREaXNwbGF5TWVkaWFUZXN0LCBQcm9tcHRPbmNlQWZ0ZXJEZW5pYWwpCiAgICAg
c2hvdWxkRGVueSA9IHRydWU7CiAgICAgcHJvbXB0Rm9yQ2FwdHVyZShAInsgdmlkZW86IHRydWUg
fSIsIGZhbHNlKTsKICAgICBzaG91bGREZW55ID0gZmFsc2U7Ci0gICAgcHJvbXB0Rm9yQ2FwdHVy
ZShAInsgdmlkZW86IHRydWUgfSIsIGZhbHNlKTsKLSAgICBwcm9tcHRGb3JDYXB0dXJlKEAieyB2
aWRlbzogdHJ1ZSB9IiwgZmFsc2UpOworICAgIHByb21wdEZvckNhcHR1cmUoQCJ7IHZpZGVvOiB0
cnVlIH0iLCB0cnVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDkxZWFkNTRhN2U2NDk1ZmQ1ODIxMjcxMDM3YmE3ODVlNjAwZmYwMzguLmY2OWZiNWZjNDc5MjVh
NDFjN2RiNmJmM2NmMzYzY2M3ZDNlOGRiYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxOS0x
MS0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5mb3Jj
ZSB1c2VyIGdlc3R1cmUgZm9yIGdldFVzZXJNZWRpYSBpbiBjYXNlIGEgcHJldmlvdXMgZ2V0VXNl
ck1lZGlhIGNhbGwgd2FzIGRlbmllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAzMzYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29u
LgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0
ZW5jeTUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1l
ZGlhLWRlbnktcGVyc2lzdGVuY3k1Lmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9z
Y3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9t
ZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sOgorICAgICAgICBVc2UgdXNl
ciBnZXN0dXJlIHNpbXVsYXRpb24gaW5zdGVhZCBvZiBkaXNhYmxpbmcgdXNlciBnZXN0dXJlIGNo
ZWNrLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1
cmUuaHRtbDoKKwogMjAxOS0xMS0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGEgdGVzdCB2ZXJpZnlpbmcgdmlkZW8gcGxheXMgd2VsbCB3aGVuIHN3
aXRjaGluZyBmcm9tIE1lZGlhU3RyZWFtcyB0byByZWd1bGFyIHZpZGVvcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5j
eTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVk
aWEtZGVueS1wZXJzaXN0ZW5jeTUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYjBhZmU2YTQ3
OWFjNDMxNDBjOTAzMTFhNTBjYjg0MGIwNzg4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVGVzdGluZyBnZXRVc2VyTWVkaWEgd2l0
aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1cmUgYWZ0ZXIgdXNlciBkZW5pZWQgYWNjZXNzIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55
LXBlcnNpc3RlbmN5NS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2Vy
TWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTlmMmJmOGYwNDU2YWE5
ZTU4N2E3NzdiMTc0N2Q5MGUxMDJmZmFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUuaHRtbApAQCAt
MCwwICsxLDQ1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0Pgor
cHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLnNldFVzZXJNZWRpYVBlcm1pc3Npb24oZmFsc2UpOworCisg
ICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNl
LCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBh
d2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlk
ZW86ZmFsc2V9KS50aGVuKGFzc2VydF91bnJlYWNoZWQsIChlKSA9PiB7IH0pOworICAgIGF3YWl0
IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0
cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJtaXNzaW9u
KHRydWUpOworCisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEo
e2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgIk5vdEFsbG93ZWRFcnJvciIpOworICAg
IH0pOworCisgICAgbGV0IHByb21pc2U7CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgo
KSA9PiB7CisgICAgICAgIHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYSh7YXVkaW86ZmFsc2UsIHZpZGVvOnRydWV9KTsKKyAgICB9KTsKKyAgICBhd2FpdCBwcm9t
aXNlOworICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBwcm9t
aXNlID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZp
ZGVvOmZhbHNlfSk7CisgICAgfSk7CisgICAgYXdhaXQgcHJvbWlzZTsKKworICAgIGludGVybmFs
cy53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBwcm9taXNlID0gbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9KTsKKyAgICB9
KTsKKyAgICBhd2FpdCBwcm9taXNlOworCisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5y
ZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86ZmFsc2V9KS50aGVuKGFzc2VydF91bnJlYWNo
ZWQsIChlKSA9PiB7IH0pOworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAo
ZSkgPT4geyB9KTsKK30sICJUZXN0aW5nIGdldFVzZXJNZWRpYSB3aXRoIGFuZCB3aXRob3V0IHVz
ZXIgZ2VzdHVyZSBhZnRlciB1c2VyIGRlbmllZCBhY2Nlc3MiKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sCmluZGV4IDlkZWI5ZmRmY2Zj
ZjkwYzI4YjliNTc3YzYyNWM3ZWI0MDczZDZkOTEuLjhiMTQzOGI1N2Y0ZGIwYzEzZDEwOTNiZGM2
Njg1OTJkNzRiNTJiOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
bWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWwKQEAgLTQsOSArNCw2IEBACiAgICAg
PHRpdGxlPm1lZGlhc3RyZWFtIHBhZ2UgbXV0ZWQ8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQ+Ci0g
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldERp
c2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQodHJ1ZSk7Ci0KICAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tQYWdlU3RhdGUoYWN0aXZlU3RhdGUsIGluYWN0aXZlU3Rh
dGUpIHsKICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+
IHsKICAgICAgICAgICAgICAgICBsZXQgcmV0cnlDb3VudCA9IDA7CkBAIC02OSwxNCArNjYsMjcg
QEAKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKLSAgICAgICAgYXN5bmMgZnVuY3Rpb24g
Y3JlYXRlU2NyZWVuQ2FwdHVyZVN0cmVhbSgpIHsKKyAgICAgICAgZnVuY3Rpb24gY3JlYXRlU2Ny
ZWVuQ2FwdHVyZVN0cmVhbSgpIHsKKyAgICAgICAgICAgIGxldCByZXNvbHZlQ2FsbGJhY2ssIHJl
amVjdENhbGxiYWNrOworICAgICAgICAgICAgbGV0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAgcmVzb2x2ZUNhbGxiYWNrID0gcmVz
b2x2ZTsKKyAgICAgICAgICAgICAgICByZWplY3RDYWxsYmFjayA9IHJlamVjdDsKKyAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgZGVidWcoIjxicj4qKiogQ3JlYXRpbmcgc2NyZWVuIGNhcHR1
cmUgc3RyZWFtIik7Ci0JCQlkaXNwbGF5U3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKLSAgICAgICAgICAgIHNob3Vs
ZEJlVHlwZSgiZGlzcGxheVN0cmVhbSIsICJPYmplY3QiKTsKLSAgICAgICAgICAgIHNob3VsZEJl
KCJkaXNwbGF5U3RyZWFtLmdldFRyYWNrcygpLmxlbmd0aCIsICIxIik7Ci0gICAgICAgICAgICBz
aG91bGRCZSgiZGlzcGxheVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCIsICIxIik7Ci0g
ICAgICAgICAgICBzY3JlZW5DYXB0dXJlVHJhY2sgPSBkaXNwbGF5U3RyZWFtLmdldFZpZGVvVHJh
Y2tzKClbMF07Ci0gICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJzY3JlZW5DYXB0dXJlVHJhY2su
bXV0ZWQiKTsKKyAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBk
aXNwbGF5U3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVk
aWEoeyB2aWRlbzogdHJ1ZSB9KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVUeXBlKCJk
aXNwbGF5U3RyZWFtIiwgIk9iamVjdCIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgi
ZGlzcGxheVN0cmVhbS5nZXRUcmFja3MoKS5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiZGlzcGxheVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCIsICIx
Iik7CisgICAgICAgICAgICAgICAgICAgIHNjcmVlbkNhcHR1cmVUcmFjayA9IGRpc3BsYXlTdHJl
YW0uZ2V0VmlkZW9UcmFja3MoKVswXTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVGYWxz
ZSgic2NyZWVuQ2FwdHVyZVRyYWNrLm11dGVkIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29s
dmVDYWxsYmFjaygpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAg
ICAgICAgICByZWplY3RDYWxsYmFjayhlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIHJldHVybiBwcm9taXNlOwogICAgICAgICB9CiAKICAgICAgICAg
YXN5bmMgZnVuY3Rpb24gY3JlYXRlQ2FtZXJhTWljcm9waG9uZVN0cmVhbSgpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1
cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0
dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKaW5kZXggZTM4ZDgwZTg2N2MyY2Q2MTEyZjAx
NDQwMTEyZTVjZTYxOTljOTM2OC4uYWY4MTJkNGY0Y2Y2ZmMwMWVjMTE5YmM2NjY4YjUxZTFjNWI3
ODNkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0
dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw1IEBACiAKIFBBU1MgQWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGwgaW4gY2FzZSBvZiB1c2Vy
IGdlc3R1cmUgCitQQVNTIERpc2FsbG93IGdldERpc3BsYXlNZWRpYSBjYWxscyBpbiBjYXNlIG9m
IHVzZXIgZ2VzdHVyZSBpZiBub3QgdGhlIGZpcnN0IGNhbGwgCiBQQVNTIERlbnkgZ2V0RGlzcGxh
eU1lZGlhIGNhbGwgaWYgbm8gdXNlciBnZXN0dXJlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwK
aW5kZXggNGE0NWM2YjUzZjNlMjhjNWVlNWQxMTc3ZjMxNDc2OGVlY2Q2MjFlMy4uOTUyZDZlNGRi
MjFjNjcyNzdhZWMyNTljZTE2YjY5YTU5YjcyOWZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRt
bApAQCAtMSw5ICsxLDYgQEAKIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0g
ICAgaW50ZXJuYWxzLnNldERpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFp
bnQoZmFsc2UpOwotCiBwcm9taXNlX3Rlc3QoKCkgPT4gewogICAgIGxldCBwcm9taXNlOwogICAg
IGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4gewpAQCAtMTIsNiArOSwyMSBAQCBwcm9t
aXNlX3Rlc3QoKCkgPT4gewogICAgIHJldHVybiBwcm9taXNlOwogfSwgIkFsbG93IGdldERpc3Bs
YXlNZWRpYSBjYWxsIGluIGNhc2Ugb2YgdXNlciBnZXN0dXJlIik7CiAKK3Byb21pc2VfdGVzdCgo
KSA9PiB7CisgICAgbGV0IHByb21pc2U7CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgo
KSA9PiB7CisgICAgICAgIGNvbnN0IHByb21pc2UxID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXREaXNwbGF5TWVkaWEoe3ZpZGVvIDogdHJ1ZX0pOworICAgICAgICBjb25zdCBwcm9taXNlMiA9
IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHt2aWRlbyA6IHRydWV9KS50
aGVuKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgiU2Vjb25kIHBy
b21pc2Ugc2hvdWxkIHJlamVjdCIpOworICAgICAgICB9LCAoKSA9PiB7CisgICAgICAgICAgICBy
ZXR1cm4gIlNlY29uZCBwcm9taXNlIHJlamVjdGVkIjsKKyAgICAgICAgfSk7CisgICAgICAgIHBy
b21pc2UgPSBQcm9taXNlLmFsbChbcHJvbWlzZTEsIHByb21pc2UyXSk7CisgICAgfSk7CisgICAg
cmV0dXJuIHByb21pc2U7Cit9LCAiRGlzYWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGxzIGluIGNh
c2Ugb2YgdXNlciBnZXN0dXJlIGlmIG5vdCB0aGUgZmlyc3QgY2FsbCIpOworCisKIHByb21pc2Vf
dGVzdCgodGVzdCkgPT4gewogICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVzdCwgIkludmFs
aWRBY2Nlc3NFcnJvciIsIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHt2
aWRlbyA6IHRydWV9KSk7CiB9LCAiRGVueSBnZXREaXNwbGF5TWVkaWEgY2FsbCBpZiBubyB1c2Vy
IGdlc3R1cmUiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382737</attachid>
            <date>2019-11-04 07:19:28 -0800</date>
            <delta_ts>2019-11-04 23:12:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203362-20191104161926.patch</filename>
            <type>text/plain</type>
            <size>38021</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTEyYWU5ZjljNzAwNmZi
MzNjNGVlOTE5ZWU0ZmM5MDM5MjMwYWVkNC4uMDMyYzk1YTczMTg2MTA0OTQwY2VjMDA5NGE1MjQ1
NTRhMzM5NGVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTExLTA0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2Vz
dHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2Fs
bCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAg
ICAgQ29tcHV0ZSB3aGV0aGVyIGEgbWVkaWEgcmVxdWVzdCBpcyB1c2VyIHByaXZpbGVkZ2VkIG9y
IG5vdC4KKyAgICAgICAgSXQgaXMgcHJpdmlsZWRnZWQgaWYgaXQgaXMgY3JlYXRlZCBhcyBwYXJ0
IG9mIGEgdXNlciBnZXN0dXJlIGFuZCBubyByZXF1ZXN0IG9mIHRoZSBzYW1lIHR5cGUKKyAgICAg
ICAgaGFzIGJlZW4gcHJldmlvdXNseSBjcmVhdGVkIGZvciB0aGUgc2FtZSB1c2VyIGdlc3R1cmUu
CisgICAgICAgIElmIGdldERpc3BsYXlNZWRpYSBpcyBjYWxsZWQgdHdpY2UgYXMgcGFydCBvZiBh
IHNpbmdsZSB1c2VyIGdlc3R1cmUsIGdldERpc3BsYU1lZGlhIHdpbGwgcmVqZWN0IGZvciB0aGUg
c2Vjb25kIGNhbGwuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBpbnRlcm5hbCBhYmlsaXR5IHRvIGRp
c2FibGUgdXNlciBnZXN0dXJlIGNoZWNrLgorICAgICAgICBJbnN0ZWFkIHVzZSBpbnRlcm5hbHMg
QVBJIHRvIHNpbXVsYXRlIGEgdXNlciBnZXN0dXJlLiAgICAgICAKKworICAgICAgICBUZXN0OiBm
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS5odG1sIGFuZCB1
cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURldmljZXM6OmNvbXB1dGVVc2VyR2VzdHVy
ZVByaXZpbGVkZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVk
aWEpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZXF1ZXN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Q6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Q6OmRlY29kZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRN
ZWRpYVN0cmVhbVNvdXJjZUludGVycnVwdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCk6IERlbGV0
ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisKIDIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29y
a2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGZiOWE4Y2U3NjFjNGQ0MmFmY2JkZGI0MTZhN2M3OGI1MTJiODgwOWMu
LmFlNWY3ZWI2MzgwZmFiZTI5MzgzMzIwM2UyZDE3YmMxNzliODc2NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEVuZm9yY2UgdXNlciBnZXN0dXJlIGZvciBnZXRVc2VyTWVkaWEgaW4gY2Fz
ZSBhIHByZXZpb3VzIGdldFVzZXJNZWRpYSBjYWxsIHdhcyBkZW5pZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzM2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbiBjYXNlIHRoZSByZXF1ZXN0IGhhcyB1
c2VyIGdlc3R1cmUgcHJpdmlsZWRnZSwgZG8gbm90IGxvb2sgYXQgZGVuaWVkIHJlcXVlc3QgaGlz
dG9yeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5OjpnZXRSZXF1ZXN0QWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojppc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgY29u
c3QpOgorCiAyMDE5LTExLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBtcDQgdmlkZW8gZWxlbWVudCBicm9rZW4gd2l0aCBzZXJ2aWNlIHdvcmtlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3Bw
CmluZGV4IDY1NjIxZDlmMWZiZGM2YjNhMzJhNjU1MWVmMmJjNGQ0MTYyOTVjZmEuLmQ4NWVkMGMy
ZTM3ODU0ODE2NmMxMzRjNzY3MmJiYzMyMDJmYjBmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJKU01lZGlhRGV2aWNlSW5mby5oIgogI2luY2x1ZGUgIk1lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5ncy5oIgorI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNl
ck1lZGlhQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYVJlcXVlc3QuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtMTA0LDcgKzEwNSwyMCBAQCBzdGF0aWMg
TWVkaWFDb25zdHJhaW50cyBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0IFZhcmlhbnQ8Ym9v
bCwgTWVkaWFUcmFja0NvbgogICAgICk7CiB9CiAKLXZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2Vy
TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYgcHJv
bWlzZSkgY29uc3QKK2Jvb2wgTWVkaWFEZXZpY2VzOjpjb21wdXRlVXNlckdlc3R1cmVQcml2aWxl
ZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdCByZXF1ZXN0VHlwZSkKK3sKKyAgICBhdXRvKiBjdXJy
ZW50R2VzdHVyZVRva2VuID0gVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVy
ZSgpLmdldCgpOworICAgIGlmIChtX2N1cnJlbnRHZXN0dXJlVG9rZW4gIT0gY3VycmVudEdlc3R1
cmVUb2tlbikgeworICAgICAgICBtX2N1cnJlbnRHZXN0dXJlVG9rZW4gPSBjdXJyZW50R2VzdHVy
ZVRva2VuOworICAgICAgICBtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlID0geyB9Owor
ICAgIH0KKworICAgIGJvb2wgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkID0gbV9jdXJyZW50R2Vz
dHVyZVRva2VuICYmICFtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlLmNvbnRhaW5zKHJl
cXVlc3RUeXBlKTsKKyAgICBtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlLmFkZChyZXF1
ZXN0VHlwZSk7CisgICAgcmV0dXJuIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZDsKK30KKwordm9p
ZCBNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYgY29u
c3RyYWludHMsIFByb21pc2UmJiBwcm9taXNlKQogewogICAgIGF1dG8qIGRvY3VtZW50ID0gdGhp
cy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+aXNGdWxseUFj
dGl2ZSgpKSB7CkBAIC0xMTQsMjUgKzEyOCwzNCBAQCB2b2lkIE1lZGlhRGV2aWNlczo6Z2V0VXNl
ck1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgUHJvbWlzZSYmCiAK
ICAgICBhdXRvIGF1ZGlvQ29uc3RyYWludHMgPSBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0
cmFpbnRzLmF1ZGlvKTsKICAgICBhdXRvIHZpZGVvQ29uc3RyYWludHMgPSBjcmVhdGVNZWRpYUNv
bnN0cmFpbnRzKGNvbnN0cmFpbnRzLnZpZGVvKTsKLSAgICBpZiAodmlkZW9Db25zdHJhaW50cy5p
c1ZhbGlkKQorCisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgPSBmYWxzZTsKKwor
ICAgIGlmIChhdWRpb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisgICAgICAgIGlzVXNlckdlc3R1cmVQ
cml2aWxlZGdlZCB8PSBjb21wdXRlVXNlckdlc3R1cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2Vk
UmVxdWVzdDo6TWljcm9waG9uZSk7CisKKyAgICBpZiAodmlkZW9Db25zdHJhaW50cy5pc1ZhbGlk
KSB7CisgICAgICAgIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCB8PSBjb21wdXRlVXNlckdlc3R1
cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdDo6Q2FtZXJhKTsKICAgICAgICAgdmlk
ZW9Db25zdHJhaW50cy5zZXREZWZhdWx0VmlkZW9Db25zdHJhaW50cygpOworICAgIH0KIAotICAg
IGF1dG8gcmVxdWVzdCA9IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZSgqZG9jdW1lbnQsIHsgTWVk
aWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpVc2VyTWVkaWEsIFdURk1vdmUoYXVkaW9Db25zdHJhaW50
cyksIFdURk1vdmUodmlkZW9Db25zdHJhaW50cykgfSwgV1RGTW92ZShwcm9taXNlKSk7CisgICAg
YXV0byByZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRp
YVN0cmVhbVJlcXVlc3Q6OlR5cGU6OlVzZXJNZWRpYSwgV1RGTW92ZShhdWRpb0NvbnN0cmFpbnRz
KSwgV1RGTW92ZSh2aWRlb0NvbnN0cmFpbnRzKSwgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIH0s
IFdURk1vdmUocHJvbWlzZSkpOwogICAgIHJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgTWVk
aWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0
cmFpbnRzLCBQcm9taXNlJiYgcHJvbWlzZSkgY29uc3QKK3ZvaWQgTWVkaWFEZXZpY2VzOjpnZXRE
aXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNl
JiYgcHJvbWlzZSkKIHsKICAgICBhdXRvKiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7CiAg
ICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX2Rpc2FibGVH
ZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgJiYgIVVzZXJHZXN0dXJlSW5kaWNh
dG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgIGJvb2wgaXNVc2VyR2VzdHVyZVBy
aXZpbGVkZ2VkID0gY29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0dXJlQWxsb3dlZFJl
cXVlc3Q6OkRpc3BsYXkpOworICAgIGlmICghaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkKSB7CiAg
ICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciwgImdl
dERpc3BsYXlNZWRpYSBtdXN0IGJlIGNhbGxlZCBmcm9tIGEgdXNlciBnZXN0dXJlIGhhbmRsZXIu
Il9zIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byByZXF1ZXN0ID0gVXNl
ck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5
cGU6OkRpc3BsYXlNZWRpYSwgeyB9LCBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRz
LnZpZGVvKSB9LCBXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBVc2VyTWVk
aWFSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCB7IE1lZGlhU3RyZWFtUmVxdWVzdDo6VHlwZTo6
RGlzcGxheU1lZGlhLCB7IH0sIGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMudmlk
ZW8pLCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgfSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAg
cmVxdWVzdC0+c3RhcnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNTM5NWViODQ4MmY4Yzc0ZDVkYzBkNmM1OTMw
ZDQ5YTIyNjcyMGEzZi4uOWI2Nzg3YzQzZWViNWJlNTE2OWI3NjhhMGJiNjFiMDE2MzI4YjA1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgTWVkaWFEZXZpY2VJbmZvOwogY2xhc3MgTWVkaWFTdHJlYW07CitjbGFzcyBVc2Vy
R2VzdHVyZVRva2VuOwogCiBzdHJ1Y3QgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOwog
CkBAIC03NywxNiArNzgsMTQgQEAgcHVibGljOgogICAgICAgICBWYXJpYW50PGJvb2wsIE1lZGlh
VHJhY2tDb25zdHJhaW50cz4gdmlkZW87CiAgICAgICAgIFZhcmlhbnQ8Ym9vbCwgTWVkaWFUcmFj
a0NvbnN0cmFpbnRzPiBhdWRpbzsKICAgICB9OwotICAgIHZvaWQgZ2V0VXNlck1lZGlhKGNvbnN0
IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlzZSYmKSBjb25zdDsKLSAgICB2b2lkIGdldERpc3Bs
YXlNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYsIFByb21pc2UmJikgY29uc3Q7CisgICAg
dm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9taXNlJiYpOwor
ICAgIHZvaWQgZ2V0RGlzcGxheU1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlz
ZSYmKTsKICAgICB2b2lkIGVudW1lcmF0ZURldmljZXMoRW51bWVyYXRlRGV2aWNlc1Byb21pc2Um
Jik7CiAgICAgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzIGdldFN1cHBvcnRlZENvbnN0
cmFpbnRzKCk7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhRGV2aWNlcz46OnJlZjsKICAg
ICB1c2luZyBSZWZDb3VudGVkPE1lZGlhRGV2aWNlcz46OmRlcmVmOwogCi0gICAgdm9pZCBzZXRE
aXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2wgdmFsdWUpIHsg
bV9kaXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50ID0gdmFsdWU7IH0K
LQogcHJpdmF0ZToKICAgICBleHBsaWNpdCBNZWRpYURldmljZXMoRG9jdW1lbnQmKTsKIApAQCAt
MTA5LDE1ICsxMDgsMjQgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmlu
YWwgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYo
KTsgfQogCisgICAgZW51bSBjbGFzcyBHZXN0dXJlQWxsb3dlZFJlcXVlc3QgeworICAgICAgICBN
aWNyb3Bob25lID0gMSA8PCAwLAorICAgICAgICBDYW1lcmEgPSAxIDw8IDEsCisgICAgICAgIERp
c3BsYXkgPSAxIDw8IDIsCisgICAgfTsKKyAgICBib29sIGNvbXB1dGVVc2VyR2VzdHVyZVByaXZp
bGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0KTsKKwogICAgIFRpbWVyIG1fc2NoZWR1bGVkRXZl
bnRUaW1lcjsKICAgICBVc2VyTWVkaWFDbGllbnQ6OkRldmljZUNoYW5nZU9ic2VydmVyVG9rZW4g
bV9kZXZpY2VDaGFuZ2VUb2tlbjsKICAgICBjb25zdCBFdmVudE5hbWVzJiBtX2V2ZW50TmFtZXM7
IC8vIE5lZWQgdG8gY2FjaGUgdGhpcyBzbyB3ZSBjYW4gdXNlIGl0IGZyb20gR0MgdGhyZWFkcy4K
ICAgICBib29sIG1fbGlzdGVuaW5nRm9yRGV2aWNlQ2hhbmdlcyB7IGZhbHNlIH07Ci0gICAgYm9v
bCBtX2Rpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgeyBmYWxzZSB9
OwogCiAgICAgVmVjdG9yPFJlZjxNZWRpYURldmljZUluZm8+PiBtX2RldmljZXM7CiAgICAgYm9v
bCBtX2NhbkFjY2Vzc0NhbWVyYSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhbkFjY2Vzc01pY3Jv
cGhvbmUgeyBmYWxzZSB9OworCisgICAgT3B0aW9uU2V0PEdlc3R1cmVBbGxvd2VkUmVxdWVzdD4g
bV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZTsKKyAgICBVc2VyR2VzdHVyZVRva2VuKiBt
X2N1cnJlbnRHZXN0dXJlVG9rZW4geyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtUmVxdWVzdC5oCmluZGV4IDlhNzI3MDE4M2RmMmE1NWM0MmM0MjZkYzdjNjVm
MDFhYmQzODA4ODUuLjAwNDU4MmY4ZjUwOWJlNGRmOWQxZDA5YjU3Njg0ZjRjYmZlODE5MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtUmVxdWVzdC5oCkBAIC0zMyw5ICszMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgIGVudW0gY2xhc3MgVHlwZSB7IFVzZXJN
ZWRpYSwgRGlzcGxheU1lZGlhIH07Ci0gICAgVHlwZSB0eXBlOworICAgIFR5cGUgdHlwZSB7IFR5
cGU6OlVzZXJNZWRpYSB9OwogICAgIE1lZGlhQ29uc3RyYWludHMgYXVkaW9Db25zdHJhaW50czsK
ICAgICBNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWludHM7CisgICAgYm9vbCBpc1VzZXJH
ZXN0dXJlUHJpdmlsZWRnZWQgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdApAQCAtNDMsMTIgKzQ0
LDEzIEBAIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgICAgICBlbmNvZGVyLmVuY29k
ZUVudW0odHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgYXVkaW9Db25zdHJhaW50czsKICAgICAg
ICAgZW5jb2RlciA8PCB2aWRlb0NvbnN0cmFpbnRzOworICAgICAgICBlbmNvZGVyIDw8IGlzVXNl
ckdlc3R1cmVQcml2aWxlZGdlZDsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhU3RyZWFtUmVxdWVzdD4gZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCiAgICAgewogICAgICAgICBNZWRpYVN0cmVhbVJlcXVlc3QgcmVxdWVzdDsKLSAgICAg
ICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUpICYmIGRlY29kZXIuZGVjb2Rl
KHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rlci5kZWNvZGUocmVxdWVzdC52aWRl
b0NvbnN0cmFpbnRzKSkKKyAgICAgICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5
cGUpICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rl
ci5kZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSAmJiBkZWNvZGVyLmRlY29kZShyZXF1
ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkpCiAgICAgICAgICAgICByZXR1cm4gcmVxdWVz
dDsKIAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IDFiYWZjNjZmZWIzNWYwNTk5MmZlYjdlYTkzZWYxM2IxODMwZjU4N2Mu
LmE3NGI0ZmM0ZGU3NjQ4NjIwMzYzYTZmMGNmZWQ5MmVkNGY4NzE2ODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ4NzEsMTYgKzQ4NzEsNiBAQCB2b2lkIEludGVybmFs
czo6c2V0TWVkaWFTdHJlYW1Tb3VyY2VJbnRlcnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNrJiB0cmFj
aywgYm9vbCBpbgogewogICAgIHRyYWNrLnNvdXJjZSgpLnNldEludGVycnVwdGVkRm9yVGVzdGlu
ZyhpbnRlcnJ1cHRlZCk7CiB9Ci0KLXZvaWQgSW50ZXJuYWxzOjpzZXREaXNhYmxlR2V0RGlzcGxh
eU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2wgdmFsdWUpCi17Ci0gICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCB8fCAhZG9j
dW1lbnQtPmRvbVdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXV0byogbWVk
aWFEZXZpY2VzID0gTmF2aWdhdG9yTWVkaWFEZXZpY2VzOjptZWRpYURldmljZXMoZG9jdW1lbnQt
PmRvbVdpbmRvdygpLT5uYXZpZ2F0b3IoKSkpCi0gICAgICAgIG1lZGlhRGV2aWNlcy0+c2V0RGlz
YWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCh2YWx1ZSk7Ci19CiAjZW5k
aWYKIAogYm9vbCBJbnRlcm5hbHM6OnN1cHBvcnRzQXVkaW9TZXNzaW9uKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDBiYTA2NmJmYTkxZWUwOWEzOTMyZmRhNGRiOGJl
ZGYyNDVhYjdmZjYuLjc4NjI3ZDYwNTgzMjUzNWExNTRmN2QzMGNkZDIyNmQ2YTM1YjE4ZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNzQ0LDcgKzc0NCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNpbXVsYXRlTWVkaWFTdHJlYW1UcmFja0NhcHR1cmVTb3VyY2VGYWlsdXJlKE1l
ZGlhU3RyZWFtVHJhY2smKTsKICAgICB2b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tJZGVudGlmaWVy
KE1lZGlhU3RyZWFtVHJhY2smLCBTdHJpbmcmJiBpZCk7CiAgICAgdm9pZCBzZXRNZWRpYVN0cmVh
bVNvdXJjZUludGVycnVwdGVkKE1lZGlhU3RyZWFtVHJhY2smLCBib29sKTsKLSAgICB2b2lkIHNl
dERpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQoYm9vbCk7CiAjZW5k
aWYKIAogICAgIGJvb2wgc3VwcG9ydHNBdWRpb1Nlc3Npb24oKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkMmY5YjBiZTQ0N2RhMWI1OGFhZGYwYmZjZjc1YjY5
MTkwYWY0NmU5Li4zM2Y0ODY1MTVjMWM5YmVmZmExN2Y2ZWFlZmIzY2M4NjcwZDRmNTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC03MjYsNyArNzI2LDYgQEAgZW51bSBD
b21wb3NpdGluZ1BvbGljeSB7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBz
aW11bGF0ZU1lZGlhU3RyZWFtVHJhY2tDYXB0dXJlU291cmNlRmFpbHVyZShNZWRpYVN0cmVhbVRy
YWNrIHRyYWNrKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldE1lZGlh
U3RyZWFtVHJhY2tJZGVudGlmaWVyKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIERPTVN0cmluZyBp
ZGVudGlmaWVyKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldE1lZGlh
U3RyZWFtU291cmNlSW50ZXJydXB0ZWQoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgYm9vbGVhbiBp
bnRlcnJ1cHRlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBzZXREaXNh
YmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2xlYW4gdmFsdWUpOwog
CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvY3VtZW50SWRlbnRpZmllcihEb2N1bWVudCBkb2N1
bWVudCk7CiAgICAgYm9vbGVhbiBpc0RvY3VtZW50QWxpdmUodW5zaWduZWQgbG9uZyBsb25nIGRv
Y3VtZW50SWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggMTNiNTIwYTM4NTAwZTQ3ZmI4ZjJjNDg1NWUwYjA0NDIwNmNiNmM1YS4uNWE4OTQ3YTI3MTYx
NTdkMDRlOWI3OWM2ZDk5MDliZDNiM2NmNjNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5OjpSZXF1ZXN0QWN0aW9uIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgQVNTRVJUKCEocmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUgJiYgIXJlcXVlc3QuaGFzVmlkZW9E
ZXZpY2UoKSkpOwogICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlICYmIHJlcXVl
c3RpbmdNaWNyb3Bob25lKSk7CiAKLSAgICBpZiAod2FzUmVxdWVzdERlbmllZChyZXF1ZXN0LmZy
YW1lSUQoKSwgcmVxdWVzdC51c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVl
c3QudG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVlc3RpbmdNaWNyb3Bob25l
LCByZXF1ZXN0aW5nQ2FtZXJhLCByZXF1ZXN0aW5nU2NyZWVuQ2FwdHVyZSkpCisgICAgaWYgKCFy
ZXF1ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCgpICYmIHdhc1JlcXVlc3REZW5pZWQocmVx
dWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigp
LCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0aW5nTWlj
cm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwgcmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUpKQogICAg
ICAgICByZXR1cm4gUmVxdWVzdEFjdGlvbjo6RGVueTsKIAogICAgIGlmIChyZXF1ZXN0LnJlcXVl
c3RUeXBlKCkgPT0gTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmgKaW5kZXggYmE0ZTBhMzQ3MTYwMzFiMThmMDg1Y2ZkMDFhNzM1MTc3OGEwMzA1
OC4uN2Q4MjQ5NzIwY2ZlYjVjZjk0NDgyNzhkOGNkN2UwNjJmYzdlNTc2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuaApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6Q2FwdHVyZURl
dmljZSBhdWRpb0RldmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWxpZ2libGVBdWRpb0RldmljZXMu
aXNFbXB0eSgpID8gV2ViQ29yZTo6Q2FwdHVyZURldmljZSB7IH0gOiBtX2VsaWdpYmxlQXVkaW9E
ZXZpY2VzWzBdOyB9CiAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZSB2aWRlb0RldmljZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZWxpZ2libGVWaWRlb0RldmljZXMuaXNFbXB0eSgpID8gV2ViQ29yZTo6
Q2FwdHVyZURldmljZSB7IH0gOiBtX2VsaWdpYmxlVmlkZW9EZXZpY2VzWzBdOyB9CiAKKyAgICBi
b29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdC5p
c1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQ7IH0KKwogcHJpdmF0ZToKICAgICBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBtYWluRnJh
bWVJRCwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+JiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmlj
ZT4mJiBhdWRpb0RldmljZXMsIFZlY3RvcjxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPiYmIHZpZGVv
RGV2aWNlcywgV2ViQ29yZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiYpOwogCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDE5OWJmMTgwMmRhYzNlMTdk
OTViMTk0YWY3ODcwNGQyYzUyMGU0Zi4uODc5MDkyNzQ2ZjMyNDczNmM5MGIwN2EzNDNmYTlkNDA2
MGU0MTc3MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTExLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2VzdHVyZSBmb3IgZ2V0VXNlck1lZGlh
IGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2FsbCB3YXMgZGVuaWVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMzNjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1RfRik6CisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIHRha2UgaW50byBhY2NvdW50IHRo
ZSBhYmlsaXR5IHRvIGFzayBhZ2FpbiBmb3IgcGVybWlzc2lvbi4KKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9nZXREaXNwbGF5TWVkaWEuaHRtbDoKKyAgICAgICAgVXBkYXRl
IHRvIG1ha2Ugc3VyZSB3ZSBub3RpZnkgdGVzdCBpZiBpbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJs
ZS4KKwogMjAxOS0xMS0wMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBXS1dlYlZpZXcgY2FuIGdldCBzdHVjayBibGFuayAoV2ViIENvbnRlbnQgcHJv
Y2VzcyB0aGlua3MgdGhlIGFwcCBpcyBiYWNrZ3JvdW5kZWQpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9nZXREaXNwbGF5TWVkaWEuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCmluZGV4IGM0NDY4
YzRlZTg4MWFhM2NlMDhlNTczYTQ2ODY0MWY3Mzg0MDY2NGIuLjAwZjlhMzQwYzA5N2QwMjE2NzVl
YzlhZmE2MzFkM2FkOTk4YTc3ZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCkBAIC0yLDEyICsyLDE2IEBACiA8aHRt
bD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdD4KLQogICAgICAgICAgICAgbGV0IHN0cmVh
bSA9IG51bGw7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHByb21wdEZvckNhcHR1cmUoY29uc3Ry
YWludHMpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy53
aXRoVXNlckdlc3R1cmUoYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIGlmICghd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VI
YW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgndGVzdCByZXF1aXJlcyBpbnRlcm5hbHMn
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEo
Y29uc3RyYWludHMpCiAgICAgICAgICAgICAgICAgICAgIC50aGVuKChzKSA9PiB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJlYW0gPSBzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWEubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQppbmRleCA0MWE1ZTZm
ZWJlMzQzMzE5ZGFiMzliMzgzOWRhMTMxN2JhYWM1MzlmLi45NWFkY2E5YTJkN2M5ZmFjMGUxMDRm
YTQzMzY1NjUzZWZhNTg3OGFjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQpAQCAtMTgwLDggKzE4MCw3IEBA
IFRFU1RfRihHZXREaXNwbGF5TWVkaWFUZXN0LCBQcm9tcHRPbmNlQWZ0ZXJEZW5pYWwpCiAgICAg
c2hvdWxkRGVueSA9IHRydWU7CiAgICAgcHJvbXB0Rm9yQ2FwdHVyZShAInsgdmlkZW86IHRydWUg
fSIsIGZhbHNlKTsKICAgICBzaG91bGREZW55ID0gZmFsc2U7Ci0gICAgcHJvbXB0Rm9yQ2FwdHVy
ZShAInsgdmlkZW86IHRydWUgfSIsIGZhbHNlKTsKLSAgICBwcm9tcHRGb3JDYXB0dXJlKEAieyB2
aWRlbzogdHJ1ZSB9IiwgZmFsc2UpOworICAgIHByb21wdEZvckNhcHR1cmUoQCJ7IHZpZGVvOiB0
cnVlIH0iLCB0cnVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDkxZWFkNTRhN2U2NDk1ZmQ1ODIxMjcxMDM3YmE3ODVlNjAwZmYwMzguLmU3NWRlMGZhMDcxNDM2
YjY2MDNjOTU1NWEyNTVjZDU5ZmVlZDIzY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOS0x
MS0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5mb3Jj
ZSB1c2VyIGdlc3R1cmUgZm9yIGdldFVzZXJNZWRpYSBpbiBjYXNlIGEgcHJldmlvdXMgZ2V0VXNl
ck1lZGlhIGNhbGwgd2FzIGRlbmllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAzMzYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjY0ODIzMj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
bWVkaWFzdHJlYW0vY29uc3RyYWludC1pbnRyaW5zaWMtc2l6ZS5odG1sOgorICAgICAgICAqIGZh
c3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0
ZW5jeTUuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdl
LW11dGVkLmh0bWw6CisgICAgICAgIFVzZSB1c2VyIGdlc3R1cmUgc2ltdWxhdGlvbiBpbnN0ZWFk
IG9mIGRpc2FibGluZyB1c2VyIGdlc3R1cmUgY2hlY2suCisgICAgICAgICogZmFzdC9tZWRpYXN0
cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS5odG1sOgorICAgICAgICAqIGZhc3QvbWVk
aWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLWlmcmFt
ZS1hbGxvdy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLXByb21wdC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9nZXQtZGlzcGxheS1tZWRp
YS1kZXZpY2VzLWlmcmFtZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qczoKKwogMjAxOS0xMS0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGEgdGVzdCB2ZXJpZnlpbmcgdmlkZW8gcGxheXMgd2VsbCB3aGVuIHN3
aXRjaGluZyBmcm9tIE1lZGlhU3RyZWFtcyB0byByZWd1bGFyIHZpZGVvcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9jb25zdHJhaW50LWludHJpbnNpYy1zaXplLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2NvbnN0cmFpbnQtaW50cmluc2ljLXNp
emUuaHRtbAppbmRleCBiOGI2MDc1OGEwYmI3NjM0NTYxMjYzZDY4NDE1ZmEwZWE0NDZjOTFhLi4x
NjFkNjRjMDMxZGNkYzQxMzdlZDc3OWMzNzc3ZTMwODY3ODBjZjU4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2NvbnN0cmFpbnQtaW50cmluc2ljLXNpemUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2NvbnN0cmFpbnQtaW50cmluc2ljLXNp
emUuaHRtbApAQCAtMTYsMTcgKzE2LDI2IEBACiAgICAgICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRTY3JlZW5DYXB0dXJlRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAg
IH0KIAorICAgICAgICAgICAgZnVuY3Rpb24gY2FsbEdldERpc3BsYXlNZWRpYShvcHRpb25zKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGxldCBwcm9taXNlOworICAgICAgICAgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgICAg
ICAgICAgICAgcHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlh
KG9wdGlvbnMpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIHJldHVybiBw
cm9taXNlOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBsZXQgZGVmYXVsdFdpZHRoOwog
ICAgICAgICAgICAgbGV0IGRlZmF1bHRIZWlnaHQ7CiAgICAgICAgICAgICBwcm9taXNlX3Rlc3Qo
YXN5bmMgKCkgPT4gewotICAgICAgICAgICAgICAgIHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSk7CisgICAgICAgICAg
ICAgICAgc3RyZWFtID0gYXdhaXQgY2FsbEdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0p
OwogICAgICAgICAgICAgICAgIGxldCBzZXR0aW5ncyA9IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygp
WzBdLmdldFNldHRpbmdzKCk7CiAgICAgICAgICAgICAgICAgZGVmYXVsdFdpZHRoID0gc2V0dGlu
Z3Mud2lkdGg7CiAgICAgICAgICAgICAgICAgZGVmYXVsdEhlaWdodCA9IHNldHRpbmdzLmhlaWdo
dDsKICAgICAgICAgICAgIH0sICJzZXR1cCIpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBw
cm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9y
Lm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogeyB3aWR0aDoge2lkZWFsOiA2
NDB9IH0gfSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FsbEdldERpc3BsYXlNZWRpYSh7IHZp
ZGVvOiB7IHdpZHRoOiB7aWRlYWw6IDY0MH0gfSB9KQogICAgICAgICAgICAgICAgICAgICAudGhl
bigoc3RyZWFtKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2V0dGluZ3MgPSBz
dHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpCiAgICAgICAgICAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHNldHRpbmdzLmhlaWdodCwgTWF0aC5mbG9vcig2NDAgKiAo
ZGVmYXVsdEhlaWdodCAvIGRlZmF1bHRXaWR0aCkpKTsKQEAgLTM1LDcgKzQ0LDcgQEAKIAogICAg
ICAgICAgICAgcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CiAKLSAgICAgICAgICAgICAgICByZXR1
cm4gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogeyBoZWln
aHQ6IHtpZGVhbDogMjQwfSB9IH0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxHZXREaXNw
bGF5TWVkaWEoeyB2aWRlbzogeyBoZWlnaHQ6IHtpZGVhbDogMjQwfSB9IH0pCiAgICAgICAgICAg
ICAgICAgICAgIC50aGVuKChzdHJlYW0pID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgIGxl
dCBzZXR0aW5ncyA9IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmdldFNldHRpbmdzKCkKICAg
ICAgICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2V0dGluZ3Mud2lkdGgsIE1hdGgu
Zmxvb3IoMjQwICogKGRlZmF1bHRXaWR0aCAvIGRlZmF1bHRIZWlnaHQpKSk7CkBAIC00NCw0ICs1
Myw0IEBACiAKICAgICAgICAgPC9zY3JpcHQ+CiAgICAgPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbAppbmRleCBiY2Yz
ZTY3MzMyNjEzYmFhMmU5MjQ3M2U4MDUzODVkYTY0OTk5OTM2Li5hMDFiMjllZjg5ZDM0OGFiNThk
NmQ2MzczNzFhZjUyY2UzZTg5ZmUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCkBAIC0xMCw2ICsxMCwx
NSBAQAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1bm5lci5zZXRV
c2VyTWVkaWFQZXJtaXNzaW9uKHRydWUpOwogCisgICAgZnVuY3Rpb24gY2FsbEdldERpc3BsYXlN
ZWRpYShvcHRpb25zKQorICAgIHsKKyAgICAgICAgbGV0IHByb21pc2U7CisgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgICAgIHByb21pc2Ug
PSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYShvcHRpb25zKTsKKyAgICAg
ICAgfSk7CisgICAgICAgIHJldHVybiBwcm9taXNlOworICAgIH0KKwogICAgIGFzeW5jIGZ1bmN0
aW9uIHdhaXRGb3JQYWdlU3RhdGVDaGFuZ2UobnVtYmVyT2ZUcmllcywgb3JpZ2luYWxTdGF0ZSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4gewpA
QCAtMjksNyArMzgsNyBAQAogCiAgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAg
ICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAg
ICAgICAgICAgIGxldCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERp
c3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0pOworICAgICAgICAgICAgbGV0IHN0cmVhbSA9IGF3
YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKICAgICAgICAgICAgIGxl
dCBwYWdlTWVkaWFTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwogCiAgICAgICAg
ICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkRGlzcGxh
eUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRlZERp
c3BsYXlDYXB0dXJlRGV2aWNlJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJiMGFmZTZhNDc5YWM0MzE0MGM5MDMxMWE1MGNiODQw
YjA3ODg0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
Z2V0VXNlck1lZGlhLWRlbnktcGVyc2lzdGVuY3k1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBUZXN0aW5nIGdldFVzZXJNZWRpYSB3aXRoIGFuZCB3aXRob3V0IHVzZXIgZ2Vz
dHVyZSBhZnRlciB1c2VyIGRlbmllZCBhY2Nlc3MgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLWRlbnktcGVyc2lzdGVuY3k1Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM1OWYyYmY4ZjA0NTZhYTllNTg3YTc3N2IxNzQ3ZDkwZTEwMmZm
YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldFVz
ZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQ
RSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRl
c3QpID0+IHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0VXNlck1lZGlhUGVybWlzc2lvbihmYWxzZSk7CisKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86ZmFsc2UsIHZpZGVvOnRydWV9KS50aGVuKGFz
c2VydF91bnJlYWNoZWQsIChlKSA9PiB7IH0pOworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzpmYWxzZX0pLnRoZW4oYXNzZXJ0
X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7CisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9KS50aGVuKGFzc2VydF91bnJl
YWNoZWQsIChlKSA9PiB7IH0pOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICB0ZXN0UnVubmVyLnNldFVzZXJNZWRpYVBlcm1pc3Npb24odHJ1ZSk7CisKKyAgICBhd2FpdCBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86ZmFsc2UsIHZpZGVvOnRy
dWV9KS50aGVuKGFzc2VydF91bnJlYWNoZWQsIChlKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZS5uYW1lLCAiTm90QWxsb3dlZEVycm9yIik7CisgICAgfSk7CisKKyAgICBsZXQgcHJvbWlz
ZTsKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgcHJvbWlz
ZSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzpmYWxzZSwgdmlk
ZW86dHJ1ZX0pOworICAgIH0pOworICAgIGF3YWl0IHByb21pc2U7CisgICAgaW50ZXJuYWxzLndp
dGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgIHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86ZmFsc2V9KTsKKyAgICB9KTsK
KyAgICBhd2FpdCBwcm9taXNlOworCisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9
PiB7CisgICAgICAgIHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRp
YSh7YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0pOworICAgIH0pOworICAgIGF3YWl0IHByb21pc2U7
CisKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86
ZmFsc2UsIHZpZGVvOnRydWV9KS50aGVuKGFzc2VydF91bnJlYWNoZWQsIChlKSA9PiB7IH0pOwor
ICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVl
LCB2aWRlbzpmYWxzZX0pLnRoZW4oYXNzZXJ0X3VucmVhY2hlZCwgKGUpID0+IHsgfSk7CisgICAg
YXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZp
ZGVvOnRydWV9KS50aGVuKGFzc2VydF91bnJlYWNoZWQsIChlKSA9PiB7IH0pOworfSwgIlRlc3Rp
bmcgZ2V0VXNlck1lZGlhIHdpdGggYW5kIHdpdGhvdXQgdXNlciBnZXN0dXJlIGFmdGVyIHVzZXIg
ZGVuaWVkIGFjY2VzcyIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1w
YWdlLW11dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVh
bS1wYWdlLW11dGVkLmh0bWwKaW5kZXggOWRlYjlmZGZjZmNmOTBjMjhiOWI1NzdjNjI1YzdlYjQw
NzNkNmQ5MS4uOGIxNDM4YjU3ZjRkYjBjMTNkMTA5M2JkYzY2ODU5MmQ3NGI1MmI5ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBh
Z2UtbXV0ZWQuaHRtbApAQCAtNCw5ICs0LDYgQEAKICAgICA8dGl0bGU+bWVkaWFzdHJlYW0gcGFn
ZSBtdXRlZDwvdGl0bGU+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdD4KLSAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVz
ZXJHZXN0dXJlQ29uc3RyYWludCh0cnVlKTsKLQogICAgICAgICBhc3luYyBmdW5jdGlvbiBjaGVj
a1BhZ2VTdGF0ZShhY3RpdmVTdGF0ZSwgaW5hY3RpdmVTdGF0ZSkgewogICAgICAgICAgICAgYXdh
aXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgICAgICAgICAgIGxl
dCByZXRyeUNvdW50ID0gMDsKQEAgLTY5LDE0ICs2NiwyNyBAQAogICAgICAgICAgICAgfSk7CiAg
ICAgICAgIH0KIAotICAgICAgICBhc3luYyBmdW5jdGlvbiBjcmVhdGVTY3JlZW5DYXB0dXJlU3Ry
ZWFtKCkgeworICAgICAgICBmdW5jdGlvbiBjcmVhdGVTY3JlZW5DYXB0dXJlU3RyZWFtKCkgewor
ICAgICAgICAgICAgbGV0IHJlc29sdmVDYWxsYmFjaywgcmVqZWN0Q2FsbGJhY2s7CisgICAgICAg
ICAgICBsZXQgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAg
ICAgICAgICAgICAgICByZXNvbHZlQ2FsbGJhY2sgPSByZXNvbHZlOworICAgICAgICAgICAgICAg
IHJlamVjdENhbGxiYWNrID0gcmVqZWN0OworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBk
ZWJ1ZygiPGJyPioqKiBDcmVhdGluZyBzY3JlZW4gY2FwdHVyZSBzdHJlYW0iKTsKLQkJCWRpc3Bs
YXlTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7
IHZpZGVvOiB0cnVlIH0pOwotICAgICAgICAgICAgc2hvdWxkQmVUeXBlKCJkaXNwbGF5U3RyZWFt
IiwgIk9iamVjdCIpOwotICAgICAgICAgICAgc2hvdWxkQmUoImRpc3BsYXlTdHJlYW0uZ2V0VHJh
Y2tzKCkubGVuZ3RoIiwgIjEiKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJkaXNwbGF5U3RyZWFt
LmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoIiwgIjEiKTsKLSAgICAgICAgICAgIHNjcmVlbkNhcHR1
cmVUcmFjayA9IGRpc3BsYXlTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTsKLSAgICAgICAgICAg
IHNob3VsZEJlRmFsc2UoInNjcmVlbkNhcHR1cmVUcmFjay5tdXRlZCIpOworICAgICAgICAgICAg
d2luZG93LmludGVybmFscy53aXRoVXNlckdlc3R1cmUoYXN5bmMgKCkgPT4geworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlTdHJlYW0gPSBhd2FpdCBu
YXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0pOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVR5cGUoImRpc3BsYXlTdHJlYW0iLCAiT2JqZWN0
Iik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkaXNwbGF5U3RyZWFtLmdldFRyYWNr
cygpLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlKCJkaXNwbGF5
U3RyZWFtLmdldFZpZGVvVHJhY2tzKCkubGVuZ3RoIiwgIjEiKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2NyZWVuQ2FwdHVyZVRyYWNrID0gZGlzcGxheVN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBd
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJzY3JlZW5DYXB0dXJlVHJhY2su
bXV0ZWQiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUNhbGxiYWNrKCk7CisgICAgICAg
ICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgICAgICAgIHJlamVjdENhbGxiYWNr
KGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0
dXJuIHByb21pc2U7CiAgICAgICAgIH0KIAogICAgICAgICBhc3luYyBmdW5jdGlvbiBjcmVhdGVD
YW1lcmFNaWNyb3Bob25lU3RyZWFtKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLWV4cGVj
dGVkLnR4dAppbmRleCBlMzhkODBlODY3YzJjZDYxMTJmMDE0NDAxMTJlNWNlNjE5OWM5MzY4Li5h
ZjgxMmQ0ZjRjZjZmYzAxZWMxMTliYzY2NjhiNTFlMWM1Yjc4M2Q5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVlbmNhcHR1cmUt
dXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKIAogUEFTUyBBbGxvdyBn
ZXREaXNwbGF5TWVkaWEgY2FsbCBpbiBjYXNlIG9mIHVzZXIgZ2VzdHVyZSAKK1BBU1MgRGlzYWxs
b3cgZ2V0RGlzcGxheU1lZGlhIGNhbGxzIGluIGNhc2Ugb2YgdXNlciBnZXN0dXJlIGlmIG5vdCB0
aGUgZmlyc3QgY2FsbCAKIFBBU1MgRGVueSBnZXREaXNwbGF5TWVkaWEgY2FsbCBpZiBubyB1c2Vy
IGdlc3R1cmUgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vc2Ny
ZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbAppbmRleCA0YTQ1YzZiNTNmM2UyOGM1
ZWU1ZDExNzdmMzE0NzY4ZWVjZDYyMWUzLi45NTJkNmU0ZGIyMWM2NzI3N2FlYzI1OWNlMTZiNjlh
NTliNzI5ZmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVl
bmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS5odG1sCkBAIC0xLDkgKzEsNiBAQAogPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQ+Ci1pZiAod2luZG93LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0RGlzYWJs
ZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludChmYWxzZSk7Ci0KIHByb21pc2Vf
dGVzdCgoKSA9PiB7CiAgICAgbGV0IHByb21pc2U7CiAgICAgaW50ZXJuYWxzLndpdGhVc2VyR2Vz
dHVyZSgoKSA9PiB7CkBAIC0xMiw2ICs5LDIxIEBAIHByb21pc2VfdGVzdCgoKSA9PiB7CiAgICAg
cmV0dXJuIHByb21pc2U7CiB9LCAiQWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGwgaW4gY2FzZSBv
ZiB1c2VyIGdlc3R1cmUiKTsKIAorcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICBsZXQgcHJvbWlz
ZTsKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgY29uc3Qg
cHJvbWlzZTEgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7dmlkZW8g
OiB0cnVlfSk7CisgICAgICAgIGNvbnN0IHByb21pc2UyID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXREaXNwbGF5TWVkaWEoe3ZpZGVvIDogdHJ1ZX0pLnRoZW4oKCkgPT4geworICAgICAgICAg
ICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCJTZWNvbmQgcHJvbWlzZSBzaG91bGQgcmVqZWN0Iik7
CisgICAgICAgIH0sICgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiAiU2Vjb25kIHByb21pc2Ug
cmVqZWN0ZWQiOworICAgICAgICB9KTsKKyAgICAgICAgcHJvbWlzZSA9IFByb21pc2UuYWxsKFtw
cm9taXNlMSwgcHJvbWlzZTJdKTsKKyAgICB9KTsKKyAgICByZXR1cm4gcHJvbWlzZTsKK30sICJE
aXNhbGxvdyBnZXREaXNwbGF5TWVkaWEgY2FsbHMgaW4gY2FzZSBvZiB1c2VyIGdlc3R1cmUgaWYg
bm90IHRoZSBmaXJzdCBjYWxsIik7CisKKwogcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CiAgICAg
cmV0dXJuIHByb21pc2VfcmVqZWN0cyh0ZXN0LCAiSW52YWxpZEFjY2Vzc0Vycm9yIiwgbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoe3ZpZGVvIDogdHJ1ZX0pKTsKIH0sICJE
ZW55IGdldERpc3BsYXlNZWRpYSBjYWxsIGlmIG5vIHVzZXIgZ2VzdHVyZSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZ2V0LWRpc3BsYXkt
bWVkaWEtaWZyYW1lLWFsbG93LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1pZnJhbWUtYWxs
b3ctYXR0cmlidXRlLWV4cGVjdGVkLnR4dAppbmRleCBmNzIwYWQ3NDlkMWI1ZTYzM2JmNTBkMTgx
NzlmZTljZWRkMDM1MzM1Li45ZWViMGE3NTkyNTg0ZmQ0NWNlNmQ2YTQwN2ExYjI5OGVmN2JmMzBk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9n
ZXQtZGlzcGxheS1tZWRpYS1pZnJhbWUtYWxsb3ctYXR0cmlidXRlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9nZXQtZGlzcGxheS1t
ZWRpYS1pZnJhbWUtYWxsb3ctYXR0cmlidXRlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBUcnlpbmcgdG8gY2FsbCBnZXREaXNwbGF5TWVkaWEg
ZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4KLUNPTlNPTEUg
TUVTU0FHRTogbGluZSA4OiBUcnlpbmcgdG8gY2FsbCBnZXREaXNwbGF5TWVkaWEgZnJvbSBhIGZy
YW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4KLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA4OiBUcnlpbmcgdG8gY2FsbCBnZXREaXNwbGF5TWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhv
dXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBU
cnlpbmcgdG8gY2FsbCBnZXREaXNwbGF5TWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29ycmVj
dCAnYWxsb3cnIGF0dHJpYnV0ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBUcnlpbmcgdG8g
Y2FsbCBnZXREaXNwbGF5TWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cn
IGF0dHJpYnV0ZS4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBUcnlpbmcgdG8gY2FsbCBnZXRE
aXNwbGF5TWVkaWEgZnJvbSBhIGZyYW1lIHdpdGhvdXQgY29ycmVjdCAnYWxsb3cnIGF0dHJpYnV0
ZS4KICAgICAgCiAKIFBBU1M6IDxpZnJhbWUgYWxsb3c9Jyc+IGdvdCAiZGVueSIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2dldC1kaXNwbGF5
LW1lZGlhLXByb21wdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
dHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtcHJvbXB0Lmh0bWwKaW5kZXggNGZkZDA1OWZiMDA4NGIw
MzI2YTBlNTQ5Njk0Zjg2ZGRjZTRlYTkxYS4uMjIzNDhlM2QxYjg1MDIzNzM1Yjg3MmI3ZjlmN2Qy
ZTM4NmZiMTYxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtcHJvbXB0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtcHJvbXB0Lmh0
bWwKQEAgLTksMTkgKzksMjUgQEAKICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIAogPHNj
cmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgaW50ZXJuYWxzLnNldERp
c2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQodHJ1ZSk7Ci0KICAgICBs
ZXQgc3RyZWFtOwogICAgIGxldCBlcnI7CiAgICAgCisgICAgZnVuY3Rpb24gY2FsbEdldERpc3Bs
YXlNZWRpYShvcHRpb25zKQorICAgIHsKKyAgICAgICAgbGV0IHByb21pc2U7CisgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKKyAgICAgICAgICAgIHByb21p
c2UgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYShvcHRpb25zKTsKKyAg
ICAgICAgfSk7CisgICAgICAgIHJldHVybiBwcm9taXNlOworICAgIH0KKwogICAgIGZ1bmN0aW9u
IG51bWJlck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkgewogICAgICAg
ICByZXR1cm4gdGVzdFJ1bm5lci51c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENvdW50Rm9yT3Jp
Z2luKGRvY3VtZW50LmxvY2F0aW9uLmhyZWYsIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYpOwogICAg
IH0KICAgICAKICAgICBhc3luYyBmdW5jdGlvbiBwcm9tcHRGb3JBdWRpb09ubHkoKSB7CiAgICAg
ICAgIGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhbiBhdWRpby1vbmx5IHN0cmVhbSwgdGhlIHVzZXIg
c2hvdWxkIG5vdCBiZSBwcm9tcHRlZCAqKiIpOwotICAgICAgICBzdHJlYW0gPSBhd2FpdCBuYXZp
Z2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7IGF1ZGlvOiB0cnVlIH0pCisgICAg
ICAgIHN0cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyBhdWRpbzogdHJ1ZSB9KQog
ICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7IGVyciA9IGU7IH0pOwogICAgICAgICBzaG91bGRC
ZSgibnVtYmVyT2ZUaW1lc0dldFVzZXJNZWRpYVByb21wdEhhc0JlZW5DYWxsZWQoKSIsICIwIik7
CiAgICAgICAgIHNob3VsZEJlVW5kZWZpbmVkKCJzdHJlYW0iKTsKQEAgLTMxLDcgKzM3LDcgQEAK
IAogICAgIGFzeW5jIGZ1bmN0aW9uIHByb21wdEZvclZpZGVvT25seSgpIHsKICAgICAgICAgZGVi
dWcoIjxicj4qKiBSZXF1ZXN0IGFuIHZpZGVvLW9ubHkgc3RyZWFtLCB0aGUgdXNlciBzaG91bGQg
YmUgcHJvbXB0ZWQgKioiKTsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKKyAgICAgICAgc3RyZWFt
ID0gYXdhaXQgY2FsbEdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0pOwogICAgICAgICBz
aG91bGRCZSgibnVtYmVyT2ZUaW1lc0dldFVzZXJNZWRpYVByb21wdEhhc0JlZW5DYWxsZWQoKSIs
ICIxIik7CiAgICAgICAgIHNob3VsZEJlKCJzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5sZW5ndGgi
LCAiMCIpOwogICAgICAgICBzaG91bGRCZSgic3RyZWFtLmdldFZpZGVvVHJhY2tzKCkubGVuZ3Ro
IiwgIjEiKTsKQEAgLTM5LDcgKzQ1LDcgQEAKIAogICAgIGFzeW5jIGZ1bmN0aW9uIHByb21wdEZv
ckF1ZGlvQW5kVmlkZW8oKSB7CiAgICAgICAgIGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhIHN0cmVh
bSB3aXRoIGF1ZGlvIGFuZCB2aWRlbywgdGhlIHVzZXIgc2hvdWxkIGJlIHByb21wdGVkIGJ1dCBu
byBhdWRpbyB0cmFjayBzaG91bGQgYmUgY3JlYXRlZCAqKiIpOwotICAgICAgICBzdHJlYW0gPSBh
d2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVl
LCBhdWRpbzogdHJ1ZSB9KTsKKyAgICAgICAgc3RyZWFtID0gYXdhaXQgY2FsbEdldERpc3BsYXlN
ZWRpYSh7IHZpZGVvOiB0cnVlLCBhdWRpbzogdHJ1ZSB9KTsKICAgICAgICAgc2hvdWxkQmUoIm51
bWJlck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkiLCAiMiIpOwogICAg
ICAgICBzaG91bGRCZSgic3RyZWFtLmdldEF1ZGlvVHJhY2tzKCkubGVuZ3RoIiwgIjAiKTsKICAg
ICAgICAgc2hvdWxkQmUoInN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCIsICIxIik7CkBA
IC00OSw3ICs1NSw3IEBACiAgICAgICAgIGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhIHN0cmVhbSB3
aXRoICdtYXgnIGNvbnN0cmFpbnRzLCB0aGUgdXNlciBzaG91bGQgbm90IGJlIHByb21wdGVkICoq
Iik7CiAKICAgICAgICAgc3RyZWFtID0gbnVsbDsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzoge3dpZHRoOiB7ZXhh
Y3Q6IDY0MH0sIGhlaWdodDoge2V4YWN0OiA0ODB9fSB9KQorICAgICAgICBzdHJlYW0gPSBhd2Fp
dCBjYWxsR2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHt3aWR0aDoge2V4YWN0OiA2NDB9LCBoZWln
aHQ6IHtleGFjdDogNDgwfX0gfSkKICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4geyBlcnIgPSBl
OyB9KTsKICAgICAgICAgCiAgICAgICAgIHNob3VsZEJlKCJudW1iZXJPZlRpbWVzR2V0VXNlck1l
ZGlhUHJvbXB0SGFzQmVlbkNhbGxlZCgpIiwgIjIiKTsKQEAgLTYyLDcgKzY4LDcgQEAKICAgICAg
ICAgZGVidWcoIjxicj4qKiBSZXF1ZXN0IGEgc3RyZWFtIHdpdGggJ21pbicgY29uc3RyYWludHMs
IHRoZSB1c2VyIHNob3VsZCBub3QgYmUgcHJvbXB0ZWQgKioiKTsKIAogICAgICAgICBzdHJlYW0g
PSBudWxsOwotICAgICAgICBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdl
dERpc3BsYXlNZWRpYSh7IHZpZGVvOiB7d2lkdGg6IHttaW46IDY0MH0sIGhlaWdodDoge21pbjog
NDgwfX0gfSkKKyAgICAgICAgc3RyZWFtID0gYXdhaXQgY2FsbEdldERpc3BsYXlNZWRpYSh7IHZp
ZGVvOiB7d2lkdGg6IHttaW46IDY0MH0sIGhlaWdodDoge21pbjogNDgwfX0gfSkKICAgICAgICAg
ICAgIC5jYXRjaCgoZSkgPT4geyBlcnIgPSBlOyB9KTsKICAgICAgICAgc2hvdWxkQmUoIm51bWJl
ck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkiLCAiMiIpOwogICAgICAg
ICBzaG91bGRCZVVuZGVmaW5lZCgic3RyZWFtIik7CkBAIC03NCw3ICs4MCw3IEBACiAgICAgICAg
IGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhIHN0cmVhbSB3aXRoICdhZHZhbmNlZCcgY29uc3RyYWlu
dHMsIHRoZSB1c2VyIHNob3VsZCBub3QgYmUgcHJvbXB0ZWQgKioiKTsKIAogICAgICAgICBzdHJl
YW0gPSBudWxsOwotICAgICAgICBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB7IHdpZHRoOiA2NDAsIGhlaWdodDogNDgwLCBhZHZh
bmNlZDogWyB7IHdpZHRoOiAxOTIwLCBoZWlnaHQ6IDEyODAgfSBdIH0gfSkKKyAgICAgICAgc3Ry
ZWFtID0gYXdhaXQgY2FsbEdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB7IHdpZHRoOiA2NDAsIGhl
aWdodDogNDgwLCBhZHZhbmNlZDogWyB7IHdpZHRoOiAxOTIwLCBoZWlnaHQ6IDEyODAgfSBdIH0g
fSkKICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4geyBlcnIgPSBlOyB9KTsKICAgICAgICAgc2hv
dWxkQmUoIm51bWJlck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkiLCAi
MiIpOwogICAgICAgICBzaG91bGRCZVVuZGVmaW5lZCgic3RyZWFtIik7CkBAIC04Niw3ICs5Miw3
IEBACiAgICAgICAgIGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhIHN0cmVhbSB3aXRoIHZhbGlkIGNv
bnN0cmFpbnRzLCB0aGUgdXNlciBzaG91bGQgYmUgcHJvbXB0ZWQgKioiKTsKIAogICAgICAgICBz
dHJlYW0gPSBudWxsOwotICAgICAgICBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZp
Y2VzLmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB7d2lkdGg6IDY0MCwgaGVpZ2h0OiA0ODB9IH0p
CisgICAgICAgIHN0cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzoge3dp
ZHRoOiA2NDAsIGhlaWdodDogNDgwfSB9KQogICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7IGVy
ciA9IGU7IH0pOwogICAgICAgICAKICAgICAgICAgc2hvdWxkQmUoIm51bWJlck9mVGltZXNHZXRV
c2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkiLCAiMyIpOwpAQCAtOTgsNyArMTA0LDcgQEAK
ICAgICAgICAgZGVidWcoIjxicj4qKiBSZXF1ZXN0IGEgc3RyZWFtIHdpdGggYW4gZXhhY3QgYXVk
aW8gY29uc3RyYWludCwgaXQgc2hvdWxkIGJlIGlnbm9yZWQgKioiKTsKIAogICAgICAgICBzdHJl
YW0gPSBudWxsOwotICAgICAgICBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlLCBhdWRpbzogeyB2b2x1bWU6IHsgZXhhY3Q6
IDAuNSB9IH0gfSk7CisgICAgICAgIHN0cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEo
eyB2aWRlbzogdHJ1ZSwgYXVkaW86IHsgdm9sdW1lOiB7IGV4YWN0OiAwLjUgfSB9IH0pOwogICAg
ICAgICBzaG91bGRCZSgibnVtYmVyT2ZUaW1lc0dldFVzZXJNZWRpYVByb21wdEhhc0JlZW5DYWxs
ZWQoKSIsICI0Iik7CiAgICAgICAgIHNob3VsZEJlKCJzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5s
ZW5ndGgiLCAiMCIpOwogICAgICAgICBzaG91bGRCZSgic3RyZWFtLmdldFZpZGVvVHJhY2tzKCku
bGVuZ3RoIiwgIjEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bWVkaWEtc3RyZWFtL3Jlc291cmNlcy9nZXQtZGlzcGxheS1tZWRpYS1kZXZpY2VzLWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3VyY2Vz
L2dldC1kaXNwbGF5LW1lZGlhLWRldmljZXMtaWZyYW1lLmh0bWwKaW5kZXggOWUzM2I2NmY5MmM0
NDViNjY1ZDhkMTU1YmJhYzM2ZDc3N2NlMTIyYS4uYzhkNGNiYTY3YWRlZTgzNTQ4NjI1NWExOTgx
MGVjMmQ5YzI2Y2I3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zdHJlYW0vcmVzb3VyY2VzL2dldC1kaXNwbGF5LW1lZGlhLWRldmljZXMtaWZyYW1lLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vcmVzb3Vy
Y2VzL2dldC1kaXNwbGF5LW1lZGlhLWRldmljZXMtaWZyYW1lLmh0bWwKQEAgLTEsMTEgKzEsMTcg
QEAKIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIGludGVybmFs
cy5zZXREaXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KHRydWUpOwor
ICAgIGZ1bmN0aW9uIGNhbGxHZXREaXNwbGF5TWVkaWEob3B0aW9ucykKKyAgICB7CisgICAgICAg
IGxldCBwcm9taXNlOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgo
KSA9PiB7CisgICAgICAgICAgICBwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRE
aXNwbGF5TWVkaWEob3B0aW9ucyk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gcHJvbWlz
ZTsKKyAgICB9CiAKICAgICBhc3luYyBmdW5jdGlvbiBlbnVtZXJhdGUoZXZlbnQpCiAgICAgewog
ICAgICAgICBsZXQgcmVzdWx0OwotICAgICAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2Vz
LmdldERpc3BsYXlNZWRpYSh7dmlkZW86IHRydWV9KQorICAgICAgICBhd2FpdCBjYWxsR2V0RGlz
cGxheU1lZGlhKHt2aWRlbzogdHJ1ZX0pCiAgICAgICAgICAgICAudGhlbigocykgPT4gcmVzdWx0
ID0gImFsbG93IikKICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4gcmVzdWx0ID0gImRlbnkiKTsK
ICAgICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKGAke2V2ZW50LmRhdGF9OiR7cmVzdWx0fWAsICcq
Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMKaW5kZXggZjhh
YThjYjNjODQwZjdmYmQyMjdiN2VlMDFiODE4Yzk5MDAxZjg2NS4uNjY4MzQyODMwZmY1OTJhN2I3
YWVhOWM0ODExZjNhYzExZjEwNjBjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzCisrKyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcwpAQCAtMzIsOSArMzIsNiBAQCBpZiAoc2VsZi50ZXN0UnVubmVyKSB7CiAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXIoZmFs
c2UsIGZ1bmN0aW9uKCkgeyB9KTsKIH0KIAotaWYgKHNlbGYuaW50ZXJuYWxzICYmIGludGVybmFs
cy5zZXREaXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KQotICAgIGlu
dGVybmFscy5zZXREaXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KHRy
dWUpOwotCiBpZiAoc2VsZi5pbnRlcm5hbHMgJiYgaW50ZXJuYWxzLnNldElDRUNhbmRpZGF0ZUZp
bHRlcmluZykKICAgICBpbnRlcm5hbHMuc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKGZhbHNlKTsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382807</attachid>
            <date>2019-11-04 23:12:45 -0800</date>
            <delta_ts>2019-11-05 01:14:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203362-20191105081243.patch</filename>
            <type>text/plain</type>
            <size>38019</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTEyYWU5ZjljNzAwNmZi
MzNjNGVlOTE5ZWU0ZmM5MDM5MjMwYWVkNC4uMDMyYzk1YTczMTg2MTA0OTQwY2VjMDA5NGE1MjQ1
NTRhMzM5NGVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTExLTA0ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2Vz
dHVyZSBmb3IgZ2V0VXNlck1lZGlhIGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2Fs
bCB3YXMgZGVuaWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDMzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAg
ICAgQ29tcHV0ZSB3aGV0aGVyIGEgbWVkaWEgcmVxdWVzdCBpcyB1c2VyIHByaXZpbGVkZ2VkIG9y
IG5vdC4KKyAgICAgICAgSXQgaXMgcHJpdmlsZWRnZWQgaWYgaXQgaXMgY3JlYXRlZCBhcyBwYXJ0
IG9mIGEgdXNlciBnZXN0dXJlIGFuZCBubyByZXF1ZXN0IG9mIHRoZSBzYW1lIHR5cGUKKyAgICAg
ICAgaGFzIGJlZW4gcHJldmlvdXNseSBjcmVhdGVkIGZvciB0aGUgc2FtZSB1c2VyIGdlc3R1cmUu
CisgICAgICAgIElmIGdldERpc3BsYXlNZWRpYSBpcyBjYWxsZWQgdHdpY2UgYXMgcGFydCBvZiBh
IHNpbmdsZSB1c2VyIGdlc3R1cmUsIGdldERpc3BsYU1lZGlhIHdpbGwgcmVqZWN0IGZvciB0aGUg
c2Vjb25kIGNhbGwuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBpbnRlcm5hbCBhYmlsaXR5IHRvIGRp
c2FibGUgdXNlciBnZXN0dXJlIGNoZWNrLgorICAgICAgICBJbnN0ZWFkIHVzZSBpbnRlcm5hbHMg
QVBJIHRvIHNpbXVsYXRlIGEgdXNlciBnZXN0dXJlLiAgICAgICAKKworICAgICAgICBUZXN0OiBm
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS5odG1sIGFuZCB1
cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURldmljZXM6OmNvbXB1dGVVc2VyR2VzdHVy
ZVByaXZpbGVkZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVk
aWEpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXRVc2VyTWVkaWEgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1SZXF1ZXN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Q6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVJlcXVlc3Q6OmRlY29kZSk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRN
ZWRpYVN0cmVhbVNvdXJjZUludGVycnVwdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCk6IERlbGV0
ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisKIDIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIG1wNCB2aWRlbyBlbGVtZW50IGJyb2tlbiB3aXRoIHNlcnZpY2Ugd29y
a2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGZiOWE4Y2U3NjFjNGQ0MmFmY2JkZGI0MTZhN2M3OGI1MTJiODgwOWMu
LmFlNWY3ZWI2MzgwZmFiZTI5MzgzMzIwM2UyZDE3YmMxNzliODc2NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEVuZm9yY2UgdXNlciBnZXN0dXJlIGZvciBnZXRVc2VyTWVkaWEgaW4gY2Fz
ZSBhIHByZXZpb3VzIGdldFVzZXJNZWRpYSBjYWxsIHdhcyBkZW5pZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzM2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJbiBjYXNlIHRoZSByZXF1ZXN0IGhhcyB1
c2VyIGdlc3R1cmUgcHJpdmlsZWRnZSwgZG8gbm90IGxvb2sgYXQgZGVuaWVkIHJlcXVlc3QgaGlz
dG9yeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5OjpnZXRSZXF1ZXN0QWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Ojppc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgY29u
c3QpOgorCiAyMDE5LTExLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBtcDQgdmlkZW8gZWxlbWVudCBicm9rZW4gd2l0aCBzZXJ2aWNlIHdvcmtlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3Bw
CmluZGV4IDY1NjIxZDlmMWZiZGM2YjNhMzJhNjU1MWVmMmJjNGQ0MTYyOTVjZmEuLmQ4NWVkMGMy
ZTM3ODU0ODE2NmMxMzRjNzY3MmJiYzMyMDJmYjBmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJKU01lZGlhRGV2aWNlSW5mby5oIgogI2luY2x1ZGUgIk1lZGlhVHJhY2tT
dXBwb3J0ZWRDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5ncy5oIgorI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVXNl
ck1lZGlhQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYVJlcXVlc3QuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtMTA0LDcgKzEwNSwyMCBAQCBzdGF0aWMg
TWVkaWFDb25zdHJhaW50cyBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0IFZhcmlhbnQ8Ym9v
bCwgTWVkaWFUcmFja0NvbgogICAgICk7CiB9CiAKLXZvaWQgTWVkaWFEZXZpY2VzOjpnZXRVc2Vy
TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNlJiYgcHJv
bWlzZSkgY29uc3QKK2Jvb2wgTWVkaWFEZXZpY2VzOjpjb21wdXRlVXNlckdlc3R1cmVQcml2aWxl
ZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdCByZXF1ZXN0VHlwZSkKK3sKKyAgICBhdXRvKiBjdXJy
ZW50R2VzdHVyZVRva2VuID0gVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVy
ZSgpLmdldCgpOworICAgIGlmIChtX2N1cnJlbnRHZXN0dXJlVG9rZW4gIT0gY3VycmVudEdlc3R1
cmVUb2tlbikgeworICAgICAgICBtX2N1cnJlbnRHZXN0dXJlVG9rZW4gPSBjdXJyZW50R2VzdHVy
ZVRva2VuOworICAgICAgICBtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlID0geyB9Owor
ICAgIH0KKworICAgIGJvb2wgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkID0gbV9jdXJyZW50R2Vz
dHVyZVRva2VuICYmICFtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlLmNvbnRhaW5zKHJl
cXVlc3RUeXBlKTsKKyAgICBtX3JlcXVlc3RUeXBlc0ZvckN1cnJlbnRHZXN0dXJlLmFkZChyZXF1
ZXN0VHlwZSk7CisgICAgcmV0dXJuIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZDsKK30KKwordm9p
ZCBNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYgY29u
c3RyYWludHMsIFByb21pc2UmJiBwcm9taXNlKQogewogICAgIGF1dG8qIGRvY3VtZW50ID0gdGhp
cy0+ZG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+aXNGdWxseUFj
dGl2ZSgpKSB7CkBAIC0xMTQsMjUgKzEyOCwzNCBAQCB2b2lkIE1lZGlhRGV2aWNlczo6Z2V0VXNl
ck1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiBjb25zdHJhaW50cywgUHJvbWlzZSYmCiAK
ICAgICBhdXRvIGF1ZGlvQ29uc3RyYWludHMgPSBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0
cmFpbnRzLmF1ZGlvKTsKICAgICBhdXRvIHZpZGVvQ29uc3RyYWludHMgPSBjcmVhdGVNZWRpYUNv
bnN0cmFpbnRzKGNvbnN0cmFpbnRzLnZpZGVvKTsKLSAgICBpZiAodmlkZW9Db25zdHJhaW50cy5p
c1ZhbGlkKQorCisgICAgYm9vbCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgPSBmYWxzZTsKKwor
ICAgIGlmIChhdWRpb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisgICAgICAgIGlzVXNlckdlc3R1cmVQ
cml2aWxlZGdlZCB8PSBjb21wdXRlVXNlckdlc3R1cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2Vk
UmVxdWVzdDo6TWljcm9waG9uZSk7CisKKyAgICBpZiAodmlkZW9Db25zdHJhaW50cy5pc1ZhbGlk
KSB7CisgICAgICAgIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCB8PSBjb21wdXRlVXNlckdlc3R1
cmVQcml2aWxlZGdlKEdlc3R1cmVBbGxvd2VkUmVxdWVzdDo6Q2FtZXJhKTsKICAgICAgICAgdmlk
ZW9Db25zdHJhaW50cy5zZXREZWZhdWx0VmlkZW9Db25zdHJhaW50cygpOworICAgIH0KIAotICAg
IGF1dG8gcmVxdWVzdCA9IFVzZXJNZWRpYVJlcXVlc3Q6OmNyZWF0ZSgqZG9jdW1lbnQsIHsgTWVk
aWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpVc2VyTWVkaWEsIFdURk1vdmUoYXVkaW9Db25zdHJhaW50
cyksIFdURk1vdmUodmlkZW9Db25zdHJhaW50cykgfSwgV1RGTW92ZShwcm9taXNlKSk7CisgICAg
YXV0byByZXF1ZXN0ID0gVXNlck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRp
YVN0cmVhbVJlcXVlc3Q6OlR5cGU6OlVzZXJNZWRpYSwgV1RGTW92ZShhdWRpb0NvbnN0cmFpbnRz
KSwgV1RGTW92ZSh2aWRlb0NvbnN0cmFpbnRzKSwgaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkIH0s
IFdURk1vdmUocHJvbWlzZSkpOwogICAgIHJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgTWVk
aWFEZXZpY2VzOjpnZXREaXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0
cmFpbnRzLCBQcm9taXNlJiYgcHJvbWlzZSkgY29uc3QKK3ZvaWQgTWVkaWFEZXZpY2VzOjpnZXRE
aXNwbGF5TWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzLCBQcm9taXNl
JiYgcHJvbWlzZSkKIHsKICAgICBhdXRvKiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7CiAg
ICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX2Rpc2FibGVH
ZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgJiYgIVVzZXJHZXN0dXJlSW5kaWNh
dG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgeworICAgIGJvb2wgaXNVc2VyR2VzdHVyZVBy
aXZpbGVkZ2VkID0gY29tcHV0ZVVzZXJHZXN0dXJlUHJpdmlsZWRnZShHZXN0dXJlQWxsb3dlZFJl
cXVlc3Q6OkRpc3BsYXkpOworICAgIGlmICghaXNVc2VyR2VzdHVyZVByaXZpbGVkZ2VkKSB7CiAg
ICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciwgImdl
dERpc3BsYXlNZWRpYSBtdXN0IGJlIGNhbGxlZCBmcm9tIGEgdXNlciBnZXN0dXJlIGhhbmRsZXIu
Il9zIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byByZXF1ZXN0ID0gVXNl
ck1lZGlhUmVxdWVzdDo6Y3JlYXRlKCpkb2N1bWVudCwgeyBNZWRpYVN0cmVhbVJlcXVlc3Q6OlR5
cGU6OkRpc3BsYXlNZWRpYSwgeyB9LCBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0cmFpbnRz
LnZpZGVvKSB9LCBXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBVc2VyTWVk
aWFSZXF1ZXN0OjpjcmVhdGUoKmRvY3VtZW50LCB7IE1lZGlhU3RyZWFtUmVxdWVzdDo6VHlwZTo6
RGlzcGxheU1lZGlhLCB7IH0sIGNyZWF0ZU1lZGlhQ29uc3RyYWludHMoY29uc3RyYWludHMudmlk
ZW8pLCBpc1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQgfSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAg
cmVxdWVzdC0+c3RhcnQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNTM5NWViODQ4MmY4Yzc0ZDVkYzBkNmM1OTMw
ZDQ5YTIyNjcyMGEzZi4uOWI2Nzg3YzQzZWViNWJlNTE2OWI3NjhhMGJiNjFiMDE2MzI4YjA1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgTWVkaWFEZXZpY2VJbmZvOwogY2xhc3MgTWVkaWFTdHJlYW07CitjbGFzcyBVc2Vy
R2VzdHVyZVRva2VuOwogCiBzdHJ1Y3QgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzOwog
CkBAIC03NywxNiArNzgsMTQgQEAgcHVibGljOgogICAgICAgICBWYXJpYW50PGJvb2wsIE1lZGlh
VHJhY2tDb25zdHJhaW50cz4gdmlkZW87CiAgICAgICAgIFZhcmlhbnQ8Ym9vbCwgTWVkaWFUcmFj
a0NvbnN0cmFpbnRzPiBhdWRpbzsKICAgICB9OwotICAgIHZvaWQgZ2V0VXNlck1lZGlhKGNvbnN0
IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlzZSYmKSBjb25zdDsKLSAgICB2b2lkIGdldERpc3Bs
YXlNZWRpYShjb25zdCBTdHJlYW1Db25zdHJhaW50cyYsIFByb21pc2UmJikgY29uc3Q7CisgICAg
dm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgU3RyZWFtQ29uc3RyYWludHMmLCBQcm9taXNlJiYpOwor
ICAgIHZvaWQgZ2V0RGlzcGxheU1lZGlhKGNvbnN0IFN0cmVhbUNvbnN0cmFpbnRzJiwgUHJvbWlz
ZSYmKTsKICAgICB2b2lkIGVudW1lcmF0ZURldmljZXMoRW51bWVyYXRlRGV2aWNlc1Byb21pc2Um
Jik7CiAgICAgTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzIGdldFN1cHBvcnRlZENvbnN0
cmFpbnRzKCk7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhRGV2aWNlcz46OnJlZjsKICAg
ICB1c2luZyBSZWZDb3VudGVkPE1lZGlhRGV2aWNlcz46OmRlcmVmOwogCi0gICAgdm9pZCBzZXRE
aXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2wgdmFsdWUpIHsg
bV9kaXNhYmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50ID0gdmFsdWU7IH0K
LQogcHJpdmF0ZToKICAgICBleHBsaWNpdCBNZWRpYURldmljZXMoRG9jdW1lbnQmKTsKIApAQCAt
MTA5LDE1ICsxMDgsMjQgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmlu
YWwgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYo
KTsgfQogCisgICAgZW51bSBjbGFzcyBHZXN0dXJlQWxsb3dlZFJlcXVlc3QgeworICAgICAgICBN
aWNyb3Bob25lID0gMSA8PCAwLAorICAgICAgICBDYW1lcmEgPSAxIDw8IDEsCisgICAgICAgIERp
c3BsYXkgPSAxIDw8IDIsCisgICAgfTsKKyAgICBib29sIGNvbXB1dGVVc2VyR2VzdHVyZVByaXZp
bGVkZ2UoR2VzdHVyZUFsbG93ZWRSZXF1ZXN0KTsKKwogICAgIFRpbWVyIG1fc2NoZWR1bGVkRXZl
bnRUaW1lcjsKICAgICBVc2VyTWVkaWFDbGllbnQ6OkRldmljZUNoYW5nZU9ic2VydmVyVG9rZW4g
bV9kZXZpY2VDaGFuZ2VUb2tlbjsKICAgICBjb25zdCBFdmVudE5hbWVzJiBtX2V2ZW50TmFtZXM7
IC8vIE5lZWQgdG8gY2FjaGUgdGhpcyBzbyB3ZSBjYW4gdXNlIGl0IGZyb20gR0MgdGhyZWFkcy4K
ICAgICBib29sIG1fbGlzdGVuaW5nRm9yRGV2aWNlQ2hhbmdlcyB7IGZhbHNlIH07Ci0gICAgYm9v
bCBtX2Rpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQgeyBmYWxzZSB9
OwogCiAgICAgVmVjdG9yPFJlZjxNZWRpYURldmljZUluZm8+PiBtX2RldmljZXM7CiAgICAgYm9v
bCBtX2NhbkFjY2Vzc0NhbWVyYSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhbkFjY2Vzc01pY3Jv
cGhvbmUgeyBmYWxzZSB9OworCisgICAgT3B0aW9uU2V0PEdlc3R1cmVBbGxvd2VkUmVxdWVzdD4g
bV9yZXF1ZXN0VHlwZXNGb3JDdXJyZW50R2VzdHVyZTsKKyAgICBVc2VyR2VzdHVyZVRva2VuKiBt
X2N1cnJlbnRHZXN0dXJlVG9rZW4geyBudWxscHRyIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtUmVxdWVzdC5oCmluZGV4IDlhNzI3MDE4M2RmMmE1NWM0MmM0MjZkYzdjNjVm
MDFhYmQzODA4ODUuLjAwNDU4MmY4ZjUwOWJlNGRmOWQxZDA5YjU3Njg0ZjRjYmZlODE5MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtUmVxdWVzdC5oCkBAIC0zMyw5ICszMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgIGVudW0gY2xhc3MgVHlwZSB7IFVzZXJN
ZWRpYSwgRGlzcGxheU1lZGlhIH07Ci0gICAgVHlwZSB0eXBlOworICAgIFR5cGUgdHlwZSB7IFR5
cGU6OlVzZXJNZWRpYSB9OwogICAgIE1lZGlhQ29uc3RyYWludHMgYXVkaW9Db25zdHJhaW50czsK
ICAgICBNZWRpYUNvbnN0cmFpbnRzIHZpZGVvQ29uc3RyYWludHM7CisgICAgYm9vbCBpc1VzZXJH
ZXN0dXJlUHJpdmlsZWRnZWQgeyBmYWxzZSB9OwogCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdApAQCAtNDMsMTIgKzQ0
LDEzIEBAIHN0cnVjdCBNZWRpYVN0cmVhbVJlcXVlc3QgewogICAgICAgICBlbmNvZGVyLmVuY29k
ZUVudW0odHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgYXVkaW9Db25zdHJhaW50czsKICAgICAg
ICAgZW5jb2RlciA8PCB2aWRlb0NvbnN0cmFpbnRzOworICAgICAgICBlbmNvZGVyIDw8IGlzVXNl
ckdlc3R1cmVQcml2aWxlZGdlZDsKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIE9wdGlvbmFsPE1lZGlhU3RyZWFtUmVxdWVzdD4gZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCiAgICAgewogICAgICAgICBNZWRpYVN0cmVhbVJlcXVlc3QgcmVxdWVzdDsKLSAgICAg
ICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5cGUpICYmIGRlY29kZXIuZGVjb2Rl
KHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rlci5kZWNvZGUocmVxdWVzdC52aWRl
b0NvbnN0cmFpbnRzKSkKKyAgICAgICAgaWYgKGRlY29kZXIuZGVjb2RlRW51bShyZXF1ZXN0LnR5
cGUpICYmIGRlY29kZXIuZGVjb2RlKHJlcXVlc3QuYXVkaW9Db25zdHJhaW50cykgJiYgZGVjb2Rl
ci5kZWNvZGUocmVxdWVzdC52aWRlb0NvbnN0cmFpbnRzKSAmJiBkZWNvZGVyLmRlY29kZShyZXF1
ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCkpCiAgICAgICAgICAgICByZXR1cm4gcmVxdWVz
dDsKIAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IDFiYWZjNjZmZWIzNWYwNTk5MmZlYjdlYTkzZWYxM2IxODMwZjU4N2Mu
LmE3NGI0ZmM0ZGU3NjQ4NjIwMzYzYTZmMGNmZWQ5MmVkNGY4NzE2ODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ4NzEsMTYgKzQ4NzEsNiBAQCB2b2lkIEludGVybmFs
czo6c2V0TWVkaWFTdHJlYW1Tb3VyY2VJbnRlcnJ1cHRlZChNZWRpYVN0cmVhbVRyYWNrJiB0cmFj
aywgYm9vbCBpbgogewogICAgIHRyYWNrLnNvdXJjZSgpLnNldEludGVycnVwdGVkRm9yVGVzdGlu
ZyhpbnRlcnJ1cHRlZCk7CiB9Ci0KLXZvaWQgSW50ZXJuYWxzOjpzZXREaXNhYmxlR2V0RGlzcGxh
eU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2wgdmFsdWUpCi17Ci0gICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCB8fCAhZG9j
dW1lbnQtPmRvbVdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoYXV0byogbWVk
aWFEZXZpY2VzID0gTmF2aWdhdG9yTWVkaWFEZXZpY2VzOjptZWRpYURldmljZXMoZG9jdW1lbnQt
PmRvbVdpbmRvdygpLT5uYXZpZ2F0b3IoKSkpCi0gICAgICAgIG1lZGlhRGV2aWNlcy0+c2V0RGlz
YWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCh2YWx1ZSk7Ci19CiAjZW5k
aWYKIAogYm9vbCBJbnRlcm5hbHM6OnN1cHBvcnRzQXVkaW9TZXNzaW9uKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDBiYTA2NmJmYTkxZWUwOWEzOTMyZmRhNGRiOGJl
ZGYyNDVhYjdmZjYuLjc4NjI3ZDYwNTgzMjUzNWExNTRmN2QzMGNkZDIyNmQ2YTM1YjE4ZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNzQ0LDcgKzc0NCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNpbXVsYXRlTWVkaWFTdHJlYW1UcmFja0NhcHR1cmVTb3VyY2VGYWlsdXJlKE1l
ZGlhU3RyZWFtVHJhY2smKTsKICAgICB2b2lkIHNldE1lZGlhU3RyZWFtVHJhY2tJZGVudGlmaWVy
KE1lZGlhU3RyZWFtVHJhY2smLCBTdHJpbmcmJiBpZCk7CiAgICAgdm9pZCBzZXRNZWRpYVN0cmVh
bVNvdXJjZUludGVycnVwdGVkKE1lZGlhU3RyZWFtVHJhY2smLCBib29sKTsKLSAgICB2b2lkIHNl
dERpc2FibGVHZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQoYm9vbCk7CiAjZW5k
aWYKIAogICAgIGJvb2wgc3VwcG9ydHNBdWRpb1Nlc3Npb24oKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBkMmY5YjBiZTQ0N2RhMWI1OGFhZGYwYmZjZjc1YjY5
MTkwYWY0NmU5Li4zM2Y0ODY1MTVjMWM5YmVmZmExN2Y2ZWFlZmIzY2M4NjcwZDRmNTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC03MjYsNyArNzI2LDYgQEAgZW51bSBD
b21wb3NpdGluZ1BvbGljeSB7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBz
aW11bGF0ZU1lZGlhU3RyZWFtVHJhY2tDYXB0dXJlU291cmNlRmFpbHVyZShNZWRpYVN0cmVhbVRy
YWNrIHRyYWNrKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldE1lZGlh
U3RyZWFtVHJhY2tJZGVudGlmaWVyKE1lZGlhU3RyZWFtVHJhY2sgdHJhY2ssIERPTVN0cmluZyBp
ZGVudGlmaWVyKTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSB2b2lkIHNldE1lZGlh
U3RyZWFtU291cmNlSW50ZXJydXB0ZWQoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgYm9vbGVhbiBp
bnRlcnJ1cHRlZCk7Ci0gICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdm9pZCBzZXREaXNh
YmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KGJvb2xlYW4gdmFsdWUpOwog
CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvY3VtZW50SWRlbnRpZmllcihEb2N1bWVudCBkb2N1
bWVudCk7CiAgICAgYm9vbGVhbiBpc0RvY3VtZW50QWxpdmUodW5zaWduZWQgbG9uZyBsb25nIGRv
Y3VtZW50SWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggMTNiNTIwYTM4NTAwZTQ3ZmI4ZjJjNDg1NWUwYjA0NDIwNmNiNmM1YS4uNWE4OTQ3YTI3MTYx
NTdkMDRlOWI3OWM2ZDk5MDliZDNiM2NmNjNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcApAQCAtMzQ1LDcgKzM0NSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5OjpSZXF1ZXN0QWN0aW9uIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0CiAg
ICAgQVNTRVJUKCEocmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUgJiYgIXJlcXVlc3QuaGFzVmlkZW9E
ZXZpY2UoKSkpOwogICAgIEFTU0VSVCghKHJlcXVlc3RpbmdTY3JlZW5DYXB0dXJlICYmIHJlcXVl
c3RpbmdNaWNyb3Bob25lKSk7CiAKLSAgICBpZiAod2FzUmVxdWVzdERlbmllZChyZXF1ZXN0LmZy
YW1lSUQoKSwgcmVxdWVzdC51c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVl
c3QudG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVlc3RpbmdNaWNyb3Bob25l
LCByZXF1ZXN0aW5nQ2FtZXJhLCByZXF1ZXN0aW5nU2NyZWVuQ2FwdHVyZSkpCisgICAgaWYgKCFy
ZXF1ZXN0LmlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCgpICYmIHdhc1JlcXVlc3REZW5pZWQocmVx
dWVzdC5mcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigp
LCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0aW5nTWlj
cm9waG9uZSwgcmVxdWVzdGluZ0NhbWVyYSwgcmVxdWVzdGluZ1NjcmVlbkNhcHR1cmUpKQogICAg
ICAgICByZXR1cm4gUmVxdWVzdEFjdGlvbjo6RGVueTsKIAogICAgIGlmIChyZXF1ZXN0LnJlcXVl
c3RUeXBlKCkgPT0gTWVkaWFTdHJlYW1SZXF1ZXN0OjpUeXBlOjpEaXNwbGF5TWVkaWEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmgKaW5kZXggYmE0ZTBhMzQ3MTYwMzFiMThmMDg1Y2ZkMDFhNzM1MTc3OGEwMzA1
OC4uN2Q4MjQ5NzIwY2ZlYjVjZjk0NDgyNzhkOGNkN2UwNjJmYzdlNTc2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuaApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6Q2FwdHVyZURl
dmljZSBhdWRpb0RldmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZWxpZ2libGVBdWRpb0RldmljZXMu
aXNFbXB0eSgpID8gV2ViQ29yZTo6Q2FwdHVyZURldmljZSB7IH0gOiBtX2VsaWdpYmxlQXVkaW9E
ZXZpY2VzWzBdOyB9CiAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZSB2aWRlb0RldmljZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZWxpZ2libGVWaWRlb0RldmljZXMuaXNFbXB0eSgpID8gV2ViQ29yZTo6
Q2FwdHVyZURldmljZSB7IH0gOiBtX2VsaWdpYmxlVmlkZW9EZXZpY2VzWzBdOyB9CiAKKyAgICBi
b29sIGlzVXNlckdlc3R1cmVQcml2aWxlZGdlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdC5p
c1VzZXJHZXN0dXJlUHJpdmlsZWRnZWQ7IH0KKwogcHJpdmF0ZToKICAgICBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBtYWluRnJh
bWVJRCwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+JiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIFJlZjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4mJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBWZWN0b3I8V2ViQ29yZTo6Q2FwdHVyZURldmlj
ZT4mJiBhdWRpb0RldmljZXMsIFZlY3RvcjxXZWJDb3JlOjpDYXB0dXJlRGV2aWNlPiYmIHZpZGVv
RGV2aWNlcywgV2ViQ29yZTo6TWVkaWFTdHJlYW1SZXF1ZXN0JiYpOwogCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDE5OWJmMTgwMmRhYzNlMTdk
OTViMTk0YWY3ODcwNGQyYzUyMGU0Zi4uODc5MDkyNzQ2ZjMyNDczNmM5MGIwN2EzNDNmYTlkNDA2
MGU0MTc3MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTExLTA0ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBFbmZvcmNlIHVzZXIgZ2VzdHVyZSBmb3IgZ2V0VXNlck1lZGlh
IGluIGNhc2UgYSBwcmV2aW91cyBnZXRVc2VyTWVkaWEgY2FsbCB3YXMgZGVuaWVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMzNjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1RfRik6CisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIHRha2UgaW50byBhY2NvdW50IHRo
ZSBhYmlsaXR5IHRvIGFzayBhZ2FpbiBmb3IgcGVybWlzc2lvbi4KKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9nZXREaXNwbGF5TWVkaWEuaHRtbDoKKyAgICAgICAgVXBkYXRl
IHRvIG1ha2Ugc3VyZSB3ZSBub3RpZnkgdGVzdCBpZiBpbnRlcm5hbHMgaXMgbm90IGF2YWlsYWJs
ZS4KKwogMjAxOS0xMS0wMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBXS1dlYlZpZXcgY2FuIGdldCBzdHVjayBibGFuayAoV2ViIENvbnRlbnQgcHJv
Y2VzcyB0aGlua3MgdGhlIGFwcCBpcyBiYWNrZ3JvdW5kZWQpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9nZXREaXNwbGF5TWVkaWEuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCmluZGV4IGM0NDY4
YzRlZTg4MWFhM2NlMDhlNTczYTQ2ODY0MWY3Mzg0MDY2NGIuLjAwZjlhMzQwYzA5N2QwMjE2NzVl
YzlhZmE2MzFkM2FkOTk4YTc3ZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L2dldERpc3BsYXlNZWRpYS5odG1sCkBAIC0yLDEyICsyLDE2IEBACiA8aHRt
bD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdD4KLQogICAgICAgICAgICAgbGV0IHN0cmVh
bSA9IG51bGw7CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIHByb21wdEZvckNhcHR1cmUoY29uc3Ry
YWludHMpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy53
aXRoVXNlckdlc3R1cmUoYXN5bmMgKCkgPT4geworICAgICAgICAgICAgICAgIGlmICghd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VI
YW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgndGVzdCByZXF1aXJlcyBpbnRlcm5hbHMn
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEo
Y29uc3RyYWludHMpCiAgICAgICAgICAgICAgICAgICAgIC50aGVuKChzKSA9PiB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJlYW0gPSBzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWEubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQppbmRleCA0MWE1ZTZm
ZWJlMzQzMzE5ZGFiMzliMzgzOWRhMTMxN2JhYWM1MzlmLi45NWFkY2E5YTJkN2M5ZmFjMGUxMDRm
YTQzMzY1NjUzZWZhNTg3OGFjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0dldERpc3BsYXlNZWRpYS5tbQpAQCAtMTgwLDggKzE4MCw3IEBA
IFRFU1RfRihHZXREaXNwbGF5TWVkaWFUZXN0LCBQcm9tcHRPbmNlQWZ0ZXJEZW5pYWwpCiAgICAg
c2hvdWxkRGVueSA9IHRydWU7CiAgICAgcHJvbXB0Rm9yQ2FwdHVyZShAInsgdmlkZW86IHRydWUg
fSIsIGZhbHNlKTsKICAgICBzaG91bGREZW55ID0gZmFsc2U7Ci0gICAgcHJvbXB0Rm9yQ2FwdHVy
ZShAInsgdmlkZW86IHRydWUgfSIsIGZhbHNlKTsKLSAgICBwcm9tcHRGb3JDYXB0dXJlKEAieyB2
aWRlbzogdHJ1ZSB9IiwgZmFsc2UpOworICAgIHByb21wdEZvckNhcHR1cmUoQCJ7IHZpZGVvOiB0
cnVlIH0iLCB0cnVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDkxZWFkNTRhN2U2NDk1ZmQ1ODIxMjcxMDM3YmE3ODVlNjAwZmYwMzguLjlkMmY3ZjYyZDJhMmVm
MzVjNzU1MmI5YTQ2OWZhODI2NGE1MjRkYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOS0x
MS0wNCAgeW91ZW5uIGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5mb3Jj
ZSB1c2VyIGdlc3R1cmUgZm9yIGdldFVzZXJNZWRpYSBpbiBjYXNlIGEgcHJldmlvdXMgZ2V0VXNl
ck1lZGlhIGNhbGwgd2FzIGRlbmllZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAzMzYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjY0ODIzMj4K
KworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBmYXN0L21l
ZGlhc3RyZWFtL2NvbnN0cmFpbnQtaW50cmluc2ljLXNpemUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWw6CisgICAgICAgICogZmFz
dC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLWRlbnktcGVyc2lzdGVu
Y3k1Lmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1t
dXRlZC5odG1sOgorICAgICAgICBVc2UgdXNlciBnZXN0dXJlIHNpbXVsYXRpb24gaW5zdGVhZCBv
ZiBkaXNhYmxpbmcgdXNlciBnZXN0dXJlIGNoZWNrLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlh
c3RyZWFtL3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1pZnJhbWUt
YWxsb3ctYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlh
L21lZGlhLXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1wcm9tcHQuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9yZXNvdXJjZXMvZ2V0LWRpc3BsYXktbWVkaWEt
ZGV2aWNlcy1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiByZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM6CisKIDIwMTktMTEtMDQgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBhIHRlc3QgdmVyaWZ5aW5nIHZpZGVvIHBsYXlzIHdlbGwgd2hlbiBzd2l0
Y2hpbmcgZnJvbSBNZWRpYVN0cmVhbXMgdG8gcmVndWxhciB2aWRlb3MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vY29uc3RyYWludC1pbnRyaW5zaWMtc2l6ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9jb25zdHJhaW50LWludHJpbnNpYy1zaXpl
Lmh0bWwKaW5kZXggYjhiNjA3NThhMGJiNzYzNDU2MTI2M2Q2ODQxNWZhMGVhNDQ2YzkxYS4uMTYx
ZDY0YzAzMWRjZGM0MTM3ZWQ3NzljMzc3N2UzMDg2NzgwY2Y1OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9jb25zdHJhaW50LWludHJpbnNpYy1zaXplLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9jb25zdHJhaW50LWludHJpbnNpYy1zaXpl
Lmh0bWwKQEAgLTE2LDE3ICsxNiwyNiBAQAogICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U2NyZWVuQ2FwdHVyZUVuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9
CiAKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxHZXREaXNwbGF5TWVkaWEob3B0aW9ucykKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBsZXQgcHJvbWlzZTsKKyAgICAgICAgICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgICAgICAg
ICAgICAgIHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYShv
cHRpb25zKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcHJv
bWlzZTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgbGV0IGRlZmF1bHRXaWR0aDsKICAg
ICAgICAgICAgIGxldCBkZWZhdWx0SGVpZ2h0OwogICAgICAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jICgpID0+IHsKLSAgICAgICAgICAgICAgICBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0pOworICAgICAgICAgICAg
ICAgIHN0cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsK
ICAgICAgICAgICAgICAgICBsZXQgc2V0dGluZ3MgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVsw
XS5nZXRTZXR0aW5ncygpOwogICAgICAgICAgICAgICAgIGRlZmF1bHRXaWR0aCA9IHNldHRpbmdz
LndpZHRoOwogICAgICAgICAgICAgICAgIGRlZmF1bHRIZWlnaHQgPSBzZXR0aW5ncy5oZWlnaHQ7
CiAgICAgICAgICAgICB9LCAic2V0dXAiKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgcHJv
bWlzZV90ZXN0KCh0ZXN0KSA9PiB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5t
ZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHsgd2lkdGg6IHtpZGVhbDogNjQw
fSB9IH0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRl
bzogeyB3aWR0aDoge2lkZWFsOiA2NDB9IH0gfSkKICAgICAgICAgICAgICAgICAgICAgLnRoZW4o
KHN0cmVhbSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNldHRpbmdzID0gc3Ry
ZWFtLmdldFZpZGVvVHJhY2tzKClbMF0uZ2V0U2V0dGluZ3MoKQogICAgICAgICAgICAgICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhzZXR0aW5ncy5oZWlnaHQsIE1hdGguZmxvb3IoNjQwICogKGRl
ZmF1bHRIZWlnaHQgLyBkZWZhdWx0V2lkdGgpKSk7CkBAIC0zNSw3ICs0NCw3IEBACiAKICAgICAg
ICAgICAgIHByb21pc2VfdGVzdCgodGVzdCkgPT4gewogCi0gICAgICAgICAgICAgICAgcmV0dXJu
IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHsgaGVpZ2h0
OiB7aWRlYWw6IDI0MH0gfSB9KQorICAgICAgICAgICAgICAgIHJldHVybiBjYWxsR2V0RGlzcGxh
eU1lZGlhKHsgdmlkZW86IHsgaGVpZ2h0OiB7aWRlYWw6IDI0MH0gfSB9KQogICAgICAgICAgICAg
ICAgICAgICAudGhlbigoc3RyZWFtKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICBsZXQg
c2V0dGluZ3MgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXS5nZXRTZXR0aW5ncygpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNldHRpbmdzLndpZHRoLCBNYXRoLmZs
b29yKDI0MCAqIChkZWZhdWx0V2lkdGggLyBkZWZhdWx0SGVpZ2h0KSkpOwpAQCAtNDQsNCArNTMs
NCBAQAogCiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKaW5kZXggYmNmM2U2
NzMzMjYxM2JhYTJlOTI0NzNlODA1Mzg1ZGE2NDk5OTkzNi4uYTAxYjI5ZWY4OWQzNDhhYjU4ZDZk
NjM3MzcxYWY1MmNlM2U4OWZlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbApAQCAtMTAsNiArMTAsMTUg
QEAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
ck1lZGlhUGVybWlzc2lvbih0cnVlKTsKIAorICAgIGZ1bmN0aW9uIGNhbGxHZXREaXNwbGF5TWVk
aWEob3B0aW9ucykKKyAgICB7CisgICAgICAgIGxldCBwcm9taXNlOworICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgICAgICBwcm9taXNlID0g
bmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEob3B0aW9ucyk7CisgICAgICAg
IH0pOworICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICB9CisKICAgICBhc3luYyBmdW5jdGlv
biB3YWl0Rm9yUGFnZVN0YXRlQ2hhbmdlKG51bWJlck9mVHJpZXMsIG9yaWdpbmFsU3RhdGUpCiAg
ICAgewogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHsKQEAg
LTI5LDcgKzM4LDcgQEAKIAogICAgIHByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewogICAg
ICAgICBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAg
ICAgICAgICBsZXQgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNw
bGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKKyAgICAgICAgICAgIGxldCBzdHJlYW0gPSBhd2Fp
dCBjYWxsR2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSk7CiAgICAgICAgICAgICBsZXQg
cGFnZU1lZGlhU3RhdGUgPSBpbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKTsKIAogICAgICAgICAg
ICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZERpc3BsYXlD
YXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWREaXNw
bGF5Q2FwdHVyZURldmljZScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYjBhZmU2YTQ3OWFjNDMxNDBjOTAzMTFhNTBjYjg0MGIw
Nzg4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dl
dFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgVGVzdGluZyBnZXRVc2VyTWVkaWEgd2l0aCBhbmQgd2l0aG91dCB1c2VyIGdlc3R1
cmUgYWZ0ZXIgdXNlciBkZW5pZWQgYWNjZXNzIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1kZW55LXBlcnNpc3RlbmN5NS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNTlmMmJmOGYwNDU2YWE5ZTU4N2E3NzdiMTc0N2Q5MGUxMDJmZmFh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2Vy
TWVkaWEtZGVueS1wZXJzaXN0ZW5jeTUuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFk
PgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0
KSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZXJNZWRpYVBlcm1pc3Npb24oZmFsc2UpOworCisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlh
RGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3Nl
cnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAgICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZp
Y2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86ZmFsc2V9KS50aGVuKGFzc2VydF91
bnJlYWNoZWQsIChlKSA9PiB7IH0pOworICAgIGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFj
aGVkLCAoZSkgPT4geyB9KTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
dGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJtaXNzaW9uKHRydWUpOworCisgICAgYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZhbHNlLCB2aWRlbzp0cnVl
fSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxz
KGUubmFtZSwgIk5vdEFsbG93ZWRFcnJvciIpOworICAgIH0pOworCisgICAgbGV0IHByb21pc2U7
CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgIHByb21pc2Ug
PSBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86ZmFsc2UsIHZpZGVv
OnRydWV9KTsKKyAgICB9KTsKKyAgICBhd2FpdCBwcm9taXNlOworICAgIGludGVybmFscy53aXRo
VXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhRGV2
aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOmZhbHNlfSk7CisgICAgfSk7Cisg
ICAgYXdhaXQgcHJvbWlzZTsKKworICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4g
eworICAgICAgICBwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEo
e2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9KTsKKyAgICB9KTsKKyAgICBhd2FpdCBwcm9taXNlOwor
CisgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOmZh
bHNlLCB2aWRlbzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKKyAg
ICBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwg
dmlkZW86ZmFsc2V9KS50aGVuKGFzc2VydF91bnJlYWNoZWQsIChlKSA9PiB7IH0pOworICAgIGF3
YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRl
bzp0cnVlfSkudGhlbihhc3NlcnRfdW5yZWFjaGVkLCAoZSkgPT4geyB9KTsKK30sICJUZXN0aW5n
IGdldFVzZXJNZWRpYSB3aXRoIGFuZCB3aXRob3V0IHVzZXIgZ2VzdHVyZSBhZnRlciB1c2VyIGRl
bmllZCBhY2Nlc3MiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFn
ZS1tdXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0t
cGFnZS1tdXRlZC5odG1sCmluZGV4IDlkZWI5ZmRmY2ZjZjkwYzI4YjliNTc3YzYyNWM3ZWI0MDcz
ZDZkOTEuLjhiMTQzOGI1N2Y0ZGIwYzEzZDEwOTNiZGM2Njg1OTJkNzRiNTJiOWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdl
LW11dGVkLmh0bWwKQEAgLTQsOSArNCw2IEBACiAgICAgPHRpdGxlPm1lZGlhc3RyZWFtIHBhZ2Ug
bXV0ZWQ8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQ+Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldERpc2FibGVHZXREaXNwbGF5TWVkaWFVc2Vy
R2VzdHVyZUNvbnN0cmFpbnQodHJ1ZSk7Ci0KICAgICAgICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tQ
YWdlU3RhdGUoYWN0aXZlU3RhdGUsIGluYWN0aXZlU3RhdGUpIHsKICAgICAgICAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgICAgICAgICBsZXQg
cmV0cnlDb3VudCA9IDA7CkBAIC02OSwxNCArNjYsMjcgQEAKICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9CiAKLSAgICAgICAgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2NyZWVuQ2FwdHVyZVN0cmVh
bSgpIHsKKyAgICAgICAgZnVuY3Rpb24gY3JlYXRlU2NyZWVuQ2FwdHVyZVN0cmVhbSgpIHsKKyAg
ICAgICAgICAgIGxldCByZXNvbHZlQ2FsbGJhY2ssIHJlamVjdENhbGxiYWNrOworICAgICAgICAg
ICAgbGV0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAg
ICAgICAgICAgICAgcmVzb2x2ZUNhbGxiYWNrID0gcmVzb2x2ZTsKKyAgICAgICAgICAgICAgICBy
ZWplY3RDYWxsYmFjayA9IHJlamVjdDsKKyAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgZGVi
dWcoIjxicj4qKiogQ3JlYXRpbmcgc2NyZWVuIGNhcHR1cmUgc3RyZWFtIik7Ci0JCQlkaXNwbGF5
U3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2
aWRlbzogdHJ1ZSB9KTsKLSAgICAgICAgICAgIHNob3VsZEJlVHlwZSgiZGlzcGxheVN0cmVhbSIs
ICJPYmplY3QiKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJkaXNwbGF5U3RyZWFtLmdldFRyYWNr
cygpLmxlbmd0aCIsICIxIik7Ci0gICAgICAgICAgICBzaG91bGRCZSgiZGlzcGxheVN0cmVhbS5n
ZXRWaWRlb1RyYWNrcygpLmxlbmd0aCIsICIxIik7Ci0gICAgICAgICAgICBzY3JlZW5DYXB0dXJl
VHJhY2sgPSBkaXNwbGF5U3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07Ci0gICAgICAgICAgICBz
aG91bGRCZUZhbHNlKCJzY3JlZW5DYXB0dXJlVHJhY2subXV0ZWQiKTsKKyAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKGFzeW5jICgpID0+IHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBkaXNwbGF5U3RyZWFtID0gYXdhaXQgbmF2
aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVUeXBlKCJkaXNwbGF5U3RyZWFtIiwgIk9iamVjdCIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZGlzcGxheVN0cmVhbS5nZXRUcmFja3Mo
KS5sZW5ndGgiLCAiMSIpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZSgiZGlzcGxheVN0
cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCIsICIxIik7CisgICAgICAgICAgICAgICAgICAg
IHNjcmVlbkNhcHR1cmVUcmFjayA9IGRpc3BsYXlTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgic2NyZWVuQ2FwdHVyZVRyYWNrLm11
dGVkIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmVDYWxsYmFjaygpOworICAgICAgICAg
ICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgICAgICByZWplY3RDYWxsYmFjayhl
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVy
biBwcm9taXNlOwogICAgICAgICB9CiAKICAgICAgICAgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQ2Ft
ZXJhTWljcm9waG9uZVN0cmVhbSgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3Rl
ZC50eHQKaW5kZXggZTM4ZDgwZTg2N2MyY2Q2MTEyZjAxNDQwMTEyZTVjZTYxOTljOTM2OC4uYWY4
MTJkNGY0Y2Y2ZmMwMWVjMTE5YmM2NjY4YjUxZTFjNWI3ODNkOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVzZXItZ2VzdHVyZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5jYXB0dXJlLXVz
ZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiAKIFBBU1MgQWxsb3cgZ2V0
RGlzcGxheU1lZGlhIGNhbGwgaW4gY2FzZSBvZiB1c2VyIGdlc3R1cmUgCitQQVNTIERpc2FsbG93
IGdldERpc3BsYXlNZWRpYSBjYWxscyBpbiBjYXNlIG9mIHVzZXIgZ2VzdHVyZSBpZiBub3QgdGhl
IGZpcnN0IGNhbGwgCiBQQVNTIERlbnkgZ2V0RGlzcGxheU1lZGlhIGNhbGwgaWYgbm8gdXNlciBn
ZXN0dXJlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3NjcmVl
bmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L3NjcmVlbmNhcHR1cmUtdXNlci1nZXN0dXJlLmh0bWwKaW5kZXggNGE0NWM2YjUzZjNlMjhjNWVl
NWQxMTc3ZjMxNDc2OGVlY2Q2MjFlMy4uOTUyZDZlNGRiMjFjNjcyNzdhZWMyNTljZTE2YjY5YTU5
YjcyOWZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9zY3JlZW5j
YXB0dXJlLXVzZXItZ2VzdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vc2NyZWVuY2FwdHVyZS11c2VyLWdlc3R1cmUuaHRtbApAQCAtMSw5ICsxLDYgQEAKIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldERpc2FibGVH
ZXREaXNwbGF5TWVkaWFVc2VyR2VzdHVyZUNvbnN0cmFpbnQoZmFsc2UpOwotCiBwcm9taXNlX3Rl
c3QoKCkgPT4gewogICAgIGxldCBwcm9taXNlOwogICAgIGludGVybmFscy53aXRoVXNlckdlc3R1
cmUoKCkgPT4gewpAQCAtMTIsNiArOSwyMSBAQCBwcm9taXNlX3Rlc3QoKCkgPT4gewogICAgIHJl
dHVybiBwcm9taXNlOwogfSwgIkFsbG93IGdldERpc3BsYXlNZWRpYSBjYWxsIGluIGNhc2Ugb2Yg
dXNlciBnZXN0dXJlIik7CiAKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgICAgbGV0IHByb21pc2U7
CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgIGNvbnN0IHBy
b21pc2UxID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoe3ZpZGVvIDog
dHJ1ZX0pOworICAgICAgICBjb25zdCBwcm9taXNlMiA9IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0RGlzcGxheU1lZGlhKHt2aWRlbyA6IHRydWV9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAg
IHJldHVybiBQcm9taXNlLnJlamVjdCgiU2Vjb25kIHByb21pc2Ugc2hvdWxkIHJlamVjdCIpOwor
ICAgICAgICB9LCAoKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gIlNlY29uZCBwcm9taXNlIHJl
amVjdGVkIjsKKyAgICAgICAgfSk7CisgICAgICAgIHByb21pc2UgPSBQcm9taXNlLmFsbChbcHJv
bWlzZTEsIHByb21pc2UyXSk7CisgICAgfSk7CisgICAgcmV0dXJuIHByb21pc2U7Cit9LCAiRGlz
YWxsb3cgZ2V0RGlzcGxheU1lZGlhIGNhbGxzIGluIGNhc2Ugb2YgdXNlciBnZXN0dXJlIGlmIG5v
dCB0aGUgZmlyc3QgY2FsbCIpOworCisKIHByb21pc2VfdGVzdCgodGVzdCkgPT4gewogICAgIHJl
dHVybiBwcm9taXNlX3JlamVjdHModGVzdCwgIkludmFsaWRBY2Nlc3NFcnJvciIsIG5hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHt2aWRlbyA6IHRydWV9KSk7CiB9LCAiRGVu
eSBnZXREaXNwbGF5TWVkaWEgY2FsbCBpZiBubyB1c2VyIGdlc3R1cmUiKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2dldC1kaXNwbGF5LW1l
ZGlhLWlmcmFtZS1hbGxvdy1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtaWZyYW1lLWFsbG93
LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKaW5kZXggZjcyMGFkNzQ5ZDFiNWU2MzNiZjUwZDE4MTc5
ZmU5Y2VkZDAzNTMzNS4uOWVlYjBhNzU5MjU4NGZkNDVjZTZkNmE0MDdhMWIyOThlZjdiZjMwZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZ2V0
LWRpc3BsYXktbWVkaWEtaWZyYW1lLWFsbG93LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zdHJlYW0vZ2V0LWRpc3BsYXktbWVk
aWEtaWZyYW1lLWFsbG93LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgODogVHJ5aW5nIHRvIGNhbGwgZ2V0RGlzcGxheU1lZGlhIGZy
b20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUuCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgODogVHJ5aW5nIHRvIGNhbGwgZ2V0RGlzcGxheU1lZGlhIGZyb20gYSBmcmFt
ZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUuCi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgODogVHJ5aW5nIHRvIGNhbGwgZ2V0RGlzcGxheU1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0
IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogVHJ5
aW5nIHRvIGNhbGwgZ2V0RGlzcGxheU1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3Qg
J2FsbG93JyBhdHRyaWJ1dGUuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogVHJ5aW5nIHRvIGNh
bGwgZ2V0RGlzcGxheU1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93JyBh
dHRyaWJ1dGUuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogVHJ5aW5nIHRvIGNhbGwgZ2V0RGlz
cGxheU1lZGlhIGZyb20gYSBmcmFtZSB3aXRob3V0IGNvcnJlY3QgJ2FsbG93JyBhdHRyaWJ1dGUu
CiAgICAgIAogCiBQQVNTOiA8aWZyYW1lIGFsbG93PScnPiBnb3QgImRlbnkiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9nZXQtZGlzcGxheS1t
ZWRpYS1wcm9tcHQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3Ry
ZWFtL2dldC1kaXNwbGF5LW1lZGlhLXByb21wdC5odG1sCmluZGV4IDRmZGQwNTlmYjAwODRiMDMy
NmEwZTU0OTY5NGY4NmRkY2U0ZWE5MWEuLjIyMzQ4ZTNkMWI4NTAyMzczNWI4NzJiN2Y5ZjdkMmUz
ODZmYjE2MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLXByb21wdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLXByb21wdC5odG1s
CkBAIC05LDE5ICs5LDI1IEBACiAgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiAKIDxzY3Jp
cHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIGludGVybmFscy5zZXREaXNh
YmxlR2V0RGlzcGxheU1lZGlhVXNlckdlc3R1cmVDb25zdHJhaW50KHRydWUpOwotCiAgICAgbGV0
IHN0cmVhbTsKICAgICBsZXQgZXJyOwogICAgIAorICAgIGZ1bmN0aW9uIGNhbGxHZXREaXNwbGF5
TWVkaWEob3B0aW9ucykKKyAgICB7CisgICAgICAgIGxldCBwcm9taXNlOworICAgICAgICB3aW5k
b3cuaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgICAgICBwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEob3B0aW9ucyk7CisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICB9CisKICAgICBmdW5jdGlvbiBu
dW1iZXJPZlRpbWVzR2V0VXNlck1lZGlhUHJvbXB0SGFzQmVlbkNhbGxlZCgpIHsKICAgICAgICAg
cmV0dXJuIHRlc3RSdW5uZXIudXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDb3VudEZvck9yaWdp
bihkb2N1bWVudC5sb2NhdGlvbi5ocmVmLCBkb2N1bWVudC5sb2NhdGlvbi5ocmVmKTsKICAgICB9
CiAgICAgCiAgICAgYXN5bmMgZnVuY3Rpb24gcHJvbXB0Rm9yQXVkaW9Pbmx5KCkgewogICAgICAg
ICBkZWJ1ZygiPGJyPioqIFJlcXVlc3QgYW4gYXVkaW8tb25seSBzdHJlYW0sIHRoZSB1c2VyIHNo
b3VsZCBub3QgYmUgcHJvbXB0ZWQgKioiKTsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2aWdh
dG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyBhdWRpbzogdHJ1ZSB9KQorICAgICAg
ICBzdHJlYW0gPSBhd2FpdCBjYWxsR2V0RGlzcGxheU1lZGlhKHsgYXVkaW86IHRydWUgfSkKICAg
ICAgICAgICAgIC5jYXRjaCgoZSkgPT4geyBlcnIgPSBlOyB9KTsKICAgICAgICAgc2hvdWxkQmUo
Im51bWJlck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkiLCAiMCIpOwog
ICAgICAgICBzaG91bGRCZVVuZGVmaW5lZCgic3RyZWFtIik7CkBAIC0zMSw3ICszNyw3IEBACiAK
ICAgICBhc3luYyBmdW5jdGlvbiBwcm9tcHRGb3JWaWRlb09ubHkoKSB7CiAgICAgICAgIGRlYnVn
KCI8YnI+KiogUmVxdWVzdCBhbiB2aWRlby1vbmx5IHN0cmVhbSwgdGhlIHVzZXIgc2hvdWxkIGJl
IHByb21wdGVkICoqIik7Ci0gICAgICAgIHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSk7CisgICAgICAgIHN0cmVhbSA9
IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKICAgICAgICAgc2hv
dWxkQmUoIm51bWJlck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVkKCkiLCAi
MSIpOwogICAgICAgICBzaG91bGRCZSgic3RyZWFtLmdldEF1ZGlvVHJhY2tzKCkubGVuZ3RoIiwg
IjAiKTsKICAgICAgICAgc2hvdWxkQmUoInN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxlbmd0aCIs
ICIxIik7CkBAIC0zOSw3ICs0NSw3IEBACiAKICAgICBhc3luYyBmdW5jdGlvbiBwcm9tcHRGb3JB
dWRpb0FuZFZpZGVvKCkgewogICAgICAgICBkZWJ1ZygiPGJyPioqIFJlcXVlc3QgYSBzdHJlYW0g
d2l0aCBhdWRpbyBhbmQgdmlkZW8sIHRoZSB1c2VyIHNob3VsZCBiZSBwcm9tcHRlZCBidXQgbm8g
YXVkaW8gdHJhY2sgc2hvdWxkIGJlIGNyZWF0ZWQgKioiKTsKLSAgICAgICAgc3RyZWFtID0gYXdh
aXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSwg
YXVkaW86IHRydWUgfSk7CisgICAgICAgIHN0cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVk
aWEoeyB2aWRlbzogdHJ1ZSwgYXVkaW86IHRydWUgfSk7CiAgICAgICAgIHNob3VsZEJlKCJudW1i
ZXJPZlRpbWVzR2V0VXNlck1lZGlhUHJvbXB0SGFzQmVlbkNhbGxlZCgpIiwgIjIiKTsKICAgICAg
ICAgc2hvdWxkQmUoInN0cmVhbS5nZXRBdWRpb1RyYWNrcygpLmxlbmd0aCIsICIwIik7CiAgICAg
ICAgIHNob3VsZEJlKCJzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKS5sZW5ndGgiLCAiMSIpOwpAQCAt
NDksNyArNTUsNyBAQAogICAgICAgICBkZWJ1ZygiPGJyPioqIFJlcXVlc3QgYSBzdHJlYW0gd2l0
aCAnbWF4JyBjb25zdHJhaW50cywgdGhlIHVzZXIgc2hvdWxkIG5vdCBiZSBwcm9tcHRlZCAqKiIp
OwogCiAgICAgICAgIHN0cmVhbSA9IG51bGw7Ci0gICAgICAgIHN0cmVhbSA9IGF3YWl0IG5hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHt3aWR0aDoge2V4YWN0
OiA2NDB9LCBoZWlnaHQ6IHtleGFjdDogNDgwfX0gfSkKKyAgICAgICAgc3RyZWFtID0gYXdhaXQg
Y2FsbEdldERpc3BsYXlNZWRpYSh7IHZpZGVvOiB7d2lkdGg6IHtleGFjdDogNjQwfSwgaGVpZ2h0
OiB7ZXhhY3Q6IDQ4MH19IH0pCiAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHsgZXJyID0gZTsg
fSk7CiAgICAgICAgIAogICAgICAgICBzaG91bGRCZSgibnVtYmVyT2ZUaW1lc0dldFVzZXJNZWRp
YVByb21wdEhhc0JlZW5DYWxsZWQoKSIsICIyIik7CkBAIC02Miw3ICs2OCw3IEBACiAgICAgICAg
IGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhIHN0cmVhbSB3aXRoICdtaW4nIGNvbnN0cmFpbnRzLCB0
aGUgdXNlciBzaG91bGQgbm90IGJlIHByb21wdGVkICoqIik7CiAKICAgICAgICAgc3RyZWFtID0g
bnVsbDsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRE
aXNwbGF5TWVkaWEoeyB2aWRlbzoge3dpZHRoOiB7bWluOiA2NDB9LCBoZWlnaHQ6IHttaW46IDQ4
MH19IH0pCisgICAgICAgIHN0cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRl
bzoge3dpZHRoOiB7bWluOiA2NDB9LCBoZWlnaHQ6IHttaW46IDQ4MH19IH0pCiAgICAgICAgICAg
ICAuY2F0Y2goKGUpID0+IHsgZXJyID0gZTsgfSk7CiAgICAgICAgIHNob3VsZEJlKCJudW1iZXJP
ZlRpbWVzR2V0VXNlck1lZGlhUHJvbXB0SGFzQmVlbkNhbGxlZCgpIiwgIjIiKTsKICAgICAgICAg
c2hvdWxkQmVVbmRlZmluZWQoInN0cmVhbSIpOwpAQCAtNzQsNyArODAsNyBAQAogICAgICAgICBk
ZWJ1ZygiPGJyPioqIFJlcXVlc3QgYSBzdHJlYW0gd2l0aCAnYWR2YW5jZWQnIGNvbnN0cmFpbnRz
LCB0aGUgdXNlciBzaG91bGQgbm90IGJlIHByb21wdGVkICoqIik7CiAKICAgICAgICAgc3RyZWFt
ID0gbnVsbDsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogeyB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYWR2YW5j
ZWQ6IFsgeyB3aWR0aDogMTkyMCwgaGVpZ2h0OiAxMjgwIH0gXSB9IH0pCisgICAgICAgIHN0cmVh
bSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogeyB3aWR0aDogNjQwLCBoZWln
aHQ6IDQ4MCwgYWR2YW5jZWQ6IFsgeyB3aWR0aDogMTkyMCwgaGVpZ2h0OiAxMjgwIH0gXSB9IH0p
CiAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHsgZXJyID0gZTsgfSk7CiAgICAgICAgIHNob3Vs
ZEJlKCJudW1iZXJPZlRpbWVzR2V0VXNlck1lZGlhUHJvbXB0SGFzQmVlbkNhbGxlZCgpIiwgIjIi
KTsKICAgICAgICAgc2hvdWxkQmVVbmRlZmluZWQoInN0cmVhbSIpOwpAQCAtODYsNyArOTIsNyBA
QAogICAgICAgICBkZWJ1ZygiPGJyPioqIFJlcXVlc3QgYSBzdHJlYW0gd2l0aCB2YWxpZCBjb25z
dHJhaW50cywgdGhlIHVzZXIgc2hvdWxkIGJlIHByb21wdGVkICoqIik7CiAKICAgICAgICAgc3Ry
ZWFtID0gbnVsbDsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzoge3dpZHRoOiA2NDAsIGhlaWdodDogNDgwfSB9KQor
ICAgICAgICBzdHJlYW0gPSBhd2FpdCBjYWxsR2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHt3aWR0
aDogNjQwLCBoZWlnaHQ6IDQ4MH0gfSkKICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4geyBlcnIg
PSBlOyB9KTsKICAgICAgICAgCiAgICAgICAgIHNob3VsZEJlKCJudW1iZXJPZlRpbWVzR2V0VXNl
ck1lZGlhUHJvbXB0SGFzQmVlbkNhbGxlZCgpIiwgIjMiKTsKQEAgLTk4LDcgKzEwNCw3IEBACiAg
ICAgICAgIGRlYnVnKCI8YnI+KiogUmVxdWVzdCBhIHN0cmVhbSB3aXRoIGFuIGV4YWN0IGF1ZGlv
IGNvbnN0cmFpbnQsIGl0IHNob3VsZCBiZSBpZ25vcmVkICoqIik7CiAKICAgICAgICAgc3RyZWFt
ID0gbnVsbDsKLSAgICAgICAgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSwgYXVkaW86IHsgdm9sdW1lOiB7IGV4YWN0OiAw
LjUgfSB9IH0pOworICAgICAgICBzdHJlYW0gPSBhd2FpdCBjYWxsR2V0RGlzcGxheU1lZGlhKHsg
dmlkZW86IHRydWUsIGF1ZGlvOiB7IHZvbHVtZTogeyBleGFjdDogMC41IH0gfSB9KTsKICAgICAg
ICAgc2hvdWxkQmUoIm51bWJlck9mVGltZXNHZXRVc2VyTWVkaWFQcm9tcHRIYXNCZWVuQ2FsbGVk
KCkiLCAiNCIpOwogICAgICAgICBzaG91bGRCZSgic3RyZWFtLmdldEF1ZGlvVHJhY2tzKCkubGVu
Z3RoIiwgIjAiKTsKICAgICAgICAgc2hvdWxkQmUoInN0cmVhbS5nZXRWaWRlb1RyYWNrcygpLmxl
bmd0aCIsICIxIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXN0cmVhbS9yZXNvdXJjZXMvZ2V0LWRpc3BsYXktbWVkaWEtZGV2aWNlcy1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNlcy9n
ZXQtZGlzcGxheS1tZWRpYS1kZXZpY2VzLWlmcmFtZS5odG1sCmluZGV4IDllMzNiNjZmOTJjNDQ1
YjY2NWQ4ZDE1NWJiYWMzNmQ3NzdjZTEyMmEuLmM4ZDRjYmE2N2FkZWU4MzU0ODYyNTVhMTk4MTBl
YzJkOWMyNmNiN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc3RyZWFtL3Jlc291cmNlcy9nZXQtZGlzcGxheS1tZWRpYS1kZXZpY2VzLWlmcmFtZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc3RyZWFtL3Jlc291cmNl
cy9nZXQtZGlzcGxheS1tZWRpYS1kZXZpY2VzLWlmcmFtZS5odG1sCkBAIC0xLDExICsxLDE3IEBA
CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICBpbnRlcm5hbHMu
c2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCh0cnVlKTsKKyAg
ICBmdW5jdGlvbiBjYWxsR2V0RGlzcGxheU1lZGlhKG9wdGlvbnMpCisgICAgeworICAgICAgICBs
ZXQgcHJvbWlzZTsKKyAgICAgICAgd2luZG93LmludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkg
PT4geworICAgICAgICAgICAgcHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0RGlz
cGxheU1lZGlhKG9wdGlvbnMpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuIHByb21pc2U7
CisgICAgfQogCiAgICAgYXN5bmMgZnVuY3Rpb24gZW51bWVyYXRlKGV2ZW50KQogICAgIHsKICAg
ICAgICAgbGV0IHJlc3VsdDsKLSAgICAgICAgYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXREaXNwbGF5TWVkaWEoe3ZpZGVvOiB0cnVlfSkKKyAgICAgICAgYXdhaXQgY2FsbEdldERpc3Bs
YXlNZWRpYSh7dmlkZW86IHRydWV9KQogICAgICAgICAgICAgLnRoZW4oKHMpID0+IHJlc3VsdCA9
ICJhbGxvdyIpCiAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHJlc3VsdCA9ICJkZW55Iik7CiAg
ICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZShgJHtldmVudC5kYXRhfToke3Jlc3VsdH1gLCAnKicp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
IGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzCmluZGV4IGY4YWE4
Y2IzYzg0MGY3ZmJkMjI3YjdlZTAxYjgxOGM5OTAwMWY4NjUuLjY2ODM0MjgzMGZmNTkyYTdiN2Fl
YTljNDgxMWYzYWMxMWYxMDYwYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMKQEAgLTMyLDkgKzMyLDYgQEAgaWYgKHNlbGYudGVzdFJ1bm5lcikgewogICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZERvd25ncmFkZVJlZmVycmVyKGZhbHNl
LCBmdW5jdGlvbigpIHsgfSk7CiB9CiAKLWlmIChzZWxmLmludGVybmFscyAmJiBpbnRlcm5hbHMu
c2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCkKLSAgICBpbnRl
cm5hbHMuc2V0RGlzYWJsZUdldERpc3BsYXlNZWRpYVVzZXJHZXN0dXJlQ29uc3RyYWludCh0cnVl
KTsKLQogaWYgKHNlbGYuaW50ZXJuYWxzICYmIGludGVybmFscy5zZXRJQ0VDYW5kaWRhdGVGaWx0
ZXJpbmcpCiAgICAgaW50ZXJuYWxzLnNldElDRUNhbmRpZGF0ZUZpbHRlcmluZyhmYWxzZSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>