<?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>213502</bug_id>
          
          <creation_ts>2020-06-23 00:10:01 -0700</creation_ts>
          <short_desc>[GTK][WPE] Change the cookies accept policy when ITP is enabled</short_desc>
          <delta_ts>2020-07-06 01:49:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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=213881</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=213954</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>210184</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>dpino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>wilander</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1665309</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-23 00:10:01 -0700</bug_when>
    <thetext>As Michael pointed out in https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/713#note_844468 there are combinations of ITP enabled/disabled with cookies accept policy that don&apos;t make sense. I&apos;m not sure if we should just set accept policy to always internally when ITP is enabled and document that the cookies setting is ignored in that case, or if it&apos;s something expected to be handled by the browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667014</commentid>
    <comment_count>1</comment_count>
      <attachid>403038</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-29 01:56:18 -0700</bug_when>
    <thetext>Created attachment 403038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667015</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-06-29 01:56:59 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667067</commentid>
    <comment_count>3</comment_count>
      <attachid>403051</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-06-29 05:44:12 -0700</bug_when>
    <thetext>Created attachment 403051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667097</commentid>
    <comment_count>4</comment_count>
      <attachid>403051</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-29 08:11:32 -0700</bug_when>
    <thetext>Comment on attachment 403051
Patch

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

OK, I&apos;m pretty sure this is a sensible approach, but I&apos;d still like to hear from Apple what their recommendation is. Seems like their API has exactly the same problem.

&gt; Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp:207
&gt; + * Note that the returned policy will always be %WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS while

while -&gt; if</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1667122</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-29 09:11:25 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #4)
&gt; OK, I&apos;m pretty sure this is a sensible approach, but I&apos;d still like to hear
&gt; from Apple what their recommendation is. Seems like their API has exactly
&gt; the same problem.

Alternative: we could leave things as-is, but document that applications enabling ITP likely want to use ACCEPT_ALWAYS cookie policy, because all the restrictions of both ITP and the cookie policy will be applied.

In theory, a really restrictive application (something much stricter than Epiphany) might want to block all cookies but still enable the other features of ITP, which this patch will prohibit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668190</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-02 02:02:20 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; (In reply to Michael Catanzaro from comment #4)
&gt; &gt; OK, I&apos;m pretty sure this is a sensible approach, but I&apos;d still like to hear
&gt; &gt; from Apple what their recommendation is. Seems like their API has exactly
&gt; &gt; the same problem.
&gt; 
&gt; Alternative: we could leave things as-is, but document that applications
&gt; enabling ITP likely want to use ACCEPT_ALWAYS cookie policy, because all the
&gt; restrictions of both ITP and the cookie policy will be applied.

I think it&apos;s better if apps just need to enable itp.

&gt; In theory, a really restrictive application (something much stricter than
&gt; Epiphany) might want to block all cookies but still enable the other
&gt; features of ITP, which this patch will prohibit.

I thought about that, maybe we can only change the policy if it&apos;s no-third-party.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668215</commentid>
    <comment_count>7</comment_count>
      <attachid>403362</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-02 04:42:02 -0700</bug_when>
    <thetext>Created attachment 403362
Different approach

This only sets always when no-third-party is set, so you can still disable cookies even with ITP enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668220</commentid>
    <comment_count>8</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-07-02 05:38:35 -0700</bug_when>
    <thetext>According to the EWS GTK-WK2 bot this patch will cause 8 tests failures when it lands (https://ews-build.webkit-uat.org/#/builders/34/builds/1005/steps/16/logs/stdio):

Regressions: Unexpected text-only failures (8)
  http/tests/plugins/third-party-cookie-accept-policy.html [ Failure ]
  http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party.html [ Failure ]
  http/tests/websocket/tests/hybi/websocket-blocked-from-setting-cookie-as-third-party.html [ Failure ]
  http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html [ Failure ]
  http/wpt/service-workers/third-party-cookie.html [ Failure ]
  imported/w3c/web-platform-tests/cors/credentials-flag.htm [ Failure ]
  imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.worker.html [ Failure ]
  imported/w3c/web-platform-tests/xhr/access-control-preflight-request-must-not-contain-cookie.htm [ Failure ]

Try running these tests locally to confirm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668223</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-02 05:46:52 -0700</bug_when>
    <thetext>(In reply to Diego Pino from comment #8)
&gt; According to the EWS GTK-WK2 bot this patch will cause 8 tests failures when
&gt; it lands
&gt; (https://ews-build.webkit-uat.org/#/builders/34/builds/1005/steps/16/logs/
&gt; stdio):
&gt; 
&gt; Regressions: Unexpected text-only failures (8)
&gt;   http/tests/plugins/third-party-cookie-accept-policy.html [ Failure ]
&gt;  
&gt; http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-
&gt; party.html [ Failure ]
&gt;  
&gt; http/tests/websocket/tests/hybi/websocket-blocked-from-setting-cookie-as-
&gt; third-party.html [ Failure ]
&gt;   http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior.html [
&gt; Failure ]
&gt;   http/wpt/service-workers/third-party-cookie.html [ Failure ]
&gt;   imported/w3c/web-platform-tests/cors/credentials-flag.htm [ Failure ]
&gt;  
&gt; imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.worker.html
&gt; [ Failure ]
&gt;  
&gt; imported/w3c/web-platform-tests/xhr/access-control-preflight-request-must-
&gt; not-contain-cookie.htm [ Failure ]
&gt; 
&gt; Try running these tests locally to confirm.

This is with the first patch, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668225</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-02 06:22:57 -0700</bug_when>
    <thetext>Why do we have an EWS that doesn&apos;t appear on Bugzilla...?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668226</commentid>
    <comment_count>11</comment_count>
      <attachid>403362</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-02 06:25:00 -0700</bug_when>
    <thetext>Comment on attachment 403362
Different approach

This looks good to me. Something must be wrong if it&apos;s really affecting non-ITP tests, but I&apos;m sure you&apos;ll figure that out before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668228</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-02 06:42:29 -0700</bug_when>
    <thetext>Yes, it happens with the second patch too. The WPT tests that are failing are actually progressions, the others are actual regressions. It affects non-ITP tests, because WTR always enables ITP. So, for these tests that are failing now ITP should be blocking the third-party cookies, but it isn&apos;t because WKWebsiteDataStoreStatisticsResetToConsistentState() sets the ITP third-party blocking mode to ThirdPartyCookieBlockingMode::OnlyAccordingToPerDomainPolicy. So, I wonder if we should only change the accept policy when the thisrd-party blocking mode is set to ThirdPartyCookieBlockingMode::All</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668232</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-02 07:02:02 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #12)
&gt; So, I wonder
&gt; if we should only change the accept policy when the thisrd-party blocking
&gt; mode is set to ThirdPartyCookieBlockingMode::All

That sounds probably right. I didn&apos;t know about this ThirdPartyCookieBlockingMode.

That only affects our tests though, since API users cannot change the mode away from OnlyAccordingToPerDomainPolicy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668235</commentid>
    <comment_count>14</comment_count>
      <attachid>403364</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-02 07:13:46 -0700</bug_when>
    <thetext>Created attachment 403364
Patch for landing

This should fix the tests failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668236</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-02 07:14:41 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #13)
&gt; (In reply to Carlos Garcia Campos from comment #12)
&gt; &gt; So, I wonder
&gt; &gt; if we should only change the accept policy when the thisrd-party blocking
&gt; &gt; mode is set to ThirdPartyCookieBlockingMode::All
&gt; 
&gt; That sounds probably right. I didn&apos;t know about this
&gt; ThirdPartyCookieBlockingMode.
&gt; 
&gt; That only affects our tests though, since API users cannot change the mode
&gt; away from OnlyAccordingToPerDomainPolicy.

Exactly, from the API point of view All is always used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668546</commentid>
    <comment_count>16</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-03 06:12:05 -0700</bug_when>
    <thetext>This patch would break several storageAccess tests. I don&apos;t understand how this can work in apple ports.

Regressions: Unexpected text-only failures (4)
  http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html [ Failure ]
  http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html [ Failure ]
  http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html [ Failure ]
  http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html [ Failure ]

Those are failing because the cookie is not set after being granted due to the no-third-party accept policy (which is the default in tests for all ports). Those tests don&apos;t change the ThirdPartyCookieBlockingMode, so OnlyAccordingToPerDomainPolicy is used and we don&apos;t change the policy in that case. I don&apos;t know why we are enabling ITP in all tests either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668555</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-03 07:15:14 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #16)
&gt; Those are failing because the cookie is not set after being granted due to
&gt; the no-third-party accept policy (which is the default in tests for all
&gt; ports). Those tests don&apos;t change the ThirdPartyCookieBlockingMode, so
&gt; OnlyAccordingToPerDomainPolicy is used and we don&apos;t change the policy in
&gt; that case. 

I think we could still make this work by having the GTK API layer fudge the cookie policy (since the test controller will not run that code), rather than doing it in the network layer.

But maybe it&apos;s better to just document that ITP makes the most sense when used with ACCEPT_ALWAYS, maybe print a g_warning() if ITP is enabled and the cookie policy is NO_THIRD_PARTY, but let apps set it anyway.

&gt; I don&apos;t know why we are enabling ITP in all tests either.

Doesn&apos;t matter IMO. Let&apos;s just match what Apple does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668558</commentid>
    <comment_count>18</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-03 07:22:07 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #17)
&gt; (In reply to Carlos Garcia Campos from comment #16)
&gt; &gt; Those are failing because the cookie is not set after being granted due to
&gt; &gt; the no-third-party accept policy (which is the default in tests for all
&gt; &gt; ports). Those tests don&apos;t change the ThirdPartyCookieBlockingMode, so
&gt; &gt; OnlyAccordingToPerDomainPolicy is used and we don&apos;t change the policy in
&gt; &gt; that case. 
&gt; 
&gt; I think we could still make this work by having the GTK API layer fudge the
&gt; cookie policy (since the test controller will not run that code), rather
&gt; than doing it in the network layer.

It doesn&apos;t matter, the storageAccess tests I mentioned would still fail, because no-third-party is the default, so setting the cookie after granted by storage access is rejected by the cookies jar. That&apos;s exactly what this bug is about.

&gt; But maybe it&apos;s better to just document that ITP makes the most sense when
&gt; used with ACCEPT_ALWAYS, maybe print a g_warning() if ITP is enabled and the
&gt; cookie policy is NO_THIRD_PARTY, but let apps set it anyway.

Or maybe I don&apos;t understand the different ThirdPartyCookieBlockingMode, but I&apos;m pretty sure we want to use All unconditionally, otherwise we would be less restrictive than before.

&gt; &gt; I don&apos;t know why we are enabling ITP in all tests either.
&gt; 
&gt; Doesn&apos;t matter IMO. Let&apos;s just match what Apple does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668578</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-03 08:06:41 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #18)
&gt; It doesn&apos;t matter, the storageAccess tests I mentioned would still fail,
&gt; because no-third-party is the default, so setting the cookie after granted
&gt; by storage access is rejected by the cookies jar. That&apos;s exactly what this
&gt; bug is about.

Er, OK, but then if Apple is also using no-third-party by default... then the tests should be failing for it too... but they&apos;re not?
 
&gt; Or maybe I don&apos;t understand the different ThirdPartyCookieBlockingMode, but
&gt; I&apos;m pretty sure we want to use All unconditionally, otherwise we would be
&gt; less restrictive than before.

Right, we definitely want to use All unconditionally in our API. But when running tests, we want to use whatever Apple uses when running tests.

I think OnlyAccordingToPerDomainPolicy means block third-party cookies for *prevalent* domains (domains classified as trackers). I don&apos;t think it means &quot;just follow the cookie accept policy.&quot; I guess that mode will probably be removed eventually since Google figured out it could be used as a supercookie by manipulating WebKit into classifying certain domains as trackers, similar to HSTS abuse.

I&apos;m not sure if AllOnSitesWithoutUserInteraction was ever shipped by Safari, but it&apos;s obsoleted by All.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668580</commentid>
    <comment_count>20</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-03 08:13:29 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #18)
&gt; It doesn&apos;t matter, the storageAccess tests I mentioned would still fail,
&gt; because no-third-party is the default, so setting the cookie after granted
&gt; by storage access is rejected by the cookies jar. That&apos;s exactly what this
&gt; bug is about.

Guess: could this be bug #193458? Our HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain is equivalent to Apple&apos;s HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain. So if we both default to OnlyFromMainDocumentDomain when running tests, we wind up using a more restrictive cookie policy than Apple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668656</commentid>
    <comment_count>21</comment_count>
      <attachid>403489</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-03 14:06:40 -0700</bug_when>
    <thetext>Created attachment 403489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668693</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-03 16:35:27 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #16)
&gt; This patch would break several storageAccess tests. I don&apos;t understand how
&gt; this can work in apple ports.
&gt; 
&gt; Regressions: Unexpected text-only failures (4)
&gt;  
&gt; http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-
&gt; should-not-have-access-database.html [ Failure ]
&gt;  
&gt; http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-
&gt; should-not-have-access.html [ Failure ]

Looks like my guess was right for these two tests. You can see my debug patch changing Apple&apos;s cookie policy to match ours causes these tests to fail. We should reconsider how best to solve bug #193458. 

But something else must be wrong with the other two....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668761</commentid>
    <comment_count>23</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-07-04 01:35:04 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; Why do we have an EWS that doesn&apos;t appear on Bugzilla...?

It&apos;s not in production yet. At this moment it&apos;s on the EWS UAT (User Acceptance Testing) server. Once the bots can process incoming requests fast enough it will be moved to production and then there will be a new EWS bubble for GTK layout-tests. In the meantime, it will be possible to peep the UAT to check if a patch may have broken some layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668764</commentid>
    <comment_count>24</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-04 01:59:54 -0700</bug_when>
    <thetext>Ok, then I think we can:

1- Land this patch, as it seems to be the right thing and it only breaks 4 tests that are currently skipped.

2- File a bug report to support the no-third-party grandfathering mode.

3- Enable storageAccess tests with the four tests failing marked as failures and pointing to the bug created in 2

4- Add new APÎ to libsoup to add the new mode using your old patch.

5- Fix bug in WebKit using the new API and unskip the test passing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668766</commentid>
    <comment_count>25</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-04 02:02:24 -0700</bug_when>
    <thetext>So, once we have the new no-third-party mode, I wonder if it would be enough to use that when ITP is enabled, instead of always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668770</commentid>
    <comment_count>26</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-04 04:59:48 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #20)
&gt; (In reply to Carlos Garcia Campos from comment #18)
&gt; &gt; It doesn&apos;t matter, the storageAccess tests I mentioned would still fail,
&gt; &gt; because no-third-party is the default, so setting the cookie after granted
&gt; &gt; by storage access is rejected by the cookies jar. That&apos;s exactly what this
&gt; &gt; bug is about.
&gt; 
&gt; Guess: could this be bug #193458? Our
&gt; HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain is equivalent to Apple&apos;s
&gt; HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain. So if we both
&gt; default to OnlyFromMainDocumentDomain when running tests, we wind up using a
&gt; more restrictive cookie policy than Apple.

Yes, I can confirm that was it. I never understood the difference between only and exclusively. So, I took your libsoup patch, updated to add a new policy instead, wrote a WebKit patch to use it when OnlyFromMainDocumentDomain is desired and all tests pass, including the storageAccess ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668779</commentid>
    <comment_count>27</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-04 07:57:12 -0700</bug_when>
    <thetext>Layout test EWS is exciting, cool. :)

(In reply to Carlos Garcia Campos from comment #25)
&gt; So, once we have the new no-third-party mode, I wonder if it would be enough
&gt; to use that when ITP is enabled, instead of always.

I don&apos;t think that would work, because then the cookie policy could still block cookie storage even after an approved storage access API request. I think it has to be Always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669000</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-07-06 01:49:37 -0700</bug_when>
    <thetext>Committed r263964: &lt;https://trac.webkit.org/changeset/263964&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403038</attachid>
            <date>2020-06-29 01:56:18 -0700</date>
            <delta_ts>2020-06-29 05:44:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-itp-accept-policy.diff</filename>
            <type>text/plain</type>
            <size>15606</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5ZmVjMjE2NzljZTcuLjZiMWI1NGRhNzkwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTA2LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIENoYW5nZSB0aGUgY29va2llcyBhY2Nl
cHQgcG9saWN5IHdoZW4gSVRQIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNldCB0aGUgYWNjZXB0IHBvbGljeSB0byBhbHdheXMgd2hl
biBJVFAgaXMgZW5hYmxlZCwgb3RoZXJ3aXNlIGNvb2tpZXMgYWNjZXNzIGdyYW50ZWQgYnkgcmVx
dWVzdCBzdG9yYWdlIGFjY2VzcworICAgICAgICB3b3VsZCBzdGlsbCBiZSByZWplY3RlZCBieSBs
aWJzb3VwIGlmIHBvbGljeSBpcyBzZXQgdG8gbm8tdGhpcmQtcGFydHkgb3IgbmV2ZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKTogTW92ZSBoZXJlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgcG9ydHMgbm90
CisgICAgICAgIHVzaW5nIHNvdXAuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFn
ZVNlc3Npb246Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbik6IEluaXRpYWxpemUgY29va2llIGFjY2Vw
dCBwb2xpY3kuCisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldENv
b2tpZVN0b3JhZ2UpOiBTZXQgaGVyZSB0aGUgYWNjZXB0IHBvbGljeSBvZiB0aGUgbmV3IGphci4K
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0Q29va2llQWNjZXB0
UG9saWN5KTogU2V0IHRoZSBjb29raWUgYWNjZXB0IHBvbGljeSBleGNlcHQgd2hlbiBJVFAgaXMK
KyAgICAgICAgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSB3ZSBzYXZlIHRoZSB2YWx1ZSB0byBiZSBy
ZXN0b3JlZCBpZiBJVFAgaXMgZGlzYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OmNvb2tpZUFjY2VwdFBvbGljeSBjb25zdCk6IFJlbW92ZSB0aGUgZGVmYXVs
dCBjYXNlIG9mIHRoZSBzd2l0Y2guCisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNl
c3Npb246OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKTogV2hlbiBlbmFibGVkLCBz
YXZlIGN1cnJlbnQgcG9saWN5IGFuZCBzZXQKKyAgICAgICAgYWx3YXlzLiBXaGVuIGRpc2FibGVk
LCByZXN0b3JlIHRoZSBzYXZlZCBwb2xpY3kuCisKIDIwMjAtMDYtMjggIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtURkNdIEFkanVzdCB0YWJsZSBjb250
ZW50IHZlcnRpY2FsIHBvc2l0aW9uIHRvIG1hdGNoIHZlcnRpY2FsLWFsaWduCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bi5jcHAKaW5kZXggZjY2MmQyY2YzZmI5Li42ODQ3YzRmNWU5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5j
cHAKQEAgLTY3LDYgKzY3LDEzIEBAIFZlY3RvcjxDb29raWU+IE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6ZG9tQ29va2llc0Zvckhvc3QoY29uc3QgU3RyaW5nJikKIAogI2lmIEVOQUJMRShSRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpCiAKKyNpZiAhVVNFKFNPVVApCit2b2lkIE5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9vbCBlbmFibGVkKQor
eworICAgIG1faXNSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCA9IGVuYWJsZWQ7Cit9Cisj
ZW5kaWYKKwogYm9vbCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNob3VsZEJsb2NrVGhpcmRQYXJ0
eUNvb2tpZXMoY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxlRG9tYWluKSBjb25z
dAogewogICAgIGlmICghbV9pc1Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkIHx8IHJlZ2lz
dHJhYmxlRG9tYWluLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCmluZGV4IDI4ZjVmZjMwZThkNy4u
ODkyZTdjYTFiYzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgKQEAgLTEyOSw2ICsxMjksNyBAQCBwdWJsaWM6
CiAKICAgICBTb3VwQ29va2llSmFyKiBjb29raWVTdG9yYWdlKCkgY29uc3QgeyByZXR1cm4gbV9j
b29raWVTdG9yYWdlLmdldCgpOyB9CiAgICAgdm9pZCBzZXRDb29raWVTdG9yYWdlKEdSZWZQdHI8
U291cENvb2tpZUphcj4mJik7CisgICAgdm9pZCBzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENv
b2tpZUFjY2VwdFBvbGljeSk7CiAgICAgdm9pZCBzZXRDb29raWVPYnNlcnZlckhhbmRsZXIoRnVu
Y3Rpb248dm9pZCAoKT4mJik7CiAgICAgdm9pZCBnZXRDcmVkZW50aWFsRnJvbVBlcnNpc3RlbnRT
dG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIEdDYW5jZWxsYWJsZSosIEZ1bmN0aW9uPHZv
aWQgKENyZWRlbnRpYWwmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogICAgIHZvaWQgc2F2ZUNy
ZWRlbnRpYWxUb1BlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIGNvbnN0
IENyZWRlbnRpYWwmKTsKQEAgLTE3Nyw3ICsxNzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAgdm9pZCBzZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9pc1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkID0gZW5hYmxlZDsgfQorICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQoYm9vbCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRCbG9ja0Nv
b2tpZXMoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgT3B0aW9uYWw8RnJhbWVJZGVudGlmaWVyPiwg
T3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+LCBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZykgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRCbG9ja0Nvb2tpZXMo
Y29uc3QgVVJMJiBmaXJzdFBhcnR5Rm9yQ29va2llcywgY29uc3QgVVJMJiByZXNvdXJjZSwgT3B0
aW9uYWw8RnJhbWVJZGVudGlmaWVyPiwgT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+LCBTaG91bGRS
ZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBzaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWlu
JikgY29uc3Q7CkBAIC0yMjksNiArMjMwLDcgQEAgcHJpdmF0ZToKICNlbGlmIFVTRShTT1VQKQog
ICAgIHN0YXRpYyB2b2lkIGNvb2tpZXNEaWRDaGFuZ2UoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKik7
CiAKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1fY29va2llQWNjZXB0UG9saWN5OwogICAg
IEdSZWZQdHI8U291cENvb2tpZUphcj4gbV9jb29raWVTdG9yYWdlOwogICAgIEZ1bmN0aW9uPHZv
aWQgKCk+IG1fY29va2llT2JzZXJ2ZXJIYW5kbGVyOwogI2VsaWYgVVNFKENVUkwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKaW5kZXggNmM3ZDZhZTYwNmQ5Li4zYWZmMWQ4ZGYx
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3
b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKQEAgLTU2LDkgKzU2LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIDogbV9zZXNzaW9u
SUQoc2Vzc2lvbklEKQorICAgICwgbV9jb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2Vw
dFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW4pCiAgICAgLCBtX2Nvb2tpZVN0b3Jh
Z2UoYWRvcHRHUmVmKHNvdXBfY29va2llX2phcl9uZXcoKSkpCiB7Ci0gICAgc291cF9jb29raWVf
amFyX3NldF9hY2NlcHRfcG9saWN5KG1fY29va2llU3RvcmFnZS5nZXQoKSwgU09VUF9DT09LSUVf
SkFSX0FDQ0VQVF9OT19USElSRF9QQVJUWSk7CisgICAgc2V0Q29va2llQWNjZXB0UG9saWN5KG1f
Y29va2llQWNjZXB0UG9saWN5KTsKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9jb29r
aWVTdG9yYWdlLmdldCgpLCAiY2hhbmdlZCIsIEdfQ0FMTEJBQ0soY29va2llc0RpZENoYW5nZSks
IHRoaXMpOwogfQogCkBAIC03Niw2ICs3Nyw3IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
Ojpjb29raWVzRGlkQ2hhbmdlKE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiogc2Vzc2lvbikKIHZvaWQg
TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRDb29raWVTdG9yYWdlKEdSZWZQdHI8U291cENvb2tp
ZUphcj4mJiBqYXIpCiB7CiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVk
KG1fY29va2llU3RvcmFnZS5nZXQoKSwgR19TSUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0
ciwgbnVsbHB0ciwgdGhpcyk7CisgICAgc291cF9jb29raWVfamFyX3NldF9hY2NlcHRfcG9saWN5
KGphci5nZXQoKSwgc291cF9jb29raWVfamFyX2dldF9hY2NlcHRfcG9saWN5KG1fY29va2llU3Rv
cmFnZS5nZXQoKSkpOwogICAgIG1fY29va2llU3RvcmFnZSA9IFdURk1vdmUoamFyKTsKICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9jb29raWVTdG9yYWdlLmdldCgpLCAiY2hhbmdlZCIs
IEdfQ0FMTEJBQ0soY29va2llc0RpZENoYW5nZSksIHRoaXMpOwogfQpAQCAtMjQyLDYgKzI0NCwz
MiBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2F2ZUNyZWRlbnRpYWxUb1BlcnNpc3Rl
bnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcAogI2VuZGlmCiB9CiAKK3ZvaWQgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uOjpzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSBwb2xpY3kpCit7CisgICAgaWYgKG1faXNSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCkg
eworICAgICAgICBtX2Nvb2tpZUFjY2VwdFBvbGljeSA9IHBvbGljeTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xpY3kgc291cFBvbGljeSA9IFNP
VVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CisgICAgc3dpdGNoIChwb2xpY3kp
IHsKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKKyAgICAg
ICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfQUxXQVlTOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgorICAgICAgICBz
b3VwUG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9ORVZFUjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjoKKyAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJ
UkRfUEFSVFk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgc291cF9jb29raWVfamFy
X3NldF9hY2NlcHRfcG9saWN5KGNvb2tpZVN0b3JhZ2UoKSwgc291cFBvbGljeSk7Cit9CisKIEhU
VFBDb29raWVBY2NlcHRQb2xpY3kgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVBY2NlcHRQ
b2xpY3koKSBjb25zdAogewogICAgIHN3aXRjaCAoc291cF9jb29raWVfamFyX2dldF9hY2NlcHRf
cG9saWN5KGNvb2tpZVN0b3JhZ2UoKSkpIHsKQEAgLTI0OSwxMSArMjc3LDI2IEBAIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVBY2NlcHRQb2xpY3ko
KSBjb25zdAogICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNj
ZXB0OwogICAgIGNhc2UgU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19USElSRF9QQVJUWToKICAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOwotICAgIGRlZmF1bHQ6CisgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05F
VkVSOgogICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAg
fQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQordm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldFJl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBpZiAoZW5h
YmxlZCkgeworICAgICAgICBtX2Nvb2tpZUFjY2VwdFBvbGljeSA9IGNvb2tpZUFjY2VwdFBvbGlj
eSgpOworICAgICAgICBzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6QWx3YXlzQWNjZXB0KTsKKyAgICAgICAgbV9pc1Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX2lzUmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgc2V0Q29va2llQWNjZXB0UG9saWN5KG1fY29v
a2llQWNjZXB0UG9saWN5KTsKKyAgICB9Cit9CisjZW5kaWYKKwogc3RhdGljIGlubGluZSBib29s
IGh0dHBPbmx5Q29va2llRXhpc3RzKGNvbnN0IEdTTGlzdCogY29va2llcywgY29uc3QgZ2NoYXIq
IG5hbWUsIGNvbnN0IGdjaGFyKiBwYXRoKQogewogICAgIGZvciAoY29uc3QgR1NMaXN0KiBpdGVy
ID0gY29va2llczsgaXRlcjsgaXRlciA9IGdfc2xpc3RfbmV4dChpdGVyKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA3MmVhNTVmMWEzNjcuLmMxNjNmZDllYjlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAyMC0wNi0yOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bV1BFXSBDaGFuZ2UgdGhlIGNvb2tpZXMgYWNjZXB0IHBvbGljeSB3aGVu
IElUUCBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTM1MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291
cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeSk6IFVzZSBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldENvb2tp
ZUFjY2VwdFBvbGljeSgpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Nl
c3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Tb3VwOjpzZXRD
b29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IERvIG5vdCBjaGFuZ2UgdGhlIGFjY2VwdCBwb2xpY3ks
IGl0J3Mgbm93IGRvbmUgYnkKKyAgICAgICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uIHdoZW4gdGhl
IG5ldyBjb29raWUgamFyIGlzIHNldC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0Q29va2llTWFuYWdlci5jcHA6IFVwZGF0ZSBBUEkgZG9jcy4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDogRGl0dG8uCisKIDIwMjAt
MDYtMjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gQWRkIHdlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9zZWN1
cml0eV9vcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29v
a2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAppbmRleCBjYmZj
YWVlNTYzYTEuLjc1NGQwYmJjNmI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3Vw
LmNwcApAQCAtMzksMjQgKzM5LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQg
V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgcG9saWN5KQogewotICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xp
Y3kgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7Ci0g
ICAgc3dpdGNoIChwb2xpY3kpIHsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFs
d2F5c0FjY2VwdDoKLSAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRf
QUxXQVlTOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6
Ok5ldmVyOgotICAgICAgICBzb3VwUG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9ORVZF
UjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lF
X0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRU
UENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0g
ICAgbV9wcm9jZXNzLmZvckVhY2hOZXR3b3JrU3RvcmFnZVNlc3Npb24oW3NvdXBQb2xpY3ldIChj
b25zdCBhdXRvJiBzZXNzaW9uKSB7Ci0gICAgICAgIHNvdXBfY29va2llX2phcl9zZXRfYWNjZXB0
X3BvbGljeShzZXNzaW9uLmNvb2tpZVN0b3JhZ2UoKSwgc291cFBvbGljeSk7CisgICAgbV9wcm9j
ZXNzLmZvckVhY2hOZXR3b3JrU3RvcmFnZVNlc3Npb24oW3BvbGljeV0gKGF1dG8mIHNlc3Npb24p
IHsKKyAgICAgICAgc2Vzc2lvbi5zZXRDb29raWVBY2NlcHRQb2xpY3kocG9saWN5KTsKICAgICB9
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05l
dHdvcmtTZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAv
TmV0d29ya1Nlc3Npb25Tb3VwLmNwcAppbmRleCBiZDA3YmFhMTk2ZWIuLjkwNjEzMzM1ZWZjOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNz
aW9uU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtTZXNzaW9uU291cC5jcHAKQEAgLTgyLDExICs4Miw3IEBAIHZvaWQgTmV0d29ya1Nlc3Npb25T
b3VwOjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRo
LCBTCiAgICAgY2FzZSBTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlOjpTUUxpdGU6CiAg
ICAgICAgIGphciA9IGFkb3B0R1JlZihzb3VwX2Nvb2tpZV9qYXJfZGJfbmV3KHN0b3JhZ2VQYXRo
LnV0ZjgoKS5kYXRhKCksIEZBTFNFKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLQotICAgIHNvdXBfY29va2llX2ph
cl9zZXRfYWNjZXB0X3BvbGljeShqYXIuZ2V0KCksIHNvdXBfY29va2llX2phcl9nZXRfYWNjZXB0
X3BvbGljeShzdG9yYWdlU2Vzc2lvbi0+Y29va2llU3RvcmFnZSgpKSk7CiAgICAgc3RvcmFnZVNl
c3Npb24tPnNldENvb2tpZVN0b3JhZ2UoV1RGTW92ZShqYXIpKTsKIAogICAgIG1fbmV0d29ya1Nl
c3Npb24tPnNldENvb2tpZUphcihzdG9yYWdlU2Vzc2lvbi0+Y29va2llU3RvcmFnZSgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2ll
TWFuYWdlci5jcHAKaW5kZXggMjdmYmRlMjI3MTQ4Li5hNzE3MTBjZmE4NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFn
ZXIuY3BwCkBAIC0xODUsNiArMTg1LDggQEAgdm9pZCB3ZWJraXRfY29va2llX21hbmFnZXJfc2V0
X3BlcnNpc3RlbnRfc3RvcmFnZShXZWJLaXRDb29raWVNYW5hZ2VyKiBtYW5hZ2VyLAogICogQHBv
bGljeTogYSAjV2ViS2l0Q29va2llQWNjZXB0UG9saWN5CiAgKgogICogU2V0IHRoZSBjb29raWUg
YWNjZXB0YW5jZSBwb2xpY3kgb2YgQGNvb2tpZV9tYW5hZ2VyIGFzIEBwb2xpY3kuCisgKiBOb3Rl
IHRoYXQgaWYgSVRQIGlzIGVuYWJsZWQsIHRoZSBwb2xpY3kgd29uJ3QgYmUgc2V0IHVudGlsIElU
UCBpcyBkaXNhYmxlZC4KKyAqIFNlZSBhbHNvIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9z
ZXRfaXRwX2VuYWJsZWQoKS4KICAqLwogdm9pZCB3ZWJraXRfY29va2llX21hbmFnZXJfc2V0X2Fj
Y2VwdF9wb2xpY3koV2ViS2l0Q29va2llTWFuYWdlciogbWFuYWdlciwgV2ViS2l0Q29va2llQWNj
ZXB0UG9saWN5IHBvbGljeSkKIHsKQEAgLTIwMiw2ICsyMDQsOCBAQCB2b2lkIHdlYmtpdF9jb29r
aWVfbWFuYWdlcl9zZXRfYWNjZXB0X3BvbGljeShXZWJLaXRDb29raWVNYW5hZ2VyKiBtYW5hZ2Vy
LCBXZWJLaQogICogQHVzZXJfZGF0YTogKGNsb3N1cmUpOiB0aGUgZGF0YSB0byBwYXNzIHRvIGNh
bGxiYWNrIGZ1bmN0aW9uCiAgKgogICogQXN5bmNocm9ub3VzbHkgZ2V0IHRoZSBjb29raWUgYWNj
ZXB0YW5jZSBwb2xpY3kgb2YgQGNvb2tpZV9tYW5hZ2VyLgorICogTm90ZSB0aGF0IHRoZSByZXR1
cm5lZCBwb2xpY3kgd2lsbCBhbHdheXMgYmUgJVdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9B
TFdBWVMgd2hpbGUKKyAqIElUUCBpcyBlbmFibGVkLiBTZWUgYWxzbyB3ZWJraXRfd2Vic2l0ZV9k
YXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVkKCkuCiAgKgogICogV2hlbiB0aGUgb3BlcmF0aW9u
IGlzIGZpbmlzaGVkLCBAY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQuIFlvdSBjYW4gdGhlbiBjYWxs
CiAgKiB3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2FjY2VwdF9wb2xpY3lfZmluaXNoKCkgdG8g
Z2V0IHRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3Bw
CmluZGV4IGExYjY4ZjNhMDZhMS4uYzUyNWViYjlhN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdl
ci5jcHAKQEAgLTg0MSw4ICs4NDEsNyBAQCBXZWJLaXRDb29raWVNYW5hZ2VyKiB3ZWJraXRfd2Vi
c2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Nvb2tpZV9tYW5hZ2VyKFdlYktpdFdlYnNpdAogICoKICAq
IEVuYWJsZSBvciBkaXNhYmxlIEludGVsbGlnZW50IFRyYWNraW5nIFByZXZlbnRpb24gKElUUCku
IFdoZW4gSVRQIGlzIGVuYWJsZWQgcmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzCiAgKiBhcmUgY29s
bGVjdGVkIGFuZCB1c2VkIHRvIGRlY2lkZSB3aGV0aGVyIHRvIGFsbG93IG9yIGJsb2NrIHRoaXJk
LXBhcnR5IGNvb2tpZXMgYW5kIHByZXZlbnQgdXNlciB0cmFja2luZy4KLSAqIE5vdGUgdGhhdCB3
aGVuIElUUCBpcyBlbmFibGVkIHRoZSByZXNvdXJjZXMgZm9yIHdoaWNoIGNvb2tpZXMgYXJlIGFs
bG93ZWQgd2lsbCBmb2xsb3cgdGhlIGFjY2VwdCBwb2xpY3kKLSAqIHNldCB3aXRoIHdlYmtpdF9j
b29raWVfbWFuYWdlcl9zZXRfYWNjZXB0X3BvbGljeSgpLgorICogTm90ZSB0aGF0IHdoaWxlIElU
UCBpcyBlbmFibGVkIHRoZSBhY2NlcHQgcG9saWN5IHNldCBieSB3ZWJraXRfY29va2llX21hbmFn
ZXJfc2V0X2FjY2VwdF9wb2xpY3koKSBpcyBpZ25vcmVkLgogICoKICAqIFNpbmNlOiAyLjMwCiAg
Ki8KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1
YTQ4MThmMzU3MjMuLmE5MzhlNTcwYmUxOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA2LTI5ICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVd
IENoYW5nZSB0aGUgY29va2llcyBhY2NlcHQgcG9saWN5IHdoZW4gSVRQIGlzIGVuYWJsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUwMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0
byBjaGVjayB0aGUgcG9saWN5IGlzIGNoYW5nZWQgYW5kIHJlc3RvcmVkIGNvcnJlY3RseSB3aGVu
IElUUCBpcyBlbmFibGVkIGFuZCBkaXNhYmxlZC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0R0xpYi9UZXN0Q29va2llTWFuYWdlci5jcHA6CisgICAgICAgICh0ZXN0Q29v
a2llTWFuYWdlckFjY2VwdFBvbGljeSk6CisKIDIwMjAtMDYtMjkgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWRkIHdlYmtp
dF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9zZWN1cml0eV9vcmlnaW4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0Q29va2llTWFuYWdlci5j
cHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tpZU1hbmFn
ZXIuY3BwCmluZGV4IDVhYTkzYjVlYzcyMi4uYTAxZDQ0NDNiNmM4IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tpZU1hbmFnZXIuY3BwCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0Q29va2llTWFuYWdl
ci5jcHAKQEAgLTI3NSw2ICsyNzUsMTggQEAgc3RhdGljIHZvaWQgdGVzdENvb2tpZU1hbmFnZXJB
Y2NlcHRQb2xpY3koQ29va2llTWFuYWdlclRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIKICAgICBk
b21haW5zID0gdGVzdC0+Z2V0RG9tYWlucygpOwogICAgIGdfYXNzZXJ0X25vbm51bGwoZG9tYWlu
cyk7CiAgICAgZ19hc3NlcnRfY21waW50KGdfc3Rydl9sZW5ndGgoZG9tYWlucyksID09LCAwKTsK
KworICAgIC8vIElUUCB1c2VzIEFDQ0VQVF9BTFdBWVMuCisgICAgYXV0byogbWFuYWdlciA9IHdl
YmtpdF93ZWJfY29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIodGVzdC0+bV93ZWJDb250
ZXh0LmdldCgpKTsKKyAgICB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFi
bGVkKG1hbmFnZXIsIFRSVUUpOworICAgIGdfYXNzZXJ0X2NtcGludCh0ZXN0LT5nZXRBY2NlcHRQ
b2xpY3koKSwgPT0sIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVMpOworICAgIHdl
YmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfaXRwX2VuYWJsZWQobWFuYWdlciwgRkFMU0Up
OworICAgIGdfYXNzZXJ0X2NtcGludCh0ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0sIFdFQktJ
VF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9ORVZFUik7CisgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9t
YW5hZ2VyX3NldF9pdHBfZW5hYmxlZChtYW5hZ2VyLCBUUlVFKTsKKyAgICB0ZXN0LT5zZXRBY2Nl
cHRQb2xpY3koV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RISVJEX1BBUlRZKTsKKyAg
ICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5KCksID09LCBXRUJLSVRfQ09P
S0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTKTsKKyAgICB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFn
ZXJfc2V0X2l0cF9lbmFibGVkKG1hbmFnZXIsIEZBTFNFKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQo
dGVzdC0+Z2V0QWNjZXB0UG9saWN5KCksID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRf
Tk9fVEhJUkRfUEFSVFkpOwogfQogCiBzdGF0aWMgdm9pZCB0ZXN0Q29va2llTWFuYWdlckFkZENv
b2tpZShDb29raWVNYW5hZ2VyVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403051</attachid>
            <date>2020-06-29 05:44:12 -0700</date>
            <delta_ts>2020-07-02 06:43:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-itp-accept-policy.diff</filename>
            <type>text/plain</type>
            <size>15621</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5ZmVjMjE2NzljZTcuLjZiMWI1NGRhNzkwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTA2LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIENoYW5nZSB0aGUgY29va2llcyBhY2Nl
cHQgcG9saWN5IHdoZW4gSVRQIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNldCB0aGUgYWNjZXB0IHBvbGljeSB0byBhbHdheXMgd2hl
biBJVFAgaXMgZW5hYmxlZCwgb3RoZXJ3aXNlIGNvb2tpZXMgYWNjZXNzIGdyYW50ZWQgYnkgcmVx
dWVzdCBzdG9yYWdlIGFjY2VzcworICAgICAgICB3b3VsZCBzdGlsbCBiZSByZWplY3RlZCBieSBs
aWJzb3VwIGlmIHBvbGljeSBpcyBzZXQgdG8gbm8tdGhpcmQtcGFydHkgb3IgbmV2ZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKTogTW92ZSBoZXJlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgcG9ydHMgbm90
CisgICAgICAgIHVzaW5nIHNvdXAuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RvcmFnZVNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29y
a1N0b3JhZ2VTZXNzaW9uU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFn
ZVNlc3Npb246Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbik6IEluaXRpYWxpemUgY29va2llIGFjY2Vw
dCBwb2xpY3kuCisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldENv
b2tpZVN0b3JhZ2UpOiBTZXQgaGVyZSB0aGUgYWNjZXB0IHBvbGljeSBvZiB0aGUgbmV3IGphci4K
KyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0Q29va2llQWNjZXB0
UG9saWN5KTogU2V0IHRoZSBjb29raWUgYWNjZXB0IHBvbGljeSBleGNlcHQgd2hlbiBJVFAgaXMK
KyAgICAgICAgZW5hYmxlZCwgaW4gd2hpY2ggY2FzZSB3ZSBzYXZlIHRoZSB2YWx1ZSB0byBiZSBy
ZXN0b3JlZCBpZiBJVFAgaXMgZGlzYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rv
cmFnZVNlc3Npb246OmNvb2tpZUFjY2VwdFBvbGljeSBjb25zdCk6IFJlbW92ZSB0aGUgZGVmYXVs
dCBjYXNlIG9mIHRoZSBzd2l0Y2guCisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNl
c3Npb246OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKTogV2hlbiBlbmFibGVkLCBz
YXZlIGN1cnJlbnQgcG9saWN5IGFuZCBzZXQKKyAgICAgICAgYWx3YXlzLiBXaGVuIGRpc2FibGVk
LCByZXN0b3JlIHRoZSBzYXZlZCBwb2xpY3kuCisKIDIwMjAtMDYtMjggIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtURkNdIEFkanVzdCB0YWJsZSBjb250
ZW50IHZlcnRpY2FsIHBvc2l0aW9uIHRvIG1hdGNoIHZlcnRpY2FsLWFsaWduCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bi5jcHAKaW5kZXggZjY2MmQyY2YzZmI5Li42ODQ3YzRmNWU5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5j
cHAKQEAgLTY3LDYgKzY3LDEzIEBAIFZlY3RvcjxDb29raWU+IE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6ZG9tQ29va2llc0Zvckhvc3QoY29uc3QgU3RyaW5nJikKIAogI2lmIEVOQUJMRShSRVNPVVJD
RV9MT0FEX1NUQVRJU1RJQ1MpCiAKKyNpZiAhVVNFKFNPVVApCit2b2lkIE5ldHdvcmtTdG9yYWdl
U2Vzc2lvbjo6c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9vbCBlbmFibGVkKQor
eworICAgIG1faXNSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCA9IGVuYWJsZWQ7Cit9Cisj
ZW5kaWYKKwogYm9vbCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNob3VsZEJsb2NrVGhpcmRQYXJ0
eUNvb2tpZXMoY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJhYmxlRG9tYWluKSBjb25z
dAogewogICAgIGlmICghbV9pc1Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkIHx8IHJlZ2lz
dHJhYmxlRG9tYWluLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCmluZGV4IDI4ZjVmZjMwZThkNy4u
OTFkYWM0NGQ3NTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgKQEAgLTEyOSw2ICsxMjksNyBAQCBwdWJsaWM6
CiAKICAgICBTb3VwQ29va2llSmFyKiBjb29raWVTdG9yYWdlKCkgY29uc3QgeyByZXR1cm4gbV9j
b29raWVTdG9yYWdlLmdldCgpOyB9CiAgICAgdm9pZCBzZXRDb29raWVTdG9yYWdlKEdSZWZQdHI8
U291cENvb2tpZUphcj4mJik7CisgICAgdm9pZCBzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENv
b2tpZUFjY2VwdFBvbGljeSk7CiAgICAgdm9pZCBzZXRDb29raWVPYnNlcnZlckhhbmRsZXIoRnVu
Y3Rpb248dm9pZCAoKT4mJik7CiAgICAgdm9pZCBnZXRDcmVkZW50aWFsRnJvbVBlcnNpc3RlbnRT
dG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIEdDYW5jZWxsYWJsZSosIEZ1bmN0aW9uPHZv
aWQgKENyZWRlbnRpYWwmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogICAgIHZvaWQgc2F2ZUNy
ZWRlbnRpYWxUb1BlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIGNvbnN0
IENyZWRlbnRpYWwmKTsKQEAgLTE3Nyw3ICsxNzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAgdm9pZCBzZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9pc1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkID0gZW5hYmxlZDsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9vbCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBzaG91bGRCbG9ja0Nvb2tpZXMoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgT3B0aW9uYWw8RnJh
bWVJZGVudGlmaWVyPiwgT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+LCBTaG91bGRSZWxheFRoaXJk
UGFydHlDb29raWVCbG9ja2luZykgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91
bGRCbG9ja0Nvb2tpZXMoY29uc3QgVVJMJiBmaXJzdFBhcnR5Rm9yQ29va2llcywgY29uc3QgVVJM
JiByZXNvdXJjZSwgT3B0aW9uYWw8RnJhbWVJZGVudGlmaWVyPiwgT3B0aW9uYWw8UGFnZUlkZW50
aWZpZXI+LCBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRCbG9ja1RoaXJkUGFydHlDb29raWVzKGNvbnN0IFJl
Z2lzdHJhYmxlRG9tYWluJikgY29uc3Q7CkBAIC0yMjksNiArMjMwLDcgQEAgcHJpdmF0ZToKICNl
bGlmIFVTRShTT1VQKQogICAgIHN0YXRpYyB2b2lkIGNvb2tpZXNEaWRDaGFuZ2UoTmV0d29ya1N0
b3JhZ2VTZXNzaW9uKik7CiAKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1fY29va2llQWNj
ZXB0UG9saWN5OwogICAgIEdSZWZQdHI8U291cENvb2tpZUphcj4gbV9jb29raWVTdG9yYWdlOwog
ICAgIEZ1bmN0aW9uPHZvaWQgKCk+IG1fY29va2llT2JzZXJ2ZXJIYW5kbGVyOwogI2VsaWYgVVNF
KENVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
TmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAKaW5kZXggNmM3ZDZhZTYw
NmQ5Li4zYWZmMWQ4ZGYxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAK
QEAgLTU2LDkgKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQog
ICAgIDogbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQorICAgICwgbV9jb29raWVBY2NlcHRQb2xpY3ko
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW4pCiAgICAg
LCBtX2Nvb2tpZVN0b3JhZ2UoYWRvcHRHUmVmKHNvdXBfY29va2llX2phcl9uZXcoKSkpCiB7Ci0g
ICAgc291cF9jb29raWVfamFyX3NldF9hY2NlcHRfcG9saWN5KG1fY29va2llU3RvcmFnZS5nZXQo
KSwgU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19USElSRF9QQVJUWSk7CisgICAgc2V0Q29va2ll
QWNjZXB0UG9saWN5KG1fY29va2llQWNjZXB0UG9saWN5KTsKICAgICBnX3NpZ25hbF9jb25uZWN0
X3N3YXBwZWQobV9jb29raWVTdG9yYWdlLmdldCgpLCAiY2hhbmdlZCIsIEdfQ0FMTEJBQ0soY29v
a2llc0RpZENoYW5nZSksIHRoaXMpOwogfQogCkBAIC03Niw2ICs3Nyw3IEBAIHZvaWQgTmV0d29y
a1N0b3JhZ2VTZXNzaW9uOjpjb29raWVzRGlkQ2hhbmdlKE5ldHdvcmtTdG9yYWdlU2Vzc2lvbiog
c2Vzc2lvbikKIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRDb29raWVTdG9yYWdlKEdS
ZWZQdHI8U291cENvb2tpZUphcj4mJiBqYXIpCiB7CiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlz
Y29ubmVjdF9tYXRjaGVkKG1fY29va2llU3RvcmFnZS5nZXQoKSwgR19TSUdOQUxfTUFUQ0hfREFU
QSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7CisgICAgc291cF9jb29raWVfamFyX3Nl
dF9hY2NlcHRfcG9saWN5KGphci5nZXQoKSwgc291cF9jb29raWVfamFyX2dldF9hY2NlcHRfcG9s
aWN5KG1fY29va2llU3RvcmFnZS5nZXQoKSkpOwogICAgIG1fY29va2llU3RvcmFnZSA9IFdURk1v
dmUoamFyKTsKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9jb29raWVTdG9yYWdlLmdl
dCgpLCAiY2hhbmdlZCIsIEdfQ0FMTEJBQ0soY29va2llc0RpZENoYW5nZSksIHRoaXMpOwogfQpA
QCAtMjQyLDYgKzI0NCwzMiBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2F2ZUNyZWRl
bnRpYWxUb1BlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcAogI2VuZGlmCiB9CiAK
K3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENv
b2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpCit7CisgICAgaWYgKG1faXNSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZCkgeworICAgICAgICBtX2Nvb2tpZUFjY2VwdFBvbGljeSA9IHBvbGljeTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xpY3kg
c291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CisgICAg
c3dpdGNoIChwb2xpY3kpIHsKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5
c0FjY2VwdDoKKyAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfQUxX
QVlTOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5l
dmVyOgorICAgICAgICBzb3VwUG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9ORVZFUjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJv
bU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pB
Ul9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSFRUUENv
b2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAg
c291cF9jb29raWVfamFyX3NldF9hY2NlcHRfcG9saWN5KGNvb2tpZVN0b3JhZ2UoKSwgc291cFBv
bGljeSk7Cit9CisKIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
Ojpjb29raWVBY2NlcHRQb2xpY3koKSBjb25zdAogewogICAgIHN3aXRjaCAoc291cF9jb29raWVf
amFyX2dldF9hY2NlcHRfcG9saWN5KGNvb2tpZVN0b3JhZ2UoKSkpIHsKQEAgLTI0OSwxMSArMjc3
LDI2IEBAIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29r
aWVBY2NlcHRQb2xpY3koKSBjb25zdAogICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBv
bGljeTo6QWx3YXlzQWNjZXB0OwogICAgIGNhc2UgU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19U
SElSRF9QQVJUWToKICAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluOwotICAgIGRlZmF1bHQ6CisgICAgY2FzZSBTT1VQX0NPT0tJ
RV9KQVJfQUNDRVBUX05FVkVSOgogICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6TmV2ZXI7CiAgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAK
KyNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQordm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGJvb2wgZW5hYmxlZCkK
K3sKKyAgICBpZiAoZW5hYmxlZCkgeworICAgICAgICBtX2Nvb2tpZUFjY2VwdFBvbGljeSA9IGNv
b2tpZUFjY2VwdFBvbGljeSgpOworICAgICAgICBzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENv
b2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0KTsKKyAgICAgICAgbV9pc1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX2lzUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgc2V0Q29va2llQWNj
ZXB0UG9saWN5KG1fY29va2llQWNjZXB0UG9saWN5KTsKKyAgICB9Cit9CisjZW5kaWYKKwogc3Rh
dGljIGlubGluZSBib29sIGh0dHBPbmx5Q29va2llRXhpc3RzKGNvbnN0IEdTTGlzdCogY29va2ll
cywgY29uc3QgZ2NoYXIqIG5hbWUsIGNvbnN0IGdjaGFyKiBwYXRoKQogewogICAgIGZvciAoY29u
c3QgR1NMaXN0KiBpdGVyID0gY29va2llczsgaXRlcjsgaXRlciA9IGdfc2xpc3RfbmV4dChpdGVy
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA3MmVhNTVmMWEzNjcuLmMxNjNmZDllYjlkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMC0wNi0yOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBDaGFuZ2UgdGhlIGNvb2tpZXMgYWNj
ZXB0IHBvbGljeSB3aGVuIElUUCBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM1MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJD
b29raWVNYW5hZ2VyU291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXI6
OnBsYXRmb3JtU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6IFVzZSBOZXR3b3JrU3RvcmFnZVNl
c3Npb246OnNldENvb2tpZUFjY2VwdFBvbGljeSgpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3NvdXAvTmV0d29ya1Nlc3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nl
c3Npb25Tb3VwOjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IERvIG5vdCBjaGFuZ2UgdGhl
IGFjY2VwdCBwb2xpY3ksIGl0J3Mgbm93IGRvbmUgYnkKKyAgICAgICAgTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uIHdoZW4gdGhlIG5ldyBjb29raWUgamFyIGlzIHNldC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHA6IFVwZGF0ZSBBUEkgZG9jcy4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDog
RGl0dG8uCisKIDIwMjAtMDYtMjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWRkIHdlYmtpdF9hdXRoZW50aWNhdGlvbl9y
ZXF1ZXN0X2dldF9zZWN1cml0eV9vcmlnaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3Vw
LmNwcAppbmRleCBjYmZjYWVlNTYzYTEuLjc1NGQwYmJjNmI0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNv
b2tpZU1hbmFnZXJTb3VwLmNwcApAQCAtMzksMjQgKzM5LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNj
ZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5KQogewotICAgIFNvdXBDb29r
aWVKYXJBY2NlcHRQb2xpY3kgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9f
VEhJUkRfUEFSVFk7Ci0gICAgc3dpdGNoIChwb2xpY3kpIHsKLSAgICBjYXNlIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKLSAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09P
S0lFX0pBUl9BQ0NFUFRfQUxXQVlTOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgotICAgICAgICBzb3VwUG9saWN5ID0gU09VUF9DT09LSUVf
SkFSX0FDQ0VQVF9ORVZFUjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgc291cFBvbGlj
eSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQotCi0gICAgbV9wcm9jZXNzLmZvckVhY2hOZXR3b3JrU3RvcmFnZVNlc3Npb24o
W3NvdXBQb2xpY3ldIChjb25zdCBhdXRvJiBzZXNzaW9uKSB7Ci0gICAgICAgIHNvdXBfY29va2ll
X2phcl9zZXRfYWNjZXB0X3BvbGljeShzZXNzaW9uLmNvb2tpZVN0b3JhZ2UoKSwgc291cFBvbGlj
eSk7CisgICAgbV9wcm9jZXNzLmZvckVhY2hOZXR3b3JrU3RvcmFnZVNlc3Npb24oW3BvbGljeV0g
KGF1dG8mIHNlc3Npb24pIHsKKyAgICAgICAgc2Vzc2lvbi5zZXRDb29raWVBY2NlcHRQb2xpY3ko
cG9saWN5KTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3NvdXAvTmV0d29ya1Nlc3Npb25Tb3VwLmNwcAppbmRleCBiZDA3YmFhMTk2ZWIu
LjkwNjEzMzM1ZWZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9z
b3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHAKQEAgLTgyLDExICs4Miw3IEBAIHZvaWQg
TmV0d29ya1Nlc3Npb25Tb3VwOjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBTdHJp
bmcmIHN0b3JhZ2VQYXRoLCBTCiAgICAgY2FzZSBTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlOjpTUUxpdGU6CiAgICAgICAgIGphciA9IGFkb3B0R1JlZihzb3VwX2Nvb2tpZV9qYXJfZGJf
bmV3KHN0b3JhZ2VQYXRoLnV0ZjgoKS5kYXRhKCksIEZBTFNFKSk7CiAgICAgICAgIGJyZWFrOwot
ICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLQotICAg
IHNvdXBfY29va2llX2phcl9zZXRfYWNjZXB0X3BvbGljeShqYXIuZ2V0KCksIHNvdXBfY29va2ll
X2phcl9nZXRfYWNjZXB0X3BvbGljeShzdG9yYWdlU2Vzc2lvbi0+Y29va2llU3RvcmFnZSgpKSk7
CiAgICAgc3RvcmFnZVNlc3Npb24tPnNldENvb2tpZVN0b3JhZ2UoV1RGTW92ZShqYXIpKTsKIAog
ICAgIG1fbmV0d29ya1Nlc3Npb24tPnNldENvb2tpZUphcihzdG9yYWdlU2Vzc2lvbi0+Y29va2ll
U3RvcmFnZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdENvb2tpZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKaW5kZXggMjdmYmRlMjI3MTQ4Li5hNzE3MTBjZmE4
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENv
b2tpZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdENvb2tpZU1hbmFnZXIuY3BwCkBAIC0xODUsNiArMTg1LDggQEAgdm9pZCB3ZWJraXRfY29v
a2llX21hbmFnZXJfc2V0X3BlcnNpc3RlbnRfc3RvcmFnZShXZWJLaXRDb29raWVNYW5hZ2VyKiBt
YW5hZ2VyLAogICogQHBvbGljeTogYSAjV2ViS2l0Q29va2llQWNjZXB0UG9saWN5CiAgKgogICog
U2V0IHRoZSBjb29raWUgYWNjZXB0YW5jZSBwb2xpY3kgb2YgQGNvb2tpZV9tYW5hZ2VyIGFzIEBw
b2xpY3kuCisgKiBOb3RlIHRoYXQgaWYgSVRQIGlzIGVuYWJsZWQsIHRoZSBwb2xpY3kgd29uJ3Qg
YmUgc2V0IHVudGlsIElUUCBpcyBkaXNhYmxlZC4KKyAqIFNlZSBhbHNvIHdlYmtpdF93ZWJzaXRl
X2RhdGFfbWFuYWdlcl9zZXRfaXRwX2VuYWJsZWQoKS4KICAqLwogdm9pZCB3ZWJraXRfY29va2ll
X21hbmFnZXJfc2V0X2FjY2VwdF9wb2xpY3koV2ViS2l0Q29va2llTWFuYWdlciogbWFuYWdlciwg
V2ViS2l0Q29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKQEAgLTIwMiw2ICsyMDQsOCBAQCB2
b2lkIHdlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRfYWNjZXB0X3BvbGljeShXZWJLaXRDb29raWVN
YW5hZ2VyKiBtYW5hZ2VyLCBXZWJLaQogICogQHVzZXJfZGF0YTogKGNsb3N1cmUpOiB0aGUgZGF0
YSB0byBwYXNzIHRvIGNhbGxiYWNrIGZ1bmN0aW9uCiAgKgogICogQXN5bmNocm9ub3VzbHkgZ2V0
IHRoZSBjb29raWUgYWNjZXB0YW5jZSBwb2xpY3kgb2YgQGNvb2tpZV9tYW5hZ2VyLgorICogTm90
ZSB0aGF0IHRoZSByZXR1cm5lZCBwb2xpY3kgd2lsbCBhbHdheXMgYmUgJVdFQktJVF9DT09LSUVf
UE9MSUNZX0FDQ0VQVF9BTFdBWVMgd2hpbGUKKyAqIElUUCBpcyBlbmFibGVkLiBTZWUgYWxzbyB3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVkKCkuCiAgKgogICogV2hl
biB0aGUgb3BlcmF0aW9uIGlzIGZpbmlzaGVkLCBAY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQuIFlv
dSBjYW4gdGhlbiBjYWxsCiAgKiB3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2FjY2VwdF9wb2xp
Y3lfZmluaXNoKCkgdG8gZ2V0IHRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRl
RGF0YU1hbmFnZXIuY3BwCmluZGV4IGExYjY4ZjNhMDZhMS4uYzUyNWViYjlhN2EzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YnNpdGVEYXRhTWFuYWdlci5jcHAKQEAgLTg0MSw4ICs4NDEsNyBAQCBXZWJLaXRDb29raWVNYW5h
Z2VyKiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Nvb2tpZV9tYW5hZ2VyKFdlYktp
dFdlYnNpdAogICoKICAqIEVuYWJsZSBvciBkaXNhYmxlIEludGVsbGlnZW50IFRyYWNraW5nIFBy
ZXZlbnRpb24gKElUUCkuIFdoZW4gSVRQIGlzIGVuYWJsZWQgcmVzb3VyY2UgbG9hZCBzdGF0aXN0
aWNzCiAgKiBhcmUgY29sbGVjdGVkIGFuZCB1c2VkIHRvIGRlY2lkZSB3aGV0aGVyIHRvIGFsbG93
IG9yIGJsb2NrIHRoaXJkLXBhcnR5IGNvb2tpZXMgYW5kIHByZXZlbnQgdXNlciB0cmFja2luZy4K
LSAqIE5vdGUgdGhhdCB3aGVuIElUUCBpcyBlbmFibGVkIHRoZSByZXNvdXJjZXMgZm9yIHdoaWNo
IGNvb2tpZXMgYXJlIGFsbG93ZWQgd2lsbCBmb2xsb3cgdGhlIGFjY2VwdCBwb2xpY3kKLSAqIHNl
dCB3aXRoIHdlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRfYWNjZXB0X3BvbGljeSgpLgorICogTm90
ZSB0aGF0IHdoaWxlIElUUCBpcyBlbmFibGVkIHRoZSBhY2NlcHQgcG9saWN5IHNldCBieSB3ZWJr
aXRfY29va2llX21hbmFnZXJfc2V0X2FjY2VwdF9wb2xpY3koKSBpcyBpZ25vcmVkLgogICoKICAq
IFNpbmNlOiAyLjMwCiAgKi8KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA1YTQ4MThmMzU3MjMuLmE5MzhlNTcwYmUxOCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIw
LTA2LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXVtXUEVdIENoYW5nZSB0aGUgY29va2llcyBhY2NlcHQgcG9saWN5IHdoZW4gSVRQ
IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMzUwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0ZXN0cyB0byBjaGVjayB0aGUgcG9saWN5IGlzIGNoYW5nZWQgYW5kIHJlc3RvcmVk
IGNvcnJlY3RseSB3aGVuIElUUCBpcyBlbmFibGVkIGFuZCBkaXNhYmxlZC4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0Q29va2llTWFuYWdlci5jcHA6Cisg
ICAgICAgICh0ZXN0Q29va2llTWFuYWdlckFjY2VwdFBvbGljeSk6CisKIDIwMjAtMDYtMjkgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
W1dQRV0gQWRkIHdlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9zZWN1cml0eV9vcmln
aW4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0
Q29va2llTWFuYWdlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIv
VGVzdENvb2tpZU1hbmFnZXIuY3BwCmluZGV4IDVhYTkzYjVlYzcyMi4uYTAxZDQ0NDNiNmM4IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tp
ZU1hbmFnZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9U
ZXN0Q29va2llTWFuYWdlci5jcHAKQEAgLTI3NSw2ICsyNzUsMTggQEAgc3RhdGljIHZvaWQgdGVz
dENvb2tpZU1hbmFnZXJBY2NlcHRQb2xpY3koQ29va2llTWFuYWdlclRlc3QqIHRlc3QsIGdjb25z
dHBvaW50ZXIKICAgICBkb21haW5zID0gdGVzdC0+Z2V0RG9tYWlucygpOwogICAgIGdfYXNzZXJ0
X25vbm51bGwoZG9tYWlucyk7CiAgICAgZ19hc3NlcnRfY21waW50KGdfc3Rydl9sZW5ndGgoZG9t
YWlucyksID09LCAwKTsKKworICAgIC8vIElUUCB1c2VzIEFDQ0VQVF9BTFdBWVMuCisgICAgYXV0
byogbWFuYWdlciA9IHdlYmtpdF93ZWJfY29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIo
dGVzdC0+bV93ZWJDb250ZXh0LmdldCgpKTsKKyAgICB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFn
ZXJfc2V0X2l0cF9lbmFibGVkKG1hbmFnZXIsIFRSVUUpOworICAgIGdfYXNzZXJ0X2NtcGludCh0
ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0sIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9B
TFdBWVMpOworICAgIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfaXRwX2VuYWJsZWQo
bWFuYWdlciwgRkFMU0UpOworICAgIGdfYXNzZXJ0X2NtcGludCh0ZXN0LT5nZXRBY2NlcHRQb2xp
Y3koKSwgPT0sIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9ORVZFUik7CisgICAgd2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9pdHBfZW5hYmxlZChtYW5hZ2VyLCBUUlVFKTsKKyAg
ICB0ZXN0LT5zZXRBY2NlcHRQb2xpY3koV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RI
SVJEX1BBUlRZKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5KCks
ID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTKTsKKyAgICB3ZWJraXRfd2Vi
c2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVkKG1hbmFnZXIsIEZBTFNFKTsKKyAgICBn
X2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5KCksID09LCBXRUJLSVRfQ09PS0lF
X1BPTElDWV9BQ0NFUFRfTk9fVEhJUkRfUEFSVFkpOwogfQogCiBzdGF0aWMgdm9pZCB0ZXN0Q29v
a2llTWFuYWdlckFkZENvb2tpZShDb29raWVNYW5hZ2VyVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRl
cikK
</data>
<flag name="review"
          id="418444"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403362</attachid>
            <date>2020-07-02 04:42:02 -0700</date>
            <delta_ts>2020-07-02 07:13:46 -0700</delta_ts>
            <desc>Different approach</desc>
            <filename>wk2-itp-accept-policy.diff</filename>
            <type>text/plain</type>
            <size>16913</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMGU5MmQ2M2FmMzkuLmI0NjkxMjU5N2RmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTA2LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIENoYW5nZSB0aGUgY29va2llcyBhY2Nl
cHQgcG9saWN5IHdoZW4gSVRQIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNldCB0aGUgYWNjZXB0IHBvbGljeSB0byBhbHdheXMgd2hl
biBJVFAgaXMgZW5hYmxlZCBhbmQgbm8tdGhpcmQtcGFydHkgaXMgc2V0LCBvdGhlcndpc2UgY29v
a2llcyBhY2Nlc3MgZ3JhbnRlZAorICAgICAgICBieSByZXF1ZXN0IHN0b3JhZ2UgYWNjZXNzIHdv
dWxkIHN0aWxsIGJlIHJlamVjdGVkIGJ5IGxpYnNvdXAgaWYgcG9saWN5IGlzIHNldCB0byBuby10
aGlyZC1wYXJ0eS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQpOiBNb3ZlIGhlcmUgdGhlIGltcGxlbWVudGF0
aW9uIGZvciBwb3J0cyBub3QKKyAgICAgICAgdXNpbmcgc291cC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKTogSW5pdGlh
bGl6ZSBjb29raWUgYWNjZXB0IHBvbGljeS4KKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9y
YWdlU2Vzc2lvbjo6c2V0Q29va2llU3RvcmFnZSk6IFNldCBoZXJlIHRoZSBhY2NlcHQgcG9saWN5
IG9mIHRoZSBuZXcgamFyLgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpzZXRDb29raWVBY2NlcHRQb2xpY3kpOiBTZXQgdGhlIGNvb2tpZSBhY2NlcHQgcG9saWN5IHRh
a2luZyBpbnRvIGFjY291bnQgdGhhdAorICAgICAgICBpZiBJVFAgaXMgZW5hYmxlZCBhbmQgbm8t
dGhpcmQtcGFydHkgaXMgc2V0IHdlIHNhdmUgdGhlIHBvbGljeSBidXQgdXNlIGFsd2F5cyBpbnN0
ZWFkLgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVBY2Nl
cHRQb2xpY3kgY29uc3QpOiBSZW1vdmUgdGhlIGRlZmF1bHQgY2FzZSBvZiB0aGUgc3dpdGNoLgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZCk6IFdoZW4gZW5hYmxlZCwgc2F2ZSBjdXJyZW50IHBvbGljeSBhbmQg
c2V0CisgICAgICAgIGFsd2F5cyBpZiBuby10aGlyZC1wYXJ0eSBpcyBzZXQuIFdoZW4gZGlzYWJs
ZWQsIHJlc3RvcmUgdGhlIHNhdmVkIHBvbGljeS4KKwogMjAyMC0wNy0wMiAgQWxleGFuZGVyIE1p
a2hheWxlbmtvICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEtdIEtpbmV0aWMgc2Ny
b2xsaW5nIGlzIHN0aWxsIHRyaWdnZXJlZCBpZiB5b3Ugd2FpdCBiZWZvcmUgbGlmdGluZyBmaW5n
ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdG9yYWdlU2Vzc2lvbi5jcHAKaW5kZXggZjY2MmQyY2YzZmI5Li42ODQ3YzRmNWU5NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dG9yYWdlU2Vzc2lvbi5jcHAKQEAgLTY3LDYgKzY3LDEzIEBAIFZlY3RvcjxDb29raWU+IE5ldHdv
cmtTdG9yYWdlU2Vzc2lvbjo6ZG9tQ29va2llc0Zvckhvc3QoY29uc3QgU3RyaW5nJikKIAogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAKKyNpZiAhVVNFKFNPVVApCit2b2lk
IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
Ym9vbCBlbmFibGVkKQoreworICAgIG1faXNSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCA9
IGVuYWJsZWQ7Cit9CisjZW5kaWYKKwogYm9vbCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNob3Vs
ZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXMoY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHJlZ2lzdHJh
YmxlRG9tYWluKSBjb25zdAogewogICAgIGlmICghbV9pc1Jlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkIHx8IHJlZ2lzdHJhYmxlRG9tYWluLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCmluZGV4
IDI4ZjVmZjMwZThkNy4uOTFkYWM0NGQ3NTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgKQEAgLTEyOSw2ICsx
MjksNyBAQCBwdWJsaWM6CiAKICAgICBTb3VwQ29va2llSmFyKiBjb29raWVTdG9yYWdlKCkgY29u
c3QgeyByZXR1cm4gbV9jb29raWVTdG9yYWdlLmdldCgpOyB9CiAgICAgdm9pZCBzZXRDb29raWVT
dG9yYWdlKEdSZWZQdHI8U291cENvb2tpZUphcj4mJik7CisgICAgdm9pZCBzZXRDb29raWVBY2Nl
cHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAgICAgdm9pZCBzZXRDb29raWVPYnNl
cnZlckhhbmRsZXIoRnVuY3Rpb248dm9pZCAoKT4mJik7CiAgICAgdm9pZCBnZXRDcmVkZW50aWFs
RnJvbVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIEdDYW5jZWxsYWJs
ZSosIEZ1bmN0aW9uPHZvaWQgKENyZWRlbnRpYWwmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpOwog
ICAgIHZvaWQgc2F2ZUNyZWRlbnRpYWxUb1BlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rp
b25TcGFjZSYsIGNvbnN0IENyZWRlbnRpYWwmKTsKQEAgLTE3Nyw3ICsxNzgsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAgdm9p
ZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9pc1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkID0gZW5hYmxlZDsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoYm9vbCk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgYm9vbCBzaG91bGRCbG9ja0Nvb2tpZXMoY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgT3B0aW9uYWw8RnJhbWVJZGVudGlmaWVyPiwgT3B0aW9uYWw8UGFnZUlkZW50aWZpZXI+LCBT
aG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykgY29uc3Q7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBzaG91bGRCbG9ja0Nvb2tpZXMoY29uc3QgVVJMJiBmaXJzdFBhcnR5Rm9yQ29v
a2llcywgY29uc3QgVVJMJiByZXNvdXJjZSwgT3B0aW9uYWw8RnJhbWVJZGVudGlmaWVyPiwgT3B0
aW9uYWw8UGFnZUlkZW50aWZpZXI+LCBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2lu
ZykgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRCbG9ja1RoaXJkUGFydHlD
b29raWVzKGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJikgY29uc3Q7CkBAIC0yMjksNiArMjMwLDcg
QEAgcHJpdmF0ZToKICNlbGlmIFVTRShTT1VQKQogICAgIHN0YXRpYyB2b2lkIGNvb2tpZXNEaWRD
aGFuZ2UoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKik7CiAKKyAgICBIVFRQQ29va2llQWNjZXB0UG9s
aWN5IG1fY29va2llQWNjZXB0UG9saWN5OwogICAgIEdSZWZQdHI8U291cENvb2tpZUphcj4gbV9j
b29raWVTdG9yYWdlOwogICAgIEZ1bmN0aW9uPHZvaWQgKCk+IG1fY29va2llT2JzZXJ2ZXJIYW5k
bGVyOwogI2VsaWYgVVNFKENVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VTZXNzaW9uU291cC5jcHAK
aW5kZXggNmM3ZDZhZTYwNmQ5Li4zNDAwMjg5YTQxMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uU291cC5jcHAKQEAgLTU2LDkgKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24oUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKQogICAgIDogbV9zZXNzaW9uSUQoc2Vzc2lvbklEKQorICAgICwgbV9jb29r
aWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1l
bnREb21haW4pCiAgICAgLCBtX2Nvb2tpZVN0b3JhZ2UoYWRvcHRHUmVmKHNvdXBfY29va2llX2ph
cl9uZXcoKSkpCiB7Ci0gICAgc291cF9jb29raWVfamFyX3NldF9hY2NlcHRfcG9saWN5KG1fY29v
a2llU3RvcmFnZS5nZXQoKSwgU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19USElSRF9QQVJUWSk7
CisgICAgc2V0Q29va2llQWNjZXB0UG9saWN5KG1fY29va2llQWNjZXB0UG9saWN5KTsKICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9jb29raWVTdG9yYWdlLmdldCgpLCAiY2hhbmdlZCIs
IEdfQ0FMTEJBQ0soY29va2llc0RpZENoYW5nZSksIHRoaXMpOwogfQogCkBAIC03Niw2ICs3Nyw3
IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVzRGlkQ2hhbmdlKE5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiogc2Vzc2lvbikKIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRD
b29raWVTdG9yYWdlKEdSZWZQdHI8U291cENvb2tpZUphcj4mJiBqYXIpCiB7CiAgICAgZ19zaWdu
YWxfaGFuZGxlcnNfZGlzY29ubmVjdF9tYXRjaGVkKG1fY29va2llU3RvcmFnZS5nZXQoKSwgR19T
SUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7CisgICAgc291
cF9jb29raWVfamFyX3NldF9hY2NlcHRfcG9saWN5KGphci5nZXQoKSwgc291cF9jb29raWVfamFy
X2dldF9hY2NlcHRfcG9saWN5KG1fY29va2llU3RvcmFnZS5nZXQoKSkpOwogICAgIG1fY29va2ll
U3RvcmFnZSA9IFdURk1vdmUoamFyKTsKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9j
b29raWVTdG9yYWdlLmdldCgpLCAiY2hhbmdlZCIsIEdfQ0FMTEJBQ0soY29va2llc0RpZENoYW5n
ZSksIHRoaXMpOwogfQpAQCAtMjQyLDYgKzI0NCwzMyBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6c2F2ZUNyZWRlbnRpYWxUb1BlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFByb3RlY3Rpb25T
cAogI2VuZGlmCiB9CiAKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRDb29raWVBY2Nl
cHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpCit7CisgICAgaWYgKG1faXNS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCkgeworICAgICAgICBtX2Nvb2tpZUFjY2VwdFBv
bGljeSA9IHBvbGljeTsKKyAgICAgICAgaWYgKG1fY29va2llQWNjZXB0UG9saWN5ID09IEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluKQorICAgICAgICAg
ICAgcG9saWN5ID0gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OworICAgIH0K
KworICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xpY3kgc291cFBvbGljeSA9IFNPVVBfQ09PS0lF
X0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CisgICAgc3dpdGNoIChwb2xpY3kpIHsKKyAgICBj
YXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKKyAgICAgICAgc291cFBv
bGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfQUxXQVlTOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgorICAgICAgICBzb3VwUG9saWN5
ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9ORVZFUjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAg
ICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgc291cF9jb29raWVfamFyX3NldF9hY2Nl
cHRfcG9saWN5KGNvb2tpZVN0b3JhZ2UoKSwgc291cFBvbGljeSk7Cit9CisKIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVBY2NlcHRQb2xpY3koKSBj
b25zdAogewogICAgIHN3aXRjaCAoc291cF9jb29raWVfamFyX2dldF9hY2NlcHRfcG9saWN5KGNv
b2tpZVN0b3JhZ2UoKSkpIHsKQEAgLTI0OSwxMSArMjc4LDI3IEBAIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVBY2NlcHRQb2xpY3koKSBjb25zdAog
ICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OwogICAg
IGNhc2UgU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19USElSRF9QQVJUWToKICAgICAgICAgcmV0
dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwot
ICAgIGRlZmF1bHQ6CisgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05FVkVSOgogICAg
ICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAgfQorICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKQordm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBpZiAoZW5hYmxlZCkgewor
ICAgICAgICBtX2Nvb2tpZUFjY2VwdFBvbGljeSA9IGNvb2tpZUFjY2VwdFBvbGljeSgpOworICAg
ICAgICBpZiAobV9jb29raWVBY2NlcHRQb2xpY3kgPT0gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6
T25seUZyb21NYWluRG9jdW1lbnREb21haW4pCisgICAgICAgICAgICBzZXRDb29raWVBY2NlcHRQ
b2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0KTsKKyAgICAgICAgbV9p
c1Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBtX2lzUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAg
c2V0Q29va2llQWNjZXB0UG9saWN5KG1fY29va2llQWNjZXB0UG9saWN5KTsKKyAgICB9Cit9Cisj
ZW5kaWYKKwogc3RhdGljIGlubGluZSBib29sIGh0dHBPbmx5Q29va2llRXhpc3RzKGNvbnN0IEdT
TGlzdCogY29va2llcywgY29uc3QgZ2NoYXIqIG5hbWUsIGNvbnN0IGdjaGFyKiBwYXRoKQogewog
ICAgIGZvciAoY29uc3QgR1NMaXN0KiBpdGVyID0gY29va2llczsgaXRlcjsgaXRlciA9IGdfc2xp
c3RfbmV4dChpdGVyKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2MzU5ZTEwMWJjOWIuLjc1ZTJkODFlNTgwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wNi0yOSAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBDaGFuZ2UgdGhl
IGNvb2tpZXMgYWNjZXB0IHBvbGljeSB3aGVuIElUUCBpcyBlbmFibGVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM1MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Nvb2tp
ZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNv
b2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6IFVzZSBOZXR3
b3JrU3RvcmFnZVNlc3Npb246OnNldENvb2tpZUFjY2VwdFBvbGljeSgpLgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Nlc3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Nlc3Npb25Tb3VwOjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IERvIG5v
dCBjaGFuZ2UgdGhlIGFjY2VwdCBwb2xpY3ksIGl0J3Mgbm93IGRvbmUgYnkKKyAgICAgICAgTmV0
d29ya1N0b3JhZ2VTZXNzaW9uIHdoZW4gdGhlIG5ldyBjb29raWUgamFyIGlzIHNldC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHA6IFVwZGF0ZSBB
UEkgZG9jcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFN
YW5hZ2VyLmNwcDogRGl0dG8uCisKIDIwMjAtMDctMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fi
b3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRFeHRl
bnNpb25zRm9yTUlNRVR5cGUoKSBuZWVkcyB0byBoYW5kbGUgd2lsZGNhcmQgTUlNRSB0eXBlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2Vi
Q29va2llTWFuYWdlclNvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29r
aWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAuY3BwCmluZGV4IGNiZmNhZWU1NjNhMS4uNzU0
ZDBiYmM2YjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tp
ZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAuY3BwCkBAIC0zOSwy
NCArMzksOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBXZWJDb29raWVNYW5h
Z2VyOjpwbGF0Zm9ybVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBv
bGljeSBwb2xpY3kpCiB7Ci0gICAgU291cENvb2tpZUphckFjY2VwdFBvbGljeSBzb3VwUG9saWN5
ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9OT19USElSRF9QQVJUWTsKLSAgICBzd2l0Y2ggKHBv
bGljeSkgewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0Ogot
ICAgICAgICBzb3VwUG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9BTFdBWVM7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI6Ci0gICAg
ICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05FVkVSOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluOgotICAgICAgICBzb3VwUG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9O
T19USElSRF9QQVJUWTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0
UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBtX3Byb2Nlc3Mu
Zm9yRWFjaE5ldHdvcmtTdG9yYWdlU2Vzc2lvbihbc291cFBvbGljeV0gKGNvbnN0IGF1dG8mIHNl
c3Npb24pIHsKLSAgICAgICAgc291cF9jb29raWVfamFyX3NldF9hY2NlcHRfcG9saWN5KHNlc3Np
b24uY29va2llU3RvcmFnZSgpLCBzb3VwUG9saWN5KTsKKyAgICBtX3Byb2Nlc3MuZm9yRWFjaE5l
dHdvcmtTdG9yYWdlU2Vzc2lvbihbcG9saWN5XSAoYXV0byYgc2Vzc2lvbikgeworICAgICAgICBz
ZXNzaW9uLnNldENvb2tpZUFjY2VwdFBvbGljeShwb2xpY3kpOwogICAgIH0pOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Nlc3Npb25T
b3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrU2Vzc2lv
blNvdXAuY3BwCmluZGV4IGJkMDdiYWExOTZlYi4uOTA2MTMzMzVlZmM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Nlc3Npb25Tb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Nlc3Npb25Tb3Vw
LmNwcApAQCAtODIsMTEgKzgyLDcgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvblNvdXA6OnNldENvb2tp
ZVBlcnNpc3RlbnRTdG9yYWdlKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIFMKICAgICBjYXNl
IFNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGU6OlNRTGl0ZToKICAgICAgICAgamFyID0g
YWRvcHRHUmVmKHNvdXBfY29va2llX2phcl9kYl9uZXcoc3RvcmFnZVBhdGgudXRmOCgpLmRhdGEo
KSwgRkFMU0UpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfQotCi0gICAgc291cF9jb29raWVfamFyX3NldF9hY2NlcHRf
cG9saWN5KGphci5nZXQoKSwgc291cF9jb29raWVfamFyX2dldF9hY2NlcHRfcG9saWN5KHN0b3Jh
Z2VTZXNzaW9uLT5jb29raWVTdG9yYWdlKCkpKTsKICAgICBzdG9yYWdlU2Vzc2lvbi0+c2V0Q29v
a2llU3RvcmFnZShXVEZNb3ZlKGphcikpOwogCiAgICAgbV9uZXR3b3JrU2Vzc2lvbi0+c2V0Q29v
a2llSmFyKHN0b3JhZ2VTZXNzaW9uLT5jb29raWVTdG9yYWdlKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcApp
bmRleCAyN2ZiZGUyMjcxNDguLjQwNWUxMmUyNjRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKQEAgLTE4
NSw2ICsxODUsMTAgQEAgdm9pZCB3ZWJraXRfY29va2llX21hbmFnZXJfc2V0X3BlcnNpc3RlbnRf
c3RvcmFnZShXZWJLaXRDb29raWVNYW5hZ2VyKiBtYW5hZ2VyLAogICogQHBvbGljeTogYSAjV2Vi
S2l0Q29va2llQWNjZXB0UG9saWN5CiAgKgogICogU2V0IHRoZSBjb29raWUgYWNjZXB0YW5jZSBw
b2xpY3kgb2YgQGNvb2tpZV9tYW5hZ2VyIGFzIEBwb2xpY3kuCisgKiBOb3RlIHRoYXQgSVRQIGhh
cyBpdHMgb3duIHdheSB0byBoYW5kbGUgdGhpcmQtcGFydHkgY29va2llcywgc28gd2hlbiBpdCdz
IGVuYWJsZWQsCisgKiBhbmQgQHBvbGljeSBpcyBzZXQgdG8gJVdFQktJVF9DT09LSUVfUE9MSUNZ
X0FDQ0VQVF9OT19USElSRF9QQVJUWSwgJVdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdB
WVMKKyAqIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLiBPbmNlIGRpc2FibGVkLCB0aGUgcG9saWN5IHdp
bGwgYmUgc2V0IGJhY2sgdG8gJVdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9OT19USElSRF9Q
QVJUWS4KKyAqIFNlZSBhbHNvIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfaXRwX2Vu
YWJsZWQoKS4KICAqLwogdm9pZCB3ZWJraXRfY29va2llX21hbmFnZXJfc2V0X2FjY2VwdF9wb2xp
Y3koV2ViS2l0Q29va2llTWFuYWdlciogbWFuYWdlciwgV2ViS2l0Q29va2llQWNjZXB0UG9saWN5
IHBvbGljeSkKIHsKQEAgLTIwMiw2ICsyMDYsOSBAQCB2b2lkIHdlYmtpdF9jb29raWVfbWFuYWdl
cl9zZXRfYWNjZXB0X3BvbGljeShXZWJLaXRDb29raWVNYW5hZ2VyKiBtYW5hZ2VyLCBXZWJLaQog
ICogQHVzZXJfZGF0YTogKGNsb3N1cmUpOiB0aGUgZGF0YSB0byBwYXNzIHRvIGNhbGxiYWNrIGZ1
bmN0aW9uCiAgKgogICogQXN5bmNocm9ub3VzbHkgZ2V0IHRoZSBjb29raWUgYWNjZXB0YW5jZSBw
b2xpY3kgb2YgQGNvb2tpZV9tYW5hZ2VyLgorICogTm90ZSB0aGF0IHdoZW4gcG9saWN5IHdhcyBz
ZXQgdG8gJVdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9OT19USElSRF9QQVJUWSBhbmQKKyAq
IElUUCBpcyBlbmFibGVkLCB0aGlzIHdpbGwgcmV0dXJuICVXRUJLSVRfQ09PS0lFX1BPTElDWV9B
Q0NFUFRfQUxXQVlTLgorICogU2VlIGFsc28gd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3Nl
dF9pdHBfZW5hYmxlZCgpLgogICoKICAqIFdoZW4gdGhlIG9wZXJhdGlvbiBpcyBmaW5pc2hlZCwg
QGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkLiBZb3UgY2FuIHRoZW4gY2FsbAogICogd2Via2l0X2Nv
b2tpZV9tYW5hZ2VyX2dldF9hY2NlcHRfcG9saWN5X2ZpbmlzaCgpIHRvIGdldCB0aGUgcmVzdWx0
IG9mIHRoZSBvcGVyYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcAppbmRleCBhMWI2OGYz
YTA2YTEuLjIyMzEwNjYwYTk3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCkBAIC04NDEs
OCArODQxLDggQEAgV2ViS2l0Q29va2llTWFuYWdlciogd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5h
Z2VyX2dldF9jb29raWVfbWFuYWdlcihXZWJLaXRXZWJzaXQKICAqCiAgKiBFbmFibGUgb3IgZGlz
YWJsZSBJbnRlbGxpZ2VudCBUcmFja2luZyBQcmV2ZW50aW9uIChJVFApLiBXaGVuIElUUCBpcyBl
bmFibGVkIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcwogICogYXJlIGNvbGxlY3RlZCBhbmQgdXNl
ZCB0byBkZWNpZGUgd2hldGhlciB0byBhbGxvdyBvciBibG9jayB0aGlyZC1wYXJ0eSBjb29raWVz
IGFuZCBwcmV2ZW50IHVzZXIgdHJhY2tpbmcuCi0gKiBOb3RlIHRoYXQgd2hlbiBJVFAgaXMgZW5h
YmxlZCB0aGUgcmVzb3VyY2VzIGZvciB3aGljaCBjb29raWVzIGFyZSBhbGxvd2VkIHdpbGwgZm9s
bG93IHRoZSBhY2NlcHQgcG9saWN5Ci0gKiBzZXQgd2l0aCB3ZWJraXRfY29va2llX21hbmFnZXJf
c2V0X2FjY2VwdF9wb2xpY3koKS4KKyAqIE5vdGUgdGhhdCB3aGlsZSBJVFAgaXMgZW5hYmxlZCB0
aGUgYWNjZXB0IHBvbGljeSAlV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RISVJEX1BB
UlRZIGlzIGlnbm9yZWQgYW5kCisgKiAlV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX0FMV0FZ
UyBpcyB1c2VkIGluc3RlYWQuIFNlZSBhbHNvIHdlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRfYWNj
ZXB0X3BvbGljeSgpLgogICoKICAqIFNpbmNlOiAyLjMwCiAgKi8KZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0OTYxNjQzMDczNWUuLjY3OTcyMjhi
NTQ4MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA2LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIENoYW5nZSB0aGUgY29va2llcyBh
Y2NlcHQgcG9saWN5IHdoZW4gSVRQIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0byBjaGVjayB0aGUgcG9saWN5IGlz
IGNoYW5nZWQgYW5kIHJlc3RvcmVkIGNvcnJlY3RseSB3aGVuIElUUCBpcyBlbmFibGVkIGFuZCBk
aXNhYmxlZC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0
Q29va2llTWFuYWdlci5jcHA6CisgICAgICAgICh0ZXN0Q29va2llTWFuYWdlckFjY2VwdFBvbGlj
eSk6CisKIDIwMjAtMDctMDIgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtGbGF0cGFrIFNES10gQWRkIHBlcmwtdGVybS1yZWFka2V5CmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tpZU1hbmFn
ZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RDb29raWVN
YW5hZ2VyLmNwcAppbmRleCA1YWE5M2I1ZWM3MjIuLjc5ODlhMzkyMmE0ZSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RDb29raWVNYW5hZ2VyLmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tpZU1h
bmFnZXIuY3BwCkBAIC0yNzUsNiArMjc1LDI2IEBAIHN0YXRpYyB2b2lkIHRlc3RDb29raWVNYW5h
Z2VyQWNjZXB0UG9saWN5KENvb2tpZU1hbmFnZXJUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyCiAg
ICAgZG9tYWlucyA9IHRlc3QtPmdldERvbWFpbnMoKTsKICAgICBnX2Fzc2VydF9ub25udWxsKGRv
bWFpbnMpOwogICAgIGdfYXNzZXJ0X2NtcGludChnX3N0cnZfbGVuZ3RoKGRvbWFpbnMpLCA9PSwg
MCk7CisKKyAgICAvLyBJVFAgbmV2ZXIgdXNlcyBOT19USElSRF9QQVJUWS4KKyAgICBhdXRvKiBt
YW5hZ2VyID0gd2Via2l0X3dlYl9jb250ZXh0X2dldF93ZWJzaXRlX2RhdGFfbWFuYWdlcih0ZXN0
LT5tX3dlYkNvbnRleHQuZ2V0KCkpOworICAgIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9z
ZXRfaXRwX2VuYWJsZWQobWFuYWdlciwgVFJVRSk7CisgICAgZ19hc3NlcnRfY21waW50KHRlc3Qt
PmdldEFjY2VwdFBvbGljeSgpLCA9PSwgV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05FVkVS
KTsKKyAgICB0ZXN0LT5zZXRBY2NlcHRQb2xpY3koV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBU
X05PX1RISVJEX1BBUlRZKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9s
aWN5KCksID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTKTsKKyAgICB3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVkKG1hbmFnZXIsIEZBTFNFKTsK
KyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5KCksID09LCBXRUJLSVRf
Q09PS0lFX1BPTElDWV9BQ0NFUFRfTk9fVEhJUkRfUEFSVFkpOworICAgIHdlYmtpdF93ZWJzaXRl
X2RhdGFfbWFuYWdlcl9zZXRfaXRwX2VuYWJsZWQobWFuYWdlciwgVFJVRSk7CisgICAgZ19hc3Nl
cnRfY21waW50KHRlc3QtPmdldEFjY2VwdFBvbGljeSgpLCA9PSwgV0VCS0lUX0NPT0tJRV9QT0xJ
Q1lfQUNDRVBUX0FMV0FZUyk7CisgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9p
dHBfZW5hYmxlZChtYW5hZ2VyLCBGQUxTRSk7CisgICAgZ19hc3NlcnRfY21waW50KHRlc3QtPmdl
dEFjY2VwdFBvbGljeSgpLCA9PSwgV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RISVJE
X1BBUlRZKTsKKyAgICB0ZXN0LT5zZXRBY2NlcHRQb2xpY3koV0VCS0lUX0NPT0tJRV9QT0xJQ1lf
QUNDRVBUX0FMV0FZUyk7CisgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9pdHBf
ZW5hYmxlZChtYW5hZ2VyLCBUUlVFKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNj
ZXB0UG9saWN5KCksID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTKTsKKyAg
ICB0ZXN0LT5zZXRBY2NlcHRQb2xpY3koV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05FVkVS
KTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5KCksID09LCBXRUJL
SVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTkVWRVIpOworICAgIHdlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9zZXRfaXRwX2VuYWJsZWQobWFuYWdlciwgRkFMU0UpOworICAgIGdfYXNzZXJ0X2Nt
cGludCh0ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0sIFdFQktJVF9DT09LSUVfUE9MSUNZX0FD
Q0VQVF9ORVZFUik7CiB9CiAKIHN0YXRpYyB2b2lkIHRlc3RDb29raWVNYW5hZ2VyQWRkQ29va2ll
KENvb2tpZU1hbmFnZXJUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQo=
</data>
<flag name="review"
          id="418729"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403364</attachid>
            <date>2020-07-02 07:13:46 -0700</date>
            <delta_ts>2020-07-03 14:06:49 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wk2-itp-accept-policy.diff</filename>
            <type>text/plain</type>
            <size>16954</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YTc4YTIzZGVkODguLjBiYTAzYmY2ZTEyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTA2LTI5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIENoYW5nZSB0aGUgY29va2llcyBhY2Nl
cHQgcG9saWN5IHdoZW4gSVRQIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzUwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE1pY2hh
ZWwgQ2F0YW56YXJvLgorCisgICAgICAgIFNldCB0aGUgYWNjZXB0IHBvbGljeSB0byBhbHdheXMg
d2hlbiBJVFAgaXMgZW5hYmxlZCBhbmQgbm8tdGhpcmQtcGFydHkgaXMgc2V0LCBvdGhlcndpc2Ug
Y29va2llcyBhY2Nlc3MgZ3JhbnRlZAorICAgICAgICBieSByZXF1ZXN0IHN0b3JhZ2UgYWNjZXNz
IHdvdWxkIHN0aWxsIGJlIHJlamVjdGVkIGJ5IGxpYnNvdXAgaWYgcG9saWN5IGlzIHNldCB0byBu
by10aGlyZC1wYXJ0eS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQpOiBNb3ZlIGhlcmUgdGhlIGltcGxlbWVu
dGF0aW9uIGZvciBwb3J0cyBub3QKKyAgICAgICAgdXNpbmcgc291cC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uKTogSW5p
dGlhbGl6ZSBjb29raWUgYWNjZXB0IHBvbGljeS4KKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6c2V0Q29va2llU3RvcmFnZSk6IFNldCBoZXJlIHRoZSBhY2NlcHQgcG9s
aWN5IG9mIHRoZSBuZXcgamFyLgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNz
aW9uOjpzZXRDb29raWVBY2NlcHRQb2xpY3kpOiBTZXQgdGhlIGNvb2tpZSBhY2NlcHQgcG9saWN5
IHRha2luZyBpbnRvIGFjY291bnQgdGhhdAorICAgICAgICBpZiBJVFAgaXMgZW5hYmxlZCBhbmQg
bm8tdGhpcmQtcGFydHkgaXMgc2V0IHdlIHNhdmUgdGhlIHBvbGljeSBidXQgdXNlIGFsd2F5cyBp
bnN0ZWFkLgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpjb29raWVB
Y2NlcHRQb2xpY3kgY29uc3QpOiBSZW1vdmUgdGhlIGRlZmF1bHQgY2FzZSBvZiB0aGUgc3dpdGNo
LgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZCk6IFdoZW4gZW5hYmxlZCwgc2F2ZSBjdXJyZW50IHBvbGljeSBh
bmQgc2V0CisgICAgICAgIGFsd2F5cyBpZiBuby10aGlyZC1wYXJ0eSBpcyBzZXQuIFdoZW4gZGlz
YWJsZWQsIHJlc3RvcmUgdGhlIHNhdmVkIHBvbGljeS4KKwogMjAyMC0wNy0wMiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
Rml4IEdUSzQgYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcAppbmRleCBmNjYyZDJjZjNmYjkuLjY4NDdj
NGY1ZTk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RvcmFnZVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNwcApAQCAtNjcsNiArNjcsMTMgQEAgVmVjdG9yPENv
b2tpZT4gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkb21Db29raWVzRm9ySG9zdChjb25zdCBTdHJp
bmcmKQogCiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKIAorI2lmICFVU0Uo
U09VUCkKK3ZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgbV9pc1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NFbmFibGVkID0gZW5hYmxlZDsKK30KKyNlbmRpZgorCiBib29sIE5ldHdvcmtTdG9yYWdlU2Vz
c2lvbjo6c2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llcyhjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYgcmVnaXN0cmFibGVEb21haW4pIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lzUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQgfHwgcmVnaXN0cmFibGVEb21haW4uaXNFbXB0eSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Np
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNz
aW9uLmgKaW5kZXggMjhmNWZmMzBlOGQ3Li45MWRhYzQ0ZDc1MWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaApA
QCAtMTI5LDYgKzEyOSw3IEBAIHB1YmxpYzoKIAogICAgIFNvdXBDb29raWVKYXIqIGNvb2tpZVN0
b3JhZ2UoKSBjb25zdCB7IHJldHVybiBtX2Nvb2tpZVN0b3JhZ2UuZ2V0KCk7IH0KICAgICB2b2lk
IHNldENvb2tpZVN0b3JhZ2UoR1JlZlB0cjxTb3VwQ29va2llSmFyPiYmKTsKKyAgICB2b2lkIHNl
dENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5KTsKICAgICB2b2lkIHNl
dENvb2tpZU9ic2VydmVySGFuZGxlcihGdW5jdGlvbjx2b2lkICgpPiYmKTsKICAgICB2b2lkIGdl
dENyZWRlbnRpYWxGcm9tUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgUHJvdGVjdGlvblNwYWNlJiwg
R0NhbmNlbGxhYmxlKiwgRnVuY3Rpb248dm9pZCAoQ3JlZGVudGlhbCYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcik7CiAgICAgdm9pZCBzYXZlQ3JlZGVudGlhbFRvUGVyc2lzdGVudFN0b3JhZ2UoY29u
c3QgUHJvdGVjdGlvblNwYWNlJiwgY29uc3QgQ3JlZGVudGlhbCYpOwpAQCAtMTc3LDcgKzE3OCw3
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElD
UykKLSAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGJvb2wgZW5hYmxl
ZCkgeyBtX2lzUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQgPSBlbmFibGVkOyB9CisgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChib29s
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIHNob3VsZEJsb2NrQ29va2llcyhjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBPcHRpb25hbDxGcmFtZUlkZW50aWZpZXI+LCBPcHRpb25hbDxQYWdlSWRl
bnRpZmllcj4sIFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKSBjb25zdDsKICAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIHNob3VsZEJsb2NrQ29va2llcyhjb25zdCBVUkwmIGZpcnN0
UGFydHlGb3JDb29raWVzLCBjb25zdCBVUkwmIHJlc291cmNlLCBPcHRpb25hbDxGcmFtZUlkZW50
aWZpZXI+LCBPcHRpb25hbDxQYWdlSWRlbnRpZmllcj4sIFNob3VsZFJlbGF4VGhpcmRQYXJ0eUNv
b2tpZUJsb2NraW5nKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIHNob3VsZEJsb2Nr
VGhpcmRQYXJ0eUNvb2tpZXMoY29uc3QgUmVnaXN0cmFibGVEb21haW4mKSBjb25zdDsKQEAgLTIy
OSw2ICsyMzAsNyBAQCBwcml2YXRlOgogI2VsaWYgVVNFKFNPVVApCiAgICAgc3RhdGljIHZvaWQg
Y29va2llc0RpZENoYW5nZShOZXR3b3JrU3RvcmFnZVNlc3Npb24qKTsKIAorICAgIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kgbV9jb29raWVBY2NlcHRQb2xpY3k7CiAgICAgR1JlZlB0cjxTb3VwQ29v
a2llSmFyPiBtX2Nvb2tpZVN0b3JhZ2U7CiAgICAgRnVuY3Rpb248dm9pZCAoKT4gbV9jb29raWVP
YnNlcnZlckhhbmRsZXI7CiAjZWxpZiBVU0UoQ1VSTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3b3JrU3RvcmFnZVNlc3Np
b25Tb3VwLmNwcAppbmRleCA2YzdkNmFlNjA2ZDkuLjJiMTgyNTA0YWZkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL05ldHdvcmtTdG9yYWdlU2Vzc2lv
blNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9OZXR3
b3JrU3RvcmFnZVNlc3Npb25Tb3VwLmNwcApAQCAtNTYsOSArNTYsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBOZXR3b3JrU3RvcmFnZVNlc3Npb246Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbihQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiAgICAgOiBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCisg
ICAgLCBtX2Nvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJv
bU1haW5Eb2N1bWVudERvbWFpbikKICAgICAsIG1fY29va2llU3RvcmFnZShhZG9wdEdSZWYoc291
cF9jb29raWVfamFyX25ldygpKSkKIHsKLSAgICBzb3VwX2Nvb2tpZV9qYXJfc2V0X2FjY2VwdF9w
b2xpY3kobV9jb29raWVTdG9yYWdlLmdldCgpLCBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RI
SVJEX1BBUlRZKTsKKyAgICBzZXRDb29raWVBY2NlcHRQb2xpY3kobV9jb29raWVBY2NlcHRQb2xp
Y3kpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX2Nvb2tpZVN0b3JhZ2UuZ2V0KCks
ICJjaGFuZ2VkIiwgR19DQUxMQkFDSyhjb29raWVzRGlkQ2hhbmdlKSwgdGhpcyk7CiB9CiAKQEAg
LTc2LDYgKzc3LDcgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmNvb2tpZXNEaWRDaGFu
Z2UoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBzZXNzaW9uKQogdm9pZCBOZXR3b3JrU3RvcmFnZVNl
c3Npb246OnNldENvb2tpZVN0b3JhZ2UoR1JlZlB0cjxTb3VwQ29va2llSmFyPiYmIGphcikKIHsK
ICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNoZWQobV9jb29raWVTdG9yYWdl
LmdldCgpLCBHX1NJR05BTF9NQVRDSF9EQVRBLCAwLCAwLCBudWxscHRyLCBudWxscHRyLCB0aGlz
KTsKKyAgICBzb3VwX2Nvb2tpZV9qYXJfc2V0X2FjY2VwdF9wb2xpY3koamFyLmdldCgpLCBzb3Vw
X2Nvb2tpZV9qYXJfZ2V0X2FjY2VwdF9wb2xpY3kobV9jb29raWVTdG9yYWdlLmdldCgpKSk7CiAg
ICAgbV9jb29raWVTdG9yYWdlID0gV1RGTW92ZShqYXIpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Rf
c3dhcHBlZChtX2Nvb2tpZVN0b3JhZ2UuZ2V0KCksICJjaGFuZ2VkIiwgR19DQUxMQkFDSyhjb29r
aWVzRGlkQ2hhbmdlKSwgdGhpcyk7CiB9CkBAIC0yNDIsNiArMjQ0LDMzIEBAIHZvaWQgTmV0d29y
a1N0b3JhZ2VTZXNzaW9uOjpzYXZlQ3JlZGVudGlhbFRvUGVyc2lzdGVudFN0b3JhZ2UoY29uc3Qg
UHJvdGVjdGlvblNwCiAjZW5kaWYKIH0KIAordm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNl
dENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKK3sKKyAg
ICBpZiAobV9pc1Jlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkICYmIG1fdGhpcmRQYXJ0eUNv
b2tpZUJsb2NraW5nTW9kZSA9PSBUaGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlOjpBbGwpIHsK
KyAgICAgICAgbV9jb29raWVBY2NlcHRQb2xpY3kgPSBwb2xpY3k7CisgICAgICAgIGlmIChtX2Nv
b2tpZUFjY2VwdFBvbGljeSA9PSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbikKKyAgICAgICAgICAgIHBvbGljeSA9IEhUVFBDb29raWVBY2NlcHRQb2xp
Y3k6OkFsd2F5c0FjY2VwdDsKKyAgICB9CisKKyAgICBTb3VwQ29va2llSmFyQWNjZXB0UG9saWN5
IHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOworICAg
IHN3aXRjaCAocG9saWN5KSB7CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdh
eXNBY2NlcHQ6CisgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX0FM
V0FZUzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpO
ZXZlcjoKKyAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTkVWRVI7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZy
b21NYWluRG9jdW1lbnREb21haW46CisgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9K
QVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAg
IHNvdXBfY29va2llX2phcl9zZXRfYWNjZXB0X3BvbGljeShjb29raWVTdG9yYWdlKCksIHNvdXBQ
b2xpY3kpOworfQorCiBIVFRQQ29va2llQWNjZXB0UG9saWN5IE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6Y29va2llQWNjZXB0UG9saWN5KCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKHNvdXBfY29va2ll
X2phcl9nZXRfYWNjZXB0X3BvbGljeShjb29raWVTdG9yYWdlKCkpKSB7CkBAIC0yNDksMTEgKzI3
OCwyNyBAQCBIVFRQQ29va2llQWNjZXB0UG9saWN5IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6Y29v
a2llQWNjZXB0UG9saWN5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6OkFsd2F5c0FjY2VwdDsKICAgICBjYXNlIFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9f
VEhJUkRfUEFSVFk6CiAgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKLSAgICBkZWZhdWx0OgorICAgIGNhc2UgU09VUF9DT09L
SUVfSkFSX0FDQ0VQVF9ORVZFUjoKICAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3k6Ok5ldmVyOwogICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
CisjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKK3ZvaWQgTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uOjpzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChib29sIGVuYWJsZWQp
Cit7CisgICAgaWYgKGVuYWJsZWQpIHsKKyAgICAgICAgbV9jb29raWVBY2NlcHRQb2xpY3kgPSBj
b29raWVBY2NlcHRQb2xpY3koKTsKKyAgICAgICAgaWYgKG1fdGhpcmRQYXJ0eUNvb2tpZUJsb2Nr
aW5nTW9kZSA9PSBUaGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlOjpBbGwgJiYgbV9jb29raWVB
Y2NlcHRQb2xpY3kgPT0gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1l
bnREb21haW4pCisgICAgICAgICAgICBzZXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFj
Y2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0KTsKKyAgICAgICAgbV9pc1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX2lzUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgc2V0Q29va2llQWNjZXB0UG9s
aWN5KG1fY29va2llQWNjZXB0UG9saWN5KTsKKyAgICB9Cit9CisjZW5kaWYKKwogc3RhdGljIGlu
bGluZSBib29sIGh0dHBPbmx5Q29va2llRXhpc3RzKGNvbnN0IEdTTGlzdCogY29va2llcywgY29u
c3QgZ2NoYXIqIG5hbWUsIGNvbnN0IGdjaGFyKiBwYXRoKQogewogICAgIGZvciAoY29uc3QgR1NM
aXN0KiBpdGVyID0gY29va2llczsgaXRlcjsgaXRlciA9IGdfc2xpc3RfbmV4dChpdGVyKSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBhNjA0ZDU0ODZiYzUuLjMwNzg0ZTA3N2Q1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAyMC0wNi0yOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBDaGFuZ2UgdGhlIGNvb2tpZXMgYWNjZXB0IHBv
bGljeSB3aGVuIElUUCBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTM1MDIKKworICAgICAgICBSZXZpZXdlZCBieSBNaWNoYWVsIENh
dGFuemFyby4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29r
aWVNYW5hZ2VyU291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXI6OnBs
YXRmb3JtU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6IFVzZSBOZXR3b3JrU3RvcmFnZVNlc3Np
b246OnNldENvb2tpZUFjY2VwdFBvbGljeSgpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3Nv
dXAvTmV0d29ya1Nlc3Npb25Tb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Np
b25Tb3VwOjpzZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZSk6IERvIG5vdCBjaGFuZ2UgdGhlIGFj
Y2VwdCBwb2xpY3ksIGl0J3Mgbm93IGRvbmUgYnkKKyAgICAgICAgTmV0d29ya1N0b3JhZ2VTZXNz
aW9uIHdoZW4gdGhlIG5ldyBjb29raWUgamFyIGlzIHNldC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHA6IFVwZGF0ZSBBUEkgZG9jcy4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDogRGl0
dG8uCisKIDIwMjAtMDctMDIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBHVEs0IGJ1aWxkCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2Vy
U291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJD
b29raWVNYW5hZ2VyU291cC5jcHAKaW5kZXggY2JmY2FlZTU2M2ExLi43NTRkMGJiYzZiNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNv
b2tpZU1hbmFnZXJTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nv
b2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKQEAgLTM5LDI0ICszOSw4IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3Jt
U2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkK
IHsKLSAgICBTb3VwQ29va2llSmFyQWNjZXB0UG9saWN5IHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJ
RV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOwotICAgIHN3aXRjaCAocG9saWN5KSB7Ci0gICAg
Y2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ6Ci0gICAgICAgIHNvdXBQ
b2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX0FMV0FZUzsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKLSAgICAgICAgc291cFBvbGlj
eSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTkVWRVI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW46Ci0g
ICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZ
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1
c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIG1fcHJvY2Vzcy5mb3JFYWNoTmV0d29y
a1N0b3JhZ2VTZXNzaW9uKFtzb3VwUG9saWN5XSAoY29uc3QgYXV0byYgc2Vzc2lvbikgewotICAg
ICAgICBzb3VwX2Nvb2tpZV9qYXJfc2V0X2FjY2VwdF9wb2xpY3koc2Vzc2lvbi5jb29raWVTdG9y
YWdlKCksIHNvdXBQb2xpY3kpOworICAgIG1fcHJvY2Vzcy5mb3JFYWNoTmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKFtwb2xpY3ldIChhdXRvJiBzZXNzaW9uKSB7CisgICAgICAgIHNlc3Npb24uc2V0Q29v
a2llQWNjZXB0UG9saWN5KHBvbGljeSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrU2Vzc2lvblNvdXAuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHAKaW5k
ZXggYmQwN2JhYTE5NmViLi45MDYxMzMzNWVmYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrU2Vzc2lvblNvdXAuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrU2Vzc2lvblNvdXAuY3BwCkBAIC04Miwx
MSArODIsNyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uU291cDo6c2V0Q29va2llUGVyc2lzdGVudFN0
b3JhZ2UoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgUwogICAgIGNhc2UgU291cENvb2tpZVBl
cnNpc3RlbnRTdG9yYWdlVHlwZTo6U1FMaXRlOgogICAgICAgICBqYXIgPSBhZG9wdEdSZWYoc291
cF9jb29raWVfamFyX2RiX25ldyhzdG9yYWdlUGF0aC51dGY4KCkuZGF0YSgpLCBGQUxTRSkpOwog
ICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICB9Ci0KLSAgICBzb3VwX2Nvb2tpZV9qYXJfc2V0X2FjY2VwdF9wb2xpY3koamFyLmdl
dCgpLCBzb3VwX2Nvb2tpZV9qYXJfZ2V0X2FjY2VwdF9wb2xpY3koc3RvcmFnZVNlc3Npb24tPmNv
b2tpZVN0b3JhZ2UoKSkpOwogICAgIHN0b3JhZ2VTZXNzaW9uLT5zZXRDb29raWVTdG9yYWdlKFdU
Rk1vdmUoamFyKSk7CiAKICAgICBtX25ldHdvcmtTZXNzaW9uLT5zZXRDb29raWVKYXIoc3RvcmFn
ZVNlc3Npb24tPmNvb2tpZVN0b3JhZ2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwCmluZGV4IDI3ZmJkZTIy
NzE0OC4uNDA1ZTEyZTI2NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcApAQCAtMTg1LDYgKzE4NSwxMCBA
QCB2b2lkIHdlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRfcGVyc2lzdGVudF9zdG9yYWdlKFdlYktp
dENvb2tpZU1hbmFnZXIqIG1hbmFnZXIsCiAgKiBAcG9saWN5OiBhICNXZWJLaXRDb29raWVBY2Nl
cHRQb2xpY3kKICAqCiAgKiBTZXQgdGhlIGNvb2tpZSBhY2NlcHRhbmNlIHBvbGljeSBvZiBAY29v
a2llX21hbmFnZXIgYXMgQHBvbGljeS4KKyAqIE5vdGUgdGhhdCBJVFAgaGFzIGl0cyBvd24gd2F5
IHRvIGhhbmRsZSB0aGlyZC1wYXJ0eSBjb29raWVzLCBzbyB3aGVuIGl0J3MgZW5hYmxlZCwKKyAq
IGFuZCBAcG9saWN5IGlzIHNldCB0byAlV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RI
SVJEX1BBUlRZLCAlV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX0FMV0FZUworICogd2lsbCBi
ZSB1c2VkIGluc3RlYWQuIE9uY2UgZGlzYWJsZWQsIHRoZSBwb2xpY3kgd2lsbCBiZSBzZXQgYmFj
ayB0byAlV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RISVJEX1BBUlRZLgorICogU2Vl
IGFsc28gd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9pdHBfZW5hYmxlZCgpLgogICov
CiB2b2lkIHdlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRfYWNjZXB0X3BvbGljeShXZWJLaXRDb29r
aWVNYW5hZ2VyKiBtYW5hZ2VyLCBXZWJLaXRDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5KQogewpA
QCAtMjAyLDYgKzIwNiw5IEBAIHZvaWQgd2Via2l0X2Nvb2tpZV9tYW5hZ2VyX3NldF9hY2NlcHRf
cG9saWN5KFdlYktpdENvb2tpZU1hbmFnZXIqIG1hbmFnZXIsIFdlYktpCiAgKiBAdXNlcl9kYXRh
OiAoY2xvc3VyZSk6IHRoZSBkYXRhIHRvIHBhc3MgdG8gY2FsbGJhY2sgZnVuY3Rpb24KICAqCiAg
KiBBc3luY2hyb25vdXNseSBnZXQgdGhlIGNvb2tpZSBhY2NlcHRhbmNlIHBvbGljeSBvZiBAY29v
a2llX21hbmFnZXIuCisgKiBOb3RlIHRoYXQgd2hlbiBwb2xpY3kgd2FzIHNldCB0byAlV0VCS0lU
X0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RISVJEX1BBUlRZIGFuZAorICogSVRQIGlzIGVuYWJs
ZWQsIHRoaXMgd2lsbCByZXR1cm4gJVdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVMu
CisgKiBTZWUgYWxzbyB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVk
KCkuCiAgKgogICogV2hlbiB0aGUgb3BlcmF0aW9uIGlzIGZpbmlzaGVkLCBAY2FsbGJhY2sgd2ls
bCBiZSBjYWxsZWQuIFlvdSBjYW4gdGhlbiBjYWxsCiAgKiB3ZWJraXRfY29va2llX21hbmFnZXJf
Z2V0X2FjY2VwdF9wb2xpY3lfZmluaXNoKCkgdG8gZ2V0IHRoZSByZXN1bHQgb2YgdGhlIG9wZXJh
dGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYnNpdGVEYXRhTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCmluZGV4IGExYjY4ZjNhMDZhMS4uMjIzMTA2
NjBhOTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKQEAgLTg0MSw4ICs4NDEsOCBAQCBX
ZWJLaXRDb29raWVNYW5hZ2VyKiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Nvb2tp
ZV9tYW5hZ2VyKFdlYktpdFdlYnNpdAogICoKICAqIEVuYWJsZSBvciBkaXNhYmxlIEludGVsbGln
ZW50IFRyYWNraW5nIFByZXZlbnRpb24gKElUUCkuIFdoZW4gSVRQIGlzIGVuYWJsZWQgcmVzb3Vy
Y2UgbG9hZCBzdGF0aXN0aWNzCiAgKiBhcmUgY29sbGVjdGVkIGFuZCB1c2VkIHRvIGRlY2lkZSB3
aGV0aGVyIHRvIGFsbG93IG9yIGJsb2NrIHRoaXJkLXBhcnR5IGNvb2tpZXMgYW5kIHByZXZlbnQg
dXNlciB0cmFja2luZy4KLSAqIE5vdGUgdGhhdCB3aGVuIElUUCBpcyBlbmFibGVkIHRoZSByZXNv
dXJjZXMgZm9yIHdoaWNoIGNvb2tpZXMgYXJlIGFsbG93ZWQgd2lsbCBmb2xsb3cgdGhlIGFjY2Vw
dCBwb2xpY3kKLSAqIHNldCB3aXRoIHdlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRfYWNjZXB0X3Bv
bGljeSgpLgorICogTm90ZSB0aGF0IHdoaWxlIElUUCBpcyBlbmFibGVkIHRoZSBhY2NlcHQgcG9s
aWN5ICVXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTk9fVEhJUkRfUEFSVFkgaXMgaWdub3Jl
ZCBhbmQKKyAqICVXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTIGlzIHVzZWQgaW5z
dGVhZC4gU2VlIGFsc28gd2Via2l0X2Nvb2tpZV9tYW5hZ2VyX3NldF9hY2NlcHRfcG9saWN5KCku
CiAgKgogICogU2luY2U6IDIuMzAKICAqLwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDIxNzRjMThiNTYxMy4uYTE2ZjMzMTY2YjRhIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjAtMDYtMjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdW1dQRV0gQ2hhbmdlIHRoZSBjb29raWVzIGFjY2VwdCBwb2xpY3kg
d2hlbiBJVFAgaXMgZW5hYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzNTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFlbCBDYXRhbnph
cm8uCisKKyAgICAgICAgQWRkIHRlc3RzIHRvIGNoZWNrIHRoZSBwb2xpY3kgaXMgY2hhbmdlZCBh
bmQgcmVzdG9yZWQgY29ycmVjdGx5IHdoZW4gSVRQIGlzIGVuYWJsZWQgYW5kIGRpc2FibGVkLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RDb29raWVNYW5h
Z2VyLmNwcDoKKyAgICAgICAgKHRlc3RDb29raWVNYW5hZ2VyQWNjZXB0UG9saWN5KToKKwogMjAy
MC0wNy0wMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gRml4IEdUSzQgYnVpbGQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0Q29va2llTWFuYWdlci5jcHAgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tpZU1hbmFnZXIuY3BwCmluZGV4
IDVhYTkzYjVlYzcyMi4uNzk4OWEzOTIyYTRlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdENvb2tpZU1hbmFnZXIuY3BwCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0Q29va2llTWFuYWdlci5jcHAKQEAgLTI3
NSw2ICsyNzUsMjYgQEAgc3RhdGljIHZvaWQgdGVzdENvb2tpZU1hbmFnZXJBY2NlcHRQb2xpY3ko
Q29va2llTWFuYWdlclRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIKICAgICBkb21haW5zID0gdGVz
dC0+Z2V0RG9tYWlucygpOwogICAgIGdfYXNzZXJ0X25vbm51bGwoZG9tYWlucyk7CiAgICAgZ19h
c3NlcnRfY21waW50KGdfc3Rydl9sZW5ndGgoZG9tYWlucyksID09LCAwKTsKKworICAgIC8vIElU
UCBuZXZlciB1c2VzIE5PX1RISVJEX1BBUlRZLgorICAgIGF1dG8qIG1hbmFnZXIgPSB3ZWJraXRf
d2ViX2NvbnRleHRfZ2V0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyKHRlc3QtPm1fd2ViQ29udGV4dC5n
ZXQoKSk7CisgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9pdHBfZW5hYmxlZCht
YW5hZ2VyLCBUUlVFKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5
KCksID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTkVWRVIpOworICAgIHRlc3QtPnNl
dEFjY2VwdFBvbGljeShXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTk9fVEhJUkRfUEFSVFkp
OworICAgIGdfYXNzZXJ0X2NtcGludCh0ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0sIFdFQktJ
VF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVMpOworICAgIHdlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9zZXRfaXRwX2VuYWJsZWQobWFuYWdlciwgRkFMU0UpOworICAgIGdfYXNzZXJ0X2Nt
cGludCh0ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0sIFdFQktJVF9DT09LSUVfUE9MSUNZX0FD
Q0VQVF9OT19USElSRF9QQVJUWSk7CisgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3Nl
dF9pdHBfZW5hYmxlZChtYW5hZ2VyLCBUUlVFKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+
Z2V0QWNjZXB0UG9saWN5KCksID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlT
KTsKKyAgICB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVkKG1hbmFn
ZXIsIEZBTFNFKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQodGVzdC0+Z2V0QWNjZXB0UG9saWN5KCks
ID09LCBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTk9fVEhJUkRfUEFSVFkpOworICAgIHRl
c3QtPnNldEFjY2VwdFBvbGljeShXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTKTsK
KyAgICB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X2l0cF9lbmFibGVkKG1hbmFnZXIs
IFRSVUUpOworICAgIGdfYXNzZXJ0X2NtcGludCh0ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0s
IFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVMpOworICAgIHRlc3QtPnNldEFjY2Vw
dFBvbGljeShXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTkVWRVIpOworICAgIGdfYXNzZXJ0
X2NtcGludCh0ZXN0LT5nZXRBY2NlcHRQb2xpY3koKSwgPT0sIFdFQktJVF9DT09LSUVfUE9MSUNZ
X0FDQ0VQVF9ORVZFUik7CisgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9pdHBf
ZW5hYmxlZChtYW5hZ2VyLCBGQUxTRSk7CisgICAgZ19hc3NlcnRfY21waW50KHRlc3QtPmdldEFj
Y2VwdFBvbGljeSgpLCA9PSwgV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05FVkVSKTsKIH0K
IAogc3RhdGljIHZvaWQgdGVzdENvb2tpZU1hbmFnZXJBZGRDb29raWUoQ29va2llTWFuYWdlclRl
c3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403489</attachid>
            <date>2020-07-03 14:06:40 -0700</date>
            <delta_ts>2020-07-03 14:06:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213502-20200703160640.patch</filename>
            <type>text/plain</type>
            <size>3891</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNjU5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjM3YzlkODdlZjQ4ODcwMDQzNzk0MGRkMjc5MzI5Y2E2
ODZhOTU2Zi4uNTc1MjViZDE3YjY4MjUzMjNiNDk4MTFmNDU5YjE4ODgxODM0MTk1ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDIwLTA3LTAzICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AZ25vbWUub3Jn
PgorCisgICAgICAgIFRlc3Q6IHNlZSBpZiB0aGlzIHBhdGNoIGJyZWFrcyBzb21lIHRlc3RzIG9u
IE1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEz
NTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSnVz
dCB0byBzZWUgd2hhdCB3aWxsIGhhcHBlbi4gRG9lcyB0aGlzIHBhdGNoIHdpbGwgYnJlYWsgdGhl
IGZvbGxvd2luZyB0ZXN0cyBvbiBNYWM/CisKKyAgICAgICAgaHR0cC90ZXN0cy9zdG9yYWdlQWNj
ZXNzL3JlcXVlc3QtYW5kLWdyYW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hv
dWxkLW5vdC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1sIFsgRmFpbHVyZSBdCisgICAgICAgIGh0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZp
Z2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MuaHRtbCBbIEZhaWx1cmUgXQor
ICAgICAgICBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtYWNjZXNz
LXRoZW4tbmF2aWdhdGUtc2FtZS1zaXRlLXNob3VsZC1oYXZlLWFjY2Vzcy1kYXRhYmFzZS5odG1s
IFsgRmFpbHVyZSBdCisgICAgICAgIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1zYW1lLXNpdGUtc2hvdWxkLWhhdmUtYWNjZXNz
Lmh0bWwgWyBGYWlsdXJlIF0KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZGlkUmVjZWl2ZVN5bmNo
cm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpp
bnZva2UpOgorCiAyMDIwLTA2LTI5ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW3dlYmtpdHB5XSBQSFA3LjQgc3VwcG9ydCBvbiBEZWJp
YW4gcGxhdGZvcm1zCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmlu
ZGV4IGQ3N2M0MTMyNDllY2NiYjk1OGJiNDY2Y2Y1YzJkNzk5YWU2YmYyMDUuLjJkZDE4NTA0YjEw
YTU2Y2RmY2ExYTQxOWJkZTQ2NTI2MjZjNDc4NDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0yMjU5LDEzICsyMjU5LDEzIEBAIHZvaWQgVGVzdENvbnRy
b2xsZXI6OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUoV0tT
dHJpbmdSZWYKIAogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiU2V0QWx3YXlzQWNjZXB0Q29va2llcyIpKSB7CiAgICAgICAgIFdLQm9vbGVhblJlZiBh
Y2NlcHQgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsKLSAgICAgICAg
V0tIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSA9IFdLQm9vbGVhbkdldFZhbHVlKGFjY2Vw
dCkgPyBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzIDoga1dLSFRUUENvb2tpZUFjY2Vw
dFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgICAgICBXS0hUVFBDb29raWVB
Y2NlcHRQb2xpY3kgcG9saWN5ID0gV0tCb29sZWFuR2V0VmFsdWUoYWNjZXB0KSA/IGtXS0hUVFBD
b29raWVBY2NlcHRQb2xpY3lBbHdheXMgOiBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgICAgICByZXR1cm4gc2V0SFRUUENvb2tp
ZUFjY2VwdFBvbGljeShwb2xpY3ksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICB9
CiAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNl
dE9ubHlBY2NlcHRGaXJzdFBhcnR5Q29va2llcyIpKSB7CiAgICAgICAgIFdLQm9vbGVhblJlZiBh
Y2NlcHQgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsKLSAgICAgICAg
V0tIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSA9IFdLQm9vbGVhbkdldFZhbHVlKGFjY2Vw
dCkgPyBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluIDoga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOworICAgICAgICBXS0hUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5ID0gV0tCb29sZWFu
R2V0VmFsdWUoYWNjZXB0KSA/IGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZy
b21NYWluRG9jdW1lbnREb21haW4gOiBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZl
bHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgICAgICByZXR1cm4gc2V0SFRUUENvb2tpZUFj
Y2VwdFBvbGljeShwb2xpY3ksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggMzAxNjEwN2Yx
OTJhZjZlMzExMjJjMjQ5ZGIzZWU1N2YzNGExZTA5Zi4uNWU5ZTA0YzcwMTgxM2QxNTA3MDI1OWY4
MTVhYzNmNTBhZDRlMDRiMyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAKQEAgLTE2NCw3ICsxNjQsNyBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQog
CiAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFNob3VsZExvZ0hpc3RvcnlDbGll
bnRDYWxsYmFja3Moc2hvdWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrcygpKTsKIAotICAgIFdL
SFRUUENvb2tpZVN0b3JlU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShXS1dlYnNpdGVEYXRhU3Rv
cmVHZXRIVFRQQ29va2llU3RvcmUoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLndlYnNpdGVE
YXRhU3RvcmUoKSksIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbiwgbnVsbHB0ciwgbnVsbHB0cik7CisgICAgV0tIVFRQQ29va2llU3RvcmVTZXRIVFRQ
Q29va2llQWNjZXB0UG9saWN5KFdLV2Vic2l0ZURhdGFTdG9yZUdldEhUVFBDb29raWVTdG9yZShU
ZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkud2Vic2l0ZURhdGFTdG9yZSgpKSwga1dLSFRUUENv
b2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiwgbnVsbHB0
ciwgbnVsbHB0cik7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNsZWFyIG91dCB2aXNpdGVk
IGxpbmtzIGhlcmUuCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>