<?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>196948</bug_id>
          
          <creation_ts>2019-04-15 16:55:08 -0700</creation_ts>
          <short_desc>Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering</short_desc>
          <delta_ts>2019-04-24 19:17:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=196926</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=195111</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>197089</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1527522</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-15 16:55:08 -0700</bug_when>
    <thetext>TestWebKitAPI.WebKit.AutoLayoutRenderingProgressRelativeOrdering seems to have start failing consistently recently.

e.g.:
https://ews-build.webkit.org/#/builders/3/builds/588
https://ews-build.webkit.org/#/builders/3/builds/589
https://ews-build.webkit.org/#/builders/3/builds/590</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527525</commentid>
    <comment_count>1</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-04-15 17:02:11 -0700</bug_when>
    <thetext>Failed
    TestWebKitAPI.WebKit.AutoLayoutRenderingProgressRelativeOrdering
        
        /Volumes/Data/worker/macOS-High-Sierra-Release-Build-EWS/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:191
        Value of: didInvalidateIntrinsicContentSize
          Actual: false
        Expected: true
        
        
        /Volumes/Data/worker/macOS-High-Sierra-Release-Build-EWS/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:202
        Value of: didFirstLayout
          Actual: true
        Expected: false</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527529</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-15 17:03:14 -0700</bug_when>
    <thetext>Seems like this test is catching a real failure, which was introduced today in https://trac.webkit.org/changeset/244291

EWS indicated the failure for that patch in: https://ews-build.webkit.org/#/builders/3/builds/578</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527532</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-15 17:14:03 -0700</bug_when>
    <thetext>r244291 potentially changed the order of incoming milestones. This test might be relying on the ordering (which it is not supposed to). Will look into this shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527569</commentid>
    <comment_count>4</comment_count>
      <attachid>367487</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-15 19:01:22 -0700</bug_when>
    <thetext>Created attachment 367487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527572</commentid>
    <comment_count>5</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-15 19:03:45 -0700</bug_when>
    <thetext>Committed r244322: &lt;https://trac.webkit.org/changeset/244322&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527573</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-15 19:04:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/49927131&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527594</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-04-15 20:19:08 -0700</bug_when>
    <thetext>1. If a change breaks a test, we should roll it out.
2. I’m going to reopen this bug because we need to track fixing the failure somewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527811</commentid>
    <comment_count>8</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-16 12:02:06 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #7)
&gt; 2. I’m going to reopen this bug because we need to track fixing the failure somewhere.
Agree. I wasn&apos;t planning to close it. I used webkit-patch command which automatically closed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527832</commentid>
    <comment_count>9</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-04-16 12:55:03 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #8)
&gt; (In reply to Ryan Haddad from comment #7)
&gt; &gt; 2. I’m going to reopen this bug because we need to track fixing the failure somewhere.
&gt; Agree. I wasn&apos;t planning to close it. I used webkit-patch command which
&gt; automatically closed it.
No problem! Just didn&apos;t want it to slip through the cracks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528114</commentid>
    <comment_count>10</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2019-04-17 09:30:26 -0700</bug_when>
    <thetext>Alan, do we have a fix for this or should we just roll out the breaking change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528115</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-17 09:31:12 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #10)
&gt; Alan, do we have a fix for this or should we just roll out the breaking
&gt; change?
We do have a fix for this and will most likely be landing it today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528286</commentid>
    <comment_count>12</comment_count>
      <attachid>367685</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-17 15:17:18 -0700</bug_when>
    <thetext>Created attachment 367685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528287</commentid>
    <comment_count>13</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-17 15:17:31 -0700</bug_when>
    <thetext>WIP ^^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528382</commentid>
    <comment_count>14</comment_count>
      <attachid>367715</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-17 20:18:05 -0700</bug_when>
    <thetext>Created attachment 367715
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528483</commentid>
    <comment_count>15</comment_count>
      <attachid>367732</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-18 09:48:56 -0700</bug_when>
    <thetext>Created attachment 367732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528584</commentid>
    <comment_count>16</comment_count>
      <attachid>367732</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-18 14:13:04 -0700</bug_when>
    <thetext>Comment on attachment 367732
Patch

Clearing flags on attachment: 367732

Committed r244434: &lt;https://trac.webkit.org/changeset/244434&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528585</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-18 14:13:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528609</commentid>
    <comment_count>18</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-18 14:58:49 -0700</bug_when>
    <thetext>&gt; Committed r244434: &lt;https://trac.webkit.org/changeset/244434&gt;
Seems like it broke another API Test: WebKit.AutoLayoutIntegration
https://ews-build.webkit.org/#/builders/3/builds/743</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528610</commentid>
    <comment_count>19</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-18 15:00:02 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #18)
&gt; &gt; Committed r244434: &lt;https://trac.webkit.org/changeset/244434&gt;
&gt; Seems like it broke another API Test: WebKit.AutoLayoutIntegration
&gt; https://ews-build.webkit.org/#/builders/3/builds/743
:( most likely that test needs fixing too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528678</commentid>
    <comment_count>20</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-04-18 19:20:23 -0700</bug_when>
    <thetext>&gt; :( most likely that test needs fixing too.
ok. Test failures makes EWS slow (since EWS has to re-run the tests, and then compile clean tree and re-run treats on clean tree, to ensure that the failures are not flaky or pre-existing).
Can we either fix this test quickly or roll out the commit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528680</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-18 19:23:03 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 197089</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529266</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-04-22 09:23:15 -0700</bug_when>
    <thetext>What is the current status here? Has the fix been rolled back for breaking another test, so we are back to having AutoLayoutRenderingProgressRelativeOrdering fail?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529267</commentid>
    <comment_count>23</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-04-22 09:24:39 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #22)
&gt; What is the current status here? Has the fix been rolled back for breaking
&gt; another test, so we are back to having
&gt; AutoLayoutRenderingProgressRelativeOrdering fail?
Correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530196</commentid>
    <comment_count>24</comment_count>
      <attachid>368187</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-24 15:12:32 -0700</bug_when>
    <thetext>Created attachment 368187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530197</commentid>
    <comment_count>25</comment_count>
      <attachid>368187</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-04-24 15:15:47 -0700</bug_when>
    <thetext>Comment on attachment 368187
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:6244
&gt; +        // Ensure we never send DidFirstLayout milestone withouth updating the intrinsic size.

withouth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530206</commentid>
    <comment_count>26</comment_count>
      <attachid>368191</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-04-24 15:27:34 -0700</bug_when>
    <thetext>Created attachment 368191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530287</commentid>
    <comment_count>27</comment_count>
      <attachid>368191</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-24 19:17:56 -0700</bug_when>
    <thetext>Comment on attachment 368191
Patch

Clearing flags on attachment: 368191

Committed r244633: &lt;https://trac.webkit.org/changeset/244633&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530288</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-24 19:17:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367487</attachid>
            <date>2019-04-15 19:01:22 -0700</date>
            <delta_ts>2019-04-16 12:55:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196948-20190415220240.patch</filename>
            <type>text/plain</type>
            <size>1429</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NDMyMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDE5LTA0LTE1ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBSZWdyZXNzaW9uIChyMjQ0MjkxKTogQnJva2VuIEFQSSBUZXN0IEF1dG9M
YXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njk0OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW06CisgICAgICAgIChURVNUKTogRGlzYWJs
aW5nIHRoZSB0ZXN0IGZvciBub3cgdG8ga2VlcCBpbmZyYXN0cnVjdHVyZSBoYXBweSwgd2hpbGUg
dGhlIHJvb3QtY2F1c2UgaXMgYmVpbmcgaW52ZXN0aWdhdGVkLgorCiAyMDE5LTA0LTE1ICBEZWFu
IEpvaG5zb24gIDxkZWFuX2pvaG5zb25AYXBwbGUuY29tPgogCiAgICAgICAgIFVzaW5nIFRvb2xz
L1NjcmlwdHMvY2xlYW4td2Via2l0IHNob3VsZCBub3QgaW5zdGFsbCByZXF1ZXN0cwpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRp
b24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0JKHJldmlzaW9uIDI0NDMyMCkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzQsNyArMTc0LDcgQEAgVEVTVChXZWJLaXQsIEF1dG9MYXlvdXRJ
bnRlZ3JhdGlvbikKICAgICBbd2ViVmlldyBfc2V0U2hvdWxkRXhwYW5kQ29udGVudFRvVmlld0hl
aWdodEZvckF1dG9MYXlvdXQ6Tk9dOwogfQogCi1URVNUKFdlYktpdCwgQXV0b0xheW91dFJlbmRl
cmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZykKK1RFU1QoV2ViS2l0LCBESVNBQkxFRF9BdXRv
TGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9yZGVyaW5nKQogewogICAgIFJldGFpblB0
cjxBdXRvTGF5b3V0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW0F1dG9MYXlvdXRXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAwLCAxMDAwKV0p
OwogCg==
</data>
<flag name="review"
          id="383852"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367685</attachid>
            <date>2019-04-17 15:17:18 -0700</date>
            <delta_ts>2019-04-17 20:18:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196948-20190417151717.patch</filename>
            <type>text/plain</type>
            <size>17730</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRlNGJkYjE3ZGEyMzgz
OThkMmJiMjE2NzFjY2VhOGRmNGJmYzRhOC4uNjA3ODY4MGE1Y2FhMzQzYTUyYTZiNDE0YjczYTM5
ODUwNjI2MDE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA0LTE3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbiAocjI0NDI5
MSk6IEJyb2tlbiBBUEkgVGVzdCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5OTI3MTMxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDb250ZW50c1NpemUpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCk6CisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuaDoKKwogMjAxOS0wNC0xNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0IGhhcyB0aGUgd3JvbmcgZmFsbGJhY2sgZW5jb2RpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNzUwYzc0ZWI3OGQzODlkMzRlYWY4NjIzNDdhNmU4YzQ2MmVjODU3Ny4uMDRj
MzIzNWZmNDhlMjQyZGIwNTQzZWJmOWE3NDBiNmE0NWNjMWJmYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNCBAQAorMjAxOS0wNC0xNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlZ3Jlc3Npb24gKHIyNDQyOTEpOiBCcm9rZW4gQVBJIFRlc3QgQXV0b0xheW91dFJl
bmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
OTkyNzEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdp
bmdBcmVhUHJveHk6OmRpZFVwZGF0ZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2lu
Z0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UpOiBEZWxldGVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzZXRWaWV3TGF5b3V0U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVBy
b3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZSk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UpOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW06
CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpmbHVzaExh
eWVycyk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1
cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKTogRGVsZXRlZC4KKwogMjAxOS0wNC0x
NiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU01hY10gVXNl
IFVJRG9jdW1lbnRQaWNrZXJWaWV3Q29udHJvbGxlciBmb3IgcGlja2luZyBmaWxlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGU1Y2VkMjEzYjZkOWMzNmM0OWVkZmY2YjYyNTM4ZDBh
NGRjZTQ4NWUuLjFmNzJiZWJhNzg4ZDIxZGM2MGUwYjU1YjdmOTVhZGI5NWQ1YjEyZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYzMSw2ICs2MzEsOCBAQCB2b2lkIEZyYW1lVmll
dzo6c2V0Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgICAgIFBhZ2VDYWNo
ZTo6c2luZ2xldG9uKCkubWFya1BhZ2VzRm9yQ29udGVudHNTaXplQ2hhbmdlZCgqcGFnZSk7CiAg
ICAgfQogICAgIGxheW91dENvbnRleHQoKS5lbmFibGVTZXROZWVkc0xheW91dCgpOworICAgIGlm
IChtX3Nob3VsZEF1dG9TaXplKQorICAgICAgICBtX2F1dG9TaXplQ29udGVudFNpemUgPSBzaXpl
OyAKIH0KIAogdm9pZCBGcmFtZVZpZXc6OmFkanVzdFZpZXdTaXplKCkKQEAgLTM0NjMsNyArMzQ2
NSw2IEBAIHZvaWQgRnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCgpCiAgICAgcmVzaXplKG1f
YXV0b1NpemVDb25zdHJhaW50LndpZHRoKCksIG1fYXV0b1NpemVDb25zdHJhaW50LmhlaWdodCgp
KTsKICAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgIGRvY3VtZW50LT51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKLSAgICBtX2F1dG9TaXplQ29u
dGVudFNpemUgPSBjb250ZW50c1NpemUoKTsKIAogICAgIGF1dG8gZmluYWxXaWR0aCA9IHN0ZDo6
bWF4KG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRoKCksIG1fYXV0b1NpemVDb250ZW50U2l6ZS53
aWR0aCgpKTsKICAgICBhdXRvIGZpbmFsSGVpZ2h0ID0gbV9hdXRvU2l6ZUZpeGVkTWluaW11bUhl
aWdodCA/IHN0ZDo6bWF4KG1fYXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQsIG1fYXV0b1NpemVD
b250ZW50U2l6ZS5oZWlnaHQoKSkgOiBtX2F1dG9TaXplQ29udGVudFNpemUuaGVpZ2h0KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA0ZGE4ZTNkODAyMmY3YWVmN2FmNTg5ODljMmZkMDJm
M2I4ZjNmYTE0Li5kOWIzMzk4ZTE0YTAxNDg2NTg1ZTIxNzg3NjRjNmZkYmE1NzYyMzZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQwMSw2ICs0MDEsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1Zpc3VhbGx5Tm9uRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2lzVmlzdWFsbHlOb25FbXB0
eTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW5hYmxlQXV0b1NpemVNb2RlKGJvb2wgZW5h
YmxlLCBjb25zdCBJbnRTaXplJiBtaW5TaXplKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KGludCk7CisgICAgYm9vbCBpc0F1dG9TaXplRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkQXV0b1NpemU7IH0KICAgICBJbnRTaXplIGF1
dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b1NpemVD
b250ZW50U2l6ZTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmb3JjZUxheW91dChib29s
IGFsbG93U3VidHJlZUxheW91dCA9IGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkuaAppbmRleCBiNjkwNWIwMThmMTE0ZTVjZjYyZTIwMjgzZmU0ZmExYTEy
ZGFiOGU5Li40NmUxNjk3NzI4NGY1YmEzZjg3ZDBmOWFlNDBhMTUzZjM1OWFiOWQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC0xNDMsNyArMTQzLDYg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z01vZGUodWludDY0X3QgLyogYmFja2luZ1N0b3JlU3RhdGVJRCAqLywgY29uc3QgTGF5ZXJUcmVl
Q29udGV4dCYpIHsgfQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9pZCBkaWRV
cGRhdGVHZW9tZXRyeSgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50U2l6
ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9CiAKICNpZiBQTEFURk9STShN
QUMpCiAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ0FyZWFQcm94eT4gbV92aWV3RXhwb3NlZFJl
Y3RDaGFuZ2VkVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzZTU4ZGU1OTVkZGM2MTY4OGU2YWMxZTE2YzVl
ZmMxOTdkMDgxNGJmLi5iY2YyZmI5ZjMyMGY4MTI2NDM3Y2U3MmE0OGFhZDExMjdlMGVlZDFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVz
c2FnZXMuaW4KQEAgLTMxLDYgKzMxLDUgQEAgbWVzc2FnZXMgLT4gRHJhd2luZ0FyZWFQcm94eSB7
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5LgogICAgIERpZFVwZGF0ZUdlb21ldHJ5KCkKLSAgICBJbnRyaW5zaWND
b250ZW50U2l6ZURpZENoYW5nZShXZWJDb3JlOjpJbnRTaXplIG5ld0ludHJpbnNpY0NvbnRlbnRT
aXplKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCBhOWE2YTI4ZGVmZjc1ZWFhNTQ2NWI2MjBiMjRjMzE1ODExOGI1NjA1Li5iMjlhMGQxMDYw
ZTUwNDk2NjQ3YmU3NmZhOWNjYTg1OTNlNTgzMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU0NjQsNiArNTQ2NCwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkQ2hhbmdlQ29udGVudFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBwYWdlQ2xp
ZW50KCkuZGlkQ2hhbmdlQ29udGVudFNpemUoc2l6ZSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5
OjpkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6ZShjb25zdCBJbnRTaXplJiBpbnRyaW5zaWND
b250ZW50U2l6ZSkKK3sKKyAgICBwYWdlQ2xpZW50KCkuaW50cmluc2ljQ29udGVudFNpemVEaWRD
aGFuZ2UoaW50cmluc2ljQ29udGVudFNpemUpOworfQorCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbG9yUGlja2VyKGNvbnN0IFdlYkNvcmU6
OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBWZWN0b3I8
V2ViQ29yZTo6Q29sb3I+JiYgc3VnZ2VzdGlvbnMpCiB7CkBAIC03NTk2LDcgKzc2MDEsNyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld0xheW91dFNpemUoY29uc3QgSW50U2l6ZSYgdmlld0xh
eW91dFNpemUpCiAKICNpZiBVU0UoQVBQS0lUKQogICAgIGlmIChtX3ZpZXdMYXlvdXRTaXplLndp
ZHRoKCkgPD0gMCkKLSAgICAgICAgaW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoSW50U2l6
ZSgtMSwgLTEpKTsKKyAgICAgICAgZGlkQ2hhbmdlSW50cmluc2ljQ29udGVudFNpemUoSW50U2l6
ZSgtMSwgLTEpKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDlhMDZkZTczNWM0ZjJiNzE2NmVlYjRiOWVlMTE2YTlhNTljYzhkMzkuLjY1Yjc2
MWZiZTliOTBjMzRmOTQ2OTkyNDAzMWU4YjMzZGY3ODVmMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03ODksNyArNzg5LDYgQEAgcHVibGljOgogICAgIE5TVmll
dyAqaW5zcGVjdG9yQXR0YWNobWVudFZpZXcoKTsKICAgICBfV0tSZW1vdGVPYmplY3RSZWdpc3Ry
eSAqcmVtb3RlT2JqZWN0UmVnaXN0cnkoKTsKIAotICAgIHZvaWQgaW50cmluc2ljQ29udGVudFNp
emVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUp
OwogICAgIENHUmVjdCBib3VuZHNPZkxheWVySW5MYXllckJhY2tlZFdpbmRvd0Nvb3JkaW5hdGVz
KENBTGF5ZXIgKikgY29uc3Q7CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCkBAIC0xNzE0LDYg
KzE3MTMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCk7CiAKICAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRTaXplKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyAgICB2b2lkIGRpZENoYW5nZUludHJpbnNpY0NvbnRl
bnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBF
X0NPTE9SKQogICAgIHZvaWQgc2hvd0NvbG9yUGlja2VyKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBp
bml0aWFsQ29sb3IsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBWZWN0b3I8V2ViQ29yZTo6Q29s
b3I+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IGExYTJmZWE2NWY0YjYzZTQwYTg5MjhlY2UzMTZjZDU5MmYxZjc4YzEuLjI4
YzRlNzY5OTg2YTY2NGQxMzNmOGEyZTliOWZjMDg5ODk4NTMwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTg4LDYgKzg4LDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTZXRDYW5TaG9ydENpcmN1aXRIb3Jp
em9udGFsV2hlZWxFdmVudHMoYm9vbCBjYW5TaG9ydENpcmN1aXRIb3Jpem9udGFsV2hlZWxFdmVu
dHMpCiAKICAgICBEaWRDaGFuZ2VDb250ZW50U2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUp
CisgICAgRGlkQ2hhbmdlSW50cmluc2ljQ29udGVudFNpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdJ
bnRyaW5zaWNDb250ZW50U2l6ZSkKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAg
IFNob3dDb2xvclBpY2tlcihXZWJDb3JlOjpDb2xvciBpbml0aWFsQ29sb3IsIFdlYkNvcmU6Oklu
dFJlY3QgZWxlbWVudFJlY3QsIFZlY3RvcjxXZWJDb3JlOjpDb2xvcj4gc3VnZ2VzdGlvbnMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggZjJmMjcwMmEwMTVlMjVhM2RhMWFi
MTdlNjUzOWM3NzgyOTgwNGU3Yi4uNDQyMDBjMmRhNDQ5ZjdiMmJlMmFmNjRlMTVjMWRlMDMwNTUy
NjlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oCkBAIC02MCw3ICs2MCw2IEBA
IHByaXZhdGU6CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkVXBkYXRl
R2VvbWV0cnkoKSBvdmVycmlkZTsKLSAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hh
bmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc2VuZFVw
ZGF0ZUdlb21ldHJ5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KaW5kZXgg
YjdmY2RmY2VhNzdhZDVmNThkMmY0M2U2ZjIzYzFjMGEwMTNmMGY0YS4uZjg1ZTYwZGZhYTc1ZmI1
MmE2N2JlODRmYzc2ODlmNWMyNDc5MGU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHkubW0KQEAgLTEyNSwxMiArMTI1LDYgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5Ojp3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVMKICAgICBw
cm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRVcGRhdGVBY3Rpdml0eVN0YXRlPihtX2lkZW50aWZpZXIu
dG9VSW50NjQoKSwgYWN0aXZpdHlTdGF0ZVVwZGF0ZVRpbWVvdXQsIElQQzo6V2FpdEZvck9wdGlv
bjo6SW50ZXJydXB0V2FpdGluZ0lmU3luY01lc3NhZ2VBcnJpdmVzKTsKIH0KIAotdm9pZCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENo
YW5nZShjb25zdCBJbnRTaXplJiBuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkKLXsKLSAgICBpZiAo
bV93ZWJQYWdlUHJveHkudmlld0xheW91dFNpemUoKS53aWR0aCgpID4gMCkKLSAgICAgICAgbV93
ZWJQYWdlUHJveHkuaW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UobmV3SW50cmluc2ljQ29u
dGVudFNpemUpOwotfQotCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6
OndpbGxTZW5kVXBkYXRlR2VvbWV0cnkoKQogewogICAgIG1fbGFzdFNlbnRWaWV3TGF5b3V0U2l6
ZSA9IG1fd2ViUGFnZVByb3h5LnZpZXdMYXlvdXRTaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCA3NGY2YTY5NjlkODkyMWVjMGEx
YTgwZDcwNjBiMjk5YmUwMmM4OWI0Li4xMzhkMTMyYWMxZjMxNjI5NGNkNjNkYjg5NDE3OTMzZThj
NWZmZTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVBy
b3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlN
YWMubW0KQEAgLTQzMywxMSArNDMzLDYgQEAgYm9vbCBXZWJQYWdlUHJveHk6OmFjY2VwdHNGaXJz
dE1vdXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViS2l0OjpXZWJNb3VzZUV2ZW4KICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29udGVudFNp
emVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpCi17Ci0gICAg
cGFnZUNsaWVudCgpLmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGludHJpbnNpY0NvbnRl
bnRTaXplKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OnNldFJlbW90ZUxheWVyVHJlZVJvb3RO
b2RlKFJlbW90ZUxheWVyVHJlZU5vZGUqIHJvb3ROb2RlKQogewogICAgIHBhZ2VDbGllbnQoKS5z
ZXRSZW1vdGVMYXllclRyZWVSb290Tm9kZShyb290Tm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGUxMGU4ZmRiN2Q0Mjk2M2EwMzI3Mjg1
ZWJjMDczNTZhYmI5OWQyZjUuLmRiZjRhNWRkYzU3YWE4YTk1YThmZjQ3MDNmZjg0YjNjMWE2YjE0
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC02MjE2LDYgKzYyMTYsMjQgQEAgdm9pZCBXZWJQYWdlOjpyZW1vdmVBbGxVc2VyQ29udGVudCgp
CiAgICAgbV91c2VyQ29udGVudENvbnRyb2xsZXItPnJlbW92ZUFsbFVzZXJDb250ZW50KCk7CiB9
CiAKK3ZvaWQgV2ViUGFnZTo6dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCgpCit7
CisgICAgaWYgKCF2aWV3TGF5b3V0U2l6ZSgpLndpZHRoKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEFTU0VSVChtYWluRnJhbWVWaWV3KCkpOworICAgIGlmICghbWFpbkZyYW1lVmlldygpLT5p
c0F1dG9TaXplRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47IAorCisgICAgQVNTRVJUKCFtYWlu
RnJhbWVWaWV3KCktPm5lZWRzTGF5b3V0KCkpOworICAgIGF1dG8gY29udGVudFNpemUgPSBtYWlu
RnJhbWVWaWV3KCktPmF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpOworICAgIGlmICht
X2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPT0gY29udGVudFNpemUpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6ZSA9IGNvbnRlbnRTaXpl
OworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ2hhbmdlSW50cmluc2ljQ29u
dGVudFNpemUoY29udGVudFNpemUpKTsKK30KKwogdm9pZCBXZWJQYWdlOjpkaXNwYXRjaERpZFJl
YWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+IG1p
bGVzdG9uZXMpCiB7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKQEAgLTYyMzEs
NiArNjI0OSw4IEBAIHZvaWQgV2ViUGFnZTo6ZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9u
ZShPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lCiAgICAgICAgIGlmIChkcmF3aW5n
QXJlYVJlbGF0ZWRNaWxlc3RvbmVzICYmIG1fZHJhd2luZ0FyZWEtPmFkZE1pbGVzdG9uZXNUb0Rp
c3BhdGNoKGRyYXdpbmdBcmVhUmVsYXRlZE1pbGVzdG9uZXMpKQogICAgICAgICAgICAgbWlsZXN0
b25lcy5yZW1vdmUoZHJhd2luZ0FyZWFSZWxhdGVkTWlsZXN0b25lcyk7CiAgICAgfQorICAgIGlm
IChtaWxlc3RvbmVzLmNvbnRhaW5zKERpZEZpcnN0TGF5b3V0KSkKKyAgICAgICAgdXBkYXRlSW50
cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCgpOwogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxlc3RvbmVzKSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYTM0ZGFkYzY3OTBkMTBi
MDA1NWNiOTM0YzZlYjExZTU3YTMyYjVjMi4uNGNiOWRlNGEzODRjNmJjOTZhYTNjMzM0NGEzMzhk
ZDg4NjFjM2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aApAQCAtMTU1MSw2ICsxNTUxLDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc2hvdWxkRGlzcGF0
Y2hVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudChjb25zdCBXZWJDb3JlOjpFbGVtZW50JikgY29u
c3Q7CiAKKyAgICB2b2lkIHVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQoKTsKKwog
ICAgIHVpbnQ2NF90IG1fcGFnZUlEOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBh
Z2U+IG1fcGFnZTsKQEAgLTE4OTAsNiArMTg5Miw3IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgV2Vha1B0cjxSZW1vdGVPYmplY3RSZWdpc3RyeT4gbV9yZW1vdGVPYmplY3RS
ZWdpc3RyeTsKICNlbmRpZgorICAgIFdlYkNvcmU6OkludFNpemUgbV9sYXN0U2VudEludHJpbnNp
Y0NvbnRlbnRTaXplOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCmluZGV4IDlhZjFlN2ZkNGRhNWQxMTYzNjNiMDI4NTBk
OGVjNTkzYzYxMTllMTUuLjFkOGFlZWViNTVmNTk0NmI5OTg4N2E0MzZjZTFmMjIwOGNmZGE5ZGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCkBAIC0xMjEsNyArMTIx
LDYgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaWxlZEJhY2tpbmcqIG1haW5GcmFtZVRpbGVk
QmFja2luZygpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlRGVidWdJbmZvTGF5ZXIoYm9vbCBzaG93
TGF5ZXIpOwogCi0gICAgdm9pZCB1cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKCk7
CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0KCk7CiAgICAgdm9pZCBzY2FsZVZp
ZXdUb0ZpdERvY3VtZW50SWZOZWVkZWQoKTsKIApAQCAtMTUwLDggKzE0OSw2IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RWaWV3U2l6ZUZvclNjYWxlVG9GaXQ7CiAgICAg
V2ViQ29yZTo6SW50U2l6ZSBtX2xhc3REb2N1bWVudFNpemVGb3JTY2FsZVRvRml0OwogCi0gICAg
V2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemU7Ci0KICAgICBk
b3VibGUgbV90cmFuc2llbnRab29tU2NhbGUgeyAxIH07CiAgICAgV2ViQ29yZTo6RmxvYXRQb2lu
dCBtX3RyYW5zaWVudFpvb21PcmlnaW47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS5tbQppbmRleCA4NWYwY2EyY2RlZTU4MmE5NjFiMzBiMWY3MTU1MDdjNTVlZThmZTUw
Li44MDk1ZTY3ZDhmNmRmZjIxYmFjNmExZTA0NzA2YmIxYWFjZmFmMDdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC0yNzgsMjYgKzI3OCw2IEBAIHZvaWQg
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdl
ZChjb25zdCBJbnRTaXplJiBzCiB7CiB9CiAKLXZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQoKQotewotICAgIGlmICgh
bV93ZWJQYWdlLnZpZXdMYXlvdXRTaXplKCkud2lkdGgoKSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3dlYlBhZ2UubWFpbkZyYW1lVmlldygpOwotICAg
IGlmICghZnJhbWVWaWV3KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoZnJhbWVWaWV3LT5u
ZWVkc0xheW91dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBJbnRTaXplIGNvbnRlbnRTaXpl
ID0gZnJhbWVWaWV3LT5hdXRvU2l6aW5nSW50cmluc2ljQ29udGVudFNpemUoKTsKLSAgICBpZiAo
bV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplID09IGNvbnRlbnRTaXplKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPSBjb250ZW50U2l6
ZTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpJbnRyaW5zaWNDb250ZW50
U2l6ZURpZENoYW5nZShjb250ZW50U2l6ZSkpOwotfQotCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhOjpzZXRTaG91bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50KGJvb2wgc2hvdWxk
U2NhbGVWaWV3KQogewogICAgIGlmIChtX3Nob3VsZFNjYWxlVmlld1RvRml0RG9jdW1lbnQgPT0g
c2hvdWxkU2NhbGVWaWV3KQpAQCAtNDYyLDggKzQ0Miw2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKEZsdXNoVHlwZSBmbHVzaFR5cGUpCiAgICAgICAg
IG1fd2ViUGFnZS51cGRhdGVSZW5kZXJpbmcoKTsKICAgICAgICAgbV93ZWJQYWdlLmZsdXNoUGVu
ZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7CiAKLSAgICAgICAgdXBkYXRlSW50cmluc2ljQ29udGVu
dFNpemVJZk5lZWRlZCgpOwotCiAgICAgICAgIGlmIChtX3BlbmRpbmdSb290TGF5ZXIpIHsKICAg
ICAgICAgICAgIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKG1fcGVuZGluZ1Jvb3RMYXllci5nZXQo
KSk7CiAgICAgICAgICAgICBtX3BlbmRpbmdSb290TGF5ZXIgPSBudWxscHRyOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE5NjMzNjBlNjJkMTY0
OGE3YjA3NzllYTY3YzU3NmE2ZTY1Y2UwZDIuLmFjZWY0NDg1YWIzZWRjYTYxMDNhYjI2NzNhZjgw
ZGZkMzcxY2Q3MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wNC0xNyAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gKHIyNDQyOTEpOiBCcm9rZW4gQVBJIFRl
c3QgQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTQ4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80OTkyNzEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xh
eW91dEludGVncmF0aW9uLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMTktMDQtMTcgIEFha2Fz
aCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtld3MtYXBwXSBDbGlj
a2luZyAnc3VibWl0IHRvIG5ldyBld3MnIGRvZXNuJ3QgcmVsb2FkIHN0YXR1cy1idWJibGUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xheW91
dEludGVncmF0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9B
dXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KaW5kZXggYTVkOGM0MjMxMzZkZDIxNDc2MDgxOWMyZGEy
YjJmYjBjYTg1NTg2NS4uZTBiMWY5MzI5NDI0ODYyMzA2NmZkYmIwMGM4NTQ4YTVhM2IxNDBjYSAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5
b3V0SW50ZWdyYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KQEAgLTE3NCw3ICsxNzQsNyBAQCBURVNUKFdl
YktpdCwgQXV0b0xheW91dEludGVncmF0aW9uKQogICAgIFt3ZWJWaWV3IF9zZXRTaG91bGRFeHBh
bmRDb250ZW50VG9WaWV3SGVpZ2h0Rm9yQXV0b0xheW91dDpOT107CiB9CiAKLVRFU1QoV2ViS2l0
LCBESVNBQkxFRF9BdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9yZGVyaW5nKQor
VEVTVChXZWJLaXQsIEF1dG9MYXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcp
CiB7CiAgICAgUmV0YWluUHRyPEF1dG9MYXlvdXRXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5T
KFtbQXV0b0xheW91dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDEwMDAsIDEwMDApXSk7CiAKQEAgLTE5OSw3ICsxOTksNiBAQCBURVNUKFdlYktpdCwgRElT
QUJMRURfQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZykKICAgICBb
d2ViVmlldyBzZXRFeHBlY3RlZEludHJpbnNpY0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCA0
MDApXTsKICAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIjxib2R5IHN0eWxlPSdtYXJnaW46
IDA7IGhlaWdodDogNDAwcHg7Jz48L2JvZHk+IiBiYXNlVVJMOm5pbF07CiAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUpOwotICAg
IEVYUEVDVF9GQUxTRShkaWRGaXJzdExheW91dCk7CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkaWRGaXJzdExheW91dCk7CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRG
aW5pc2hOYXZpZ2F0aW9uKTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmls
XTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367715</attachid>
            <date>2019-04-17 20:18:05 -0700</date>
            <delta_ts>2019-04-18 09:48:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196948-20190417201805.patch</filename>
            <type>text/plain</type>
            <size>18624</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRlNGJkYjE3ZGEyMzgz
OThkMmJiMjE2NzFjY2VhOGRmNGJmYzRhOC4uNjA3ODY4MGE1Y2FhMzQzYTUyYTZiNDE0YjczYTM5
ODUwNjI2MDE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA0LTE3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbiAocjI0NDI5
MSk6IEJyb2tlbiBBUEkgVGVzdCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5OTI3MTMxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDb250ZW50c1NpemUpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCk6CisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuaDoKKwogMjAxOS0wNC0xNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0IGhhcyB0aGUgd3JvbmcgZmFsbGJhY2sgZW5jb2RpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNzUwYzc0ZWI3OGQzODlkMzRlYWY4NjIzNDdhNmU4YzQ2MmVjODU3Ny4uNGQ5
NDk5ZjcwOGRhOTI3OWIzNzBlY2ExMzRkNWY2MTFmNGZjOTFlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNyBAQAorMjAxOS0wNC0xNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlZ3Jlc3Npb24gKHIyNDQyOTEpOiBCcm9rZW4gQVBJIFRlc3QgQXV0b0xheW91dFJl
bmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
OTkyNzEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlIG91dCBvZiBEcmF3aW5nQXJlYS4g
SW50cmluc2ljIGNvbnRlbnQgc2l6ZSBpcyBhIGxheW91dCBjb25jZXB0IGFuZAorICAgICAgICBh
ZnRlciByMjQ0MjkxIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIGhhdmUgaXQgaW4gRHJhd2luZ0FyZWEu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAoV2Vi
S2l0OjpEcmF3aW5nQXJlYVByb3h5OjpkaWRVcGRhdGVHZW9tZXRyeSk6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0Vmlld0xheW91dFNpemUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0
b25lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6Zmx1c2hMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCk6IERlbGV0ZWQuCisK
IDIwMTktMDQtMTYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NNYWNdIFVzZSBVSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXIgZm9yIHBpY2tpbmcgZmls
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBlNWNlZDIxM2I2ZDljMzZjNDllZGZm
NmI2MjUzOGQwYTRkY2U0ODVlLi4wNTdlYmQ3NzljMTJkNTEyNDc3ZDg4NjMwNmM3ZjRmYWM2YTRl
YzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC02MzEsNiArNjMxLDggQEAgdm9p
ZCBGcmFtZVZpZXc6OnNldENvbnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgICAg
ICBQYWdlQ2FjaGU6OnNpbmdsZXRvbigpLm1hcmtQYWdlc0ZvckNvbnRlbnRzU2l6ZUNoYW5nZWQo
KnBhZ2UpOwogICAgIH0KICAgICBsYXlvdXRDb250ZXh0KCkuZW5hYmxlU2V0TmVlZHNMYXlvdXQo
KTsKKyAgICBpZiAobV9zaG91bGRBdXRvU2l6ZSkKKyAgICAgICAgbV9hdXRvU2l6ZUNvbnRlbnRT
aXplID0gc2l6ZTsgCiB9CiAKIHZvaWQgRnJhbWVWaWV3OjphZGp1c3RWaWV3U2l6ZSgpCkBAIC0z
NDYzLDcgKzM0NjUsNiBAQCB2b2lkIEZyYW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQoKQogICAg
IHJlc2l6ZShtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpLCBtX2F1dG9TaXplQ29uc3RyYWlu
dC5oZWlnaHQoKSk7CiAgICAgZG9jdW1lbnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICBk
b2N1bWVudC0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgbV9h
dXRvU2l6ZUNvbnRlbnRTaXplID0gY29udGVudHNTaXplKCk7CiAKICAgICBhdXRvIGZpbmFsV2lk
dGggPSBzdGQ6Om1heChtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpLCBtX2F1dG9TaXplQ29u
dGVudFNpemUud2lkdGgoKSk7CiAgICAgYXV0byBmaW5hbEhlaWdodCA9IG1fYXV0b1NpemVGaXhl
ZE1pbmltdW1IZWlnaHQgPyBzdGQ6Om1heChtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0LCBt
X2F1dG9TaXplQ29udGVudFNpemUuaGVpZ2h0KCkpIDogbV9hdXRvU2l6ZUNvbnRlbnRTaXplLmhl
aWdodCgpOwpAQCAtNDQ3MCw2ICs0NDcxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmVuYWJsZUF1dG9T
aXplTW9kZShib29sIGVuYWJsZSwgY29uc3QgSW50U2l6ZSYgdmlld1NpemUpCiAKICAgICBtX3No
b3VsZEF1dG9TaXplID0gZW5hYmxlOwogICAgIG1fYXV0b1NpemVDb25zdHJhaW50ID0gdmlld1Np
emU7CisgICAgbV9hdXRvU2l6ZUNvbnRlbnRTaXplID0gY29udGVudHNTaXplKCk7CiAgICAgbV9k
aWRSdW5BdXRvc2l6ZSA9IGZhbHNlOwogCiAgICAgc2V0TmVlZHNMYXlvdXRBZnRlclZpZXdDb25m
aWd1cmF0aW9uQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA0ZGE4ZTNkODAy
MmY3YWVmN2FmNTg5ODljMmZkMDJmM2I4ZjNmYTE0Li5kOWIzMzk4ZTE0YTAxNDg2NTg1ZTIxNzg3
NjRjNmZkYmE1NzYyMzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQwMSw2ICs0MDEs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Zpc3VhbGx5Tm9uRW1wdHkoKSBjb25zdCB7IHJldHVy
biBtX2lzVmlzdWFsbHlOb25FbXB0eTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW5hYmxl
QXV0b1NpemVNb2RlKGJvb2wgZW5hYmxlLCBjb25zdCBJbnRTaXplJiBtaW5TaXplKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KGludCk7Cisg
ICAgYm9vbCBpc0F1dG9TaXplRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkQXV0b1Np
emU7IH0KICAgICBJbnRTaXplIGF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fYXV0b1NpemVDb250ZW50U2l6ZTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBmb3JjZUxheW91dChib29sIGFsbG93U3VidHJlZUxheW91dCA9IGZhbHNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBiNjkwNWIwMThmMTE0
ZTVjZjYyZTIwMjgzZmU0ZmExYTEyZGFiOGU5Li40NmUxNjk3NzI4NGY1YmEzZjg3ZDBmOWFlNDBh
MTUzZjM1OWFiOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eS5oCkBAIC0xNDMsNyArMTQzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2luZ1N0b3JlU3RhdGVJ
RCAqLywgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsgfQotICAgIHZpcnR1YWwgdm9p
ZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikg
eyB9CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ0FyZWFQ
cm94eT4gbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzZTU4ZGU1
OTVkZGM2MTY4OGU2YWMxZTE2YzVlZmMxOTdkMDgxNGJmLi5iY2YyZmI5ZjMyMGY4MTI2NDM3Y2U3
MmE0OGFhZDExMjdlMGVlZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxLDYgKzMxLDUgQEAgbWVzc2FnZXMg
LT4gRHJhd2luZ0FyZWFQcm94eSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8gVXNlZCBi
eSBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LgogICAgIERpZFVwZGF0ZUdlb21l
dHJ5KCkKLSAgICBJbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShXZWJDb3JlOjpJbnRTaXpl
IG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhOWE2YTI4ZGVmZjc1ZWFhNTQ2NWI2MjBiMjRjMzE1
ODExOGI1NjA1Li5iMjlhMGQxMDYwZTUwNDk2NjQ3YmU3NmZhOWNjYTg1OTNlNTgzMGI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU0NjQsNiArNTQ2NCwx
MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQ29udGVudFNpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKICAgICBwYWdlQ2xpZW50KCkuZGlkQ2hhbmdlQ29udGVudFNpemUoc2l6ZSk7CiB9
CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6ZShjb25z
dCBJbnRTaXplJiBpbnRyaW5zaWNDb250ZW50U2l6ZSkKK3sKKyAgICBwYWdlQ2xpZW50KCkuaW50
cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoaW50cmluc2ljQ29udGVudFNpemUpOworfQorCiAj
aWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvbG9y
UGlja2VyKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IEludFJlY3Qm
IGVsZW1lbnRSZWN0LCBWZWN0b3I8V2ViQ29yZTo6Q29sb3I+JiYgc3VnZ2VzdGlvbnMpCiB7CkBA
IC03NTk2LDcgKzc2MDEsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Vmlld0xheW91dFNpemUo
Y29uc3QgSW50U2l6ZSYgdmlld0xheW91dFNpemUpCiAKICNpZiBVU0UoQVBQS0lUKQogICAgIGlm
IChtX3ZpZXdMYXlvdXRTaXplLndpZHRoKCkgPD0gMCkKLSAgICAgICAgaW50cmluc2ljQ29udGVu
dFNpemVEaWRDaGFuZ2UoSW50U2l6ZSgtMSwgLTEpKTsKKyAgICAgICAgZGlkQ2hhbmdlSW50cmlu
c2ljQ29udGVudFNpemUoSW50U2l6ZSgtMSwgLTEpKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDlhMDZkZTczNWM0ZjJiNzE2NmVlYjRiOWVl
MTE2YTlhNTljYzhkMzkuLjY1Yjc2MWZiZTliOTBjMzRmOTQ2OTkyNDAzMWU4YjMzZGY3ODVmMzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC03ODksNyArNzg5LDYg
QEAgcHVibGljOgogICAgIE5TVmlldyAqaW5zcGVjdG9yQXR0YWNobWVudFZpZXcoKTsKICAgICBf
V0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnkoKTsKIAotICAgIHZv
aWQgaW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
aW50cmluc2ljQ29udGVudFNpemUpOwogICAgIENHUmVjdCBib3VuZHNPZkxheWVySW5MYXllckJh
Y2tlZFdpbmRvd0Nvb3JkaW5hdGVzKENBTGF5ZXIgKikgY29uc3Q7CiAjZW5kaWYgLy8gUExBVEZP
Uk0oTUFDKQogCkBAIC0xNzE0LDYgKzE3MTMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRGVz
dHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CiAKICAgICB2b2lkIGRp
ZENoYW5nZUNvbnRlbnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyAgICB2b2lkIGRp
ZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKIAog
I2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgIHZvaWQgc2hvd0NvbG9yUGlja2VyKGNv
bnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
LCBWZWN0b3I8V2ViQ29yZTo6Q29sb3I+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGExYTJmZWE2NWY0YjYzZTQwYTg5Mjhl
Y2UzMTZjZDU5MmYxZjc4YzEuLjI4YzRlNzY5OTg2YTY2NGQxMzNmOGEyZTliOWZjMDg5ODk4NTMw
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTg4LDYgKzg4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBT
ZXRDYW5TaG9ydENpcmN1aXRIb3Jpem9udGFsV2hlZWxFdmVudHMoYm9vbCBjYW5TaG9ydENpcmN1
aXRIb3Jpem9udGFsV2hlZWxFdmVudHMpCiAKICAgICBEaWRDaGFuZ2VDb250ZW50U2l6ZShXZWJD
b3JlOjpJbnRTaXplIG5ld1NpemUpCisgICAgRGlkQ2hhbmdlSW50cmluc2ljQ29udGVudFNpemUo
V2ViQ29yZTo6SW50U2l6ZSBuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkKIAogI2lmIEVOQUJMRShJ
TlBVVF9UWVBFX0NPTE9SKQogICAgIFNob3dDb2xvclBpY2tlcihXZWJDb3JlOjpDb2xvciBpbml0
aWFsQ29sb3IsIFdlYkNvcmU6OkludFJlY3QgZWxlbWVudFJlY3QsIFZlY3RvcjxXZWJDb3JlOjpD
b2xvcj4gc3VnZ2VzdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXgg
ZjJmMjcwMmEwMTVlMjVhM2RhMWFiMTdlNjUzOWM3NzgyOTgwNGU3Yi4uNDQyMDBjMmRhNDQ5Zjdi
MmJlMmFmNjRlMTVjMWRlMDMwNTUyNjlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94
eS5oCkBAIC02MCw3ICs2MCw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJz
LgogICAgIHZvaWQgZGlkVXBkYXRlR2VvbWV0cnkoKSBvdmVycmlkZTsKLSAgICB2b2lkIGludHJp
bnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlk
ZTsKIAogICAgIHZvaWQgc2VuZFVwZGF0ZUdlb21ldHJ5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhUHJveHkubW0KaW5kZXggYjdmY2RmY2VhNzdhZDVmNThkMmY0M2U2ZjIzYzFjMGEwMTNm
MGY0YS4uZjg1ZTYwZGZhYTc1ZmI1MmE2N2JlODRmYzc2ODlmNWMyNDc5MGU4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KQEAgLTEyNSwxMiArMTI1LDYgQEAgdm9pZCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlT
dGF0ZShBY3Rpdml0eVMKICAgICBwcm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0Rm9yQW5kRGlz
cGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRVcGRhdGVBY3Rpdml0
eVN0YXRlPihtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgYWN0aXZpdHlTdGF0ZVVwZGF0ZVRpbWVv
dXQsIElQQzo6V2FpdEZvck9wdGlvbjo6SW50ZXJydXB0V2FpdGluZ0lmU3luY01lc3NhZ2VBcnJp
dmVzKTsKIH0KIAotdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjppbnRy
aW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdJbnRyaW5zaWNDb250
ZW50U2l6ZSkKLXsKLSAgICBpZiAobV93ZWJQYWdlUHJveHkudmlld0xheW91dFNpemUoKS53aWR0
aCgpID4gMCkKLSAgICAgICAgbV93ZWJQYWdlUHJveHkuaW50cmluc2ljQ29udGVudFNpemVEaWRD
aGFuZ2UobmV3SW50cmluc2ljQ29udGVudFNpemUpOwotfQotCiB2b2lkIFRpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhUHJveHk6OndpbGxTZW5kVXBkYXRlR2VvbWV0cnkoKQogewogICAgIG1f
bGFzdFNlbnRWaWV3TGF5b3V0U2l6ZSA9IG1fd2ViUGFnZVByb3h5LnZpZXdMYXlvdXRTaXplKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRl
eCA3NGY2YTY5NjlkODkyMWVjMGExYTgwZDcwNjBiMjk5YmUwMmM4OWI0Li4xMzhkMTMyYWMxZjMx
NjI5NGNkNjNkYjg5NDE3OTMzZThjNWZmZTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KQEAgLTQzMywxMSArNDMzLDYgQEAgYm9vbCBXZWJQ
YWdlUHJveHk6OmFjY2VwdHNGaXJzdE1vdXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViS2l0
OjpXZWJNb3VzZUV2ZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIFdlYlBhZ2VQcm94
eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgaW50cmluc2lj
Q29udGVudFNpemUpCi17Ci0gICAgcGFnZUNsaWVudCgpLmludHJpbnNpY0NvbnRlbnRTaXplRGlk
Q2hhbmdlKGludHJpbnNpY0NvbnRlbnRTaXplKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OnNl
dFJlbW90ZUxheWVyVHJlZVJvb3ROb2RlKFJlbW90ZUxheWVyVHJlZU5vZGUqIHJvb3ROb2RlKQog
ewogICAgIHBhZ2VDbGllbnQoKS5zZXRSZW1vdGVMYXllclRyZWVSb290Tm9kZShyb290Tm9kZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGUx
MGU4ZmRiN2Q0Mjk2M2EwMzI3Mjg1ZWJjMDczNTZhYmI5OWQyZjUuLmRiZjRhNWRkYzU3YWE4YTk1
YThmZjQ3MDNmZjg0YjNjMWE2YjE0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MjE2LDYgKzYyMTYsMjQgQEAgdm9pZCBXZWJQYWdlOjpy
ZW1vdmVBbGxVc2VyQ29udGVudCgpCiAgICAgbV91c2VyQ29udGVudENvbnRyb2xsZXItPnJlbW92
ZUFsbFVzZXJDb250ZW50KCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6dXBkYXRlSW50cmluc2ljQ29u
dGVudFNpemVJZk5lZWRlZCgpCit7CisgICAgaWYgKCF2aWV3TGF5b3V0U2l6ZSgpLndpZHRoKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChtYWluRnJhbWVWaWV3KCkpOworICAgIGlm
ICghbWFpbkZyYW1lVmlldygpLT5pc0F1dG9TaXplRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47
IAorCisgICAgQVNTRVJUKCFtYWluRnJhbWVWaWV3KCktPm5lZWRzTGF5b3V0KCkpOworICAgIGF1
dG8gY29udGVudFNpemUgPSBtYWluRnJhbWVWaWV3KCktPmF1dG9TaXppbmdJbnRyaW5zaWNDb250
ZW50U2l6ZSgpOworICAgIGlmIChtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPT0gY29u
dGVudFNpemUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250
ZW50U2l6ZSA9IGNvbnRlbnRTaXplOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ2hhbmdlSW50cmluc2ljQ29udGVudFNpemUoY29udGVudFNpemUpKTsKK30KKwogdm9pZCBX
ZWJQYWdlOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3Jl
OjpMYXlvdXRNaWxlc3RvbmU+IG1pbGVzdG9uZXMpCiB7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0
PiB1c2VyRGF0YTsKQEAgLTYyMzEsNiArNjI0OSw4IEBAIHZvaWQgV2ViUGFnZTo6ZGlzcGF0Y2hE
aWRSZWFjaExheW91dE1pbGVzdG9uZShPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25l
CiAgICAgICAgIGlmIChkcmF3aW5nQXJlYVJlbGF0ZWRNaWxlc3RvbmVzICYmIG1fZHJhd2luZ0Fy
ZWEtPmFkZE1pbGVzdG9uZXNUb0Rpc3BhdGNoKGRyYXdpbmdBcmVhUmVsYXRlZE1pbGVzdG9uZXMp
KQogICAgICAgICAgICAgbWlsZXN0b25lcy5yZW1vdmUoZHJhd2luZ0FyZWFSZWxhdGVkTWlsZXN0
b25lcyk7CiAgICAgfQorICAgIGlmIChtaWxlc3RvbmVzLmNvbnRhaW5zKERpZEZpcnN0TGF5b3V0
KSkKKyAgICAgICAgdXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCgpOwogCiAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxl
c3RvbmVzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggYTM0ZGFkYzY3OTBkMTBiMDA1NWNiOTM0YzZlYjExZTU3YTMyYjVjMi4uNGNiOWRlNGEz
ODRjNmJjOTZhYTNjMzM0NGEzMzhkZDg4NjFjM2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTU1MSw2ICsxNTUxLDggQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgc2hvdWxkRGlzcGF0Y2hVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudChjb25zdCBX
ZWJDb3JlOjpFbGVtZW50JikgY29uc3Q7CiAKKyAgICB2b2lkIHVwZGF0ZUludHJpbnNpY0NvbnRl
bnRTaXplSWZOZWVkZWQoKTsKKwogICAgIHVpbnQ2NF90IG1fcGFnZUlEOwogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OlBhZ2U+IG1fcGFnZTsKQEAgLTE4OTAsNiArMTg5Miw3IEBAIHBy
aXZhdGU6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV2Vha1B0cjxSZW1vdGVPYmplY3RSZWdp
c3RyeT4gbV9yZW1vdGVPYmplY3RSZWdpc3RyeTsKICNlbmRpZgorICAgIFdlYkNvcmU6OkludFNp
emUgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCmluZGV4IDlhZjFl
N2ZkNGRhNWQxMTYzNjNiMDI4NTBkOGVjNTkzYzYxMTllMTUuLjFkOGFlZWViNTVmNTk0NmI5OTg4
N2E0MzZjZTFmMjIwOGNmZGE5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYS5oCkBAIC0xMjEsNyArMTIxLDYgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaWxlZEJh
Y2tpbmcqIG1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlRGVi
dWdJbmZvTGF5ZXIoYm9vbCBzaG93TGF5ZXIpOwogCi0gICAgdm9pZCB1cGRhdGVJbnRyaW5zaWND
b250ZW50U2l6ZUlmTmVlZGVkKCk7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0
KCk7CiAgICAgdm9pZCBzY2FsZVZpZXdUb0ZpdERvY3VtZW50SWZOZWVkZWQoKTsKIApAQCAtMTUw
LDggKzE0OSw2IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RWaWV3U2l6
ZUZvclNjYWxlVG9GaXQ7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3REb2N1bWVudFNpemVG
b3JTY2FsZVRvRml0OwogCi0gICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RTZW50SW50cmluc2lj
Q29udGVudFNpemU7Ci0KICAgICBkb3VibGUgbV90cmFuc2llbnRab29tU2NhbGUgeyAxIH07CiAg
ICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX3RyYW5zaWVudFpvb21PcmlnaW47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCA4NWYwY2EyY2RlZTU4MmE5NjFi
MzBiMWY3MTU1MDdjNTVlZThmZTUwLi44MDk1ZTY3ZDhmNmRmZjIxYmFjNmExZTA0NzA2YmIxYWFj
ZmFmMDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC0y
NzgsMjYgKzI3OCw2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6Om1haW5G
cmFtZUNvbnRlbnRTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBzCiB7CiB9CiAKLXZvaWQgVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZO
ZWVkZWQoKQotewotICAgIGlmICghbV93ZWJQYWdlLnZpZXdMYXlvdXRTaXplKCkud2lkdGgoKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3dlYlBhZ2Uu
bWFpbkZyYW1lVmlldygpOwotICAgIGlmICghZnJhbWVWaWV3KQotICAgICAgICByZXR1cm47Ci0K
LSAgICBpZiAoZnJhbWVWaWV3LT5uZWVkc0xheW91dCgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBJbnRTaXplIGNvbnRlbnRTaXplID0gZnJhbWVWaWV3LT5hdXRvU2l6aW5nSW50cmluc2ljQ29u
dGVudFNpemUoKTsKLSAgICBpZiAobV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplID09IGNv
bnRlbnRTaXplKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2xhc3RTZW50SW50cmluc2ljQ29u
dGVudFNpemUgPSBjb250ZW50U2l6ZTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVBy
b3h5OjpJbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb250ZW50U2l6ZSkpOwotfQotCiB2
b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzZXRTaG91bGRTY2FsZVZpZXdUb0Zp
dERvY3VtZW50KGJvb2wgc2hvdWxkU2NhbGVWaWV3KQogewogICAgIGlmIChtX3Nob3VsZFNjYWxl
Vmlld1RvRml0RG9jdW1lbnQgPT0gc2hvdWxkU2NhbGVWaWV3KQpAQCAtNDYyLDggKzQ0Miw2IEBA
IHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKEZsdXNoVHlw
ZSBmbHVzaFR5cGUpCiAgICAgICAgIG1fd2ViUGFnZS51cGRhdGVSZW5kZXJpbmcoKTsKICAgICAg
ICAgbV93ZWJQYWdlLmZsdXNoUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCk7CiAKLSAgICAgICAg
dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCgpOwotCiAgICAgICAgIGlmIChtX3Bl
bmRpbmdSb290TGF5ZXIpIHsKICAgICAgICAgICAgIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKG1f
cGVuZGluZ1Jvb3RMYXllci5nZXQoKSk7CiAgICAgICAgICAgICBtX3BlbmRpbmdSb290TGF5ZXIg
PSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDE5NjMzNjBlNjJkMTY0OGE3YjA3NzllYTY3YzU3NmE2ZTY1Y2UwZDIuLmQzZWE4MjAy
ZWQ4Zjc1ODUyNGM1OGNiN2QzZGNlYzljYmVlNTkzYzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNC0xNyAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gKHIy
NDQyOTEpOiBCcm9rZW4gQVBJIFRlc3QgQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRp
dmVPcmRlcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTkyNzEzMT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tOgorICAgICAgICAoVEVTVCk6
IAorICAgICAgICBUaGUgZXhwZWN0ZWQgb3JkZXIgb2YgaW5jb21pbmcgZXZlbnRzIGlzCisgICAg
ICAgIDEuIGRpZEludmFsaWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZQorICAgICAgICAyLiBkaWRG
aXJzdExheW91dAorICAgICAgICBBdCBzZXRSZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZSwgd2Ug
YWxyZWFkeSBjaGVjayBpZiBkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUgY29tZXMg
aW4gZmlyc3QuCisgICAgICAgIEhvd2V2ZXIgaXQncyBub3QgZ3VhcmFudGVlZCB0aGF0IHRoZSBt
aWxlc3RvbmUgZXZlbnQgaXMgZGVsYXllZCB1bnRpbCBhZnRlciBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oKSBpcyBmaW5pc2hlZAorICAgICAgICAoYW5kIHJlbWVtYmVyLCBhbGwgd2UgY2FyZSBh
Ym91dCBpcyBvcmRlcmluZykuCisKIDIwMTktMDQtMTcgIEFha2FzaCBKYWluICA8YWFrYXNoX2ph
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtld3MtYXBwXSBDbGlja2luZyAnc3VibWl0IHRvIG5l
dyBld3MnIGRvZXNuJ3QgcmVsb2FkIHN0YXR1cy1idWJibGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRp
b24ubW0KaW5kZXggYTVkOGM0MjMxMzZkZDIxNDc2MDgxOWMyZGEyYjJmYjBjYTg1NTg2NS4uZTBi
MWY5MzI5NDI0ODYyMzA2NmZkYmIwMGM4NTQ4YTVhM2IxNDBjYSAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50
ZWdyYXRpb24ubW0KQEAgLTE3NCw3ICsxNzQsNyBAQCBURVNUKFdlYktpdCwgQXV0b0xheW91dElu
dGVncmF0aW9uKQogICAgIFt3ZWJWaWV3IF9zZXRTaG91bGRFeHBhbmRDb250ZW50VG9WaWV3SGVp
Z2h0Rm9yQXV0b0xheW91dDpOT107CiB9CiAKLVRFU1QoV2ViS2l0LCBESVNBQkxFRF9BdXRvTGF5
b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9yZGVyaW5nKQorVEVTVChXZWJLaXQsIEF1dG9M
YXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcpCiB7CiAgICAgUmV0YWluUHRy
PEF1dG9MYXlvdXRXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbQXV0b0xheW91dFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEwMDAsIDEwMDApXSk7
CiAKQEAgLTE5OSw3ICsxOTksNiBAQCBURVNUKFdlYktpdCwgRElTQUJMRURfQXV0b0xheW91dFJl
bmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZykKICAgICBbd2ViVmlldyBzZXRFeHBlY3Rl
ZEludHJpbnNpY0NvbnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCA0MDApXTsKICAgICBbd2ViVmll
dyBsb2FkSFRNTFN0cmluZzpAIjxib2R5IHN0eWxlPSdtYXJnaW46IDA7IGhlaWdodDogNDAwcHg7
Jz48L2JvZHk+IiBiYXNlVVJMOm5pbF07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
aWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUpOwotICAgIEVYUEVDVF9GQUxTRShkaWRG
aXJzdExheW91dCk7CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRGaXJzdExheW91
dCk7CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRGaW5pc2hOYXZpZ2F0aW9uKTsK
ICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmlsXTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367732</attachid>
            <date>2019-04-18 09:48:56 -0700</date>
            <delta_ts>2019-04-24 15:12:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196948-20190418094856.patch</filename>
            <type>text/plain</type>
            <size>18649</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRlNGJkYjE3ZGEyMzgz
OThkMmJiMjE2NzFjY2VhOGRmNGJmYzRhOC4uNjA3ODY4MGE1Y2FhMzQzYTUyYTZiNDE0YjczYTM5
ODUwNjI2MDE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA0LTE3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbiAocjI0NDI5
MSk6IEJyb2tlbiBBUEkgVGVzdCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5OTI3MTMxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRDb250ZW50c1NpemUpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjphdXRvU2l6ZUlmRW5hYmxlZCk6CisgICAgICAgICogcGFnZS9G
cmFtZVZpZXcuaDoKKwogMjAxOS0wNC0xNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0IGhhcyB0aGUgd3JvbmcgZmFsbGJhY2sgZW5jb2RpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNzUwYzc0ZWI3OGQzODlkMzRlYWY4NjIzNDdhNmU4YzQ2MmVjODU3Ny4uNGQ5
NDk5ZjcwOGRhOTI3OWIzNzBlY2ExMzRkNWY2MTFmNGZjOTFlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNyBAQAorMjAxOS0wNC0xNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlZ3Jlc3Npb24gKHIyNDQyOTEpOiBCcm9rZW4gQVBJIFRlc3QgQXV0b0xheW91dFJl
bmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
OTkyNzEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlIG91dCBvZiBEcmF3aW5nQXJlYS4g
SW50cmluc2ljIGNvbnRlbnQgc2l6ZSBpcyBhIGxheW91dCBjb25jZXB0IGFuZAorICAgICAgICBh
ZnRlciByMjQ0MjkxIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIGhhdmUgaXQgaW4gRHJhd2luZ0FyZWEu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAoV2Vi
S2l0OjpEcmF3aW5nQXJlYVByb3h5OjpkaWRVcGRhdGVHZW9tZXRyeSk6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0Vmlld0xheW91dFNpemUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0
b25lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6Zmx1c2hMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCk6IERlbGV0ZWQuCisK
IDIwMTktMDQtMTYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NNYWNdIFVzZSBVSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXIgZm9yIHBpY2tpbmcgZmls
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBlNWNlZDIxM2I2ZDljMzZjNDllZGZm
NmI2MjUzOGQwYTRkY2U0ODVlLi4wNTdlYmQ3NzljMTJkNTEyNDc3ZDg4NjMwNmM3ZjRmYWM2YTRl
YzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC02MzEsNiArNjMxLDggQEAgdm9p
ZCBGcmFtZVZpZXc6OnNldENvbnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgICAg
ICBQYWdlQ2FjaGU6OnNpbmdsZXRvbigpLm1hcmtQYWdlc0ZvckNvbnRlbnRzU2l6ZUNoYW5nZWQo
KnBhZ2UpOwogICAgIH0KICAgICBsYXlvdXRDb250ZXh0KCkuZW5hYmxlU2V0TmVlZHNMYXlvdXQo
KTsKKyAgICBpZiAobV9zaG91bGRBdXRvU2l6ZSkKKyAgICAgICAgbV9hdXRvU2l6ZUNvbnRlbnRT
aXplID0gc2l6ZTsgCiB9CiAKIHZvaWQgRnJhbWVWaWV3OjphZGp1c3RWaWV3U2l6ZSgpCkBAIC0z
NDYzLDcgKzM0NjUsNiBAQCB2b2lkIEZyYW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQoKQogICAg
IHJlc2l6ZShtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpLCBtX2F1dG9TaXplQ29uc3RyYWlu
dC5oZWlnaHQoKSk7CiAgICAgZG9jdW1lbnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICBk
b2N1bWVudC0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgbV9h
dXRvU2l6ZUNvbnRlbnRTaXplID0gY29udGVudHNTaXplKCk7CiAKICAgICBhdXRvIGZpbmFsV2lk
dGggPSBzdGQ6Om1heChtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpLCBtX2F1dG9TaXplQ29u
dGVudFNpemUud2lkdGgoKSk7CiAgICAgYXV0byBmaW5hbEhlaWdodCA9IG1fYXV0b1NpemVGaXhl
ZE1pbmltdW1IZWlnaHQgPyBzdGQ6Om1heChtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0LCBt
X2F1dG9TaXplQ29udGVudFNpemUuaGVpZ2h0KCkpIDogbV9hdXRvU2l6ZUNvbnRlbnRTaXplLmhl
aWdodCgpOwpAQCAtNDQ3MCw2ICs0NDcxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmVuYWJsZUF1dG9T
aXplTW9kZShib29sIGVuYWJsZSwgY29uc3QgSW50U2l6ZSYgdmlld1NpemUpCiAKICAgICBtX3No
b3VsZEF1dG9TaXplID0gZW5hYmxlOwogICAgIG1fYXV0b1NpemVDb25zdHJhaW50ID0gdmlld1Np
emU7CisgICAgbV9hdXRvU2l6ZUNvbnRlbnRTaXplID0gY29udGVudHNTaXplKCk7CiAgICAgbV9k
aWRSdW5BdXRvc2l6ZSA9IGZhbHNlOwogCiAgICAgc2V0TmVlZHNMYXlvdXRBZnRlclZpZXdDb25m
aWd1cmF0aW9uQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA0ZGE4ZTNkODAy
MmY3YWVmN2FmNTg5ODljMmZkMDJmM2I4ZjNmYTE0Li5kOWIzMzk4ZTE0YTAxNDg2NTg1ZTIxNzg3
NjRjNmZkYmE1NzYyMzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQwMSw2ICs0MDEs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Zpc3VhbGx5Tm9uRW1wdHkoKSBjb25zdCB7IHJldHVy
biBtX2lzVmlzdWFsbHlOb25FbXB0eTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW5hYmxl
QXV0b1NpemVNb2RlKGJvb2wgZW5hYmxlLCBjb25zdCBJbnRTaXplJiBtaW5TaXplKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KGludCk7Cisg
ICAgYm9vbCBpc0F1dG9TaXplRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkQXV0b1Np
emU7IH0KICAgICBJbnRTaXplIGF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fYXV0b1NpemVDb250ZW50U2l6ZTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBmb3JjZUxheW91dChib29sIGFsbG93U3VidHJlZUxheW91dCA9IGZhbHNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBiNjkwNWIwMThmMTE0
ZTVjZjYyZTIwMjgzZmU0ZmExYTEyZGFiOGU5Li40NmUxNjk3NzI4NGY1YmEzZjg3ZDBmOWFlNDBh
MTUzZjM1OWFiOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eS5oCkBAIC0xNDMsNyArMTQzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2luZ1N0b3JlU3RhdGVJ
RCAqLywgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsgfQotICAgIHZpcnR1YWwgdm9p
ZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikg
eyB9CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ0FyZWFQ
cm94eT4gbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzZTU4ZGU1
OTVkZGM2MTY4OGU2YWMxZTE2YzVlZmMxOTdkMDgxNGJmLi5iY2YyZmI5ZjMyMGY4MTI2NDM3Y2U3
MmE0OGFhZDExMjdlMGVlZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxLDYgKzMxLDUgQEAgbWVzc2FnZXMg
LT4gRHJhd2luZ0FyZWFQcm94eSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8gVXNlZCBi
eSBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LgogICAgIERpZFVwZGF0ZUdlb21l
dHJ5KCkKLSAgICBJbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShXZWJDb3JlOjpJbnRTaXpl
IG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBhOWE2YTI4ZGVmZjc1ZWFhNTQ2NWI2MjBiMjRjMzE1
ODExOGI1NjA1Li4yMTY0MjZhYzYyMmE5NDA0ODAxM2VkZTBiYTdlZDU0ZDliZTU2MDlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU0NjQsNiArNTQ2NCwx
MyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQ29udGVudFNpemUoY29uc3QgSW50U2l6
ZSYgc2l6ZSkKICAgICBwYWdlQ2xpZW50KCkuZGlkQ2hhbmdlQ29udGVudFNpemUoc2l6ZSk7CiB9
CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6ZShjb25z
dCBJbnRTaXplJiBpbnRyaW5zaWNDb250ZW50U2l6ZSkKK3sKKyNpZiBVU0UoQVBQS0lUKQorICAg
IHBhZ2VDbGllbnQoKS5pbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShpbnRyaW5zaWNDb250
ZW50U2l6ZSk7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogdm9p
ZCBXZWJQYWdlUHJveHk6OnNob3dDb2xvclBpY2tlcihjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5p
dGlhbENvbG9yLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50UmVjdCwgVmVjdG9yPFdlYkNvcmU6OkNv
bG9yPiYmIHN1Z2dlc3Rpb25zKQogewpAQCAtNzU5Niw3ICs3NjAzLDcgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnNldFZpZXdMYXlvdXRTaXplKGNvbnN0IEludFNpemUmIHZpZXdMYXlvdXRTaXplKQog
CiAjaWYgVVNFKEFQUEtJVCkKICAgICBpZiAobV92aWV3TGF5b3V0U2l6ZS53aWR0aCgpIDw9IDAp
Ci0gICAgICAgIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKEludFNpemUoLTEsIC0xKSk7
CisgICAgICAgIGRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKEludFNpemUoLTEsIC0xKSk7
CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5
YTA2ZGU3MzVjNGYyYjcxNjZlZWI0YjllZTExNmE5YTU5Y2M4ZDM5Li42NWI3NjFmYmU5YjkwYzM0
Zjk0Njk5MjQwMzFlOGIzM2RmNzg1ZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtNzg5LDcgKzc4OSw2IEBAIHB1YmxpYzoKICAgICBOU1ZpZXcgKmluc3BlY3Rv
ckF0dGFjaG1lbnRWaWV3KCk7CiAgICAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9i
amVjdFJlZ2lzdHJ5KCk7CiAKLSAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKTsKICAgICBDR1Jl
Y3QgYm91bmRzT2ZMYXllckluTGF5ZXJCYWNrZWRXaW5kb3dDb29yZGluYXRlcyhDQUxheWVyICop
IGNvbnN0OwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIApAQCAtMTcxNCw2ICsxNzEzLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZp
Y2F0aW9uSUQpOwogCiAgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50U2l6ZShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJik7CisgICAgdm9pZCBkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6ZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJik7CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAg
ICB2b2lkIHNob3dDb2xvclBpY2tlcihjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9y
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgVmVjdG9yPFdlYkNvcmU6OkNvbG9yPiYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCBhMWEyZmVhNjVmNGI2M2U0MGE4OTI4ZWNlMzE2Y2Q1OTJmMWY3OGMxLi4yOGM0ZTc2OTk4NmE2
NjRkMTMzZjhhMmU5YjlmYzA4OTg5ODUzMGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC04OCw2ICs4OCw3IEBAIG1lc3NhZ2Vz
IC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0Q2FuU2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVs
RXZlbnRzKGJvb2wgY2FuU2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzKQogCiAgICAg
RGlkQ2hhbmdlQ29udGVudFNpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorICAgIERpZENo
YW5nZUludHJpbnNpY0NvbnRlbnRTaXplKFdlYkNvcmU6OkludFNpemUgbmV3SW50cmluc2ljQ29u
dGVudFNpemUpCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICBTaG93Q29sb3JQ
aWNrZXIoV2ViQ29yZTo6Q29sb3IgaW5pdGlhbENvbG9yLCBXZWJDb3JlOjpJbnRSZWN0IGVsZW1l
bnRSZWN0LCBWZWN0b3I8V2ViQ29yZTo6Q29sb3I+IHN1Z2dlc3Rpb25zKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGYyZjI3MDJhMDE1ZTI1YTNkYTFhYjE3ZTY1MzljNzc4
Mjk4MDRlN2IuLjQ0MjAwYzJkYTQ0OWY3YjJiZTJhZjY0ZTE1YzFkZTAzMDU1MjY5YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaApAQCAtNjAsNyArNjAsNiBAQCBwcml2YXRlOgog
CiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICB2b2lkIGRpZFVwZGF0ZUdlb21ldHJ5KCkg
b3ZlcnJpZGU7Ci0gICAgdm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNlbmRVcGRhdGVHZW9tZXRy
eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IGI3ZmNkZmNlYTc3
YWQ1ZjU4ZDJmNDNlNmYyM2MxYzBhMDEzZjBmNGEuLmY4NWU2MGRmYWE3NWZiNTJhNjdiZTg0ZmM3
Njg5ZjVjMjQ3OTBlODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0x
MjUsMTIgKzEyNSw2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6
d2FpdEZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGUoQWN0aXZpdHlTCiAgICAgcHJvY2VzcygpLmNv
bm5lY3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkVXBkYXRlQWN0aXZpdHlTdGF0ZT4obV9pZGVudGlmaWVyLnRvVUludDY0KCks
IGFjdGl2aXR5U3RhdGVVcGRhdGVUaW1lb3V0LCBJUEM6OldhaXRGb3JPcHRpb246OkludGVycnVw
dFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKLXZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3Qg
SW50U2l6ZSYgbmV3SW50cmluc2ljQ29udGVudFNpemUpCi17Ci0gICAgaWYgKG1fd2ViUGFnZVBy
b3h5LnZpZXdMYXlvdXRTaXplKCkud2lkdGgoKSA+IDApCi0gICAgICAgIG1fd2ViUGFnZVByb3h5
LmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKTsK
LX0KLQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp3aWxsU2VuZFVw
ZGF0ZUdlb21ldHJ5KCkKIHsKICAgICBtX2xhc3RTZW50Vmlld0xheW91dFNpemUgPSBtX3dlYlBh
Z2VQcm94eS52aWV3TGF5b3V0U2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9XZWJQYWdlUHJveHlNYWMubW0KaW5kZXggNzRmNmE2OTY5ZDg5MjFlYzBhMWE4MGQ3MDYwYjI5
OWJlMDJjODliNC4uMTM4ZDEzMmFjMWYzMTYyOTRjZDYzZGI4OTQxNzkzM2U4YzVmZmU1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC00
MzMsMTEgKzQzMyw2IEBAIGJvb2wgV2ViUGFnZVByb3h5OjphY2NlcHRzRmlyc3RNb3VzZShpbnQg
ZXZlbnROdW1iZXIsIGNvbnN0IFdlYktpdDo6V2ViTW91c2VFdmVuCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdl
KGNvbnN0IEludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKQotewotICAgIHBhZ2VDbGllbnQo
KS5pbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShpbnRyaW5zaWNDb250ZW50U2l6ZSk7Ci19
Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRSZW1vdGVMYXllclRyZWVSb290Tm9kZShSZW1vdGVM
YXllclRyZWVOb2RlKiByb290Tm9kZSkKIHsKICAgICBwYWdlQ2xpZW50KCkuc2V0UmVtb3RlTGF5
ZXJUcmVlUm9vdE5vZGUocm9vdE5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCBlMTBlOGZkYjdkNDI5NjNhMDMyNzI4NWViYzA3MzU2YWJi
OTlkMmY1Li5kYmY0YTVkZGM1N2FhOGE5NWE4ZmY0NzAzZmY4NGIzYzFhNmIxNGQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjIxNiw2ICs2
MjE2LDI0IEBAIHZvaWQgV2ViUGFnZTo6cmVtb3ZlQWxsVXNlckNvbnRlbnQoKQogICAgIG1fdXNl
ckNvbnRlbnRDb250cm9sbGVyLT5yZW1vdmVBbGxVc2VyQ29udGVudCgpOwogfQogCit2b2lkIFdl
YlBhZ2U6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQoKQoreworICAgIGlmICgh
dmlld0xheW91dFNpemUoKS53aWR0aCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQo
bWFpbkZyYW1lVmlldygpKTsKKyAgICBpZiAoIW1haW5GcmFtZVZpZXcoKS0+aXNBdXRvU2l6ZUVu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOyAKKworICAgIEFTU0VSVCghbWFpbkZyYW1lVmlldygp
LT5uZWVkc0xheW91dCgpKTsKKyAgICBhdXRvIGNvbnRlbnRTaXplID0gbWFpbkZyYW1lVmlldygp
LT5hdXRvU2l6aW5nSW50cmluc2ljQ29udGVudFNpemUoKTsKKyAgICBpZiAobV9sYXN0U2VudElu
dHJpbnNpY0NvbnRlbnRTaXplID09IGNvbnRlbnRTaXplKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPSBjb250ZW50U2l6ZTsKKyAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKGNv
bnRlbnRTaXplKSk7Cit9CisKIHZvaWQgV2ViUGFnZTo6ZGlzcGF0Y2hEaWRSZWFjaExheW91dE1p
bGVzdG9uZShPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBtaWxlc3RvbmVzKQog
ewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CkBAIC02MjMxLDYgKzYyNDksOCBA
QCB2b2lkIFdlYlBhZ2U6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUoT3B0aW9uU2V0
PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZQogICAgICAgICBpZiAoZHJhd2luZ0FyZWFSZWxhdGVk
TWlsZXN0b25lcyAmJiBtX2RyYXdpbmdBcmVhLT5hZGRNaWxlc3RvbmVzVG9EaXNwYXRjaChkcmF3
aW5nQXJlYVJlbGF0ZWRNaWxlc3RvbmVzKSkKICAgICAgICAgICAgIG1pbGVzdG9uZXMucmVtb3Zl
KGRyYXdpbmdBcmVhUmVsYXRlZE1pbGVzdG9uZXMpOwogICAgIH0KKyAgICBpZiAobWlsZXN0b25l
cy5jb250YWlucyhEaWRGaXJzdExheW91dCkpCisgICAgICAgIHVwZGF0ZUludHJpbnNpY0NvbnRl
bnRTaXplSWZOZWVkZWQoKTsKIAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
UmVhY2hMYXlvdXRNaWxlc3RvbmUobWlsZXN0b25lcykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGEzNGRhZGM2NzkwZDEwYjAwNTVjYjkzNGM2
ZWIxMWU1N2EzMmI1YzIuLjRjYjlkZTRhMzg0YzZiYzk2YWEzYzMzNDRhMzM4ZGQ4ODYxYzNiNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE1NTEs
NiArMTU1MSw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIHNob3VsZERpc3BhdGNoVXBkYXRlQWZ0
ZXJGb2N1c2luZ0VsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYpIGNvbnN0OwogCisgICAg
dm9pZCB1cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKCk7CisKICAgICB1aW50NjRf
dCBtX3BhZ2VJRDsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQYWdlPiBtX3BhZ2U7
CkBAIC0xODkwLDYgKzE4OTIsNyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IFdlYWtQdHI8UmVtb3RlT2JqZWN0UmVnaXN0cnk+IG1fcmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAj
ZW5kaWYKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEuaAppbmRleCA5YWYxZTdmZDRkYTVkMTE2MzYzYjAyODUwZDhlYzU5M2M2MTE5
ZTE1Li4xZDhhZWVlYjU1ZjU5NDZiOTk4ODdhNDM2Y2UxZjIyMDhjZmRhOWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaApAQCAtMTIxLDcgKzEyMSw2IEBAIHByaXZh
dGU6CiAgICAgV2ViQ29yZTo6VGlsZWRCYWNraW5nKiBtYWluRnJhbWVUaWxlZEJhY2tpbmcoKSBj
b25zdDsKICAgICB2b2lkIHVwZGF0ZURlYnVnSW5mb0xheWVyKGJvb2wgc2hvd0xheWVyKTsKIAot
ICAgIHZvaWQgdXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCgpOwogICAgIHZvaWQg
dXBkYXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpOwogICAgIHZvaWQgc2NhbGVWaWV3VG9GaXREb2N1
bWVudElmTmVlZGVkKCk7CiAKQEAgLTE1MCw4ICsxNDksNiBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6OkludFNpemUgbV9sYXN0Vmlld1NpemVGb3JTY2FsZVRvRml0OwogICAgIFdlYkNvcmU6Oklu
dFNpemUgbV9sYXN0RG9jdW1lbnRTaXplRm9yU2NhbGVUb0ZpdDsKIAotICAgIFdlYkNvcmU6Oklu
dFNpemUgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplOwotCiAgICAgZG91YmxlIG1fdHJh
bnNpZW50Wm9vbVNjYWxlIHsgMSB9OwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV90cmFuc2ll
bnRab29tT3JpZ2luOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0K
aW5kZXggODVmMGNhMmNkZWU1ODJhOTYxYjMwYjFmNzE1NTA3YzU1ZWU4ZmU1MC4uODA5NWU2N2Q4
ZjZkZmYyMWJhYzZhMWUwNDcwNmJiMWFhY2ZhZjA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtMjc4LDI2ICsyNzgsNiBAQCB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQoY29uc3QgSW50
U2l6ZSYgcwogewogfQogCi12b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRh
dGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKCkKLXsKLSAgICBpZiAoIW1fd2ViUGFnZS52
aWV3TGF5b3V0U2l6ZSgpLndpZHRoKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEZyYW1lVmll
dyogZnJhbWVWaWV3ID0gbV93ZWJQYWdlLm1haW5GcmFtZVZpZXcoKTsKLSAgICBpZiAoIWZyYW1l
VmlldykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKGZyYW1lVmlldy0+bmVlZHNMYXlvdXQo
KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgSW50U2l6ZSBjb250ZW50U2l6ZSA9IGZyYW1lVmll
dy0+YXV0b1NpemluZ0ludHJpbnNpY0NvbnRlbnRTaXplKCk7Ci0gICAgaWYgKG1fbGFzdFNlbnRJ
bnRyaW5zaWNDb250ZW50U2l6ZSA9PSBjb250ZW50U2l6ZSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRTaXplID0gY29udGVudFNpemU7Ci0gICAgc2Vu
ZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6SW50cmluc2ljQ29udGVudFNpemVEaWRDaGFu
Z2UoY29udGVudFNpemUpKTsKLX0KLQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6c2V0U2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudChib29sIHNob3VsZFNjYWxlVmlldykK
IHsKICAgICBpZiAobV9zaG91bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50ID09IHNob3VsZFNjYWxl
VmlldykKQEAgLTQ2Miw4ICs0NDIsNiBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjpmbHVzaExheWVycyhGbHVzaFR5cGUgZmx1c2hUeXBlKQogICAgICAgICBtX3dlYlBhZ2Uu
dXBkYXRlUmVuZGVyaW5nKCk7CiAgICAgICAgIG1fd2ViUGFnZS5mbHVzaFBlbmRpbmdFZGl0b3JT
dGF0ZVVwZGF0ZSgpOwogCi0gICAgICAgIHVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVk
ZWQoKTsKLQogICAgICAgICBpZiAobV9wZW5kaW5nUm9vdExheWVyKSB7CiAgICAgICAgICAgICBz
ZXRSb290Q29tcG9zaXRpbmdMYXllcihtX3BlbmRpbmdSb290TGF5ZXIuZ2V0KCkpOwogICAgICAg
ICAgICAgbV9wZW5kaW5nUm9vdExheWVyID0gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOTYzMzYwZTYyZDE2NDhhN2IwNzc5ZWE2
N2M1NzZhNmU2NWNlMGQyLi5kM2VhODIwMmVkOGY3NTg1MjRjNThjYjdkM2RjZWM5Y2JlZTU5M2M2
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTktMDQtMTcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
KworICAgICAgICBSZWdyZXNzaW9uIChyMjQ0MjkxKTogQnJva2VuIEFQSSBUZXN0IEF1dG9MYXlv
dXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njk0OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDk5MjcxMzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1dG9MYXlvdXRJbnRlZ3Jh
dGlvbi5tbToKKyAgICAgICAgKFRFU1QpOiAKKyAgICAgICAgVGhlIGV4cGVjdGVkIG9yZGVyIG9m
IGluY29taW5nIGV2ZW50cyBpcworICAgICAgICAxLiBkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29u
dGVudFNpemUKKyAgICAgICAgMi4gZGlkRmlyc3RMYXlvdXQKKyAgICAgICAgQXQgc2V0UmVuZGVy
aW5nUHJvZ3Jlc3NEaWRDaGFuZ2UsIHdlIGFscmVhZHkgY2hlY2sgaWYgZGlkSW52YWxpZGF0ZUlu
dHJpbnNpY0NvbnRlbnRTaXplIGNvbWVzIGluIGZpcnN0LgorICAgICAgICBIb3dldmVyIGl0J3Mg
bm90IGd1YXJhbnRlZWQgdGhhdCB0aGUgbWlsZXN0b25lIGV2ZW50IGlzIGRlbGF5ZWQgdW50aWwg
YWZ0ZXIgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCkgaXMgZmluaXNoZWQKKyAgICAgICAgKGFu
ZCByZW1lbWJlciwgYWxsIHdlIGNhcmUgYWJvdXQgaXMgb3JkZXJpbmcpLgorCiAyMDE5LTA0LTE3
ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBbZXdzLWFw
cF0gQ2xpY2tpbmcgJ3N1Ym1pdCB0byBuZXcgZXdzJyBkb2Vzbid0IHJlbG9hZCBzdGF0dXMtYnVi
YmxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1
dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCmluZGV4IGE1ZDhjNDIzMTM2ZGQyMTQ3NjA4
MTljMmRhMmIyZmIwY2E4NTU4NjUuLmUwYjFmOTMyOTQyNDg2MjMwNjZmZGJiMDBjODU0OGE1YTNi
MTQwY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXV0b0xheW91dEludGVncmF0aW9uLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCkBAIC0xNzQsNyArMTc0LDcgQEAg
VEVTVChXZWJLaXQsIEF1dG9MYXlvdXRJbnRlZ3JhdGlvbikKICAgICBbd2ViVmlldyBfc2V0U2hv
dWxkRXhwYW5kQ29udGVudFRvVmlld0hlaWdodEZvckF1dG9MYXlvdXQ6Tk9dOwogfQogCi1URVNU
KFdlYktpdCwgRElTQUJMRURfQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRl
cmluZykKK1RFU1QoV2ViS2l0LCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nKQogewogICAgIFJldGFpblB0cjxBdXRvTGF5b3V0V0tXZWJWaWV3PiB3ZWJWaWV3ID0g
YWRvcHROUyhbW0F1dG9MYXlvdXRXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCAxMDAwLCAxMDAwKV0pOwogCkBAIC0xOTksNyArMTk5LDYgQEAgVEVTVChXZWJL
aXQsIERJU0FCTEVEX0F1dG9MYXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcp
CiAgICAgW3dlYlZpZXcgc2V0RXhwZWN0ZWRJbnRyaW5zaWNDb250ZW50U2l6ZTpOU01ha2VTaXpl
KDEwMCwgNDAwKV07CiAgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8Ym9keSBzdHlsZT0n
bWFyZ2luOiAwOyBoZWlnaHQ6IDQwMHB4Oyc+PC9ib2R5PiIgYmFzZVVSTDpuaWxdOwogICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXpl
KTsKLSAgICBFWFBFQ1RfRkFMU0UoZGlkRmlyc3RMYXlvdXQpOwogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZGlkRmlyc3RMYXlvdXQpOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZGlkRmluaXNoTmF2aWdhdGlvbik7CiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVn
YXRlOm5pbF07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368187</attachid>
            <date>2019-04-24 15:12:32 -0700</date>
            <delta_ts>2019-04-24 15:27:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196948-20190424151231.patch</filename>
            <type>text/plain</type>
            <size>27053</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA4YjI2YjkyNDIxOTBj
YWE2YzZlMTViM2QzOGU0MjYyZGEzMTIwYi4uNmQ2NTNiOGU2YmU4ODYyMWE4ZTdmYmNiYThmYzU3
YzUxMjQyOTE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTA0LTI0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbiAocjI0NDI5
MSk6IEJyb2tlbiBBUEkgVGVzdCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5OTI3MTMxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVz
dHMuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9D
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OmF1dG9TaXplSWZFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6ZW5hYmxlQXV0b1NpemVNb2RlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmll
dy5oOgorCiAyMDE5LTA0LTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gRG8gbm90IHVzZSB0aGUgZ2xvYmFsIF9XS0Nv
bnRlbnRDaGFuZ2UgaW4gV2ViS2l0TGVnYWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM1ODU3YzA3ZWM1MTcyN2Y2
OWNkZDJmMDhiNzMwZGFiYzYyMDA0MWMuLmM2NWZjN2ZiMDA5NTNmNWI5MjhkODM3NzMxODlhYjBm
ZGYwZWI1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTktMDQtMjQgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uIChyMjQ0MjkxKTog
QnJva2VuIEFQSSBUZXN0IEF1dG9MYXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njk0
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5MjcxMzE+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBpbnRyaW5zaWNDb250ZW50U2l6ZURp
ZENoYW5nZSBvdXQgb2YgRHJhd2luZ0FyZWEuIEludHJpbnNpYyBjb250ZW50IHNpemUgaXMgYSBs
YXlvdXQgY29uY2VwdCBhbmQKKyAgICAgICAgYWZ0ZXIgcjI0NDI5MSB0aGVyZSdzIG5vIHJlYXNv
biB0byBoYXZlIGl0IGluIERyYXdpbmdBcmVhLgorCisgICAgICAgICogVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBk
YXRlR2VvbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjppbnRyaW5z
aWNDb250ZW50U2l6ZURpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlSW50cmlu
c2ljQ29udGVudFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFZpZXdM
YXlvdXRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW06CisgICAg
ICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmludHJpbnNp
Y0NvbnRlbnRTaXplRGlkQ2hhbmdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjppbnRy
aW5zaWNDb250ZW50U2l6ZURpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDaHJvbWVDbGllbnQ6OmludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQgY29uc3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlzcGF0Y2hEaWRSZWFjaExheW91dE1pbGVzdG9uZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJz
KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0
ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQpOiBEZWxldGVkLgorCiAyMDE5LTA0LTI0ICBE
ZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgX2hpZ2hsaWdo
dExvbmdQcmVzc0NhbkNsaWNrIGFuZCBvbmx5IGFkZCBnZXN0dXJlIHJlY29nbml6ZXIgd2hlbiBu
ZWNlc3NhcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA1ZjE2MmEzMDBhMWNlMThk
NzE5YWNjNTBjM2QwMDE1ZTgzOTQ1YTE5Li4yZGIyZjQ4ZTFiNzM4MzIxNzkyOGMxOGIyZTNkNTFh
YWFlM2ExMWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTktMDQtMjQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWdyZXNzaW9uIChyMjQ0MjkxKTogQnJva2VuIEFQSSBUZXN0IEF1dG9MYXlvdXRSZW5kZXJpbmdQ
cm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5Njk0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5MjcxMzE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxOS0wNC0yMyAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjI0NDU1Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBlZTg4MDM0MmIy
Y2Y2ZTlkYjE2YTg1YTlmZGY1YTQyMGI0MjM0ODJlLi42NTc3NmYzYTc1OTViYjg2N2YzOTJlNWQ1
NzVmYzRiOWEwZjlmNjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTktMDQtMjQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZWdyZXNzaW9uIChyMjQ0MjkxKTogQnJva2VuIEFQSSBUZXN0IEF1dG9MYXlvdXRSZW5k
ZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Njk0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5
MjcxMzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50OjppbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkIGNvbnN0KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxOS0wNC0yMyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQcm9jZXNzLVN3YXAtT24tTmF2aWdh
dGlvbl0gV2ViS2l0IGhhbmdzIHdoZW4gZ29pbmcgYmFjayB0byBhIGZvcm0gc3VibWlzc2lvbidz
IHBhZ2UgZHVlIHRvIFByb2Nlc3MtU3dhcC1Pbi1OYXZpZ2F0aW9uIG9uIGlPUyAxMi4yIGFuZCBo
aWdoZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBkNzk0ZWZiYzU0ZTNm
ZWU3MzhkNWUzZWUxOGIzZWQ0NmE0MjJiN2U3Li42YTY2M2Y4MjZmM2FlNDljOGMwNWJmMDNlMzA2
MmVkN2JiMTg1NjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xMTMs
NiArMTEzLDcgQEAgY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50
IHsKIAogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBm
aW5hbCB7IHJldHVybiAwOyB9CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwg
Y29uc3QgSW50U2l6ZSYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgaW50cmluc2ljQ29udGVu
dHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgZmluYWwgeyB9CiAKICAgICB2b2lk
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCkg
ZmluYWwgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDU0MGQ3OGFhMmJm
ODU1MDcwYjg2MjkyZWYxNzkyOTY4Mjk0NzZiNWYuLmNkZGYxM2NhZTg4OTMwZTIzNmU5NDA5Zjky
ZWZjMmZmZDQwYmY1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTk1LDYg
KzE5NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3Bl
cnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmKSBjb25zdCB7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdl
ZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0
SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFj
IGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6
UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggOGVjZWYwNzYxYzc5ODFmNGJmZjk3Njg1OGZhZjdk
MmUwNWU5NDFhZi4uMzk4NDM4YWEyOGU1YTljMmQxYTU5NDU3NGNiY2RlNjA4NDBiOTUwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzQ2MywxMiArMzQ2MywxNSBAQCB2b2lkIEZy
YW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQoKQogICAgIHJlc2l6ZShtX2F1dG9TaXplQ29uc3Ry
YWludC53aWR0aCgpLCBtX2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQoKSk7CiAgICAgZG9jdW1l
bnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICBkb2N1bWVudC0+dXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgbV9hdXRvU2l6ZUNvbnRlbnRTaXplID0gY29u
dGVudHNTaXplKCk7CiAKLSAgICBhdXRvIGZpbmFsV2lkdGggPSBzdGQ6Om1heChtX2F1dG9TaXpl
Q29uc3RyYWludC53aWR0aCgpLCBtX2F1dG9TaXplQ29udGVudFNpemUud2lkdGgoKSk7Ci0gICAg
YXV0byBmaW5hbEhlaWdodCA9IG1fYXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQgPyBzdGQ6Om1h
eChtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0LCBtX2F1dG9TaXplQ29udGVudFNpemUuaGVp
Z2h0KCkpIDogbV9hdXRvU2l6ZUNvbnRlbnRTaXplLmhlaWdodCgpOworICAgIGF1dG8gY3VycmVu
dENvbnRlbnRzU2l6ZSA9IHRoaXMtPmNvbnRlbnRzU2l6ZSgpOworICAgIGF1dG8gZmluYWxXaWR0
aCA9IHN0ZDo6bWF4KG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRoKCksIGN1cnJlbnRDb250ZW50
c1NpemUud2lkdGgoKSk7CisgICAgYXV0byBmaW5hbEhlaWdodCA9IG1fYXV0b1NpemVGaXhlZE1p
bmltdW1IZWlnaHQgPyBzdGQ6Om1heChtX2F1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0LCBjdXJy
ZW50Q29udGVudHNTaXplLmhlaWdodCgpKSA6IGN1cnJlbnRDb250ZW50c1NpemUuaGVpZ2h0KCk7
CiAgICAgcmVzaXplKGZpbmFsV2lkdGgsIGZpbmFsSGVpZ2h0KTsKICAgICBkb2N1bWVudC0+dXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgbV9hdXRvU2l6ZUNvbnRl
bnRTaXplID0gY29udGVudHNTaXplKCk7IAorICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUoKS5w
YWdlKCkpCisgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmludHJpbnNpY0NvbnRlbnRz
U2l6ZUNoYW5nZWQobV9hdXRvU2l6ZUNvbnRlbnRTaXplKTsKICAgICBtX2RpZFJ1bkF1dG9zaXpl
ID0gdHJ1ZTsKIH0KIApAQCAtNDQ3MCw2ICs0NDczLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmVuYWJs
ZUF1dG9TaXplTW9kZShib29sIGVuYWJsZSwgY29uc3QgSW50U2l6ZSYgdmlld1NpemUpCiAKICAg
ICBtX3Nob3VsZEF1dG9TaXplID0gZW5hYmxlOwogICAgIG1fYXV0b1NpemVDb25zdHJhaW50ID0g
dmlld1NpemU7CisgICAgbV9hdXRvU2l6ZUNvbnRlbnRTaXplID0gY29udGVudHNTaXplKCk7CiAg
ICAgbV9kaWRSdW5BdXRvc2l6ZSA9IGZhbHNlOwogCiAgICAgc2V0TmVlZHNMYXlvdXRBZnRlclZp
ZXdDb25maWd1cmF0aW9uQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAyNTNk
YjJhYTUxNDJhZDA3NDc5MjUyYTVkNmNiNWE4OTY3YzIzZTk3Li44MWQxY2M2MmRiNzA3MDY5MTM0
MzNiNzZmYjAzYzA0ZjkyYjY2ZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTQwMSw2
ICs0MDEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Zpc3VhbGx5Tm9uRW1wdHkoKSBjb25zdCB7
IHJldHVybiBtX2lzVmlzdWFsbHlOb25FbXB0eTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
ZW5hYmxlQXV0b1NpemVNb2RlKGJvb2wgZW5hYmxlLCBjb25zdCBJbnRTaXplJiBtaW5TaXplKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1dG9TaXplRml4ZWRNaW5pbXVtSGVpZ2h0KGlu
dCk7CisgICAgYm9vbCBpc0F1dG9TaXplRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxk
QXV0b1NpemU7IH0KICAgICBJbnRTaXplIGF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fYXV0b1NpemVDb250ZW50U2l6ZTsgfQogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmb3JjZUxheW91dChib29sIGFsbG93U3VidHJlZUxheW91dCA9IGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBiNjkwNWIw
MThmMTE0ZTVjZjYyZTIwMjgzZmU0ZmExYTEyZGFiOGU5Li40NmUxNjk3NzI4NGY1YmEzZjg3ZDBm
OWFlNDBhMTUzZjM1OWFiOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oCkBAIC0xNDMsNyArMTQzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgLyogYmFja2luZ1N0b3Jl
U3RhdGVJRCAqLywgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIHsgfQogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVHZW9tZXRyeSgpIHsgfQotICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRT
aXplJikgeyB9CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2lu
Z0FyZWFQcm94eT4gbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNzYWdlcy5pbgppbmRleCAz
ZTU4ZGU1OTVkZGM2MTY4OGU2YWMxZTE2YzVlZmMxOTdkMDgxNGJmLi5iY2YyZmI5ZjMyMGY4MTI2
NDM3Y2U3MmE0OGFhZDExMjdlMGVlZDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxLDYgKzMxLDUgQEAgbWVz
c2FnZXMgLT4gRHJhd2luZ0FyZWFQcm94eSB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgLy8g
VXNlZCBieSBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LgogICAgIERpZFVwZGF0
ZUdlb21ldHJ5KCkKLSAgICBJbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShXZWJDb3JlOjpJ
bnRTaXplIG5ld0ludHJpbnNpY0NvbnRlbnRTaXplKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyNTQ3NjE3N2VhMmI2ZjdhYjhhYzhmMThh
ZjgzMTRmN2M5MzYyN2QyLi4yMTU2ZmRlYzUzZjhlN2NkMzhiMDIxNTUwMWVlYjA0MTgxYWQxMzY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTU0NzAsNiAr
NTQ3MCwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQ29udGVudFNpemUoY29uc3Qg
SW50U2l6ZSYgc2l6ZSkKICAgICBwYWdlQ2xpZW50KCkuZGlkQ2hhbmdlQ29udGVudFNpemUoc2l6
ZSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6
ZShjb25zdCBJbnRTaXplJiBpbnRyaW5zaWNDb250ZW50U2l6ZSkKK3sKKyNpZiBVU0UoQVBQS0lU
KQorICAgIHBhZ2VDbGllbnQoKS5pbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShpbnRyaW5z
aWNDb250ZW50U2l6ZSk7CisjZW5kaWYKK30KKwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9S
KQogdm9pZCBXZWJQYWdlUHJveHk6OnNob3dDb2xvclBpY2tlcihjb25zdCBXZWJDb3JlOjpDb2xv
ciYgaW5pdGlhbENvbG9yLCBjb25zdCBJbnRSZWN0JiBlbGVtZW50UmVjdCwgVmVjdG9yPFdlYkNv
cmU6OkNvbG9yPiYmIHN1Z2dlc3Rpb25zKQogewpAQCAtNzYwMiw3ICs3NjA5LDcgQEAgdm9pZCBX
ZWJQYWdlUHJveHk6OnNldFZpZXdMYXlvdXRTaXplKGNvbnN0IEludFNpemUmIHZpZXdMYXlvdXRT
aXplKQogCiAjaWYgVVNFKEFQUEtJVCkKICAgICBpZiAobV92aWV3TGF5b3V0U2l6ZS53aWR0aCgp
IDw9IDApCi0gICAgICAgIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKEludFNpemUoLTEs
IC0xKSk7CisgICAgICAgIGRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKEludFNpemUoLTEs
IC0xKSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCAyNDEzOTU0MjEzNTk4NDdiMTZjYjE3MGQxMDVlZDE4OWNhYzI3YWI3Li40ZGIxZmRlYzdh
MjM2YmRlN2E5ZGQ4YTNkNTgwNDRhYzJjNzA1ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaApAQCAtNzkwLDcgKzc5MCw2IEBAIHB1YmxpYzoKICAgICBOU1ZpZXcgKmlu
c3BlY3RvckF0dGFjaG1lbnRWaWV3KCk7CiAgICAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJl
bW90ZU9iamVjdFJlZ2lzdHJ5KCk7CiAKLSAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlk
Q2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKTsKICAg
ICBDR1JlY3QgYm91bmRzT2ZMYXllckluTGF5ZXJCYWNrZWRXaW5kb3dDb29yZGluYXRlcyhDQUxh
eWVyICopIGNvbnN0OwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIApAQCAtMTcxMyw2ICsxNzEy
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qg
bm90aWZpY2F0aW9uSUQpOwogCiAgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50U2l6ZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJik7CisgICAgdm9pZCBkaWRDaGFuZ2VJbnRyaW5zaWNDb250ZW50U2l6
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xP
UikKICAgICB2b2lkIHNob3dDb2xvclBpY2tlcihjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlh
bENvbG9yLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgVmVjdG9yPFdlYkNvcmU6OkNvbG9yPiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCAxOGVlYjQ2YjQwYTRmYWFkZDdlMzg3OGJlN2I5NmQyMGM1MzMxODkyLi42OTFiNDE3
ZTkxNzBkODBmOTI2ZjhlNTBjODhkYjZiYzY4MTIxYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC04OCw2ICs4OCw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0Q2FuU2hvcnRDaXJjdWl0SG9yaXpvbnRh
bFdoZWVsRXZlbnRzKGJvb2wgY2FuU2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzKQog
CiAgICAgRGlkQ2hhbmdlQ29udGVudFNpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorICAg
IERpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKFdlYkNvcmU6OkludFNpemUgbmV3SW50cmlu
c2ljQ29udGVudFNpemUpCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICBTaG93
Q29sb3JQaWNrZXIoV2ViQ29yZTo6Q29sb3IgaW5pdGlhbENvbG9yLCBXZWJDb3JlOjpJbnRSZWN0
IGVsZW1lbnRSZWN0LCBWZWN0b3I8V2ViQ29yZTo6Q29sb3I+IHN1Z2dlc3Rpb25zKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGYyZjI3MDJhMDE1ZTI1YTNkYTFhYjE3ZTY1
MzljNzc4Mjk4MDRlN2IuLjQ0MjAwYzJkYTQ0OWY3YjJiZTJhZjY0ZTE1YzFkZTAzMDU1MjY5YWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaApAQCAtNjAsNyArNjAsNiBAQCBwcml2
YXRlOgogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICB2b2lkIGRpZFVwZGF0ZUdlb21l
dHJ5KCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBpbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNlbmRVcGRhdGVH
ZW9tZXRyeSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IDA3Mzlm
ZGMyYTY3OGQ0ZjRkYjRiZmY3ZDhiNzViNDczYzdjNDc2NWEuLmY3MGYxYTRhYzRkOWUxNmFmNmNh
OTc4YzgyNmI3NTI5ZmQzZTIwNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1t
CkBAIC0xMjUsMTIgKzEyNSw2IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQ
cm94eTo6d2FpdEZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGUoQWN0aXZpdHlTCiAgICAgcHJvY2Vz
cygpLmNvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkVXBkYXRlQWN0aXZpdHlTdGF0ZT4obV93ZWJQYWdlUHJveHkucGFn
ZUlEKCksIGFjdGl2aXR5U3RhdGVVcGRhdGVUaW1lb3V0LCBJUEM6OldhaXRGb3JPcHRpb246Oklu
dGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAKLXZvaWQgVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2Uo
Y29uc3QgSW50U2l6ZSYgbmV3SW50cmluc2ljQ29udGVudFNpemUpCi17Ci0gICAgaWYgKG1fd2Vi
UGFnZVByb3h5LnZpZXdMYXlvdXRTaXplKCkud2lkdGgoKSA+IDApCi0gICAgICAgIG1fd2ViUGFn
ZVByb3h5LmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKG5ld0ludHJpbnNpY0NvbnRlbnRT
aXplKTsKLX0KLQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp3aWxs
U2VuZFVwZGF0ZUdlb21ldHJ5KCkKIHsKICAgICBtX2xhc3RTZW50Vmlld0xheW91dFNpemUgPSBt
X3dlYlBhZ2VQcm94eS52aWV3TGF5b3V0U2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KaW5kZXggNzRmNmE2OTY5ZDg5MjFlYzBhMWE4MGQ3
MDYwYjI5OWJlMDJjODliNC4uMTM4ZDEzMmFjMWYzMTYyOTRjZDYzZGI4OTQxNzkzM2U4YzVmZmU1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1t
CkBAIC00MzMsMTEgKzQzMyw2IEBAIGJvb2wgV2ViUGFnZVByb3h5OjphY2NlcHRzRmlyc3RNb3Vz
ZShpbnQgZXZlbnROdW1iZXIsIGNvbnN0IFdlYktpdDo6V2ViTW91c2VFdmVuCiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlk
Q2hhbmdlKGNvbnN0IEludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKQotewotICAgIHBhZ2VD
bGllbnQoKS5pbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShpbnRyaW5zaWNDb250ZW50U2l6
ZSk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRSZW1vdGVMYXllclRyZWVSb290Tm9kZShS
ZW1vdGVMYXllclRyZWVOb2RlKiByb290Tm9kZSkKIHsKICAgICBwYWdlQ2xpZW50KCkuc2V0UmVt
b3RlTGF5ZXJUcmVlUm9vdE5vZGUocm9vdE5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRl
eCAyYjZiZDczZTNiYWY3ODc3YzM1MjgyNDBmMWEzMDVlY2M2MmY3NWJkLi45YmFhODRkMzhhZTA4
MDExMThhMTJiODFlMjA0ZWEyZThmMGU5ZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAt
NTg5LDYgKzU4OSwxMSBAQCBQbGF0Zm9ybVBhZ2VDbGllbnQgV2ViQ2hyb21lQ2xpZW50OjpwbGF0
Zm9ybVBhZ2VDbGllbnQoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCit2b2lkIFdlYkNocm9t
ZUNsaWVudDo6aW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBzaXpl
KSBjb25zdAoreworICAgIG1fcGFnZS51cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVk
KHNpemUpOworfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChG
cmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiB7CiAgICAgRnJhbWVWaWV3
KiBmcmFtZVZpZXcgPSBmcmFtZS52aWV3KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggOTExZjc2
YTFhY2YwZGE2OTMxNzgzNmQ0OGVlY2U2ZDQ3YjA3ZWNjNS4uNzA1YjI1ZTlmYzkxMmE2M2I1YjQ1
NzdlZjJiOGQ1ZTA3MTdhMzU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTE3LDYgKzExNyw3
IEBAIHByaXZhdGU6CiAKICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50
KCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZy
YW1lJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgaW50
cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIGNvbnN0IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGlt
cGxlbWVudGF0aW9uLgogCiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VC
ZUJ1dHRvbihXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxp
dHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCA0ZWU2Yjg4NjYyMjczMTk5NGJjZWFjMDU4YzFmNjFmZTE0YzBm
ZWI1Li45ODU2NTY2OTlkNmIwODk5Y2M2NjU4MTkwNTJkMjFkM2MzN2I5MjkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjIxMCw2ICs2MjEw
LDIxIEBAIHZvaWQgV2ViUGFnZTo6cmVtb3ZlQWxsVXNlckNvbnRlbnQoKQogICAgIG1fdXNlckNv
bnRlbnRDb250cm9sbGVyLT5yZW1vdmVBbGxVc2VyQ29udGVudCgpOwogfQogCit2b2lkIFdlYlBh
Z2U6OnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYgc2l6ZSkKK3sKKyAgICBpZiAoIXZpZXdMYXlvdXRTaXplKCkud2lkdGgoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgQVNTRVJUKG1haW5GcmFtZVZpZXcoKSk7CisgICAgQVNTRVJUKG1h
aW5GcmFtZVZpZXcoKS0+aXNBdXRvU2l6ZUVuYWJsZWQoKSk7CisgICAgQVNTRVJUKCFtYWluRnJh
bWVWaWV3KCktPm5lZWRzTGF5b3V0KCkpOworICAgIGlmIChtX2xhc3RTZW50SW50cmluc2ljQ29u
dGVudFNpemUgPT0gc2l6ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9sYXN0U2VudEludHJp
bnNpY0NvbnRlbnRTaXplID0gc2l6ZTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKHNpemUpKTsKK30KKwogdm9pZCBXZWJQYWdl
OjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9wdGlvblNldDxXZWJDb3JlOjpMYXlv
dXRNaWxlc3RvbmU+IG1pbGVzdG9uZXMpCiB7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2Vy
RGF0YTsKQEAgLTYyMjUsNiArNjI0MCwxMCBAQCB2b2lkIFdlYlBhZ2U6OmRpc3BhdGNoRGlkUmVh
Y2hMYXlvdXRNaWxlc3RvbmUoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZQogICAg
ICAgICBpZiAoZHJhd2luZ0FyZWFSZWxhdGVkTWlsZXN0b25lcyAmJiBtX2RyYXdpbmdBcmVhLT5h
ZGRNaWxlc3RvbmVzVG9EaXNwYXRjaChkcmF3aW5nQXJlYVJlbGF0ZWRNaWxlc3RvbmVzKSkKICAg
ICAgICAgICAgIG1pbGVzdG9uZXMucmVtb3ZlKGRyYXdpbmdBcmVhUmVsYXRlZE1pbGVzdG9uZXMp
OwogICAgIH0KKyAgICBpZiAobWlsZXN0b25lcy5jb250YWlucyhEaWRGaXJzdExheW91dCkgJiYg
bWFpbkZyYW1lVmlldygpKSB7CisgICAgICAgIC8vIEVuc3VyZSB3ZSBuZXZlciBzZW5kIERpZEZp
cnN0TGF5b3V0IG1pbGVzdG9uZSB3aXRob3V0aCB1cGRhdGluZyB0aGUgaW50cmluc2ljIHNpemUu
CisgICAgICAgIHVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQobWFpbkZyYW1lVmll
dygpLT5hdXRvU2l6aW5nSW50cmluc2ljQ29udGVudFNpemUoKSk7CisgICAgfQogCiAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxlc3Rv
bmVzKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggNGIyNWI1YzlkOWIyMDk5YWQ3MDNlOWQ1MmU2MDg1YWU5OTY2ZDhlNC4uMWJiNjI3ZDVlODgz
NTU3ZDlmM2IxZDY0MzZiYzZkMmVlYTk0MmM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTE3Nyw2ICsxMTc3LDggQEAgcHVibGljOgogCiAgICAg
dm9pZCBzZXRSZW1vdGVPYmplY3RSZWdpc3RyeShSZW1vdGVPYmplY3RSZWdpc3RyeSYpOwogCisg
ICAgdm9pZCB1cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKGNvbnN0IFdlYkNvcmU6
OkludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApAQCAtMTg4OSw2ICsxODkxLDcgQEAgcHJpdmF0
ZToKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXZWFrUHRyPFJlbW90ZU9iamVjdFJlZ2lzdHJ5
PiBtX3JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogI2VuZGlmCisgICAgV2ViQ29yZTo6SW50U2l6ZSBt
X2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKaW5kZXggOWFmMWU3ZmQ0
ZGE1ZDExNjM2M2IwMjg1MGQ4ZWM1OTNjNjExOWUxNS4uMWQ4YWVlZWI1NWY1OTQ2Yjk5ODg3YTQz
NmNlMWYyMjA4Y2ZkYTlkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
LmgKQEAgLTEyMSw3ICsxMjEsNiBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlRpbGVkQmFja2lu
ZyogbWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVEZWJ1Z0lu
Zm9MYXllcihib29sIHNob3dMYXllcik7CiAKLSAgICB2b2lkIHVwZGF0ZUludHJpbnNpY0NvbnRl
bnRTaXplSWZOZWVkZWQoKTsKICAgICB2b2lkIHVwZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QoKTsK
ICAgICB2b2lkIHNjYWxlVmlld1RvRml0RG9jdW1lbnRJZk5lZWRlZCgpOwogCkBAIC0xNTAsOCAr
MTQ5LDYgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fbGFzdFZpZXdTaXplRm9y
U2NhbGVUb0ZpdDsKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fbGFzdERvY3VtZW50U2l6ZUZvclNj
YWxlVG9GaXQ7CiAKLSAgICBXZWJDb3JlOjpJbnRTaXplIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250
ZW50U2l6ZTsKLQogICAgIGRvdWJsZSBtX3RyYW5zaWVudFpvb21TY2FsZSB7IDEgfTsKICAgICBX
ZWJDb3JlOjpGbG9hdFBvaW50IG1fdHJhbnNpZW50Wm9vbU9yaWdpbjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDg1ZjBjYTJjZGVlNTgyYTk2MWIzMGIx
ZjcxNTUwN2M1NWVlOGZlNTAuLjgwOTVlNjdkOGY2ZGZmMjFiYWM2YTFlMDQ3MDZiYjFhYWNmYWYw
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTI3OCwy
NiArMjc4LDYgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6bWFpbkZyYW1l
Q29udGVudFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIHMKIHsKIH0KIAotdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRl
ZCgpCi17Ci0gICAgaWYgKCFtX3dlYlBhZ2Uudmlld0xheW91dFNpemUoKS53aWR0aCgpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fd2ViUGFnZS5tYWlu
RnJhbWVWaWV3KCk7Ci0gICAgaWYgKCFmcmFtZVZpZXcpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmIChmcmFtZVZpZXctPm5lZWRzTGF5b3V0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIElu
dFNpemUgY29udGVudFNpemUgPSBmcmFtZVZpZXctPmF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50
U2l6ZSgpOwotICAgIGlmIChtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPT0gY29udGVu
dFNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50
U2l6ZSA9IGNvbnRlbnRTaXplOwotICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6
OkludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnRlbnRTaXplKSk7Ci19Ci0KIHZvaWQg
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldFNob3VsZFNjYWxlVmlld1RvRml0RG9j
dW1lbnQoYm9vbCBzaG91bGRTY2FsZVZpZXcpCiB7CiAgICAgaWYgKG1fc2hvdWxkU2NhbGVWaWV3
VG9GaXREb2N1bWVudCA9PSBzaG91bGRTY2FsZVZpZXcpCkBAIC00NjIsOCArNDQyLDYgQEAgdm9p
ZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoRmx1c2hUeXBlIGZs
dXNoVHlwZSkKICAgICAgICAgbV93ZWJQYWdlLnVwZGF0ZVJlbmRlcmluZygpOwogICAgICAgICBt
X3dlYlBhZ2UuZmx1c2hQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUoKTsKIAotICAgICAgICB1cGRh
dGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVlZGVkKCk7Ci0KICAgICAgICAgaWYgKG1fcGVuZGlu
Z1Jvb3RMYXllcikgewogICAgICAgICAgICAgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIobV9wZW5k
aW5nUm9vdExheWVyLmdldCgpKTsKICAgICAgICAgICAgIG1fcGVuZGluZ1Jvb3RMYXllciA9IG51
bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGI4ZTIwYzY5ZDgwMWU5ZDMzYTJjZDNjNGRhNmE5
MzZhY2YzOTQyYWUuLjY0MGZlNThmZDEwNDc5NGIzYzU4M2U2NTlhYjYxYWNkZjE3YzJlMjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCkBAIC0xMDQsNiArMTA0LDcgQEAgcHJpdmF0ZToKIAogICAgIFBsYXRm
b3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lk
IGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJikgY29uc3QgZmluYWw7CisgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbCB7IH0KICAgICB2b2lkIHNjcm9s
bFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKICAg
ICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAppbmRleCA2M2IwNmEyMzdlYTQ3MDNmZGZjYWFlYTAzZWU4MjgwODY3YTNlYjE4
Li45MzdlZjY5NGI3NDJjNTBlNmFhMDEzMGY2MzAwYjQwOTY3OGZmMmEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKQEAgLTUyNCw2ICs1MjQsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRl
bnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6aW50cmluc2ljQ29udGVudHNT
aXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29u
c3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCB1bnNpZ25lZCBtb2RpZmllckZsYWdzKQogewogICAg
IENPTVB0cjxJV2ViVUlEZWxlZ2F0ZT4gdWlEZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
N2ViZTU2YmIxNGExZmFkNWIzNTI0YzM3MWYyZjYyMmI0MDc3NThlYS4uYWVmMTY3YTVkZTBlNzIx
NDM0NDM2YzA1ZDMyNDk1NmE2MjAwYTc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEwMiw2ICsx
MDIsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6SW50UmVjdCByb290Vmlld1RvQWNjZXNzaWJp
bGl0eVNjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAgICAgUGxh
dGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZv
aWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5n
ZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBtb3Vz
ZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiwgdW5zaWdu
ZWQgbW9kaWZpZXJGbGFncykgZmluYWw7CiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdp
bk1lc3NhZ2VCZUJ1dHRvbihXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc0M2U5YWU1NWNhOTdiZGJjMjNiYzRhNDQ2ODYw
MGI3Mjc4M2ZmMzEuLjE1NzlmYjY5ZmU1YTZiYmI5MzlhMTU1ZjZkMjMzMDQ3N2U3OTI0YTggMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxOS0wNC0yNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlZ3Jlc3Npb24gKHIyNDQyOTEpOiBCcm9rZW4gQVBJIFRlc3QgQXV0b0xheW91dFJl
bmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
OTkyNzEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9u
Lm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgIFRoZSBleHBlY3RlZCBvcmRlciBvZiBpbmNv
bWluZyBldmVudHMgaXMKKyAgICAgICAgMS4gZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRT
aXplCisgICAgICAgIDIuIGRpZEZpcnN0TGF5b3V0CisgICAgICAgIEF0IHNldFJlbmRlcmluZ1By
b2dyZXNzRGlkQ2hhbmdlLCB3ZSBhbHJlYWR5IGNoZWNrIGlmIGRpZEludmFsaWRhdGVJbnRyaW5z
aWNDb250ZW50U2l6ZSBjb21lcyBpbiBmaXJzdC4KKyAgICAgICAgSG93ZXZlciBpdCdzIG5vdCBn
dWFyYW50ZWVkIHRoYXQgdGhlIG1pbGVzdG9uZSBldmVudCBpcyBkZWxheWVkIHVudGlsIGFmdGVy
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigpIGlzIGZpbmlzaGVkCisgICAgICAgIChhbmQgcmVt
ZW1iZXIsIGFsbCB3ZSBjYXJlIGFib3V0IGlzIG9yZGVyaW5nKS4KKwogMjAxOS0wNC0yNCAgUGhp
bGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0J1aWxkXVtH
U3RyZWFtZXJdIFVwZGF0ZSB0byAxLjE2LjAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KaW5k
ZXggYTVkOGM0MjMxMzZkZDIxNDc2MDgxOWMyZGEyYjJmYjBjYTg1NTg2NS4uYTgyMjEwODBhMGQy
OWJmZmZhMmNjOTI1NTBlMmYyMzA3MGU4ZTRiYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24u
bW0KQEAgLTE2Myw3ICsxNjMsNyBAQCBURVNUKFdlYktpdCwgQXV0b0xheW91dEludGVncmF0aW9u
KQogICAgIC8vIG9mIHRoZSBpbnRyaW5zaWMgaGVpZ2h0IG9mIHRoZSBjb250ZW50LiBXZSBoYXZl
IHRvIGxvYWQgZGlmZmVyZW50bHktc2l6ZWQgY29udGVudCBzbyB0aGF0IHdlIGNhbiB3YWl0IGZv
cgogICAgIC8vIHRoZSBpbnRyaW5zaWMgc2l6ZSBjaGFuZ2UgY2FsbGJhY2suCiAgICAgW3dlYlZp
ZXcgX3NldFNob3VsZEV4cGFuZENvbnRlbnRUb1ZpZXdIZWlnaHRGb3JBdXRvTGF5b3V0OllFU107
Ci0gICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9J2xhcmdlJz48L2Rpdj4iIHdpdGhXaWR0
aDo1MCBleHBlY3RpbmdDb250ZW50U2l6ZTpOU01ha2VTaXplKDEwMCwgMTAwKSByZXNldHRpbmdX
aWR0aDpOT107CisgICAgW3dlYlZpZXcgbG9hZDpAIjxkaXYgY2xhc3M9J2xhcmdlJz48L2Rpdj4i
IHdpdGhXaWR0aDo1MCBleHBlY3RpbmdDb250ZW50U2l6ZTpOU01ha2VTaXplKDEwMCwgMTAwMCkg
cmVzZXR0aW5nV2lkdGg6Tk9dOwogICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIndp
bmRvdy5pbm5lckhlaWdodCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCB2YWx1ZSwgTlNFcnJvciAq
ZXJyb3IpIHsKICAgICAgICAgRVhQRUNUX1RSVUUoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6W05TTnVt
YmVyIGNsYXNzXV0pOwogICAgICAgICBFWFBFQ1RfRVEoMTAwMCwgW3ZhbHVlIGludGVnZXJWYWx1
ZV0pOwpAQCAtMTc0LDcgKzE3NCw3IEBAIFRFU1QoV2ViS2l0LCBBdXRvTGF5b3V0SW50ZWdyYXRp
b24pCiAgICAgW3dlYlZpZXcgX3NldFNob3VsZEV4cGFuZENvbnRlbnRUb1ZpZXdIZWlnaHRGb3JB
dXRvTGF5b3V0Ok5PXTsKIH0KIAotVEVTVChXZWJLaXQsIERJU0FCTEVEX0F1dG9MYXlvdXRSZW5k
ZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcpCitURVNUKFdlYktpdCwgQXV0b0xheW91dFJl
bmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZykKIHsKICAgICBSZXRhaW5QdHI8QXV0b0xh
eW91dFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tBdXRvTGF5b3V0V0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAwMCwgMTAwMCldKTsKIApAQCAt
MTk5LDcgKzE5OSw2IEBAIFRFU1QoV2ViS2l0LCBESVNBQkxFRF9BdXRvTGF5b3V0UmVuZGVyaW5n
UHJvZ3Jlc3NSZWxhdGl2ZU9yZGVyaW5nKQogICAgIFt3ZWJWaWV3IHNldEV4cGVjdGVkSW50cmlu
c2ljQ29udGVudFNpemU6TlNNYWtlU2l6ZSgxMDAsIDQwMCldOwogICAgIFt3ZWJWaWV3IGxvYWRI
VE1MU3RyaW5nOkAiPGJvZHkgc3R5bGU9J21hcmdpbjogMDsgaGVpZ2h0OiA0MDBweDsnPjwvYm9k
eT4iIGJhc2VVUkw6bmlsXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZEludmFs
aWRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGRpZEZpcnN0TGF5
b3V0KTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZEZpcnN0TGF5b3V0KTsKICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZEZpbmlzaE5hdmlnYXRpb24pOwogICAgIFt3
ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpuaWxdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368191</attachid>
            <date>2019-04-24 15:27:34 -0700</date>
            <delta_ts>2019-04-24 19:17:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196948-20190424152733.patch</filename>
            <type>text/plain</type>
            <size>27028</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA4YjI2YjkyNDIxOTBj
YWE2YzZlMTViM2QzOGU0MjYyZGEzMTIwYi4uYzYzN2U4MTM1ZWY4OGMwZmNkOGI4YzA2ZDY2Y2E4
MGIwNWZjZTg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTA0LTI0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbiAocjI0NDI5
MSk6IEJyb2tlbiBBUEkgVGVzdCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5OTI3MTMxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4K
KworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9t
ZUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjplbmFibGVBdXRvU2l6ZU1vZGUpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6
CisKIDIwMTktMDQtMjQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbQ29udGVudENoYW5nZU9ic2VydmVyXSBEbyBub3QgdXNlIHRoZSBnbG9iYWwgX1dLQ29udGVu
dENoYW5nZSBpbiBXZWJLaXRMZWdhY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzU4NTdjMDdlYzUxNzI3ZjY5Y2Rk
MmYwOGI3MzBkYWJjNjIwMDQxYy4uMzI2NGZiYmRiZTA5NmVhZDE2MGQwMzk0OGI0YTAwYjM5ZWM0
ZmZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxOS0wNC0yNCAgWmFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gKHIyNDQyOTEpOiBCcm9r
ZW4gQVBJIFRlc3QgQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRlcmluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTQ4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTkyNzEzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgorCisgICAgICAgIE1vdmUgaW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2Ug
b3V0IG9mIERyYXdpbmdBcmVhLiBJbnRyaW5zaWMgY29udGVudCBzaXplIGlzIGEgbGF5b3V0IGNv
bmNlcHQgYW5kCisgICAgICAgIGFmdGVyIHIyNDQyOTEgdGhlcmUncyBubyByZWFzb24gdG8gaGF2
ZSBpdCBpbiBEcmF3aW5nQXJlYS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OmRpZFVwZGF0ZUdlb21l
dHJ5KToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVu
dFNpemVEaWRDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENoYW5nZUludHJpbnNpY0NvbnRl
bnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRWaWV3TGF5b3V0U2l6
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAgICAoV2Vi
S2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50
U2l6ZURpZENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdl
UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29u
dGVudFNpemVEaWRDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21l
Q2xpZW50OjppbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkIGNvbnN0KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmRpc3BhdGNoRGlkUmVhY2hMYXlvdXRNaWxlc3RvbmUpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW06CisgICAgICAgIChX
ZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6CisgICAg
ICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVJbnRyaW5z
aWNDb250ZW50U2l6ZUlmTmVlZGVkKTogRGVsZXRlZC4KKwogMjAxOS0wNC0yNCAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIF9oaWdobGlnaHRMb25nUHJl
c3NDYW5DbGljayBhbmQgb25seSBhZGQgZ2VzdHVyZSByZWNvZ25pemVyIHdoZW4gbmVjZXNzYXJ5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNWYxNjJhMzAwYTFjZTE4ZDcxOWFjYzUw
YzNkMDAxNWU4Mzk0NWExOS4uYzMyNTQxNzBjNmJiNWVmODY1MDI1YjJjNzhmNzU2YWJmYTBjZjA2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTA0
LTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lv
biAocjI0NDI5MSk6IEJyb2tlbiBBUEkgVGVzdCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NS
ZWxhdGl2ZU9yZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5OTI3MTMxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxOS0wNC0yMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0NDU1
Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCBlZTg4MDM0MmIyY2Y2ZTlkYjE2YTg1
YTlmZGY1YTQyMGI0MjM0ODJlLi5iODFlZDllZjg3NmM5NDAyZTc4YTdjY2EzZmU1YmUxNjE1YTA1
Nzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTkt
MDQtMjQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNz
aW9uIChyMjQ0MjkxKTogQnJva2VuIEFQSSBUZXN0IEF1dG9MYXlvdXRSZW5kZXJpbmdQcm9ncmVz
c1JlbGF0aXZlT3JkZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5Njk0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5MjcxMzE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmludHJpbnNp
Y0NvbnRlbnRzU2l6ZUNoYW5nZWQgY29uc3QpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oOgorCiAyMDE5LTA0LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1Byb2Nlc3MtU3dhcC1Pbi1OYXZpZ2F0aW9uXSBXZWJLaXQgaGFu
Z3Mgd2hlbiBnb2luZyBiYWNrIHRvIGEgZm9ybSBzdWJtaXNzaW9uJ3MgcGFnZSBkdWUgdG8gUHJv
Y2Vzcy1Td2FwLU9uLU5hdmlnYXRpb24gb24gaU9TIDEyLjIgYW5kIGhpZ2hlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGQ3OTRlZmJjNTRlM2ZlZTczOGQ1ZTNlZTE4YjNl
ZDQ2YTQyMmI3ZTcuLjZhNjYzZjgyNmYzYWU0OWM4YzA1YmYwM2UzMDYyZWQ3YmIxODU2MzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTExMyw2ICsxMTMsNyBAQCBjbGFz
cyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogCiAgICAgUGxhdGZv
cm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIDA7
IH0KICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikg
Y29uc3QgZmluYWwgeyB9CisgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNv
bnN0IEludFNpemUmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgbW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYsIHVuc2lnbmVkKSBmaW5hbCB7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNTQwZDc4YWEyYmY4NTUwNzBiODYyOTJlZjE3
OTI5NjgyOTQ3NmI1Zi4uY2RkZjEzY2FlODg5MzBlMjM2ZTk0MDlmOTJlZmMyZmZkNDBiZjVkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0xOTUsNiArMTk1LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShj
b25zdCBWaWV3cG9ydEFyZ3VtZW50cyYpIGNvbnN0IHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGNv
bnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUm
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJ
bnRSZWN0JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5
IGltcGxlbWVudGF0aW9uLgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1
Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJp
bGl0eVJlYXNvbikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCA4ZWNlZjA3NjFjNzk4MWY0YmZmOTc2ODU4ZmFmN2QyZTA1ZTk0MWFmLi4zOTg0
MzhhYTI4ZTVhOWMyZDFhNTk0NTc0Y2JjZGU2MDg0MGI5NTAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0zNDYzLDEyICszNDYzLDE1IEBAIHZvaWQgRnJhbWVWaWV3OjphdXRvU2l6
ZUlmRW5hYmxlZCgpCiAgICAgcmVzaXplKG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRoKCksIG1f
YXV0b1NpemVDb25zdHJhaW50LmhlaWdodCgpKTsKICAgICBkb2N1bWVudC0+dXBkYXRlU3R5bGVJ
Zk5lZWRlZCgpOwogICAgIGRvY3VtZW50LT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKLSAgICBtX2F1dG9TaXplQ29udGVudFNpemUgPSBjb250ZW50c1NpemUoKTsKIAot
ICAgIGF1dG8gZmluYWxXaWR0aCA9IHN0ZDo6bWF4KG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRo
KCksIG1fYXV0b1NpemVDb250ZW50U2l6ZS53aWR0aCgpKTsKLSAgICBhdXRvIGZpbmFsSGVpZ2h0
ID0gbV9hdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCA/IHN0ZDo6bWF4KG1fYXV0b1NpemVGaXhl
ZE1pbmltdW1IZWlnaHQsIG1fYXV0b1NpemVDb250ZW50U2l6ZS5oZWlnaHQoKSkgOiBtX2F1dG9T
aXplQ29udGVudFNpemUuaGVpZ2h0KCk7CisgICAgYXV0byBjdXJyZW50Q29udGVudHNTaXplID0g
dGhpcy0+Y29udGVudHNTaXplKCk7CisgICAgYXV0byBmaW5hbFdpZHRoID0gc3RkOjptYXgobV9h
dXRvU2l6ZUNvbnN0cmFpbnQud2lkdGgoKSwgY3VycmVudENvbnRlbnRzU2l6ZS53aWR0aCgpKTsK
KyAgICBhdXRvIGZpbmFsSGVpZ2h0ID0gbV9hdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodCA/IHN0
ZDo6bWF4KG1fYXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQsIGN1cnJlbnRDb250ZW50c1NpemUu
aGVpZ2h0KCkpIDogY3VycmVudENvbnRlbnRzU2l6ZS5oZWlnaHQoKTsKICAgICByZXNpemUoZmlu
YWxXaWR0aCwgZmluYWxIZWlnaHQpOwogICAgIGRvY3VtZW50LT51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICBtX2F1dG9TaXplQ29udGVudFNpemUgPSBjb250ZW50
c1NpemUoKTsgCisgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkKKyAgICAgICAg
cGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChtX2F1
dG9TaXplQ29udGVudFNpemUpOwogICAgIG1fZGlkUnVuQXV0b3NpemUgPSB0cnVlOwogfQogCkBA
IC00NDcwLDYgKzQ0NzMsNyBAQCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlQXV0b1NpemVNb2RlKGJv
b2wgZW5hYmxlLCBjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSkKIAogICAgIG1fc2hvdWxkQXV0b1Np
emUgPSBlbmFibGU7CiAgICAgbV9hdXRvU2l6ZUNvbnN0cmFpbnQgPSB2aWV3U2l6ZTsKKyAgICBt
X2F1dG9TaXplQ29udGVudFNpemUgPSBjb250ZW50c1NpemUoKTsKICAgICBtX2RpZFJ1bkF1dG9z
aXplID0gZmFsc2U7CiAKICAgICBzZXROZWVkc0xheW91dEFmdGVyVmlld0NvbmZpZ3VyYXRpb25D
aGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDI1M2RiMmFhNTE0MmFkMDc0Nzky
NTJhNWQ2Y2I1YTg5NjdjMjNlOTcuLjgxZDFjYzYyZGI3MDcwNjkxMzQzM2I3NmZiMDNjMDRmOTJi
NjZkZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNDAxLDYgKzQwMSw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzVmlzdWFsbHlOb25FbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1faXNWaXN1
YWxseU5vbkVtcHR5OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmFibGVBdXRvU2l6ZU1v
ZGUoYm9vbCBlbmFibGUsIGNvbnN0IEludFNpemUmIG1pblNpemUpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0QXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQoaW50KTsKKyAgICBib29sIGlz
QXV0b1NpemVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRBdXRvU2l6ZTsgfQogICAg
IEludFNpemUgYXV0b1NpemluZ0ludHJpbnNpY0NvbnRlbnRTaXplKCkgY29uc3QgeyByZXR1cm4g
bV9hdXRvU2l6ZUNvbnRlbnRTaXplOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZvcmNl
TGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlTGF5b3V0ID0gZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGI2OTA1YjAxOGYxMTRlNWNmNjJlMjAy
ODNmZTRmYTFhMTJkYWI4ZTkuLjQ2ZTE2OTc3Mjg0ZjViYTNmODdkMGY5YWU0MGExNTNmMzU5YWI5
ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTE0
Myw3ICsxNDMsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nTW9kZSh1aW50NjRfdCAvKiBiYWNraW5nU3RvcmVTdGF0ZUlEICovLCBjb25z
dCBMYXllclRyZWVDb250ZXh0JikgeyB9CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVh
bCB2b2lkIGRpZFVwZGF0ZUdlb21ldHJ5KCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGludHJpbnNp
Y0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSB7IH0KIAogI2lm
IFBMQVRGT1JNKE1BQykKICAgICBSdW5Mb29wOjpUaW1lcjxEcmF3aW5nQXJlYVByb3h5PiBtX3Zp
ZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDNlNThkZTU5NWRkYzYxNjg4
ZTZhYzFlMTZjNWVmYzE5N2QwODE0YmYuLmJjZjJmYjlmMzIwZjgxMjY0MzdjZTcyYTQ4YWFkMTEy
N2UwZWVkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzEsNiArMzEsNSBAQCBtZXNzYWdlcyAtPiBEcmF3aW5n
QXJlYVByb3h5IHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAvLyBVc2VkIGJ5IFRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuCiAgICAgRGlkVXBkYXRlR2VvbWV0cnkoKQotICAg
IEludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKFdlYkNvcmU6OkludFNpemUgbmV3SW50cmlu
c2ljQ29udGVudFNpemUpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IDI1NDc2MTc3ZWEyYjZmN2FiOGFjOGYxOGFmODMxNGY3YzkzNjI3ZDIu
LjIxNTZmZGVjNTNmOGU3Y2QzOGIwMjE1NTAxZWViMDQxODFhZDEzNjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTQ3MCw2ICs1NDcwLDEzIEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQog
ICAgIHBhZ2VDbGllbnQoKS5kaWRDaGFuZ2VDb250ZW50U2l6ZShzaXplKTsKIH0KIAordm9pZCBX
ZWJQYWdlUHJveHk6OmRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKGNvbnN0IEludFNpemUm
IGludHJpbnNpY0NvbnRlbnRTaXplKQoreworI2lmIFVTRShBUFBLSVQpCisgICAgcGFnZUNsaWVu
dCgpLmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGludHJpbnNpY0NvbnRlbnRTaXplKTsK
KyNlbmRpZgorfQorCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6c2hvd0NvbG9yUGlja2VyKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3Is
IGNvbnN0IEludFJlY3QmIGVsZW1lbnRSZWN0LCBWZWN0b3I8V2ViQ29yZTo6Q29sb3I+JiYgc3Vn
Z2VzdGlvbnMpCiB7CkBAIC03NjAyLDcgKzc2MDksNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0
Vmlld0xheW91dFNpemUoY29uc3QgSW50U2l6ZSYgdmlld0xheW91dFNpemUpCiAKICNpZiBVU0Uo
QVBQS0lUKQogICAgIGlmIChtX3ZpZXdMYXlvdXRTaXplLndpZHRoKCkgPD0gMCkKLSAgICAgICAg
aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoSW50U2l6ZSgtMSwgLTEpKTsKKyAgICAgICAg
ZGlkQ2hhbmdlSW50cmluc2ljQ29udGVudFNpemUoSW50U2l6ZSgtMSwgLTEpKTsKICNlbmRpZgog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDI0MTM5NTQyMTM1
OTg0N2IxNmNiMTcwZDEwNWVkMTg5Y2FjMjdhYjcuLjRkYjFmZGVjN2EyMzZiZGU3YTlkZDhhM2Q1
ODA0NGFjMmM3MDVlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC03OTAsNyArNzkwLDYgQEAgcHVibGljOgogICAgIE5TVmlldyAqaW5zcGVjdG9yQXR0YWNobWVu
dFZpZXcoKTsKICAgICBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0
cnkoKTsKIAotICAgIHZvaWQgaW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpOwogICAgIENHUmVjdCBib3VuZHNP
ZkxheWVySW5MYXllckJhY2tlZFdpbmRvd0Nvb3JkaW5hdGVzKENBTGF5ZXIgKikgY29uc3Q7CiAj
ZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCkBAIC0xNzEzLDYgKzE3MTIsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCk7
CiAKICAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KTsKKyAgICB2b2lkIGRpZENoYW5nZUludHJpbnNpY0NvbnRlbnRTaXplKGNvbnN0IFdlYkNvcmU6
OkludFNpemUmKTsKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgIHZvaWQgc2hv
d0NvbG9yUGlja2VyKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBWZWN0b3I8V2ViQ29yZTo6Q29sb3I+JiYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDE4ZWViNDZi
NDBhNGZhYWRkN2UzODc4YmU3Yjk2ZDIwYzUzMzE4OTIuLjY5MWI0MTdlOTE3MGQ4MGY5MjZmOGU1
MGM4OGRiNmJjNjgxMjFiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTg4LDYgKzg4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICAgICBTZXRDYW5TaG9ydENpcmN1aXRIb3Jpem9udGFsV2hlZWxFdmVudHMoYm9v
bCBjYW5TaG9ydENpcmN1aXRIb3Jpem9udGFsV2hlZWxFdmVudHMpCiAKICAgICBEaWRDaGFuZ2VD
b250ZW50U2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisgICAgRGlkQ2hhbmdlSW50cmlu
c2ljQ29udGVudFNpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkK
IAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgIFNob3dDb2xvclBpY2tlcihXZWJD
b3JlOjpDb2xvciBpbml0aWFsQ29sb3IsIFdlYkNvcmU6OkludFJlY3QgZWxlbWVudFJlY3QsIFZl
Y3RvcjxXZWJDb3JlOjpDb2xvcj4gc3VnZ2VzdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5LmgKaW5kZXggZjJmMjcwMmEwMTVlMjVhM2RhMWFiMTdlNjUzOWM3NzgyOTgwNGU3Yi4u
NDQyMDBjMmRhNDQ5ZjdiMmJlMmFmNjRlMTVjMWRlMDMwNTUyNjlhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWFQcm94eS5oCkBAIC02MCw3ICs2MCw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBN
ZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkVXBkYXRlR2VvbWV0cnkoKSBvdmVycmlkZTsK
LSAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc2VuZFVwZGF0ZUdlb21ldHJ5KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KaW5kZXggMDczOWZkYzJhNjc4ZDRmNGRiNGJm
ZjdkOGI3NWI0NzNjN2M0NzY1YS4uZjcwZjFhNGFjNGQ5ZTE2YWY2Y2E5NzhjODI2Yjc1MjlmZDNl
MjA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KQEAgLTEyNSwxMiArMTI1
LDYgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp3YWl0Rm9yRGlk
VXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVMKICAgICBwcm9jZXNzKCkuY29ubmVjdGlvbigp
LT53YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWRVcGRhdGVBY3Rpdml0eVN0YXRlPihtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSwgYWN0aXZpdHlT
dGF0ZVVwZGF0ZVRpbWVvdXQsIElQQzo6V2FpdEZvck9wdGlvbjo6SW50ZXJydXB0V2FpdGluZ0lm
U3luY01lc3NhZ2VBcnJpdmVzKTsKIH0KIAotdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBu
ZXdJbnRyaW5zaWNDb250ZW50U2l6ZSkKLXsKLSAgICBpZiAobV93ZWJQYWdlUHJveHkudmlld0xh
eW91dFNpemUoKS53aWR0aCgpID4gMCkKLSAgICAgICAgbV93ZWJQYWdlUHJveHkuaW50cmluc2lj
Q29udGVudFNpemVEaWRDaGFuZ2UobmV3SW50cmluc2ljQ29udGVudFNpemUpOwotfQotCiB2b2lk
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OndpbGxTZW5kVXBkYXRlR2VvbWV0
cnkoKQogewogICAgIG1fbGFzdFNlbnRWaWV3TGF5b3V0U2l6ZSA9IG1fd2ViUGFnZVByb3h5LnZp
ZXdMYXlvdXRTaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
V2ViUGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQ
cm94eU1hYy5tbQppbmRleCA3NGY2YTY5NjlkODkyMWVjMGExYTgwZDcwNjBiMjk5YmUwMmM4OWI0
Li4xMzhkMTMyYWMxZjMxNjI5NGNkNjNkYjg5NDE3OTMzZThjNWZmZTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KQEAgLTQzMywxMSArNDMz
LDYgQEAgYm9vbCBXZWJQYWdlUHJveHk6OmFjY2VwdHNGaXJzdE1vdXNlKGludCBldmVudE51bWJl
ciwgY29uc3QgV2ViS2l0OjpXZWJNb3VzZUV2ZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12
b2lkIFdlYlBhZ2VQcm94eTo6aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgSW50
U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUpCi17Ci0gICAgcGFnZUNsaWVudCgpLmludHJpbnNp
Y0NvbnRlbnRTaXplRGlkQ2hhbmdlKGludHJpbnNpY0NvbnRlbnRTaXplKTsKLX0KLQogdm9pZCBX
ZWJQYWdlUHJveHk6OnNldFJlbW90ZUxheWVyVHJlZVJvb3ROb2RlKFJlbW90ZUxheWVyVHJlZU5v
ZGUqIHJvb3ROb2RlKQogewogICAgIHBhZ2VDbGllbnQoKS5zZXRSZW1vdGVMYXllclRyZWVSb290
Tm9kZShyb290Tm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDJiNmJkNzNlM2JhZjc4
NzdjMzUyODI0MGYxYTMwNWVjYzYyZjc1YmQuLjliYWE4NGQzOGFlMDgwMTExOGExMmI4MWUyMDRl
YTJlOGYwZTllZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC01ODksNiArNTg5LDExIEBA
IFBsYXRmb3JtUGFnZUNsaWVudCBXZWJDaHJvbWVDbGllbnQ6OnBsYXRmb3JtUGFnZUNsaWVudCgp
IGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjppbnRyaW5z
aWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0Cit7CisgICAg
bV9wYWdlLnVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQoc2l6ZSk7Cit9CisKIHZv
aWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiBmcmFtZSwgY29u
c3QgSW50U2l6ZSYgc2l6ZSkgY29uc3QKIHsKICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZy
YW1lLnZpZXcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA5MTFmNzZhMWFjZjBkYTY5MzE3ODM2
ZDQ4ZWVjZTZkNDdiMDdlY2M1Li43MDViMjVlOWZjOTEyYTYzYjViNDU3N2VmMmI4ZDVlMDcxN2Ez
NTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMTcsNiArMTE3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsK
ICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CisgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1Np
emVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lk
IHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7
IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAK
ICAgICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6
OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3Qg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDRlZTZiODg2NjIyNzMxOTk0YmNlYWMwNThjMWY2MWZlMTRjMGZlYjUuLmE4NGEyNGM2YmY4
Y2RjNGRmODVhZWFkYzQyZmY3NDU4ZTlhZDllMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MjEwLDYgKzYyMTAsMTkgQEAgdm9pZCBXZWJQ
YWdlOjpyZW1vdmVBbGxVc2VyQ29udGVudCgpCiAgICAgbV91c2VyQ29udGVudENvbnRyb2xsZXIt
PnJlbW92ZUFsbFVzZXJDb250ZW50KCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6dXBkYXRlSW50cmlu
c2ljQ29udGVudFNpemVJZk5lZWRlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQorewor
ICAgIGlmICghdmlld0xheW91dFNpemUoKS53aWR0aCgpKQorICAgICAgICByZXR1cm47CisgICAg
QVNTRVJUKG1haW5GcmFtZVZpZXcoKSk7CisgICAgQVNTRVJUKG1haW5GcmFtZVZpZXcoKS0+aXNB
dXRvU2l6ZUVuYWJsZWQoKSk7CisgICAgQVNTRVJUKCFtYWluRnJhbWVWaWV3KCktPm5lZWRzTGF5
b3V0KCkpOworICAgIGlmIChtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPT0gc2l6ZSkK
KyAgICAgICAgcmV0dXJuOworICAgIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6ZSA9IHNp
emU7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VJbnRyaW5zaWND
b250ZW50U2l6ZShzaXplKSk7Cit9CisKIHZvaWQgV2ViUGFnZTo6ZGlzcGF0Y2hEaWRSZWFjaExh
eW91dE1pbGVzdG9uZShPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBtaWxlc3Rv
bmVzKQogewogICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CkBAIC02MjI1LDYgKzYy
MzgsMTAgQEAgdm9pZCBXZWJQYWdlOjpkaXNwYXRjaERpZFJlYWNoTGF5b3V0TWlsZXN0b25lKE9w
dGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmUKICAgICAgICAgaWYgKGRyYXdpbmdBcmVh
UmVsYXRlZE1pbGVzdG9uZXMgJiYgbV9kcmF3aW5nQXJlYS0+YWRkTWlsZXN0b25lc1RvRGlzcGF0
Y2goZHJhd2luZ0FyZWFSZWxhdGVkTWlsZXN0b25lcykpCiAgICAgICAgICAgICBtaWxlc3RvbmVz
LnJlbW92ZShkcmF3aW5nQXJlYVJlbGF0ZWRNaWxlc3RvbmVzKTsKICAgICB9CisgICAgaWYgKG1p
bGVzdG9uZXMuY29udGFpbnMoRGlkRmlyc3RMYXlvdXQpICYmIG1haW5GcmFtZVZpZXcoKSkgewor
ICAgICAgICAvLyBFbnN1cmUgd2UgbmV2ZXIgc2VuZCBEaWRGaXJzdExheW91dCBtaWxlc3RvbmUg
d2l0aG91dCB1cGRhdGluZyB0aGUgaW50cmluc2ljIHNpemUuCisgICAgICAgIHVwZGF0ZUludHJp
bnNpY0NvbnRlbnRTaXplSWZOZWVkZWQobWFpbkZyYW1lVmlldygpLT5hdXRvU2l6aW5nSW50cmlu
c2ljQ29udGVudFNpemUoKSk7CisgICAgfQogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpEaWRSZWFjaExheW91dE1pbGVzdG9uZShtaWxlc3RvbmVzKSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNGIyNWI1YzlkOWIyMDk5YWQ3
MDNlOWQ1MmU2MDg1YWU5OTY2ZDhlNC4uMWJiNjI3ZDVlODgzNTU3ZDlmM2IxZDY0MzZiYzZkMmVl
YTk0MmM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtMTE3Nyw2ICsxMTc3LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRSZW1vdGVPYmplY3RS
ZWdpc3RyeShSZW1vdGVPYmplY3RSZWdpc3RyeSYpOwogCisgICAgdm9pZCB1cGRhdGVJbnRyaW5z
aWNDb250ZW50U2l6ZUlmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogcHJpdmF0
ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyYmKTsKIApAQCAtMTg4OSw2ICsxODkxLDcgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICBXZWFrUHRyPFJlbW90ZU9iamVjdFJlZ2lzdHJ5PiBtX3JlbW90ZU9iamVjdFJlZ2lz
dHJ5OwogI2VuZGlmCisgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RTZW50SW50cmluc2ljQ29u
dGVudFNpemU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLmgKaW5kZXggOWFmMWU3ZmQ0ZGE1ZDExNjM2M2IwMjg1MGQ4ZWM1
OTNjNjExOWUxNS4uMWQ4YWVlZWI1NWY1OTQ2Yjk5ODg3YTQzNmNlMWYyMjA4Y2ZkYTlkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKQEAgLTEyMSw3ICsxMjEsNiBA
QCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlRpbGVkQmFja2luZyogbWFpbkZyYW1lVGlsZWRCYWNr
aW5nKCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVEZWJ1Z0luZm9MYXllcihib29sIHNob3dMYXll
cik7CiAKLSAgICB2b2lkIHVwZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplSWZOZWVkZWQoKTsKICAg
ICB2b2lkIHVwZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QoKTsKICAgICB2b2lkIHNjYWxlVmlld1Rv
Rml0RG9jdW1lbnRJZk5lZWRlZCgpOwogCkBAIC0xNTAsOCArMTQ5LDYgQEAgcHJpdmF0ZToKICAg
ICBXZWJDb3JlOjpJbnRTaXplIG1fbGFzdFZpZXdTaXplRm9yU2NhbGVUb0ZpdDsKICAgICBXZWJD
b3JlOjpJbnRTaXplIG1fbGFzdERvY3VtZW50U2l6ZUZvclNjYWxlVG9GaXQ7CiAKLSAgICBXZWJD
b3JlOjpJbnRTaXplIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6ZTsKLQogICAgIGRvdWJs
ZSBtX3RyYW5zaWVudFpvb21TY2FsZSB7IDEgfTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1f
dHJhbnNpZW50Wm9vbU9yaWdpbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhLm1tCmluZGV4IDg1ZjBjYTJjZGVlNTgyYTk2MWIzMGIxZjcxNTUwN2M1NWVlOGZlNTAuLjgw
OTVlNjdkOGY2ZGZmMjFiYWM2YTFlMDQ3MDZiYjFhYWNmYWYwN2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTI3OCwyNiArMjc4LDYgQEAgdm9pZCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6bWFpbkZyYW1lQ29udGVudFNpemVDaGFuZ2VkKGNv
bnN0IEludFNpemUmIHMKIHsKIH0KIAotdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVJZk5lZWRlZCgpCi17Ci0gICAgaWYgKCFtX3dl
YlBhZ2Uudmlld0xheW91dFNpemUoKS53aWR0aCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBG
cmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fd2ViUGFnZS5tYWluRnJhbWVWaWV3KCk7Ci0gICAgaWYg
KCFmcmFtZVZpZXcpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChmcmFtZVZpZXctPm5lZWRz
TGF5b3V0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIEludFNpemUgY29udGVudFNpemUgPSBm
cmFtZVZpZXctPmF1dG9TaXppbmdJbnRyaW5zaWNDb250ZW50U2l6ZSgpOwotICAgIGlmIChtX2xh
c3RTZW50SW50cmluc2ljQ29udGVudFNpemUgPT0gY29udGVudFNpemUpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6ZSA9IGNvbnRlbnRTaXplOwot
ICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6OkludHJpbnNpY0NvbnRlbnRTaXpl
RGlkQ2hhbmdlKGNvbnRlbnRTaXplKSk7Ci19Ci0KIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OnNldFNob3VsZFNjYWxlVmlld1RvRml0RG9jdW1lbnQoYm9vbCBzaG91bGRTY2Fs
ZVZpZXcpCiB7CiAgICAgaWYgKG1fc2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudCA9PSBzaG91
bGRTY2FsZVZpZXcpCkBAIC00NjIsOCArNDQyLDYgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoRmx1c2hUeXBlIGZsdXNoVHlwZSkKICAgICAgICAgbV93
ZWJQYWdlLnVwZGF0ZVJlbmRlcmluZygpOwogICAgICAgICBtX3dlYlBhZ2UuZmx1c2hQZW5kaW5n
RWRpdG9yU3RhdGVVcGRhdGUoKTsKIAotICAgICAgICB1cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6
ZUlmTmVlZGVkKCk7Ci0KICAgICAgICAgaWYgKG1fcGVuZGluZ1Jvb3RMYXllcikgewogICAgICAg
ICAgICAgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIobV9wZW5kaW5nUm9vdExheWVyLmdldCgpKTsK
ICAgICAgICAgICAgIG1fcGVuZGluZ1Jvb3RMYXllciA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IGI4ZTIwYzY5ZDgwMWU5ZDMzYTJjZDNjNGRhNmE5MzZhY2YzOTQyYWUuLjY0MGZlNThm
ZDEwNDc5NGIzYzU4M2U2NTlhYjYxYWNkZjE3YzJlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0x
MDQsNiArMTA0LDcgQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9y
bVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQo
V2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7Cisg
ICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmKSBjb25zdCBmaW5hbCB7IH0KICAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHNldFN0YXR1c2JhclRl
eHQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA2M2Iw
NmEyMzdlYTQ3MDNmZGZjYWFlYTAzZWU4MjgwODY3YTNlYjE4Li45MzdlZjY5NGI3NDJjNTBlNmFh
MDEzMGY2MzAwYjQwOTY3OGZmMmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTUyNCw2ICs1
MjQsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUm
LCBjb25zdCBJbnRTaXplJikgY29uc3QKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lk
IFdlYkNocm9tZUNsaWVudDo6aW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRT
aXplJikgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVz
dWx0LCB1bnNpZ25lZCBtb2RpZmllckZsYWdzKQogewogICAgIENPTVB0cjxJV2ViVUlEZWxlZ2F0
ZT4gdWlEZWxlZ2F0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggN2ViZTU2YmIxNGExZmFkNWIzNTI0
YzM3MWYyZjYyMmI0MDc3NThlYS4uYWVmMTY3YTVkZTBlNzIxNDM0NDM2YzA1ZDMyNDk1NmE2MjAw
YTc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEwMiw2ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAg
V2ViQ29yZTo6SW50UmVjdCByb290Vmlld1RvQWNjZXNzaWJpbGl0eVNjcmVlbihjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRm
b3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdl
ZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsK
KyAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBtb3VzZURpZE1vdmVPdmVyRWxlbWVudChj
b25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykgZmlu
YWw7CiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihXZWJD
b3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNv
bnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDc0M2U5YWU1NWNhOTdiZGJjMjNiYzRhNDQ2ODYwMGI3Mjc4M2ZmMzEuLmUxYmY1Mzhk
YzlkYjA0NjMxYjQ4NGE5YjJmYjZiNjVmNWIwMjRlNTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNC0yNCAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24gKHIy
NDQyOTEpOiBCcm9rZW4gQVBJIFRlc3QgQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRp
dmVPcmRlcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTkyNzEzMT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50ZWdyYXRpb24ubW06CisgICAgICAgIChURVNUKToKKyAg
ICAgICAgVGhlIGV4cGVjdGVkIG9yZGVyIG9mIGluY29taW5nIGV2ZW50cyBpcworICAgICAgICAx
LiBkaWRJbnZhbGlkYXRlSW50cmluc2ljQ29udGVudFNpemUKKyAgICAgICAgMi4gZGlkRmlyc3RM
YXlvdXQKKyAgICAgICAgQXQgc2V0UmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UsIHdlIGFscmVh
ZHkgY2hlY2sgaWYgZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplIGNvbWVzIGluIGZp
cnN0LgorICAgICAgICBIb3dldmVyIGl0J3Mgbm90IGd1YXJhbnRlZWQgdGhhdCB0aGUgbWlsZXN0
b25lIGV2ZW50IGlzIGRlbGF5ZWQgdW50aWwgYWZ0ZXIgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCkgaXMgZmluaXNoZWQKKyAgICAgICAgKGFuZCByZW1lbWJlciwgYWxsIHdlIGNhcmUgYWJvdXQg
aXMgb3JkZXJpbmcpLgorCiAyMDE5LTA0LTI0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbQnVpbGRdW0dTdHJlYW1lcl0gVXBkYXRlIHRvIDEuMTYu
MApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRv
TGF5b3V0SW50ZWdyYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0F1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbQppbmRleCBhNWQ4YzQyMzEzNmRkMjE0NzYwODE5
YzJkYTJiMmZiMGNhODU1ODY1Li5hODIyMTA4MGEwZDI5YmZmZmEyY2M5MjU1MGUyZjIzMDcwZThl
NGJiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1
dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0F1dG9MYXlvdXRJbnRlZ3JhdGlvbi5tbQpAQCAtMTYzLDcgKzE2Myw3IEBAIFRF
U1QoV2ViS2l0LCBBdXRvTGF5b3V0SW50ZWdyYXRpb24pCiAgICAgLy8gb2YgdGhlIGludHJpbnNp
YyBoZWlnaHQgb2YgdGhlIGNvbnRlbnQuIFdlIGhhdmUgdG8gbG9hZCBkaWZmZXJlbnRseS1zaXpl
ZCBjb250ZW50IHNvIHRoYXQgd2UgY2FuIHdhaXQgZm9yCiAgICAgLy8gdGhlIGludHJpbnNpYyBz
aXplIGNoYW5nZSBjYWxsYmFjay4KICAgICBbd2ViVmlldyBfc2V0U2hvdWxkRXhwYW5kQ29udGVu
dFRvVmlld0hlaWdodEZvckF1dG9MYXlvdXQ6WUVTXTsKLSAgICBbd2ViVmlldyBsb2FkOkAiPGRp
diBjbGFzcz0nbGFyZ2UnPjwvZGl2PiIgd2l0aFdpZHRoOjUwIGV4cGVjdGluZ0NvbnRlbnRTaXpl
Ok5TTWFrZVNpemUoMTAwLCAxMDApIHJlc2V0dGluZ1dpZHRoOk5PXTsKKyAgICBbd2ViVmlldyBs
b2FkOkAiPGRpdiBjbGFzcz0nbGFyZ2UnPjwvZGl2PiIgd2l0aFdpZHRoOjUwIGV4cGVjdGluZ0Nv
bnRlbnRTaXplOk5TTWFrZVNpemUoMTAwLCAxMDAwKSByZXNldHRpbmdXaWR0aDpOT107CiAgICAg
W3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAid2luZG93LmlubmVySGVpZ2h0IiBjb21wbGV0
aW9uSGFuZGxlcjpeKGlkIHZhbHVlLCBOU0Vycm9yICplcnJvcikgewogICAgICAgICBFWFBFQ1Rf
VFJVRShbdmFsdWUgaXNLaW5kT2ZDbGFzczpbTlNOdW1iZXIgY2xhc3NdXSk7CiAgICAgICAgIEVY
UEVDVF9FUSgxMDAwLCBbdmFsdWUgaW50ZWdlclZhbHVlXSk7CkBAIC0xNzQsNyArMTc0LDcgQEAg
VEVTVChXZWJLaXQsIEF1dG9MYXlvdXRJbnRlZ3JhdGlvbikKICAgICBbd2ViVmlldyBfc2V0U2hv
dWxkRXhwYW5kQ29udGVudFRvVmlld0hlaWdodEZvckF1dG9MYXlvdXQ6Tk9dOwogfQogCi1URVNU
KFdlYktpdCwgRElTQUJMRURfQXV0b0xheW91dFJlbmRlcmluZ1Byb2dyZXNzUmVsYXRpdmVPcmRl
cmluZykKK1RFU1QoV2ViS2l0LCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9y
ZGVyaW5nKQogewogICAgIFJldGFpblB0cjxBdXRvTGF5b3V0V0tXZWJWaWV3PiB3ZWJWaWV3ID0g
YWRvcHROUyhbW0F1dG9MYXlvdXRXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCAxMDAwLCAxMDAwKV0pOwogCkBAIC0xOTksNyArMTk5LDYgQEAgVEVTVChXZWJL
aXQsIERJU0FCTEVEX0F1dG9MYXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcp
CiAgICAgW3dlYlZpZXcgc2V0RXhwZWN0ZWRJbnRyaW5zaWNDb250ZW50U2l6ZTpOU01ha2VTaXpl
KDEwMCwgNDAwKV07CiAgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8Ym9keSBzdHlsZT0n
bWFyZ2luOiAwOyBoZWlnaHQ6IDQwMHB4Oyc+PC9ib2R5PiIgYmFzZVVSTDpuaWxdOwogICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkSW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXpl
KTsKLSAgICBFWFBFQ1RfRkFMU0UoZGlkRmlyc3RMYXlvdXQpOwogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZGlkRmlyc3RMYXlvdXQpOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZGlkRmluaXNoTmF2aWdhdGlvbik7CiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVn
YXRlOm5pbF07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>