<?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>208461</bug_id>
          
          <creation_ts>2020-03-02 12:11:10 -0800</creation_ts>
          <short_desc>Add flag to indicate that ITP state was explicitly set</short_desc>
          <delta_ts>2020-03-02 19:11:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>aestes</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624659</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 12:11:10 -0800</bug_when>
    <thetext>Test code sets ITP state explicitly through Internals SPI calls. Revise the ITP logic to recognize this condition by threading this state through the UIProcess and NetworkProcess so that we have less chance of getting confused about state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624672</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 12:35:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/59960829&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624674</commentid>
    <comment_count>2</comment_count>
      <attachid>392172</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 12:39:08 -0800</bug_when>
    <thetext>Created attachment 392172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624708</commentid>
    <comment_count>3</comment_count>
      <attachid>392172</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-03-02 13:18:29 -0800</bug_when>
    <thetext>Comment on attachment 392172
Patch

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

r=me with comments and fixes for the non-Cocoa builds.

&gt; Source/WebKit/ChangeLog:10
&gt; +        This patch takes the first step by adding a flag to the NetworkSessionCreationParameters

I try to always provide the namespace when reasoning about classes in text, in this case WebKit::NetworkSessionCreationParameters.

&gt; Source/WebKit/ChangeLog:14
&gt; +        Subsequent patches will enable ITP in Ephmeral sessions, allowing us to decouple

Landed in https://trac.webkit.org/changeset/257726.

&gt; Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp:183
&gt; +    Optional&lt;bool&gt; itpStateWasExplicitlySet;

Since it&apos;s a boolean, I think we should go with present tense and lead with it, like isITPStateExplicitlySet.

&gt; Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h:85
&gt; +    bool itpStateWasExplicitlySet { false };

Ditto.

&gt; Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:443
&gt; +;; Needed for TCC

Missing period.

&gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:678
&gt; +;; Needed for TCC

Ditto.

&gt; Source/WebKit/Scripts/process-entitlements.sh:48
&gt; +        if (( &quot;${TARGET_MAC_OS_X_VERSION_MAJOR}&quot; &gt;= 101600 ))

I assume nothing similar is needed for other platforms.

&gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:165
&gt; +        itpStateWasExplicitlySet(),

isITPStateExplicitlySet()

&gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:198
&gt; +    bool itpStateWasExplicitlySet() const { return m_itpStateWasExplicitlySet; }

isITPStateExplicitlySet()

&gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:341
&gt; +    bool m_itpStateWasExplicitlySet { false };

m_isITPStateExplicitlySet

Since we&apos;re capturing something explicit, is there a possible enum here? Like { implicitlyOff, implicitlyOn, explicitlyOff, explicitlyOn } ? I&apos;m thinking if there&apos;s a way to capture the ITP on/off and explicitlySet Yes/No in one, self-documenting flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624773</commentid>
    <comment_count>4</comment_count>
      <attachid>392172</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-03-02 15:00:03 -0800</bug_when>
    <thetext>Comment on attachment 392172
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        We would like to move to a more global concept of ITP being on or off.

Global in what sense? Why is this desirable?

&gt; Source/WebKit/ChangeLog:15
&gt; +        Subsequent patches will enable ITP in Ephmeral sessions, allowing us to decouple
&gt; +        the ITP state from the WebsiteDataStore.

Why is this desirable? As ITP state is website data, it seems like coupling it with WebsiteDataStore is the right design.

&gt; Source/WebKit/ChangeLog:18
&gt; +        This patch also lays some groundwork for communicating with TCC for the purpose of
&gt; +        checking if ITP is on or off, though it does not actually use this knowledge yet.

This seems unrelated to the change indicated in the title, and should be done in a different patch.

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:1165
&gt; +    if (!parameters.itpStateWasExplicitlySet)
&gt; +        activateSessionCleanup(*this);

I think this deserves a comment explaining why cleanup doesn&apos;t happen when this flag is set. 

That said, how is this call to activateSessionCleanup() being tested now that it&apos;s not being called when itpStateWasExplicitlySet is called?

&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:72
&gt; +    websiteDataStore-&gt;useExplicitITPState();

From the name, it seems like &quot;useExplicitITPState&quot; would come along with some explicit state being used. But instead, it seems to be indicating that ITP is enabled. I think the terminology needs to be clearer here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624809</commentid>
    <comment_count>5</comment_count>
      <attachid>392172</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 16:06:16 -0800</bug_when>
    <thetext>Comment on attachment 392172
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:9
&gt;&gt; +        We would like to move to a more global concept of ITP being on or off.
&gt; 
&gt; Global in what sense? Why is this desirable?

We no longer want a model where ITP is on for some WKWebViews, but not others. It no longer necessary to track this on a WebsiteDataStore level since this setting should be honored across all web views in the process.

&gt;&gt; Source/WebKit/ChangeLog:10
&gt;&gt; +        This patch takes the first step by adding a flag to the NetworkSessionCreationParameters
&gt; 
&gt; I try to always provide the namespace when reasoning about classes in text, in this case WebKit::NetworkSessionCreationParameters.

Will do!

&gt;&gt; Source/WebKit/ChangeLog:14
&gt;&gt; +        Subsequent patches will enable ITP in Ephmeral sessions, allowing us to decouple
&gt; 
&gt; Landed in https://trac.webkit.org/changeset/257726.

Oh, great!

&gt;&gt; Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp:183
&gt;&gt; +    Optional&lt;bool&gt; itpStateWasExplicitlySet;
&gt; 
&gt; Since it&apos;s a boolean, I think we should go with present tense and lead with it, like isITPStateExplicitlySet.

Will do.

&gt;&gt; Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:443
&gt;&gt; +;; Needed for TCC
&gt; 
&gt; Missing period.

Will do.

&gt;&gt; Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:678
&gt;&gt; +;; Needed for TCC
&gt; 
&gt; Ditto.

Will do.

&gt;&gt; Source/WebKit/Scripts/process-entitlements.sh:48
&gt;&gt; +        if (( &quot;${TARGET_MAC_OS_X_VERSION_MAJOR}&quot; &gt;= 101600 ))
&gt; 
&gt; I assume nothing similar is needed for other platforms.

Correct. They don&apos;t build down-level versions, so we don&apos;t need this check.

&gt;&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:72
&gt;&gt; +    websiteDataStore-&gt;useExplicitITPState();
&gt; 
&gt; From the name, it seems like &quot;useExplicitITPState&quot; would come along with some explicit state being used. But instead, it seems to be indicating that ITP is enabled. I think the terminology needs to be clearer here.

ITP could be enabled or disabled through this call. This flag notes that WebsiteDataStore&apos;s ITP value is the result of an explicit SPI call being made.

&gt;&gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:165
&gt;&gt; +        itpStateWasExplicitlySet(),
&gt; 
&gt; isITPStateExplicitlySet()

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624825</commentid>
    <comment_count>6</comment_count>
      <attachid>392213</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 16:43:35 -0800</bug_when>
    <thetext>Created attachment 392213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624851</commentid>
    <comment_count>7</comment_count>
      <attachid>392227</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 17:15:47 -0800</bug_when>
    <thetext>Created attachment 392227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624860</commentid>
    <comment_count>8</comment_count>
      <attachid>392227</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-03-02 17:26:39 -0800</bug_when>
    <thetext>Comment on attachment 392227
Patch

LGTM. Leaving the cq? in wait for a green light on the wpe and api-gtk bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624862</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-02 17:30:18 -0800</bug_when>
    <thetext>(In reply to John Wilander from comment #8)
&gt; Comment on attachment 392227 [details]
&gt; Patch
&gt; 
&gt; LGTM. Leaving the cq? in wait for a green light on the wpe and api-gtk bots.

wpe is now green.... just waiting for api-gtk now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624896</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-02 18:42:02 -0800</bug_when>
    <thetext>I believe the absence of this patch is breaking the internal Apple bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624912</commentid>
    <comment_count>11</comment_count>
      <attachid>392227</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 19:11:11 -0800</bug_when>
    <thetext>Comment on attachment 392227
Patch

Clearing flags on attachment: 392227

Committed r257758: &lt;https://trac.webkit.org/changeset/257758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624913</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 19:11:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392172</attachid>
            <date>2020-03-02 12:39:08 -0800</date>
            <delta_ts>2020-03-02 16:43:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208461-20200302123908.patch</filename>
            <type>text/plain</type>
            <size>20308</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyZDA3NmY5ZWQwNjFlNGNi
ZWE0NzUwNDZhOWQyZTQyMmU0MDcwZTQuLmMyMDhkZDQ2ODA4YmJmOWUzNWFlOWNiYzU1ZjI3MDIw
MjRmYmMyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjAtMDMtMDIgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZsYWcgdG8gaW5kaWNh
dGUgdGhhdCBJVFAgc3RhdGUgd2FzIGV4cGxpY2l0bHkgc2V0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzU5OTYwODI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlIHdvdWxkIGxpa2UgdG8gbW92ZSB0byBhIG1vcmUgZ2xvYmFsIGNvbmNlcHQgb2Yg
SVRQIGJlaW5nIG9uIG9yIG9mZi4KKyAgICAgICAgVGhpcyBwYXRjaCB0YWtlcyB0aGUgZmlyc3Qg
c3RlcCBieSBhZGRpbmcgYSBmbGFnIHRvIHRoZSBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1l
dGVycworICAgICAgICBzdHJ1Y3R1cmUgdGhhdCB0cmFja3Mgd2hldGhlciB0aGUgc3RhdGUgb2Yg
SVRQIChPbiBvciBPZmYpIHdhcyBleHBsaWNpdGx5IHNldCBieQorICAgICAgICBTUEkgKHByaW1h
cmlseSBkdXJpbmcgdGVzdGluZykuCisKKyAgICAgICAgU3Vic2VxdWVudCBwYXRjaGVzIHdpbGwg
ZW5hYmxlIElUUCBpbiBFcGhtZXJhbCBzZXNzaW9ucywgYWxsb3dpbmcgdXMgdG8gZGVjb3VwbGUK
KyAgICAgICAgdGhlIElUUCBzdGF0ZSBmcm9tIHRoZSBXZWJzaXRlRGF0YVN0b3JlLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWxzbyBsYXlzIHNvbWUgZ3JvdW5kd29yayBmb3IgY29tbXVuaWNhdGlu
ZyB3aXRoIFRDQyBmb3IgdGhlIHB1cnBvc2Ugb2YKKyAgICAgICAgY2hlY2tpbmcgaWYgSVRQIGlz
IG9uIG9yIG9mZiwgdGhvdWdoIGl0IGRvZXMgbm90IGFjdHVhbGx5IHVzZSB0aGlzIGtub3dsZWRn
ZSB5ZXQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9u
UGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ3JlYXRpb25Q
YXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluOgorICAgICAg
ICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a2luZy5zYjoKKyAgICAgICAgKiBTY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwOgorICAgICAg
ICAoV0tXZWJzaXRlRGF0YVN0b3JlU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tOgorICAg
ICAgICAoLVtXS1dlYnNpdGVEYXRhU3RvcmUgX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WZXJzaW9uQ2hlY2tzLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OmVuc3VyZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRl
RGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnBh
cmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6c2V0SXNSdW5uaW5n
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmU6Oml0cFN0YXRlV2FzRXhwbGljaXRseVNldCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YnNpdGVEYXRhU3RvcmU6OnVzZUV4cGxpY2l0SVRQU3RhdGUpOgorCiAyMDIwLTAzLTAyICBQZXIg
QXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBEZW55IG1h
Y2ggbG9va3VwIGFjY2VzcyB0byBkaXN0cmlidXRlZCBub3RpZmljYXRpb25zIGluIHRoZSBXZWJD
b250ZW50IHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggYTAz
NDZkMDczMzYyMjA3ZjBlNjlmODNiMDdmNzQzMjc4YTdkYWExZC4uODJlZTUxNGI1ZWVlZTkyYmIw
NWE2Y2IzMGJjZTEzZjk5YTljYmUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNjMsNiArNjMsNyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpl
bmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeTsKICAgICBlbmNvZGVyIDw8IHJlc291cmNlTG9hZFN0
YXRpc3RpY3NEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBlbmFibGVS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzOworICAgIGVuY29kZXIgPDwgaXRwU3RhdGVXYXNFeHBsaWNp
dGx5U2V0OwogICAgIGVuY29kZXIgPDwgZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0xvZ1Rl
c3RpbmdFdmVudDsKICAgICBlbmNvZGVyIDw8IHNob3VsZEluY2x1ZGVMb2NhbGhvc3RJblJlc291
cmNlTG9hZFN0YXRpc3RpY3M7CiAgICAgZW5jb2RlciA8PCBlbmFibGVSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGVidWdNb2RlOwpAQCAtMTc5LDYgKzE4MCwxMSBAQCBPcHRpb25hbDxOZXR3b3JrU2Vz
c2lvbkNyZWF0aW9uUGFyYW1ldGVycz4gTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6
OmRlYwogICAgIGlmICghZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljcykKICAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKIAorICAgIE9wdGlvbmFsPGJvb2w+IGl0cFN0YXRlV2FzRXhwbGlj
aXRseVNldDsKKyAgICBkZWNvZGVyID4+IGl0cFN0YXRlV2FzRXhwbGljaXRseVNldDsKKyAgICBp
ZiAoIWl0cFN0YXRlV2FzRXhwbGljaXRseVNldCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKwogICAgIE9wdGlvbmFsPGJvb2w+IGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NMb2dU
ZXN0aW5nRXZlbnQ7CiAgICAgZGVjb2RlciA+PiBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
TG9nVGVzdGluZ0V2ZW50OwogICAgIGlmICghZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0xv
Z1Rlc3RpbmdFdmVudCkKQEAgLTMwMCw2ICszMDYsNyBAQCBPcHRpb25hbDxOZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVycz4gTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRl
YwogICAgICAgICAsIFdURk1vdmUoKnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkpCiAg
ICAgICAgICwgV1RGTW92ZSgqcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSkKICAgICAgICAgLCBXVEZNb3ZlKCplbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
KQorICAgICAgICAsIFdURk1vdmUoKml0cFN0YXRlV2FzRXhwbGljaXRseVNldCkKICAgICAgICAg
LCBXVEZNb3ZlKCplbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50KQog
ICAgICAgICAsIFdURk1vdmUoKnNob3VsZEluY2x1ZGVMb2NhbGhvc3RJblJlc291cmNlTG9hZFN0
YXRpc3RpY3MpCiAgICAgICAgICwgV1RGTW92ZSgqZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0RlYnVnTW9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBlOGU2ZTE5OGRk
OTczNmYzODMyNzQxZDFlOTFmNGI1YzZhNGQ5MWEzLi5kYTgxMDMzZGUzZjc4NWUwMjJlNjViODBi
MTlhNzQzNGVjZWYzMjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC04Miw2
ICs4Miw3IEBAIHN0cnVjdCBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAg
U3RyaW5nIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rvcnk7CiAgICAgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnlFeHRlbnNpb25IYW5k
bGU7CiAgICAgYm9vbCBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIHsgZmFsc2UgfTsKKyAg
ICBib29sIGl0cFN0YXRlV2FzRXhwbGljaXRseVNldCB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFi
bGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50IHsgZmFsc2UgfTsKICAgICBi
b29sIHNob3VsZEluY2x1ZGVMb2NhbGhvc3RJblJlc291cmNlTG9hZFN0YXRpc3RpY3MgeyB0cnVl
IH07CiAgICAgYm9vbCBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlIHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCA5MjQyOWRlZTNiZWY0OWNjOTExMGY5ZGNhYWNl
N2Y0OTBkMjM2YzRjLi4yZmU4NjhjNjFlZmJmODYwZmU1NTRiOWZlMzcyZjNlZjg0ZmNiZmRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC0xMTYxLDcgKzExNjEsOCBAQCBOZXR3b3JrU2Vzc2lvbkNv
Y29hOjpOZXR3b3JrU2Vzc2lvbkNvY29hKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2Vzcywg
TmV0d29yawogI2VuZGlmCiAKICNpZiBIQVZFKFNFU1NJT05fQ0xFQU5VUCkKLSAgICBhY3RpdmF0
ZVNlc3Npb25DbGVhbnVwKCp0aGlzKTsKKyAgICBpZiAoIXBhcmFtZXRlcnMuaXRwU3RhdGVXYXNF
eHBsaWNpdGx5U2V0KQorICAgICAgICBhY3RpdmF0ZVNlc3Npb25DbGVhbnVwKCp0aGlzKTsKICNl
bmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9j
b20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgppbmRl
eCA1N2U0YThiOTgzMDZmY2ZkMTI5M2Q5YzUzMzIyNGE2N2IxZjFjZWU3Li41MThiZGIzN2JlZmZl
OWQwMDU1ODk4NjhmMzFlNmZiZjFhMTIzNmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0
d29ya1Byb2Nlc3Muc2IuaW4KQEAgLTQ0MCwzICs0NDAsNiBAQAogKGFsbG93IG1hY2gtbG9va3Vw
CiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuUHJvZ3Jlc3NSZXBvcnRpbmciKSkKIAorOzsg
TmVlZGVkIGZvciBUQ0MKKyhhbGxvdyBtYWNoLWxvb2t1cAorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLnRjY2QiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRi
b3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnNiIGIvU291cmNlL1dl
YktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdv
cmtpbmcuc2IKaW5kZXggYmQyMjZlMmRjODI4ZmE5NjVhZjcwNDIwY2E2NmViMmE0YzQ2YjJkNy4u
ODY4MDNjMThhY2JjYTZkYmVjNzAxMmZhZGZhMDY4ODNlOWFmODlkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtpbmcuc2IKKysrIGIvU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2IKQEAgLTY3NCwzICs2NzQsNyBA
QAogICAgICh3ZWxsLWtub3duLXN5c3RlbS1ncm91cC1jb250YWluZXItbGl0ZXJhbCAiL3N5c3Rl
bWdyb3VwLmNvbS5hcHBsZS5tb2JpbGVnZXN0YWx0Y2FjaGUvTGlicmFyeS9DYWNoZXMvY29tLmFw
cGxlLk1vYmlsZUdlc3RhbHQucGxpc3QiKSkKIChhbGxvdyBpb2tpdC1nZXQtcHJvcGVydGllcwog
ICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9SZWdpc3RyeUVudHJ5UHJvcGVydHlLZXlzIikpCisKKzs7
IE5lZWRlZCBmb3IgVENDCisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS50Y2NkIikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vz
cy1lbnRpdGxlbWVudHMuc2ggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxl
bWVudHMuc2gKaW5kZXggYjJhMjI4YWUwOTEyYzUyMzg1NjU4ZjU3YzgzNzg5OGQ4MjkwZGE0Ni4u
MWZjNWJkOTE5N2JiNjBjMGIzZDVlODViZjM0YThmMmVhNzBjMmIwNCAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaApAQCAtNDUsNiArNDUsMTIgQEAg
ZnVuY3Rpb24gbWFjX3Byb2Nlc3NfbmV0d29ya19lbnRpdGxlbWVudHMoKQogICAgICAgICAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm5ldHdvcmsuc29ja2V0LWRlbGVnYXRl
IGJvb2wgWUVTCiAgICAgICAgIGZpCiAKKyAgICAgICAgaWYgKCggIiR7VEFSR0VUX01BQ19PU19Y
X1ZFUlNJT05fTUFKT1J9IiA+PSAxMDE2MDAgKSkKKyAgICAgICAgdGhlbgorICAgICAgICAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1
ZGl0LXRva2VuIGFycmF5CisgICAgICAgICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnBy
aXZhdGUudGNjLm1hbmFnZXIuY2hlY2stYnktYXVkaXQtdG9rZW46MCBzdHJpbmcga1RDQ1NlcnZp
Y2VXZWJLaXRJbnRlbGxpZ2VudFRyYWNraW5nUHJldmVudGlvbgorICAgICAgICBmaQorCiAgICAg
ICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucm9vdGxlc3Muc3RvcmFnZS5XZWJLaXROZXR3
b3JraW5nU2FuZGJveCBib29sIFlFUwogICAgIGZpCiB9CkBAIC0xMDEsNiArMTA3LDkgQEAgZnVu
Y3Rpb24gbWFjY2F0YWx5c3RfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cygpCiB7CiAgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm5ldHdvcmsuc29ja2V0LWRlbGVnYXRl
IGJvb2wgWUVTCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5zZWN1cml0eS5uZXR3b3Jr
LmNsaWVudCBib29sIFlFUworCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRl
LnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1ZGl0LXRva2VuIGFycmF5CisgICAgcGxpc3RidWRkeSBB
ZGQgOmNvbS5hcHBsZS5wcml2YXRlLnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1ZGl0LXRva2VuOjAg
c3RyaW5nIGtUQ0NTZXJ2aWNlV2ViS2l0SW50ZWxsaWdlbnRUcmFja2luZ1ByZXZlbnRpb24KIH0K
IAogZnVuY3Rpb24gbWFjY2F0YWx5c3RfcHJvY2Vzc19wbHVnaW5fZW50aXRsZW1lbnRzKCkKQEAg
LTE2OCw2ICsxNzcsOSBAQCBmdW5jdGlvbiBpb3NfZmFtaWx5X3Byb2Nlc3NfbmV0d29ya19lbnRp
dGxlbWVudHMoKQogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5tZW1vcnlz
dGF0dXMgYm9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0
d29yay5zb2NrZXQtZGVsZWdhdGUgYm9vbCBZRVMKIAorICAgIHBsaXN0YnVkZHkgQWRkIDpjb20u
YXBwbGUucHJpdmF0ZS50Y2MubWFuYWdlci5jaGVjay1ieS1hdWRpdC10b2tlbiBhcnJheQorICAg
IHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS50Y2MubWFuYWdlci5jaGVjay1ieS1h
dWRpdC10b2tlbjowIHN0cmluZyBrVENDU2VydmljZVdlYktpdEludGVsbGlnZW50VHJhY2tpbmdQ
cmV2ZW50aW9uCisKICAgICBwbGlzdGJ1ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXMgYXJyYXkK
ICAgICBwbGlzdGJ1ZGR5IEFkZCA6c2VhdGJlbHQtcHJvZmlsZXM6MCBzdHJpbmcgY29tLmFwcGxl
LldlYktpdC5OZXR3b3JraW5nCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCA0ZTA0M2MwMDU1ODhiZjc4
NjBjMjc0ZjNjZDk4ZmU3OGZjZjc0NjhkLi5iYzFiZmIxNjE5NzM0MzcxYjlhZmRkNzMxYjA3Mzgw
NDE2MTIwMTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTY4LDcgKzY4LDkgQEAgV0tXZWJzaXRlRGF0
YVN0b3JlUmVmIFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZVdpdGhDb25maWd1cmF0aW9uKFdLV2Vi
c2l0ZURhdGFTdG8KIAogdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIGVu
YWJsZSkKIHsKLSAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOworICAgIGF1dG8qIHdlYnNpdGVEYXRhU3RvcmUg
PSBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpOworICAgIHdlYnNpdGVEYXRhU3RvcmUtPnVz
ZUV4cGxpY2l0SVRQU3RhdGUoKTsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlLT5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwogfQogCiBib29sIFdLV2Vic2l0ZURhdGFTdG9y
ZUdldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBk
YXRhU3RvcmVSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQppbmRleCA4ZWQxZDFiMzljOGQ5YzQyOWYyODgzMDc4
ZGE3ZmZlNjNkMWI4NzAzLi5iZjNhMDk4NTNjOGU1YTVkNDkzNGQyOGZiNjY2OWY0OTZmNjIwMzdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRl
RGF0YVN0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YnNpdGVEYXRhU3RvcmUubW0KQEAgLTI3OCw2ICsyNzgsNyBAQCBzdGF0aWMgVmVjdG9yPFdlYktp
dDo6V2Vic2l0ZURhdGFSZWNvcmQ+IHRvV2Vic2l0ZURhdGFSZWNvcmRzKE5TQXJyYXkgKmRhdGFS
ZWNvcgogCiAtICh2b2lkKV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDooQk9PTCll
bmFibGVkCiB7CisgICAgX3dlYnNpdGVEYXRhU3RvcmUtPnVzZUV4cGxpY2l0SVRQU3RhdGUoKTsK
ICAgICBfd2Vic2l0ZURhdGFTdG9yZS0+c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
ZW5hYmxlZCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1ZlcnNpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZlcnNpb25D
aGVja3MuaAppbmRleCAwM2IzMWNiMjk4MGRlYTRlNmViYTBjNWY1ZDdkZGFhZWYxNGM1MDRkLi44
NjcxOWFjNDNiNTU1OWI0ZWFhOGI4MGU0NjFmMDE5YTEzZjQ0MGZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WZXJzaW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oCkBAIC00NiwxNCArNDYsMjMgQEAK
ICNpZm5kZWYgRFlMRF9JT1NfVkVSU0lPTl9GSVJTVF9XSVRIX0RFVklDRV9PUklFTlRBVElPTl9B
TkRfTU9USU9OX1BFUk1JU1NJT05fQVBJCiAjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fRklSU1Rf
V0lUSF9ERVZJQ0VfT1JJRU5UQVRJT05fQU5EX01PVElPTl9QRVJNSVNTSU9OX0FQSSAwCiAjZW5k
aWYKKworI2lmbmRlZiBEWUxEX0lPU19WRVJTSU9OX0ZJUlNUX1dJVEhfU0VTU0lPTl9DTEVBTlVQ
X0JZX0RFRkFVTFQKKyNkZWZpbmUgRFlMRF9JT1NfVkVSU0lPTl9GSVJTVF9XSVRIX1NFU1NJT05f
Q0xFQU5VUF9CWV9ERUZBVUxUIDAKKyNlbmRpZgorCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZB
TUlMWSkKIAogI2lmIFBMQVRGT1JNKE1BQykKICNpZm5kZWYgRFlMRF9NQUNPU19WRVJTSU9OX0ZJ
UlNUX1dJVEhfRVhDRVBUSU9OU19GT1JfUkVMQVRFRF9XRUJWSUVXU19VU0lOR19ESUZGRVJFTlRf
REFUQV9TVE9SRVMKICNkZWZpbmUgRFlMRF9NQUNPU19WRVJTSU9OX0ZJUlNUX1dJVEhfRVhDRVBU
SU9OU19GT1JfUkVMQVRFRF9XRUJWSUVXU19VU0lOR19ESUZGRVJFTlRfREFUQV9TVE9SRVMgMAog
I2VuZGlmCisKKyNpZm5kZWYgRFlMRF9NQUNPU19WRVJTSU9OX0ZJUlNUX1dJVEhfU0VTU0lPTl9D
TEVBTlVQX0JZX0RFRkFVTFQKKyNkZWZpbmUgRFlMRF9NQUNPU19WRVJTSU9OX0ZJUlNUX1dJVEhf
U0VTU0lPTl9DTEVBTlVQX0JZX0RFRkFVTFQgMAogI2VuZGlmCiAKKyNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCiAKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC04Miw2ICs5MSw3IEBAIGVudW0gY2xh
c3MgU0RLVmVyc2lvbiA6IHVpbnQzMl90IHsKICAgICBGaXJzdFRoYXRTdXBwb3J0c092ZXJmbG93
SGlkZGVuT25NYWluRnJhbWUgPSBEWUxEX0lPU19WRVJTSU9OXzEzXzAsCiAgICAgRmlyc3RXaGVy
ZVNpdGVTcGVjaWZpY1F1aXJrc0FyZUVuYWJsZWRCeURlZmF1bHQgPSBEWUxEX0lPU19WRVJTSU9O
XzEzXzIsCiAgICAgRmlyc3RUaGF0UmVzdHJpY3RzQmFzZVVSTFNjaGVtZXMgPSBEWUxEX0lPU19W
RVJTSU9OXzEzXzQsCisgICAgRmlyc3RXaXRoU2Vzc2lvbkNsZWFudXBCeURlZmF1bHQgPSBEWUxE
X0lPU19WRVJTSU9OX0ZJUlNUX1dJVEhfU0VTU0lPTl9DTEVBTlVQX0JZX0RFRkFVTFQsCiAjZWxp
ZiBQTEFURk9STShNQUMpCiAgICAgRmlyc3RXaXRoTmV0d29ya0NhY2hlID0gRFlMRF9NQUNPU1hf
VkVSU0lPTl8xMF8xMSwKICAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVwbGljYXRlQ29tcGxl
dGlvbkhhbmRsZXJDYWxscyA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTBfMTMsCkBAIC05Myw2ICsx
MDMsNyBAQCBlbnVtIGNsYXNzIFNES1ZlcnNpb24gOiB1aW50MzJfdCB7CiAgICAgRmlyc3RXaXRo
RXhjZXB0aW9uc0ZvclJlbGF0ZWRXZWJWaWV3c1VzaW5nRGlmZmVyZW50RGF0YVN0b3JlcyA9IERZ
TERfTUFDT1NfVkVSU0lPTl9GSVJTVF9XSVRIX0VYQ0VQVElPTlNfRk9SX1JFTEFURURfV0VCVklF
V1NfVVNJTkdfRElGRkVSRU5UX0RBVEFfU1RPUkVTLAogICAgIEZpcnN0V2hlcmVTaXRlU3BlY2lm
aWNRdWlya3NBcmVFbmFibGVkQnlEZWZhdWx0ID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNV8x
LAogICAgIEZpcnN0VGhhdFJlc3RyaWN0c0Jhc2VVUkxTY2hlbWVzID0gRFlMRF9NQUNPU1hfVkVS
U0lPTl8xMF8xNV80LAorICAgIEZpcnN0V2l0aFNlc3Npb25DbGVhbnVwQnlEZWZhdWx0ID0gRFlM
RF9NQUNPU19WRVJTSU9OX0ZJUlNUX1dJVEhfU0VTU0lPTl9DTEVBTlVQX0JZX0RFRkFVTFQsCiAj
ZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCBlYWJjODk3YmIzZTY0MzViMGU2ODY4YjVkMzZlNTJmNWFkYWFlZjU0Li4yMmI4ZWI4MWFl
ZTkxYjcxZWYxZDM4YjQ1OTJmN2RkYjBiZWU1OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTM2LDYgKzEzNiwxNCBAQAogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KICNlbmRpZgogCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV2ViUHJvY2Vzc1Bvb2xBZGRpdGlv
bnMuaD4KKyNlbHNlCisjZGVmaW5lIFdFQl9QUk9DRVNTX1BPT0xfQURESVRJT05TCisjZGVmaW5l
IFdFQl9QUk9DRVNTX1BPT0xfQURESVRJT05TXzIKKyNkZWZpbmUgV0VCX1BST0NFU1NfUE9PTF9B
RERJVElPTlNfMworI2VuZGlmCisKICNkZWZpbmUgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0co
Y2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HKGNoYW5uZWwsICIlcCAtIFdlYlByb2Nlc3NQ
b29sOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKICNkZWZpbmUgV0VCUFJPQ0VTU1BPT0xf
UkVMRUFTRV9MT0dfRVJST1IoY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SKGNo
YW5uZWwsICIlcCAtIFdlYlByb2Nlc3NQb29sOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykK
ICNkZWZpbmUgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVsLCBm
bXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dl
ZCgpLCBjaGFubmVsLCAiJXAgLSBXZWJQcm9jZXNzUG9vbDo6IiBmbXQsIHRoaXMsICMjX19WQV9B
UkdTX18pCkBAIC0yNDEsNiArMjQ5LDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29s
KEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogI2VuZGlmCiAg
ICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eShtX2NvbmZpZ3VyYXRpb24tPmFs
d2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICwgbV9zaG91bGRUYWtlVUlCYWNr
Z3JvdW5kQXNzZXJ0aW9uKG1fY29uZmlndXJhdGlvbi0+c2hvdWxkVGFrZVVJQmFja2dyb3VuZEFz
c2VydGlvbigpKQorICAgIFdFQl9QUk9DRVNTX1BPT0xfQURESVRJT05TCiAgICAgLCBtX3VzZXJP
YnNlcnZhYmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9j
ZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNh
YmxlZEZvclBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vz
c1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRv
SW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRo
cm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsgfSkKQEAgLTU4NSw2ICs1OTQsNyBAQCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3Mo
V2Vic2l0ZURhdGFTdG9yZSogd2l0aAogI2VuZGlmCiAgICAgV2ViQ29yZTo6Rmlyc3RQYXJ0eVdl
YnNpdGVEYXRhUmVtb3ZhbE1vZGUgZmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGUgPSBX
ZWJDb3JlOjpGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZTo6QWxsQnV0Q29va2llczsK
ICAgICBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBtYW51YWxQcmV2YWxlbnRSZXNvdXJjZSB7
IH07CisgICAgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNfMgogICAgIGlmICh3aXRoV2Vic2l0
ZURhdGFTdG9yZSkgewogICAgICAgICBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzID0gd2l0
aFdlYnNpdGVEYXRhU3RvcmUtPnJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKCk7CiAjaWYg
RU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKQEAgLTgzMiw2ICs4NDIsNyBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpyZXNvbHZlUGF0aHNGb3JTYW5kYm94RXh0ZW5zaW9ucygpCiAKIFdl
YlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoV2Vic2l0
ZURhdGFTdG9yZSogd2Vic2l0ZURhdGFTdG9yZSwgV2ViUHJvY2Vzc1Byb3h5OjpJc1ByZXdhcm1l
ZCBpc1ByZXdhcm1lZCkKIHsKKyAgICBXRUJfUFJPQ0VTU19QT09MX0FERElUSU9OU18zCiAgICAg
YXV0byBwcm9jZXNzUHJveHkgPSBXZWJQcm9jZXNzUHJveHk6OmNyZWF0ZSgqdGhpcywgd2Vic2l0
ZURhdGFTdG9yZSwgaXNQcmV3YXJtZWQpOwogICAgIGF1dG8mIHByb2Nlc3MgPSBwcm9jZXNzUHJv
eHkuZ2V0KCk7CiAgICAgaW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MocHJvY2Vzcywgd2Vic2l0ZURh
dGFTdG9yZSwgaXNQcmV3YXJtZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKaW5kZXggNDM2NzQ2MWY5YmU4NzA0ZTk2NzUyNWQ1OTU3YmM4MzU3ZjljMTk1MC4uMDM3
Y2IxNjgwM2FlMzkxMmViM2E2MjEzMGRhMTk5NDMzNzgyZTZiMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzI4LDYgKzcyOCw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX3Nob3VsZFRha2VVSUJhY2tncm91bmRBc3NlcnRpb247CiAgICAgYm9vbCBtX3No
b3VsZE1ha2VOZXh0V2ViUHJvY2Vzc0xhdW5jaEZhaWxGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fc2hvdWxkTWFrZU5leHROZXR3b3JrUHJvY2Vzc0xhdW5jaEZhaWxGb3JUZXN0aW5n
IHsgZmFsc2UgfTsKKyAgICBib29sIG1fdGNjUHJlZmVyZW5jZUVuYWJsZWQgeyBmYWxzZSB9Owog
CiAgICAgVXNlck9ic2VydmFibGVQYWdlQ291bnRlciBtX3VzZXJPYnNlcnZhYmxlUGFnZUNvdW50
ZXI7CiAgICAgUHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRDb3VudGVyIG1fcHJvY2Vzc1N1cHBy
ZXNzaW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVD
b2NvYS5tbQppbmRleCBjZGRiMTA0M2YwOTJmY2MyYmNjZTk0MDAxMzVjOWFmMjkyMTYxN2M2Li5m
MWY0YjZjZWNmYTVkMWFhZDk5MzVhMDc1NTNkNjcyY2YyOTQ3MjgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vi
c2l0ZURhdGFTdG9yZUNvY29hLm1tCkBAIC0xNjIsNiArMTYyLDcgQEAgV2Vic2l0ZURhdGFTdG9y
ZVBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6cGFyYW1ldGVycygpCiAgICAgICAgIFdURk1v
dmUocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSksCiAgICAgICAgIFdURk1vdmUocmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeUhhbmRsZSksCiAgICAgICAgIHJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKCksCisgICAgICAgIGl0cFN0YXRlV2FzRXhwbGljaXRseVNldCgp
LAogICAgICAgICBoYXNTdGF0aXN0aWNzVGVzdGluZ0NhbGxiYWNrKCksCiAgICAgICAgIHNob3Vs
ZEluY2x1ZGVMb2NhbGhvc3RJblJlc291cmNlTG9hZFN0YXRpc3RpY3MsCiAgICAgICAgIGVuYWJs
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDAz
MGNmMTQwMmI4NjdmZmI1NmQyZWY0MjgyOTFjMGQ1YWU3ZjdhNmYuLjIxODZkMzY1NzJmYzY4M2I1
OTRkN2RhZDdkMjQ4NTgyMmM4MmFjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTU5OSw2ICsx
NTk5LDcgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKGJvb2wgdmFsdWUsIENvbXAKIAogdm9pZCBXZWJzaXRlRGF0YVN0b3Jl
OjpzZXRJc1J1bm5pbmdSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdChib29sIHZhbHVlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgdXNlRXhw
bGljaXRJVFBTdGF0ZSgpOwogICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2FsbGJhY2tB
Z2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgIAogICAg
IGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRl
eCAyYmM0Njc3YTNiMzU3OTEyYjliYWJmM2NlYTdhNmQ3NmI3M2RmNTA5Li5jZmZlMzFjYTdiZjcw
NGQyZTA5NTdhMGZjZjgxZDgyMTY5ZjdmODE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xOTUsNiArMTk1
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nob3VsZEJs
b2NrVGhpcmRQYXJ0eUNvb2tpZXNGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCwgYm9vbCBvbmx5T25T
aXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdlYnNpdGVEYXRh
UmVtb3ZhbE1vZGVGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICBXZWJDb3JlOjpUaGlyZFBhcnR5Q29va2llQmxvY2tpbmdNb2RlIHRoaXJk
UGFydHlDb29raWVCbG9ja2luZ01vZGUoKSBjb25zdDsKKyAgICBib29sIGl0cFN0YXRlV2FzRXhw
bGljaXRseVNldCgpIGNvbnN0IHsgcmV0dXJuIG1faXRwU3RhdGVXYXNFeHBsaWNpdGx5U2V0OyB9
CisgICAgdm9pZCB1c2VFeHBsaWNpdElUUFN0YXRlKCkgeyBtX2l0cFN0YXRlV2FzRXhwbGljaXRs
eVNldCA9IHRydWU7IH0KICNlbmRpZgogICAgIHZvaWQgc2V0Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2
YWxlbnRSZXNvdXJjZXMoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAg
ICB2b2lkIHJlc2V0Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2YWxlbnRSZXNvdXJjZXMoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKQEAgLTMzNiw2ICszMzgsOCBAQCBwcml2YXRlOgogICAgIAog
ICAgIFdlYWtIYXNoU2V0PFdlYlByb2Nlc3NQcm94eT4gbV9wcm9jZXNzZXM7CiAKKyAgICBib29s
IG1faXRwU3RhdGVXYXNFeHBsaWNpdGx5U2V0IHsgZmFsc2UgfTsKKwogI2lmIEhBVkUoU0VDX0tF
WV9QUk9YWSkKICAgICBWZWN0b3I8UmVmPFNlY0tleVByb3h5U3RvcmU+PiBtX3NlY0tleVByb3h5
U3RvcmVzOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392213</attachid>
            <date>2020-03-02 16:43:35 -0800</date>
            <delta_ts>2020-03-02 17:15:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208461-20200302164335.patch</filename>
            <type>text/plain</type>
            <size>21342</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE3NjE0ZDliYTFlYmY2NmI3
YWU0Y2VkZDhlZTIzNmUxMDc2N2M3N2YuLjE5ODM4N2E2ZDA4MzYyODJmYTMwMGU2MWY0Y2EzMThj
MTQyNTI5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMDMtMDIgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZsYWcgdG8gaW5kaWNh
dGUgdGhhdCBJVFAgc3RhdGUgd2FzIGV4cGxpY2l0bHkgc2V0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzU5OTYwODI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vdyB0aGF0IElUUCBpcyBzdXBwb3J0ZWQgaW4gRXBoZW1lcmFsIHNlc3Npb25zLCB3
ZSB3b3VsZCBsaWtlIHRvIG1vdmUgdG8gYSBwcm9jZXNzLXdpZGUKKyAgICAgICAgY29uY2VwdCBv
ZiBJVFAgYmVpbmcgb24gb3Igb2ZmLCByYXRoZXIgdGhhbiBjb250cm9sbGluZyB0aGlzIGF0IGEg
d2Vic2l0ZSBkYXRhIGxldmVsLgorICAgICAgICBUaGlzIHBhdGNoIHRha2VzIHRoZSBmaXJzdCBz
dGVwIGJ5IGFkZGluZyBhIGZsYWcgdG8gdGhlIFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnMKKyAgICAgICAgc3RydWN0dXJlIHRoYXQgdHJhY2tzIHdoZXRoZXIgdGhlIHN0
YXRlIG9mIElUUCAoT24gb3IgT2ZmKSB3YXMgZXhwbGljaXRseSBzZXQgYnkKKyAgICAgICAgU1BJ
IChwcmltYXJpbHkgZHVyaW5nIHRlc3RpbmcpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBl
bnN1cmVzIHRoYXQgd2UgY2FuIGNvbW11bmljYXRlIHdpdGggVENDIGZvciB0aGUgcHVycG9zZSBv
ZiBjaGVja2luZyBpZgorICAgICAgICBJVFAgaXMgb24gb3Igb2ZmLgorCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRl
Y29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lv
bkNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3Jr
U2Vzc2lvbkNvY29hKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFBy
b2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2I6CisgICAgICAgICogU2Ny
aXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0YVN0
b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNz
UG9vbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9j
ZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NU
ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjppdHBTdGF0ZVdhc0V4cGxpY2l0
bHlTZXQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjp1c2VFeHBs
aWNpdElUUFN0YXRlKToKKwogMjAyMC0wMy0wMiAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRu
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBkYXRlL3RpbWUgc3R5bGUgdG8gbWFjQ2F0YWx5
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b25DcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggYTAzNDZkMDczMzYyMjA3
ZjBlNjlmODNiMDdmNzQzMjc4YTdkYWExZC4uNzJlNTIxYzQ5M2YxMjhjNDgwOTI4MjU3Y2ZlZmFi
Njc4ZjNhM2U4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjMsNiArNjMs
NyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgcmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeTsKICAgICBlbmNvZGVyIDw8IHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJl
Y3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBlbmFibGVSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOworICAgIGVuY29kZXIgPDwgaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQ7CiAgICAg
ZW5jb2RlciA8PCBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50Owog
ICAgIGVuY29kZXIgPDwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdEluUmVzb3VyY2VMb2FkU3RhdGlz
dGljczsKICAgICBlbmNvZGVyIDw8IGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01v
ZGU7CkBAIC0xNzksNiArMTgwLDExIEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25Q
YXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgaWYg
KCFlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCisgICAgT3B0aW9uYWw8Ym9vbD4gaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQ7CisgICAg
ZGVjb2RlciA+PiBpc0l0cFN0YXRlRXhwbGljaXRseVNldDsKKyAgICBpZiAoIWlzSXRwU3RhdGVF
eHBsaWNpdGx5U2V0KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgT3B0aW9u
YWw8Ym9vbD4gZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0xvZ1Rlc3RpbmdFdmVudDsKICAg
ICBkZWNvZGVyID4+IGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NMb2dUZXN0aW5nRXZlbnQ7
CiAgICAgaWYgKCFlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50KQpA
QCAtMzAwLDYgKzMwNiw3IEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgICAgICwgV1RG
TW92ZSgqcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICAgICAgLCBXVEZNb3Zl
KCpyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKQogICAgICAg
ICAsIFdURk1vdmUoKmVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3MpCisgICAgICAgICwgV1RG
TW92ZSgqaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQpCiAgICAgICAgICwgV1RGTW92ZSgqZW5hYmxl
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0xvZ1Rlc3RpbmdFdmVudCkKICAgICAgICAgLCBXVEZNb3Zl
KCpzaG91bGRJbmNsdWRlTG9jYWxob3N0SW5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzKQogICAgICAg
ICAsIFdURk1vdmUoKmVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRp
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZThlNmUxOThkZDk3MzZmMzgzMjc0MWQxZTkx
ZjRiNWM2YTRkOTFhMy4uYTI5YjU3ZTExNDdkZWM4MDJkOTBkNzAzOWFkNWIyMTJjOTVmZDgyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04Miw2ICs4Miw3IEBAIHN0cnVjdCBOZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU3RyaW5nIHJlc291cmNlTG9hZFN0
YXRpc3RpY3NEaXJlY3Rvcnk7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHJlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgYm9vbCBlbmFibGVS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzIHsgZmFsc2UgfTsKKyAgICBib29sIGlzSXRwU3RhdGVFeHBs
aWNpdGx5U2V0IHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NMb2dUZXN0aW5nRXZlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgc2hvdWxkSW5jbHVkZUxvY2Fs
aG9zdEluUmVzb3VyY2VMb2FkU3RhdGlzdGljcyB7IHRydWUgfTsKICAgICBib29sIGVuYWJsZVJl
c291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1t
CmluZGV4IDkyNDI5ZGVlM2JlZjQ5Y2M5MTEwZjlkY2FhY2U3ZjQ5MGQyMzZjNGMuLjM0ZWNiNjRl
NDViMTc3MmZlMzIwYjYzOTQwZmZiNjI1MmUwNGFmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xMTYxLDcgKzExNjEsNyBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNv
Y29hKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgTmV0d29yawogI2VuZGlmCiAKICNp
ZiBIQVZFKFNFU1NJT05fQ0xFQU5VUCkKLSAgICBhY3RpdmF0ZVNlc3Npb25DbGVhbnVwKCp0aGlz
KTsKKyAgICBhY3RpdmF0ZVNlc3Npb25DbGVhbnVwKCp0aGlzLCBwYXJhbWV0ZXJzKTsKICNlbmRp
ZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgppbmRleCA1
N2U0YThiOTgzMDZmY2ZkMTI5M2Q5YzUzMzIyNGE2N2IxZjFjZWU3Li43Y2I3NTBhNzY5NDM3OTk3
OWVlMWM4OTFiMzVkMmIzZDhhMmRiNzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a1Byb2Nlc3Muc2IuaW4KQEAgLTQ0MCwzICs0NDAsNiBAQAogKGFsbG93IG1hY2gtbG9va3VwCiAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuUHJvZ3Jlc3NSZXBvcnRpbmciKSkKIAorOzsgTmVl
ZGVkIGZvciBUQ0MuCisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS50Y2NkIikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5zYiBiL1NvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3Jr
aW5nLnNiCmluZGV4IGJkMjI2ZTJkYzgyOGZhOTY1YWY3MDQyMGNhNjZlYjJhNGM0NmIyZDcuLjAw
OTQyYjQwMDdmYjgyMjE0M2NhOTQ3NTQwNGI1YmEyOGM1NDdmZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5O
ZXR3b3JraW5nLnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxl
cy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnNiCkBAIC02NzQsMyArNjc0LDcgQEAK
ICAgICAod2VsbC1rbm93bi1zeXN0ZW0tZ3JvdXAtY29udGFpbmVyLWxpdGVyYWwgIi9zeXN0ZW1n
cm91cC5jb20uYXBwbGUubW9iaWxlZ2VzdGFsdGNhY2hlL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBs
ZS5Nb2JpbGVHZXN0YWx0LnBsaXN0IikpCiAoYWxsb3cgaW9raXQtZ2V0LXByb3BlcnRpZXMKICAg
ICAoaW9raXQtcHJvcGVydHkgIklPUmVnaXN0cnlFbnRyeVByb3BlcnR5S2V5cyIpKQorCis7OyBO
ZWVkZWQgZm9yIFRDQy4KKyhhbGxvdyBtYWNoLWxvb2t1cAorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLnRjY2QiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNz
LWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVt
ZW50cy5zaAppbmRleCBiMmEyMjhhZTA5MTJjNTIzODU2NThmNTdjODM3ODk4ZDgyOTBkYTQ2Li4x
ZmM1YmQ5MTk3YmI2MGMwYjNkNWU4NWJmMzRhOGYyZWE3MGMyYjA0IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC00NSw2ICs0NSwxMiBAQCBm
dW5jdGlvbiBtYWNfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cygpCiAgICAgICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUg
Ym9vbCBZRVMKICAgICAgICAgZmkKIAorICAgICAgICBpZiAoKCAiJHtUQVJHRVRfTUFDX09TX1hf
VkVSU0lPTl9NQUpPUn0iID49IDEwMTYwMCApKQorICAgICAgICB0aGVuCisgICAgICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUudGNjLm1hbmFnZXIuY2hlY2stYnktYXVk
aXQtdG9rZW4gYXJyYXkKKyAgICAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJp
dmF0ZS50Y2MubWFuYWdlci5jaGVjay1ieS1hdWRpdC10b2tlbjowIHN0cmluZyBrVENDU2Vydmlj
ZVdlYktpdEludGVsbGlnZW50VHJhY2tpbmdQcmV2ZW50aW9uCisgICAgICAgIGZpCisKICAgICAg
ICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5yb290bGVzcy5zdG9yYWdlLldlYktpdE5ldHdv
cmtpbmdTYW5kYm94IGJvb2wgWUVTCiAgICAgZmkKIH0KQEAgLTEwMSw2ICsxMDcsOSBAQCBmdW5j
dGlvbiBtYWNjYXRhbHlzdF9wcm9jZXNzX25ldHdvcmtfZW50aXRsZW1lbnRzKCkKIHsKICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUg
Ym9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsu
Y2xpZW50IGJvb2wgWUVTCisKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUu
dGNjLm1hbmFnZXIuY2hlY2stYnktYXVkaXQtdG9rZW4gYXJyYXkKKyAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnByaXZhdGUudGNjLm1hbmFnZXIuY2hlY2stYnktYXVkaXQtdG9rZW46MCBz
dHJpbmcga1RDQ1NlcnZpY2VXZWJLaXRJbnRlbGxpZ2VudFRyYWNraW5nUHJldmVudGlvbgogfQog
CiBmdW5jdGlvbiBtYWNjYXRhbHlzdF9wcm9jZXNzX3BsdWdpbl9lbnRpdGxlbWVudHMoKQpAQCAt
MTY4LDYgKzE3Nyw5IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc19uZXR3b3JrX2VudGl0
bGVtZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm1lbW9yeXN0
YXR1cyBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5uZXR3
b3JrLnNvY2tldC1kZWxlZ2F0ZSBib29sIFlFUwogCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5wcml2YXRlLnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1ZGl0LXRva2VuIGFycmF5CisgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1
ZGl0LXRva2VuOjAgc3RyaW5nIGtUQ0NTZXJ2aWNlV2ViS2l0SW50ZWxsaWdlbnRUcmFja2luZ1By
ZXZlbnRpb24KKwogICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlcyBhcnJheQog
ICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlczowIHN0cmluZyBjb20uYXBwbGUu
V2ViS2l0Lk5ldHdvcmtpbmcKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IDcwY2Y2YTM1NzdkMjlkMzA5
YTljZTdlYTExMjRhYjg0ZWZmZjExMGYuLjVkMzllOGZjNWQzM2MyNzA0MjZiMDQ4MDZmZWJkMzUy
YjUxMzA2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtNjgsNyArNjgsOSBAQCBXS1dlYnNpdGVEYXRh
U3RvcmVSZWYgV0tXZWJzaXRlRGF0YVN0b3JlQ3JlYXRlV2l0aENvbmZpZ3VyYXRpb24oV0tXZWJz
aXRlRGF0YVN0bwogCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgZW5h
YmxlKQogewotICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CisgICAgYXV0byogd2Vic2l0ZURhdGFTdG9yZSA9
IFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZik7CisgICAgd2Vic2l0ZURhdGFTdG9yZS0+dXNl
RXhwbGljaXRJVFBTdGF0ZSgpOworICAgIHdlYnNpdGVEYXRhU3RvcmUtPnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiB9CiAKIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3Jl
SXNTdGF0aXN0aWNzRXBoZW1lcmFsKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYs
IHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NFcGhlbWVyYWxGdW5j
dGlvbiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCmluZGV4IDhlZDFkMWIzOWM4ZDlj
NDI5ZjI4ODMwNzhkYTdmZmU2M2QxYjg3MDMuLmJmM2EwOTg1M2M4ZTVhNWQ0OTM0ZDI4ZmI2NjY5
ZjQ5NmY2MjAzN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQpAQCAtMjc4LDYgKzI3OCw3IEBAIHN0YXRpYyBW
ZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gdG9XZWJzaXRlRGF0YVJlY29yZHMoTlNB
cnJheSAqZGF0YVJlY29yCiAKIC0gKHZvaWQpX3NldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkOihCT09MKWVuYWJsZWQKIHsKKyAgICBfd2Vic2l0ZURhdGFTdG9yZS0+dXNlRXhwbGljaXRJ
VFBTdGF0ZSgpOwogICAgIF93ZWJzaXRlRGF0YVN0b3JlLT5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChlbmFibGVkKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVmVyc2lvbkNoZWNrcy5oCmluZGV4IDAzYjMxY2IyOTgwZGVhNGU2ZWJhMGM1ZjVkN2RkYWFl
ZjE0YzUwNGQuLjg2NzE5YWM0M2I1NTU5YjRlYWE4YjgwZTQ2MWYwMTlhMTNmNDQwZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZlcnNpb25DaGVja3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WZXJzaW9uQ2hlY2tzLmgKQEAgLTQ2LDE0
ICs0NiwyMyBAQAogI2lmbmRlZiBEWUxEX0lPU19WRVJTSU9OX0ZJUlNUX1dJVEhfREVWSUNFX09S
SUVOVEFUSU9OX0FORF9NT1RJT05fUEVSTUlTU0lPTl9BUEkKICNkZWZpbmUgRFlMRF9JT1NfVkVS
U0lPTl9GSVJTVF9XSVRIX0RFVklDRV9PUklFTlRBVElPTl9BTkRfTU9USU9OX1BFUk1JU1NJT05f
QVBJIDAKICNlbmRpZgorCisjaWZuZGVmIERZTERfSU9TX1ZFUlNJT05fRklSU1RfV0lUSF9TRVNT
SU9OX0NMRUFOVVBfQllfREVGQVVMVAorI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OX0ZJUlNUX1dJ
VEhfU0VTU0lPTl9DTEVBTlVQX0JZX0RFRkFVTFQgMAorI2VuZGlmCisKICNlbmRpZiAvLyBQTEFU
Rk9STShJT1NfRkFNSUxZKQogCiAjaWYgUExBVEZPUk0oTUFDKQogI2lmbmRlZiBEWUxEX01BQ09T
X1ZFUlNJT05fRklSU1RfV0lUSF9FWENFUFRJT05TX0ZPUl9SRUxBVEVEX1dFQlZJRVdTX1VTSU5H
X0RJRkZFUkVOVF9EQVRBX1NUT1JFUwogI2RlZmluZSBEWUxEX01BQ09TX1ZFUlNJT05fRklSU1Rf
V0lUSF9FWENFUFRJT05TX0ZPUl9SRUxBVEVEX1dFQlZJRVdTX1VTSU5HX0RJRkZFUkVOVF9EQVRB
X1NUT1JFUyAwCiAjZW5kaWYKKworI2lmbmRlZiBEWUxEX01BQ09TX1ZFUlNJT05fRklSU1RfV0lU
SF9TRVNTSU9OX0NMRUFOVVBfQllfREVGQVVMVAorI2RlZmluZSBEWUxEX01BQ09TX1ZFUlNJT05f
RklSU1RfV0lUSF9TRVNTSU9OX0NMRUFOVVBfQllfREVGQVVMVCAwCiAjZW5kaWYKIAorI2VuZGlm
IC8vIFBMQVRGT1JNKE1BQykKIAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTgyLDYgKzkxLDcg
QEAgZW51bSBjbGFzcyBTREtWZXJzaW9uIDogdWludDMyX3QgewogICAgIEZpcnN0VGhhdFN1cHBv
cnRzT3ZlcmZsb3dIaWRkZW5Pbk1haW5GcmFtZSA9IERZTERfSU9TX1ZFUlNJT05fMTNfMCwKICAg
ICBGaXJzdFdoZXJlU2l0ZVNwZWNpZmljUXVpcmtzQXJlRW5hYmxlZEJ5RGVmYXVsdCA9IERZTERf
SU9TX1ZFUlNJT05fMTNfMiwKICAgICBGaXJzdFRoYXRSZXN0cmljdHNCYXNlVVJMU2NoZW1lcyA9
IERZTERfSU9TX1ZFUlNJT05fMTNfNCwKKyAgICBGaXJzdFdpdGhTZXNzaW9uQ2xlYW51cEJ5RGVm
YXVsdCA9IERZTERfSU9TX1ZFUlNJT05fRklSU1RfV0lUSF9TRVNTSU9OX0NMRUFOVVBfQllfREVG
QVVMVCwKICNlbGlmIFBMQVRGT1JNKE1BQykKICAgICBGaXJzdFdpdGhOZXR3b3JrQ2FjaGUgPSBE
WUxEX01BQ09TWF9WRVJTSU9OXzEwXzExLAogICAgIEZpcnN0V2l0aEV4Y2VwdGlvbnNGb3JEdXBs
aWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xMywK
QEAgLTkzLDYgKzEwMyw3IEBAIGVudW0gY2xhc3MgU0RLVmVyc2lvbiA6IHVpbnQzMl90IHsKICAg
ICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yUmVsYXRlZFdlYlZpZXdzVXNpbmdEaWZmZXJlbnREYXRh
U3RvcmVzID0gRFlMRF9NQUNPU19WRVJTSU9OX0ZJUlNUX1dJVEhfRVhDRVBUSU9OU19GT1JfUkVM
QVRFRF9XRUJWSUVXU19VU0lOR19ESUZGRVJFTlRfREFUQV9TVE9SRVMsCiAgICAgRmlyc3RXaGVy
ZVNpdGVTcGVjaWZpY1F1aXJrc0FyZUVuYWJsZWRCeURlZmF1bHQgPSBEWUxEX01BQ09TWF9WRVJT
SU9OXzEwXzE1XzEsCiAgICAgRmlyc3RUaGF0UmVzdHJpY3RzQmFzZVVSTFNjaGVtZXMgPSBEWUxE
X01BQ09TWF9WRVJTSU9OXzEwXzE1XzQsCisgICAgRmlyc3RXaXRoU2Vzc2lvbkNsZWFudXBCeURl
ZmF1bHQgPSBEWUxEX01BQ09TX1ZFUlNJT05fRklSU1RfV0lUSF9TRVNTSU9OX0NMRUFOVVBfQllf
REVGQVVMVCwKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCmluZGV4IGVhYmM4OTdiYjNlNjQzNWIwZTY4NjhiNWQzNmU1MmY1YWRhYWVmNTQu
LjIyYjhlYjgxYWVlOTFiNzFlZjFkMzhiNDU5MmY3ZGRiMGJlZTU5NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEwLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMzYsNiArMTM2LDE0IEBACiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgogI2VuZGlmCiAKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XZWJQcm9jZXNz
UG9vbEFkZGl0aW9ucy5oPgorI2Vsc2UKKyNkZWZpbmUgV0VCX1BST0NFU1NfUE9PTF9BRERJVElP
TlMKKyNkZWZpbmUgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNfMgorI2RlZmluZSBXRUJfUFJP
Q0VTU19QT09MX0FERElUSU9OU18zCisjZW5kaWYKKwogI2RlZmluZSBXRUJQUk9DRVNTUE9PTF9S
RUxFQVNFX0xPRyhjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0coY2hhbm5lbCwgIiVwIC0g
V2ViUHJvY2Vzc1Bvb2w6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQogI2RlZmluZSBXRUJQ
Uk9DRVNTUE9PTF9SRUxFQVNFX0xPR19FUlJPUihjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9M
T0dfRVJST1IoY2hhbm5lbCwgIiVwIC0gV2ViUHJvY2Vzc1Bvb2w6OiIgZm10LCB0aGlzLCAjI19f
VkFfQVJHU19fKQogI2RlZmluZSBXRUJQUk9DRVNTUE9PTF9SRUxFQVNFX0xPR19JRl9BTExPV0VE
KGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihzZXNzaW9uSUQuaXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFdlYlByb2Nlc3NQb29sOjoiIGZtdCwgdGhp
cywgIyNfX1ZBX0FSR1NfXykKQEAgLTI0MSw2ICsyNDksNyBAQCBXZWJQcm9jZXNzUG9vbDo6V2Vi
UHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiAjZW5kaWYKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KG1fY29uZmln
dXJhdGlvbi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAgICAgLCBtX3Nob3Vs
ZFRha2VVSUJhY2tncm91bmRBc3NlcnRpb24obV9jb25maWd1cmF0aW9uLT5zaG91bGRUYWtlVUlC
YWNrZ3JvdW5kQXNzZXJ0aW9uKCkpCisgICAgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlMKICAg
ICAsIG1fdXNlck9ic2VydmFibGVQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7
IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCiAgICAgLCBtX3Byb2Nlc3NTdXBw
cmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1
cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9oaWRkZW5QYWdlVGhy
b3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9o
aWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOyB9KQpAQCAtNTg1LDYg
KzU5NCw3IEBAIE5ldHdvcmtQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3
b3JrUHJvY2VzcyhXZWJzaXRlRGF0YVN0b3JlKiB3aXRoCiAjZW5kaWYKICAgICBXZWJDb3JlOjpG
aXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZSBmaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1v
dmFsTW9kZSA9IFdlYkNvcmU6OkZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlOjpBbGxC
dXRDb29raWVzOwogICAgIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIG1hbnVhbFByZXZhbGVu
dFJlc291cmNlIHsgfTsKKyAgICBXRUJfUFJPQ0VTU19QT09MX0FERElUSU9OU18yCiAgICAgaWYg
KHdpdGhXZWJzaXRlRGF0YVN0b3JlKSB7CiAgICAgICAgIGVuYWJsZVJlc291cmNlTG9hZFN0YXRp
c3RpY3MgPSB3aXRoV2Vic2l0ZURhdGFTdG9yZS0+cmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJs
ZWQoKTsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpAQCAtODMyLDYgKzg0
Miw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlc29sdmVQYXRoc0ZvclNhbmRib3hFeHRlbnNp
b25zKCkKIAogV2ViUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJv
Y2VzcyhXZWJzaXRlRGF0YVN0b3JlKiB3ZWJzaXRlRGF0YVN0b3JlLCBXZWJQcm9jZXNzUHJveHk6
OklzUHJld2FybWVkIGlzUHJld2FybWVkKQogeworICAgIFdFQl9QUk9DRVNTX1BPT0xfQURESVRJ
T05TXzMKICAgICBhdXRvIHByb2Nlc3NQcm94eSA9IFdlYlByb2Nlc3NQcm94eTo6Y3JlYXRlKCp0
aGlzLCB3ZWJzaXRlRGF0YVN0b3JlLCBpc1ByZXdhcm1lZCk7CiAgICAgYXV0byYgcHJvY2VzcyA9
IHByb2Nlc3NQcm94eS5nZXQoKTsKICAgICBpbml0aWFsaXplTmV3V2ViUHJvY2Vzcyhwcm9jZXNz
LCB3ZWJzaXRlRGF0YVN0b3JlLCBpc1ByZXdhcm1lZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA0MzY3NDYxZjliZTg3MDRlOTY3NTI1ZDU5NTdiYzgzNTdm
OWMxOTUwLi4wMzdjYjE2ODAzYWUzOTEyZWIzYTYyMTMwZGExOTk0MzM3ODJlNmIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03MjgsNiArNzI4LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fc2hvdWxkVGFrZVVJQmFja2dyb3VuZEFzc2VydGlvbjsKICAg
ICBib29sIG1fc2hvdWxkTWFrZU5leHRXZWJQcm9jZXNzTGF1bmNoRmFpbEZvclRlc3RpbmcgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRNYWtlTmV4dE5ldHdvcmtQcm9jZXNzTGF1bmNoRmFp
bEZvclRlc3RpbmcgeyBmYWxzZSB9OworICAgIGJvb2wgbV90Y2NQcmVmZXJlbmNlRW5hYmxlZCB7
IGZhbHNlIH07CiAKICAgICBVc2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyIG1fdXNlck9ic2VydmFi
bGVQYWdlQ291bnRlcjsKICAgICBQcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZENvdW50ZXIgbV9w
cm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZvclBhZ2VDb3VudGVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0
ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IGNkZGIxMDQzZjA5MmZjYzJiY2NlOTQwMDEzNWM5YWYy
OTIxNjE3YzYuLjA5ZjE0ODE0MmZhN2ZmYTc2MjU5MGQxMGYyNmMxOTBjZGYyNzA4MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVE
YXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNjIsNiArMTYyLDcgQEAgV2Vi
c2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMgV2Vic2l0ZURhdGFTdG9yZTo6cGFyYW1ldGVycygpCiAg
ICAgICAgIFdURk1vdmUocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSksCiAgICAgICAg
IFdURk1vdmUocmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeUhhbmRsZSksCiAgICAgICAg
IHJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKCksCisgICAgICAgIGlzSXRwU3RhdGVFeHBs
aWNpdGx5U2V0KCksCiAgICAgICAgIGhhc1N0YXRpc3RpY3NUZXN0aW5nQ2FsbGJhY2soKSwKICAg
ICAgICAgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdEluUmVzb3VyY2VMb2FkU3RhdGlzdGljcywKICAg
ICAgICAgZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5j
cHAKaW5kZXggNDE0M2JjNzMzYjkwOGZlMjNlNGEzMjNjYjNjZmRlNDNhYWM0YzYxOC4uYzVlZWMy
ODkxNTc1MDFhMzY0Y2MwZWM4OWNjZWRhMjA3YmVjMWY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xNTk5LDYgKzE1OTksNyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldE5vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCB2YWx1ZSwgQ29tcAogCiB2b2lkIFdlYnNp
dGVEYXRhU3RvcmU6OnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KGJvb2wg
dmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
KyAgICB1c2VFeHBsaWNpdElUUFN0YXRlKCk7CiAgICAgYXV0byBjYWxsYmFja0FnZ3JlZ2F0b3Ig
PSBDYWxsYmFja0FnZ3JlZ2F0b3I6OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
CiAgICAgCiAgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oCmluZGV4IDM2YmIwMThkOWNkZDdiZDNmZDUxMDVjZmUyM2JmZjA3NTY1OTkwOGUuLjM0
MGQ3NjJjZjk2MDg0ZWRmOTFmMTY3MDAwZjUyMjU4MWI3YzVhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xOTYsNiArMTk2LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Nob3VsZEJsb2NrVGhpcmRQYXJ0eUNvb2tpZXNGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCwg
Ym9vbCBvbmx5T25TaXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRmlyc3RQYXJ0
eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGVGb3JUZXN0aW5nKGJvb2wgZW5hYmxlZCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICBXZWJDb3JlOjpUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmdNb2RlIHRoaXJkUGFydHlDb29raWVCbG9ja2luZ01vZGUoKSBjb25zdDsKKyAgICBib29sIGlz
SXRwU3RhdGVFeHBsaWNpdGx5U2V0KCkgY29uc3QgeyByZXR1cm4gbV9pc0l0cFN0YXRlRXhwbGlj
aXRseVNldDsgfQorICAgIHZvaWQgdXNlRXhwbGljaXRJVFBTdGF0ZSgpIHsgbV9pc0l0cFN0YXRl
RXhwbGljaXRseVNldCA9IHRydWU7IH0KICNlbmRpZgogICAgIHZvaWQgc2V0Q2FjaGVNYXhBZ2VD
YXBGb3JQcmV2YWxlbnRSZXNvdXJjZXMoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKICAgICB2b2lkIHJlc2V0Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2YWxlbnRSZXNvdXJjZXMo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKQEAgLTMzNyw2ICszMzksOCBAQCBwcml2YXRl
OgogICAgIAogICAgIFdlYWtIYXNoU2V0PFdlYlByb2Nlc3NQcm94eT4gbV9wcm9jZXNzZXM7CiAK
KyAgICBib29sIG1faXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQgeyBmYWxzZSB9OworCiAjaWYgSEFW
RShTRUNfS0VZX1BST1hZKQogICAgIFZlY3RvcjxSZWY8U2VjS2V5UHJveHlTdG9yZT4+IG1fc2Vj
S2V5UHJveHlTdG9yZXM7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392227</attachid>
            <date>2020-03-02 17:15:47 -0800</date>
            <delta_ts>2020-03-02 19:11:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208461-20200302171546.patch</filename>
            <type>text/plain</type>
            <size>21389</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE3NjE0ZDliYTFlYmY2NmI3
YWU0Y2VkZDhlZTIzNmUxMDc2N2M3N2YuLjE5ODM4N2E2ZDA4MzYyODJmYTMwMGU2MWY0Y2EzMThj
MTQyNTI5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMDMtMDIgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGZsYWcgdG8gaW5kaWNh
dGUgdGhhdCBJVFAgc3RhdGUgd2FzIGV4cGxpY2l0bHkgc2V0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzU5OTYwODI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vdyB0aGF0IElUUCBpcyBzdXBwb3J0ZWQgaW4gRXBoZW1lcmFsIHNlc3Npb25zLCB3
ZSB3b3VsZCBsaWtlIHRvIG1vdmUgdG8gYSBwcm9jZXNzLXdpZGUKKyAgICAgICAgY29uY2VwdCBv
ZiBJVFAgYmVpbmcgb24gb3Igb2ZmLCByYXRoZXIgdGhhbiBjb250cm9sbGluZyB0aGlzIGF0IGEg
d2Vic2l0ZSBkYXRhIGxldmVsLgorICAgICAgICBUaGlzIHBhdGNoIHRha2VzIHRoZSBmaXJzdCBz
dGVwIGJ5IGFkZGluZyBhIGZsYWcgdG8gdGhlIFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnMKKyAgICAgICAgc3RydWN0dXJlIHRoYXQgdHJhY2tzIHdoZXRoZXIgdGhlIHN0
YXRlIG9mIElUUCAoT24gb3IgT2ZmKSB3YXMgZXhwbGljaXRseSBzZXQgYnkKKyAgICAgICAgU1BJ
IChwcmltYXJpbHkgZHVyaW5nIHRlc3RpbmcpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBl
bnN1cmVzIHRoYXQgd2UgY2FuIGNvbW11bmljYXRlIHdpdGggVENDIGZvciB0aGUgcHVycG9zZSBv
ZiBjaGVja2luZyBpZgorICAgICAgICBJVFAgaXMgb24gb3Igb2ZmLgorCisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM6OmRl
Y29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lv
bkNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3Jr
U2Vzc2lvbkNvY29hKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFBy
b2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcuc2I6CisgICAgICAgICogU2Ny
aXB0cy9wcm9jZXNzLWVudGl0bGVtZW50cy5zaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0YVN0
b3JlIF9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNz
UG9vbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9j
ZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NU
ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjppdHBTdGF0ZVdhc0V4cGxpY2l0
bHlTZXQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjp1c2VFeHBs
aWNpdElUUFN0YXRlKToKKwogMjAyMC0wMy0wMiAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRu
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBkYXRlL3RpbWUgc3R5bGUgdG8gbWFjQ2F0YWx5
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b25DcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggYTAzNDZkMDczMzYyMjA3
ZjBlNjlmODNiMDdmNzQzMjc4YTdkYWExZC4uNzJlNTIxYzQ5M2YxMjhjNDgwOTI4MjU3Y2ZlZmFi
Njc4ZjNhM2U4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjMsNiArNjMs
NyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgcmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeTsKICAgICBlbmNvZGVyIDw8IHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJl
Y3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBlbmFibGVSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOworICAgIGVuY29kZXIgPDwgaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQ7CiAgICAg
ZW5jb2RlciA8PCBlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50Owog
ICAgIGVuY29kZXIgPDwgc2hvdWxkSW5jbHVkZUxvY2FsaG9zdEluUmVzb3VyY2VMb2FkU3RhdGlz
dGljczsKICAgICBlbmNvZGVyIDw8IGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01v
ZGU7CkBAIC0xNzksNiArMTgwLDExIEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25Q
YXJhbWV0ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgaWYg
KCFlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCisgICAgT3B0aW9uYWw8Ym9vbD4gaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQ7CisgICAg
ZGVjb2RlciA+PiBpc0l0cFN0YXRlRXhwbGljaXRseVNldDsKKyAgICBpZiAoIWlzSXRwU3RhdGVF
eHBsaWNpdGx5U2V0KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgT3B0aW9u
YWw8Ym9vbD4gZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0xvZ1Rlc3RpbmdFdmVudDsKICAg
ICBkZWNvZGVyID4+IGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NMb2dUZXN0aW5nRXZlbnQ7
CiAgICAgaWYgKCFlbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50KQpA
QCAtMzAwLDYgKzMwNiw3IEBAIE9wdGlvbmFsPE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzPiBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjCiAgICAgICAgICwgV1RG
TW92ZSgqcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICAgICAgLCBXVEZNb3Zl
KCpyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKQogICAgICAg
ICAsIFdURk1vdmUoKmVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3MpCisgICAgICAgICwgV1RG
TW92ZSgqaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQpCiAgICAgICAgICwgV1RGTW92ZSgqZW5hYmxl
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0xvZ1Rlc3RpbmdFdmVudCkKICAgICAgICAgLCBXVEZNb3Zl
KCpzaG91bGRJbmNsdWRlTG9jYWxob3N0SW5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzKQogICAgICAg
ICAsIFdURk1vdmUoKmVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRp
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZThlNmUxOThkZDk3MzZmMzgzMjc0MWQxZTkx
ZjRiNWM2YTRkOTFhMy4uYTI5YjU3ZTExNDdkZWM4MDJkOTBkNzAzOWFkNWIyMTJjOTVmZDgyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04Miw2ICs4Miw3IEBAIHN0cnVjdCBOZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU3RyaW5nIHJlc291cmNlTG9hZFN0
YXRpc3RpY3NEaXJlY3Rvcnk7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHJlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAgICAgYm9vbCBlbmFibGVS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzIHsgZmFsc2UgfTsKKyAgICBib29sIGlzSXRwU3RhdGVFeHBs
aWNpdGx5U2V0IHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NMb2dUZXN0aW5nRXZlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgc2hvdWxkSW5jbHVkZUxvY2Fs
aG9zdEluUmVzb3VyY2VMb2FkU3RhdGlzdGljcyB7IHRydWUgfTsKICAgICBib29sIGVuYWJsZVJl
c291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1t
CmluZGV4IDkyNDI5ZGVlM2JlZjQ5Y2M5MTEwZjlkY2FhY2U3ZjQ5MGQyMzZjNGMuLjM0ZWNiNjRl
NDViMTc3MmZlMzIwYjYzOTQwZmZiNjI1MmUwNGFmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xMTYxLDcgKzExNjEsNyBAQCBOZXR3b3JrU2Vzc2lvbkNvY29hOjpOZXR3b3JrU2Vzc2lvbkNv
Y29hKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgTmV0d29yawogI2VuZGlmCiAKICNp
ZiBIQVZFKFNFU1NJT05fQ0xFQU5VUCkKLSAgICBhY3RpdmF0ZVNlc3Npb25DbGVhbnVwKCp0aGlz
KTsKKyAgICBhY3RpdmF0ZVNlc3Npb25DbGVhbnVwKCp0aGlzLCBwYXJhbWV0ZXJzKTsKICNlbmRp
ZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgppbmRleCA1
N2U0YThiOTgzMDZmY2ZkMTI5M2Q5YzUzMzIyNGE2N2IxZjFjZWU3Li43Y2I3NTBhNzY5NDM3OTk3
OWVlMWM4OTFiMzVkMmIzZDhhMmRiNzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a1Byb2Nlc3Muc2IuaW4KQEAgLTQ0MCwzICs0NDAsNiBAQAogKGFsbG93IG1hY2gtbG9va3VwCiAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuUHJvZ3Jlc3NSZXBvcnRpbmciKSkKIAorOzsgTmVl
ZGVkIGZvciBUQ0MuCisoYWxsb3cgbWFjaC1sb29rdXAKKyAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS50Y2NkIikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy5zYiBiL1NvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3Jr
aW5nLnNiCmluZGV4IGJkMjI2ZTJkYzgyOGZhOTY1YWY3MDQyMGNhNjZlYjJhNGM0NmIyZDcuLjAw
OTQyYjQwMDdmYjgyMjE0M2NhOTQ3NTQwNGI1YmEyOGM1NDdmZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5O
ZXR3b3JraW5nLnNiCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxl
cy9pb3MvY29tLmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnNiCkBAIC02NzQsMyArNjc0LDcgQEAK
ICAgICAod2VsbC1rbm93bi1zeXN0ZW0tZ3JvdXAtY29udGFpbmVyLWxpdGVyYWwgIi9zeXN0ZW1n
cm91cC5jb20uYXBwbGUubW9iaWxlZ2VzdGFsdGNhY2hlL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBs
ZS5Nb2JpbGVHZXN0YWx0LnBsaXN0IikpCiAoYWxsb3cgaW9raXQtZ2V0LXByb3BlcnRpZXMKICAg
ICAoaW9raXQtcHJvcGVydHkgIklPUmVnaXN0cnlFbnRyeVByb3BlcnR5S2V5cyIpKQorCis7OyBO
ZWVkZWQgZm9yIFRDQy4KKyhhbGxvdyBtYWNoLWxvb2t1cAorICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLnRjY2QiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNz
LWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9wcm9jZXNzLWVudGl0bGVt
ZW50cy5zaAppbmRleCBiMmEyMjhhZTA5MTJjNTIzODU2NThmNTdjODM3ODk4ZDgyOTBkYTQ2Li4x
ZmM1YmQ5MTk3YmI2MGMwYjNkNWU4NWJmMzRhOGYyZWE3MGMyYjA0IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy1lbnRpdGxlbWVudHMuc2gKKysrIGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL3Byb2Nlc3MtZW50aXRsZW1lbnRzLnNoCkBAIC00NSw2ICs0NSwxMiBAQCBm
dW5jdGlvbiBtYWNfcHJvY2Vzc19uZXR3b3JrX2VudGl0bGVtZW50cygpCiAgICAgICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUg
Ym9vbCBZRVMKICAgICAgICAgZmkKIAorICAgICAgICBpZiAoKCAiJHtUQVJHRVRfTUFDX09TX1hf
VkVSU0lPTl9NQUpPUn0iID49IDEwMTYwMCApKQorICAgICAgICB0aGVuCisgICAgICAgICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUudGNjLm1hbmFnZXIuY2hlY2stYnktYXVk
aXQtdG9rZW4gYXJyYXkKKyAgICAgICAgICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJp
dmF0ZS50Y2MubWFuYWdlci5jaGVjay1ieS1hdWRpdC10b2tlbjowIHN0cmluZyBrVENDU2Vydmlj
ZVdlYktpdEludGVsbGlnZW50VHJhY2tpbmdQcmV2ZW50aW9uCisgICAgICAgIGZpCisKICAgICAg
ICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5yb290bGVzcy5zdG9yYWdlLldlYktpdE5ldHdv
cmtpbmdTYW5kYm94IGJvb2wgWUVTCiAgICAgZmkKIH0KQEAgLTEwMSw2ICsxMDcsOSBAQCBmdW5j
dGlvbiBtYWNjYXRhbHlzdF9wcm9jZXNzX25ldHdvcmtfZW50aXRsZW1lbnRzKCkKIHsKICAgICBw
bGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUubmV0d29yay5zb2NrZXQtZGVsZWdhdGUg
Ym9vbCBZRVMKICAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnNlY3VyaXR5Lm5ldHdvcmsu
Y2xpZW50IGJvb2wgWUVTCisKKyAgICBwbGlzdGJ1ZGR5IEFkZCA6Y29tLmFwcGxlLnByaXZhdGUu
dGNjLm1hbmFnZXIuY2hlY2stYnktYXVkaXQtdG9rZW4gYXJyYXkKKyAgICBwbGlzdGJ1ZGR5IEFk
ZCA6Y29tLmFwcGxlLnByaXZhdGUudGNjLm1hbmFnZXIuY2hlY2stYnktYXVkaXQtdG9rZW46MCBz
dHJpbmcga1RDQ1NlcnZpY2VXZWJLaXRJbnRlbGxpZ2VudFRyYWNraW5nUHJldmVudGlvbgogfQog
CiBmdW5jdGlvbiBtYWNjYXRhbHlzdF9wcm9jZXNzX3BsdWdpbl9lbnRpdGxlbWVudHMoKQpAQCAt
MTY4LDYgKzE3Nyw5IEBAIGZ1bmN0aW9uIGlvc19mYW1pbHlfcHJvY2Vzc19uZXR3b3JrX2VudGl0
bGVtZW50cygpCiAgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLm1lbW9yeXN0
YXR1cyBib29sIFlFUwogICAgIHBsaXN0YnVkZHkgQWRkIDpjb20uYXBwbGUucHJpdmF0ZS5uZXR3
b3JrLnNvY2tldC1kZWxlZ2F0ZSBib29sIFlFUwogCisgICAgcGxpc3RidWRkeSBBZGQgOmNvbS5h
cHBsZS5wcml2YXRlLnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1ZGl0LXRva2VuIGFycmF5CisgICAg
cGxpc3RidWRkeSBBZGQgOmNvbS5hcHBsZS5wcml2YXRlLnRjYy5tYW5hZ2VyLmNoZWNrLWJ5LWF1
ZGl0LXRva2VuOjAgc3RyaW5nIGtUQ0NTZXJ2aWNlV2ViS2l0SW50ZWxsaWdlbnRUcmFja2luZ1By
ZXZlbnRpb24KKwogICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlcyBhcnJheQog
ICAgIHBsaXN0YnVkZHkgQWRkIDpzZWF0YmVsdC1wcm9maWxlczowIHN0cmluZyBjb20uYXBwbGUu
V2ViS2l0Lk5ldHdvcmtpbmcKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IDcwY2Y2YTM1NzdkMjlkMzA5
YTljZTdlYTExMjRhYjg0ZWZmZjExMGYuLjk1MGQyZWY1YjRlNTFjY2ExOGU2MWIwNDAzNThlOWJj
Y2FiYWQzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtNjgsNyArNjgsMTEgQEAgV0tXZWJzaXRlRGF0
YVN0b3JlUmVmIFdLV2Vic2l0ZURhdGFTdG9yZUNyZWF0ZVdpdGhDb25maWd1cmF0aW9uKFdLV2Vi
c2l0ZURhdGFTdG8KIAogdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIGVu
YWJsZSkKIHsKLSAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOworICAgIGF1dG8qIHdlYnNpdGVEYXRhU3RvcmUg
PSBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpOworI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpCisgICAgd2Vic2l0ZURhdGFTdG9yZS0+dXNlRXhwbGljaXRJVFBTdGF0ZSgp
OworI2VuZGlmCisgICAgd2Vic2l0ZURhdGFTdG9yZS0+c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoZW5hYmxlKTsKIH0KIAogdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVJc1N0YXRpc3Rp
Y3NFcGhlbWVyYWwoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29u
dGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc0VwaGVtZXJhbEZ1bmN0aW9uIGNvbXBs
ZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KaW5kZXggOGVkMWQxYjM5YzhkOWM0MjlmMjg4MzA3
OGRhN2ZmZTYzZDFiODcwMy4uYmYzYTA5ODUzYzhlNWE1ZDQ5MzRkMjhmYjY2NjlmNDk2ZjYyMDM3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC0yNzgsNiArMjc4LDcgQEAgc3RhdGljIFZlY3RvcjxXZWJL
aXQ6OldlYnNpdGVEYXRhUmVjb3JkPiB0b1dlYnNpdGVEYXRhUmVjb3JkcyhOU0FycmF5ICpkYXRh
UmVjb3IKIAogLSAodm9pZClfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6KEJPT0wp
ZW5hYmxlZAogeworICAgIF93ZWJzaXRlRGF0YVN0b3JlLT51c2VFeHBsaWNpdElUUFN0YXRlKCk7
CiAgICAgX3dlYnNpdGVEYXRhU3RvcmUtPnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KGVuYWJsZWQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9WZXJzaW9uQ2hlY2tzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WZXJzaW9u
Q2hlY2tzLmgKaW5kZXggMDNiMzFjYjI5ODBkZWE0ZTZlYmEwYzVmNWQ3ZGRhYWVmMTRjNTA0ZC4u
ODY3MTlhYzQzYjU1NTliNGVhYThiODBlNDYxZjAxOWExM2Y0NDBmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmVyc2lvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZlcnNpb25DaGVja3MuaApAQCAtNDYsMTQgKzQ2LDIzIEBA
CiAjaWZuZGVmIERZTERfSU9TX1ZFUlNJT05fRklSU1RfV0lUSF9ERVZJQ0VfT1JJRU5UQVRJT05f
QU5EX01PVElPTl9QRVJNSVNTSU9OX0FQSQogI2RlZmluZSBEWUxEX0lPU19WRVJTSU9OX0ZJUlNU
X1dJVEhfREVWSUNFX09SSUVOVEFUSU9OX0FORF9NT1RJT05fUEVSTUlTU0lPTl9BUEkgMAogI2Vu
ZGlmCisKKyNpZm5kZWYgRFlMRF9JT1NfVkVSU0lPTl9GSVJTVF9XSVRIX1NFU1NJT05fQ0xFQU5V
UF9CWV9ERUZBVUxUCisjZGVmaW5lIERZTERfSU9TX1ZFUlNJT05fRklSU1RfV0lUSF9TRVNTSU9O
X0NMRUFOVVBfQllfREVGQVVMVCAwCisjZW5kaWYKKwogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKICNpZiBQTEFURk9STShNQUMpCiAjaWZuZGVmIERZTERfTUFDT1NfVkVSU0lPTl9G
SVJTVF9XSVRIX0VYQ0VQVElPTlNfRk9SX1JFTEFURURfV0VCVklFV1NfVVNJTkdfRElGRkVSRU5U
X0RBVEFfU1RPUkVTCiAjZGVmaW5lIERZTERfTUFDT1NfVkVSU0lPTl9GSVJTVF9XSVRIX0VYQ0VQ
VElPTlNfRk9SX1JFTEFURURfV0VCVklFV1NfVVNJTkdfRElGRkVSRU5UX0RBVEFfU1RPUkVTIDAK
ICNlbmRpZgorCisjaWZuZGVmIERZTERfTUFDT1NfVkVSU0lPTl9GSVJTVF9XSVRIX1NFU1NJT05f
Q0xFQU5VUF9CWV9ERUZBVUxUCisjZGVmaW5lIERZTERfTUFDT1NfVkVSU0lPTl9GSVJTVF9XSVRI
X1NFU1NJT05fQ0xFQU5VUF9CWV9ERUZBVUxUIDAKICNlbmRpZgogCisjZW5kaWYgLy8gUExBVEZP
Uk0oTUFDKQogCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtODIsNiArOTEsNyBAQCBlbnVtIGNs
YXNzIFNES1ZlcnNpb24gOiB1aW50MzJfdCB7CiAgICAgRmlyc3RUaGF0U3VwcG9ydHNPdmVyZmxv
d0hpZGRlbk9uTWFpbkZyYW1lID0gRFlMRF9JT1NfVkVSU0lPTl8xM18wLAogICAgIEZpcnN0V2hl
cmVTaXRlU3BlY2lmaWNRdWlya3NBcmVFbmFibGVkQnlEZWZhdWx0ID0gRFlMRF9JT1NfVkVSU0lP
Tl8xM18yLAogICAgIEZpcnN0VGhhdFJlc3RyaWN0c0Jhc2VVUkxTY2hlbWVzID0gRFlMRF9JT1Nf
VkVSU0lPTl8xM180LAorICAgIEZpcnN0V2l0aFNlc3Npb25DbGVhbnVwQnlEZWZhdWx0ID0gRFlM
RF9JT1NfVkVSU0lPTl9GSVJTVF9XSVRIX1NFU1NJT05fQ0xFQU5VUF9CWV9ERUZBVUxULAogI2Vs
aWYgUExBVEZPUk0oTUFDKQogICAgIEZpcnN0V2l0aE5ldHdvcmtDYWNoZSA9IERZTERfTUFDT1NY
X1ZFUlNJT05fMTBfMTEsCiAgICAgRmlyc3RXaXRoRXhjZXB0aW9uc0ZvckR1cGxpY2F0ZUNvbXBs
ZXRpb25IYW5kbGVyQ2FsbHMgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEzLApAQCAtOTMsNiAr
MTAzLDcgQEAgZW51bSBjbGFzcyBTREtWZXJzaW9uIDogdWludDMyX3QgewogICAgIEZpcnN0V2l0
aEV4Y2VwdGlvbnNGb3JSZWxhdGVkV2ViVmlld3NVc2luZ0RpZmZlcmVudERhdGFTdG9yZXMgPSBE
WUxEX01BQ09TX1ZFUlNJT05fRklSU1RfV0lUSF9FWENFUFRJT05TX0ZPUl9SRUxBVEVEX1dFQlZJ
RVdTX1VTSU5HX0RJRkZFUkVOVF9EQVRBX1NUT1JFUywKICAgICBGaXJzdFdoZXJlU2l0ZVNwZWNp
ZmljUXVpcmtzQXJlRW5hYmxlZEJ5RGVmYXVsdCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTBfMTVf
MSwKICAgICBGaXJzdFRoYXRSZXN0cmljdHNCYXNlVVJMU2NoZW1lcyA9IERZTERfTUFDT1NYX1ZF
UlNJT05fMTBfMTVfNCwKKyAgICBGaXJzdFdpdGhTZXNzaW9uQ2xlYW51cEJ5RGVmYXVsdCA9IERZ
TERfTUFDT1NfVkVSU0lPTl9GSVJTVF9XSVRIX1NFU1NJT05fQ0xFQU5VUF9CWV9ERUZBVUxULAog
I2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
aW5kZXggZWFiYzg5N2JiM2U2NDM1YjBlNjg2OGI1ZDM2ZTUyZjVhZGFhZWY1NC4uMjJiOGViODFh
ZWU5MWI3MWVmMWQzOGI0NTkyZjdkZGIwYmVlNTk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEzNiw2ICsxMzYsMTQgQEAKICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmg+CiAjZW5kaWYKIAorI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1dlYlByb2Nlc3NQb29sQWRkaXRp
b25zLmg+CisjZWxzZQorI2RlZmluZSBXRUJfUFJPQ0VTU19QT09MX0FERElUSU9OUworI2RlZmlu
ZSBXRUJfUFJPQ0VTU19QT09MX0FERElUSU9OU18yCisjZGVmaW5lIFdFQl9QUk9DRVNTX1BPT0xf
QURESVRJT05TXzMKKyNlbmRpZgorCiAjZGVmaW5lIFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9H
KGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPRyhjaGFubmVsLCAiJXAgLSBXZWJQcm9jZXNz
UG9vbDo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAjZGVmaW5lIFdFQlBST0NFU1NQT09M
X1JFTEVBU0VfTE9HX0VSUk9SKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUihj
aGFubmVsLCAiJXAgLSBXZWJQcm9jZXNzUG9vbDo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18p
CiAjZGVmaW5lIFdFQlBST0NFU1NQT09MX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoY2hhbm5lbCwg
Zm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93
ZWQoKSwgY2hhbm5lbCwgIiVwIC0gV2ViUHJvY2Vzc1Bvb2w6OiIgZm10LCB0aGlzLCAjI19fVkFf
QVJHU19fKQpAQCAtMjQxLDYgKzI0OSw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9v
bChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICNlbmRpZgog
ICAgICwgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkobV9jb25maWd1cmF0aW9uLT5h
bHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkoKSkKICAgICAsIG1fc2hvdWxkVGFrZVVJQmFj
a2dyb3VuZEFzc2VydGlvbihtX2NvbmZpZ3VyYXRpb24tPnNob3VsZFRha2VVSUJhY2tncm91bmRB
c3NlcnRpb24oKSkKKyAgICBXRUJfUFJPQ0VTU19QT09MX0FERElUSU9OUwogICAgICwgbV91c2Vy
T2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJv
Y2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlz
YWJsZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nl
c3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCiAgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VU
aHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7IH0pCkBAIC01ODUsNiArNTk0LDcgQEAg
TmV0d29ya1Byb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZU5ldHdvcmtQcm9jZXNz
KFdlYnNpdGVEYXRhU3RvcmUqIHdpdGgKICNlbmRpZgogICAgIFdlYkNvcmU6OkZpcnN0UGFydHlX
ZWJzaXRlRGF0YVJlbW92YWxNb2RlIGZpcnN0UGFydHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlID0g
V2ViQ29yZTo6Rmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGU6OkFsbEJ1dENvb2tpZXM7
CiAgICAgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gbWFudWFsUHJldmFsZW50UmVzb3VyY2Ug
eyB9OworICAgIFdFQl9QUk9DRVNTX1BPT0xfQURESVRJT05TXzIKICAgICBpZiAod2l0aFdlYnNp
dGVEYXRhU3RvcmUpIHsKICAgICAgICAgZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljcyA9IHdp
dGhXZWJzaXRlRGF0YVN0b3JlLT5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCgpOwogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCkBAIC04MzIsNiArODQyLDcgQEAgdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4dGVuc2lvbnMoKQogCiBX
ZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKFdlYnNp
dGVEYXRhU3RvcmUqIHdlYnNpdGVEYXRhU3RvcmUsIFdlYlByb2Nlc3NQcm94eTo6SXNQcmV3YXJt
ZWQgaXNQcmV3YXJtZWQpCiB7CisgICAgV0VCX1BST0NFU1NfUE9PTF9BRERJVElPTlNfMwogICAg
IGF1dG8gcHJvY2Vzc1Byb3h5ID0gV2ViUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMsIHdlYnNp
dGVEYXRhU3RvcmUsIGlzUHJld2FybWVkKTsKICAgICBhdXRvJiBwcm9jZXNzID0gcHJvY2Vzc1By
b3h5LmdldCgpOwogICAgIGluaXRpYWxpemVOZXdXZWJQcm9jZXNzKHByb2Nlc3MsIHdlYnNpdGVE
YXRhU3RvcmUsIGlzUHJld2FybWVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oCmluZGV4IDQzNjc0NjFmOWJlODcwNGU5Njc1MjVkNTk1N2JjODM1N2Y5YzE5NTAuLjAz
N2NiMTY4MDNhZTM5MTJlYjNhNjIxMzBkYTE5OTQzMzc4MmU2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTcyOCw2ICs3MjgsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV9zaG91bGRUYWtlVUlCYWNrZ3JvdW5kQXNzZXJ0aW9uOwogICAgIGJvb2wgbV9z
aG91bGRNYWtlTmV4dFdlYlByb2Nlc3NMYXVuY2hGYWlsRm9yVGVzdGluZyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3Nob3VsZE1ha2VOZXh0TmV0d29ya1Byb2Nlc3NMYXVuY2hGYWlsRm9yVGVzdGlu
ZyB7IGZhbHNlIH07CisgICAgYm9vbCBtX3RjY1ByZWZlcmVuY2VFbmFibGVkIHsgZmFsc2UgfTsK
IAogICAgIFVzZXJPYnNlcnZhYmxlUGFnZUNvdW50ZXIgbV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3Vu
dGVyOwogICAgIFByb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkQ291bnRlciBtX3Byb2Nlc3NTdXBw
cmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3Jl
Q29jb2EubW0KaW5kZXggY2RkYjEwNDNmMDkyZmNjMmJjY2U5NDAwMTM1YzlhZjI5MjE2MTdjNi4u
MDlmMTQ4MTQyZmE3ZmZhNzYyNTkwZDEwZjI2YzE5MGNkZjI3MDgxMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dl
YnNpdGVEYXRhU3RvcmVDb2NvYS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE2Miw2ICsxNjIsNyBAQCBXZWJzaXRlRGF0YVN0
b3JlUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0b3JlOjpwYXJhbWV0ZXJzKCkKICAgICAgICAgV1RG
TW92ZShyZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KSwKICAgICAgICAgV1RGTW92ZShy
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5SGFuZGxlKSwKICAgICAgICAgcmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQoKSwKKyAgICAgICAgaXNJdHBTdGF0ZUV4cGxpY2l0bHlTZXQo
KSwKICAgICAgICAgaGFzU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjaygpLAogICAgICAgICBzaG91
bGRJbmNsdWRlTG9jYWxob3N0SW5SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLAogICAgICAgICBlbmFi
bGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCA0
MTQzYmM3MzNiOTA4ZmUyM2U0YTMyM2NiM2NmZGU0M2FhYzRjNjE4Li5jNWVlYzI4OTE1NzUwMWEz
NjRjYzBlYzg5Y2NlZGEyMDdiZWMxZjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE1OTksNiAr
MTU5OSw3IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJl
Y29yZHNXZXJlU2Nhbm5lZChib29sIHZhbHVlLCBDb21wCiAKIHZvaWQgV2Vic2l0ZURhdGFTdG9y
ZTo6c2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoYm9vbCB2YWx1ZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIHVzZUV4
cGxpY2l0SVRQU3RhdGUoKTsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNr
QWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAKICAg
ICBmb3IgKGF1dG8mIHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKaW5k
ZXggMzZiYjAxOGQ5Y2RkN2JkM2ZkNTEwNWNmZTIzYmZmMDc1NjU5OTA4ZS4uMzQwZDc2MmNmOTYw
ODRlZGY5MWYxNjcwMDBmNTIyNTgxYjdjNWFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE5Niw2ICsx
OTYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2hvdWxk
QmxvY2tUaGlyZFBhcnR5Q29va2llc0ZvclRlc3RpbmcoYm9vbCBlbmFibGVkLCBib29sIG9ubHlP
blNpdGVzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NGaXJzdFBhcnR5V2Vic2l0ZURh
dGFSZW1vdmFsTW9kZUZvclRlc3RpbmcoYm9vbCBlbmFibGVkLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIFdlYkNvcmU6OlRoaXJkUGFydHlDb29raWVCbG9ja2luZ01vZGUgdGhp
cmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZSgpIGNvbnN0OworICAgIGJvb2wgaXNJdHBTdGF0ZUV4
cGxpY2l0bHlTZXQoKSBjb25zdCB7IHJldHVybiBtX2lzSXRwU3RhdGVFeHBsaWNpdGx5U2V0OyB9
CisgICAgdm9pZCB1c2VFeHBsaWNpdElUUFN0YXRlKCkgeyBtX2lzSXRwU3RhdGVFeHBsaWNpdGx5
U2V0ID0gdHJ1ZTsgfQogI2VuZGlmCiAgICAgdm9pZCBzZXRDYWNoZU1heEFnZUNhcEZvclByZXZh
bGVudFJlc291cmNlcyhTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgcmVzZXRDYWNoZU1heEFnZUNhcEZvclByZXZhbGVudFJlc291cmNlcyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwpAQCAtMzM3LDYgKzMzOSw4IEBAIHByaXZhdGU6CiAgICAgCiAg
ICAgV2Vha0hhc2hTZXQ8V2ViUHJvY2Vzc1Byb3h5PiBtX3Byb2Nlc3NlczsKIAorICAgIGJvb2wg
bV9pc0l0cFN0YXRlRXhwbGljaXRseVNldCB7IGZhbHNlIH07CisKICNpZiBIQVZFKFNFQ19LRVlf
UFJPWFkpCiAgICAgVmVjdG9yPFJlZjxTZWNLZXlQcm94eVN0b3JlPj4gbV9zZWNLZXlQcm94eVN0
b3JlczsKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>