<?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>203001</bug_id>
          
          <creation_ts>2019-10-15 12:18:08 -0700</creation_ts>
          <short_desc>[macOS] Simplify main thread initialization</short_desc>
          <delta_ts>2019-10-15 16:35:04 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>krollin</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580210</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 12:18:08 -0700</bug_when>
    <thetext>Simplify main thread initialization on macOS by always using pthread main as main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580213</commentid>
    <comment_count>1</comment_count>
      <attachid>381011</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 12:31:47 -0700</bug_when>
    <thetext>Created attachment 381011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580214</commentid>
    <comment_count>2</comment_count>
      <attachid>381012</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 12:36:12 -0700</bug_when>
    <thetext>Created attachment 381012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580241</commentid>
    <comment_count>3</comment_count>
      <attachid>381012</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-10-15 13:56:05 -0700</bug_when>
    <thetext>Comment on attachment 381012
Patch

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

r=me

&gt; Source/WTF/ChangeLog:10
&gt; +

Probably worth mentioning that this change also enables the new white box ASSERT that we don&apos;t initialize main thread to some other thread.

&gt; Source/WebKitLegacy/mac/Misc/WebCache.mm:-68
&gt;      JSC::initializeThreading();
&gt; -    WTF::initializeMainThreadToProcessMainThread();

In cases like this, is it OK to call JSC::initializeThreading() and not WTF::initializeMainThreadToProcessMainThread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580246</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-10-15 14:07:43 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKitLegacy/mac/Misc/WebCache.mm:-68
&gt; &gt;      JSC::initializeThreading();
&gt; &gt; -    WTF::initializeMainThreadToProcessMainThread();
&gt; 
&gt; In cases like this, is it OK to call JSC::initializeThreading() and not
&gt; WTF::initializeMainThreadToProcessMainThread

I verified that JSC::initializeThreading(); calls WTF::initializeThreading(), so it&apos;s OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580284</commentid>
    <comment_count>5</comment_count>
      <attachid>381012</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 14:51:32 -0700</bug_when>
    <thetext>Comment on attachment 381012
Patch

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

&gt;&gt; Source/WTF/ChangeLog:10
&gt;&gt; +
&gt; 
&gt; Probably worth mentioning that this change also enables the new white box ASSERT that we don&apos;t initialize main thread to some other thread.

Will add.

&gt;&gt; Source/WebKitLegacy/mac/Misc/WebCache.mm:-68
&gt;&gt; -    WTF::initializeMainThreadToProcessMainThread();
&gt; 
&gt; In cases like this, is it OK to call JSC::initializeThreading() and not WTF::initializeMainThreadToProcessMainThread

I dropped it because RunLoop::initializeMainRunLoop() below calls WTF::initializeMainThread(); With my change, WTF::initializeMainThread() became identical to WTF::initializeMainThreadToProcessMainThread() so I dropped the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580286</commentid>
    <comment_count>6</comment_count>
      <attachid>381026</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 14:54:55 -0700</bug_when>
    <thetext>Created attachment 381026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580339</commentid>
    <comment_count>7</comment_count>
      <attachid>381026</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 15:44:03 -0700</bug_when>
    <thetext>Comment on attachment 381026
Patch

Clearing flags on attachment: 381026

Committed r251164: &lt;https://trac.webkit.org/changeset/251164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580340</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 15:44:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580349</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-15 16:05:33 -0700</bug_when>
    <thetext>This patch broke builds:

ld: warning: directory not found for option &apos;-F/Volumes/Data/slave/highsierra-debug/build/Tools/TestWebKitAPI/../../WebKitLibraries/WebKitPrivateFrameworkStubs/Mac/101300&apos;
Undefined symbols for architecture x86_64:
  &quot;WTF::isMainThreadIfInitialized()&quot;, referenced from:
      WTF::RefCountedBase::applyRefDerefThreadingCheck() const in libTestWebKitAPI.a(EnvironmentUtilitiesTest.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Not sure why EWS didn&apos;t catch it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580350</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-15 16:07:44 -0700</bug_when>
    <thetext>Hm... I wonder if we just need a clean build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580355</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 16:16:52 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #10)
&gt; Hm... I wonder if we just need a clean build?

Sounds likely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580362</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-15 16:34:51 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #11)
&gt; (In reply to Ryosuke Niwa from comment #10)
&gt; &gt; Hm... I wonder if we just need a clean build?
&gt; 
&gt; Sounds likely.

Indeed, clean build fixed the issue for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580363</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-15 16:35:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/56313281&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381011</attachid>
            <date>2019-10-15 12:31:47 -0700</date>
            <delta_ts>2019-10-15 12:36:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203001-20191015123147.patch</filename>
            <type>text/plain</type>
            <size>28523</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdmMmFiMzFiNjgyMGY4YWJhNjBkMzlk
Y2YxM2U0NzI5MDY2YzMxMGYuLjFlZWUyMzQ0ZWJmYmUwMzc4YWFmMjM4NWUwZGI5ZWVkOWE3YzEx
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNpbXBsaWZ5IG1haW4gdGhyZWFkIGluaXRp
YWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDMwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTaW1wbGlmeSBtYWluIHRocmVhZCBpbml0aWFsaXphdGlvbiBvbiBtYWNPUyBieSBhbHdheXMg
dXNpbmcgcHRocmVhZCBtYWluIGFzIG1haW4gdGhyZWFkLgorICAgICAgICBUaGUgY29tcGxleGl0
eSBpcyBub3cgaXNvbGF0ZWQgdG8gdGhlIFVTRShXRUJfVEhSRUFEKSBjb2RlIHBhdGguCisKKyAg
ICAgICAgKiB3dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgICogd3RmL01haW5UaHJlYWQuaDoK
KyAgICAgICAgKiB3dGYvUmVmQ291bnRlZC5oOgorICAgICAgICAoV1RGOjpSZWZDb3VudGVkQmFz
ZTo6UmVmQ291bnRlZEJhc2UpOgorICAgICAgICAoV1RGOjpSZWZDb3VudGVkQmFzZTo6YXBwbHlS
ZWZEZXJlZlRocmVhZGluZ0NoZWNrIGNvbnN0KToKKyAgICAgICAgKiB3dGYvY29jb2EvTWFpblRo
cmVhZENvY29hLm1tOgorICAgICAgICAoV1RGOjppbml0aWFsaXplTWFpblRocmVhZFBsYXRmb3Jt
KToKKyAgICAgICAgKFdURjo6c2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCk6
CisgICAgICAgIChXVEY6OmluaXRpYWxpemVXZWJUaHJlYWRQbGF0Zm9ybSk6CisgICAgICAgIChX
VEY6OmNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZCk6CisgICAgICAgIChXVEY6Omlz
TWFpblRocmVhZCk6CisgICAgICAgICogd3RmL2dlbmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3Bw
OgorICAgICAgICAqIHd0Zi90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHA6CisgICAgICAgIChXVEY6
OlN0cmluZ0ltcGw6OmNyZWF0ZUNGU3RyaW5nKToKKyAgICAgICAgKiB3dGYvd2luL01haW5UaHJl
YWRXaW4uY3BwOgorCiAyMDE5LTEwLTE0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIFVuaWZ5IHNvdXJjZXMgZm9yIGJpbmRpbmdzIG1vcmUgZGVuc2Vs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDNjMWY3MDI1YzA3OGI3MzAxNTYyZGVmZDE2YTVkYmQ2NmJiMmJiMGIu
LmFkZmVlNTQwZjg0ODFjMGYzOWRlNGNiZjIzOGY2NTQ1MTNjNTA1YjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxOS0xMC0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFttYWNPU10gU2ltcGxpZnkgbWFpbiB0aHJlYWQgaW5pdGlhbGl6YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzAwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnJpZGdl
L29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgorICAgICAgICAoK1tXZWJTY3JpcHRPYmplY3QgaW5p
dGlhbGl6ZV0pOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1t
OgorICAgICAgICAoK1tXZWJDb3JlU2hhcmVkQnVmZmVyRGF0YSBpbml0aWFsaXplXSk6CisKIDIw
MTktMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9w
IHVzaW5nIGluaGVyaXRhbmNlIGZvciBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwppbmRleCBjNTgxODc2YmNhNTA5MTg4NTk2MWU4ZWY5ODRkZWQwYjVi
OWEzN2ViLi43NjgzZGIyM2NhZmI3Njk5NmMwNTVkZWYwYjEwOGY2ZjMzYjgxZGFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTktMTAtMTUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNpbXBsaWZ5IG1h
aW4gdGhyZWFkIGluaXRpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDMwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEhpc3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1tOgorICAgICAg
ICAoK1tXZWJCYWNrRm9yd2FyZExpc3QgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIEhpc3Rvcnkv
V2ViSGlzdG9yeUl0ZW0ubW06CisgICAgICAgICgrW1dlYkhpc3RvcnlJdGVtIGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBNaXNjL1dlYkNhY2hlLm1tOgorICAgICAgICAoK1tXZWJDYWNoZSBpbml0
aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbToKKyAgICAg
ICAgKCtbV2ViRWxlbWVudERpY3Rpb25hcnkgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2Mv
V2ViSWNvbkRhdGFiYXNlLm1tOgorICAgICAgICAqIE1pc2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1t
OgorICAgICAgICAoK1tXZWJTdHJpbmdUcnVuY2F0b3IgaW5pdGlhbGl6ZV0pOgorICAgICAgICAq
IFBsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAg
KCtbV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICogUGx1Z2lucy9X
ZWJCYXNlUGx1Z2luUGFja2FnZS5tbToKKyAgICAgICAgKCtbV2ViQmFzZVBsdWdpblBhY2thZ2Ug
aW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
OgorICAgICAgICAoK1tXZWJOZXRzY2FwZVBsdWdpblZpZXcgaW5pdGlhbGl6ZV0pOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViVW5k
b1N0ZXAgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tOgorICAgICAgICAoK1tXZWJGcmFtZVBvbGljeUxpc3RlbmVyIGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkFyY2hpdmUubW06CisgICAgICAgICgrW1dlYkFy
Y2hpdmVQcml2YXRlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkRhdGFTb3Vy
Y2UubW06CisgICAgICAgICgrW1dlYkRhdGFTb3VyY2UgaW5pdGlhbGl6ZV0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgrW1dlYkhUTUxWaWV3UHJpdmF0ZSBp
bml0aWFsaXplXSk6CisgICAgICAgICgrW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNl
cyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJSZXNvdXJjZS5tbToKKyAgICAg
ICAgKCtbV2ViUmVzb3VyY2VQcml2YXRlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlRleHRJdGVyYXRvci5tbToKKyAgICAgICAgKCtbV2ViVGV4dEl0ZXJhdG9yUHJpdmF0ZSBp
bml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tX
ZWJWaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRhLm1tOgor
ICAgICAgICAoK1tXZWJWaWV3UHJpdmF0ZSBpbml0aWFsaXplXSk6CisKIDIwMTktMTAtMTQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBIYXZlIFdlYkJh
Y2tGb3J3YXJkQ2FjaGUgY2xhc3MgY29vcmRpbmF0ZSBwYWdlIGNhY2hpbmcgaW4gYWxsIFdlYlBy
b2Nlc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAppbmRleCA5ZTk5NDNkZWExODA4NTAwZjg3MzAyZTk4
N2ZjMTVmMzgxNzg3MDhkLi5iYzhjZmM3NzA5MzZlYmVkNmJmNGUyMTc4MmYzM2M0NmRjOTc0NTM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9NYWluVGhyZWFkLmNwcApAQCAtNjEsMjYgKzYxLDYgQEAgdm9pZCBpbml0aWFsaXpl
TWFpblRocmVhZCgpCiAgICAgfSk7CiB9CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNpZiAhVVNF
KFdFQl9USFJFQUQpCi12b2lkIGluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVh
ZCgpCi17Ci0gICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10gewotICAgICAgICBp
bml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIGluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9j
ZXNzTWFpblRocmVhZFBsYXRmb3JtKCk7Ci0gICAgfSk7Ci19Ci0jZWxzZQotdm9pZCBpbml0aWFs
aXplV2ViVGhyZWFkKCkKLXsKLSAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZUtl
eTsKLSAgICBzdGQ6OmNhbGxfb25jZShpbml0aWFsaXplS2V5LCBbXSB7Ci0gICAgICAgIGluaXRp
YWxpemVXZWJUaHJlYWRQbGF0Zm9ybSgpOwotICAgIH0pOwotfQotI2VuZGlmIC8vICFVU0UoV0VC
X1RIUkVBRCkKLSNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKLQogI2lmICFVU0UoV0VCX1RIUkVB
RCkKIGJvb2wgY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKFRocmVhZCYgdGhyZWFk
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5oIGIvU291cmNlL1dU
Ri93dGYvTWFpblRocmVhZC5oCmluZGV4IDc4NWFlZmJjOGU0YjY4M2UwZTIxZmUyOWY3ZTlhZWEy
ODExMGUwMmMuLjljM2Y3OWYxMTEyYzU0YTU5NTBmMGEzZThiMjljNTVhZmE3NDE1MzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9N
YWluVGhyZWFkLmgKQEAgLTUzLDggKzUzLDYgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgY2Fs
bE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKHZvaWQgKF5ibG9jaykKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldE1haW5UaHJlYWRDYWxsYmFja3NQYXVzZWQoYm9vbCBw
YXVzZWQpOwogCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5UaHJlYWQoKTsKLVdURl9F
WFBPUlRfUFJJVkFURSBib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKTsKLVdURl9FWFBP
UlRfUFJJVkFURSBib29sIGlzTWFpblRocmVhZEluaXRpYWxpemVkKCk7CiAKIFdURl9FWFBPUlRf
UFJJVkFURSBib29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChUaHJlYWQmKTsK
IApAQCAtNjcsNyArNjUsNiBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc1dlYlRocmVhZCgp
OwogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNVSVRocmVhZCgpOwogV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
aW5pdGlhbGl6ZUFwcGxpY2F0aW9uVUlUaHJlYWQoKTsKLXZvaWQgaW5pdGlhbGl6ZVdlYlRocmVh
ZFBsYXRmb3JtKCk7CiAjZWxzZQogaW5saW5lIGJvb2wgaXNXZWJUaHJlYWQoKSB7IHJldHVybiBp
c01haW5UaHJlYWQoKTsgfQogaW5saW5lIGJvb2wgaXNVSVRocmVhZCgpIHsgcmV0dXJuIGlzTWFp
blRocmVhZCgpOyB9CkBAIC04MCwxNiArNzcsNiBAQCB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFk
UGxhdGZvcm0oKTsKIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCgp
Owogdm9pZCBkaXNwYXRjaEZ1bmN0aW9uc0Zyb21NYWluVGhyZWFkKCk7CiAKLSNpZiBPUyhEQVJX
SU4pICYmICFVU0UoR0xJQikKLSNpZiAhVVNFKFdFQl9USFJFQUQpCi0vLyBUaGlzIHZlcnNpb24g
b2YgaW5pdGlhbGl6ZU1haW5UaHJlYWQgc2V0cyB1cCB0aGUgbWFpbiB0aHJlYWQgYXMgY29ycmVz
cG9uZGluZwotLy8gdG8gdGhlIHByb2Nlc3MncyBtYWluIHRocmVhZCwgYW5kIG5vdCBuZWNlc3Nh
cmlseSB0aGUgdGhyZWFkIHRoYXQgY2FsbHMgdGhpcwotLy8gZnVuY3Rpb24uIEl0IHNob3VsZCBv
bmx5IGJlIHVzZWQgYXMgYSBsZWdhY3kgYWlkIGZvciBNYWMgV2ViS2l0LgotV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7Ci0j
ZW5kaWYgLy8gIVVTRShXRUJfVEhSRUFEKQotdm9pZCBpbml0aWFsaXplTWFpblRocmVhZFRvUHJv
Y2Vzc01haW5UaHJlYWRQbGF0Zm9ybSgpOwotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdURgog
CiB1c2luZyBXVEY6OmNhbGxPbk1haW5UaHJlYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggZmNhNWNj
ZDY3MTQ4MzcwODM2YmYzODE2ZDZmYmEzNzJmM2YyNmQzMi4uOTQxNmUzNzBlMTM0OTAzNzZhMDc4
ZjRmZjQ5NzA3NGZmOTI4YjUwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmVmQ291bnRl
ZC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWQuaApAQCAtOTEsOCArOTEsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgUmVmQ291bnRlZEJhc2UoKQogICAgICAgICA6IG1fcmVmQ291bnQoMSkK
ICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgICAgICwgbV9pc093bmVkQnlNYWluVGhyZWFkKGlz
TWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKSkKLSAgICAgICAgLCBtX2FyZVRocmVhZGluZ0NoZWNr
c0VuYWJsZWQoaXNNYWluVGhyZWFkSW5pdGlhbGl6ZWQoKSkKKyAgICAgICAgLCBtX2lzT3duZWRC
eU1haW5UaHJlYWQoaXNNYWluVGhyZWFkKCkpCiAjZW5kaWYKICNpZiBDSEVDS19SRUZfQ09VTlRF
RF9MSUZFQ1lDTEUKICAgICAgICAgLCBtX2RlbGV0aW9uSGFzQmVndW4oZmFsc2UpCkBAIC0xMDYs
NyArMTA1LDcgQEAgcHJvdGVjdGVkOgogI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICAgICAgaWYg
KGhhc09uZVJlZigpKSB7CiAgICAgICAgICAgICAvLyBMaWtlbHkgYW4gb3duZXJzaGlwIHRyYW5z
ZmVyIGFjcm9zcyB0aHJlYWRzIHRoYXQgbWF5IGJlIHNhZmUuCi0gICAgICAgICAgICBtX2lzT3du
ZWRCeU1haW5UaHJlYWQgPSBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCk7CisgICAgICAgICAg
ICBtX2lzT3duZWRCeU1haW5UaHJlYWQgPSBpc01haW5UaHJlYWQoKTsKICAgICAgICAgfSBlbHNl
IGlmIChhcmVUaHJlYWRpbmdDaGVja3NFbmFibGVkR2xvYmFsbHkgJiYgbV9hcmVUaHJlYWRpbmdD
aGVja3NFbmFibGVkKSB7CiAgICAgICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
LCBpdCBtZWFucyB0aGF0IHRoZSBSZWZDb3VudGVkIG9iamVjdCB3YXMgcmVmL2RlcmVmJ2QKICAg
ICAgICAgICAgIC8vIGZyb20gYm90aCB0aGUgbWFpbiB0aHJlYWQgYW5kIGFub3RoZXIgaW4gYSB3
YXkgdGhhdCBpcyBsaWtlbHkgY29uY3VycmVudCBhbmQgdW5zYWZlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tIGIvU291cmNlL1dURi93dGYvY29j
b2EvTWFpblRocmVhZENvY29hLm1tCmluZGV4IDU4YjZmOTFhMTZhMmY2MjVlZTU1ODlkYTI1MWQ4
Y2JkNzBkODczMmMuLjI3ZWIwMGRiYTEwOWJhMWZhNTAwZDU3Y2JiNWYzMTQ1YjdlMjEyNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQorKysgYi9T
b3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW0KQEAgLTU2LDQ5ICs1NiwzOCBA
QCAtICh2b2lkKWNhbGwKIAogQGVuZAogCisjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cK
KwogbmFtZXNwYWNlIFdURiB7CiAKKyNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hh
bm5lbCBMb2dUaHJlYWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJUaHJlYWRpbmci
LCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKKyNlbHNlCitXVEZMb2dDaGFubmVsIExvZ1RocmVhZGlu
ZyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlRocmVhZGluZyIsIFdURkxvZ0xldmVsOjpF
cnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKKyNl
bmRpZgorCisKIHN0YXRpYyBKU1dURk1haW5UaHJlYWRDYWxsZXIqIHN0YXRpY01haW5UaHJlYWRD
YWxsZXI7CiBzdGF0aWMgYm9vbCBpc1RpbWVyUG9zdGVkOyAvLyBUaGlzIGlzIG9ubHkgYWNjZXNz
ZWQgb24gdGhlIG1haW4gdGhyZWFkLgotc3RhdGljIGJvb2wgbWFpblRocmVhZEVzdGFibGlzaGVk
QXNQdGhyZWFkTWFpbiB7IGZhbHNlIH07CisKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKy8vIFdoZW4g
dGhlIFdlYiB0aHJlYWQgaXMgZW5hYmxlZCwgd2UgY29uc2lkZXIgaXQgdG8gYmUgdGhlIG1haW4g
dGhyZWFkLCBub3QgcHRocmVhZCBtYWluLgogc3RhdGljIHB0aHJlYWRfdCBtYWluVGhyZWFkUHRo
cmVhZCB7IG51bGxwdHIgfTsKIHN0YXRpYyBOU1RocmVhZCogbWFpblRocmVhZE5TVGhyZWFkIHsg
bnVsbHB0ciB9OwogCi0jaWYgVVNFKFdFQl9USFJFQUQpCiBzdGF0aWMgVGhyZWFkKiBzQXBwbGlj
YXRpb25VSVRocmVhZDsKIHN0YXRpYyBUaHJlYWQqIHNXZWJUaHJlYWQ7CiAjZW5kaWYKIAogdm9p
ZCBpbml0aWFsaXplTWFpblRocmVhZFBsYXRmb3JtKCkKLXsKLSAgICBBU1NFUlQoIXN0YXRpY01h
aW5UaHJlYWRDYWxsZXIpOwotICAgIHN0YXRpY01haW5UaHJlYWRDYWxsZXIgPSBbW0pTV1RGTWFp
blRocmVhZENhbGxlciBhbGxvY10gaW5pdF07Ci0KLSNpZiAhVVNFKFdFQl9USFJFQUQpCi0gICAg
bWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFpbiA9IGZhbHNlOwotICAgIG1haW5UaHJl
YWRQdGhyZWFkID0gcHRocmVhZF9zZWxmKCk7Ci0gICAgbWFpblRocmVhZE5TVGhyZWFkID0gW05T
VGhyZWFkIGN1cnJlbnRUaHJlYWRdOwotI2Vsc2UKLSAgICBtYWluVGhyZWFkRXN0YWJsaXNoZWRB
c1B0aHJlYWRNYWluID0gdHJ1ZTsKLSAgICBBU1NFUlQoIW1haW5UaHJlYWRQdGhyZWFkKTsKLSAg
ICBBU1NFUlQoIW1haW5UaHJlYWROU1RocmVhZCk7Ci0jZW5kaWYKLX0KLQotI2lmICFVU0UoV0VC
X1RIUkVBRCkKLXZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkUGxh
dGZvcm0oKQogewogICAgIGlmICghcHRocmVhZF9tYWluX25wKCkpCi0gICAgICAgIE5TTG9nKEAi
V2ViS2l0IFRocmVhZGluZyBWaW9sYXRpb24gLSBpbml0aWFsIHVzZSBvZiBXZWJLaXQgZnJvbSBh
IHNlY29uZGFyeSB0aHJlYWQuIik7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFRocmVhZGlu
ZywgIldlYktpdCBUaHJlYWRpbmcgVmlvbGF0aW9uIC0gaW5pdGlhbCB1c2Ugb2YgV2ViS2l0IGZy
b20gYSBzZWNvbmRhcnkgdGhyZWFkLiIpOworICAgIEFTU0VSVChwdGhyZWFkX21haW5fbnAoKSk7
CiAKICAgICBBU1NFUlQoIXN0YXRpY01haW5UaHJlYWRDYWxsZXIpOwogICAgIHN0YXRpY01haW5U
aHJlYWRDYWxsZXIgPSBbW0pTV1RGTWFpblRocmVhZENhbGxlciBhbGxvY10gaW5pdF07Ci0KLSAg
ICBtYWluVGhyZWFkRXN0YWJsaXNoZWRBc1B0aHJlYWRNYWluID0gdHJ1ZTsKLSAgICBtYWluVGhy
ZWFkUHRocmVhZCA9IDA7Ci0gICAgbWFpblRocmVhZE5TVGhyZWFkID0gbmlsOwogfQotI2VuZGlm
IC8vICFVU0UoV0VCX1RIUkVBRCkKIAogc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BU
aW1lclJlZiB0aW1lciwgdm9pZCopCiB7CkBAIC0xMjQsMjAgKzExMywyNSBAQCBzdGF0aWMgdm9p
ZCBwb3N0VGltZXIoKQogdm9pZCBzY2hlZHVsZURpc3BhdGNoRnVuY3Rpb25zT25NYWluVGhyZWFk
KCkKIHsKICAgICBBU1NFUlQoc3RhdGljTWFpblRocmVhZENhbGxlcik7Ci0KKyAgICAKKyNpZiBV
U0UoV0VCX1RIUkVBRCkKICAgICBpZiAoaXNXZWJUaHJlYWQoKSkgewogICAgICAgICBwb3N0VGlt
ZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICBpZiAobWFpblRocmVhZEVz
dGFibGlzaGVkQXNQdGhyZWFkTWFpbikgewotICAgICAgICBBU1NFUlQoIW1haW5UaHJlYWROU1Ro
cmVhZCk7Ci0gICAgICAgIFtzdGF0aWNNYWluVGhyZWFkQ2FsbGVyIHBlcmZvcm1TZWxlY3Rvck9u
TWFpblRocmVhZDpAc2VsZWN0b3IoY2FsbCkgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpO
T107CisKKyAgICBpZiAobWFpblRocmVhZFB0aHJlYWQpIHsKKyAgICAgICAgW3N0YXRpY01haW5U
aHJlYWRDYWxsZXIgcGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihjYWxsKSBvblRocmVhZDptYWlu
VGhyZWFkTlNUaHJlYWQgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpOT107CisgICAgICAg
IHJldHVybjsKKyAgICB9CisjZWxzZQorICAgIGlmIChpc01haW5UaHJlYWQoKSkgeworICAgICAg
ICBwb3N0VGltZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyNlbmRpZgogCi0gICAgQVNT
RVJUKG1haW5UaHJlYWROU1RocmVhZCk7Ci0gICAgW3N0YXRpY01haW5UaHJlYWRDYWxsZXIgcGVy
Zm9ybVNlbGVjdG9yOkBzZWxlY3RvcihjYWxsKSBvblRocmVhZDptYWluVGhyZWFkTlNUaHJlYWQg
d2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpOT107CisgICAgW3N0YXRpY01haW5UaHJlYWRD
YWxsZXIgcGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkOkBzZWxlY3RvcihjYWxsKSB3aXRoT2Jq
ZWN0Om5pbCB3YWl0VW50aWxEb25lOk5PXTsKIH0KIAogdm9pZCBkaXNwYXRjaEFzeW5jT25NYWlu
VGhyZWFkV2l0aFdlYlRocmVhZExvY2tJZk5lZWRlZCh2b2lkICheYmxvY2spKCkpCkBAIC0xNjYs
NiArMTYwLDcgQEAgdm9pZCBjYWxsT25XZWJUaHJlYWRPckRpc3BhdGNoQXN5bmNPbk1haW5UaHJl
YWQodm9pZCAoXmJsb2NrKSgpKQogfQogCiAjaWYgVVNFKFdFQl9USFJFQUQpCisKIHN0YXRpYyBi
b29sIHdlYlRocmVhZElzVW5pbml0aWFsaXplZE9yTG9ja2VkT3JEaXNhYmxlZCgpCiB7CiAgICAg
cmV0dXJuICFXZWJDb3JlV2ViVGhyZWFkSXNMb2NrZWRPckRpc2FibGVkIHx8IFdlYkNvcmVXZWJU
aHJlYWRJc0xvY2tlZE9yRGlzYWJsZWQoKTsKQEAgLTE3NiwxNiArMTcxLDYgQEAgYm9vbCBpc01h
aW5UaHJlYWQoKQogICAgIHJldHVybiAoaXNXZWJUaHJlYWQoKSB8fCBwdGhyZWFkX21haW5fbnAo
KSkgJiYgd2ViVGhyZWFkSXNVbmluaXRpYWxpemVkT3JMb2NrZWRPckRpc2FibGVkKCk7CiB9CiAK
LWJvb2wgaXNNYWluVGhyZWFkSWZJbml0aWFsaXplZCgpCi17Ci0gICAgcmV0dXJuIGlzTWFpblRo
cmVhZCgpOwotfQotCi1ib29sIGlzTWFpblRocmVhZEluaXRpYWxpemVkKCkKLXsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQogYm9vbCBpc1VJVGhyZWFkKCkKIHsKICAgICByZXR1cm4gcHRocmVhZF9t
YWluX25wKCk7CkBAIC0yMDMsMTUgKzE4OCwxNSBAQCB2b2lkIGluaXRpYWxpemVBcHBsaWNhdGlv
blVJVGhyZWFkKCkKICAgICBzQXBwbGljYXRpb25VSVRocmVhZCA9ICZUaHJlYWQ6OmN1cnJlbnQo
KTsKIH0KIAotdm9pZCBpbml0aWFsaXplV2ViVGhyZWFkUGxhdGZvcm0oKQordm9pZCBpbml0aWFs
aXplV2ViVGhyZWFkKCkKIHsKLSAgICBBU1NFUlQoIXB0aHJlYWRfbWFpbl9ucCgpKTsKLQotICAg
IG1haW5UaHJlYWRFc3RhYmxpc2hlZEFzUHRocmVhZE1haW4gPSBmYWxzZTsKLSAgICBtYWluVGhy
ZWFkUHRocmVhZCA9IHB0aHJlYWRfc2VsZigpOwotICAgIG1haW5UaHJlYWROU1RocmVhZCA9IFtO
U1RocmVhZCBjdXJyZW50VGhyZWFkXTsKLQotICAgIHNXZWJUaHJlYWQgPSAmVGhyZWFkOjpjdXJy
ZW50KCk7CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CisgICAgc3Rk
OjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10geworICAgICAgICBBU1NFUlQoIXB0aHJlYWRf
bWFpbl9ucCgpKTsKKyAgICAgICAgbWFpblRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsK
KyAgICAgICAgbWFpblRocmVhZE5TVGhyZWFkID0gW05TVGhyZWFkIGN1cnJlbnRUaHJlYWRdOwor
ICAgICAgICBzV2ViVGhyZWFkID0gJlRocmVhZDo6Y3VycmVudCgpOworICAgIH0pOwogfQogCiBi
b29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChUaHJlYWQmIHRocmVhZCkKQEAg
LTIyNSwyOCArMjEwLDEyIEBAIGJvb2wgY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFk
KFRocmVhZCYgdGhyZWFkKQogCiAgICAgcmV0dXJuIGZhbHNlOwogfQotI2Vsc2UKLWJvb2wgaXNN
YWluVGhyZWFkKCkKLXsKLSAgICBpZiAobWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFp
bikgewotICAgICAgICBBU1NFUlQoIW1haW5UaHJlYWRQdGhyZWFkKTsKLSAgICAgICAgcmV0dXJu
IHB0aHJlYWRfbWFpbl9ucCgpOwotICAgIH0KLQotICAgIEFTU0VSVChtYWluVGhyZWFkUHRocmVh
ZCk7Ci0gICAgcmV0dXJuIHB0aHJlYWRfZXF1YWwocHRocmVhZF9zZWxmKCksIG1haW5UaHJlYWRQ
dGhyZWFkKTsKLX0KIAotYm9vbCBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCkKLXsKLSAgICBp
ZiAobWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFpbikKLSAgICAgICAgcmV0dXJuIHB0
aHJlYWRfbWFpbl9ucCgpOwotICAgIHJldHVybiBwdGhyZWFkX2VxdWFsKHB0aHJlYWRfc2VsZigp
LCBtYWluVGhyZWFkUHRocmVhZCk7Ci19CisjZWxzZQogCi1ib29sIGlzTWFpblRocmVhZEluaXRp
YWxpemVkKCkKK2Jvb2wgaXNNYWluVGhyZWFkKCkKIHsKLSAgICByZXR1cm4gbWFpblRocmVhZEVz
dGFibGlzaGVkQXNQdGhyZWFkTWFpbiB8fCBtYWluVGhyZWFkUHRocmVhZDsKKyAgICByZXR1cm4g
cHRocmVhZF9tYWluX25wKCk7CiB9CiAKICNlbmRpZiAvLyBVU0UoV0VCX1RIUkVBRCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3BwIGIvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9NYWluVGhyZWFkR2VuZXJpYy5jcHAKaW5kZXggODhiZjE4ZjU5
Njg4YWJjZDQ1NmY4NjQ0OTNkZTU1NzQwMmM2ZDQ1Yi4uNjQwNjBjNDI2ZjMxYmI3NjZkMDI3ODM1
YTIzMWRkMzdmMWEwNGIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NYWlu
VGhyZWFkR2VuZXJpYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NYWluVGhyZWFk
R2VuZXJpYy5jcHAKQEAgLTg5LDE2ICs4OSw2IEBAIGJvb2wgaXNNYWluVGhyZWFkKCkKICNlbmRp
ZgogfQogCi1ib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKQotewotICAgIHJldHVybiBp
c01haW5UaHJlYWQoKTsKLX0KLQotYm9vbCBpc01haW5UaHJlYWRJbml0aWFsaXplZCgpCi17Ci0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFp
blRocmVhZCgpCiB7CiAgICAgLy8gVXNlIGEgUnVuTG9vcDo6VGltZXIgaW5zdGVhZCBvZiBSdW5M
b29wOjpkaXNwYXRjaCgpIHRvIGJlIGFibGUgdG8gdXNlIGEgZGlmZmVyZW50IHByaW9yaXR5IGFu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwIGIv
U291cmNlL1dURi93dGYvdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCmluZGV4IGMzMDAzYWJmMjMy
MjE4MmQ4Y2VmZDZkZGJhNGRiZGUwNTZlMzU0YjIuLjUzZjQ5ODM4M2ZhYzg5Y2QwMDQxMzFjZmJj
MDYyNDI1NjE3ODljZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvU3RyaW5n
SW1wbENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAK
QEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgU3RyaW5nV3JhcHBlckNGQWxsb2NhdG9yIHsK
IAogUmV0YWluUHRyPENGU3RyaW5nUmVmPiBTdHJpbmdJbXBsOjpjcmVhdGVDRlN0cmluZygpCiB7
Ci0gICAgaWYgKCFtX2xlbmd0aCB8fCAhaXNNYWluVGhyZWFkSWZJbml0aWFsaXplZCgpKSB7Cisg
ICAgaWYgKCFtX2xlbmd0aCB8fCAhaXNNYWluVGhyZWFkKCkpIHsKICAgICAgICAgaWYgKGlzOEJp
dCgpKQogICAgICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQnl0ZXMo
MCwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVSW50OCo+KGNoYXJhY3RlcnM4KCkpLCBtX2xlbmd0
aCwga0NGU3RyaW5nRW5jb2RpbmdJU09MYXRpbjEsIGZhbHNlKSk7CiAgICAgICAgIHJldHVybiBh
ZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVbmlDaGFyKj4oY2hhcmFjdGVyczE2KCkpLCBtX2xlbmd0aCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvd2luL01haW5UaHJlYWRXaW4uY3BwIGIvU291cmNlL1dURi93dGYvd2lu
L01haW5UaHJlYWRXaW4uY3BwCmluZGV4IDI2Y2MxZjUwZjM3Y2UzNWNjYTI5Njg1NmI4NDMxMmUy
Mzk2NjVmMDkuLmRmZjk0N2VkOTJjYzk0N2RkY2I5YzZlMWVmYWU0MTVjNmQ1MGJmMWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3dpbi9NYWluVGhyZWFkV2luLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi93aW4vTWFpblRocmVhZFdpbi5jcHAKQEAgLTc3LDE2ICs3Nyw2IEBAIGJvb2wgaXNN
YWluVGhyZWFkKCkKICAgICByZXR1cm4gbWFpblRocmVhZCA9PSBUaHJlYWQ6OmN1cnJlbnRJRCgp
OwogfQogCi1ib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKQotewotICAgIHJldHVybiBp
c01haW5UaHJlYWQoKTsKLX0KLQotYm9vbCBpc01haW5UaHJlYWRJbml0aWFsaXplZCgpCi17Ci0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFp
blRocmVhZCgpCiB7CiAgICAgQVNTRVJUKHRocmVhZGluZ1dpbmRvd0hhbmRsZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KaW5kZXggNmEyZmE4MDA3
NjI5MTc0OWJlN2FkYTVlZDcyY2E4YjI0MDM2ZWEzNS4uMDUwOGVlYWQ1MzE2MTE4YzM0ZjMyMWY5
ZDJmZmRmNGQ4ZWZmMTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
V2ViU2NyaXB0T2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNj
cmlwdE9iamVjdC5tbQpAQCAtMTY3LDcgKzE2Nyw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewog
I2lmICFVU0UoV0VCX1RIUkVBRCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCmluZGV4IDQ3OGQxOTA1
MGViYzRjYzViMGRiZDFhNjQxZDBhZWQ5ZTI2YjU4NTQuLmZhZWI4ZjUzYTgyMjBhODFmYmM5Y2Qz
MGQ3MTI3MmQ3NTllMmRlZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCkBAIC00NSw3ICs0NSw3IEBAICsgKHZvaWQpaW5pdGlh
bGl6ZQogewogI2lmICFVU0UoV0VCX1RIUkVBRCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKLSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgp
OworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZiAvLyAhVVNFKFdFQl9U
SFJFQUQpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3Rvcnkv
V2ViQmFja0ZvcndhcmRMaXN0Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9X
ZWJCYWNrRm9yd2FyZExpc3QubW0KaW5kZXggOGViYmM0MDdlZTY1MmI4MzhjNWQyOGI2YzBhMjFl
ZWQzYjJlMzE4Mi4uMzU5Y2I4OTc2MWFjY2MxMzNjNTRmOTQ3N2E5NjJmZDUzZDQ0MzdjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExp
c3QubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2Fy
ZExpc3QubW0KQEAgLTk4LDcgKzk4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKKyAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5M
b29wKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hp
c3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5
L1dlYkhpc3RvcnlJdGVtLm1tCmluZGV4IDg2ZjlkM2Q0MjIzODQ2YmM5NWNiYzk1NjQ1YTFjYTcz
MjBhZmUxOWIuLjk4OWM3ZjgzMTYxMzViZmZhMWQ5MjVlZTQ0ZjdkMzQ3NWRjMGE0MjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQpA
QCAtMTI1LDcgKzEyNSw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CisgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwog
I2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNh
Y2hlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbQppbmRleCA1
MDE5NDIzMjI1OGMwYTg1OWUyZjAwMjc2ZTBhYjA0ZDBjNWZiYTQzLi5lNmRmNjc4ZDljYTEyNzFi
NTJmZDdmYjU3MjgxODUyMDE2MTQ1ODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9NaXNjL1dlYkNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2Mv
V2ViQ2FjaGUubW0KQEAgLTY1LDcgKzY1LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKKyAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5S
dW5Mb29wKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9N
aXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tCmluZGV4IGY3YzIzYmVkYTNkNTUzN2U1YjgxYmZl
YmNiYWY3ZWQwYTc4MTI3ZjguLjdjMGRlNmUxZDEzYTQ4MTVkYzE4MTNlYTJiODQzOWQyMWEyYTcx
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERp
Y3Rpb25hcnkubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50
RGljdGlvbmFyeS5tbQpAQCAtNjgsNyArNjgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNp
ZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
LSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAg
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
blJ1bkxvb3AoKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNj
L1dlYkljb25EYXRhYmFzZS5tbQppbmRleCA2YTFlNzhhZmVjNTEzZWY2ZDNlZmMzNTBjZjI4ZDA2
NmI5ZmY4NzMzLi5kZTg2YjMxYjNhOWQxZDA4NjAxMmIxYmQ2MGNkYTNiMzQ0OTg5ZGMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQpAQCAt
OTgsNyArOTgsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICsgKHZv
aWQpaW5pdGlhbGl6ZQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CisgICAgV1RGOjpp
bml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9v
cCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0
cmluZ1RydW5jYXRvci5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViU3RyaW5n
VHJ1bmNhdG9yLm1tCmluZGV4IDI2ODU1NzlkNGIxZDdhMDc1NzBiNDEzZDQ1YWViOTU1MTc3MDVk
NzkuLjhkODFlMDFkZDgwZWY4ZmE0OTFhODE4ZmIwZjczMGY2MjdlODIxODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1tCkBAIC01
MSw3ICs1MSw3IEBAIEBpbXBsZW1lbnRhdGlvbiBXZWJTdHJpbmdUcnVuY2F0b3IKICsgKHZvaWQp
aW5pdGlhbGl6ZQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CisgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCgpOwogfQogCiArIChOU1N0cmluZyAqKWNlbnRlclRydW5jYXRlU3Ry
aW5nOihOU1N0cmluZyAqKXN0cmluZyB0b1dpZHRoOihmbG9hdCltYXhXaWR0aApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2Nh
cGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9Ib3N0ZWQv
V2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IGVlMTljNTY3YzAxZmExOGM1ZThk
YzYxYjA4Yzg5NGU1MjAwMmRhYzMuLjZlN2MwZTMzY2MxYTE2OGQ4MjNmYTk0NjU3OTQ1ZDFjMzJi
OTI5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVk
L1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTEw
Nyw3ICsxMDcsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRp
ZgogICAgIHNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tCmluZGV4IGMxNmM2YzI2NmMzYjk0ZWRlOWM0OTZlYjY2NjM4MjMyNmQyOTY5N2MuLjMyNmM1
MmNlYTc5MjZiZjBkN2ViM2FhOTM2MGZkOWViZjZkYTJjNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZp
ZXcubW0KQEAgLTcxLDcgKzcxLDcgQEAgQGltcGxlbWVudGF0aW9uIFdlYkJhc2VOZXRzY2FwZVBs
dWdpblZpZXcKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFk
KCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluUnVuTG9vcCgpOwogICAgIFdlYktpdDo6c2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRp
b25zKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dl
YkJhc2VQbHVnaW5QYWNrYWdlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9X
ZWJCYXNlUGx1Z2luUGFja2FnZS5tbQppbmRleCAyYzM4ZTA3MDFjNjM4NDA1YzFiODZjZTdmYjZi
YmYwMTAzNDJhMTZhLi43MzdjOWI3NGQ0MmVkZjBjMmI3YTlhNDNhY2U0NGJkNGVkMTY4YTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5Q
YWNrYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBs
dWdpblBhY2thZ2UubW0KQEAgLTYxLDcgKzYxLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKKyAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW5SdW5Mb29wKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggMTYwNjYzZTg2MWY3
MTBlYmZlZDFkNzY4NTY1ZGQyMmExMTRlOGUxZi4uZmM0MzczYzdiMjQ2MjE3NmY2MDU5YTJjOThl
MWY0YjI5MjFiNTA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTE2Myw3ICsxNjMsNyBAQCBAaW1w
bGVtZW50YXRpb24gV2ViTmV0c2NhcGVQbHVnaW5WaWV3CiArICh2b2lkKWluaXRpYWxpemUKIHsK
ICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJl
YWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICAgICBzZW5kVXNl
ckNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQppbmRleCA1MWM2YWI0
Yzc3NzlhNGI0ZTA0MDExZTE5MmI0NjE1OTBmYjlkZmQ4Li5iYzEyZjZjYjBmZGE0NWFkZTI4ODAx
MzE2Njk3NGZhZTRiYWRhODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCkBAIC0xMzYsNyArMTM2LDcg
QEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW0KaW5kZXggNDYwYzlhMjY3Y2FhMTJiYzk4OWMyZmI0MjhkZjRm
YWEyMGI3NGU4ZC4uNzIxOGVlYzhlZDFmMTczMmRiODU2ZGVkNmY3MmViNWRhYzk4YzYxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KQEAgLTIzNTEsNyArMjM1MSw3IEBAICsgKHZvaWQp
aW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NN
YWluVGhyZWFkKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0KaW5kZXggMGY1YjFhZDk5NWJmMDA0YmU3
YTllNmNlNjNmNjI2YzExMWVlNTRjZC4uNWFlZmEwMjU3MjY1NTdjMGY2NmRiMDI0NGFjNjc4MzZh
NDAwZGQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJB
cmNoaXZlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2
ZS5tbQpAQCAtNjksNyArNjksNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3Ao
KTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJEYXRhU291cmNlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJE
YXRhU291cmNlLm1tCmluZGV4IDliYmNmZmY2ZWVhYzU5MGE0ODQ2OTUxYjNjZjY2NzU1YTZkNWE2
MTMuLmRjMDMwZDE5ZmUyODY2N2FiMjUxMDA0MmU2YTllNDYzYzcyMjNjNDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0KQEAgLTE1Myw3
ICsxNTMsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2ViRGF0YVNv
dXJjZSBjbGFzc10pIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRU
b1Byb2Nlc3NNYWluVGhyZWFkKCk7CisgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQo
KTsKICAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpp
bmRleCAzNDc4MjZhZjIwYWUwYWRkY2E3NTFhOTEyZjAzMzVmMGRkZWQyOTVhLi5mOGZhYTJjYTll
YTNiMmY2OTdjY2VhYWM3Yzk2ZDUyYjhjZTI0NzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTEwMzMsNyArMTAzMyw3IEBAICsgKHZv
aWQpaW5pdGlhbGl6ZQogICAgIC8vIEFuZCBzb21lIG9mIHRoaXMgd29yayBpcyBsaWtlbHkgcmVk
dW5kYW50IHNpbmNlICtbV2ViSFRNTFZpZXcgaW5pdGlhbGl6ZV0gaXMgZ3VhcmFudGVlZCB0byBy
dW4gZmlyc3QuCiAKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6Omlu
aXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsK
IAogICAgIGlmICghb2xkU2V0Q3Vyc29yRm9yTW91c2VMb2NhdGlvbklNUCkgewpAQCAtMjU4NCw3
ICsyNTg0LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgW05TQXBwIHJlZ2lzdGVyU2Vydmlj
ZXNNZW51U2VuZFR5cGVzOltbc2VsZiBjbGFzc10gX3NlbGVjdGlvblBhc3RlYm9hcmRUeXBlc10g
cmV0dXJuVHlwZXM6W1tzZWxmIGNsYXNzXSBfaW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlc11dOwog
CiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFp
blRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhy
ZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4
IDk0MGRlMzYwMmIwYzgxMTgxZTc1OGJiM2EyMDBlOTQxNjRmZjAwM2IuLjkzN2NmNzU0ZmJlYmU2
MjA0YTBhYTg0NzYzZWU3MWFjOTRjOWQxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzg3LDcgKzM4Nyw3IEBAICsgKHZv
aWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nl
c3NNYWluVGhyZWFkKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwogICAgIGJvb2wgYXR0YWNobWVudEVsZW1l
bnRFbmFibGVkID0gTWFjQXBwbGljYXRpb246OmlzQXBwbGVNYWlsKCk7CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUmVzb3VyY2UubW0KaW5kZXggNjZmYTZm
ODg2MjIwZGI4Yjc0NGUzMGIwMzEyOWMyZDU5ZTc0Yzc5OC4uZWM5ZGIxYThkYmJiODQzMmY5ZTBl
NTUwMDhkYjE4YzlmZWFlOTcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJSZXNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlJlc291cmNlLm1tCkBAIC02OCw3ICs2OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQog
ewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7
CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRpYWxp
emVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCmluZGV4IGUzNjNiODViMmIzZDVhZTE0NzNj
ODM3MjcxODU4MzRkNTE3ODdiMTQuLjBiNmYyZjNjMjUzODQ4NDRjNjBiZGVlYTM1MzdkMDI1NjI1
YWUyMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4
dEl0ZXJhdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4
dEl0ZXJhdG9yLm1tCkBAIC00Nyw3ICs0Nyw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwot
ICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CisgICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
UnVuTG9vcCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggNjFkYmM5M2I5OTM1ZjM4YjlhYmI1ZGMzNDJjNDgyZTlkMzRhNzk5My4u
ZDdjYjUyMGNiMzhhMjQ4ODVkY2MwYTU4MDljNjM4OGU4YzQ3ZGQ5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNTQxMiw3ICs1NDEyLDcgQEAgKyAo
dm9pZClpbml0aWFsaXplCiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6Omlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9j
ZXNzTWFpblRocmVhZCgpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQppbmRleCA4MjM4YTRlYzVmZWUx
NjgzNjRlZDEzMDRiYzc1MTVmNTUxN2ZlODkzLi45OTgxMTE3ZDE3MGJkNjI4NGM5Y2RjZWU2ZmVl
NjZlODQzZTJkNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXdEYXRhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEubW0KQEAgLTE2OCw3ICsxNjgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNp
ZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
LSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAg
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
blJ1bkxvb3AoKTsKICNlbmRpZgogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381012</attachid>
            <date>2019-10-15 12:36:12 -0700</date>
            <delta_ts>2019-10-15 14:54:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203001-20191015123612.patch</filename>
            <type>text/plain</type>
            <size>27839</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdmMmFiMzFiNjgyMGY4YWJhNjBkMzlk
Y2YxM2U0NzI5MDY2YzMxMGYuLjFlZWUyMzQ0ZWJmYmUwMzc4YWFmMjM4NWUwZGI5ZWVkOWE3YzEx
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNpbXBsaWZ5IG1haW4gdGhyZWFkIGluaXRp
YWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDMwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTaW1wbGlmeSBtYWluIHRocmVhZCBpbml0aWFsaXphdGlvbiBvbiBtYWNPUyBieSBhbHdheXMg
dXNpbmcgcHRocmVhZCBtYWluIGFzIG1haW4gdGhyZWFkLgorICAgICAgICBUaGUgY29tcGxleGl0
eSBpcyBub3cgaXNvbGF0ZWQgdG8gdGhlIFVTRShXRUJfVEhSRUFEKSBjb2RlIHBhdGguCisKKyAg
ICAgICAgKiB3dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgICogd3RmL01haW5UaHJlYWQuaDoK
KyAgICAgICAgKiB3dGYvUmVmQ291bnRlZC5oOgorICAgICAgICAoV1RGOjpSZWZDb3VudGVkQmFz
ZTo6UmVmQ291bnRlZEJhc2UpOgorICAgICAgICAoV1RGOjpSZWZDb3VudGVkQmFzZTo6YXBwbHlS
ZWZEZXJlZlRocmVhZGluZ0NoZWNrIGNvbnN0KToKKyAgICAgICAgKiB3dGYvY29jb2EvTWFpblRo
cmVhZENvY29hLm1tOgorICAgICAgICAoV1RGOjppbml0aWFsaXplTWFpblRocmVhZFBsYXRmb3Jt
KToKKyAgICAgICAgKFdURjo6c2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCk6
CisgICAgICAgIChXVEY6OmluaXRpYWxpemVXZWJUaHJlYWRQbGF0Zm9ybSk6CisgICAgICAgIChX
VEY6OmNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZCk6CisgICAgICAgIChXVEY6Omlz
TWFpblRocmVhZCk6CisgICAgICAgICogd3RmL2dlbmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3Bw
OgorICAgICAgICAqIHd0Zi90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHA6CisgICAgICAgIChXVEY6
OlN0cmluZ0ltcGw6OmNyZWF0ZUNGU3RyaW5nKToKKyAgICAgICAgKiB3dGYvd2luL01haW5UaHJl
YWRXaW4uY3BwOgorCiAyMDE5LTEwLTE0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIFVuaWZ5IHNvdXJjZXMgZm9yIGJpbmRpbmdzIG1vcmUgZGVuc2Vs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDNjMWY3MDI1YzA3OGI3MzAxNTYyZGVmZDE2YTVkYmQ2NmJiMmJiMGIu
LmFkZmVlNTQwZjg0ODFjMGYzOWRlNGNiZjIzOGY2NTQ1MTNjNTA1YjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxOS0xMC0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIFttYWNPU10gU2ltcGxpZnkgbWFpbiB0aHJlYWQgaW5pdGlhbGl6YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzAwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnJpZGdl
L29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tOgorICAgICAgICAoK1tXZWJTY3JpcHRPYmplY3QgaW5p
dGlhbGl6ZV0pOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1t
OgorICAgICAgICAoK1tXZWJDb3JlU2hhcmVkQnVmZmVyRGF0YSBpbml0aWFsaXplXSk6CisKIDIw
MTktMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9w
IHVzaW5nIGluaGVyaXRhbmNlIGZvciBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwppbmRleCBjNTgxODc2YmNhNTA5MTg4NTk2MWU4ZWY5ODRkZWQwYjVi
OWEzN2ViLi43NjgzZGIyM2NhZmI3Njk5NmMwNTVkZWYwYjEwOGY2ZjMzYjgxZGFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTktMTAtMTUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNpbXBsaWZ5IG1h
aW4gdGhyZWFkIGluaXRpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDMwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIEhpc3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1tOgorICAgICAg
ICAoK1tXZWJCYWNrRm9yd2FyZExpc3QgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIEhpc3Rvcnkv
V2ViSGlzdG9yeUl0ZW0ubW06CisgICAgICAgICgrW1dlYkhpc3RvcnlJdGVtIGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBNaXNjL1dlYkNhY2hlLm1tOgorICAgICAgICAoK1tXZWJDYWNoZSBpbml0
aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbToKKyAgICAg
ICAgKCtbV2ViRWxlbWVudERpY3Rpb25hcnkgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2Mv
V2ViSWNvbkRhdGFiYXNlLm1tOgorICAgICAgICAqIE1pc2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1t
OgorICAgICAgICAoK1tXZWJTdHJpbmdUcnVuY2F0b3IgaW5pdGlhbGl6ZV0pOgorICAgICAgICAq
IFBsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAg
KCtbV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICogUGx1Z2lucy9X
ZWJCYXNlUGx1Z2luUGFja2FnZS5tbToKKyAgICAgICAgKCtbV2ViQmFzZVBsdWdpblBhY2thZ2Ug
aW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
OgorICAgICAgICAoK1tXZWJOZXRzY2FwZVBsdWdpblZpZXcgaW5pdGlhbGl6ZV0pOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViVW5k
b1N0ZXAgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tOgorICAgICAgICAoK1tXZWJGcmFtZVBvbGljeUxpc3RlbmVyIGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkFyY2hpdmUubW06CisgICAgICAgICgrW1dlYkFy
Y2hpdmVQcml2YXRlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkRhdGFTb3Vy
Y2UubW06CisgICAgICAgICgrW1dlYkRhdGFTb3VyY2UgaW5pdGlhbGl6ZV0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgrW1dlYkhUTUxWaWV3UHJpdmF0ZSBp
bml0aWFsaXplXSk6CisgICAgICAgICgrW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNl
cyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJSZXNvdXJjZS5tbToKKyAgICAg
ICAgKCtbV2ViUmVzb3VyY2VQcml2YXRlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlRleHRJdGVyYXRvci5tbToKKyAgICAgICAgKCtbV2ViVGV4dEl0ZXJhdG9yUHJpdmF0ZSBp
bml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tX
ZWJWaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRhLm1tOgor
ICAgICAgICAoK1tXZWJWaWV3UHJpdmF0ZSBpbml0aWFsaXplXSk6CisKIDIwMTktMTAtMTQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBIYXZlIFdlYkJh
Y2tGb3J3YXJkQ2FjaGUgY2xhc3MgY29vcmRpbmF0ZSBwYWdlIGNhY2hpbmcgaW4gYWxsIFdlYlBy
b2Nlc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAppbmRleCA5ZTk5NDNkZWExODA4NTAwZjg3MzAyZTk4
N2ZjMTVmMzgxNzg3MDhkLi5iYzhjZmM3NzA5MzZlYmVkNmJmNGUyMTc4MmYzM2M0NmRjOTc0NTM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9NYWluVGhyZWFkLmNwcApAQCAtNjEsMjYgKzYxLDYgQEAgdm9pZCBpbml0aWFsaXpl
TWFpblRocmVhZCgpCiAgICAgfSk7CiB9CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNpZiAhVVNF
KFdFQl9USFJFQUQpCi12b2lkIGluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVh
ZCgpCi17Ci0gICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10gewotICAgICAgICBp
bml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIGluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9j
ZXNzTWFpblRocmVhZFBsYXRmb3JtKCk7Ci0gICAgfSk7Ci19Ci0jZWxzZQotdm9pZCBpbml0aWFs
aXplV2ViVGhyZWFkKCkKLXsKLSAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZUtl
eTsKLSAgICBzdGQ6OmNhbGxfb25jZShpbml0aWFsaXplS2V5LCBbXSB7Ci0gICAgICAgIGluaXRp
YWxpemVXZWJUaHJlYWRQbGF0Zm9ybSgpOwotICAgIH0pOwotfQotI2VuZGlmIC8vICFVU0UoV0VC
X1RIUkVBRCkKLSNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKLQogI2lmICFVU0UoV0VCX1RIUkVB
RCkKIGJvb2wgY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKFRocmVhZCYgdGhyZWFk
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5oIGIvU291cmNlL1dU
Ri93dGYvTWFpblRocmVhZC5oCmluZGV4IDc4NWFlZmJjOGU0YjY4M2UwZTIxZmUyOWY3ZTlhZWEy
ODExMGUwMmMuLjljM2Y3OWYxMTEyYzU0YTU5NTBmMGEzZThiMjljNTVhZmE3NDE1MzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9N
YWluVGhyZWFkLmgKQEAgLTUzLDggKzUzLDYgQEAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgY2Fs
bE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5jT25NYWluVGhyZWFkKHZvaWQgKF5ibG9jaykKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldE1haW5UaHJlYWRDYWxsYmFja3NQYXVzZWQoYm9vbCBw
YXVzZWQpOwogCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5UaHJlYWQoKTsKLVdURl9F
WFBPUlRfUFJJVkFURSBib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKTsKLVdURl9FWFBP
UlRfUFJJVkFURSBib29sIGlzTWFpblRocmVhZEluaXRpYWxpemVkKCk7CiAKIFdURl9FWFBPUlRf
UFJJVkFURSBib29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChUaHJlYWQmKTsK
IApAQCAtNjcsNyArNjUsNiBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc1dlYlRocmVhZCgp
OwogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNVSVRocmVhZCgpOwogV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
aW5pdGlhbGl6ZUFwcGxpY2F0aW9uVUlUaHJlYWQoKTsKLXZvaWQgaW5pdGlhbGl6ZVdlYlRocmVh
ZFBsYXRmb3JtKCk7CiAjZWxzZQogaW5saW5lIGJvb2wgaXNXZWJUaHJlYWQoKSB7IHJldHVybiBp
c01haW5UaHJlYWQoKTsgfQogaW5saW5lIGJvb2wgaXNVSVRocmVhZCgpIHsgcmV0dXJuIGlzTWFp
blRocmVhZCgpOyB9CkBAIC04MCwxNiArNzcsNiBAQCB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFk
UGxhdGZvcm0oKTsKIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmVhZCgp
Owogdm9pZCBkaXNwYXRjaEZ1bmN0aW9uc0Zyb21NYWluVGhyZWFkKCk7CiAKLSNpZiBPUyhEQVJX
SU4pICYmICFVU0UoR0xJQikKLSNpZiAhVVNFKFdFQl9USFJFQUQpCi0vLyBUaGlzIHZlcnNpb24g
b2YgaW5pdGlhbGl6ZU1haW5UaHJlYWQgc2V0cyB1cCB0aGUgbWFpbiB0aHJlYWQgYXMgY29ycmVz
cG9uZGluZwotLy8gdG8gdGhlIHByb2Nlc3MncyBtYWluIHRocmVhZCwgYW5kIG5vdCBuZWNlc3Nh
cmlseSB0aGUgdGhyZWFkIHRoYXQgY2FsbHMgdGhpcwotLy8gZnVuY3Rpb24uIEl0IHNob3VsZCBv
bmx5IGJlIHVzZWQgYXMgYSBsZWdhY3kgYWlkIGZvciBNYWMgV2ViS2l0LgotV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7Ci0j
ZW5kaWYgLy8gIVVTRShXRUJfVEhSRUFEKQotdm9pZCBpbml0aWFsaXplTWFpblRocmVhZFRvUHJv
Y2Vzc01haW5UaHJlYWRQbGF0Zm9ybSgpOwotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdURgog
CiB1c2luZyBXVEY6OmNhbGxPbk1haW5UaHJlYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggZmNhNWNj
ZDY3MTQ4MzcwODM2YmYzODE2ZDZmYmEzNzJmM2YyNmQzMi4uOTQxNmUzNzBlMTM0OTAzNzZhMDc4
ZjRmZjQ5NzA3NGZmOTI4YjUwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmVmQ291bnRl
ZC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWQuaApAQCAtOTEsOCArOTEsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgUmVmQ291bnRlZEJhc2UoKQogICAgICAgICA6IG1fcmVmQ291bnQoMSkK
ICNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAgICAgICwgbV9pc093bmVkQnlNYWluVGhyZWFkKGlz
TWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKSkKLSAgICAgICAgLCBtX2FyZVRocmVhZGluZ0NoZWNr
c0VuYWJsZWQoaXNNYWluVGhyZWFkSW5pdGlhbGl6ZWQoKSkKKyAgICAgICAgLCBtX2lzT3duZWRC
eU1haW5UaHJlYWQoaXNNYWluVGhyZWFkKCkpCiAjZW5kaWYKICNpZiBDSEVDS19SRUZfQ09VTlRF
RF9MSUZFQ1lDTEUKICAgICAgICAgLCBtX2RlbGV0aW9uSGFzQmVndW4oZmFsc2UpCkBAIC0xMDYs
NyArMTA1LDcgQEAgcHJvdGVjdGVkOgogI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICAgICAgaWYg
KGhhc09uZVJlZigpKSB7CiAgICAgICAgICAgICAvLyBMaWtlbHkgYW4gb3duZXJzaGlwIHRyYW5z
ZmVyIGFjcm9zcyB0aHJlYWRzIHRoYXQgbWF5IGJlIHNhZmUuCi0gICAgICAgICAgICBtX2lzT3du
ZWRCeU1haW5UaHJlYWQgPSBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCk7CisgICAgICAgICAg
ICBtX2lzT3duZWRCeU1haW5UaHJlYWQgPSBpc01haW5UaHJlYWQoKTsKICAgICAgICAgfSBlbHNl
IGlmIChhcmVUaHJlYWRpbmdDaGVja3NFbmFibGVkR2xvYmFsbHkgJiYgbV9hcmVUaHJlYWRpbmdD
aGVja3NFbmFibGVkKSB7CiAgICAgICAgICAgICAvLyBJZiB5b3UgaGl0IHRoaXMgYXNzZXJ0aW9u
LCBpdCBtZWFucyB0aGF0IHRoZSBSZWZDb3VudGVkIG9iamVjdCB3YXMgcmVmL2RlcmVmJ2QKICAg
ICAgICAgICAgIC8vIGZyb20gYm90aCB0aGUgbWFpbiB0aHJlYWQgYW5kIGFub3RoZXIgaW4gYSB3
YXkgdGhhdCBpcyBsaWtlbHkgY29uY3VycmVudCBhbmQgdW5zYWZlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tIGIvU291cmNlL1dURi93dGYvY29j
b2EvTWFpblRocmVhZENvY29hLm1tCmluZGV4IDU4YjZmOTFhMTZhMmY2MjVlZTU1ODlkYTI1MWQ4
Y2JkNzBkODczMmMuLjI3ZWIwMGRiYTEwOWJhMWZhNTAwZDU3Y2JiNWYzMTQ1YjdlMjEyNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQorKysgYi9T
b3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW0KQEAgLTU2LDQ5ICs1NiwzOCBA
QCAtICh2b2lkKWNhbGwKIAogQGVuZAogCisjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cK
KwogbmFtZXNwYWNlIFdURiB7CiAKKyNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hh
bm5lbCBMb2dUaHJlYWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJUaHJlYWRpbmci
LCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKKyNlbHNlCitXVEZMb2dDaGFubmVsIExvZ1RocmVhZGlu
ZyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlRocmVhZGluZyIsIFdURkxvZ0xldmVsOjpF
cnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKKyNl
bmRpZgorCisKIHN0YXRpYyBKU1dURk1haW5UaHJlYWRDYWxsZXIqIHN0YXRpY01haW5UaHJlYWRD
YWxsZXI7CiBzdGF0aWMgYm9vbCBpc1RpbWVyUG9zdGVkOyAvLyBUaGlzIGlzIG9ubHkgYWNjZXNz
ZWQgb24gdGhlIG1haW4gdGhyZWFkLgotc3RhdGljIGJvb2wgbWFpblRocmVhZEVzdGFibGlzaGVk
QXNQdGhyZWFkTWFpbiB7IGZhbHNlIH07CisKKyNpZiBVU0UoV0VCX1RIUkVBRCkKKy8vIFdoZW4g
dGhlIFdlYiB0aHJlYWQgaXMgZW5hYmxlZCwgd2UgY29uc2lkZXIgaXQgdG8gYmUgdGhlIG1haW4g
dGhyZWFkLCBub3QgcHRocmVhZCBtYWluLgogc3RhdGljIHB0aHJlYWRfdCBtYWluVGhyZWFkUHRo
cmVhZCB7IG51bGxwdHIgfTsKIHN0YXRpYyBOU1RocmVhZCogbWFpblRocmVhZE5TVGhyZWFkIHsg
bnVsbHB0ciB9OwogCi0jaWYgVVNFKFdFQl9USFJFQUQpCiBzdGF0aWMgVGhyZWFkKiBzQXBwbGlj
YXRpb25VSVRocmVhZDsKIHN0YXRpYyBUaHJlYWQqIHNXZWJUaHJlYWQ7CiAjZW5kaWYKIAogdm9p
ZCBpbml0aWFsaXplTWFpblRocmVhZFBsYXRmb3JtKCkKLXsKLSAgICBBU1NFUlQoIXN0YXRpY01h
aW5UaHJlYWRDYWxsZXIpOwotICAgIHN0YXRpY01haW5UaHJlYWRDYWxsZXIgPSBbW0pTV1RGTWFp
blRocmVhZENhbGxlciBhbGxvY10gaW5pdF07Ci0KLSNpZiAhVVNFKFdFQl9USFJFQUQpCi0gICAg
bWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFpbiA9IGZhbHNlOwotICAgIG1haW5UaHJl
YWRQdGhyZWFkID0gcHRocmVhZF9zZWxmKCk7Ci0gICAgbWFpblRocmVhZE5TVGhyZWFkID0gW05T
VGhyZWFkIGN1cnJlbnRUaHJlYWRdOwotI2Vsc2UKLSAgICBtYWluVGhyZWFkRXN0YWJsaXNoZWRB
c1B0aHJlYWRNYWluID0gdHJ1ZTsKLSAgICBBU1NFUlQoIW1haW5UaHJlYWRQdGhyZWFkKTsKLSAg
ICBBU1NFUlQoIW1haW5UaHJlYWROU1RocmVhZCk7Ci0jZW5kaWYKLX0KLQotI2lmICFVU0UoV0VC
X1RIUkVBRCkKLXZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkUGxh
dGZvcm0oKQogewogICAgIGlmICghcHRocmVhZF9tYWluX25wKCkpCi0gICAgICAgIE5TTG9nKEAi
V2ViS2l0IFRocmVhZGluZyBWaW9sYXRpb24gLSBpbml0aWFsIHVzZSBvZiBXZWJLaXQgZnJvbSBh
IHNlY29uZGFyeSB0aHJlYWQuIik7CisgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFRocmVhZGlu
ZywgIldlYktpdCBUaHJlYWRpbmcgVmlvbGF0aW9uIC0gaW5pdGlhbCB1c2Ugb2YgV2ViS2l0IGZy
b20gYSBzZWNvbmRhcnkgdGhyZWFkLiIpOworICAgIEFTU0VSVChwdGhyZWFkX21haW5fbnAoKSk7
CiAKICAgICBBU1NFUlQoIXN0YXRpY01haW5UaHJlYWRDYWxsZXIpOwogICAgIHN0YXRpY01haW5U
aHJlYWRDYWxsZXIgPSBbW0pTV1RGTWFpblRocmVhZENhbGxlciBhbGxvY10gaW5pdF07Ci0KLSAg
ICBtYWluVGhyZWFkRXN0YWJsaXNoZWRBc1B0aHJlYWRNYWluID0gdHJ1ZTsKLSAgICBtYWluVGhy
ZWFkUHRocmVhZCA9IDA7Ci0gICAgbWFpblRocmVhZE5TVGhyZWFkID0gbmlsOwogfQotI2VuZGlm
IC8vICFVU0UoV0VCX1RIUkVBRCkKIAogc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BU
aW1lclJlZiB0aW1lciwgdm9pZCopCiB7CkBAIC0xMjQsMjAgKzExMywyNSBAQCBzdGF0aWMgdm9p
ZCBwb3N0VGltZXIoKQogdm9pZCBzY2hlZHVsZURpc3BhdGNoRnVuY3Rpb25zT25NYWluVGhyZWFk
KCkKIHsKICAgICBBU1NFUlQoc3RhdGljTWFpblRocmVhZENhbGxlcik7Ci0KKyAgICAKKyNpZiBV
U0UoV0VCX1RIUkVBRCkKICAgICBpZiAoaXNXZWJUaHJlYWQoKSkgewogICAgICAgICBwb3N0VGlt
ZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICBpZiAobWFpblRocmVhZEVz
dGFibGlzaGVkQXNQdGhyZWFkTWFpbikgewotICAgICAgICBBU1NFUlQoIW1haW5UaHJlYWROU1Ro
cmVhZCk7Ci0gICAgICAgIFtzdGF0aWNNYWluVGhyZWFkQ2FsbGVyIHBlcmZvcm1TZWxlY3Rvck9u
TWFpblRocmVhZDpAc2VsZWN0b3IoY2FsbCkgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpO
T107CisKKyAgICBpZiAobWFpblRocmVhZFB0aHJlYWQpIHsKKyAgICAgICAgW3N0YXRpY01haW5U
aHJlYWRDYWxsZXIgcGVyZm9ybVNlbGVjdG9yOkBzZWxlY3RvcihjYWxsKSBvblRocmVhZDptYWlu
VGhyZWFkTlNUaHJlYWQgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpOT107CisgICAgICAg
IHJldHVybjsKKyAgICB9CisjZWxzZQorICAgIGlmIChpc01haW5UaHJlYWQoKSkgeworICAgICAg
ICBwb3N0VGltZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyNlbmRpZgogCi0gICAgQVNT
RVJUKG1haW5UaHJlYWROU1RocmVhZCk7Ci0gICAgW3N0YXRpY01haW5UaHJlYWRDYWxsZXIgcGVy
Zm9ybVNlbGVjdG9yOkBzZWxlY3RvcihjYWxsKSBvblRocmVhZDptYWluVGhyZWFkTlNUaHJlYWQg
d2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpOT107CisgICAgW3N0YXRpY01haW5UaHJlYWRD
YWxsZXIgcGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkOkBzZWxlY3RvcihjYWxsKSB3aXRoT2Jq
ZWN0Om5pbCB3YWl0VW50aWxEb25lOk5PXTsKIH0KIAogdm9pZCBkaXNwYXRjaEFzeW5jT25NYWlu
VGhyZWFkV2l0aFdlYlRocmVhZExvY2tJZk5lZWRlZCh2b2lkICheYmxvY2spKCkpCkBAIC0xNjYs
NiArMTYwLDcgQEAgdm9pZCBjYWxsT25XZWJUaHJlYWRPckRpc3BhdGNoQXN5bmNPbk1haW5UaHJl
YWQodm9pZCAoXmJsb2NrKSgpKQogfQogCiAjaWYgVVNFKFdFQl9USFJFQUQpCisKIHN0YXRpYyBi
b29sIHdlYlRocmVhZElzVW5pbml0aWFsaXplZE9yTG9ja2VkT3JEaXNhYmxlZCgpCiB7CiAgICAg
cmV0dXJuICFXZWJDb3JlV2ViVGhyZWFkSXNMb2NrZWRPckRpc2FibGVkIHx8IFdlYkNvcmVXZWJU
aHJlYWRJc0xvY2tlZE9yRGlzYWJsZWQoKTsKQEAgLTE3NiwxNiArMTcxLDYgQEAgYm9vbCBpc01h
aW5UaHJlYWQoKQogICAgIHJldHVybiAoaXNXZWJUaHJlYWQoKSB8fCBwdGhyZWFkX21haW5fbnAo
KSkgJiYgd2ViVGhyZWFkSXNVbmluaXRpYWxpemVkT3JMb2NrZWRPckRpc2FibGVkKCk7CiB9CiAK
LWJvb2wgaXNNYWluVGhyZWFkSWZJbml0aWFsaXplZCgpCi17Ci0gICAgcmV0dXJuIGlzTWFpblRo
cmVhZCgpOwotfQotCi1ib29sIGlzTWFpblRocmVhZEluaXRpYWxpemVkKCkKLXsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQogYm9vbCBpc1VJVGhyZWFkKCkKIHsKICAgICByZXR1cm4gcHRocmVhZF9t
YWluX25wKCk7CkBAIC0yMDMsMTUgKzE4OCwxNSBAQCB2b2lkIGluaXRpYWxpemVBcHBsaWNhdGlv
blVJVGhyZWFkKCkKICAgICBzQXBwbGljYXRpb25VSVRocmVhZCA9ICZUaHJlYWQ6OmN1cnJlbnQo
KTsKIH0KIAotdm9pZCBpbml0aWFsaXplV2ViVGhyZWFkUGxhdGZvcm0oKQordm9pZCBpbml0aWFs
aXplV2ViVGhyZWFkKCkKIHsKLSAgICBBU1NFUlQoIXB0aHJlYWRfbWFpbl9ucCgpKTsKLQotICAg
IG1haW5UaHJlYWRFc3RhYmxpc2hlZEFzUHRocmVhZE1haW4gPSBmYWxzZTsKLSAgICBtYWluVGhy
ZWFkUHRocmVhZCA9IHB0aHJlYWRfc2VsZigpOwotICAgIG1haW5UaHJlYWROU1RocmVhZCA9IFtO
U1RocmVhZCBjdXJyZW50VGhyZWFkXTsKLQotICAgIHNXZWJUaHJlYWQgPSAmVGhyZWFkOjpjdXJy
ZW50KCk7CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CisgICAgc3Rk
OjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10geworICAgICAgICBBU1NFUlQoIXB0aHJlYWRf
bWFpbl9ucCgpKTsKKyAgICAgICAgbWFpblRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsK
KyAgICAgICAgbWFpblRocmVhZE5TVGhyZWFkID0gW05TVGhyZWFkIGN1cnJlbnRUaHJlYWRdOwor
ICAgICAgICBzV2ViVGhyZWFkID0gJlRocmVhZDo6Y3VycmVudCgpOworICAgIH0pOwogfQogCiBi
b29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChUaHJlYWQmIHRocmVhZCkKQEAg
LTIyNSwyOCArMjEwLDEyIEBAIGJvb2wgY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFk
KFRocmVhZCYgdGhyZWFkKQogCiAgICAgcmV0dXJuIGZhbHNlOwogfQotI2Vsc2UKLWJvb2wgaXNN
YWluVGhyZWFkKCkKLXsKLSAgICBpZiAobWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFp
bikgewotICAgICAgICBBU1NFUlQoIW1haW5UaHJlYWRQdGhyZWFkKTsKLSAgICAgICAgcmV0dXJu
IHB0aHJlYWRfbWFpbl9ucCgpOwotICAgIH0KLQotICAgIEFTU0VSVChtYWluVGhyZWFkUHRocmVh
ZCk7Ci0gICAgcmV0dXJuIHB0aHJlYWRfZXF1YWwocHRocmVhZF9zZWxmKCksIG1haW5UaHJlYWRQ
dGhyZWFkKTsKLX0KIAotYm9vbCBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCkKLXsKLSAgICBp
ZiAobWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFpbikKLSAgICAgICAgcmV0dXJuIHB0
aHJlYWRfbWFpbl9ucCgpOwotICAgIHJldHVybiBwdGhyZWFkX2VxdWFsKHB0aHJlYWRfc2VsZigp
LCBtYWluVGhyZWFkUHRocmVhZCk7Ci19CisjZWxzZQogCi1ib29sIGlzTWFpblRocmVhZEluaXRp
YWxpemVkKCkKK2Jvb2wgaXNNYWluVGhyZWFkKCkKIHsKLSAgICByZXR1cm4gbWFpblRocmVhZEVz
dGFibGlzaGVkQXNQdGhyZWFkTWFpbiB8fCBtYWluVGhyZWFkUHRocmVhZDsKKyAgICByZXR1cm4g
cHRocmVhZF9tYWluX25wKCk7CiB9CiAKICNlbmRpZiAvLyBVU0UoV0VCX1RIUkVBRCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3BwIGIvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9NYWluVGhyZWFkR2VuZXJpYy5jcHAKaW5kZXggODhiZjE4ZjU5
Njg4YWJjZDQ1NmY4NjQ0OTNkZTU1NzQwMmM2ZDQ1Yi4uNjQwNjBjNDI2ZjMxYmI3NjZkMDI3ODM1
YTIzMWRkMzdmMWEwNGIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NYWlu
VGhyZWFkR2VuZXJpYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9NYWluVGhyZWFk
R2VuZXJpYy5jcHAKQEAgLTg5LDE2ICs4OSw2IEBAIGJvb2wgaXNNYWluVGhyZWFkKCkKICNlbmRp
ZgogfQogCi1ib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKQotewotICAgIHJldHVybiBp
c01haW5UaHJlYWQoKTsKLX0KLQotYm9vbCBpc01haW5UaHJlYWRJbml0aWFsaXplZCgpCi17Ci0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFp
blRocmVhZCgpCiB7CiAgICAgLy8gVXNlIGEgUnVuTG9vcDo6VGltZXIgaW5zdGVhZCBvZiBSdW5M
b29wOjpkaXNwYXRjaCgpIHRvIGJlIGFibGUgdG8gdXNlIGEgZGlmZmVyZW50IHByaW9yaXR5IGFu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwIGIv
U291cmNlL1dURi93dGYvdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCmluZGV4IGMzMDAzYWJmMjMy
MjE4MmQ4Y2VmZDZkZGJhNGRiZGUwNTZlMzU0YjIuLjUzZjQ5ODM4M2ZhYzg5Y2QwMDQxMzFjZmJj
MDYyNDI1NjE3ODljZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvU3RyaW5n
SW1wbENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAK
QEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgU3RyaW5nV3JhcHBlckNGQWxsb2NhdG9yIHsK
IAogUmV0YWluUHRyPENGU3RyaW5nUmVmPiBTdHJpbmdJbXBsOjpjcmVhdGVDRlN0cmluZygpCiB7
Ci0gICAgaWYgKCFtX2xlbmd0aCB8fCAhaXNNYWluVGhyZWFkSWZJbml0aWFsaXplZCgpKSB7Cisg
ICAgaWYgKCFtX2xlbmd0aCB8fCAhaXNNYWluVGhyZWFkKCkpIHsKICAgICAgICAgaWYgKGlzOEJp
dCgpKQogICAgICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQnl0ZXMo
MCwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVSW50OCo+KGNoYXJhY3RlcnM4KCkpLCBtX2xlbmd0
aCwga0NGU3RyaW5nRW5jb2RpbmdJU09MYXRpbjEsIGZhbHNlKSk7CiAgICAgICAgIHJldHVybiBh
ZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVbmlDaGFyKj4oY2hhcmFjdGVyczE2KCkpLCBtX2xlbmd0aCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvd2luL01haW5UaHJlYWRXaW4uY3BwIGIvU291cmNlL1dURi93dGYvd2lu
L01haW5UaHJlYWRXaW4uY3BwCmluZGV4IDI2Y2MxZjUwZjM3Y2UzNWNjYTI5Njg1NmI4NDMxMmUy
Mzk2NjVmMDkuLmRmZjk0N2VkOTJjYzk0N2RkY2I5YzZlMWVmYWU0MTVjNmQ1MGJmMWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3dpbi9NYWluVGhyZWFkV2luLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi93aW4vTWFpblRocmVhZFdpbi5jcHAKQEAgLTc3LDE2ICs3Nyw2IEBAIGJvb2wgaXNN
YWluVGhyZWFkKCkKICAgICByZXR1cm4gbWFpblRocmVhZCA9PSBUaHJlYWQ6OmN1cnJlbnRJRCgp
OwogfQogCi1ib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKQotewotICAgIHJldHVybiBp
c01haW5UaHJlYWQoKTsKLX0KLQotYm9vbCBpc01haW5UaHJlYWRJbml0aWFsaXplZCgpCi17Ci0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFp
blRocmVhZCgpCiB7CiAgICAgQVNTRVJUKHRocmVhZGluZ1dpbmRvd0hhbmRsZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0KaW5kZXggNmEyZmE4MDA3
NjI5MTc0OWJlN2FkYTVlZDcyY2E4YjI0MDM2ZWEzNS4uMDUwOGVlYWQ1MzE2MTE4YzM0ZjMyMWY5
ZDJmZmRmNGQ4ZWZmMTliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMv
V2ViU2NyaXB0T2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNj
cmlwdE9iamVjdC5tbQpAQCAtMTY3LDcgKzE2Nyw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewog
I2lmICFVU0UoV0VCX1RIUkVBRCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCmluZGV4IDQ3OGQxOTA1
MGViYzRjYzViMGRiZDFhNjQxZDBhZWQ5ZTI2YjU4NTQuLmZhZWI4ZjUzYTgyMjBhODFmYmM5Y2Qz
MGQ3MTI3MmQ3NTllMmRlZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCkBAIC00NSw3ICs0NSw3IEBAICsgKHZvaWQpaW5pdGlh
bGl6ZQogewogI2lmICFVU0UoV0VCX1RIUkVBRCkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKLSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgp
OworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZiAvLyAhVVNFKFdFQl9U
SFJFQUQpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3Rvcnkv
V2ViQmFja0ZvcndhcmRMaXN0Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9X
ZWJCYWNrRm9yd2FyZExpc3QubW0KaW5kZXggOGViYmM0MDdlZTY1MmI4MzhjNWQyOGI2YzBhMjFl
ZWQzYjJlMzE4Mi4uZGY2MmRhOTY2Yzc5ZDNhNjNhMWZlMDYzYjEwNTAyZDgzY2Y4OTA3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExp
c3QubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2Fy
ZExpc3QubW0KQEAgLTk4LDcgKzk4LDYgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0KaW5kZXggODZmOWQzZDQy
MjM4NDZiYzk1Y2JjOTU2NDVhMWNhNzMyMGFmZTE5Yi4uYzdjMDI3YjM0MGQwMGFjMmYwMmU4Nzk4
ZjE0YTYyYWNlNzg1OGVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlz
dG9yeS9XZWJIaXN0b3J5SXRlbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0
b3J5L1dlYkhpc3RvcnlJdGVtLm1tCkBAIC0xMjUsNyArMTI1LDYgQEAgKyAodm9pZClpbml0aWFs
aXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJl
YWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRpZgogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViQ2FjaGUubW0KaW5kZXggNTAxOTQyMzIyNThj
MGE4NTllMmYwMDI3NmUwYWIwNGQwYzVmYmE0My4uYjUwYjIxYzg1YmNkYmY3MjU5OTQwYzQzNmIw
YmUyZTM2NDQ4ZmZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNhY2hlLm1t
CkBAIC02NSw3ICs2NSw2IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tCmluZGV4IGY3YzIzYmVkYTNk
NTUzN2U1YjgxYmZlYmNiYWY3ZWQwYTc4MTI3ZjguLmJkMjM2NDE1NjVhYTU4Y2VmMDdmYmRkN2Yw
YzRhZTJlNjM4MWU1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2Mv
V2ViRWxlbWVudERpY3Rpb25hcnkubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlz
Yy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQpAQCAtNjgsNyArNjgsNiBAQCArICh2b2lkKWluaXRp
YWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRo
cmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFz
ZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCmlu
ZGV4IDZhMWU3OGFmZWM1MTNlZjZkM2VmYzM1MGNmMjhkMDY2YjlmZjg3MzMuLmIxZWU2NTgyYmY0
Y2Q0NjI5MTVhMWZiZTA0YjFhYzA0OGVmZTUxMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCkBAIC05OCw3ICs5OCw2IEBAIEFMTE9XX0RF
UFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxv
b3AoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJT
dHJpbmdUcnVuY2F0b3IubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0cmlu
Z1RydW5jYXRvci5tbQppbmRleCAyNjg1NTc5ZDRiMWQ3YTA3NTcwYjQxM2Q0NWFlYjk1NTE3NzA1
ZDc5Li44ZDgxZTAxZGQ4MGVmOGZhNDkxYTgxOGZiMGY3MzBmNjI3ZTgyMTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbQpAQCAt
NTEsNyArNTEsNyBAQCBAaW1wbGVtZW50YXRpb24gV2ViU3RyaW5nVHJ1bmNhdG9yCiArICh2b2lk
KWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOworICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogKyAoTlNTdHJpbmcgKiljZW50ZXJUcnVuY2F0ZVN0
cmluZzooTlNTdHJpbmcgKilzdHJpbmcgdG9XaWR0aDooZmxvYXQpbWF4V2lkdGgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNj
YXBlUGx1Z2luVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVk
L1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBlZTE5YzU2N2MwMWZhMThjNWU4
ZGM2MWIwOGM4OTRlNTIwMDJkYWMzLi42MzgwMWUxY2FiYWNiYWFmMTAxYTAzOGFjZTUwNTI2ZjAz
ZjFhZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3Rl
ZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0x
MDcsNyArMTA3LDYgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpblJ1bkxvb3AoKTsKICNlbmRpZgogICAgIHNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9u
cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNl
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9X
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IGMxNmM2YzI2NmMzYjk0ZWRlOWM0OTZl
YjY2NjM4MjMyNmQyOTY5N2MuLjRmODk5ZWRlMmM1MjI3NjUyNDFhYTlhY2FhYjY5ZWViZGE2YWY2
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5l
dHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTcxLDcgKzcxLDYgQEAgQGltcGxlbWVu
dGF0aW9uIFdlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcKICsgKHZvaWQpaW5pdGlhbGl6ZQogewog
ICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5U
aHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5S
dW5Mb29wKCk7CiAgICAgV2ViS2l0OjpzZW5kVXNlckNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdp
blBhY2thZ2UubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVn
aW5QYWNrYWdlLm1tCmluZGV4IDJjMzhlMDcwMWM2Mzg0MDVjMWI4NmNlN2ZiNmJiZjAxMDM0MmEx
NmEuLjcxZTQzNjU0NmE5Y2Q0ODJhOTU1YTBhODBiNTBjOTllZWRhZjE5NTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2Fn
ZS5tbQpAQCAtNjEsNyArNjEsNiBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6
OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IDE2MDY2M2U4NjFmNzEwZWJmZWQxZDc2ODU2NWRkMjJhMTE0ZThlMWYuLmRkZDllY2YzMTNkNjc3
ZmMzZjhkY2M0NTFjMjUyZjQzNzkwM2MxNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xNjMsNyAr
MTYzLDYgQEAgQGltcGxlbWVudGF0aW9uIFdlYk5ldHNjYXBlUGx1Z2luVmlldwogKyAodm9pZClp
bml0aWFsaXplCiB7CiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjpp
bml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICAgICBzZW5kVXNlckNoYW5nZU5vdGlmaWNhdGlvbnMo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5tbQppbmRleCA1MWM2YWI0Yzc3NzlhNGI0ZTA0MDExZTE5MmI0
NjE1OTBmYjlkZmQ4Li4xM2M4ZGVmNWUxYTQwZjc5MzQ0NGUwY2YyNzNmYmQ0ZWRhZTllNDg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50Lm1tCkBAIC0xMzYsNyArMTM2LDYgQEAgKyAodm9pZClpbml0aWFsaXpl
CiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFk
aW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQo
KTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRpZgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCA0NjBjOWEyNjdjYWExMmJjOTg5YzJmYjQyOGRm
NGZhYTIwYjc0ZThkLi4yZTM1Mzc1NTY4MWYzOTVkMzljYzY5MWY3Y2M3MGU1ZTViMDA5NDg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMjM1MSw3ICsyMzUxLDYgQEAgKyAodm9p
ZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vz
c01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNl
bmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJB
cmNoaXZlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1t
CmluZGV4IDBmNWIxYWQ5OTViZjAwNGJlN2E5ZTZjZTYzZjYyNmMxMTFlZTU0Y2QuLjBkYTcwYmJm
ODU3ZDAyOGM5ZWM0YmFkNmViMzFmOWQ4Mzc1MTcxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0KQEAgLTY5LDcgKzY5LDYgQEAgKyAodm9pZClp
bml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01h
aW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRp
ZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNl
Lm1tCmluZGV4IDliYmNmZmY2ZWVhYzU5MGE0ODQ2OTUxYjNjZjY2NzU1YTZkNWE2MTMuLjEwMjlj
MWRkMWNiMjNhMmY4NTY3ODIxZGJkYWM3YWFmZjNmOTY2MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0KQEAgLTE1Myw3ICsxNTMsNiBA
QCArICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2ViRGF0YVNvdXJjZSBjbGFz
c10pIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgSlNDOjppbml0aWFsaXpl
VGhyZWFkaW5nKCk7Ci0gICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NN
YWluVGhyZWFkKCk7CiAgICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwog
I2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJIVE1MVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KaW5kZXggMzQ3ODI2YWYyMGFlMGFkZGNhNzUxYTkxMmYwMzM1ZjBkZGVkMjk1YS4u
YmM3NzRkNzY1NjE2YTVhOGM0YTMwMjkxNWRhNzliYjM1MzkzYjAzNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0xMDMzLDcgKzEwMzMs
NiBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICAvLyBBbmQgc29tZSBvZiB0aGlzIHdvcmsgaXMg
bGlrZWx5IHJlZHVuZGFudCBzaW5jZSArW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdIGlzIGd1YXJh
bnRlZWQgdG8gcnVuIGZpcnN0LgogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKIAogICAgIGlmICghb2xkU2V0Q3Vyc29y
Rm9yTW91c2VMb2NhdGlvbklNUCkgewpAQCAtMjU4NCw3ICsyNTgzLDYgQEAgKyAodm9pZClpbml0
aWFsaXplCiAgICAgW05TQXBwIHJlZ2lzdGVyU2VydmljZXNNZW51U2VuZFR5cGVzOltbc2VsZiBj
bGFzc10gX3NlbGVjdGlvblBhc3RlYm9hcmRUeXBlc10gcmV0dXJuVHlwZXM6W1tzZWxmIGNsYXNz
XSBfaW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlc11dOwogCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJl
YWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXgg
OTQwZGUzNjAyYjBjODExODFlNzU4YmIzYTIwMGU5NDE2NGZmMDAzYi4uOTIwYzQ1YzM4OGY5ZjU0
YWRmNzUwOWQ2NmJlNWNhMjdlYzUxNjExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC0zODcsNyArMzg3LDYgQEAgKyAodm9p
ZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vz
c01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICAg
ICBib29sIGF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IE1hY0FwcGxpY2F0aW9uOjppc0FwcGxl
TWFpbCgpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUmVzb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJl
c291cmNlLm1tCmluZGV4IDY2ZmE2Zjg4NjIyMGRiOGI3NDRlMzBiMDMxMjljMmQ1OWU3NGM3OTgu
LjgyNmE0Mzg2NjQ4Nzc2YWJiZjNiZGE4MGFhOTE0MjFiZTg0OWRiZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUmVzb3VyY2UubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQpAQCAtNjgsNyArNjgsNiBA
QCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFk
VG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9v
cCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlRleHRJdGVyYXRvci5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVGV4dEl0ZXJhdG9yLm1tCmluZGV4IGUzNjNiODViMmIzZDVhZTE0NzNjODM3MjcxODU4MzRk
NTE3ODdiMTQuLjQ3NmI4NzEwYTI2ZjYwODc3OTA0Njc4OTc2YzQzNGRmMWMxMThkY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1t
CkBAIC00Nyw3ICs0Nyw2IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA2MWRiYzkzYjk5MzVmMzhiOWFiYjVkYzM0MmM0ODJl
OWQzNGE3OTkzLi5jZWQ1ZDhkNTc3ZDdjMDRlNTYxMDZkZTliMGFlNGEwNTdmMTdiMWIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC01NDEyLDcgKzU0
MTIsNiBAQCArICh2b2lkKWluaXRpYWxpemUKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5U
aHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5S
dW5Mb29wKCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3RGF0YS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlld0RhdGEubW0KaW5kZXggODIzOGE0ZWM1ZmVlMTY4MzY0ZWQxMzA0YmM3NTE1ZjU1MTdm
ZTg5My4uYzNmY2MzMGQ2MTY1MzZiZjJmNGRhZDQzN2I4ZmZmOWE1MThiM2JiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCkBAIC0xNjgsNyAr
MTY4LDYgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFp
blRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
blJ1bkxvb3AoKTsKICNlbmRpZgogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381026</attachid>
            <date>2019-10-15 14:54:55 -0700</date>
            <delta_ts>2019-10-15 15:44:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203001-20191015145454.patch</filename>
            <type>text/plain</type>
            <size>28077</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdmMmFiMzFiNjgyMGY4YWJhNjBkMzlk
Y2YxM2U0NzI5MDY2YzMxMGYuLjAwNDc1NGMzZjYwM2QyZjg2MjRkNjc4NTRkYjIyM2VjNjZiZWI1
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNpbXBsaWZ5IG1haW4gdGhyZWFkIGluaXRp
YWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDMwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KKworICAgICAgICBT
aW1wbGlmeSBtYWluIHRocmVhZCBpbml0aWFsaXphdGlvbiBvbiBtYWNPUyBieSBhbHdheXMgdXNp
bmcgcHRocmVhZCBtYWluIGFzIG1haW4gdGhyZWFkLgorICAgICAgICBUaGUgY29tcGxleGl0eSBp
cyBub3cgaXNvbGF0ZWQgdG8gdGhlIFVTRShXRUJfVEhSRUFEKSBjb2RlIHBhdGguCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBhbHNvIGFkZHMgYSBkZWJ1ZyBhc3NlcnRpb24gaW4gV1RGOjppbml0aWFs
aXplV2ViVGhyZWFkUGxhdGZvcm0oKSB0byBtYWtlIHN1cmUKKyAgICAgICAgaXQgZ2V0cyBjYWxs
ZWQgb24gdGhlIGFjdHVhbCBtYWluIHRocmVhZC4gSW4gcmVsZWFzZSwgaXQgd2lsbCBsb2cgYSBm
YXVsdCBtZXNzYWdlIGluZGljYXRpbmcKKyAgICAgICAgaXQgd2FzIGNhbGxlZCBvbiB0aGUgd3Jv
bmcgdGhyZWFkLgorCisgICAgICAgICogd3RmL01haW5UaHJlYWQuY3BwOgorICAgICAgICAqIHd0
Zi9NYWluVGhyZWFkLmg6CisgICAgICAgICogd3RmL1JlZkNvdW50ZWQuaDoKKyAgICAgICAgKFdU
Rjo6UmVmQ291bnRlZEJhc2U6OlJlZkNvdW50ZWRCYXNlKToKKyAgICAgICAgKFdURjo6UmVmQ291
bnRlZEJhc2U6OmFwcGx5UmVmRGVyZWZUaHJlYWRpbmdDaGVjayBjb25zdCk6CisgICAgICAgICog
d3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWRQbGF0Zm9ybSk6CisgICAgICAgIChXVEY6OnNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlv
bnNPbk1haW5UaHJlYWQpOgorICAgICAgICAoV1RGOjppbml0aWFsaXplV2ViVGhyZWFkUGxhdGZv
cm0pOgorICAgICAgICAoV1RGOjpjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQpOgor
ICAgICAgICAoV1RGOjppc01haW5UaHJlYWQpOgorICAgICAgICAqIHd0Zi9nZW5lcmljL01haW5U
aHJlYWRHZW5lcmljLmNwcDoKKyAgICAgICAgKiB3dGYvdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3Bw
OgorICAgICAgICAoV1RGOjpTdHJpbmdJbXBsOjpjcmVhdGVDRlN0cmluZyk6CisgICAgICAgICog
d3RmL3dpbi9NYWluVGhyZWFkV2luLmNwcDoKKwogMjAxOS0xMC0xNCAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBVbmlmeSBzb3VyY2VzIGZvciBiaW5k
aW5ncyBtb3JlIGRlbnNlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzYzFmNzAyNWMwNzhiNzMwMTU2MmRlZmQx
NmE1ZGJkNjZiYjJiYjBiLi5lMGMxNGE0NGZmNTNhMTdjYjY4MDdkMDQ5NWMxYjVmNmY2ODVjMjJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMTAtMTUgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNpbXBsaWZ5IG1haW4gdGhyZWFk
IGluaXRpYWxpemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDMwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KKworICAg
ICAgICAqIGJyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbToKKyAgICAgICAgKCtbV2ViU2Ny
aXB0T2JqZWN0IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9TaGFyZWRC
dWZmZXJDb2NvYS5tbToKKyAgICAgICAgKCtbV2ViQ29yZVNoYXJlZEJ1ZmZlckRhdGEgaW5pdGlh
bGl6ZV0pOgorCiAyMDE5LTEwLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0YW5jZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVu
dHJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYzU4MTg3NmJjYTUwOTE4ODU5NjFl
OGVmOTg0ZGVkMGI1YjlhMzdlYi4uM2E5ZGIzOWNmZGQ0NGZhNTkxNWVmNDY5NGI4ZWE4ZDc1OGYx
NGQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5
LTEwLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09T
XSBTaW1wbGlmeSBtYWluIHRocmVhZCBpbml0aWFsaXphdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDAxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgR2VvZmYgR2FyZW4uCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5t
bToKKyAgICAgICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGluaXRpYWxpemVdKToKKyAgICAgICAg
KiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAgICAoK1tXZWJIaXN0b3J5SXRlbSBp
bml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2Vi
Q2FjaGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rpb25hcnku
bW06CisgICAgICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAgKiBNaXNjL1dlYlN0cmluZ1Ry
dW5jYXRvci5tbToKKyAgICAgICAgKCtbV2ViU3RyaW5nVHJ1bmNhdG9yIGluaXRpYWxpemVdKToK
KyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW06
CisgICAgICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldyBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAq
IFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAgICAgICgrW1dlYkJhc2VQbHVn
aW5QYWNrYWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAg
ICgrW1dlYlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
ciBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAgICAg
ICAoK1tXZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRhU291cmNlIGluaXRpYWxpemVdKToK
KyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoK1tXZWJIVE1MVmll
d1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tXZWJIVE1MVmlldyBpbml0aWFsaXpl
XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2Vi
UHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVzb3VyY2Uu
bW06CisgICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAg
ICogV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAgICAgICgrW1dlYlRleHRJdGVyYXRv
clByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAg
ICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
RGF0YS5tbToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorCiAyMDE5
LTEwLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0g
SGF2ZSBXZWJCYWNrRm9yd2FyZENhY2hlIGNsYXNzIGNvb3JkaW5hdGUgcGFnZSBjYWNoaW5nIGlu
IGFsbCBXZWJQcm9jZXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQu
Y3BwIGIvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAKaW5kZXggOWU5OTQzZGVhMTgwODUw
MGY4NzMwMmU5ODdmYzE1ZjM4MTc4NzA4ZC4uYmM4Y2ZjNzcwOTM2ZWJlZDZiZjRlMjE3ODJmMzNj
NDZkYzk3NDUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAKQEAgLTYxLDI2ICs2MSw2IEBAIHZvaWQg
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKQogICAgIH0pOwogfQogCi0jaWYgUExBVEZPUk0oQ09DT0Ep
Ci0jaWYgIVVTRShXRUJfVEhSRUFEKQotdm9pZCBpbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vz
c01haW5UaHJlYWQoKQotewotICAgIHN0ZDo6Y2FsbF9vbmNlKGluaXRpYWxpemVLZXksIFtdIHsK
LSAgICAgICAgaW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgICAgICBpbml0aWFsaXplTWFpblRo
cmVhZFRvUHJvY2Vzc01haW5UaHJlYWRQbGF0Zm9ybSgpOwotICAgIH0pOwotfQotI2Vsc2UKLXZv
aWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpCi17Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGlu
aXRpYWxpemVLZXk7Ci0gICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10gewotICAg
ICAgICBpbml0aWFsaXplV2ViVGhyZWFkUGxhdGZvcm0oKTsKLSAgICB9KTsKLX0KLSNlbmRpZiAv
LyAhVVNFKFdFQl9USFJFQUQpCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCi0KICNpZiAhVVNF
KFdFQl9USFJFQUQpCiBib29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChUaHJl
YWQmIHRocmVhZCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaCBi
L1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaAppbmRleCA3ODVhZWZiYzhlNGI2ODNlMGUyMWZl
MjlmN2U5YWVhMjgxMTBlMDJjLi45YzNmNzlmMTExMmM1NGE1OTUwZjBhM2U4YjI5YzU1YWZhNzQx
NTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmgKKysrIGIvU291cmNl
L1dURi93dGYvTWFpblRocmVhZC5oCkBAIC01Myw4ICs1Myw2IEBAIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIGNhbGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRocmVhZCh2b2lkIChe
YmxvY2spCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRNYWluVGhyZWFkQ2FsbGJhY2tzUGF1
c2VkKGJvb2wgcGF1c2VkKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNNYWluVGhyZWFk
KCk7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCk7
Ci1XVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5UaHJlYWRJbml0aWFsaXplZCgpOwogCiBX
VEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQo
VGhyZWFkJik7CiAKQEAgLTY3LDcgKzY1LDYgQEAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNX
ZWJUaHJlYWQoKTsKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzVUlUaHJlYWQoKTsKIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIGluaXRpYWxpemVXZWJUaHJlYWQoKTsKIFdURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIGluaXRpYWxpemVBcHBsaWNhdGlvblVJVGhyZWFkKCk7Ci12b2lkIGluaXRpYWxp
emVXZWJUaHJlYWRQbGF0Zm9ybSgpOwogI2Vsc2UKIGlubGluZSBib29sIGlzV2ViVGhyZWFkKCkg
eyByZXR1cm4gaXNNYWluVGhyZWFkKCk7IH0KIGlubGluZSBib29sIGlzVUlUaHJlYWQoKSB7IHJl
dHVybiBpc01haW5UaHJlYWQoKTsgfQpAQCAtODAsMTYgKzc3LDYgQEAgdm9pZCBpbml0aWFsaXpl
TWFpblRocmVhZFBsYXRmb3JtKCk7CiB2b2lkIHNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1h
aW5UaHJlYWQoKTsKIHZvaWQgZGlzcGF0Y2hGdW5jdGlvbnNGcm9tTWFpblRocmVhZCgpOwogCi0j
aWYgT1MoREFSV0lOKSAmJiAhVVNFKEdMSUIpCi0jaWYgIVVTRShXRUJfVEhSRUFEKQotLy8gVGhp
cyB2ZXJzaW9uIG9mIGluaXRpYWxpemVNYWluVGhyZWFkIHNldHMgdXAgdGhlIG1haW4gdGhyZWFk
IGFzIGNvcnJlc3BvbmRpbmcKLS8vIHRvIHRoZSBwcm9jZXNzJ3MgbWFpbiB0aHJlYWQsIGFuZCBu
b3QgbmVjZXNzYXJpbHkgdGhlIHRocmVhZCB0aGF0IGNhbGxzIHRoaXMKLS8vIGZ1bmN0aW9uLiBJ
dCBzaG91bGQgb25seSBiZSB1c2VkIGFzIGEgbGVnYWN5IGFpZCBmb3IgTWFjIFdlYktpdC4KLVdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRo
cmVhZCgpOwotI2VuZGlmIC8vICFVU0UoV0VCX1RIUkVBRCkKLXZvaWQgaW5pdGlhbGl6ZU1haW5U
aHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkUGxhdGZvcm0oKTsKLSNlbmRpZgotCiB9IC8vIG5hbWVz
cGFjZSBXVEYKIAogdXNpbmcgV1RGOjpjYWxsT25NYWluVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvUmVmQ291bnRlZC5oIGIvU291cmNlL1dURi93dGYvUmVmQ291bnRlZC5oCmlu
ZGV4IGZjYTVjY2Q2NzE0ODM3MDgzNmJmMzgxNmQ2ZmJhMzcyZjNmMjZkMzIuLjk0MTZlMzcwZTEz
NDkwMzc2YTA3OGY0ZmY0OTcwNzRmZjkyOGI1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1JlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkLmgKQEAgLTkxLDgg
KzkxLDcgQEAgcHJvdGVjdGVkOgogICAgIFJlZkNvdW50ZWRCYXNlKCkKICAgICAgICAgOiBtX3Jl
ZkNvdW50KDEpCiAjaWYgIUFTU0VSVF9ESVNBQkxFRAotICAgICAgICAsIG1faXNPd25lZEJ5TWFp
blRocmVhZChpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCkpCi0gICAgICAgICwgbV9hcmVUaHJl
YWRpbmdDaGVja3NFbmFibGVkKGlzTWFpblRocmVhZEluaXRpYWxpemVkKCkpCisgICAgICAgICwg
bV9pc093bmVkQnlNYWluVGhyZWFkKGlzTWFpblRocmVhZCgpKQogI2VuZGlmCiAjaWYgQ0hFQ0tf
UkVGX0NPVU5URURfTElGRUNZQ0xFCiAgICAgICAgICwgbV9kZWxldGlvbkhhc0JlZ3VuKGZhbHNl
KQpAQCAtMTA2LDcgKzEwNSw3IEBAIHByb3RlY3RlZDoKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAg
ICAgICAgIGlmIChoYXNPbmVSZWYoKSkgewogICAgICAgICAgICAgLy8gTGlrZWx5IGFuIG93bmVy
c2hpcCB0cmFuc2ZlciBhY3Jvc3MgdGhyZWFkcyB0aGF0IG1heSBiZSBzYWZlLgotICAgICAgICAg
ICAgbV9pc093bmVkQnlNYWluVGhyZWFkID0gaXNNYWluVGhyZWFkSWZJbml0aWFsaXplZCgpOwor
ICAgICAgICAgICAgbV9pc093bmVkQnlNYWluVGhyZWFkID0gaXNNYWluVGhyZWFkKCk7CiAgICAg
ICAgIH0gZWxzZSBpZiAoYXJlVGhyZWFkaW5nQ2hlY2tzRW5hYmxlZEdsb2JhbGx5ICYmIG1fYXJl
VGhyZWFkaW5nQ2hlY2tzRW5hYmxlZCkgewogICAgICAgICAgICAgLy8gSWYgeW91IGhpdCB0aGlz
IGFzc2VydGlvbiwgaXQgbWVhbnMgdGhhdCB0aGUgUmVmQ291bnRlZCBvYmplY3Qgd2FzIHJlZi9k
ZXJlZidkCiAgICAgICAgICAgICAvLyBmcm9tIGJvdGggdGhlIG1haW4gdGhyZWFkIGFuZCBhbm90
aGVyIGluIGEgd2F5IHRoYXQgaXMgbGlrZWx5IGNvbmN1cnJlbnQgYW5kIHVuc2FmZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbSBiL1NvdXJjZS9X
VEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQppbmRleCA1OGI2ZjkxYTE2YTJmNjI1ZWU1
NTg5ZGEyNTFkOGNiZDcwZDg3MzJjLi4yN2ViMDBkYmExMDliYTFmYTUwMGQ1N2NiYjVmMzE0NWI3
ZTIxMjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCkBAIC01Niw0
OSArNTYsMzggQEAgLSAodm9pZCljYWxsCiAKIEBlbmQKIAorI2RlZmluZSBMT0dfQ0hBTk5FTF9Q
UkVGSVggTG9nCisKIG5hbWVzcGFjZSBXVEYgewogCisjaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQK
K1dURkxvZ0NoYW5uZWwgTG9nVGhyZWFkaW5nID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAi
VGhyZWFkaW5nIiwgV1RGTG9nTGV2ZWw6OkVycm9yIH07CisjZWxzZQorV1RGTG9nQ2hhbm5lbCBM
b2dUaHJlYWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJUaHJlYWRpbmciLCBXVEZM
b2dMZXZlbDo6RXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0sIE9TX0xPR19ERUZB
VUxUIH07CisjZW5kaWYKKworCiBzdGF0aWMgSlNXVEZNYWluVGhyZWFkQ2FsbGVyKiBzdGF0aWNN
YWluVGhyZWFkQ2FsbGVyOwogc3RhdGljIGJvb2wgaXNUaW1lclBvc3RlZDsgLy8gVGhpcyBpcyBv
bmx5IGFjY2Vzc2VkIG9uIHRoZSBtYWluIHRocmVhZC4KLXN0YXRpYyBib29sIG1haW5UaHJlYWRF
c3RhYmxpc2hlZEFzUHRocmVhZE1haW4geyBmYWxzZSB9OworCisjaWYgVVNFKFdFQl9USFJFQUQp
CisvLyBXaGVuIHRoZSBXZWIgdGhyZWFkIGlzIGVuYWJsZWQsIHdlIGNvbnNpZGVyIGl0IHRvIGJl
IHRoZSBtYWluIHRocmVhZCwgbm90IHB0aHJlYWQgbWFpbi4KIHN0YXRpYyBwdGhyZWFkX3QgbWFp
blRocmVhZFB0aHJlYWQgeyBudWxscHRyIH07CiBzdGF0aWMgTlNUaHJlYWQqIG1haW5UaHJlYWRO
U1RocmVhZCB7IG51bGxwdHIgfTsKIAotI2lmIFVTRShXRUJfVEhSRUFEKQogc3RhdGljIFRocmVh
ZCogc0FwcGxpY2F0aW9uVUlUaHJlYWQ7CiBzdGF0aWMgVGhyZWFkKiBzV2ViVGhyZWFkOwogI2Vu
ZGlmCiAKIHZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRQbGF0Zm9ybSgpCi17Ci0gICAgQVNTRVJU
KCFzdGF0aWNNYWluVGhyZWFkQ2FsbGVyKTsKLSAgICBzdGF0aWNNYWluVGhyZWFkQ2FsbGVyID0g
W1tKU1dURk1haW5UaHJlYWRDYWxsZXIgYWxsb2NdIGluaXRdOwotCi0jaWYgIVVTRShXRUJfVEhS
RUFEKQotICAgIG1haW5UaHJlYWRFc3RhYmxpc2hlZEFzUHRocmVhZE1haW4gPSBmYWxzZTsKLSAg
ICBtYWluVGhyZWFkUHRocmVhZCA9IHB0aHJlYWRfc2VsZigpOwotICAgIG1haW5UaHJlYWROU1Ro
cmVhZCA9IFtOU1RocmVhZCBjdXJyZW50VGhyZWFkXTsKLSNlbHNlCi0gICAgbWFpblRocmVhZEVz
dGFibGlzaGVkQXNQdGhyZWFkTWFpbiA9IHRydWU7Ci0gICAgQVNTRVJUKCFtYWluVGhyZWFkUHRo
cmVhZCk7Ci0gICAgQVNTRVJUKCFtYWluVGhyZWFkTlNUaHJlYWQpOwotI2VuZGlmCi19Ci0KLSNp
ZiAhVVNFKFdFQl9USFJFQUQpCi12b2lkIGluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFp
blRocmVhZFBsYXRmb3JtKCkKIHsKICAgICBpZiAoIXB0aHJlYWRfbWFpbl9ucCgpKQotICAgICAg
ICBOU0xvZyhAIldlYktpdCBUaHJlYWRpbmcgVmlvbGF0aW9uIC0gaW5pdGlhbCB1c2Ugb2YgV2Vi
S2l0IGZyb20gYSBzZWNvbmRhcnkgdGhyZWFkLiIpOworICAgICAgICBSRUxFQVNFX0xPR19GQVVM
VChUaHJlYWRpbmcsICJXZWJLaXQgVGhyZWFkaW5nIFZpb2xhdGlvbiAtIGluaXRpYWwgdXNlIG9m
IFdlYktpdCBmcm9tIGEgc2Vjb25kYXJ5IHRocmVhZC4iKTsKKyAgICBBU1NFUlQocHRocmVhZF9t
YWluX25wKCkpOwogCiAgICAgQVNTRVJUKCFzdGF0aWNNYWluVGhyZWFkQ2FsbGVyKTsKICAgICBz
dGF0aWNNYWluVGhyZWFkQ2FsbGVyID0gW1tKU1dURk1haW5UaHJlYWRDYWxsZXIgYWxsb2NdIGlu
aXRdOwotCi0gICAgbWFpblRocmVhZEVzdGFibGlzaGVkQXNQdGhyZWFkTWFpbiA9IHRydWU7Ci0g
ICAgbWFpblRocmVhZFB0aHJlYWQgPSAwOwotICAgIG1haW5UaHJlYWROU1RocmVhZCA9IG5pbDsK
IH0KLSNlbmRpZiAvLyAhVVNFKFdFQl9USFJFQUQpCiAKIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQo
Q0ZSdW5Mb29wVGltZXJSZWYgdGltZXIsIHZvaWQqKQogewpAQCAtMTI0LDIwICsxMTMsMjUgQEAg
c3RhdGljIHZvaWQgcG9zdFRpbWVyKCkKIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09u
TWFpblRocmVhZCgpCiB7CiAgICAgQVNTRVJUKHN0YXRpY01haW5UaHJlYWRDYWxsZXIpOwotCisg
ICAgCisjaWYgVVNFKFdFQl9USFJFQUQpCiAgICAgaWYgKGlzV2ViVGhyZWFkKCkpIHsKICAgICAg
ICAgcG9zdFRpbWVyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgaWYgKG1h
aW5UaHJlYWRFc3RhYmxpc2hlZEFzUHRocmVhZE1haW4pIHsKLSAgICAgICAgQVNTRVJUKCFtYWlu
VGhyZWFkTlNUaHJlYWQpOwotICAgICAgICBbc3RhdGljTWFpblRocmVhZENhbGxlciBwZXJmb3Jt
U2VsZWN0b3JPbk1haW5UaHJlYWQ6QHNlbGVjdG9yKGNhbGwpIHdpdGhPYmplY3Q6bmlsIHdhaXRV
bnRpbERvbmU6Tk9dOworCisgICAgaWYgKG1haW5UaHJlYWRQdGhyZWFkKSB7CisgICAgICAgIFtz
dGF0aWNNYWluVGhyZWFkQ2FsbGVyIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoY2FsbCkgb25U
aHJlYWQ6bWFpblRocmVhZE5TVGhyZWFkIHdpdGhPYmplY3Q6bmlsIHdhaXRVbnRpbERvbmU6Tk9d
OworICAgICAgICByZXR1cm47CisgICAgfQorI2Vsc2UKKyAgICBpZiAoaXNNYWluVGhyZWFkKCkp
IHsKKyAgICAgICAgcG9zdFRpbWVyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisjZW5kaWYK
IAotICAgIEFTU0VSVChtYWluVGhyZWFkTlNUaHJlYWQpOwotICAgIFtzdGF0aWNNYWluVGhyZWFk
Q2FsbGVyIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoY2FsbCkgb25UaHJlYWQ6bWFpblRocmVh
ZE5TVGhyZWFkIHdpdGhPYmplY3Q6bmlsIHdhaXRVbnRpbERvbmU6Tk9dOworICAgIFtzdGF0aWNN
YWluVGhyZWFkQ2FsbGVyIHBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZDpAc2VsZWN0b3IoY2Fs
bCkgd2l0aE9iamVjdDpuaWwgd2FpdFVudGlsRG9uZTpOT107CiB9CiAKIHZvaWQgZGlzcGF0Y2hB
c3luY09uTWFpblRocmVhZFdpdGhXZWJUaHJlYWRMb2NrSWZOZWVkZWQodm9pZCAoXmJsb2NrKSgp
KQpAQCAtMTY2LDYgKzE2MCw3IEBAIHZvaWQgY2FsbE9uV2ViVGhyZWFkT3JEaXNwYXRjaEFzeW5j
T25NYWluVGhyZWFkKHZvaWQgKF5ibG9jaykoKSkKIH0KIAogI2lmIFVTRShXRUJfVEhSRUFEKQor
CiBzdGF0aWMgYm9vbCB3ZWJUaHJlYWRJc1VuaW5pdGlhbGl6ZWRPckxvY2tlZE9yRGlzYWJsZWQo
KQogewogICAgIHJldHVybiAhV2ViQ29yZVdlYlRocmVhZElzTG9ja2VkT3JEaXNhYmxlZCB8fCBX
ZWJDb3JlV2ViVGhyZWFkSXNMb2NrZWRPckRpc2FibGVkKCk7CkBAIC0xNzYsMTYgKzE3MSw2IEBA
IGJvb2wgaXNNYWluVGhyZWFkKCkKICAgICByZXR1cm4gKGlzV2ViVGhyZWFkKCkgfHwgcHRocmVh
ZF9tYWluX25wKCkpICYmIHdlYlRocmVhZElzVW5pbml0aWFsaXplZE9yTG9ja2VkT3JEaXNhYmxl
ZCgpOwogfQogCi1ib29sIGlzTWFpblRocmVhZElmSW5pdGlhbGl6ZWQoKQotewotICAgIHJldHVy
biBpc01haW5UaHJlYWQoKTsKLX0KLQotYm9vbCBpc01haW5UaHJlYWRJbml0aWFsaXplZCgpCi17
Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgaXNVSVRocmVhZCgpCiB7CiAgICAgcmV0dXJu
IHB0aHJlYWRfbWFpbl9ucCgpOwpAQCAtMjAzLDE1ICsxODgsMTUgQEAgdm9pZCBpbml0aWFsaXpl
QXBwbGljYXRpb25VSVRocmVhZCgpCiAgICAgc0FwcGxpY2F0aW9uVUlUaHJlYWQgPSAmVGhyZWFk
OjpjdXJyZW50KCk7CiB9CiAKLXZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZFBsYXRmb3JtKCkKK3Zv
aWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpCiB7Ci0gICAgQVNTRVJUKCFwdGhyZWFkX21haW5fbnAo
KSk7Ci0KLSAgICBtYWluVGhyZWFkRXN0YWJsaXNoZWRBc1B0aHJlYWRNYWluID0gZmFsc2U7Ci0g
ICAgbWFpblRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKLSAgICBtYWluVGhyZWFkTlNU
aHJlYWQgPSBbTlNUaHJlYWQgY3VycmVudFRocmVhZF07Ci0KLSAgICBzV2ViVGhyZWFkID0gJlRo
cmVhZDo6Y3VycmVudCgpOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplS2V5
OworICAgIHN0ZDo6Y2FsbF9vbmNlKGluaXRpYWxpemVLZXksIFtdIHsKKyAgICAgICAgQVNTRVJU
KCFwdGhyZWFkX21haW5fbnAoKSk7CisgICAgICAgIG1haW5UaHJlYWRQdGhyZWFkID0gcHRocmVh
ZF9zZWxmKCk7CisgICAgICAgIG1haW5UaHJlYWROU1RocmVhZCA9IFtOU1RocmVhZCBjdXJyZW50
VGhyZWFkXTsKKyAgICAgICAgc1dlYlRocmVhZCA9ICZUaHJlYWQ6OmN1cnJlbnQoKTsKKyAgICB9
KTsKIH0KIAogYm9vbCBjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQoVGhyZWFkJiB0
aHJlYWQpCkBAIC0yMjUsMjggKzIxMCwxMiBAQCBib29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0
YUZvclRocmVhZChUaHJlYWQmIHRocmVhZCkKIAogICAgIHJldHVybiBmYWxzZTsKIH0KLSNlbHNl
Ci1ib29sIGlzTWFpblRocmVhZCgpCi17Ci0gICAgaWYgKG1haW5UaHJlYWRFc3RhYmxpc2hlZEFz
UHRocmVhZE1haW4pIHsKLSAgICAgICAgQVNTRVJUKCFtYWluVGhyZWFkUHRocmVhZCk7Ci0gICAg
ICAgIHJldHVybiBwdGhyZWFkX21haW5fbnAoKTsKLSAgICB9Ci0KLSAgICBBU1NFUlQobWFpblRo
cmVhZFB0aHJlYWQpOwotICAgIHJldHVybiBwdGhyZWFkX2VxdWFsKHB0aHJlYWRfc2VsZigpLCBt
YWluVGhyZWFkUHRocmVhZCk7Ci19CiAKLWJvb2wgaXNNYWluVGhyZWFkSWZJbml0aWFsaXplZCgp
Ci17Ci0gICAgaWYgKG1haW5UaHJlYWRFc3RhYmxpc2hlZEFzUHRocmVhZE1haW4pCi0gICAgICAg
IHJldHVybiBwdGhyZWFkX21haW5fbnAoKTsKLSAgICByZXR1cm4gcHRocmVhZF9lcXVhbChwdGhy
ZWFkX3NlbGYoKSwgbWFpblRocmVhZFB0aHJlYWQpOwotfQorI2Vsc2UKIAotYm9vbCBpc01haW5U
aHJlYWRJbml0aWFsaXplZCgpCitib29sIGlzTWFpblRocmVhZCgpCiB7Ci0gICAgcmV0dXJuIG1h
aW5UaHJlYWRFc3RhYmxpc2hlZEFzUHRocmVhZE1haW4gfHwgbWFpblRocmVhZFB0aHJlYWQ7Cisg
ICAgcmV0dXJuIHB0aHJlYWRfbWFpbl9ucCgpOwogfQogCiAjZW5kaWYgLy8gVVNFKFdFQl9USFJF
QUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL01haW5UaHJlYWRHZW5lcmlj
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3BwCmluZGV4
IDg4YmYxOGY1OTY4OGFiY2Q0NTZmODY0NDkzZGU1NTc0MDJjNmQ0NWIuLjY0MDYwYzQyNmYzMWJi
NzY2ZDAyNzgzNWEyMzFkZDM3ZjFhMDRiMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dl
bmVyaWMvTWFpblRocmVhZEdlbmVyaWMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMv
TWFpblRocmVhZEdlbmVyaWMuY3BwCkBAIC04OSwxNiArODksNiBAQCBib29sIGlzTWFpblRocmVh
ZCgpCiAjZW5kaWYKIH0KIAotYm9vbCBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCkKLXsKLSAg
ICByZXR1cm4gaXNNYWluVGhyZWFkKCk7Ci19Ci0KLWJvb2wgaXNNYWluVGhyZWFkSW5pdGlhbGl6
ZWQoKQotewotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIHNjaGVkdWxlRGlzcGF0Y2hGdW5j
dGlvbnNPbk1haW5UaHJlYWQoKQogewogICAgIC8vIFVzZSBhIFJ1bkxvb3A6OlRpbWVyIGluc3Rl
YWQgb2YgUnVuTG9vcDo6ZGlzcGF0Y2goKSB0byBiZSBhYmxlIHRvIHVzZSBhIGRpZmZlcmVudCBw
cmlvcml0eSBhbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvU3RyaW5nSW1w
bENGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcAppbmRleCBj
MzAwM2FiZjIzMjIxODJkOGNlZmQ2ZGRiYTRkYmRlMDU2ZTM1NGIyLi41M2Y0OTgzODNmYWM4OWNk
MDA0MTMxY2ZiYzA2MjQyNTYxNzg5Y2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L2NmL1N0cmluZ0ltcGxDRi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9jZi9TdHJpbmdJ
bXBsQ0YuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFN0cmluZ1dyYXBwZXJDRkFs
bG9jYXRvciB7CiAKIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gU3RyaW5nSW1wbDo6Y3JlYXRlQ0ZT
dHJpbmcoKQogewotICAgIGlmICghbV9sZW5ndGggfHwgIWlzTWFpblRocmVhZElmSW5pdGlhbGl6
ZWQoKSkgeworICAgIGlmICghbV9sZW5ndGggfHwgIWlzTWFpblRocmVhZCgpKSB7CiAgICAgICAg
IGlmIChpczhCaXQoKSkKICAgICAgICAgICAgIHJldHVybiBhZG9wdENGKENGU3RyaW5nQ3JlYXRl
V2l0aEJ5dGVzKDAsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUludDgqPihjaGFyYWN0ZXJzOCgp
KSwgbV9sZW5ndGgsIGtDRlN0cmluZ0VuY29kaW5nSVNPTGF0aW4xLCBmYWxzZSkpOwogICAgICAg
ICByZXR1cm4gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgVW5pQ2hhcio+KGNoYXJhY3RlcnMxNigpKSwgbV9sZW5ndGgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9NYWluVGhyZWFkV2luLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL3dpbi9NYWluVGhyZWFkV2luLmNwcAppbmRleCAyNmNjMWY1MGYzN2NlMzVjY2EyOTY4
NTZiODQzMTJlMjM5NjY1ZjA5Li5kZmY5NDdlZDkyY2M5NDdkZGNiOWM2ZTFlZmFlNDE1YzZkNTBi
ZjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vTWFpblRocmVhZFdpbi5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvd2luL01haW5UaHJlYWRXaW4uY3BwCkBAIC03NywxNiArNzcsNiBA
QCBib29sIGlzTWFpblRocmVhZCgpCiAgICAgcmV0dXJuIG1haW5UaHJlYWQgPT0gVGhyZWFkOjpj
dXJyZW50SUQoKTsKIH0KIAotYm9vbCBpc01haW5UaHJlYWRJZkluaXRpYWxpemVkKCkKLXsKLSAg
ICByZXR1cm4gaXNNYWluVGhyZWFkKCk7Ci19Ci0KLWJvb2wgaXNNYWluVGhyZWFkSW5pdGlhbGl6
ZWQoKQotewotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIHNjaGVkdWxlRGlzcGF0Y2hGdW5j
dGlvbnNPbk1haW5UaHJlYWQoKQogewogICAgIEFTU0VSVCh0aHJlYWRpbmdXaW5kb3dIYW5kbGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0
Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvV2ViU2NyaXB0T2JqZWN0Lm1tCmluZGV4
IDZhMmZhODAwNzYyOTE3NDliZTdhZGE1ZWQ3MmNhOGIyNDAzNmVhMzUuLjA1MDhlZWFkNTMxNjEx
OGMzNGYzMjFmOWQyZmZkZjRkOGVmZjE5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
b2JqYy9XZWJTY3JpcHRPYmplY3QubW0KQEAgLTE2Nyw3ICsxNjcsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKIHsKICNpZiAhVVNFKFdFQl9USFJFQUQpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFk
aW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQo
KTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2hhcmVkQnVmZmVyQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbQppbmRl
eCA0NzhkMTkwNTBlYmM0Y2M1YjBkYmQxYTY0MWQwYWVkOWUyNmI1ODU0Li5mYWViOGY1M2E4MjIw
YTgxZmJjOWNkMzBkNzEyNzJkNzU5ZTJkZWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbQpAQCAtNDUsNyArNDUsNyBAQCArICh2
b2lkKWluaXRpYWxpemUKIHsKICNpZiAhVVNFKFdFQl9USFJFQUQpCiAgICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01h
aW5UaHJlYWQoKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYgLy8g
IVVTRShXRUJfVEhSRUFEKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0hpc3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1tCmluZGV4IDhlYmJjNDA3ZWU2NTJiODM4YzVk
MjhiNmMwYTIxZWVkM2IyZTMxODIuLmRmNjJkYTk2NmM3OWQzYTYzYTFmZTA2M2IxMDUwMmQ4M2Nm
ODkwN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViQmFj
a0ZvcndhcmRMaXN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2Vi
QmFja0ZvcndhcmRMaXN0Lm1tCkBAIC05OCw3ICs5OCw2IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQog
ewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7
CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCmluZGV4
IDg2ZjlkM2Q0MjIzODQ2YmM5NWNiYzk1NjQ1YTFjYTczMjBhZmUxOWIuLmM3YzAyN2IzNDBkMDBh
YzJmMDJlODc5OGYxNGE2MmFjZTc4NThlZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQpAQCAtMTI1LDcgKzEyNSw2IEBAICsgKHZv
aWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nl
c3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAj
ZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViQ2Fj
aGUubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNhY2hlLm1tCmluZGV4IDUw
MTk0MjMyMjU4YzBhODU5ZTJmMDAyNzZlMGFiMDRkMGM1ZmJhNDMuLmI1MGIyMWM4NWJjZGJmNzI1
OTk0MGM0MzZiMGJlMmUzNjQ0OGZmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL01pc2MvV2ViQ2FjaGUubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJDYWNoZS5tbQpAQCAtNjUsNyArNjUsNiBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQppbmRleCBm
N2MyM2JlZGEzZDU1MzdlNWI4MWJmZWJjYmFmN2VkMGE3ODEyN2Y4Li5iZDIzNjQxNTY1YWE1OGNl
ZjA3ZmJkZDdmMGM0YWUyZTYzODFlNWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KQEAgLTY4LDcgKzY4LDYgQEAgKyAo
dm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJv
Y2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsK
ICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJ
Y29uRGF0YWJhc2UubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRh
YmFzZS5tbQppbmRleCA2YTFlNzhhZmVjNTEzZWY2ZDNlZmMzNTBjZjI4ZDA2NmI5ZmY4NzMzLi5i
MWVlNjU4MmJmNGNkNDYyOTE1YTFmYmUwNGIxYWMwNDhlZmU1MTE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQpAQCAtOTgsNyArOTgsNiBA
QCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6
ZU1haW5SdW5Mb29wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L01pc2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlz
Yy9XZWJTdHJpbmdUcnVuY2F0b3IubW0KaW5kZXggMjY4NTU3OWQ0YjFkN2EwNzU3MGI0MTNkNDVh
ZWI5NTUxNzcwNWQ3OS4uOGQ4MWUwMWRkODBlZjhmYTQ5MWE4MThmYjBmNzMwZjYyN2U4MjE4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJTdHJpbmdUcnVuY2F0
b3IubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJTdHJpbmdUcnVuY2F0
b3IubW0KQEAgLTUxLDcgKzUxLDcgQEAgQGltcGxlbWVudGF0aW9uIFdlYlN0cmluZ1RydW5jYXRv
cgogKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKKyAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiB9CiAKICsgKE5TU3RyaW5nICopY2VudGVy
VHJ1bmNhdGVTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIHRvV2lkdGg6KGZsb2F0KW1heFdpZHRo
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJI
b3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVn
aW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggZWUxOWM1Njdj
MDFmYTE4YzVlOGRjNjFiMDhjODk0ZTUyMDAyZGFjMy4uNjM4MDFlMWNhYmFjYmFhZjEwMWEwMzhh
Y2U1MDUyNmYwM2YxYWZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1
Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmll
dy5tbQpAQCAtMTA3LDcgKzEwNyw2IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9v
cDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKICAgICBzZW5kVXNlckNoYW5nZU5v
dGlmaWNhdGlvbnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdp
bnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBjMTZjNmMyNjZjM2I5
NGVkZTljNDk2ZWI2NjYzODIzMjZkMjk2OTdjLi40Zjg5OWVkZTJjNTIyNzY1MjQxYWE5YWNhYWI2
OWVlYmRhNmFmNjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC03MSw3ICs3MSw2IEBA
IEBpbXBsZW1lbnRhdGlvbiBXZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3CiArICh2b2lkKWluaXRp
YWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluUnVuTG9vcCgpOwogICAgIFdlYktpdDo6c2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRp
b25zKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dl
YkJhc2VQbHVnaW5QYWNrYWdlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9X
ZWJCYXNlUGx1Z2luUGFja2FnZS5tbQppbmRleCAyYzM4ZTA3MDFjNjM4NDA1YzFiODZjZTdmYjZi
YmYwMTAzNDJhMTZhLi43MWU0MzY1NDZhOWNkNDgyYTk1NWEwYTgwYjUwYzk5ZWVkYWYxOTU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5Q
YWNrYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBs
dWdpblBhY2thZ2UubW0KQEAgLTYxLDcgKzYxLDYgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0gICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQppbmRleCAxNjA2NjNlODYxZjcxMGViZmVkMWQ3Njg1NjVkZDIyYTExNGU4ZTFmLi5kZGQ5
ZWNmMzEzZDY3N2ZjM2Y4ZGNjNDUxYzI1MmY0Mzc5MDNjMTY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpA
QCAtMTYzLDcgKzE2Myw2IEBAIEBpbXBsZW1lbnRhdGlvbiBXZWJOZXRzY2FwZVBsdWdpblZpZXcK
ICsgKHZvaWQpaW5pdGlhbGl6ZQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwot
ICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAg
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAgICAgc2VuZFVzZXJDaGFuZ2VOb3Rp
ZmljYXRpb25zKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KaW5kZXggNTFjNmFiNGM3Nzc5YTRiNGUw
NDAxMWUxOTJiNDYxNTkwZmI5ZGZkOC4uMTNjOGRlZjVlMWE0MGY3OTM0NDRlMGNmMjczZmJkNGVk
YWU5ZTQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQpAQCAtMTM2LDcgKzEzNiw2IEBAICsgKHZvaWQp
aW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NN
YWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5k
aWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KaW5kZXggNDYwYzlhMjY3Y2FhMTJiYzk4
OWMyZmI0MjhkZjRmYWEyMGI3NGU4ZC4uMmUzNTM3NTU2ODFmMzk1ZDM5Y2M2OTFmN2NjNzBlNWU1
YjAwOTQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KQEAgLTIzNTEsNyArMjM1MSw2
IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJl
YWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5M
b29wKCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViQXJjaGl2ZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
QXJjaGl2ZS5tbQppbmRleCAwZjViMWFkOTk1YmYwMDRiZTdhOWU2Y2U2M2Y2MjZjMTExZWU1NGNk
Li4wZGE3MGJiZjg1N2QwMjhjOWVjNGJhZDZlYjMxZjlkODM3NTE3MWNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tCkBAIC02OSw3ICs2OSw2IEBA
ICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpT
Qzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRU
b1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29w
KCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViRGF0YVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
RGF0YVNvdXJjZS5tbQppbmRleCA5YmJjZmZmNmVlYWM1OTBhNDg0Njk1MWIzY2Y2Njc1NWE2ZDVh
NjEzLi4xMDI5YzFkZDFjYjIzYTJmODU2NzgyMWRiZGFjN2FhZmYzZjk2NjFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlLm1tCkBAIC0xNTMs
NyArMTUzLDYgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgaWYgKHNlbGYgPT0gW1dlYkRhdGFT
b3VyY2UgY2xhc3NdKSB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAgIEpTQzo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFk
VG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IDM0NzgyNmFmMjBhZTBhZGRjYTc1MWE5MTJmMDMzNWYw
ZGRlZDI5NWEuLmJjNzc0ZDc2NTYxNmE1YThjNGEzMDI5MTVkYTc5YmIzNTM5M2IwMzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtMTAz
Myw3ICsxMDMzLDYgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgLy8gQW5kIHNvbWUgb2YgdGhp
cyB3b3JrIGlzIGxpa2VseSByZWR1bmRhbnQgc2luY2UgK1tXZWJIVE1MVmlldyBpbml0aWFsaXpl
XSBpcyBndWFyYW50ZWVkIHRvIHJ1biBmaXJzdC4KIAogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFk
KCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAKICAgICBpZiAoIW9s
ZFNldEN1cnNvckZvck1vdXNlTG9jYXRpb25JTVApIHsKQEAgLTI1ODQsNyArMjU4Myw2IEBAICsg
KHZvaWQpaW5pdGlhbGl6ZQogICAgIFtOU0FwcCByZWdpc3RlclNlcnZpY2VzTWVudVNlbmRUeXBl
czpbW3NlbGYgY2xhc3NdIF9zZWxlY3Rpb25QYXN0ZWJvYXJkVHlwZXNdIHJldHVyblR5cGVzOltb
c2VsZiBjbGFzc10gX2luc2VydGFibGVQYXN0ZWJvYXJkVHlwZXNdXTsKIAogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nl
c3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCmluZGV4IDk0MGRlMzYwMmIwYzgxMTgxZTc1OGJiM2EyMDBlOTQxNjRmZjAwM2IuLjkyMGM0
NWMzODhmOWY1NGFkZjc1MDlkNjZiZTVjYTI3ZWM1MTYxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzg3LDcgKzM4Nyw2
IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJl
YWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5M
b29wKCk7CiAgICAgYm9vbCBhdHRhY2htZW50RWxlbWVudEVuYWJsZWQgPSBNYWNBcHBsaWNhdGlv
bjo6aXNBcHBsZU1haWwoKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJSZXNvdXJjZS5tbQppbmRleCA2NmZhNmY4ODYyMjBkYjhiNzQ0ZTMwYjAzMTI5YzJk
NTllNzRjNzk4Li44MjZhNDM4NjY0ODc3NmFiYmYzYmRhODBhYTkxNDIxYmU4NDlkYmVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUmVzb3VyY2UubW0KQEAgLTY4
LDcgKzY4LDYgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgV1RGOjppbml0aWFsaXpl
TWFpblRocmVhZFRvUHJvY2Vzc01haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpblJ1bkxvb3AoKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5tbQppbmRleCBlMzYzYjg1YjJiM2Q1YWUxNDczYzgz
NzI3MTg1ODM0ZDUxNzg3YjE0Li40NzZiODcxMGEyNmY2MDg3NzkwNDY3ODk3NmM0MzRkZjFjMTE4
ZGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJ
dGVyYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJ
dGVyYXRvci5tbQpAQCAtNDcsNyArNDcsNiBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNjFkYmM5M2I5OTM1ZjM4YjlhYmI1
ZGMzNDJjNDgyZTlkMzRhNzk5My4uY2VkNWQ4ZDU3N2Q3YzA0ZTU2MTA2ZGU5YjBhZTRhMDU3ZjE3
YjFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
NTQxMiw3ICs1NDEyLDYgQEAgKyAodm9pZClpbml0aWFsaXplCiAKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZCgpOwogICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluUnVuTG9vcCgpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCmluZGV4IDgyMzhhNGVjNWZlZTE2ODM2NGVkMTMwNGJj
NzUxNWY1NTE3ZmU4OTMuLmMzZmNjMzBkNjE2NTM2YmYyZjRkYWQ0MzdiOGZmZjlhNTE4YjNiYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQpA
QCAtMTY4LDcgKzE2OCw2IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NNYWluVGhyZWFkKCk7CiAgICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAjZW5kaWYKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>