<?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>218912</bug_id>
          
          <creation_ts>2020-11-13 10:08:09 -0800</creation_ts>
          <short_desc>[Media In GPU Process][MSE] Add infrastructure needed to run MediaPlayerPrivateMediaSourceAVFObjC in the GPU process</short_desc>
          <delta_ts>2020-11-17 09:26:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>mkwst</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1707293</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-13 10:08:09 -0800</bug_when>
    <thetext>We need to add MediaSourcePrivateRemote/RemoteMediaSourceProxy and SourceBufferPrivateRemote/RemoteSourceBufferProxy and setup the IPC messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707838</commentid>
    <comment_count>1</comment_count>
      <attachid>414238</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 08:57:48 -0800</bug_when>
    <thetext>Created attachment 414238
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707849</commentid>
    <comment_count>2</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 09:26:19 -0800</bug_when>
    <thetext>I need to rebase this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707868</commentid>
    <comment_count>3</comment_count>
      <attachid>414246</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 10:07:11 -0800</bug_when>
    <thetext>Created attachment 414246
Rebased WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707890</commentid>
    <comment_count>4</comment_count>
      <attachid>414253</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 10:41:26 -0800</bug_when>
    <thetext>Created attachment 414253
WIP patch: enable unified build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707893</commentid>
    <comment_count>5</comment_count>
      <attachid>414255</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 10:52:04 -0800</bug_when>
    <thetext>Created attachment 414255
WIP patch: fix WPE build failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707901</commentid>
    <comment_count>6</comment_count>
      <attachid>414258</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 11:04:10 -0800</bug_when>
    <thetext>Created attachment 414258
WIP patch: fix WPE build failures again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707939</commentid>
    <comment_count>7</comment_count>
      <attachid>414265</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 12:11:38 -0800</bug_when>
    <thetext>Created attachment 414265
WIP patch: fix build failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707986</commentid>
    <comment_count>8</comment_count>
      <attachid>414276</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 14:04:39 -0800</bug_when>
    <thetext>Created attachment 414276
WIP patch: fix build failures on WPE and GTK ports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707991</commentid>
    <comment_count>9</comment_count>
      <attachid>414277</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 14:18:00 -0800</bug_when>
    <thetext>Created attachment 414277
WIP patch: fix build failures on WPE and GTK ports (again)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708005</commentid>
    <comment_count>10</comment_count>
      <attachid>414280</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 14:45:47 -0800</bug_when>
    <thetext>Created attachment 414280
WIP patch: fix build failures on WPE and GTK ports</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708022</commentid>
    <comment_count>11</comment_count>
      <attachid>414285</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 15:31:10 -0800</bug_when>
    <thetext>Created attachment 414285
WIP patch: fix build failures on WPE and GTK ports (update WebKit_MESSAGES_IN_FILES in CMakeLists.txt)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708028</commentid>
    <comment_count>12</comment_count>
      <attachid>414286</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 16:04:59 -0800</bug_when>
    <thetext>Created attachment 414286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708054</commentid>
    <comment_count>13</comment_count>
      <attachid>414286</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-11-16 17:00:41 -0800</bug_when>
    <thetext>Comment on attachment 414286
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:-480
&gt; -    m_contentType = contentType;

Is this really not needed if we end up in `nextBestMediaEngine`?

&gt; Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:61
&gt; +    return { };

You could call `notImplemented()` from all of these stub methods.

&gt; Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:62
&gt; +}

Ditto

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:637
&gt; +    if (m_remoteEngineIdentifier == MediaPlayerEnums::MediaEngineIdentifier::AVFoundationMSE) {
&gt; +        auto identifier = RemoteMediaSourceIdentifier::generate();
&gt; +        connection().send(Messages::RemoteMediaPlayerProxy::LoadMediaSource(url, identifier), m_id);
&gt; +        m_mediaSourcePrivate = MediaSourcePrivateRemote::create(m_manager.gpuProcessConnection(), identifier, m_manager.typeCache(m_remoteEngineIdentifier), *this, client);
&gt; +    } else {

You could use an early return here instead of the `else`

&gt; Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:107
&gt; +}

notImplemented()

&gt; Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:85
&gt; +}

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708111</commentid>
    <comment_count>14</comment_count>
      <attachid>414304</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 20:46:52 -0800</bug_when>
    <thetext>Created attachment 414304
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708112</commentid>
    <comment_count>15</comment_count>
      <attachid>414286</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-11-16 20:48:59 -0800</bug_when>
    <thetext>Comment on attachment 414286
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/MediaPlayer.cpp:-480
&gt;&gt; -    m_contentType = contentType;
&gt; 
&gt; Is this really not needed if we end up in `nextBestMediaEngine`?

Hmm, we may need it in that case. To be safe, I added the parameter back and changed MediaPlayerPrivate::load() accordingly.

&gt;&gt; Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:61
&gt;&gt; +    return { };
&gt; 
&gt; You could call `notImplemented()` from all of these stub methods.

Fixed.

&gt;&gt; Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:62
&gt;&gt; +}
&gt; 
&gt; Ditto

Fixed.

&gt;&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:637
&gt;&gt; +    } else {
&gt; 
&gt; You could use an early return here instead of the `else`

Right! Fixed.

&gt;&gt; Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:107
&gt;&gt; +}
&gt; 
&gt; notImplemented()

Fixed.

&gt;&gt; Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:85
&gt;&gt; +}
&gt; 
&gt; Ditto

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708260</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-17 09:25:51 -0800</bug_when>
    <thetext>Committed r269907: &lt;https://trac.webkit.org/changeset/269907&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414304.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708261</commentid>
    <comment_count>17</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-17 09:26:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/71489527&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414238</attachid>
            <date>2020-11-16 08:57:48 -0800</date>
            <delta_ts>2020-11-16 09:26:27 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-218912-20201116085747.patch</filename>
            <type>text/plain</type>
            <size>126262</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU2ZDU3NjQ4YjljYjg0
ZDA0MmM5NjAzMzY3NDQ4YThmODMwYjQ5MC4uZDEzYzU4MzEzMmY0ZGM4ZjJkMmY3MzdmM2YzMGRh
NmUzYjAzYzI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlOjpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKToKKwogMjAyMC0x
MS0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBS
ZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUgdG8gYWRkIHRoZSBzdXBwb3J0IGZvciBBVkZv
dW5kYXRpb25NU0UgbWVkaWEgZW5naW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4ZDE1Y2Y2MjAwMjgyNmQ3Mjdi
MGYwNmNiZmQwMmJhZjEwODA1YmIuLmQzM2RmNmYyNTMzNWJiMzMzOWYzOTc3ZjI0MjFkN2E2YmU0
Y2MwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTggQEAKKzIwMjAtMTEtMTYgIFBlbmcgTGl1ICA8
cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWEgSW4gR1BVIFByb2Nlc3NdW01T
RV0gQWRkIGluZnJhc3RydWN0dXJlIG5lZWRlZCB0byBydW4gTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDIGluIHRoZSBHUFUgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4OTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
U2Vzc2lvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxl
Z2FjeUNETUZhY3RvcnlQcm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bG9hZE1lZGlhU291cmNlKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZU1lZGlhU291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZXRQcml2YXRlQW5kT3Blbik6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YnVmZmVyZWQgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZWVrVG9UaW1lKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6bW9uaXRvclNvdXJjZUJ1ZmZl
cnMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZXRMb2dJZGVu
dGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZmFpbGVk
VG9DcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJv
eHk6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbjogQ29waWVkIGZyb20gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVD
RE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eTo6UmVtb3RlU291cmNlQnVmZmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxl
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZl
clByaXZhdGVIYXNBdWRpbyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzVmlkZW8gY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5x
dWVTYW1wbGVzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0
U2Vla1RpbWVGb3JNZWRpYVRpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNl
aXZlUmVuZGVyaW5nRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTo6YXBwZW5kKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291
cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW46IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmguCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICogV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpsb2FkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQpOiBEZWxldGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6TWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlOjp+TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmR1cmF0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bWFya0VuZE9mU3RyZWFtKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp1bm1hcmtFbmRPZlN0cmVhbSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0ZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2V0UmVhZHlT
dGF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6d2FpdEZv
clNlZWtDb21wbGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGU6OnNlZWtDb21wbGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGU6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmg6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5z
dGFuY2VDb25maWd1cmF0aW9uLmguCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAg
KFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRD
bGllbnQpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBl
bmQpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2Vy
U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1v
dmVkRnJvbU1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6cmVhZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2Vi
S2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2Vi
S2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JN
b3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6
OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVz
ZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6Y2xlYXJNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktp
dDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAg
KFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFw
cGVuZENvbXBsZXRlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29u
ZmlndXJhdGlvbi5oLgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIwLTExLTExICBQZW5nIExpdSAgPHBl
bmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFJlbW90ZU1lZGlhUGxheWVyTUlN
RVR5cGVDYWNoZSB0byBhZGQgdGhlIHN1cHBvcnQgZm9yIEFWRm91bmRhdGlvbk1TRSBtZWRpYSBl
bmdpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4Njk1MjNjNDAxODc1OWVlNzFlMjFlMTNiZDNmYS4u
ZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2VjNmIxOWEzZDczMjRlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTEwODMs
MTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+PiBNZWRp
YVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KIAogICAgIFJlZlB0cjxTb3Vy
Y2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOwogICAgIHN3aXRjaCAobV9wcml2
YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNlQnVmZmVyUHJpdmF0ZSkpIHsKLSAgICBj
YXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6
OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVh
c2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6Ok5vdFN1cHBvcnRlZDoK
KyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ6CiAg
ICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUv
ZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1h
ZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0
ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhhdCBpcyBub3Qgc3VwcG9y
dGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAgIC8vIHNwZWNpZmllZCBmb3IgdGhlIG90aGVyIFNv
dXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKICAgICAgICAg
Ly8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfTsKLSAgICBjYXNl
IE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hlZElkTGltaXQ6CisgICAgY2FzZSBNZWRpYVNvdXJj
ZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQ6CiAgICAgICAgIC8vIDIuMiBodHRw
czovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291
cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAgMzogSWYgdGhlIHVzZXIg
YWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhy
b3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2VlZGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0
aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcAppbmRleCA0MjkyNjhkNzYxNzVlOTMyMDBlYzFmN2YxZDM0ZWQwMTU3
MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEzNGIyZGYzY2RkYjllOTAzNWEzMjE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
CkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVy
RmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBUb3A6IElmIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1w
dHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBtb3JlIGRhdGEgc3RlcCBiZWxvdy4KICAgICBpZiAo
IW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIHNvdXJjZUJ1ZmZlclByaXZh
dGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNjZWVkZWQpOworICAgICAgICBzb3VyY2VCdWZmZXJQ
cml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTgsNyArNjU4LDcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1bHQgcmVzdWx0
KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlucyBieXRlcyB0aGF0IHZp
b2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRlIHN0cmVhbSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwK
ICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5kIGVycm9yIGFsZ29yaXRobSB3aXRoIHRoZSBkZWNv
ZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0cnVlIGFuZCBhYm9ydCB0aGlzIGFsZ29yaXRobS4K
LSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdGYWlsZWQpIHsKKyAgICBpZiAocmVzdWx0ID09IEFw
cGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkgewogICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJ
RklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAgICAgICAgYXBwZW5kRXJyb3IodHJ1ZSk7CiAgICAg
ICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNl
QnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdCByZXN1bHQpCiAKICAgICAv
LyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAzLjUuNQogICAgIC8vIDIuSWYgdGhlIHNlZ21lbnQg
cGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRoZSBwcmV2aW91cyBzdGVwIHdhcyBhYm9ydGVkLCB0
aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kU3VjY2Vl
ZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIC8vIDMuIFNldCB0aGUgdXBkYXRpbmcgYXR0cmlidXRlIHRv
IGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDA4NDQ2ODY4NDFjZjJmMTFjOTg3YTRiZjI0Y2Q4NDljYmFjNmY0ODQuLmMy
YmQ4YjE0MGVkN2JlZmQwNmZkZDAxZGM1ZTY2MWM4NGMwMWI5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQyMTMsOCArNDIx
Myw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIwMDRCRDg2RiAvKiBJU09Qcm90ZWN0aW9uU2NoZW1l
SW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8qIElTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1RkY0
OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09yaWdpbmFsRm9ybWF0Qm94LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg3MUM2NzFGQjUyQjY4MDBGMEI5
NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJp
Y1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlDRDY0MUVCMzE4MThG
NUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0JCUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0
ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0
MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q2NDFFQjQxODE4RjVFRDAw
RUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUIyMTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3RyZWFtaW5n
UHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0Qz
MzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDdEMzM0MjFDN0ExMjNGMDAw
NDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ4MUM3QTE2QkYwMDA0MTI5MyAvKiBD
b3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQyOTEs
NyArNDI5MSw3IEBACiAJCUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
Q0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRENGQUJCRDE4QzBBRjc4
MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUwIC8qIEhpZ2hsaWdodERh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
REQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5RjZGMDAyQjNEQzYgLyog
U2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REQzFF
NzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oICovOyB9Owor
CQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERDMUU3OTE4
QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RERTAyRUQxOEIzRUQ2RDAw
Q0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIzRUQ2RDAwQ0Y3RkYxIC8q
IENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlDRERFMDJGMDE4QjU2NTEz
MDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThCNTY1MTIwMENGN0ZGMSAv
KiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwogCQlDREUzQTg1NDE3RjVGQ0U2
MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZDRTYwMEM1QkUyMCAvKiBBdWRp
b1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZjOGJlNmM4N2EwZjJmZGU4MjJiZDEzMDQwZjJjNi4u
YjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNmZDU0ODg5YTNlYmQ4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNDU3LDcgKzE0NTcsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBVUkwmIGluaXRpYWxVUkwsIENvbnRl
bnRUeXBlJiBjb250ZW50VAogICAgICAgICAgICAgLy8gd2hpbGUgcHJvY2Vzc2luZyByZW1haW5k
ZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAgICAgICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7
CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0
ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmws
IGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNlLmdldCgpKSkgeworICAgICAgICB9IGVsc2UgaWYg
KCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkpKSB7CiAgICAgICAgICAg
ICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUgTWVkaWFTb3VyY2UgYmVmb3JlIHdlIGZvcmdldCB0
aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+ZGV0YWNoRnJv
bUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAgICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAppbmRleCA3YzI3OGE2OGUzODlhZWVlNjJj
NDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4YjkzY2E5YTk1MjgyMjRhZWEyM2M0NDVlOGE0NzU1
YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmgKQEAgLTQ3LDcgKzQ3
LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmF3KCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV90eXBlLmlzRW1wdHko
KTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA3Y2U5
YTA3NDkxZDVhMDQ2ZmEyMzE5YjVjYzhmMTEyNTEzYThkMjhjLi4yZjYxYTkwNDEzMTczY2Y2ZmRi
OTk4NmIwMjNiY2E4OTkzODRkYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
ICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbCB7IH0KQEAgLTQ3MSwxMyAr
NDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENv
bnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyCiB9CiAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29u
dGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291
cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVybCwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKIHsKICAgICBBU1NFUlQoIW1fcmVsb2FkVGltZXIu
aXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1lZGlhU291cmNlKTsKIAogICAgIG1fbWVkaWFTb3Vy
Y2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2NvbnRlbnRUeXBlID0gY29udGVudFR5cGU7CisgICAg
bV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBtX3VybCA9IHVybDsKICAgICBtX2tleVN5c3RlbSA9
IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250ZW50TUlNRVR5cGVXYXNJbmZlcnJlZEZyb21FeHRl
bnNpb24gPSBmYWxzZTsKQEAgLTU3MSw3ICs1NzEsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2Fk
V2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBNZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAg
ICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgICAgIGlm
IChtX21lZGlhU291cmNlKQotICAgICAgICAgICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmlu
ZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsKKyAgICAgICAgICAgIG1fcHJpdmF0ZS0+bG9hZCht
X3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CiAgICAgICAgIGVsc2UKICNlbmRpZgogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaAppbmRleCBjOWY4ZjNjNTZmNzNiZWQwMGUxNWYwMTY4ODMzNTY3NzQwNDc2
OThlLi5kMWRkNGJiMzBiNzllMWZkZDM3ODRmNGExNzdhODg5ODY2YmNmMjlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTMzNSw3ICsz
MzUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVu
dFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSk7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
IGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggN2U5MGNkZGRm
Yzg3MDFiYmNkYTcyZDk0YWU0ZGI4ZjBkYTAxMGRiZi4uMzBiMGNhNTc1NmMzYjg0ZTE0YzFjMjQ1
YzM3ZDg3ZWIyN2FjZmJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYs
IGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwuc3RyaW5nKCkpOyB9CiAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUm
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdmMTRkOGUxOTY2YjgzOTcxODRiZDJiZDg3ZDE3MTc4
MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNjMzQxNzNiNTk0N2U4NmEzMzNhODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0
ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlX2gKLSNkZWZpbmUgTWVkaWFTb3VyY2VQcml2
YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCkBAIC00
OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgTWVkaWFTb3VyY2VQcml2YXRlKCkgPSBkZWZhdWx0
OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVmYXVsdDsKIAotICAgIGVu
dW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElkTGltaXQgfTsKKyAgICBl
bnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBPaywKKyAgICAgICAgTm90
U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVkSWRMaW1pdAorICAgIH07CiAgICAgdmlydHVhbCBB
ZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJj
ZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkdXJhdGlvbkNoYW5nZWQo
KSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05vRXJyb3IsIEVvc05ldHdv
cmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKQEAgLTg4LDcgKzkyLDE1IEBAIHN0cnVjdCBMb2dB
cmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9mU3RyZWFtU3RhdHVzPiB7
CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzLAorICAg
ICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2ssCisgICAgICAg
IFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQsCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpSZWFjaGVkSWRM
aW1pdAorICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCAwMDU2NWE5MWZlYTk4YTY0MThhNDQ2MjBjYmMz
NjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJlYTI0YWFlNjk4ZWUxNWIwNjgxOTE1NDFjMDk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC03MywxMSArNzMsMjggQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1l
ZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVuZFJlc3VsdCB7IEFwcGVuZFN1Y2NlZWRlZCwgUmVh
ZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxlZCB9OworICAgIGVudW0gY2xhc3MgQXBwZW5kUmVz
dWx0IDogdWludDhfdCB7CisgICAgICAgIEFwcGVuZFN1Y2NlZWRlZCwKKyAgICAgICAgUmVhZFN0
cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2luZ0ZhaWxlZAorICAgIH07CiAgICAgdmlydHVhbCB2
b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1bHQpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdF
cnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdD4geworICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQsCisgICAgICAgIFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UmVhZFN0cmVhbUZh
aWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5kZXggYWQ0YmM5MGU4MWIx
YzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5Mi4uNWFiNzEzNzU0NzZjNWYzMDdjZDljNTUzZDhl
ZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmIHVybCkKIH0KIAogI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBzZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5l
dHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDQzOGU0ODRhZGViYzZiYmYyYzIy
YzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJmOGY3NWZhYjQ0NjQ3ODc5NDEzNjc4ZjQ2YWQzMzM0
NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTWVkaWFQ
bGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFjZSBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKGNv
bnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAg
IHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQg
bG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IHNldE5ldHdvcmtTdGF0ZShNZWRp
YVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLmgKaW5kZXggMTEyMjVjZWIzMTIyOTQ3OTFlNGU3NTYwNmM3NDIyY2Q5MmY2ZTU5My4uMmVi
Y2QzOTY0YTY0MDgyNjYxOTI2ZjQ4ZjQzM2NkZTkyNjdlMDlmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPENv
bnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKSBj
b25zdDsKICAgICBib29sIHNob3VsZENoZWNrSGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29uc3QgY2hhciogbG9nQ2xh
c3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQyI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4obV9sb2dJZGVudGlm
aWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IHZvaWQqIG1l
ZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50aWZpZXIoKTsgfQogICAg
IGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVybiBsb2dnZXIoKTsgfQor
I2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0ZSB7CiAgICAgICAgIFNlZWtpbmcsCkBAIC0xNjUs
NyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwotICAg
IHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikg
b3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2Fk
KE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMubW0KaW5kZXggZGI0ZDQzYzVmMGU4N2E3ZmExZjE4MTNkYjkwNDgxZjYzMzIxN2EzMy4u
ZDBiNTVlNTVkNDEzZjJkZTk2M2FlNWQ0ZWZlZGUwZWU4MTlhNzFkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgbV9wbGF5ZXItPm5l
dHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9h
ZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKIHsKICAgICBB
TFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCmluZGV4
IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBiYWRmNDY4Zjg2Y2U0YzkuLmE0ZjRkNDQ2OWY1NjVm
MzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCkBA
IC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikg
b3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3Qg
U3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBs
b2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2Vu
ZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
dHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4
IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0NjE2YTgyYjNjMGU3NjMuLjA5NGNlYjcwN2JmZDIw
Njk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0K
QEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
LXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKGNvbnN0IFN0
cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKQogewogICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkgc3VwcG9ydHMgTWVkaWFT
dHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhpc10gewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCmluZGV4IGUx
ZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEyMDk0OGY2ZGFjZTYuLmRjNDYyMDNiZThmNGQ0NTEw
NGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ19oCi0jZGVm
aW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCkBAIC0xNDksNSArMTQ4LDMg
QEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIFVTRShB
VkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWY0NTNhZThkZGJlODE0NThkMmMwYTVm
ZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNhNzk0ZmEwMTY5ZjljZTBmNmY5MmZlYWI1NDc0ZTMw
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAg
ICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9
IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXllcjo6U3Vw
cG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJuIE5vdFN1cHBvcnRlZDsK
KyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogCiAgICAgYXV0byBwYXJz
ZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlwZSk7CiAgICAgaWYgKCFw
YXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRT
dGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gbmV3U291cmNlQnVmZmVyID0gU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0ZSh0aGlzLCBwYXJzZXIucmVsZWFzZU5vbk51bGwo
KSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTk3LDcgKzk3LDcgQEAgTWVkaWFT
b3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291
cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlS
ZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVy
KSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9CiAKIHZv
aWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1
ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggOTE0OTZkMjQxZmZiNjEwZDk2OTQwNzc1
N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVlZTUxYmRhMTRiOWI1ZjY2MzQxNWI5ODQ2NWI5OWZl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYgQEAKICNpbXBvcnQgIk1lZGlhU2FtcGxlLmgiCiAj
aW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAjaW1wb3J0ICJTaGFyZWRC
dWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclBhcnNlckFWRk9iakMuaCIKICNpbXBvcnQg
IlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKQEAgLTU4Niw3ICs1ODUsNyBAQCB2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQoKQogICAgICAgICBtX21l
ZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9hZGluZ1Byb2dyZXNzc2VkKHRydWUpOwogCiAgICAg
aWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVu
ZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNpbmdGYWls
ZWQpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJl
c3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNw
cAppbmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1MmYxLi5jN2EwZjcx
ZGZlNjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgTW9ja01l
ZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChj
b25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJjZSkKK3ZvaWQgTW9j
a01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBNb2NrTWVk
aWFTb3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRhMjEzOTRmMzc2Yzdm
Mjk2NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1ODQ5NDcyMjA3ZmNk
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKQEAgLTY1LDcg
KzY1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGUgT3Zl
cnJpZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKLSAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92
ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChN
ZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2
YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01l
ZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2FhZmEwMGU3NWJjOGZm
OGZmMWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5ZGYwMmE0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02MywxMiArNjMsMTIgQEAg
TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRk
U291cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0
cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMpID09IE1lZGlhUGxh
eWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICByZXR1cm4gTm90U3Vw
cG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAgICBt
X3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjpjcmVhdGUodGhp
cykpOwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgpOwogCi0gICAgcmV0
dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lkIE1vY2tNZWRpYVNv
dXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBidWZm
ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGY0ZGFkMDM3
MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2ZjQ5MjA0MmQ3YWIx
ZWRmN2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwCkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0
Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZvaWQgTW9ja1NvdXJj
ZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogewog
ICAgIG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBw
ZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dDo6QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6ZSgpICYm
IHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQpIHsK
KyAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09IFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKSB7CiAgICAgICAg
IGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVmZmVyLmRhdGEoKSwg
bV9pbnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVuZ3RoID0gTW9ja0Jv
eDo6cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94TGVuZ3RoID4gYnVm
ZmVyLT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBNb2NrU291cmNlQnVm
ZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiAgICAgICAg
ICAgICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3goYnVmZmVyLnB0cigp
KTsKICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsKICAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpQYXJz
aW5nRmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1faW5wdXRCdWZmZXIu
cmVtb3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJlNDc0NTM0MGQyNjE3
YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlhZTc4NmU3ZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM1
LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lD
RE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
ci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQ
cm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHku
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4ICs5Nyw4IEBAICQo
UFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYklu
c3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCisk
KFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9u
Q29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvTWVk
aWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdlcy5pbgogJChQUk9K
RUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVBy
b3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzYsNiArMTM4LDcg
QEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVB
dWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9u
Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDUmVtb3Rl
Q29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFn
ZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90
ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0lu
c3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dlYlByb2Nl
c3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJy
dXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNw
ZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nl
c3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3NjVhNWFlOGRjMTE3
NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5MzI1NmJjMjQ4ODQ0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlNZXNzYWdlcy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNl
c3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2Jq
ZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJlZ2lz
dHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
ck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApAQCAtMjUxLDYgKzI1
Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NlcnZp
Y2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
U21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJN
ZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0aW9u
U2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlvblNl
cnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVz
c2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzUmVwbGll
cy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNw
ZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lv
bkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxp
ZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXNSZXBsaWVzLmgK
QEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJ
bnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5z
aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1l
c3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
Ykluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSU1lc3Nh
Z2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFiMDFjMTRjMTQxZGNm
NDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdmNDI0YjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBAIE1FU1NBR0VfUkVD
RUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MgXAogCVdl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgXAogCVdlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3Rl
TWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lv
biBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFn
ZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBcCisJ
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCisJV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9y
YWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJy
dXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9
IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvblByb3h5IFwKIAlH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL2lvcy9S
ZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRp
b25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCi0J
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCiAJR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5h
Z2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAorCUdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCiAjCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJz
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJz
LmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1YTFhYy4uOTgwZDY0
MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApAQCAtMjgs
NyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIlNhbmRib3hF
eHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFj
dG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUzMTFmYzJlMTYyNzMz
MTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90ZUxlZ2FjeUNETVNl
c3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRTZXNzaW9uKGNvbnN0
IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2NzRhMWM4MTcxLi43
MDEzNTcwNzgxZjhmNTE3YzgxOGQyMTBkOTI2Y2E2ZTI0NmU5N2YwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
Y3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50
aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNv
dXJjZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVUZXh0VHJhY2tQcm94eS5oIgog
I2luY2x1ZGUgIlJlbW90ZVZpZGVvVHJhY2tQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwxNiBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvYWQoVVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+
JgogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogfQogCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9h
ZE1lZGlhU291cmNlKFVSTCYmIHVybCwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1lZGlh
U291cmNlSWRlbnRpZmllcikKK3sKKyAgICBtX21lZGlhU291cmNlUHJveHkgPSBhZG9wdFJlZigq
bmV3IFJlbW90ZU1lZGlhU291cmNlUHJveHkobWVkaWFTb3VyY2VJZGVudGlmaWVyLCBtX21hbmFn
ZXIuZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpKSk7CisgICAgbV9tYW5hZ2VyLmdwdUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoKS5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbWVkaWFTb3VyY2VJZGVudGlmaWVyLnRvVUludDY0KCksICptX21lZGlhU291cmNlUHJveHkp
OworCisgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlUHJveHkuZ2V0KCkpOwor
fQorI2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2FuY2VsTG9hZCgpCiB7
CiAgICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5zdG9wKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
aAppbmRleCA4NmFhNDJjZWJmZDcwM2UwYzBiZWJjM2VkMGQwZTQxODU1OWE2NjdhLi5jN2IzYzk2
YTVkMzBmM2M0NTYwOTYyYjExZjliZDdmZWFkZGQ4YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTUy
LDYgKzUyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNSW5zdGFuY2VQcm94eS5oIgogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNl
SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHkuaCIKKyNlbmRp
ZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0b3Jh
Z2UuaCIKICNlbmRpZgpAQCAtMTA5LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHByZXBh
cmVGb3JSZW5kZXJpbmcoKTsKIAogICAgIHZvaWQgbG9hZChVUkwmJiwgT3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGNvbnN0
IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1
cmF0aW9uJiYpPiYmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHZvaWQgbG9hZE1l
ZGlhU291cmNlKFVSTCYmLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIpOworI2VuZGlmCiAg
ICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsKQEAgLTMw
MCw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgbV9jYWNo
ZWRTdGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiBtX2NvbmZp
Z3VyYXRpb247CiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+
KT4gbV9wZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXI7CisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8UmVtb3RlTWVkaWFTb3VyY2VQcm94eT4gbV9tZWRp
YVNvdXJjZVByb3h5OworI2VuZGlmCiAKICAgICBXZWJDb3JlOjpMYXlvdXRSZWN0IG1fdmlkZW9D
b250ZW50Qm94UmVjdDsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVudFNjYWxlIHsgMS4wIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY5NmEwZGEyNGQ3NmU1YWU3NDVm
ODIxYTUxYTg0MDE4ZjY1NWYxOTIuLmEyODg2MThmOTllNGY1NTg4OWViZDllMzQwZmM3NzQ0ZjU2
OTk3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNyw2ICsyNyw5
IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAg
ICAgUHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIGVudW06dWludDhfdCBXZWJD
b3JlOjpNZWRpYVBsYXllckVudW1zOjpQcmVsb2FkIHByZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0
Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgZmxvYXQgdmlkZW9Db250ZW50U2NhbGUpIC0+
IChPcHRpb25hbDxXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRD4gaW5saW5lTGF5ZXJIb3N0
aW5nQ29udGV4dElkKSBBc3luYwogCiAgICAgTG9hZChVUkwgdXJsLCBPcHRpb25hbDxXZWJLaXQ6
OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbiwgV2ViQ29yZTo6Q29u
dGVudFR5cGUgY29udGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0pIC0+IChzdHJ1Y3QgV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmlndXJhdGlvbikgQXN5
bmMKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIExvYWRNZWRpYVNvdXJjZShVUkwgdXJs
LCBXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJjZUlkZW50aWZp
ZXIpIFN5bmNocm9ub3VzCisjZW5kaWYKICAgICBDYW5jZWxMb2FkKCkKIAogICAgIFByZXBhcmVU
b1BsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlODU2YjVjZDJhNjNhODg3ZjYz
MzM0ODliZmExY2Y2NjBiZGNlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAgLTAsMCArMSw5OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRp
YVNvdXJjZVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRl
bnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3RlTWVk
aWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlv
blRvV2ViUHJvY2VzcykKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9j
b25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCit7Cit9CisKK3Zv
aWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlhU291
cmNlUHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgQVNTRVJUKCFtX3ByaXZh
dGUpOworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQcml2YXRlKTsKK30KKwor
TWVkaWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1h
a2VVbmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lkIFJlbW90ZU1lZGlhU291
cmNlUHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9pZCBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygpCit7Cit9CisKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0TG9n
SWRlbnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2b2lkIFJlbW90ZU1lZGlh
U291cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKQoreworfQor
Cit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJD
b3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrJiYg
Y2FsbGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHNvdXJjZUJ1ZmZl
clByaXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgc3RhdHVzID0gbV9w
cml2YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJjZUJ1ZmZlclByaXZhdGUp
OworCisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291
cmNlSWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291cmNlUHJpdmF0ZTo6QWRk
U3RhdHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShpZGVudGlmaWVyLCBtX2Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUucmVsZWFzZU5vbk51bGwo
KSk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShyZW1vdGVTb3VyY2VC
dWZmZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlmaWVyID0gaWRlbnRpZmll
cjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNvdXJjZUlkZW50aWZpZXIp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1
NWYxNDJlZTg4MzVhNzNhODU1NjZmY2VhZWIzMDI3Y2NjMzY4ZmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5o
CkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIk1lc3Nh
Z2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgor
I2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9N
ZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0
ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0
aW9uYWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVj
b2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2Ns
YXNzIENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOworY2xhc3MgUGxhdGZv
cm1UaW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBmaW5hbAor
ICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudAorICAgICwgcHJp
dmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1v
dGVNZWRpYVNvdXJjZVByb3h5KCkgPSBkZWZhdWx0OworCisgICAgLy8gTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50IG92ZXJyaWRlcworICAgIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVmPFdlYkNv
cmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4mJikgZmluYWw7CisgICAgTWVkaWFUaW1lIGR1cmF0aW9u
KCkgY29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRmb3JtVGlt
ZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNlZWtUb1RpbWUoY29u
c3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBtb25pdG9yU291cmNlQnVmZmVycygpIGZp
bmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dJZGVudGlm
aWVyKGNvbnN0IHZvaWQqKSBmaW5hbDsKKyNlbmRpZgorCisgICAgdm9pZCBmYWlsZWRUb0NyZWF0
ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNs
YXNzIFJlbW90ZU1lZGlhUGxheWVyUHJveHk7IC8vIFRPRE8/CisKKyAgICAvLyBJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5j
b2Rlcj4mKSBmaW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrID0gQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
cywgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6
OkNvbnRlbnRUeXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisKKyAgICBSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQdHI8V2ViQ29yZTo6
TWVkaWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJlZlB0cjxSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTZi
NzUyZDc3MDYwZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVz
c2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJlbW90ZU1lZGlh
U291cmNlUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVmZmVyKFdlYkNvcmU6
OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2ViS2l0OjpSZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKSBTeW5j
aHJvbm91cworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI0YmZjYTE2MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRl
bnRpZmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1
ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVt
IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRlYTc0Njk4NWJjZGZl
MTdlZDVjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
KworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisj
aW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclByaXZh
dGUpCit7CisgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFkb3B0UmVmKCpuZXcg
UmVtb3RlU291cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlvblRvV2ViUHJvY2Vz
cywgV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVybiByZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgUmVmPFNvdXJj
ZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6IG1faWRlbnRpZmll
cihpZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RGTW92ZShzb3VyY2VC
dWZmZXJQcml2YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJl
Y2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwg
KnRoaXMpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50KHRoaXMpOworfQor
CitSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KCkKK3sK
KyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3Zl
TWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3ZvaWQgUmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlh
bGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpCit7Cit9CisKK3Zv
aWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZl
U2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVm
ZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9p
ZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVTYW1w
bGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNl
QnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1w
bGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGltZSBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlh
VGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUm
KQoreworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6
OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCksIG1f
aWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkKK3sKK30K
Kwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZChkYXRh
LnZlY3RvcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMxMjBhOGEyZWNiOTNjMWEzNzllOTFiOTZmYzk5OGQwMzBiZmY1MGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNp
bmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJl
Y2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29u
bmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAgOiBwdWJsaWMg
UmVmQ291bnRlZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1YmxpYyBXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJl
Y2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eSgpOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0
aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsKKyAgICB2b2lk
IHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxl
JikgZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBjb25zdCBm
aW5hbDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0IGZpbmFs
OworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMoY29uc3QgQXRv
bVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlk
QmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5h
bDsKKworICAgIE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVk
aWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGlt
ZSYpIGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUo
V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KSBmaW5hbDsK
KyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50
IGVycm9yQ29kZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFJlbW90ZU1l
ZGlhU291cmNlUHJveHk7CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVy
CisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29k
ZXImKSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIGZp
bmFsOworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisKKyAg
ICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVmPFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJpdmF0ZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmlu
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0M2ZlMGUwMTcKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291
cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3Nh
Z2VzIC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFwcGVu
ZChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBkZjFkOTZmYTEwMjY2OWU2NDgyYmVjNTQ5ZDY4
ZWYzZjMzNWYxNjc2Li45MzBjYjFiZDZjOGM4OTE0NmI0YTNmYTViODNiNzNlZWY2OWY4ZWIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI2MCw2ICsyNjAs
OCBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAg
ICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW1v
dGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZU1lZGlh
U291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcics
CiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktp
dDo6UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjhmZTg4MWMxMmY4NjVjNTQ1ZGY0ZjU5NmQ4YzJi
NzM2NGRkNjczYi4uYTIzNzY2M2Y1MmY4ZDJiM2JiN2U0ZjBlZjA2MTA5YzYzYTExOGU0ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00
MjEsNiArNDIxLDE3IEBACiAJCTFENEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRp
YVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8qIFJlbW90
ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi87IH07CiAJCTFEQjAxOTQz
MjExQ0YwMDIwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBXS1No
YXJlU2hlZXQuaCAqLzsgfTsKIAkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVT
aGVldC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
QkJCMDYxMjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi87IH07CisJCTFERDJB
NjNCMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzOTI1NURFNkQx
MDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovOyB9OworCQkxREQyQTYz
QzI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzQTI1NURFNkQx
MDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi87IH07CisJCTFERDJB
NjQwMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzRTI1NUUzRjFGMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovOyB9OworCQkxREQyQTY0MTI1NUUz
RjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi87IH07CisJCTFERDJBNjQ0MjU1RTNGM0Qw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8qIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi87IH07CisJCTFERDJBNjQ1MjU1RTNGM0QwMEZGN0I2
RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkuY3BwICovOyB9OworCQkxREQyQTY0NzI1NUYzMkIxMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VJZGVudGlmaWVyLmggKi87IH07CisJCTFERDJBNjQ4MjU2MEI3NzIwMEZGN0I2
RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgKi87IH07CisJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYyMjU2MTIyRjEwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
KwkJMUREMkE2NkUyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2RiAv
KiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjcyMjU2MjMyNEYwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKIAkJMUYzMzVCQzAxODVCODRGMDAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWRE
ZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUYzMzVCQkYxODVCODREODAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFG
NjA0QkFBMTg4OUZCQjgwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0ludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjYw
NEJBNzE4ODlGQTc0MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5h
bC5oICovOyB9OwogCQkxRjc1MDZCMTE4NTkxNjM3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1
Z0luRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGMDE4MTY5MTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yODMwLDYg
KzI4NDEsMjggQEAKIAkJMURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVz
b3VyY2VNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEQTQwODlFMjNBODI3NzgwMDU4Qzk1
MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFEQkJCMDYxMjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1NoYXJlU2hlZXQubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlLmNwcDsgcGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3VyY2UvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzNzI1NURFNjc1MDBG
RjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZS5oOyBwYXRoID0gL1ZvbHVtZXMvRGF0YS93ZWJraXQvT3BlblNv
dXJjZS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzOTI1NURF
NkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRTI1NUUzRjFGMDBGRjdCNkYgLyog
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjNGMjU1RTNGMUYw
MEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDYyNTVGMzJCMTAwRkY3
QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2Fn
ZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CisJCTFERDJBNjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlhU291cmNlUHJveHlN
ZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjY2MjU2MUVEMDQwMEZGN0I2RiAv
KiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMURE
MkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxREQyQTY2OTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291
cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkEyNTYyMDIxRTAwRkY3QjZGIC8qIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFE
RDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkYyNTYyMkYxMTAwRkY3
QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGVNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlM
VF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjcyMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NzMy
NTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaDsgcGF0aCA9
IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2Vz
Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFERTA3NkQ5MjQ2MEND
QkQwMEIyMTFFOCAvKiBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tT
aGFyZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2hhcmVTaGVl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUyREZBQzIzQTk1OUY4MDAzRTAx
M0EgLyogUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVt
b3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTU2NTgsNiArNTY5MSw4IEBACiAJCQkJMDc5MjMxMzEyMzlCM0IwQzAwOTU5OEUyIC8qIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDc5MjMxMzIyMzlCM0IwQzAwOTU5
OEUyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTA3QjFEMDRCMjNEMzhG
Q0UwMDM5OUE2RSAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8sCisJ
CQkJMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5j
cHAgKi8sCisJCQkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5oICovLAogCQkJCTlCNUJFQzI5MjQwMTAxNTgwMDcwQzZFRiAvKiBSZW1vdGVBdWRp
b0Rlc3RpbmF0aW9uUHJveHkuY3BwICovLAogCQkJCTlCNUJFQzI4MjQwMTAxNTgwMDcwQzZFRiAv
KiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCAqLywKIAkJCQk5QjVCRUMyRTI0MDEwMThD
MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Lm1lc3NhZ2VzLmluICovLApA
QCAtNTcwMiw2ICs1NzM3LDEwIEBACiAJCQkJMDdCM0I0NkYyM0FCMkNCMzAwQkE1QjEyIC8qIFJl
bW90ZU1lZGlhUGxheWVyU3RhdGUuaCAqLywKIAkJCQkxRDMyRjg5RDIzQTg0QzVCMDBCMUVBNkEg
LyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkxRDMyRjg5QjIzQTg0QkE2
MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmggKi8sCisJCQkJMUREMkE2NDYy
NTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovLAorCQkJ
CTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNw
cCAqLywKKwkJCQkxREQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5oICovLAorCQkJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAogCQkJCTA3RTE5RjA4MjNENTMzQjkwMDk0
RkZCNCAvKiBUZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkwN0UxOUYwOTIzRDUz
M0JBMDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTFERkREMEUy
MjNGNjEwRjAwMEU5QjQ5MCAvKiBWaWRlb0xheWVyUmVtb3RlLmggKi8sCkBAIC01NzY2LDYgKzU4
MDUsMTMgQEAKIAkJCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNv
dXJjZU1hbmFnZXIuY3BwICovLAogCQkJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1v
dGVNZWRpYVJlc291cmNlTWFuYWdlci5oICovLAogCQkJCTFEMzJGOEE2MjNBODYwMTkwMEIxRUE2
QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQy
QTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8sCisJ
CQkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAq
LywKKwkJCQkxREQyQTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94
eS5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyogUmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllci5oICovLAorCQkJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2
RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8sCisJCQkJMUREMkE2NDIyNTVFM0Yz
RDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8sCisJCQkJMUREMkE2NjYy
NTYxRUQwNDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluICov
LAogCQkJCTA3RTE5RjA3MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQcm94eS5j
cHAgKi8sCiAJCQkJMDdFMTlGMDYyM0Q0REM4ODAwOTRGRkI0IC8qIFJlbW90ZVRleHRUcmFja1By
b3h5LmggKi8sCiAJCQkJMDcxQkM1ODQyM0NDMkMwOTAwNjgwRDdDIC8qIFJlbW90ZVZpZGVvVHJh
Y2tQcm94eS5jcHAgKi8sCkBAIC0xMDM3MSwxMCArMTA0MTcsMTYgQEAKIAkJCQkxRDRENzM2QjIz
QTlERjU1MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTFENEQ3MzZDMjNBOURGNjAwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1
IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8sCisJCQkJ
MUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAorCQkJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2MTI1NjEyMkYxMDBGRjdC
NkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTFB
QzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVj
dFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKIAkJCQkwRjU5NDdBNTE4N0I1MTc2MDA0Mzc4NTcgLyog
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTBG
NTk0N0E2MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3Nh
Z2VzLmggKi8sCisJCQkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2OTI1NjIwMjFFMDBG
RjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovLAorCQkJCTFERDJB
NjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVw
bGllcy5oICovLAogCQkJCUE1NUJBODIxMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQTU1QkE4MjIxQkEyNUJCODAw
N0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQkJC
RTQ5RTE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLApAQCAtMTAzODIsNiArMTA0MzQsOSBAQAogCQkJCUUxOEU2OTE0MTY5QjY2N0Iw
MDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkyREU2OTQzQjE4
QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJMkRFNjk0M0MxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlm
aWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcyMjU2MjMyNEYwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
KwkJCQkxREQyQTY3MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQk5M0Q2Qjc4MTI1NEND
QUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCTkzRDZCNzgwMjU0Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNl
cnZlck1lc3NhZ2VzLmggKi8sCiAJCQkJOTNENkI3N0YyNTRDQ0FCQjAwNThERDNBIC8qIFNwZWVj
aFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0xMTM3Nyw2ICsxMTQz
Miw4IEBACiAJCQkJMDcxQkM1OTEyM0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVy
UHJveHlNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFENEQ3MzcxMjNBOUU1
NjIwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxRDRENzM3NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNv
dXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTFERDJBNjQ3
MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTFERDJBNjQwMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI3ODQ3MTE2M0YyNDY5MDAwN0I2OTIgLyog
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTcwNEZDMUJF
MTc1MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUMxMzM4MDE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBp
biBIZWFkZXJzICovLApAQCAtMTEzODYsNiArMTE0NDMsNyBAQAogCQkJCTBGNTk0NzlCMTg3QjNC
NjAwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjU5NDdBNDE4N0IzQjdEMDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3OUQxODdCM0I2
MDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ1RyZWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFE
RDJBNjQ0MjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgyNTFCQTI1Q0ZCMDA3Q0QzM0Qg
LyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJLmggaW4gSGVh
ZGVycyAqLywKQEAgLTExNDMzLDYgKzExNDkxLDcgQEAKIAkJCQk1N0JCRUE2RDIyQkMwQkZFMDAy
NzM5OTUgLyogU09BdXRob3JpemF0aW9uTG9hZFBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTc2Q0E5RDcyMkI4NjIxODAwMzAxNDNDIC8qIFNPQXV0aG9yaXphdGlvbk5TVVJMRXh0cmFzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1N0ZEMzE4NTIyQjM1MTY5MDA4RDBFOEIgLyogU09BdXRob3Jp
emF0aW9uU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUREMkE2M0IyNTVERTZEMTAwRkY3
QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
RDZCNzcyMjU0QkI1MTkwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTNENkI3ODQyNTRDQ0QwRTAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0
aW9uU2VydmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDZCNzg1MjU0Q0NENDMw
MDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0xMzEyNiw2ICsxMzE4NSw3IEBACiAJCQkJNDQ5RDkwREEyMUZEQzMwQjAw
RjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTJEOTJBNzc5MjEyQjZBNjEwMEY0OTNGRCAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTA3RTE5RUZCMjNENDAxRjEwMDk0RkZCNCAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NDgyNTYwQjc3
MjAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5QjQ3OTA5MTI1MzE1NjMyMDBFQzExQUIgLyogTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRp
b25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOTJBNzgxMjEyQjZBNzEwMEY0OTNGRCAvKiBN
ZXNzYWdlUmVjZWl2ZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3ODIyMTJCNkE3
MTAwRjQ5M0ZEIC8qIE1lc3NhZ2VTZW5kZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzE5OSw4
ICsxMzI1OSwxMiBAQAogCQkJCTA3MDE3ODlFMjNCRTlDRkMwMDVGMEZBQSAvKiBSZW1vdGVNZWRp
YVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcxQkM1OEYyM0NF
MUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUQ0RDczNzAyM0E5RTU0NzAwNzE3QTI1IC8qIFJlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTFERDJBNjQxMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEz
Mzg1MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMUREMkE2NDUyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjZFMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBNTVCQTgyNjFCQTI1Q0ZEMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUJCQkU0QTAxOUI2NkM1MzAwNkI3
RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxOEU2OTE3MTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTMyMTEsNiArMTMyNzUsOCBAQAog
CQkJCUExQURBRkI2MjM2OEU2QTgwMDlDQjc3NiAvKiBTaGFyZWRNZW1vcnkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTc1QjFCQjkyM0NFOUMwQjAwMjA2MzlBIC8qIFNpbXVsYXRlZElucHV0RGlz
cGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREU2OTQzRDE4QkQyQTY4MDA1QzE1RTUg
LyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxREQyQTYzQzI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQyQTY3NDI1NjIzMkExMDBGRjdC
NkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5M0Q2Qjc4MjI1NENDQ0Y0MDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRp
b25TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEzMzRERUQx
NkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzNjhFRURFMjMwM0E5MDIwMEJEQjExQSAvKiBTdG9yYWdlTWFuYWdl
clNldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmNwcAppbmRleCA3OWEyMTE0YmEyNDk3MDJjYzU1NDdmZmExM2IzM2MzOTYwODY0OWI1
Li41MWNmM2I2YjQ5MzQ5MmM5ZDZhMzQ0ZTlmNjE3YzFiNjg4Y2U0ZjgyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5oIgogI2luY2x1ZGUgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNs
dWRlICJSZW1vdGVMZWdhY3lDRE0uaCIKICNpbmNsdWRlICJSZW1vdGVMZWdhY3lDRE1GYWN0b3J5
LmgiCkBAIC03MSw2ICs3MiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5Q0RNLmg+CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAogZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7CkBAIC0x
NDgsNyArMTUzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnByZXBhcmVGb3JQ
bGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBNZWRpYVBsYXllcjoKICAgICB9LCBtX2lkKTsKIH0K
IAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjps
b2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtKQogewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZT4gc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKICAgICBpZiAodXJsLmlzTG9jYWxGaWxlKCkp
IHsKQEAgLTYyNCwxNSArNjI5LDIxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpy
ZW1vdGVWaWRlb1RyYWNrQ29uZmlndXJhdGlvbkNoYW5nZWQoVHJhY2tQcml2YXRlCiB9CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omxv
YWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqIGNsaWVudCkKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1h
a2VXZWFrUHRyKCp0aGlzKSwgdGhpc10gewotICAgICAgICBpZiAoIXdlYWtUaGlzKQotICAgICAg
ICAgICAgcmV0dXJuOworICAgIGlmIChtX3JlbW90ZUVuZ2luZUlkZW50aWZpZXIgPT0gTWVkaWFQ
bGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyOjpBVkZvdW5kYXRpb25NU0UpIHsKKyAg
ICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyOjpnZW5l
cmF0ZSgpOworICAgICAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6TG9hZE1lZGlhU291cmNlKHVybCwgaWRlbnRpZmllciksIG1faWQpOworICAg
ICAgICBtX21lZGlhU291cmNlUHJpdmF0ZSA9IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6Y3Jl
YXRlKG1fbWFuYWdlci5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLCBpZGVudGlmaWVyLCBtX21hbmFn
ZXIudHlwZUNhY2hlKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciksICp0aGlzLCBjbGllbnQpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpLCB0aGlzXSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBtX2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZSA9
IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yOwotICAgICAgICBtX3BsYXll
ci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwotICAgIH0pOworICAgICAgICAgICAgbV9jYWNoZWRT
dGF0ZS5uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJv
cjsKKyAgICAgICAgICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7CisgICAgICAg
IH0pOworICAgIH0KIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCAw
ZDc1NTJmNDkzZjA3NDI0MTJhNmJlMjk3Mzk2MjE2ZGM5NWY1ODFhLi5mMDdiNjNmZjRmZjY3MWM0
NDQ3YTYwOGFiZWRmZWY4MjllNWZjNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAg
LTU2LDYgKzU2LDcgQEAgY2xhc3MgVmlkZW9MYXllck1hbmFnZXI7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCitjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU7CiBjbGFzcyBSZW1vdGVBdWRp
b1NvdXJjZVByb3ZpZGVyOwogY2xhc3MgVXNlckRhdGE7CiBzdHJ1Y3QgVGV4dFRyYWNrUHJpdmF0
ZVJlbW90ZUNvbmZpZ3VyYXRpb247CkBAIC04Nyw2ICs4OCw4IEBAIHB1YmxpYzoKICAgICBXZWJD
b3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIgaXRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1f
aWQ7IH0KICAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7IH0KIAorICAgIFdl
YkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2NhY2hlZFN0YXRlLnJlYWR5U3RhdGU7IH0KKwogICAgIHZvaWQgbmV0d29ya1N0
YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgcmVhZHlTdGF0
ZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIHZvbHVtZUNoYW5n
ZWQoZG91YmxlKTsKQEAgLTE1Myw2ICsxNTYsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0UmF3
Q29va2llcyhjb25zdCBVUkwmLCBXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6R2V0UmF3Q29v
a2llc0NhbGxiYWNrJiYpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBs
b2dJZGVudGlmaWVyKCk7IH0KKyAgICBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkg
eyByZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogCiAjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECkBAIC0xNjksNyArMTc3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXBh
cmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBXZWJDb3JlOjpNZWRpYVBsYXllcjo6UHJl
bG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlKSBmaW5hbDsKIAogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6
Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOworICAgIHZvaWQgbG9hZChjb25zdCBV
UkwmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbDsKICNlbmRpZgog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtUHJpdmF0ZSYpIGZpbmFsOwpAQCAtMjQ5LDcgKzI1Nyw2IEBAIHByaXZhdGU6CiAgICAgZG91
YmxlIG1pbkZhc3RSZXZlcnNlUmF0ZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBuZXR3b3JrU3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZTsgfQotICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVy
OjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NhY2hlZFN0
YXRlLnJlYWR5U3RhdGU7IH0KIAogICAgIE1lZGlhVGltZSBtYXhNZWRpYVRpbWVTZWVrYWJsZSgp
IGNvbnN0IGZpbmFsOwogICAgIE1lZGlhVGltZSBtaW5NZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0
IGZpbmFsOwpAQCAtMzgzLDYgKzM5MCwxMCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW1vdGVB
dWRpb1NvdXJjZVByb3ZpZGVyPiBtX2F1ZGlvU291cmNlUHJvdmlkZXI7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZT4gbV9tZWRpYVNvdXJjZVByaXZhdGU7CisjZW5kaWYKKwogICAgIEhhc2hNYXA8UmVtb3RlTWVk
aWFSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3Vy
Y2U+PiBtX21lZGlhUmVzb3VyY2VzOwogICAgIEhhc2hNYXA8VHJhY2tQcml2YXRlUmVtb3RlSWRl
bnRpZmllciwgUmVmPEF1ZGlvVHJhY2tQcml2YXRlUmVtb3RlPj4gbV9hdWRpb1RyYWNrczsKICAg
ICBIYXNoTWFwPFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFJlZjxWaWRlb1RyYWNrUHJp
dmF0ZVJlbW90ZT4+IG1fdmlkZW9UcmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmZhZTE3MTk0YzljNWVhZjFkMDliNGIxMTVkMjg3ZDk5OGU2MzBlMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE0MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIK
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCIK
KyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBM
b2dNZWRpYTsKKyNlbmRpZgorfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CisKK1JlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29u
bmVjdGlvbiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZU1l
ZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgbWltZVR5cGVDYWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlJiBwbGF5ZXJQcml2YXRlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNs
aWVudCkKK3sKKyAgICBhdXRvIG1lZGlhU291cmNlUHJpdmF0ZSA9IGFkb3B0UmVmKCpuZXcgTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlKGdwdVByb2Nlc3NDb25uZWN0aW9uLCBpZGVudGlmaWVyLCBt
aW1lVHlwZUNhY2hlLCBwbGF5ZXJQcml2YXRlLCBjbGllbnQpKTsKKyAgICBjbGllbnQtPnNldFBy
aXZhdGVBbmRPcGVuKG1lZGlhU291cmNlUHJpdmF0ZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBt
ZWRpYVNvdXJjZVByaXZhdGU7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6TWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVj
dGlvbiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZU1lZGlh
UGxheWVyTUlNRVR5cGVDYWNoZSYgbWltZVR5cGVDYWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlJiBwbGF5ZXJQcml2YXRlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVu
dCkKKyAgICA6IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisg
ICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fbWltZVR5cGVDYWNoZShtaW1l
VHlwZUNhY2hlKQorICAgICwgbV9wbGF5ZXJQcml2YXRlKG1ha2VXZWFrUHRyKHBsYXllclByaXZh
dGUpKQorICAgICwgbV9jbGllbnQoY2xpZW50KQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgICwgbV9sb2dnZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ2dlcigpKQorICAg
ICwgbV9sb2dJZGVudGlmaWVyKG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXJMb2dJZGVudGlm
aWVyKCkpCisjZW5kaWYKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIG1fY2xpZW50LT5zZXRMb2dJZGVudGlmaWVyKG1fbG9n
SWRlbnRpZmllcik7CisjZW5kaWYKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp+TWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIp
OworCisgICAgZm9yIChhdXRvIGl0ID0gbV9zb3VyY2VCdWZmZXJzLmJlZ2luKCksIGVuZCA9IG1f
c291cmNlQnVmZmVycy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICAoKml0KS0+Y2xl
YXJNZWRpYVNvdXJjZSgpOworfQorCitNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYg
Y29udGVudFR5cGUsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYgb3V0UHJpdmF0ZSkKK3sK
KyAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29udGVudFR5cGUpOworCisgICAgTWVkaWFF
bmdpbmVTdXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgIHBhcmFtZXRlcnMuaXNNZWRp
YVNvdXJjZSA9IHRydWU7CisgICAgcGFyYW1ldGVycy50eXBlID0gY29udGVudFR5cGU7CisgICAg
aWYgKG1fbWltZVR5cGVDYWNoZS5zdXBwb3J0c1R5cGVBbmRDb2RlY3MocGFyYW1ldGVycykgPT0g
TWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCisgICAgICAgIHJldHVy
biBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKKworICAgIEFkZFN0YXR1cyBzdGF0dXM7CisgICAg
T3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllcjsKKyAgICBpZiAoIW1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigp
LnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VCdWZm
ZXIoY29udGVudFR5cGUpLCBNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6QWRkU291
cmNlQnVmZmVyOjpSZXBseShzdGF0dXMsIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpLCBt
X2lkZW50aWZpZXIpKQorICAgICAgICBzdGF0dXMgPSBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsK
KworICAgIGlmIChzdGF0dXMgPT0gQWRkU3RhdHVzOjpPaykgeworICAgICAgICBBU1NFUlQocmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oYXNWYWx1ZSgpKTsKKyAgICAgICAgYXV0byBuZXdT
b3VyY2VCdWZmZXIgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjcmVhdGUobV9ncHVQcm9j
ZXNzQ29ubmVjdGlvbiwgKnJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsICp0aGlzKTsKKyAg
ICAgICAgb3V0UHJpdmF0ZSA9IG5ld1NvdXJjZUJ1ZmZlci5jb3B5UmVmKCk7CisgICAgICAgIG1f
c291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShuZXdTb3VyY2VCdWZmZXIpKTsKKyAgICB9CisK
KyAgICByZXR1cm4gc3RhdHVzOworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
ZHVyYXRpb25DaGFuZ2VkKCkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
Om1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykKK3sKK30KKwordm9pZCBNZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFtKCkKK3sKK30KKworTWVkaWFQbGF5
ZXI6OlJlYWR5U3RhdGUgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9wbGF5ZXJQcml2YXRlID8gbV9wbGF5ZXJQcml2YXRlLT5yZWFk
eVN0YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3Zv
aWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpS
ZWFkeVN0YXRlKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6d2FpdEZv
clNlZWtDb21wbGV0ZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
c2Vla0NvbXBsZXRlZCgpCit7Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxv
Z0NoYW5uZWwmIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFjOTQ0MjViNDhiMzk2ZTk2
N2M0ZTgyMTRkZmI2ZTUzNWE1NTBiZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKQEAgLTAsMCAr
MSw5NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuaCIKKyNp
bmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxw
ZXIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOwor
Y2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTsKKworY2xhc3MgTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlIGZpbmFsCisgICAgOiBwdWJsaWMgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRl
CisgICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPgor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNl
bmRpZgoreworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
PiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0IE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOworICAgIHZp
cnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpOworCisgICAgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllclByaXZhdGUuZ2V0KCk7
IH0KKworICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZSBvdmVycmlkZXMKKyAgICBBZGRTdGF0dXMg
YWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgUmVmUHRyPFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JikgZmluYWw7CisgICAgdm9pZCBkdXJhdGlvbkNoYW5n
ZWQoKSBmaW5hbDsKKyAgICB2b2lkIG1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykg
ZmluYWw7CisgICAgdm9pZCB1bm1hcmtFbmRPZlN0cmVhbSgpIGZpbmFsOworICAgIFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbDsKKyAgICB2
b2lkIHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpIGZpbmFs
OworICAgIHZvaWQgd2FpdEZvclNlZWtDb21wbGV0ZWQoKSBmaW5hbDsKKyAgICB2b2lkIHNlZWtD
b21wbGV0ZWQoKSBmaW5hbDsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0
IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0K
KyAgICBjb25zdCB2b2lkKiBuZXh0U291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJu
IGNoaWxkTG9nSWRlbnRpZmllcihtX2xvZ0lkZW50aWZpZXIsICsrbV9uZXh0U291cmNlQnVmZmVy
SUQpOyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUo
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFJlbW90
ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOworCisgICAgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgUmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBl
Q2FjaGUmIG1fbWltZVR5cGVDYWNoZTsKKyAgICBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZT4gbV9wbGF5ZXJQcml2YXRlOworICAgIFJlZlB0cjxXZWJDb3JlOjpNZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQ+IG1fY2xpZW50OworICAgIFZlY3RvcjxSZWZQdHI8U291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZT4+IG1fc291cmNlQnVmZmVyczsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
ICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUiOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRp
ZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxv
Z0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKworICAgIFJlZjxjb25zdCBMb2dn
ZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyAgICB1aW50
NjRfdCBtX25leHRTb3VyY2VCdWZmZXJJRCB7IDAgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCmluZGV4IGM2MmM0NjRmZGZkY2Q4YzM1
NzU2YjBlMzhkYWQwZjg5MzkwNTg4NjcuLmU2NDUwODRiY2Q2MGM0NWNlNzZmM2EwM2NmZDNmNzgz
ZjE2OTM0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNs
dWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0
aW9uLmgKaW5kZXggNjUzMmQ3MmU3Y2U0Yjg1M2YyZDNiOTM0NTVlMTkyODFjNDE5ZmE0My4uYTg2
NTgwYmYxODYzMWJiM2JjODI2YjUzYWYxZjJkNTQ4NmU0NjI1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUlu
c3RhbmNlQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlIDxXZWJDb3Jl
L0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKaW5kZXggOWQ4MWEyZmFhNWNh
MTk1ZmY0ZjdjMzA0MmI5ODZkNDFkZTFmZjk5Ny4uZjg4NWQ5Y2E1YTI4YzRlMTQwODU1ZjI0ODdh
YmM1MmFhYjY5ZDEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCkBAIC02Niw2ICs2Niw4
IEBAIHB1YmxpYzoKIAogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciBmaW5kUmVt
b3RlUGxheWVySWQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKik7
CiAKKyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3Jl
OjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOworCiBwcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+
IGNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKFdlYkNvcmU6Ok1lZGlhUGxheWVyKiwgV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKIApAQCAtODAsOCArODIs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwgV2FsbFRpbWUg
bW9kaWZpZWRTaW5jZSk7CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNv
cmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiwgY29uc3QgSGFzaFNldDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiYpOwogCi0g
ICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiB0eXBlQ2FjaGUoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKLQogICAgIEhhc2hNYXA8V2Vi
Q29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyLCBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZT4+IG1fcGxheWVyczsKICAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7CiAgICAgbXV0YWJs
ZSBHUFVQcm9jZXNzQ29ubmVjdGlvbiogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbiB7IG51bGxwdHIg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TWVkaWFTb3VyY2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjYjY1OTQ2MTAw
NjcwNTE3MmUxNjgwNmZlMTczNTU1M2QxMzk0YjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5o
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgPHd0Zi9P
YmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFJlbW90ZU1l
ZGlhU291cmNlSWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcgUmVtb3RlTWVkaWFTb3VyY2VJZGVu
dGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXJUeXBl
PjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFhMTE2NWQwZGE0MmVmNmM4YjYzMzczNzUwZDhkODNj
ZjAxMjMwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTAsMCArMSwxNTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorI2lu
Y2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7
CisjZW5kaWYKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCitSZWY8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4gU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6Y3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlv
biwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0ZSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKGdw
dVByb2Nlc3NDb25uZWN0aW9uLCByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBtZWRpYVNv
dXJjZVByaXZhdGUpKTsKK30KKworU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b24sIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgcmVtb3RlU291cmNlQnVmZmVySWRlbnRp
ZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJiBtZWRpYVNvdXJjZVByaXZhdGUp
CisgICAgOiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uKGdwdVByb2Nlc3NDb25uZWN0aW9uKQorICAg
ICwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIpCisgICAgLCBtX21lZGlhU291cmNlUHJpdmF0ZShtYWtlV2Vha1B0cihtZWRpYVNvdXJj
ZVByaXZhdGUpKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIobV9t
ZWRpYVNvdXJjZVByaXZhdGUtPmxvZ2dlcigpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKG1fbWVk
aWFTb3VyY2VQcml2YXRlLT5uZXh0U291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpKQorI2VuZGlm
Cit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBtX2dwdVByb2Nlc3NDb25u
ZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3JlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50NjQoKSwgKnRoaXMpOworfQorCitTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjp+U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSgpCit7CisgICAg
QUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBBU1NFUlQoIW1fY2xpZW50KTsKKworICAg
IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVzc2Fn
ZVJlY2VpdmVyKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci50b1VJbnQ2NCgpKTsK
K30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQoU291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudCogY2xpZW50KQoreworICAgIG1fY2xpZW50ID0gY2xpZW50OworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQg
Y2hhcj4mJiBkYXRhKQoreworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpBcHBlbmQoSVBDOjpEYXRh
UmVmZXJlbmNlKGRhdGEpKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKTsKK30KKwor
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCgpCit7Cit9CisKK3ZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVzZXRQYXJzZXJTdGF0ZSgpCit7Cit9CisKK3ZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlZEZyb21NZWRpYVNvdXJjZSgpCit7Cit9
CisKK01lZGlhUGxheWVyOjpSZWFkeVN0YXRlIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJl
YWR5U3RhdGUoKSBjb25zdAoreworICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1f
bWVkaWFTb3VyY2VQcml2YXRlLT5wbGF5ZXIoKS0+cmVhZHlTdGF0ZSgpIDogTWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpCit7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Zmx1c2goY29uc3QgQXRvbVN0cmluZyYgdHJh
Y2tJRCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjplbnF1ZXVlU2Ft
cGxlKFJlZjxNZWRpYVNhbXBsZT4mJiwgY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30K
KworYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMo
Y29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0QWN0aXZlKGJvb2wpCit7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9y
ZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKworYm9vbCBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpjYW5TZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRp
b25UaW1lKGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBNZWRpYVRpbWUmKQoreworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNsZWFyTWluaW11bVVwY29taW5nUHJlc2VudGF0
aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikKK3sKK30KKworYm9vbCBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjYW5Td2l0Y2hUb1R5cGUoY29uc3QgQ29udGVudFR5cGUmKQoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBw
ZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1f
Y2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoYXBwZW5kUmVzdWx0KTsK
K30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01l
ZGlhOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOWEwMWIwNjI1ZTNiN2M3ZjAxMTg0YTgzYzM2ZTU0OTEy
MmYwOWE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgKQEAgLTAsMCArMSwxMTIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5j
bHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRl
bnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudFR5cGUuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL01lZGlhU2FtcGxlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2
YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg+Cisj
aW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1l
c3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRGF0
YVJlZmVyZW5jZTsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZTsKKworY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBmaW5hbAor
ICAgIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+Cisg
ICAgLCBwdWJsaWMgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZQorICAgICwgcHJpdmF0ZSBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJp
dmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgoreworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4gY3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
Jik7CisgICAgdmlydHVhbCB+U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSgpOworCisgICAgdm9p
ZCBjbGVhck1lZGlhU291cmNlKCkgeyBtX21lZGlhU291cmNlUHJpdmF0ZSA9IG51bGxwdHI7IH0K
KworcHJpdmF0ZToKKyAgICBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25u
ZWN0aW9uJiwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3QgTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlJik7CisKKyAgICAvLyBTb3VyY2VCdWZmZXJQcml2YXRlIG92ZXJyaWRlcwor
ICAgIHZvaWQgc2V0Q2xpZW50KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqKSBm
aW5hbDsKKyAgICB2b2lkIGFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJikgZmluYWw7Cisg
ICAgdm9pZCBhYm9ydCgpIGZpbmFsOworICAgIHZvaWQgcmVzZXRQYXJzZXJTdGF0ZSgpIGZpbmFs
OworICAgIHZvaWQgcmVtb3ZlZEZyb21NZWRpYVNvdXJjZSgpIGZpbmFsOworICAgIFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbDsKKyAgICB2
b2lkIHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpIGZpbmFs
OworICAgIHZvaWQgZmx1c2goY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAg
dm9pZCBlbnF1ZXVlU2FtcGxlKFJlZjxXZWJDb3JlOjpNZWRpYVNhbXBsZT4mJiwgY29uc3QgQXRv
bVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgYm9vbCBpc1JlYWR5Rm9yTW9yZVNhbXBsZXMo
Y29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzZXRBY3RpdmUoYm9v
bCkgZmluYWw7CisgICAgdm9pZCBub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyhj
b25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGNhblNldE1pbmltdW1V
cGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpIGNvbnN0IGZpbmFsOwor
ICAgIHZvaWQgc2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3Ry
aW5nJiwgY29uc3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBjbGVhck1pbmltdW1VcGNv
bWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpIGZpbmFsOworICAgIGJvb2wg
Y2FuU3dpdGNoVG9UeXBlKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJikgZmluYWw7CisKKyAg
ICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYp
IGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCk7CisKKyAgICBHUFVQ
cm9jZXNzQ29ubmVjdGlvbiYgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcjsKKyAgICBX
ZWFrUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gbV9tZWRpYVNvdXJjZVByaXZhdGU7Cisg
ICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCogbV9jbGllbnQgeyBudWxscHRy
IH07CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dl
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3QgY2hh
ciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGUiOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0No
YW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBMb2dnZXImIHNvdXJjZUJ1ZmZlckxvZ2dl
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9p
ZCogc291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpIGZpbmFsIHsgcmV0dXJuIGxvZ0lkZW50aWZp
ZXIoKTsgfQorCisgICAgUmVmPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9p
ZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTE5ODIxMWNlOTlhYmFkNWI4ZWUwN2ZkNGUxNzdiZGZhOTVhNDBjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCittZXNzYWdlcyAt
PiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgeworICAgIFNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQorfQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCmluZGV4IDRmM2RlNzczYzEyMzZm
MzMwZjU0MGE5YzhkNjQxMDBjZmIwNWJiYzAuLmI2ZTM0NjFmZjk3NDk4YTNjM2MwZWYwNGFmZTIw
ZWEzNjkxZGRhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVD
b2NvYS5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQ
TEFURk9STShDT0NPQSkKIAorI2ltcG9ydCAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCiAj
aW1wb3J0ICJSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1Zp
ZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3Jl
U1BJLmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414246</attachid>
            <date>2020-11-16 10:07:11 -0800</date>
            <delta_ts>2020-11-16 10:45:25 -0800</delta_ts>
            <desc>Rebased WIP patch</desc>
            <filename>bug-218912-20201116100710.patch</filename>
            <type>text/plain</type>
            <size>125289</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uYjhiNzQwNjg4YjA1MTBlODYyMzUxNjEwMjQ2YTE3
ZWNkZmUwOTFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlOjpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKToKKwogMjAyMC0x
MS0xNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SW50ZWdyYXRpb25dIFJlbW92ZSBpc0xhc3RUZXh0UnVuT25MaW5lL2lzTGFzdFRleHRSdW4gZnJv
bSBydW4gaXRlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjgyZDg4Zjg0Y2Y2NzE3NGI3NDI1MzM4ZTQ5Y2Zl
MTQyYzI0MjhiZS4uMDYzNWQ1N2NkYWE5OTA5ZjkyMmQ3ODQ4NTI2ZjRmMzgxNmFiOWI5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw5OCBAQAorMjAyMC0xMS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJbiBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5m
cmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFj
dG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojps
b2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFT
b3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZhdGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVyYXRpb24gY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCBjb25zdCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJl
bmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNl
UHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNv
dXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3Vy
Y2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVudCk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlk
UmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZl
clByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxl
cyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZm
ZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFUaW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQ
cml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAgICAgICAoV2Vi
S2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFtKToKKyAgICAg
ICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRlIGNvbnN0KToK
KyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRSZWFkeVN0YXRl
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3YWl0Rm9yU2Vl
a0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaDogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2Vi
S2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAgICAgICAoV2Vi
S2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAgICAoV2ViS2l0
OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChXZWJLaXQ6OlNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlhU291cmNlKToK
KyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0ZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldFJl
YWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpm
bHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVl
dWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpp
c1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAg
IChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWlu
Z1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAg
ICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5pbXVtVXBjb21p
bmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKToKKyAgICAg
ICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToKKwogMjAyMC0x
MS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBzd2l0Y2hpbmcg
dG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4Njk1MjNjNDAxODc1OWVlNzFlMjFlMTNi
ZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2VjNmIxOWEzZDczMjRlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAg
LTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+
PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KIAogICAgIFJlZlB0
cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOwogICAgIHN3aXRjaCAo
bV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNlQnVmZmVyUHJpdmF0ZSkpIHsK
LSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6CisgICAgY2FzZSBNZWRpYVNvdXJjZVBy
aXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZmZXJQcml2YXRl
LnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6Ok5vdFN1cHBv
cnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0
ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3
LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNv
dXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAg
IC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhhdCBpcyBub3Qg
c3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAgIC8vIHNwZWNpZmllZCBmb3IgdGhlIG90
aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKICAg
ICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0
ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfTsKLSAg
ICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hlZElkTGltaXQ6CisgICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQ6CiAgICAgICAgIC8vIDIu
MiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRp
YS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZm
ZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAgMzogSWYgdGhl
IHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRo
ZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2VlZGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBh
Ym9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0MjkyNjhkNzYxNzVlOTMyMDBlYzFmN2YxZDM0
ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEzNGIyZGYzY2RkYjllOTAzNWEzMjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZl
clRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBUb3A6IElmIHRoZSBpbnB1dCBidWZmZXIg
aXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBtb3JlIGRhdGEgc3RlcCBiZWxvdy4KICAg
ICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIHNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNjZWVkZWQpOworICAgICAgICBzb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTgsNyArNjU4LDcgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1bHQg
cmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlucyBieXRlcyB0
aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRlIHN0cmVhbSBmb3JtYXQgc3BlY2lmaWNh
dGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5kIGVycm9yIGFsZ29yaXRobSB3aXRoIHRo
ZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0cnVlIGFuZCBhYm9ydCB0aGlzIGFsZ29y
aXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdGYWlsZWQpIHsKKyAgICBpZiAocmVzdWx0
ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkgewogICAgICAgICBFUlJPUl9MT0coTE9H
SURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAgICAgICAgYXBwZW5kRXJyb3IodHJ1ZSk7
CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6
c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdCByZXN1bHQpCiAK
ICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAzLjUuNQogICAgIC8vIDIuSWYgdGhlIHNl
Z21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRoZSBwcmV2aW91cyBzdGVwIHdhcyBhYm9y
dGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChyZXN1bHQgIT0gQXBwZW5k
U3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVk
ZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMuIFNldCB0aGUgdXBkYXRpbmcgYXR0cmli
dXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYxZDI5YzBjMjZiMmU1ZWQxNjQyMDNiYzM2
YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1ZmUwOWI4MzkzZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQyMjUs
OCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIwMDRCRDg2RiAvKiBJU09Qcm90ZWN0aW9u
U2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8qIElTT1Byb3RlY3Rpb25TY2hlbWVJbmZv
Qm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Q0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09yaWdpbmFsRm9ybWF0Qm94LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg3MUM2NzFGQjUyQjY4
MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAxMkVEN0QgLyog
R2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlDRDY0MUVC
MzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEg
LyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0JCUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0
MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVy
UHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3Vy
Y2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q2NDFFQjQxODE4
RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUIyMTgxOEY1RUQwMEVFNEM0MSAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3Ry
ZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNz
aEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDdEMzM0MjFDN0Ex
MjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ4MUM3QTE2QkYwMDA0MTI5
MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVWaWRlb1NvZnRM
aW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAvKiBQYXJzZWRD
b250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRENGQUJCRDE4
QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUwIC8qIEhpZ2hs
aWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5RjZGMDAyQjNE
QzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oICov
OyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERD
MUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RERTAyRUQxOEIz
RUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIzRUQ2RDAwQ0Y3
RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlDRERFMDJGMDE4
QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThCNTY1MTIwMENG
N0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwogCQlDREUzQTg1NDE3
RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZDRTYwMEM1QkUyMCAv
KiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZjOGJlNmM4N2EwZjJmZGU4MjJiZDEzMDQw
ZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNmZDU0ODg5YTNlYmQ4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNDU3LDcgKzE0NTcsNyBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBVUkwmIGluaXRpYWxVUkws
IENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAgICAgLy8gd2hpbGUgcHJvY2Vzc2luZyBy
ZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAgICAgICAgbV9tZWRpYVNvdXJjZSA9IG51
bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdv
cmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9h
ZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNlLmdldCgpKSkgeworICAgICAgICB9IGVs
c2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkpKSB7CiAgICAg
ICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUgTWVkaWFTb3VyY2UgYmVmb3JlIHdlIGZv
cmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAgICAgICAgbV9tZWRpYVNvdXJjZS0+ZGV0
YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAgICAgbV9tZWRpYVNvdXJjZSA9IG51bGxw
dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAppbmRleCA3YzI3OGE2OGUzODlh
ZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4YjkzY2E5YTk1MjgyMjRhZWEyM2M0NDVl
OGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmgKQEAgLTQ3
LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmF3KCkgY29uc3QgeyByZXR1
cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV90eXBlLmlz
RW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0OworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKIAogICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRl
eCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlkMDkxODVhNzJiLi4xNzA0Mzg1ZGRjNzg4
ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbCB7IH0KQEAgLTQ3
MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNv
bnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyCiB9CiAKICNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVybCwgY29u
c3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1l
ZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVybCwgTWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKIHsKICAgICBBU1NFUlQoIW1fcmVsb2Fk
VGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1lZGlhU291cmNlKTsKIAogICAgIG1fbWVk
aWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2NvbnRlbnRUeXBlID0gY29udGVudFR5cGU7
CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBtX3VybCA9IHVybDsKICAgICBtX2tleVN5
c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250ZW50TUlNRVR5cGVXYXNJbmZlcnJlZEZy
b21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1ODYsNyBAQCB2b2lkIE1lZGlhUGxheWVy
Ojpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBNZWRpYVBsYXllckZhY3RvcnkqIGN1cnJl
bnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAg
ICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAgICAgbV9wcml2YXRlLT5sb2FkKG1fdXJs
LnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsKKyAgICAgICAgICAgIG1fcHJpdmF0ZS0+
bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CiAgICAgICAgIGVsc2UKICNlbmRpZgog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFjYmJiYjFhNjk4Y2EzZDQwNzA2NjJmMWQz
ZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIzOTZhZjMwMmVkZTUyMmZiZjA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTMz
Nyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3Qg
Q29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSk7CiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggZjli
OTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRhNTgwMi4uY2Q5N2M2MjY5ZWJiYTI2N2M3
MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50
VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwuc3RyaW5nKCkpOyB9CiAKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJs
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOwogI2VuZGlmCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdmMTRkOGUxOTY2YjgzOTcxODRiZDJiZDg3
ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNjMzQxNzNiNTk0N2U4NmEzMzNhODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNl
UHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlX2gKLSNkZWZpbmUgTWVkaWFTb3Vy
Y2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQog
CkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgTWVkaWFTb3VyY2VQcml2YXRlKCkgPSBk
ZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVmYXVsdDsKIAot
ICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElkTGltaXQgfTsK
KyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBPaywKKyAgICAg
ICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVkSWRMaW1pdAorICAgIH07CiAgICAgdmly
dHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgUmVmUHRy
PFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkdXJhdGlvbkNo
YW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05vRXJyb3IsIEVv
c05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKQEAgLTg4LDcgKzkyLDE1IEBAIHN0cnVj
dCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9mU3RyZWFtU3Rh
dHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4geworICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVz
LAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2ssCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0
ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpSZWFj
aGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCAwMDU2NWE5MWZlYTk4YTY0MThhNDQ2
MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJlYTI0YWFlNjk4ZWUxNWIwNjgxOTE1NDFj
MDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC03MywxMSArNzMsMjggQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGlt
ZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBN
ZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVuZFJlc3VsdCB7IEFwcGVuZFN1Y2NlZWRl
ZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxlZCB9OworICAgIGVudW0gY2xhc3MgQXBw
ZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFwcGVuZFN1Y2NlZWRlZCwKKyAgICAgICAg
UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2luZ0ZhaWxlZAorICAgIH07CiAgICAgdmly
dHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1bHQp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5k
ZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdD4geworICAg
IHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQsCisgICAgICAg
IFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UmVhZFN0
cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6
QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5kZXggYWQ0YmM5
MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5Mi4uNWFiNzEzNzU0NzZjNWYzMDdjZDlj
NTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmIHVybCkKIH0K
IAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQor
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgVVJMJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBzZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5
ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDQzOGU0ODRhZGViYzZi
YmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJmOGY3NWZhYjQ0NjQ3ODc5NDEzNjc4ZjQ2
YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8g
TWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFjZSBvdmVycmlkZXMuCiAgICAgdm9pZCBs
b2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IHNldE5ldHdvcmtTdGF0
ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUyZTNhMDdlMTNkZmQwOTE1ZTA3N2UzZGY5
Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIzMDk0MmZkMjY1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVj
dG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBv
cnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNrSGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7
CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29uc3QgY2hhciog
bG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4obV9sb2dJ
ZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50aWZpZXIoKTsg
fQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVybiBsb2dnZXIo
KTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0ZSB7CiAgICAgICAgIFNlZWtpbmcsCkBA
IC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclBy
aXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRl
OwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9p
ZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUxYWUyNWIzYzk0Mjc4Mzg0NjkyYWIwMWFl
YTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJhOGFjZTVmYTA3NzczNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgbV9wbGF5
ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKIHsK
ICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5o
CmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBiYWRmNDY4Zjg2Y2U0YzkuLmE0ZjRkNDQ2
OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
Qy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWQoY29uc3QgU3Ry
aW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAg
dm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRl
OwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1t
CmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0NjE2YTgyYjNjMGU3NjMuLjA5NGNlYjcw
N2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKGNv
bnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkgc3VwcG9ydHMg
TWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhpc10gewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCmlu
ZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEyMDk0OGY2ZGFjZTYuLmRjNDYyMDNiZThm
NGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDggKzIzLDcgQEAKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ19o
Ci0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdtYSBvbmNlCiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCkBAIC0xNDksNSAr
MTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpICYm
IFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWY0NTNhZThkZGJlODE0NThk
MmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNhNzk0ZmEwMTY5ZjljZTBmNmY5MmZlYWI1
NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVBy
aXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpB
ZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0
IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMu
dHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXll
cjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJuIE5vdFN1cHBv
cnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogCiAgICAgYXV0
byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlwZSk7CiAgICAg
aWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVy
biBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gbmV3U291cmNlQnVmZmVyID0g
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0ZSh0aGlzLCBwYXJzZXIucmVsZWFzZU5v
bk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTk3LDcgKzk3LDcgQEAg
TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6
YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVy
LmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUobmV3U291cmNl
QnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9
CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6cmVtb3ZlU291cmNlQnVmZmVyKFNv
dXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggOTE0OTZkMjQxZmZiNjEwZDk2
OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVlZTUxYmRhMTRiOWI1ZjY2MzQxNWI5ODQ2
NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYgQEAKICNpbXBvcnQgIk1lZGlhU2FtcGxl
LmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk1lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAjaW1wb3J0ICJT
aGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclBhcnNlckFWRk9iakMuaCIKICNp
bXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKQEAgLTU4Niw3ICs1ODUsNyBAQCB2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQoKQogICAgICAg
ICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9hZGluZ1Byb2dyZXNzc2VkKHRydWUpOwog
CiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNp
bmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENv
bXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6
QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlLmNwcAppbmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1MmYxLi5j
N2EwZjcxZGZlNjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6
bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJjZSkKK3Zv
aWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBN
b2NrTWVkaWFTb3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRhMjEzOTRm
Mzc2YzdmMjk2NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1ODQ5NDcy
MjA3ZmNkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKQEAg
LTY1LDcgKzY1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZh
dGUgT3ZlcnJpZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsK
LSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQg
bG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2FhZmEwMGU3
NWJjOGZmOGZmMWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5ZGYwMmE0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02MywxMiArNjMs
MTIgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNlUHJpdmF0
ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3Vy
Y2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChN
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMpID09IE1l
ZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICByZXR1cm4g
Tm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAK
ICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjpjcmVh
dGUodGhpcykpOwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgpOwogCi0g
ICAgcmV0dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lkIE1vY2tN
ZWRpYVNvdXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRl
KiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGY0
ZGFkMDM3MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2ZjQ5MjA0
MmQ3YWIxZWRmN2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclBy
aXZhdGUuY3BwCkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0
ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZvaWQgTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRh
KQogewogICAgIG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6QXBwZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVu
ZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6
ZSgpICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVk
ZWQpIHsKKyAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09IFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKSB7CiAg
ICAgICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVmZmVyLmRh
dGEoKSwgbV9pbnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVuZ3RoID0g
TW9ja0JveDo6cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94TGVuZ3Ro
ID4gYnVmZmVyLT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBNb2NrU291
cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiAg
ICAgICAgICAgICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3goYnVmZmVy
LnB0cigpKTsKICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsKICAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpQYXJzaW5nRmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1faW5wdXRC
dWZmZXIucmVtb3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJlNDc0NTM0
MGQyNjE3YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlhZTc4NmU3
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
QEAgLTM1LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICQoUFJP
SkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9HUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNz
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4ICs5Nyw4
IEBAICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3Bl
Y3RvclByb3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9y
L1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2Vz
LmluCiskKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0
ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nl
c3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzYsNiAr
MTM4LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9T
ZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRD
UmVtb3RlQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9KRUNUX0RJ
UikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlv
bk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9y
L1JlbW90ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dl
YlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dl
YlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3NjVhNWFl
OGRjMTE3NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5MzI1NmJj
MjQ4ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lv
bkhlbHBlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1Jl
cGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVj
dFJlZ2lzdHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdlYkluc3Bl
Y3RvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApAQCAtMjUx
LDYgKzI1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1NlcnZpY2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVz
c2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRy
b2xsZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29n
bml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25p
dGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2Vz
UmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4
dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdl
c1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXNSZXBs
aWVzLmgKQEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJ
RXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJv
bGxlck1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGllcy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JV
SU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxpZXMuaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFiMDFjMTRj
MTQxZGNmNDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdmNDI0YjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBAIE1FU1NB
R0VfUkVDRUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mg
XAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgXAogCVdl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3Mv
UmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVB
dWRpb0Rlc3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlv
U2Vzc2lvbiBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRl
ck1hbmFnZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lv
biBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCisJV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVz
ZXJDb250ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdFX1JFQ0VJ
VkVSUyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvblByb3h5
IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlh
L2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94
eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCiAJR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRp
b25NYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAor
CUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVTb3VyY2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCiAjCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJh
bWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJh
bWV0ZXJzLmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1YTFhYy4u
OTgwZDY0MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApA
QCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIlNh
bmRib3hFeHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3Rv
cnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUzMTFmYzJl
MTYyNzMzMTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFj
dG9yeVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90ZUxlZ2Fj
eUNETVNlc3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRTZXNzaW9u
KGNvbnN0IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2NzRhMWM4
MTcxLi43MDEzNTcwNzgxZjhmNTE3YzgxOGQyMTBkOTI2Y2E2ZTI0NmU5N2YwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJj
ZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVUZXh0VHJhY2tQcm94
eS5oIgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvVHJhY2tQcm94eS5oIgogI2luY2x1ZGUgIldlYkNv
cmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwxNiBAQCB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OmxvYWQoVVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGU+JgogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwog
fQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bG9hZE1lZGlhU291cmNlKFVSTCYmIHVybCwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVy
IG1lZGlhU291cmNlSWRlbnRpZmllcikKK3sKKyAgICBtX21lZGlhU291cmNlUHJveHkgPSBhZG9w
dFJlZigqbmV3IFJlbW90ZU1lZGlhU291cmNlUHJveHkobWVkaWFTb3VyY2VJZGVudGlmaWVyLCBt
X21hbmFnZXIuZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpKSk7CisgICAgbV9tYW5hZ2VyLmdw
dUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKS5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdl
UmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbWVkaWFTb3VyY2VJZGVudGlmaWVyLnRvVUludDY0KCksICptX21lZGlhU291cmNl
UHJveHkpOworCisgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlUHJveHkuZ2V0
KCkpOworfQorI2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2FuY2VsTG9h
ZCgpCiB7CiAgICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5zdG9wKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuaAppbmRleCA4NmFhNDJjZWJmZDcwM2UwYzBiZWJjM2VkMGQwZTQxODU1OWE2NjdhLi5j
N2IzYzk2YTVkMzBmM2M0NTYwOTYyYjExZjliZDdmZWFkZGQ4YjE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgK
QEAgLTUyLDYgKzUyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNSW5zdGFuY2VQcm94eS5oIgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90ZU1lZGlh
U291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHkuaCIK
KyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZl
clN0b3JhZ2UuaCIKICNlbmRpZgpAQCAtMTA5LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHByZXBhcmVGb3JSZW5kZXJpbmcoKTsKIAogICAgIHZvaWQgbG9hZChVUkwmJiwgT3B0aW9uYWw8
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYs
IGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJD
b25maWd1cmF0aW9uJiYpPiYmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHZvaWQg
bG9hZE1lZGlhU291cmNlKFVSTCYmLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIpOworI2Vu
ZGlmCiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsK
QEAgLTMwMCw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUg
bV9jYWNoZWRTdGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiBt
X2NvbmZpZ3VyYXRpb247CiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRp
YVRpbWU+KT4gbV9wZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXI7CisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8UmVtb3RlTWVkaWFTb3VyY2VQcm94eT4g
bV9tZWRpYVNvdXJjZVByb3h5OworI2VuZGlmCiAKICAgICBXZWJDb3JlOjpMYXlvdXRSZWN0IG1f
dmlkZW9Db250ZW50Qm94UmVjdDsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVudFNjYWxlIHsgMS4w
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY5NmEwZGEyNGQ3NmU1
YWU3NDVmODIxYTUxYTg0MDE4ZjY1NWYxOTIuLmEyODg2MThmOTllNGY1NTg4OWViZDllMzQwZmM3
NzQ0ZjU2OTk3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNyw2
ICsyNyw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRl
ZCB7CiAgICAgUHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIGVudW06dWludDhf
dCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpQcmVsb2FkIHByZWxvYWQsIGJvb2wgcHJlc2Vy
dmVzUGl0Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgZmxvYXQgdmlkZW9Db250ZW50U2Nh
bGUpIC0+IChPcHRpb25hbDxXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRD4gaW5saW5lTGF5
ZXJIb3N0aW5nQ29udGV4dElkKSBBc3luYwogCiAgICAgTG9hZChVUkwgdXJsLCBPcHRpb25hbDxX
ZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbiwgV2ViQ29y
ZTo6Q29udGVudFR5cGUgY29udGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0pIC0+IChzdHJ1Y3Qg
V2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmlndXJhdGlv
bikgQXN5bmMKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIExvYWRNZWRpYVNvdXJjZShV
UkwgdXJsLCBXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJjZUlk
ZW50aWZpZXIpIFN5bmNocm9ub3VzCisjZW5kaWYKICAgICBDYW5jZWxMb2FkKCkKIAogICAgIFBy
ZXBhcmVUb1BsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlODU2YjVjZDJhNjNh
ODg3ZjYzMzM0ODliZmExY2Y2NjBiZGNlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAgLTAsMCAr
MSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1v
dGVNZWRpYVNvdXJjZVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgi
CisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNv
dXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29u
bmVjdGlvblRvV2ViUHJvY2VzcykKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAg
ICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCit7Cit9
CisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1l
ZGlhU291cmNlUHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgQVNTRVJUKCFt
X3ByaXZhdGUpOworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQcml2YXRlKTsK
K30KKworTWVkaWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uKCkgY29uc3QK
K3sKKyAgICByZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFu
Z2VzPiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1ha2VVbmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lkIFJlbW90ZU1l
ZGlhU291cmNlUHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9p
ZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygpCit7Cit9CisK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6
c2V0TG9nSWRlbnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2b2lkIFJlbW90
ZU1lZGlhU291cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKQor
eworfQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZlcihjb25z
dCBXZWJDb3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1ZmZlckNhbGxi
YWNrJiYgY2FsbGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHNvdXJj
ZUJ1ZmZlclByaXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgc3RhdHVz
ID0gbV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJjZUJ1ZmZlclBy
aXZhdGUpOworCisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVt
b3RlU291cmNlSWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShpZGVudGlmaWVy
LCBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShyZW1vdGVT
b3VyY2VCdWZmZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlmaWVyID0gaWRl
bnRpZmllcjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNvdXJjZUlkZW50
aWZpZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU1NWYxNDJlZTg4MzVhNzNhODU1NjZmY2VhZWIzMDI3Y2NjMzY4ZmMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eS5oCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmll
ci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNl
UHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3
dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xh
c3MgRGVjb2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK2NsYXNzIENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOworY2xhc3Mg
UGxhdGZvcm1UaW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBm
aW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudAorICAg
ICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNv
dXJjZUlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFs
IH5SZW1vdGVNZWRpYVNvdXJjZVByb3h5KCkgPSBkZWZhdWx0OworCisgICAgLy8gTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50IG92ZXJyaWRlcworICAgIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVm
PFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4mJikgZmluYWw7CisgICAgTWVkaWFUaW1lIGR1
cmF0aW9uKCkgY29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRm
b3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNlZWtUb1Rp
bWUoY29uc3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBtb25pdG9yU291cmNlQnVmZmVy
cygpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dJ
ZGVudGlmaWVyKGNvbnN0IHZvaWQqKSBmaW5hbDsKKyNlbmRpZgorCisgICAgdm9pZCBmYWlsZWRU
b0NyZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJp
ZW5kIGNsYXNzIFJlbW90ZU1lZGlhUGxheWVyUHJveHk7IC8vIFRPRE8/CisKKyAgICAvLyBJUEM6
Ok1lc3NhZ2VSZWNlaXZlcgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQ
Qzo6RW5jb2Rlcj4mKSBmaW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNr
ID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFk
ZFN0YXR1cywgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdl
YkNvcmU6OkNvbnRlbnRUeXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisKKyAgICBS
ZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQdHI8V2Vi
Q29yZTo6TWVkaWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJlZlB0cjxS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jYTZiNzUyZDc3MDYwZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJlbW90
ZU1lZGlhU291cmNlUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVmZmVyKFdl
YkNvcmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2ViS2l0OjpS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
KSBTeW5jaHJvbm91cworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI0YmZjYTE2MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKwor
I2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitlbnVtIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRlYTc0Njk4
NWJjZGZlMTdlZDVjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVm
ZmVyUHJveHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1
ZGUgIlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZl
clByaXZhdGUpCit7CisgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFkb3B0UmVm
KCpuZXcgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlvblRvV2Vi
UHJvY2VzcywgV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVybiByZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmll
ciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgUmVm
PFNvdXJjZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6IG1faWRl
bnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RGTW92ZShz
b3VyY2VCdWZmZXJQcml2YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVz
c2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50
NjQoKSwgKnRoaXMpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50KHRoaXMp
OworfQorCitSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
KCkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFwKCku
cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3Zv
aWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZl
SW5pdGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpCit7Cit9
CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRS
ZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291
cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5x
dWVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1v
cmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGltZSBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZv
ck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRp
YVRpbWUmKQoreworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVy
UHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3Vs
dCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkK
K3sKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVu
ZChkYXRhLnZlY3RvcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMxMjBhOGEyZWNiOTNjMWEzNzllOTFiOTZmYzk5OGQwMzBiZmY1MGUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTWVz
c2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5o
IgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xh
c3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAgOiBw
dWJsaWMgUmVmQ291bnRlZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1YmxpYyBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVz
c2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSgpOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsKKyAg
ICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlh
U2FtcGxlJikgZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBj
b25zdCBmaW5hbDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0
IGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMoY29u
c3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2
YXRlRGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lE
KSBmaW5hbDsKKworICAgIE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1l
Rm9yTWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1l
ZGlhVGltZSYpIGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29t
cGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KSBm
aW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJy
b3IoaW50IGVycm9yQ29kZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFJl
bW90ZU1lZGlhU291cmNlUHJveHk7CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVzc2FnZVJl
Y2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVy
PiYpIGZpbmFsOworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7
CisKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAg
UmVmPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJpdmF0ZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3Nh
Z2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0M2ZlMGUw
MTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisK
K21lc3NhZ2VzIC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAg
IEFwcGVuZChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4NzY0OTVmYjFhY2M5MDRjMWVh
MjUwNjkwOTNiMjAwZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMxNjhlNzlhMDU3ZjlkYmRiOWI4
Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI1OSw2
ICsyNTksOCBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgog
ICAgICAgICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAgICAgJ1dl
YktpdDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0
OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRp
ZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAgICAgICAg
J1dlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTMzODQ3YWUxNmFjYzk5YTczOTQzNDc0
NGQ4YTNkZjZjMjhjYWJmYy4uMjhkYTgyMWU3NjZmYmI3MmY0OTZlNTJjOTlhNDdlODMxOTkzMzlj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC00MjEsNiArNDIxLDE3IEBACiAJCTFENEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1v
dGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8q
IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi87IH07CiAJCTFE
QjAxOTQzMjExQ0YwMDIwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAv
KiBXS1NoYXJlU2hlZXQuaCAqLzsgfTsKIAkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdL
U2hhcmVTaGVldC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFEQkJCMDYxMjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi87IH07CisJ
CTFERDJBNjNCMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzOTI1
NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovOyB9OworCQkx
REQyQTYzQzI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzQTI1
NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi87IH07CisJ
CTFERDJBNjQwMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzRTI1NUUz
RjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovOyB9OworCQkxREQyQTY0
MTI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzRjI1NUUzRjFGMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi87IH07CisJCTFERDJBNjQ0MjU1
RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZG
IC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi87IH07CisJCTFERDJBNjQ1MjU1RTNGM0Qw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwICovOyB9OworCQkxREQyQTY0NzI1NUYzMkIxMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYgLyog
UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggKi87IH07CisJCTFERDJBNjQ4MjU2MEI3NzIw
MEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8q
IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgKi87IH07CisJCTFERDJBNjYzMjU2MTI0NkYw
MEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYyMjU2MTIy
RjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKKwkJMUREMkE2NkUyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjc0MjU2MjMyQTEwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjcyMjU2MjMy
NEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLzsgfTsKIAkJMUYzMzVCQzAxODVCODRGMDAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bkxvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUYzMzVCQkYxODVCODREODAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWRE
ZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTFGNjA0QkFBMTg4OUZCQjgwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50
c0ludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxRjYwNEJBNzE4ODlGQTc0MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJ
bnRlcm5hbC5oICovOyB9OwogCQkxRjc1MDZCMTE4NTkxNjM3MDBFQzBGRjcgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFGMDE4MTY5MTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFt
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0y
ODE0LDYgKzI4MjUsMjggQEAKIAkJMURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEQTQwODlFMjNBODI3Nzgw
MDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFEQkJCMDYxMjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1NoYXJlU2hlZXQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlLmNwcDsgcGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3Vy
Y2UvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzNzI1NURF
Njc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oOyBwYXRoID0gL1ZvbHVtZXMvRGF0YS93ZWJraXQv
T3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYz
OTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRTI1NUUzRjFGMDBGRjdC
NkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjNGMjU1
RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDYyNTVGMzJC
MTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHku
bWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJl
bW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CisJCTFERDJBNjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlhU291cmNl
UHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjY2MjU2MUVEMDQwMEZG
N0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY2OTI1NjIwMjFFMDBGRjdCNkYgLyogUmVt
b3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaDsgc291cmNl
VHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkEyNTYyMDIxRTAwRkY3QjZG
IC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBs
aWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CisJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkYyNTYyMkYx
MTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjcyMjU2MjMyNEYwMEZGN0I2RiAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMURE
MkE2NzMyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFERTA3NkQ5
MjQ2MENDQkQwMEIyMTFFOCAvKiBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYg
LyogV0tTaGFyZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2hh
cmVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUyREZBQzIzQTk1OUY4
MDAzRTAxM0EgLyogUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTU2MzMsNiArNTY2Niw4IEBACiAJCQkJMDc5MjMxMzEyMzlCM0IwQzAwOTU5OEUy
IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDc5MjMxMzIyMzlCM0Iw
QzAwOTU5OEUyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTA3QjFEMDRC
MjNEMzhGQ0UwMDM5OUE2RSAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4g
Ki8sCisJCQkJMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJl
bW90ZS5jcHAgKi8sCisJCQkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTlCNUJFQzI5MjQwMTAxNTgwMDcwQzZFRiAvKiBSZW1v
dGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwICovLAogCQkJCTlCNUJFQzI4MjQwMTAxNTgwMDcw
QzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCAqLywKIAkJCQk5QjVCRUMyRTI0
MDEwMThDMDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Lm1lc3NhZ2VzLmlu
ICovLApAQCAtNTY3Nyw2ICs1NzEyLDEwIEBACiAJCQkJMDdCM0I0NkYyM0FCMkNCMzAwQkE1QjEy
IC8qIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUuaCAqLywKIAkJCQkxRDMyRjg5RDIzQTg0QzVCMDBC
MUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkxRDMyRjg5QjIz
QTg0QkE2MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmggKi8sCisJCQkJMURE
MkE2NDYyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICov
LAorCQkJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLmNwcCAqLywKKwkJCQkxREQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5oICovLAorCQkJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAogCQkJCTA3RTE5RjA4MjNENTMz
QjkwMDk0RkZCNCAvKiBUZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkwN0UxOUYw
OTIzRDUzM0JBMDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTFE
RkREMEUyMjNGNjEwRjAwMEU5QjQ5MCAvKiBWaWRlb0xheWVyUmVtb3RlLmggKi8sCkBAIC01NzQx
LDYgKzU3ODAsMTMgQEAKIAkJCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXIuY3BwICovLAogCQkJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAv
KiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oICovLAogCQkJCTFEMzJGOEE2MjNBODYwMTkw
MEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJ
CQkxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAg
Ki8sCisJCQkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHkuaCAqLywKKwkJCQkxREQyQTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eS5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oICovLAorCQkJCTFERDJBNjQzMjU1RTNGM0Qw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8sCisJCQkJMUREMkE2NDIy
NTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8sCisJCQkJMURE
MkE2NjYyNTYxRUQwNDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2Vz
LmluICovLAogCQkJCTA3RTE5RjA3MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQ
cm94eS5jcHAgKi8sCiAJCQkJMDdFMTlGMDYyM0Q0REM4ODAwOTRGRkI0IC8qIFJlbW90ZVRleHRU
cmFja1Byb3h5LmggKi8sCiAJCQkJMDcxQkM1ODQyM0NDMkMwOTAwNjgwRDdDIC8qIFJlbW90ZVZp
ZGVvVHJhY2tQcm94eS5jcHAgKi8sCkBAIC0xMDM0NiwxMCArMTAzOTIsMTYgQEAKIAkJCQkxRDRE
NzM2QjIzQTlERjU1MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAogCQkJCTFENEQ3MzZDMjNBOURGNjAwMDcxN0EyNSAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJMUQ0RDczNzUyM0E5RUI2ODAw
NzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8s
CisJCQkJMUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2MTI1NjEyMkYx
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAog
CQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKIAkJCQkwRjU5NDdBNTE4N0I1MTc2MDA0Mzc4
NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCTBGNTk0N0E2MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
ck1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2OTI1NjIw
MjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovLAorCQkJ
CTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oICovLAogCQkJCUE1NUJBODIxMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQTU1QkE4MjIxQkEy
NUJCODAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAqLywKIAkJ
CQkxQkJCRTQ5RTE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLApAQCAtMTAzNTcsNiArMTA0MDksOSBAQAogCQkJCUUxOEU2OTE0MTY5
QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkyREU2
OTQzQjE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMkRFNjk0M0MxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0
TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcyMjU2MjMy
NEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKKwkJCQkxREQyQTY3MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQk5M0Q2Qjc4
MTI1NENDQUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTkzRDZCNzgwMjU0Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25p
dGlvblNlcnZlck1lc3NhZ2VzLmggKi8sCiAJCQkJOTNENkI3N0YyNTRDQ0FCQjAwNThERDNBIC8q
IFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0xMTM0NSw2
ICsxMTQwMCw4IEBACiAJCQkJMDcxQkM1OTEyM0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlh
UGxheWVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFENEQ3Mzcx
MjNBOUU1NjIwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxRDRENzM3NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTFE
RDJBNjQ3MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTFERDJBNjQwMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUI3ODQ3MTE2M0YyNDY5MDAwN0I2
OTIgLyogUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTcw
NEZDMUJFMTc1MTEwMDg3NEFGMSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUMxMzM4MDE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0
cnkuaCBpbiBIZWFkZXJzICovLApAQCAtMTEzNTQsNiArMTE0MTEsNyBAQAogCQkJCTBGNTk0NzlC
MTg3QjNCNjAwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRjU5NDdBNDE4N0IzQjdEMDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3OUQx
ODdCM0I2MDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ1RyZWUuaCBpbiBIZWFkZXJzICovLAor
CQkJCTFERDJBNjQ0MjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgyNTFCQTI1Q0ZCMDA3
Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJLmgg
aW4gSGVhZGVycyAqLywKQEAgLTEzMDY3LDYgKzEzMTI1LDcgQEAKIAkJCQk0NDlEOTBEQTIxRkRD
MzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ5MkE3NzkyMTJCNkE2MTAwRjQ5M0ZEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDdFMTlFRkIyM0Q0MDFGMTAwOTRGRkI0IC8qIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQyQTY0ODI1
NjBCNzcyMDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTlCNDc5MDkxMjUzMTU2MzIwMEVDMTFBQiAvKiBNZXNzYWdlQXJndW1lbnREZXNj
cmlwdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ5MkE3ODEyMTJCNkE3MTAwRjQ5M0ZE
IC8qIE1lc3NhZ2VSZWNlaXZlck1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDkyQTc4MjIx
MkI2QTcxMDBGNDkzRkQgLyogTWVzc2FnZVNlbmRlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEz
MTQwLDggKzEzMTk5LDEyIEBACiAJCQkJMDcwMTc4OUUyM0JFOUNGQzAwNUYwRkFBIC8qIFJlbW90
ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzFCQzU4
RjIzQ0UxRUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxRDRENzM3MDIzQTlFNTQ3MDA3MTdBMjUgLyogUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMUREMkE2NDEyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NjMyNTYxMjQ2RjAwRkY3QjZGIC8qIFJlbW90
ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUFDMTMzODUxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNTk0N0E3MTg3QjUxNzYwMDQzNzg1NyAv
KiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkxREQyQTY0NTI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVy
UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NkUyNTYyMDIxRTAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQkJCRTRBMDE5QjY2QzUz
MDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzE1Miw2ICsxMzIxNSw4
IEBACiAJCQkJQTFBREFGQjYyMzY4RTZBODAwOUNCNzc2IC8qIFNoYXJlZE1lbW9yeS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1NzVCMUJCOTIzQ0U5QzBCMDAyMDYzOUEgLyogU2ltdWxhdGVkSW5w
dXREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERTY5NDNEMThCRDJBNjgwMDVD
MTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTFERDJBNjNDMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjc0MjU2MjMyQTEw
MEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzRDZCNzgyMjU0Q0NDRjQwMDU4REQzQSAvKiBTcGVlY2hSZWNv
Z25pdGlvblNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTMz
NERFRDE2REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM2OEVFREUyMzAzQTkwMjAwQkRCMTFBIC8qIFN0b3JhZ2VN
YW5hZ2VyU2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuY3BwCmluZGV4IGUwOWFmMGRjMzJiYjFiYmE1ZWJkODZlNGRjMDY3MGEwMmZm
N2NkOWIuLmRlY2FhM2ViZDY0Y2M0MDU3ODdmMWEzNTlhMzcwM2U3NzgzMmVlOTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5oIgog
I2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETS5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZh
Y3RvcnkuaCIKQEAgLTcxLDYgKzcyLDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lDRE0u
aD4KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsK
QEAgLTE0OCw3ICsxNTMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cHJlcGFy
ZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIE1lZGlhUGxheWVyOgogICAgIH0sIG1faWQp
OwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5
cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwg
Y29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlPiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlOwogICAgIGlmICh1cmwuaXNMb2NhbEZp
bGUoKSkgewpAQCAtNjI0LDE1ICs2MjksMjEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKIH0K
IAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCogY2xpZW50KQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpCi0g
ICAgICAgICAgICByZXR1cm47CisgICAgaWYgKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciA9PSBN
ZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFWRm91bmRhdGlvbk1TRSkg
eworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXI6
OmdlbmVyYXRlKCk7CisgICAgICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBpZGVudGlmaWVyKSwgbV9pZCk7
CisgICAgICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
OjpjcmVhdGUobV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCksIGlkZW50aWZpZXIsIG1f
bWFuYWdlci50eXBlQ2FjaGUobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVyKSwgKnRoaXMsIGNsaWVu
dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBt
YWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fY2FjaGVkU3RhdGUubmV0d29ya1N0
YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7Ci0gICAgICAgIG1f
cGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7Ci0gICAgfSk7CisgICAgICAgICAgICBtX2Nh
Y2hlZFN0YXRlLm5ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1h
dEVycm9yOworICAgICAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKKyAg
ICAgICAgfSk7CisgICAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmlu
ZGV4IGYzNjM3MjUwOWVhOWU0ZjhlMWE3ZDhmN2Y1Mjc2M2MzNGYxMWU0YTAuLjNiM2RiYTI1OTkw
YTkxOTA0OTc1M2NhMzc5OGFlYmQ5YjNiMGYxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aApAQCAtNTYsNiArNTYsNyBAQCBjbGFzcyBWaWRlb0xheWVyTWFuYWdlcjsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTsKIGNsYXNzIFJlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXI7CiBjbGFzcyBVc2VyRGF0YTsKIHN0cnVjdCBUZXh0VHJhY2tQ
cml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbjsKQEAgLTg4LDYgKzg5LDggQEAgcHVibGljOgogICAg
IElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFuYWdlci5n
cHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsgfQogICAgIFdlYkNvcmU6Ok1lZGlh
UGxheWVyKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQogCisgICAgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fY2FjaGVkU3RhdGUucmVhZHlTdGF0ZTsgfQorCiAgICAgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hh
bmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZChk
b3VibGUpOwpAQCAtMTU0LDYgKzE1NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRSYXdDb29r
aWVzKGNvbnN0IFVSTCYsIFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjpHZXRSYXdDb29raWVz
Q2FsbGJhY2smJikgY29uc3Q7CiAjZW5kaWYKIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lk
ZW50aWZpZXIoKTsgfQorICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJl
dHVybiBsb2dnZXIoKTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAKICNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKQEAgLTE3MCw3ICsxNzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJlcGFyZUZv
clBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpQcmVsb2Fk
LCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmUpIGZpbmFsOwogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6TWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYs
IFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOwogI2VuZGlmCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TWVkaWFTdHJlYW1Q
cml2YXRlJikgZmluYWw7CkBAIC0yNTAsNyArMjU4LDYgQEAgcHJpdmF0ZToKICAgICBkb3VibGUg
bWluRmFzdFJldmVyc2VSYXRlKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWJDb3JlOjpNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
Y2FjaGVkU3RhdGUubmV0d29ya1N0YXRlOyB9Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJl
YWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVkU3RhdGUu
cmVhZHlTdGF0ZTsgfQogCiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZVNlZWthYmxlKCkgY29u
c3QgZmluYWw7CiAgICAgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgZmlu
YWw7CkBAIC0zODQsNiArMzkxLDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbW90ZUF1ZGlv
U291cmNlUHJvdmlkZXI+IG1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKICNlbmRpZgogCisjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBt
X21lZGlhU291cmNlUHJpdmF0ZTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxSZW1vdGVNZWRpYVJl
c291cmNlSWRlbnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZT4+
IG1fbWVkaWFSZXNvdXJjZXM7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlm
aWVyLCBSZWY8QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU+PiBtX2F1ZGlvVHJhY2tzOwogICAgIEhh
c2hNYXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPFZpZGVvVHJhY2tQcml2YXRl
UmVtb3RlPj4gbV92aWRlb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZmFlMTcxOTRjOWM1ZWFmMWQwOWI0YjExNWQyODdkOTk4ZTYzMGUzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorCisj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVk
ZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIgorI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01l
ZGlhOworI2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKworUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0
aW9uLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQ
bGF5ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50
KQoreworICAgIGF1dG8gbWVkaWFTb3VyY2VQcml2YXRlID0gYWRvcHRSZWYoKm5ldyBNZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUoZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIGlkZW50aWZpZXIsIG1pbWVU
eXBlQ2FjaGUsIHBsYXllclByaXZhdGUsIGNsaWVudCkpOworICAgIGNsaWVudC0+c2V0UHJpdmF0
ZUFuZE9wZW4obWVkaWFTb3VyY2VQcml2YXRlLmNvcHlSZWYoKSk7CisgICAgcmV0dXJuIG1lZGlh
U291cmNlUHJpdmF0ZTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9u
LCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5
ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQor
ICAgIDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAgICAs
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9taW1lVHlwZUNhY2hlKG1pbWVUeXBl
Q2FjaGUpCisgICAgLCBtX3BsYXllclByaXZhdGUobWFrZVdlYWtQdHIocGxheWVyUHJpdmF0ZSkp
CisgICAgLCBtX2NsaWVudChjbGllbnQpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
LCBtX2xvZ2dlcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nZ2VyKCkpCisgICAgLCBt
X2xvZ0lkZW50aWZpZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ0lkZW50aWZpZXIo
KSkKKyNlbmRpZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgbV9jbGllbnQtPnNldExvZ0lkZW50aWZpZXIobV9sb2dJZGVu
dGlmaWVyKTsKKyNlbmRpZgorfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6On5NZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisK
KyAgICBmb3IgKGF1dG8gaXQgPSBtX3NvdXJjZUJ1ZmZlcnMuYmVnaW4oKSwgZW5kID0gbV9zb3Vy
Y2VCdWZmZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5jbGVhck1l
ZGlhU291cmNlKCk7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQcml2YXRlKQoreworICAg
IERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCBjb250ZW50VHlwZSk7CisKKyAgICBNZWRpYUVuZ2lu
ZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy5pc01lZGlhU291
cmNlID0gdHJ1ZTsKKyAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKKyAgICBpZiAo
bV9taW1lVHlwZUNhY2hlLnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRp
YVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKKyAgICAgICAgcmV0dXJuIEFk
ZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisgICAgQWRkU3RhdHVzIHN0YXR1czsKKyAgICBPcHRp
b25hbDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyOworICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2Vu
ZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNvdXJjZUJ1ZmZlcihj
b250ZW50VHlwZSksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VC
dWZmZXI6OlJlcGx5KHN0YXR1cywgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciksIG1faWRl
bnRpZmllcikpCisgICAgICAgIHN0YXR1cyA9IEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisg
ICAgaWYgKHN0YXR1cyA9PSBBZGRTdGF0dXM6Ok9rKSB7CisgICAgICAgIEFTU0VSVChyZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyLmhhc1ZhbHVlKCkpOworICAgICAgICBhdXRvIG5ld1NvdXJj
ZUJ1ZmZlciA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNyZWF0ZShtX2dwdVByb2Nlc3ND
b25uZWN0aW9uLCAqcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgKnRoaXMpOworICAgICAg
ICBvdXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKKyAgICAgICAgbV9zb3Vy
Y2VCdWZmZXJzLmFwcGVuZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOworICAgIH0KKworICAg
IHJldHVybiBzdGF0dXM7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpkdXJh
dGlvbkNoYW5nZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bWFy
a0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKQoreworfQorCit2b2lkIE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZTo6dW5tYXJrRW5kT2ZTdHJlYW0oKQoreworfQorCitNZWRpYVBsYXllcjo6
UmVhZHlTdGF0ZSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUoKSBjb25zdAor
eworICAgIHJldHVybiBtX3BsYXllclByaXZhdGUgPyBtX3BsYXllclByaXZhdGUtPnJlYWR5U3Rh
dGUoKSA6IE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5
U3RhdGUpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3YWl0Rm9yU2Vl
a0NvbXBsZXRlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZWVr
Q29tcGxldGVkKCkKK3sKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hh
bm5lbCYgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWM5NDQyNWI0OGIzOTZlOTY3YzRl
ODIxNGRmYjZlNTM1YTU1MGJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDk3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlv
bi5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5oIgorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29u
dGVudFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZS5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU7CitjbGFz
cyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOworCitjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGUKKyAg
ICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+CisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlm
Cit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IGNy
ZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwg
UmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAgdmlydHVh
bCB+TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKCk7CisKKyAgICBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZS5nZXQoKTsgfQor
CisgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlIG92ZXJyaWRlcworICAgIEFkZFN0YXR1cyBhZGRT
b3VyY2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBSZWZQdHI8V2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZT4mKSBmaW5hbDsKKyAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZCgp
IGZpbmFsOworICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSBmaW5h
bDsKKyAgICB2b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQg
c2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7Cisg
ICAgdm9pZCB3YWl0Rm9yU2Vla0NvbXBsZXRlZCgpIGZpbmFsOworICAgIHZvaWQgc2Vla0NvbXBs
ZXRlZCgpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9n
Z2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAg
IGNvbnN0IHZvaWQqIG5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1cm4gY2hp
bGRMb2dJZGVudGlmaWVyKG1fbG9nSWRlbnRpZmllciwgKyttX25leHRTb3VyY2VCdWZmZXJJRCk7
IH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZShHUFVQ
cm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlTWVk
aWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwg
V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisKKyAgICBHUFVQcm9jZXNzQ29u
bmVjdGlvbiYgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNo
ZSYgbV9taW1lVHlwZUNhY2hlOworICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
PiBtX3BsYXllclByaXZhdGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudD4gbV9jbGllbnQ7CisgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlPj4gbV9zb3VyY2VCdWZmZXJzOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVy
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hh
bm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworCisgICAgUmVmPGNvbnN0IExvZ2dlcj4g
bV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworICAgIHVpbnQ2NF90
IG1fbmV4dFNvdXJjZUJ1ZmZlcklEIHsgMCB9OworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKaW5kZXggYzYyYzQ2NGZkZmRjZDhjMzU3NTZi
MGUzOGRhZDBmODkzOTA1ODg2Ny4uZTY0NTA4NGJjZDYwYzQ1Y2U3NmYzYTAzY2ZkM2Y3ODNmMTY5
MzQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVDRE1Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUg
PFdlYkNvcmUvQ29udGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24u
aAppbmRleCA2NTMyZDcyZTdjZTRiODUzZjJkM2I5MzQ1NWUxOTI4MWM0MTlmYTQzLi5hODY1ODBi
ZjE4NjMxYmIzYmM4MjZiNTNhZjFmMmQ1NDg2ZTQ2MjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFu
Y2VDb25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdlYkNvcmUvQ29u
dGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAppbmRleCAxZDZiM2VlM2U5NWU4MGFl
ODYwZTk2NmI4YzkyNzNkMDg2NTNhOGFjLi5hNDE2OWQ1YjFhNTY4OGNiZDY5YzU5ZDhiOGE5ZmMy
ZGFkNWIyY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKQEAgLTY2LDYgKzY2LDggQEAg
cHVibGljOgogCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyIGZpbmRSZW1vdGVQ
bGF5ZXJJZChjb25zdCBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqKTsKIAor
ICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3Jl
YXRlUmVtb3RlTWVkaWFQbGF5ZXIoV2ViQ29yZTo6TWVkaWFQbGF5ZXIqLCBXZWJDb3JlOjpNZWRp
YVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwogCkBAIC04Myw4ICs4NSw2IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJF
bnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBXYWxsVGltZSBtb2Rp
ZmllZFNpbmNlKTsKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBIYXNoU2V0PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+Jik7CiAKLSAgICBS
ZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpNZWRpYVBs
YXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwotCiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpNZWRpYVBsYXllcklkZW50aWZpZXIsIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Pj4gbV9wbGF5ZXJzOwogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKICAgICBtdXRhYmxlIEdQ
VVByb2Nlc3NDb25uZWN0aW9uKiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uIHsgbnVsbHB0ciB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNjU5NDYxMDA2NzA1
MTcyZTE2ODA2ZmUxNzM1NTUzZDEzOTRiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKQEAg
LTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL09iamVj
dElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllclR5cGU+Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YWExMTY1ZDBkYTQyZWY2YzhiNjMzNzM3NTBkOGQ4M2NmMDEy
MzA4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisjaW5jbHVk
ZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKKyNl
bmRpZgorfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKK1JlZjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIs
IGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRlKQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24sIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIG1lZGlhU291cmNl
UHJpdmF0ZSkpOworfQorCitTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwg
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
LCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0ZSkKKyAg
ICA6IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAgLCBt
X3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIocmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
cikKKyAgICAsIG1fbWVkaWFTb3VyY2VQcml2YXRlKG1ha2VXZWFrUHRyKG1lZGlhU291cmNlUHJp
dmF0ZSkpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihtX21lZGlh
U291cmNlUHJpdmF0ZS0+bG9nZ2VyKCkpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIobV9tZWRpYVNv
dXJjZVByaXZhdGUtPm5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKK3sK
KyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b24ubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7Cit9CisKK1NvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6On5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIEFTU0VSVCghbV9jbGllbnQpOworCisgICAgbV9n
cHVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldENsaWVudChTb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50KiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBjbGllbnQ7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFy
PiYmIGRhdGEpCit7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OkFwcGVuZChJUEM6OkRhdGFSZWZl
cmVuY2UoZGF0YSkpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpOworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmFib3J0KCkKK3sKK30KKwordm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpyZXNldFBhcnNlclN0YXRlKCkKK3sKK30KKwordm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlhU291cmNlKCkKK3sKK30KKwor
TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVhZHlT
dGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRp
YVNvdXJjZVByaXZhdGUtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkKK3sKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lE
KQoreworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVldWVTYW1wbGUo
UmVmPE1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCiti
b29sIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUoYm9vbCkKK3sKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2Ft
cGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29u
c3QgQXRvbVN0cmluZyYpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRp
bWUoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3ZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25U
aW1lKGNvbnN0IEF0b21TdHJpbmcmKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OmNhblN3aXRjaFRvVHlwZShjb25zdCBDb250ZW50VHlwZSYpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGll
bnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpOworfQor
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7
Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI5YTAxYjA2MjVlM2I3YzdmMDExODRhODNjMzZlNTQ5MTIyZjA5
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFTYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4KKyNpbmNs
dWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVm
ZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlOworCitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIGZpbmFsCisgICAg
OiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4KKyAgICAs
IHB1YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlCisgICAgLCBwcml2YXRlIElQQzo6
TWVzc2FnZVJlY2VpdmVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRl
IExvZ2dlckhlbHBlcgorI2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmKTsK
KyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCk7CisKKyAgICB2b2lkIGNs
ZWFyTWVkaWFTb3VyY2UoKSB7IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gbnVsbHB0cjsgfQorCitw
cml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24mLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGUmKTsKKworICAgIC8vIFNvdXJjZUJ1ZmZlclByaXZhdGUgb3ZlcnJpZGVzCisgICAg
dm9pZCBzZXRDbGllbnQoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCopIGZpbmFs
OworICAgIHZvaWQgYXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKSBmaW5hbDsKKyAgICB2
b2lkIGFib3J0KCkgZmluYWw7CisgICAgdm9pZCByZXNldFBhcnNlclN0YXRlKCkgZmluYWw7Cisg
ICAgdm9pZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQg
c2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7Cisg
ICAgdm9pZCBmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lk
IGVucXVldWVTYW1wbGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNldEFjdGl2ZShib29sKSBm
aW5hbDsKKyAgICB2b2lkIG5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0
IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgY2FuU2V0TWluaW11bVVwY29t
aW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QgZmluYWw7CisgICAg
dm9pZCBzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcm
LCBjb25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyTWluaW11bVVwY29taW5n
UHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgZmluYWw7CisgICAgYm9vbCBjYW5T
d2l0Y2hUb1R5cGUoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmKSBmaW5hbDsKKworICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKworICAgIEdQVVByb2Nl
c3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOworICAgIFdlYWtQ
dHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291cmNlUHJpdmF0ZTsKKyAgICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIgfTsK
KworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCBjaGFyKiBs
b2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5l
bCgpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IExvZ2dlciYgc291cmNlQnVmZmVyTG9nZ2VyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBz
b3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRpZmllcigp
OyB9CisKKyAgICBSZWY8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBt
X2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFh
MTk4MjExY2U5OWFiYWQ1YjhlZTA3ZmQ0ZTE3N2JkZmE5NWE0MGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CisgICAgU291cmNlQnVmZmVy
UHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2Ev
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggNGYzZGU3NzNjMTIzNmYzMzBm
NTQwYTljOGQ2NDEwMGNmYjA1YmJjMC4uYjZlMzQ2MWZmOTc0OThhM2MzYzBlZjA0YWZlMjBlYTM2
OTFkZGEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9j
b2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29h
Lm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRG
T1JNKENPQ09BKQogCisjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKICNpbXBv
cnQgIlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbXBvcnQgPFdlYkNvcmUvVmlkZW9M
YXllck1hbmFnZXJPYmpDLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEku
aD4K
</data>
<flag name="commit-queue"
          id="431074"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414253</attachid>
            <date>2020-11-16 10:41:26 -0800</date>
            <delta_ts>2020-11-16 10:54:08 -0800</delta_ts>
            <desc>WIP patch: enable unified build</desc>
            <filename>bug-218912-20201116104126.patch</filename>
            <type>text/plain</type>
            <size>127799</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4Njk1MjNjNDAxODc1OWVl
NzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2VjNmIxOWEzZDczMjRlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KIAog
ICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOwogICAg
IHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNlQnVmZmVyUHJp
dmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6CisgICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZm
ZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6
Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lk
bC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBl
CiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhh
dCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAgIC8vIHNwZWNpZmllZCBm
b3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMsIHRoZW4g
dGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hlZElkTGltaXQ6CisgICAg
Y2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQ6CiAgICAg
ICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVm
YXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRT
b3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAg
MzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJjZUJ1ZmZlciBv
YmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2VlZGVkRXJyb3IgZXhjZXB0
aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0MjkyNjhkNzYxNzVlOTMyMDBl
YzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEzNGIyZGYzY2RkYjllOTAz
NWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBUb3A6IElmIHRoZSBpbnB1
dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBtb3JlIGRhdGEgc3RlcCBi
ZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIHNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNjZWVkZWQpOworICAgICAg
ICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0OjpBcHBlbmRT
dWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTgsNyArNjU4LDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlu
cyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRlIHN0cmVhbSBmb3JtYXQg
c3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5kIGVycm9yIGFsZ29yaXRo
bSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0cnVlIGFuZCBhYm9ydCB0
aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdGYWlsZWQpIHsKKyAgICBp
ZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkgewogICAgICAgICBFUlJP
Ul9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAgICAgICAgYXBwZW5kRXJy
b3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdCBy
ZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAzLjUuNQogICAgIC8vIDIu
SWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRoZSBwcmV2aW91cyBzdGVw
IHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChyZXN1bHQg
IT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kUmVzdWx0OjpBcHBl
bmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMuIFNldCB0aGUgdXBkYXRp
bmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYxZDI5YzBjMjZiMmU1ZWQx
NjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1ZmUwOWI4MzkzZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIwMDRCRDg2RiAvKiBJU09Q
cm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8qIElTT1Byb3RlY3Rpb25T
Y2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09yaWdpbmFsRm9ybWF0Qm94
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg3MUM2
NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3guaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAx
MkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNr
UXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVE
MDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0JCUNENjQxRUI0MTgxOEY1
RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291
cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyog
TWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q2
NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUIyMTgxOEY1RUQwMEVF
NEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAwMDQ3RkRFIC8qIElTT0Zh
aXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3Ry
ZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDdE
MzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ4MUM3QTE2
QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVW
aWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAv
KiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFu
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
RENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUw
IC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5
RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RE
RTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIz
RUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlD
RERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThC
NTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwogCQlD
REUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZDRTYw
MEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZjOGJlNmM4N2EwZjJmZGU4
MjJiZDEzMDQwZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNmZDU0ODg5YTNlYmQ4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNDU3LDcgKzE0
NTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBVUkwmIGlu
aXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAgICAgLy8gd2hpbGUgcHJv
Y2Vzc2luZyByZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAgICAgICAgbV9tZWRpYVNv
dXJjZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5
ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9IGVsc2UgaWYgKCFtX3Bs
YXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNlLmdldCgpKSkgeworICAg
ICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkp
KSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUgTWVkaWFTb3VyY2UgYmVm
b3JlIHdlIGZvcmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAgICAgICAgbV9tZWRpYVNv
dXJjZS0+ZGV0YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAgICAgbV9tZWRpYVNvdXJj
ZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAppbmRleCA3YzI3
OGE2OGUzODlhZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4YjkzY2E5YTk1MjgyMjRh
ZWEyM2M0NDVlOGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZW50VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmF3KCkgY29u
c3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV90eXBlLmlzRW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0Owor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKIAogICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAppbmRleCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlkMDkxODVhNzJiLi4xNzA0
Mzg1ZGRjNzg4ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05Niw3ICs5Niw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwg
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5kaWYKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbCB7
IH0KQEAgLTQ3MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyCiB9CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwm
IHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqIG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVy
bCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKIHsKICAgICBBU1NFUlQo
IW1fcmVsb2FkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1lZGlhU291cmNlKTsKIAog
ICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2NvbnRlbnRUeXBlID0gY29u
dGVudFR5cGU7CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBtX3VybCA9IHVybDsKICAg
ICBtX2tleVN5c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250ZW50TUlNRVR5cGVXYXNJ
bmZlcnJlZEZyb21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1ODYsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBNZWRpYVBsYXllckZhY3Rv
cnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAgICAgbV9wcml2YXRlLT5s
b2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsKKyAgICAgICAgICAgIG1f
cHJpdmF0ZS0+bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CiAgICAgICAgIGVsc2UK
ICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFjYmJiYjFhNjk4Y2EzZDQw
NzA2NjJmMWQzZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIzOTZhZjMwMmVkZTUyMmZi
ZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSk7CiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVu
dFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBib29sIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
aW5kZXggZjliOTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRhNTgwMi4uY2Q5N2M2MjY5
ZWJiYTI2N2M3MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQzLDcgKzQz
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwuc3RyaW5nKCkpOyB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRp
YVN0cmVhbVByaXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdmMTRkOGUxOTY2YjgzOTcx
ODRiZDJiZDg3ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNjMzQxNzNiNTk0N2U4NmEz
MzNhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhU291cmNlUHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlX2gKLSNkZWZpbmUg
TWVkaWFTb3VyY2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogCkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgTWVkaWFTb3VyY2VQcml2
YXRlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVm
YXVsdDsKIAotICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElk
TGltaXQgfTsKKyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBP
aywKKyAgICAgICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVkSWRMaW1pdAorICAgIH07
CiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBl
JiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
dXJhdGlvbkNoYW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05v
RXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKQEAgLTg4LDcgKzkyLDE1
IEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9m
U3RyZWFtU3RhdHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4geworICAgIHVzaW5nIHZh
bHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6
QWRkU3RhdHVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
czo6T2ssCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzOjpSZWFjaGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAog
I2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCAwMDU2NWE5MWZlYTk4
YTY0MThhNDQ2MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJlYTI0YWFlNjk4ZWUxNWIw
NjgxOTE1NDFjMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC03MywxMSArNzMsMjgg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZh
c3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUm
LCBjb25zdCBNZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVuZFJlc3VsdCB7IEFwcGVu
ZFN1Y2NlZWRlZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxlZCB9OworICAgIGVudW0g
Y2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFwcGVuZFN1Y2NlZWRlZCwK
KyAgICAgICAgUmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2luZ0ZhaWxlZAorICAgIH07
CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJl
Y2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9OwogCi19Cit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAgICAgICAgV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQs
CisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dDo6UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAgPjsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5k
ZXggYWQ0YmM5MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5Mi4uNWFiNzEzNzU0NzZj
NWYzMDdjZDljNTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcm
IHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBzZXROZXR3b3JrU3RhdGUo
TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDQzOGU0
ODRhZGViYzZiYmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJmOGY3NWZhYjQ0NjQ3ODc5
NDEzNjc4ZjQ2YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFjZSBvdmVycmlkZXMuCiAg
ICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IHNldE5l
dHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUyZTNhMDdlMTNkZmQwOTE1
ZTA3N2UzZGY5Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIzMDk0MmZkMjY1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJk
d2FyZVN1cHBvcnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNrSGFyZHdhcmVTdXBwb3J0
KCkgY29uc3Q7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXIm
IGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29u
c3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVu
dGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lk
Kj4obV9sb2dJZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50
aWZpZXIoKTsgfQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVy
biBsb2dnZXIoKTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0ZSB7CiAgICAgICAgIFNl
ZWtpbmcsCkBAIC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwp
IG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUxYWUyNWIzYzk0Mjc4Mzg0
NjkyYWIwMWFlYTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJhOGFjZTVmYTA3NzczNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAg
ICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNs
aWVudCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBiYWRmNDY4Zjg2Y2U0Yzku
LmE0ZjRkNDQ2OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCop
IG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLm1tCmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0NjE2YTgyYjNjMGU3NjMu
LjA5NGNlYjcwN2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQogfQogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
Ojpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkg
c3VwcG9ydHMgTWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhp
c10gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5oCmluZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEyMDk0OGY2ZGFjZTYuLmRj
NDYyMDNiZThmNGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDggKzIz
LDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQ19oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdtYSBv
bmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCkBA
IC0xNDksNSArMTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
T1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWY0NTNhZThk
ZGJlODE0NThkMmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNhNzk0ZmEwMTY5ZjljZTBm
NmY5MmZlYWI1NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEgQEAgTWVkaWFTb3VyY2VQ
cml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVm
ZmVyKGNvbnN0IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwogICAgIHBh
cmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBN
ZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJu
IE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwog
CiAgICAgYXV0byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlw
ZSk7CiAgICAgaWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAg
ICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gbmV3U291cmNl
QnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0ZSh0aGlzLCBwYXJzZXIu
cmVsZWFzZU5vbk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTk3LDcg
Kzk3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQcml2YXRlID0gbmV3U291
cmNlQnVmZmVyLmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUo
bmV3U291cmNlQnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1
czo6T2s7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6cmVtb3ZlU291cmNl
QnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggOTE0OTZkMjQx
ZmZiNjEwZDk2OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVlZTUxYmRhMTRiOWI1ZjY2
MzQxNWI5ODQ2NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYgQEAKICNpbXBvcnQgIk1l
ZGlhU2FtcGxlLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk1l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclBhcnNlckFWRk9i
akMuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKQEAgLTU4Niw3ICs1
ODUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQo
KQogICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9hZGluZ1Byb2dyZXNzc2Vk
KHRydWUpOwogCiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVm
ZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OlBhcnNpbmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3OTE5YTBlOWIzMzE5Y2Zm
NDZjMmZmYzEwMWYxLi41N2I2ODM4MzIwNjM0MDg2MzI2YjY0OGI2N2I3YjY0MzA5M2EyYjRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MzkxLDcgKzM5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFBy
b3Blcmx5IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmllcyB0byBmYWxsYmFjayB0
byB0aGUgbmV4dCBNZWRpYVBsYXllclByaXZhdGUuCiAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRp
YVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBlMDE2MTViMGYzYTM1MGQ2ZjA3NTA4NjJl
MzYwYTZiMGNkYjc3NDlmLi5jMDhhZjhkMmI4NmQyNGMzMDQ1ZDFjNzIwNGQ0ZjkzZjBlZDBhNTM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0x
NDIsNyArMTQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyAmdXJsKSBv
dmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9p
ZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwog
I2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJl
YW1Qcml2YXRlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2UuY3BwCmluZGV4IDdkMGM3ZDdjZjAyZjQyYWVjNzNkY2MzODI3YmJiMmIxN2MzMzUyZjEu
LmM3YTBmNzFkZmU2OGZjNmVkNjJjOTY1ZTU5ODgwZDkzMjliYmY3YjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVk
aWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3Vy
Y2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCkBAIC0xMTEsNyArMTExLDcgQEAgdm9p
ZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25zdCBTdHJpbmcmKQogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
Ojpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogc291cmNlKQor
dm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqIHNvdXJjZSkKIHsKICAgICBtX21lZGlhU291cmNlUHJpdmF0ZSA9
IE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmNyZWF0ZSgqdGhpcywgKnNvdXJjZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKaW5kZXggN2RmYzFmMjI4ZGEyMTM5
NGYzNzZjN2YyOTY0Y2YxNDQ2ZThjYTMxZS4uMDU4YzYzNDI5MDZhMWExNzQ3OTEwMmIxNTU4NDk0
NzIyMDdmY2Q5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaApA
QCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIE1lZGlhUGxheWVyUHJp
dmF0ZSBPdmVycmlkZXMKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRl
OwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9p
ZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlIHsgfQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNv
dXJjZVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAppbmRleCA2ZTIxYjVkZDJiODk3ZTg3YWFmYTAw
ZTc1YmM4ZmY4ZmYxZWVlMGY2Li44ZjgyOGNjYTk1OTcyNTcyM2JhNmVjODI0MjFmYzg4MTlkZjAy
YTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKQEAgLTYzLDEyICs2
MywxMiBAQCBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNb2NrTWVkaWFTb3VyY2VQcml2
YXRlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udAogICAgIHBhcmFtZXRlcnMuaXNNZWRpYVNv
dXJjZSA9IHRydWU7CiAgICAgcGFyYW1ldGVycy50eXBlID0gY29udGVudFR5cGU7CiAgICAgaWYg
KE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpzdXBwb3J0c1R5cGUocGFyYW1ldGVycykgPT0g
TWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCi0gICAgICAgIHJldHVy
biBOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsK
IAogICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmNy
ZWF0ZSh0aGlzKSk7CiAgICAgb3V0UHJpdmF0ZSA9IG1fc291cmNlQnVmZmVycy5sYXN0KCk7CiAK
LSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgTW9j
a01lZGlhU291cmNlUHJpdmF0ZTo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZh
dGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKaW5kZXgg
ZjRkYWQwMzcxMzAzMTg0OWU2MzdmOTdiYjA3OGQyM2ZlODY5ODFhNS4uMDVjZGM1MDM1ZDZmNDky
MDQyZDdhYjFlZGY3Y2FiYzcwZjM1ZjIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVy
UHJpdmF0ZS5jcHAKQEAgLTEzOSw5ICsxMzksOSBAQCB2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2
YXRlOjpzZXRDbGllbnQoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCogY2xpZW50KQogdm9pZCBN
b2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRh
dGEpCiB7CiAgICAgbV9pbnB1dEJ1ZmZlci5hcHBlbmRWZWN0b3IoZGF0YSk7Ci0gICAgU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZDsKKyAgICBTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50OjpBcHBlbmRSZXN1bHQgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBw
ZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQ7CiAKLSAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5z
aXplKCkgJiYgcmVzdWx0ID09IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2Nl
ZWRlZCkgeworICAgIHdoaWxlIChtX2lucHV0QnVmZmVyLnNpemUoKSAmJiByZXN1bHQgPT0gU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpIHsK
ICAgICAgICAgYXV0byBidWZmZXIgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKG1faW5wdXRCdWZmZXIu
ZGF0YSgpLCBtX2lucHV0QnVmZmVyLnNpemUoKSk7CiAgICAgICAgIHNpemVfdCBib3hMZW5ndGgg
PSBNb2NrQm94OjpwZWVrTGVuZ3RoKGJ1ZmZlci5wdHIoKSk7CiAgICAgICAgIGlmIChib3hMZW5n
dGggPiBidWZmZXItPmJ5dGVMZW5ndGgoKSkKQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIE1vY2tT
b3VyY2VCdWZmZXJQcml2YXRlOjphcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYgZGF0YSkK
ICAgICAgICAgICAgIE1vY2tTYW1wbGVCb3ggc2FtcGxlQm94ID0gTW9ja1NhbXBsZUJveChidWZm
ZXIucHRyKCkpOwogICAgICAgICAgICAgZGlkUmVjZWl2ZVNhbXBsZShzYW1wbGVCb3gpOwogICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OlBhcnNpbmdGYWlsZWQ7CisgICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OlBhcnNpbmdGYWlsZWQ7CiAKICAgICAgICAgbV9pbnB1
dEJ1ZmZlci5yZW1vdmUoMCwgYm94TGVuZ3RoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYWIxNWZiZjUxZWYzNjhmYmU0NzQ1
MzQwZDI2MTdjMmY3MzhiYzBiNC4uZWRiNmNhNTk3OWQyZjRkZWY4YjJiMmU3NzNmOWQ2OWFlNzg2
ZTdlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dApAQCAtMzUsNiArMzUsOCBAQCAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUxlZ2FjeUNETVNlc3Npb25Qcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL0dQVVByb2Nlc3MvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5Lm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIubWVzc2FnZXMuaW4KQEAgLTk1LDggKzk3
LDggQEAgJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHkubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9JbnNwZWN0
b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yUHJveHkubWVzc2Fn
ZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlF
eHRlbnNpb25Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJv
Y2Vzcy9NZWRpYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzNiw2
ICsxMzgsNyBAQCAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRp
b1Nlc3Npb24ubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24ubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TVNlc3Npb24ubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlh
L1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dl
YlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3Mu
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENSZW1vdGVDb2RlY3MubWVzc2FnZXMuaW4KQEAgLTE0Myw5ICsxNDYsOSBAQCAkKFBST0pFQ1Rf
RElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0
aW9uTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0
b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgotJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdv
cmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJTb2NrZXRDaGFubmVsLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA0ZWIxMjVlOWFkYzc2NWE1
YWU4ZGMxMTc1ODdlZTNlODdjNzdhNDM4Li43NTY3OWY1NWY1YWUzOTliNWVhZjQ3N2YxODkzMjU2
YmMyNDg4NDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKQEAgLTIxNSw2ICsyMTUsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJNZXNzYWdlc1JlcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNz
aW9uSGVscGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eU1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90
ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2Vz
UmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9S
ZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2Jq
ZWN0UmVnaXN0cnlNZXNzYWdlc1JlcGxpZXMuaApAQCAtMjMzLDYgKzIzNiw5IEBAICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllck1lc3NhCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlc1JlcGxpZXMuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5TWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzUmVwbGllcy5oCkBAIC0y
NTEsNiArMjU3LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvU2VydmljZVdvcmtlckZldGNoVGFza01lc3NhZ2VzUmVwbGkKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlck1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVj
b2duaXRpb25TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29n
bml0aW9uU2VydmVyTWVzc2FnZXNSZXBsaWVzLmgKQEAgLTM0OCw5ICszNTcsNiBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXJNZXNzYWdlc1JlcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSURCU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCU2VydmVyTWVzc2FnZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCU2VydmVyTWVzc2Fn
ZXNSZXBsaWVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJ
RXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3Nh
Z2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9ySW50
ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlc1Jl
cGxpZXMuaApAQCAtMzYwLDYgKzM2Niw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rvck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9y
VUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250
cm9sbGVyTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZXNSZXBsaWVzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
clVJTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VzUmVwbGllcy5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYTc2YjM5NmZlMDUxMzk4NzBhMWIwMWMx
NGMxNDFkY2Y0NWE5MmM0NC4uMzc3MDFiMDFjM2MxYTJjMzAwZTFkZDJkNzJlNmI4NTIzN2Y0MjRi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc0LDEyICsxNzQsMTMgQEAgTUVT
U0FHRV9SRUNFSVZFUlMgPSBcCiAJV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cyBcCiAJV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBcCiAJ
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIFwKLQlXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24gXAotCVdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAotCVdlYlByb2Nlc3MvR1BVL21lZGlhL2lv
cy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvRGVzdGluYXRpb25Qcm94eSBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVk
aW9TZXNzaW9uIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3Zp
ZGVyTWFuYWdlciBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uIFwKKwlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKKwlX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIFwKKwlXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNz
L1dlYlN0b3JhZ2UvU3RvcmFnZUFyZWFNYXAgXAogCVdlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyIFwKIAlXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyIFwKQEAgLTI0MCwxMyArMjQxLDE1IEBAIE1FU1NBR0VfUkVD
RUlWRVJTID0gXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uUHJv
eHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNUHJveHkgXAogCUdQVVByb2Nlc3MvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvbk1hbmFnZXIgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNRmFjdG9yeVBy
b3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwKIAlH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlUHJveHkgXAogCUdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTGVnYWN5Q0RNUHJveHkgXAogCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkgXAotCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5h
dGlvbk1hbmFnZXIgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBc
CisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCisJR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5IFwKIAlXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Db25uZWN0
aW9uVG9XZWJQcm9jZXNzIFwKIAlXZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzIFwKICMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBh
cmFtZXRlcnMuaAppbmRleCBjNjM2Y2UxYzQ4MzkyNzRjZmJkMDA0MWI4MGMxYzBiY2YyMzVhMWFj
Li45ODBkNjQxY2IxZTgxNDc4ZjQ1OTE5OGUyMTY3NjdhNWRhMTgzNDY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
CkBAIC0yOCw3ICsyOCw2IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiAjaW5jbHVkZSAi
U2FuZGJveEV4dGVuc2lvbi5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudFR5cGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFj
dG9yeVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdh
Y3lDRE1GYWN0b3J5UHJveHkuY3BwCmluZGV4IGZiYWYzOWFlMzE5NDdmNTc3ZDk2OTFmZTMxMWZj
MmUxNjI3MzMxNGUuLjc0OWIxZDM3NWQ0YWQ5MzlmYTBkZjFjNzU3ZTU5NDFkNzZkYTQ4ZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1G
YWN0b3J5UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVMZWdhY3lDRE1GYWN0b3J5UHJveHkuY3BwCkBAIC0xMzYsNyArMTM2LDYgQEAgUmVtb3RlTGVn
YWN5Q0RNU2Vzc2lvblByb3h5KiBSZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHk6OmdldFNlc3Np
b24oY29uc3QgUmVtb3QKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotCiB9CiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuY3BwCmluZGV4IDg3ZDA2NzQ1ZDAwOGM1MWZjNDEyN2I0MGIyMTI3ZTY3NGEx
YzgxNzEuLjcwMTM1NzA3ODFmOGY1MTdjODE4ZDIxMGQ5MjZjYTZlMjQ2ZTk3ZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291
cmNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VMb2FkZXIuaCIK
ICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oIgorI2luY2x1ZGUgIlJlbW90
ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVRleHRUcmFja1By
b3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlVmlkZW9UcmFja1Byb3h5LmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0xMzEsNiArMTMyLDE2IEBAIHZvaWQgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246
OkhhbmRsZT4mCiAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb25maWd1cmF0aW9uKSk7
CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclBy
b3h5Ojpsb2FkTWVkaWFTb3VyY2UoVVJMJiYgdXJsLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIgbWVkaWFTb3VyY2VJZGVudGlmaWVyKQoreworICAgIG1fbWVkaWFTb3VyY2VQcm94eSA9IGFk
b3B0UmVmKCpuZXcgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShtZWRpYVNvdXJjZUlkZW50aWZpZXIs
IG1fbWFuYWdlci5ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkpKTsKKyAgICBtX21hbmFnZXIu
Z3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpLCBtZWRpYVNvdXJjZUlkZW50aWZpZXIudG9VSW50NjQoKSwgKm1fbWVkaWFTb3Vy
Y2VQcm94eSk7CisKKyAgICBtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2VQcm94eS5n
ZXQoKSk7Cit9CisjZW5kaWYKKwogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpjYW5jZWxM
b2FkKCkKIHsKICAgICBtX3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLnN0b3AoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oCmluZGV4IDg2YWE0MmNlYmZkNzAzZTBjMGJlYmMzZWQwZDBlNDE4NTU5YTY2N2Eu
LmM3YjNjOTZhNWQzMGYzYzQ1NjA5NjJiMTFmOWJkN2ZlYWRkZDhiMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
aApAQCAtNTIsNiArNTIsMTEgQEAKICNpbmNsdWRlICJSZW1vdGVDRE1JbnN0YW5jZVByb3h5Lmgi
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiUmVtb3RlTWVk
aWFTb3VyY2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5o
IgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJTaGFyZWRSaW5nQnVm
ZmVyU3RvcmFnZS5oIgogI2VuZGlmCkBAIC0xMDksNiArMTE0LDkgQEAgcHVibGljOgogICAgIHZv
aWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwogCiAgICAgdm9pZCBsb2FkKFVSTCYmLCBPcHRpb25h
bDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JiYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBl
JiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24mJik+JiYpOworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgdm9p
ZCBsb2FkTWVkaWFTb3VyY2UoVVJMJiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllcik7Cisj
ZW5kaWYKICAgICB2b2lkIGNhbmNlbExvYWQoKTsKIAogICAgIHZvaWQgcHJlcGFyZVRvUGxheSgp
OwpAQCAtMzAwLDYgKzMwOCw5IEBAIHByaXZhdGU6CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0
ZSBtX2NhY2hlZFN0YXRlOwogICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9u
IG1fY29uZmlndXJhdGlvbjsKICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPE1l
ZGlhVGltZT4pPiBtX3BlcmZvcm1UYXNrQXRNZWRpYVRpbWVDb21wbGV0aW9uSGFuZGxlcjsKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFJlZlB0cjxSZW1vdGVNZWRpYVNvdXJjZVByb3h5
PiBtX21lZGlhU291cmNlUHJveHk7CisjZW5kaWYKIAogICAgIFdlYkNvcmU6OkxheW91dFJlY3Qg
bV92aWRlb0NvbnRlbnRCb3hSZWN0OwogICAgIGZsb2F0IG1fdmlkZW9Db250ZW50U2NhbGUgeyAx
LjAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjk2YTBkYTI0ZDc2
ZTVhZTc0NWY4MjFhNTFhODQwMThmNjU1ZjE5Mi4uYTI4ODYxOGY5OWU0ZjU1ODg5ZWJkOWUzNDBm
Yzc3NDRmNTY5OTc0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI3
LDYgKzI3LDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3Vu
dGVkIHsKICAgICBQcmVwYXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgZW51bTp1aW50
OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlByZWxvYWQgcHJlbG9hZCwgYm9vbCBwcmVz
ZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlRm9yUmVuZGVyaW5nLCBmbG9hdCB2aWRlb0NvbnRlbnRT
Y2FsZSkgLT4gKE9wdGlvbmFsPFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEPiBpbmxpbmVM
YXllckhvc3RpbmdDb250ZXh0SWQpIEFzeW5jCiAKICAgICBMb2FkKFVSTCB1cmwsIE9wdGlvbmFs
PFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBzYW5kYm94RXh0ZW5zaW9uLCBXZWJD
b3JlOjpDb250ZW50VHlwZSBjb250ZW50VHlwZSwgU3RyaW5nIGtleVN5c3RlbSkgLT4gKHN0cnVj
dCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiBwbGF5ZXJDb25maWd1cmF0
aW9uKSBBc3luYworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgTG9hZE1lZGlhU291cmNl
KFVSTCB1cmwsIFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1lZGlhU291cmNl
SWRlbnRpZmllcikgU3luY2hyb25vdXMKKyNlbmRpZgogICAgIENhbmNlbExvYWQoKQogCiAgICAg
UHJlcGFyZVRvUGxheSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU4NTZiNWNkMmE2
M2E4ODdmNjMzMzQ4OWJmYTFjZjY2MGJkY2VjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcApAQCAtMCww
ICsxLDk4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJl
bW90ZU1lZGlhU291cmNlUHJveHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvQ29udGVudFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5KFJlbW90ZU1lZGlh
U291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBj
b25uZWN0aW9uVG9XZWJQcm9jZXNzKQorICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisg
ICAgLCBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29ubmVjdGlvblRvV2ViUHJvY2VzcykKK3sK
K30KKwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZXRQcml2YXRlQW5kT3BlbihSZWY8
TWVkaWFTb3VyY2VQcml2YXRlPiYmIG1lZGlhU291cmNlUHJpdmF0ZSkKK3sKKyAgICBBU1NFUlQo
IW1fcHJpdmF0ZSk7CisgICAgbV9wcml2YXRlID0gV1RGTW92ZShtZWRpYVNvdXJjZVByaXZhdGUp
OworfQorCitNZWRpYVRpbWUgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVyYXRpb24oKSBjb25z
dAoreworICAgIHJldHVybiB7IH07Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVS
YW5nZXM+IFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmJ1ZmZlcmVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbWFrZVVuaXF1ZTxQbGF0Zm9ybVRpbWVSYW5nZXM+KCk7Cit9CisKK3ZvaWQgUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eTo6c2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmKQoreworfQorCit2
b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1vbml0b3JTb3VyY2VCdWZmZXJzKCkKK3sKK30K
KworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
OjpzZXRMb2dJZGVudGlmaWVyKGNvbnN0IHZvaWQqKQoreworfQorI2VuZGlmCisKK3ZvaWQgUmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6ZmFpbGVkVG9DcmVhdGVSZW5kZXJlcihSZW5kZXJlclR5cGUp
Cit7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKGNv
bnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgQWRkU291cmNlQnVmZmVyQ2Fs
bGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291
cmNlQnVmZmVyUHJpdmF0ZTsKKyAgICBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBzdGF0
dXMgPSBtX3ByaXZhdGUtPmFkZFNvdXJjZUJ1ZmZlcihjb250ZW50VHlwZSwgc291cmNlQnVmZmVy
UHJpdmF0ZSk7CisKKyAgICBPcHRpb25hbDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiBy
ZW1vdGVTb3VyY2VJZGVudGlmaWVyOworICAgIGlmIChzdGF0dXMgPT0gTWVkaWFTb3VyY2VQcml2
YXRlOjpBZGRTdGF0dXM6Ok9rKSB7CisgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IFJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXI6OmdlbmVyYXRlKCk7CisgICAgICAgIGF1dG8gcmVtb3RlU291
cmNlQnVmZmVyUHJveHkgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6Y3JlYXRlKGlkZW50aWZp
ZXIsIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcywgc291cmNlQnVmZmVyUHJpdmF0ZS5yZWxlYXNl
Tm9uTnVsbCgpKTsKKyAgICAgICAgbV9zb3VyY2VCdWZmZXJzLmFwcGVuZChXVEZNb3ZlKHJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5KSk7CisgICAgICAgIHJlbW90ZVNvdXJjZUlkZW50aWZpZXIgPSBp
ZGVudGlmaWVyOworICAgIH0KKworICAgIGNhbGxiYWNrKHN0YXR1cywgcmVtb3RlU291cmNlSWRl
bnRpZmllcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTU1ZjE0MmVlODgzNWE3M2E4NTU2NmZjZWFlYjMwMjdjY2MzNjhmYwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJj
ZVByb3h5LmgKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247Citj
bGFzcyBEZWNvZGVyOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgQ29udGVudFR5cGU7CitjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGU7CitjbGFz
cyBQbGF0Zm9ybVRpbWVSYW5nZXM7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworCitjbGFzcyBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
IGZpbmFsCisgICAgOiBwdWJsaWMgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Cisg
ICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICBSZW1vdGVNZWRpYVNvdXJjZVByb3h5KFJlbW90ZU1lZGlh
U291cmNlSWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOworICAgIHZpcnR1
YWwgflJlbW90ZU1lZGlhU291cmNlUHJveHkoKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQgb3ZlcnJpZGVzCisgICAgdm9pZCBzZXRQcml2YXRlQW5kT3BlbihS
ZWY8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlPiYmKSBmaW5hbDsKKyAgICBNZWRpYVRpbWUg
ZHVyYXRpb24oKSBjb25zdCBmaW5hbDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGxh
dGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2Vla1Rv
VGltZShjb25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIG1vbml0b3JTb3VyY2VCdWZm
ZXJzKCkgZmluYWw7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIHNldExv
Z0lkZW50aWZpZXIoY29uc3Qgdm9pZCopIGZpbmFsOworI2VuZGlmCisKKyAgICB2b2lkIGZhaWxl
ZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKSBmaW5hbDsKKworcHJpdmF0ZToKKyAgICBm
cmllbmQgY2xhc3MgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTsgLy8gVE9ETz8KKworICAgIC8vIElQ
Qzo6TWVzc2FnZVJlY2VpdmVyCisgICAgLy8gdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5j
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8
SVBDOjpFbmNvZGVyPiYpIGZpbmFsOworCisgICAgdXNpbmcgQWRkU291cmNlQnVmZmVyQ2FsbGJh
Y2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6
QWRkU3RhdHVzLCBPcHRpb25hbDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyKT47CisgICAgdm9pZCBhZGRTb3VyY2VCdWZmZXIoY29uc3Qg
V2ViQ29yZTo6Q29udGVudFR5cGUmLCBBZGRTb3VyY2VCdWZmZXJDYWxsYmFjayYmKTsKKworICAg
IFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOworICAgIFJlZlB0cjxX
ZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU+IG1fcHJpdmF0ZTsKKyAgICBWZWN0b3I8UmVmUHRy
PFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Pj4gbV9zb3VyY2VCdWZmZXJzOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNhNmI3NTJkNzcwNjBkZWNjYjlkYzNiYzc5NjQ4OWY0ZWM5MjBkYWQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworbWVzc2FnZXMgLT4gUmVt
b3RlTWVkaWFTb3VyY2VQcm94eSBOb3RSZWZDb3VudGVkIHsKKyAgICBBZGRTb3VyY2VCdWZmZXIo
V2ViQ29yZTo6Q29udGVudFR5cGUgY29udGVudFR5cGUpIC0+IChlbnVtOnVpbnQ4X3QgV2ViQ29y
ZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgc3RhdHVzLCBPcHRpb25hbDxXZWJLaXQ6
OlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIpIFN5bmNocm9ub3VzCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjRiZmNhMTYxMmI1ZDc5NDllYTBhMTk1ZGU1NWY1Yzk1NzkyNzA2NgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQor
CisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2VudW0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcgUmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8UmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllclR5cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjNlMjk4MGE5NzhiN2NkYmZhZGVhNzQ2
OTg1YmNkZmUxN2VkNWNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcApAQCAtMCwwICsxLDEwNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgiCisjaW5j
bHVkZSAiU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVmPFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5PiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6Y3JlYXRlKFJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29u
bmVjdGlvblRvV2ViUHJvY2VzcywgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVm
ZmVyUHJpdmF0ZSkKK3sKKyAgICBhdXRvIHJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5ID0gYWRvcHRS
ZWYoKm5ldyBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eShpZGVudGlmaWVyLCBjb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLCBXVEZNb3ZlKHNvdXJjZUJ1ZmZlclByaXZhdGUpKSk7CisgICAgcmV0dXJuIHJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5OworfQorCitSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6UmVt
b3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciBpZGVudGlm
aWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBS
ZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4mJiBzb3VyY2VCdWZmZXJQcml2YXRlKQorICAgIDogbV9p
ZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29u
bmVjdGlvblRvV2ViUHJvY2VzcykKKyAgICAsIG1fc291cmNlQnVmZmVyUHJpdmF0ZShXVEZNb3Zl
KHNvdXJjZUJ1ZmZlclByaXZhdGUpKQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5t
ZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJ
bnQ2NCgpLCAqdGhpcyk7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLT5zZXRDbGllbnQodGhp
cyk7Cit9CisKK1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojp+UmVtb3RlU291cmNlQnVmZmVyUHJv
eHkoKQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAo
KS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpKTsKK30KKwor
dm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2Vp
dmVJbml0aWFsaXphdGlvblNlZ21lbnQoY29uc3QgSW5pdGlhbGl6YXRpb25TZWdtZW50JikKK3sK
K30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZURp
ZFJlY2VpdmVTYW1wbGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmKQoreworfQorCitib29sIFJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBjb25zdAor
eworICAgIHJldHVybiB0cnVlOworfQorCitib29sIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlSGFzVmlkZW8oKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOwor
fQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlUmVl
bnF1ZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKwordm9pZCBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZURpZEJlY29tZVJlYWR5Rm9y
TW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKworTWVkaWFUaW1l
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1l
Rm9yTWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1l
ZGlhVGltZSYpCit7CisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit7CisgICAgbV9jb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoYXBwZW5kUmVz
dWx0KSwgbV9pZGVudGlmaWVyKTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2Rl
KQoreworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjphcHBlbmQoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiBkYXRhKQoreworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+YXBw
ZW5kKGRhdGEudmVjdG9yKCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzEyMGE4YTJlY2I5M2MxYTM3OWU5MWI5NmZjOTk4ZDAzMGJmZjUw
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5oCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKworI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJN
ZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFtZXNwYWNlIElQQyB7Citj
bGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIE1lZGlhU2FtcGxlOworfQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgUmVtb3RlU291cmNlQnVmZmVyUHJveHkgZmluYWwKKyAgICA6
IHB1YmxpYyBSZWZDb3VudGVkPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PgorICAgICwgcHVibGlj
IFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQKKyAgICAsIHByaXZhdGUgSVBDOjpN
ZXNzYWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8UmVtb3RlU291cmNlQnVmZmVyUHJveHk+IGNyZWF0ZShSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVmPFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JiYpOworICAgIHZpcnR1YWwgflJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5KCk7CisKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5p
dGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpIGZpbmFsOwor
ICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoV2ViQ29yZTo6TWVk
aWFTYW1wbGUmKSBmaW5hbDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNBdWRpbygp
IGNvbnN0IGZpbmFsOworICAgIGJvb2wgc291cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29u
c3QgZmluYWw7CisKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyhj
b25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclBy
aXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNr
SUQpIGZpbmFsOworCisgICAgTWVkaWFUaW1lIHNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0U2Vla1Rp
bWVGb3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3Qg
TWVkaWFUaW1lJikgZmluYWw7CisKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRD
b21wbGV0ZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQp
IGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdF
cnJvcihpbnQgZXJyb3JDb2RlKSBmaW5hbDsKKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3Mg
UmVtb3RlTWVkaWFTb3VyY2VQcm94eTsKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eShSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVm
PFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JiYpOworCisgICAgLy8gSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6RGVjb2RlciYpIGZpbmFsOworICAgIC8vIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29k
ZXI+JikgZmluYWw7CisKKyAgICB2b2lkIGFwcGVuZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
KTsKKworICAgIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAg
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAg
ICBSZWY8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZT4gbV9zb3VyY2VCdWZmZXJQcml2YXRl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4ZmYwMWRhMzBkMDY3YjllNDFmYjVhMTEzZTdiYTQzZmUw
ZTAxNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
KworbWVzc2FnZXMgLT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHkgTm90UmVmQ291bnRlZCB7Cisg
ICAgQXBwZW5kKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQorfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1Jl
bW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCmluZGV4IDk3N2Y5M2ZmNWMz
YzJiODE3ODQ2YzlhOWE3NTUxNzg5YzhlZmUwNWMuLjYxYjg5MGRjNzg2N2MzM2IwMDVmMjJlOTNi
YjFhZjQ3ZGRkM2IxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJN
YW5hZ2VyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2lu
Y2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNz
LmgiCiAjaW5jbHVkZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWVzc2FnZXMuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDk3MDg3NjQ5NWZiMWFjYzkwNGMx
ZWEyNTA2OTA5M2IyMDBlYjI1NWEuLjU3M2VkM2Q4ZWU5YmJmNDEwMzE2OGU3OWEwNTdmOWRiZGI5
Yjg2OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMu
cHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMjU5
LDYgKzI1OSw4IEBAIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKCk6
CiAgICAgICAgICdXZWJLaXQ6OlJlbW90ZUxlZ2FjeUNETUlkZW50aWZpZXInLAogICAgICAgICAn
V2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJL
aXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYktpdDo6UmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJlbmRlcmluZ0JhY2tlbmRJZGVu
dGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXInLAogICAgICAg
ICAnV2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmllcicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA1MDM3OWYy
ZmZhODMzNzRjMTRkMTdkN2JjOWVjMzA2MDY3ZTEzNzYyLi4wOTE3ZjAxYmUxYzlmOGNhYTJhYmY3
ZjBmODkwZjg5NWEzZjJlZjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTQyLDYgKzQyLDggQEAgR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVJlc291cmNlLmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291
cmNlTG9hZGVyLmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
ci5jcHAKK0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKK0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVRleHRUcmFja1Byb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb1Ry
YWNrUHJveHkuY3BwCiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlci5jcHAKQEAgLTU3MCw2ICs1NzIsNyBAQCBXZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9BdWRp
b1RyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAKK1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Q
cm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAKIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETS5jcHAKQEAgLTU4Miw2ICs1ODUsNyBAQCBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmNwcAogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkKIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKK1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9U
cmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9XZWJNZWRpYVN0cmF0
ZWd5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggZTMzODQ3YWUxNmFjYzk5YTczOTQzNDc0NGQ4YTNkZjZjMjhjYWJmYy4uZTNlNmQ5
NTBhN2IyNDRhMDM0NmM2YmY1OWQxMjE0MTY2NDE4YjFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MjEsNiArNDIxLDEyIEBACiAJ
CTFENEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1l
c3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyTWVzc2FnZXNSZXBsaWVzLmggKi87IH07CiAJCTFEQjAxOTQzMjExQ0YwMDIwMDlGQjNFOCAv
KiBXS1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBXS1NoYXJlU2hlZXQuaCAqLzsgfTsK
IAkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkJCMDYxMjExQ0MzQ0IwMDUw
MkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi87IH07CisJCTFERDJBNjQwMjU1RTNGMUYwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTYzRTI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5oICovOyB9OworCQkxREQyQTY0NDI1NUUzRjNEMDBGRjdCNkYgLyogUmVt
b3RlU291cmNlQnVmZmVyUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFERDJBNjQyMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eS5oICovOyB9OworCQkxREQyQTY0NzI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLmggKi87IH07CisJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYyMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJMUREMkE2NkUy
NTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJB
NjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CisJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjcyMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUYzMzVC
QzAxODVCODRGMDAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYzMzVCQkYxODVC
ODREODAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFGNjA0QkFBMTg4OUZC
QjgwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0ludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjYwNEJBNzE4ODlGQTc0
MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oICovOyB9Owog
CQkxRjc1MDZCMTE4NTkxNjM3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMDE4MTY5MTg1
OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yODE0LDYgKzI4MjAsMjggQEAK
IAkJMURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEQTQwODlFMjNBODI3NzgwMDU4Qzk1MCAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEQkJCMDYx
MjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBXS1NoYXJlU2hlZXQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNw
cDsgcGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3VyY2UvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzNzI1NURFNjc1MDBGRjdCNkYgLyogTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5oOyBwYXRoID0gL1ZvbHVtZXMvRGF0YS93ZWJraXQvT3BlblNvdXJjZS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oOyBz
b3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzOTI1NURFNkQxMDBGRjdCNkYg
LyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjNB
MjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxREQyQTYzRTI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFT
b3VyY2VQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjNGMjU1RTNGMUYwMEZGN0I2RiAvKiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlh
U291cmNlUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY0MjI1
NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDYyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NEEyNTYw
RjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUREMkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2Fn
ZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94
eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJB
NjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBs
aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxp
ZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94
eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CisJCTFERDJBNjY2MjU2MUVEMDQwMEZGN0I2RiAvKiBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5t
ZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjgyNTYxRjY4
NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxREQyQTY2OTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJv
eHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJMUREMkE2NkEyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVz
Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZCMjU2MjAy
MUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkYyNTYyMkYxMTAwRkY3QjZGIC8qIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2
NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1Jl
cGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2Vz
UmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CisJCTFERDJBNjcyMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NzMyNTYyMzI0RjAwRkY3
QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFERTA3NkQ5MjQ2MENDQkQwMEIyMTFFOCAv
KiBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFyZVNoZWV0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2hhcmVTaGVldC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxREUyREZBQzIzQTk1OUY4MDAzRTAxM0EgLyogUmVtb3Rl
TWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFSZXNv
dXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU2MzMsNiAr
NTY2MSw4IEBACiAJCQkJMDc5MjMxMzEyMzlCM0IwQzAwOTU5OEUyIC8qIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDc5MjMxMzIyMzlCM0IwQzAwOTU5OEUyIC8qIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTA3QjFEMDRCMjNEMzhGQ0UwMDM5OUE2RSAv
KiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8sCisJCQkJMUREMkE2MzYy
NTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCisJCQkJ
MUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oICov
LAogCQkJCTlCNUJFQzI5MjQwMTAxNTgwMDcwQzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
UHJveHkuY3BwICovLAogCQkJCTlCNUJFQzI4MjQwMTAxNTgwMDcwQzZFRiAvKiBSZW1vdGVBdWRp
b0Rlc3RpbmF0aW9uUHJveHkuaCAqLywKIAkJCQk5QjVCRUMyRTI0MDEwMThDMDA3MEM2RUYgLyog
UmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Lm1lc3NhZ2VzLmluICovLApAQCAtNTY3Nyw2ICs1
NzA3LDEwIEBACiAJCQkJMDdCM0I0NkYyM0FCMkNCMzAwQkE1QjEyIC8qIFJlbW90ZU1lZGlhUGxh
eWVyU3RhdGUuaCAqLywKIAkJCQkxRDMyRjg5RDIzQTg0QzVCMDBCMUVBNkEgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkxRDMyRjg5QjIzQTg0QkE2MDBCMUVBNkEgLyog
UmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmggKi8sCisJCQkJMUREMkE2NDYyNTVGMzJCMTAwRkY3
QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovLAorCQkJCTFERDJBNjNBMjU1
REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcCAqLywKKwkJCQkx
REQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICov
LAorCQkJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLm1lc3NhZ2VzLmluICovLAogCQkJCTA3RTE5RjA4MjNENTMzQjkwMDk0RkZCNCAvKiBUZXh0
VHJhY2tQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkwN0UxOUYwOTIzRDUzM0JBMDA5NEZGQjQg
LyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTFERkREMEUyMjNGNjEwRjAwMEU5
QjQ5MCAvKiBWaWRlb0xheWVyUmVtb3RlLmggKi8sCkBAIC01NzQxLDYgKzU3NzUsMTMgQEAKIAkJ
CQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIu
Y3BwICovLAogCQkJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291
cmNlTWFuYWdlci5oICovLAogCQkJCTFEMzJGOEE2MjNBODYwMTkwMEIxRUE2QSAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQyQTYzRjI1NUUzRjFG
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8sCisJCQkJMUREMkE2M0Uy
NTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAqLywKKwkJCQkxREQy
QTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5p
biAqLywKKwkJCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllci5oICovLAorCQkJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5jcHAgKi8sCisJCQkJMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8sCisJCQkJMUREMkE2NjYyNTYxRUQwNDAwRkY3
QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluICovLAogCQkJCTA3RTE5
RjA3MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQcm94eS5jcHAgKi8sCiAJCQkJ
MDdFMTlGMDYyM0Q0REM4ODAwOTRGRkI0IC8qIFJlbW90ZVRleHRUcmFja1Byb3h5LmggKi8sCiAJ
CQkJMDcxQkM1ODQyM0NDMkMwOTAwNjgwRDdDIC8qIFJlbW90ZVZpZGVvVHJhY2tQcm94eS5jcHAg
Ki8sCkBAIC0xMDM0NiwxMCArMTAzODcsMTYgQEAKIAkJCQkxRDRENzM2QjIzQTlERjU1MDA3MTdB
MjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCTFENEQ3MzZDMjNBOURGNjAwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
ck1lc3NhZ2VzLmggKi8sCiAJCQkJMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8qIFJlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8sCisJCQkJMUREMkE2NjIyNTYx
MjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAorCQkJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVBy
b3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2MTI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTFBQzEzMzgzMTg1OTBD
NDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CiAJCQkJMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVz
c2FnZXMuaCAqLywKIAkJCQkwRjU5NDdBNTE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTBGNTk0N0E2MTg3QjUx
NzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VzLmggKi8sCisJ
CQkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2OTI1NjIwMjFFMDBGRjdCNkYgLyogUmVt
b3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjZBMjU2MjAyMUUw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAog
CQkJCUE1NUJBODIxMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQTU1QkE4MjIxQkEyNUJCODAwN0NEMzNEIC8qIFJl
bW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQkJCRTQ5RTE5QjY2QzUz
MDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApA
QCAtMTAzNTcsNiArMTA0MDQsOSBAQAogCQkJCUUxOEU2OTE0MTY5QjY2N0IwMDlCNjY3MCAvKiBT
ZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkyREU2OTQzQjE4QkQyQTY4MDA1QzE1
RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CiAJCQkJMkRFNjk0M0MxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRy
b2xsZXJNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcyMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY3
MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgg
Ki8sCisJCQkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQk5M0Q2Qjc4MTI1NENDQUJDMDA1OEREM0Eg
LyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTkz
RDZCNzgwMjU0Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2Vz
LmggKi8sCiAJCQkJOTNENkI3N0YyNTRDQ0FCQjAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9u
U2VydmVyTWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0xMTM0NSw2ICsxMTM5NSw4IEBACiAJCQkJ
MDcxQkM1OTEyM0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdl
c1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFENEQ3MzcxMjNBOUU1NjIwMDcxN0EyNSAv
KiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxRDRENzM3NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJN
ZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTFERDJBNjQ3MjU1RjMyQjEwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTFERDJBNjQwMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMUI3ODQ3MTE2M0YyNDY5MDAwN0I2OTIgLyogUmVtb3RlTmV0d29y
a2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTcwNEZDMUJFMTc1MTEwMDg3NEFG
MSAvKiBSZW1vdGVPYmplY3RJbnZvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUMxMzM4
MDE4NTkwQUU0MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBpbiBIZWFkZXJzICov
LApAQCAtMTEzNTQsNiArMTE0MDYsNyBAQAogCQkJCTBGNTk0NzlCMTg3QjNCNjAwMDQzNzg1NyAv
KiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjU5NDdBNDE4N0IzQjdEMDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFu
c2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3OUQxODdCM0I2MDAwNDM3ODU3IC8q
IFJlbW90ZVNjcm9sbGluZ1RyZWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTFERDJBNjQ0MjU1RTNG
M0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgyNTFCQTI1Q0ZCMDA3Q0QzM0QgLyogUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MTcxQkEy
M0UxMjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJLmggaW4gSGVhZGVycyAqLywKQEAg
LTEzMTQwLDggKzEzMTkzLDEwIEBACiAJCQkJMDcwMTc4OUUyM0JFOUNGQzAwNUYwRkFBIC8qIFJl
bW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzFC
QzU4RjIzQ0UxRUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxRDRENzM3MDIzQTlFNTQ3MDA3MTdBMjUgLyog
UmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMUREMkE2NjMyNTYxMjQ2RjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDMTMzODUxODU5MEM0
NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGNTk0N0E3MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQy
QTY2RTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MjYxQkEyNUNGRDAwN0NEMzNEIC8q
IFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTFCQkJFNEEwMTlCNjZDNTMwMDZCN0Q4MSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSU1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMThFNjkxNzE2OUI2NjdCMDA5
QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTEzMTUyLDYgKzEzMjA3LDcgQEAKIAkJCQlBMUFEQUZCNjIzNjhFNkE4MDA5Q0I3NzYg
LyogU2hhcmVkTWVtb3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3NUIxQkI5MjNDRTlDMEIw
MDIwNjM5QSAvKiBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkRFNjk0M0QxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NzQyNTYyMzJB
MTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTNENkI3ODIyNTRDQ0NGNDAwNThERDNBIC8qIFNwZWVjaFJl
Y29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
MzM0REVEMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzY4RUVERTIzMDNBOTAyMDBCREIxMUEgLyogU3RvcmFn
ZU1hbmFnZXJTZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggZTA5YWYwZGMzMmJiMWJiYTVlYmQ4NmU0ZGMwNjcwYTAy
ZmY3Y2Q5Yi4uZGVjYWEzZWJkNjRjYzQwNTc4N2YxYTM1OWEzNzAzZTc3ODMyZWU5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyLmgi
CiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RNLmgiCiAjaW5jbHVkZSAiUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeS5oIgpAQCAtNzEsNiArNzIsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeUNE
TS5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlh
OwpAQCAtMTQ4LDcgKzE1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwcmVw
YXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgTWVkaWFQbGF5ZXI6CiAgICAgfSwgbV9p
ZCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50
VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBl
LCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkKIHsKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNpb25IYW5kbGU7CiAgICAgaWYgKHVybC5pc0xvY2Fs
RmlsZSgpKSB7CkBAIC02MjQsMTUgKzYyOSwyMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6cmVtb3RlVmlkZW9UcmFja0NvbmZpZ3VyYXRpb25DaGFuZ2VkKFRyYWNrUHJpdmF0ZQog
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1Ro
aXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKLSAgICAgICAgaWYgKCF3ZWFrVGhpcykK
LSAgICAgICAgICAgIHJldHVybjsKKyAgICBpZiAobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVyID09
IE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcjo6QVZGb3VuZGF0aW9uTVNF
KSB7CisgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmll
cjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OkxvYWRNZWRpYVNvdXJjZSh1cmwsIGlkZW50aWZpZXIpLCBtX2lk
KTsKKyAgICAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGU6OmNyZWF0ZShtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKSwgaWRlbnRpZmllciwg
bV9tYW5hZ2VyLnR5cGVDYWNoZShtX3JlbW90ZUVuZ2luZUlkZW50aWZpZXIpLCAqdGhpcywgY2xp
ZW50KTsKKyAgICB9IGVsc2UgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9
IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10geworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykK
KyAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS5uZXR3b3Jr
U3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKLSAgICAgICAg
bV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKLSAgICB9KTsKKyAgICAgICAgICAgIG1f
Y2FjaGVkU3RhdGUubmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9y
bWF0RXJyb3I7CisgICAgICAgICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwor
ICAgICAgICB9KTsKKyAgICB9CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgK
aW5kZXggZjM2MzcyNTA5ZWE5ZTRmOGUxYTdkOGY3ZjUyNzYzYzM0ZjExZTRhMC4uM2IzZGJhMjU5
OTBhOTE5MDQ5NzUzY2EzNzk4YWViZDliM2IwZjFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5oCkBAIC01Niw2ICs1Niw3IEBAIGNsYXNzIFZpZGVvTGF5ZXJNYW5hZ2VyOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOwogY2xhc3MgUmVt
b3RlQXVkaW9Tb3VyY2VQcm92aWRlcjsKIGNsYXNzIFVzZXJEYXRhOwogc3RydWN0IFRleHRUcmFj
a1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uOwpAQCAtODgsNiArODksOCBAQCBwdWJsaWM6CiAg
ICAgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9tYW5hZ2Vy
LmdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOyB9CiAgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXIqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyOyB9CiAKKyAgICBXZWJD
b3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9jYWNoZWRTdGF0ZS5yZWFkeVN0YXRlOyB9CisKICAgICB2b2lkIG5ldHdvcmtTdGF0
ZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIHJlYWR5U3RhdGVD
aGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCB2b2x1bWVDaGFuZ2Vk
KGRvdWJsZSk7CkBAIC0xNTQsNiArMTU3LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldFJhd0Nv
b2tpZXMoY29uc3QgVVJMJiwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6OkdldFJhd0Nvb2tp
ZXNDYWxsYmFjayYmKSBjb25zdDsKICNlbmRpZgogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisgICAgY29uc3Qgdm9pZCogbWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1cm4gbG9n
SWRlbnRpZmllcigpOyB9CisgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXllckxvZ2dlcigpIHsg
cmV0dXJuIGxvZ2dlcigpOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKIAogI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRApAQCAtMTcwLDcgKzE3OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVwYXJl
Rm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlByZWxv
YWQsIGJvb2wgcHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFyZSkgZmluYWw7CiAKICNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbDsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJM
JiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpNZWRpYVN0cmVh
bVByaXZhdGUmKSBmaW5hbDsKQEAgLTI1MCw3ICsyNTgsNiBAQCBwcml2YXRlOgogICAgIGRvdWJs
ZSBtaW5GYXN0UmV2ZXJzZVJhdGUoKSBjb25zdCBmaW5hbDsKIAogICAgIFdlYkNvcmU6Ok1lZGlh
UGxheWVyOjpOZXR3b3JrU3RhdGUgbmV0d29ya1N0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGU7IH0KLSAgICBXZWJDb3JlOjpNZWRpYVBsYXllcjo6
UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9jYWNoZWRTdGF0
ZS5yZWFkeVN0YXRlOyB9CiAKICAgICBNZWRpYVRpbWUgbWF4TWVkaWFUaW1lU2Vla2FibGUoKSBj
b25zdCBmaW5hbDsKICAgICBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUoKSBjb25zdCBm
aW5hbDsKQEAgLTM4NCw2ICszOTEsMTAgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVtb3RlQXVk
aW9Tb3VyY2VQcm92aWRlcj4gbV9hdWRpb1NvdXJjZVByb3ZpZGVyOwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQorICAgIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+
IG1fbWVkaWFTb3VyY2VQcml2YXRlOworI2VuZGlmCisKICAgICBIYXNoTWFwPFJlbW90ZU1lZGlh
UmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNl
Pj4gbV9tZWRpYVJlc291cmNlczsKICAgICBIYXNoTWFwPFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50
aWZpZXIsIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZVJlbW90ZT4+IG1fYXVkaW9UcmFja3M7CiAgICAg
SGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBSZWY8VmlkZW9UcmFja1ByaXZh
dGVSZW1vdGU+PiBtX3ZpZGVvVHJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZmYWUxNzE5NGM5YzVlYWYxZDA5YjRiMTE1ZDI4N2Q5OThlNjMwZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTAsMCArMSwxNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNs
dWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgiCisj
aW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiUmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9n
TWVkaWE7CisjZW5kaWYKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCitSZWY8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGU6OmNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5l
Y3Rpb24sIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVNZWRp
YVBsYXllck1JTUVUeXBlQ2FjaGUmIG1pbWVUeXBlQ2FjaGUsIGNvbnN0IE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZSYgcGxheWVyUHJpdmF0ZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGll
bnQpCit7CisgICAgYXV0byBtZWRpYVNvdXJjZVByaXZhdGUgPSBhZG9wdFJlZigqbmV3IE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZShncHVQcm9jZXNzQ29ubmVjdGlvbiwgaWRlbnRpZmllciwgbWlt
ZVR5cGVDYWNoZSwgcGxheWVyUHJpdmF0ZSwgY2xpZW50KSk7CisgICAgY2xpZW50LT5zZXRQcml2
YXRlQW5kT3BlbihtZWRpYVNvdXJjZVByaXZhdGUuY29weVJlZigpKTsKKyAgICByZXR1cm4gbWVk
aWFTb3VyY2VQcml2YXRlOworfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6Ok1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b24sIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVNZWRpYVBs
YXllck1JTUVUeXBlQ2FjaGUmIG1pbWVUeXBlQ2FjaGUsIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZSYgcGxheWVyUHJpdmF0ZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQp
CisgICAgOiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uKGdwdVByb2Nlc3NDb25uZWN0aW9uKQorICAg
ICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX21pbWVUeXBlQ2FjaGUobWltZVR5
cGVDYWNoZSkKKyAgICAsIG1fcGxheWVyUHJpdmF0ZShtYWtlV2Vha1B0cihwbGF5ZXJQcml2YXRl
KSkKKyAgICAsIG1fY2xpZW50KGNsaWVudCkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICAsIG1fbG9nZ2VyKG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXJMb2dnZXIoKSkKKyAgICAs
IG1fbG9nSWRlbnRpZmllcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nSWRlbnRpZmll
cigpKQorI2VuZGlmCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2NsaWVudC0+c2V0TG9nSWRlbnRpZmllcihtX2xvZ0lk
ZW50aWZpZXIpOworI2VuZGlmCit9CisKK01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6fk1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZSgpCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsK
KworICAgIGZvciAoYXV0byBpdCA9IG1fc291cmNlQnVmZmVycy5iZWdpbigpLCBlbmQgPSBtX3Nv
dXJjZUJ1ZmZlcnMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgKCppdCktPmNsZWFy
TWVkaWFTb3VyY2UoKTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUmIGNv
bnRlbnRUeXBlLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mIG91dFByaXZhdGUpCit7Cisg
ICAgREVCVUdfTE9HKExPR0lERU5USUZJRVIsIGNvbnRlbnRUeXBlKTsKKworICAgIE1lZGlhRW5n
aW5lU3VwcG9ydFBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLmlzTWVkaWFT
b3VyY2UgPSB0cnVlOworICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOworICAgIGlm
IChtX21pbWVUeXBlQ2FjaGUuc3VwcG9ydHNUeXBlQW5kQ29kZWNzKHBhcmFtZXRlcnMpID09IE1l
ZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQorICAgICAgICByZXR1cm4g
QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CisKKyAgICBBZGRTdGF0dXMgc3RhdHVzOworICAgIE9w
dGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXI7CisgICAgaWYgKCFtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5z
ZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6QWRkU291cmNlQnVmZmVy
KGNvbnRlbnRUeXBlKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNvdXJj
ZUJ1ZmZlcjo6UmVwbHkoc3RhdHVzLCByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKSwgbV9p
ZGVudGlmaWVyKSkKKyAgICAgICAgc3RhdHVzID0gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CisK
KyAgICBpZiAoc3RhdHVzID09IEFkZFN0YXR1czo6T2spIHsKKyAgICAgICAgQVNTRVJUKHJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaGFzVmFsdWUoKSk7CisgICAgICAgIGF1dG8gbmV3U291
cmNlQnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKG1fZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24sICpyZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCAqdGhpcyk7CisgICAg
ICAgIG91dFByaXZhdGUgPSBuZXdTb3VyY2VCdWZmZXIuY29weVJlZigpOworICAgICAgICBtX3Nv
dXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVyKSk7CisgICAgfQorCisg
ICAgcmV0dXJuIHN0YXR1czsKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmR1
cmF0aW9uQ2hhbmdlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpt
YXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlOjp1bm1hcmtFbmRPZlN0cmVhbSgpCit7Cit9CisKK01lZGlhUGxheWVy
OjpSZWFkeVN0YXRlIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0ZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZSA/IG1fcGxheWVyUHJpdmF0ZS0+cmVhZHlT
dGF0ZSgpIDogTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOworfQorCit2b2lk
IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OndhaXRGb3JT
ZWVrQ29tcGxldGVkKCkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnNl
ZWtDb21wbGV0ZWQoKQoreworfQorCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dD
aGFubmVsJiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAorewor
ICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxYzk0NDI1YjQ4YjM5NmU5Njdj
NGU4MjE0ZGZiNmU1MzVhNTUwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCkBAIC0wLDAgKzEs
OTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0
aW9uLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmgiCisjaW5j
bHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9D
b250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTsKK2Ns
YXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU7CisKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZSBmaW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZQor
ICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4KKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCisjZW5k
aWYKK3sKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4g
Y3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVy
LCBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmLCBjb25zdCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICB2aXJ0
dWFsIH5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoKTsKKworICAgIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZSogcGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5ZXJQcml2YXRlLmdldCgpOyB9
CisKKyAgICAvLyBNZWRpYVNvdXJjZVByaXZhdGUgb3ZlcnJpZGVzCisgICAgQWRkU3RhdHVzIGFk
ZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIFJlZlB0cjxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlPiYpIGZpbmFsOworICAgIHZvaWQgZHVyYXRpb25DaGFuZ2Vk
KCkgZmluYWw7CisgICAgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpIGZp
bmFsOworICAgIHZvaWQgdW5tYXJrRW5kT2ZTdHJlYW0oKSBmaW5hbDsKKyAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWw7CisgICAgdm9p
ZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKSBmaW5hbDsK
KyAgICB2b2lkIHdhaXRGb3JTZWVrQ29tcGxldGVkKCkgZmluYWw7CisgICAgdm9pZCBzZWVrQ29t
cGxldGVkKCkgZmluYWw7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBM
b2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9Cisg
ICAgY29uc3Qgdm9pZCogbmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBj
aGlsZExvZ0lkZW50aWZpZXIobV9sb2dJZGVudGlmaWVyLCArK21fbmV4dFNvdXJjZUJ1ZmZlcklE
KTsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisgICAgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKEdQ
VVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBSZW1vdGVN
ZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUm
LCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKworICAgIEdQVVByb2Nlc3ND
b25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZU1lZGlhU291cmNl
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNh
Y2hlJiBtX21pbWVUeXBlQ2FjaGU7CisgICAgV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU+IG1fcGxheWVyUHJpdmF0ZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50PiBtX2NsaWVudDsKKyAgICBWZWN0b3I8UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGU+PiBtX3NvdXJjZUJ1ZmZlcnM7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAi
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlIjsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZp
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dD
aGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisKKyAgICBSZWY8Y29uc3QgTG9nZ2Vy
PiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisgICAgdWludDY0
X3QgbV9uZXh0U291cmNlQnVmZmVySUQgeyAwIH07CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaAppbmRleCBjNjJjNDY0ZmRmZGNkOGMzNTc1
NmIwZTM4ZGFkMGY4OTM5MDU4ODY3Li5lNjQ1MDg0YmNkNjBjNDVjZTc2ZjNhMDNjZmQzZjc4M2Yx
NjkzNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZUNETUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCi0jaW5jbHVk
ZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlv
bi5oCmluZGV4IDY1MzJkNzJlN2NlNGI4NTNmMmQzYjkzNDU1ZTE5MjgxYzQxOWZhNDMuLmE4NjU4
MGJmMTg2MzFiYjNiYzgyNmI1M2FmMWYyZDU0ODZlNDYyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0
YW5jZUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCi0jaW5jbHVkZSA8V2ViQ29yZS9D
b250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCmluZGV4IDFkNmIzZWUzZTk1ZTgw
YWU4NjBlOTY2YjhjOTI3M2QwODY1M2E4YWMuLmE0MTY5ZDViMWE1Njg4Y2JkNjljNTlkOGI4YTlm
YzJkYWQ1YjJjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaApAQCAtNjYsNiArNjYsOCBA
QCBwdWJsaWM6CiAKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIgZmluZFJlbW90
ZVBsYXllcklkKGNvbnN0IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSopOwog
CisgICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiB0eXBlQ2FjaGUoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKKwogcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlPiBj
cmVhdGVSZW1vdGVNZWRpYVBsYXllcihXZWJDb3JlOjpNZWRpYVBsYXllciosIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CiAKQEAgLTgzLDggKzg1LDYg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZShXZWJDb3JlOjpNZWRpYVBsYXll
ckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYsIFdhbGxUaW1lIG1v
ZGlmaWVkU2luY2UpOwogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlRm9yT3JpZ2lucyhXZWJDb3Jl
OjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYs
IGNvbnN0IEhhc2hTZXQ8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4mKTsKIAotICAg
IFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNvcmU6Ok1lZGlh
UGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7Ci0KICAgICBIYXNoTWFwPFdlYkNv
cmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciwgV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU+PiBtX3BsYXllcnM7CiAgICAgV2ViUHJvY2VzcyYgbV9wcm9jZXNzOwogICAgIG11dGFibGUg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24qIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24geyBudWxscHRyIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhU291cmNlSWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2I2NTk0NjEwMDY3
MDUxNzJlMTY4MDZmZTE3MzU1NTNkMTM5NGIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaApA
QCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlIDx3dGYvT2Jq
ZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZU1lZGlhU291cmNlSWRlbnRp
ZmllciA9IE9iamVjdElkZW50aWZpZXI8UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyVHlwZT47
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYTExNjVkMGRhNDJlZjZjOGI2MzM3Mzc1MGQ4ZDgzY2Yw
MTIzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKKyNpbmNs
dWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlhOwor
I2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKKworUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+IFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OmNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24s
IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
ciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShncHVQ
cm9jZXNzQ29ubmVjdGlvbiwgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgbWVkaWFTb3Vy
Y2VQcml2YXRlKSk7Cit9CisKK1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9u
LCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRlKQor
ICAgIDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAgICAs
IG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcihyZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyKQorICAgICwgbV9tZWRpYVNvdXJjZVByaXZhdGUobWFrZVdlYWtQdHIobWVkaWFTb3VyY2VQ
cml2YXRlKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKG1fbWVk
aWFTb3VyY2VQcml2YXRlLT5sb2dnZXIoKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihtX21lZGlh
U291cmNlUHJpdmF0ZS0+bmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgor
eworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVj
dGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9yZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKK30KKworU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKQoreworICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CisKKyAgICBt
X2dwdVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9
CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQqIGNsaWVudCkKK3sKKyAgICBtX2NsaWVudCA9IGNsaWVudDsKK30KKwor
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNo
YXI+JiYgZGF0YSkKK3sKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6QXBwZW5kKElQQzo6RGF0YVJl
ZmVyZW5jZShkYXRhKSksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcik7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YWJvcnQoKQoreworfQorCit2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUoKQoreworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKQoreworfQor
CitNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZWFk
eVN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21l
ZGlhU291cmNlUHJpdmF0ZS0+cGxheWVyKCktPnJlYWR5U3RhdGUoKSA6IE1lZGlhUGxheWVyOjpS
ZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKQoreworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmZsdXNoKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNr
SUQpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6ZW5xdWV1ZVNhbXBs
ZShSZWY8TWVkaWFTYW1wbGU+JiYsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisK
K2Jvb2wgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6aXNSZWFkeUZvck1vcmVTYW1wbGVzKGNv
bnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldEFjdGl2ZShib29sKQoreworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK2Jvb2wgU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShj
b25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9u
VGltZShjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjbGVhck1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlv
blRpbWUoY29uc3QgQXRvbVN0cmluZyYpCit7Cit9CisKK2Jvb2wgU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKGNvbnN0IENvbnRlbnRUeXBlJikKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVm
ZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVu
ZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2Ns
aWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCk7Cit9
CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dNZWRp
YTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlhMDFiMDYyNWUzYjdjN2YwMTE4NGE4M2MzNmU1NDkxMjJm
MDlhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1
ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9NZWRpYVNhbXBsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0
ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFtZXNw
YWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIERhdGFS
ZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGU7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgZmluYWwKKyAg
ICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPgorICAg
ICwgcHVibGljIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGUKKyAgICAsIHByaXZhdGUgSVBD
OjpNZXNzYWdlUmVjZWl2ZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIHByaXZh
dGUgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU+IGNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYp
OworICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKTsKKworICAgIHZvaWQg
Y2xlYXJNZWRpYVNvdXJjZSgpIHsgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBudWxscHRyOyB9CisK
K3ByaXZhdGU6CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVj
dGlvbiYsIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZSYpOworCisgICAgLy8gU291cmNlQnVmZmVyUHJpdmF0ZSBvdmVycmlkZXMKKyAg
ICB2b2lkIHNldENsaWVudChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KikgZmlu
YWw7CisgICAgdm9pZCBhcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYpIGZpbmFsOworICAg
IHZvaWQgYWJvcnQoKSBmaW5hbDsKKyAgICB2b2lkIHJlc2V0UGFyc2VyU3RhdGUoKSBmaW5hbDsK
KyAgICB2b2lkIHJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKSBmaW5hbDsKKyAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWw7CisgICAgdm9p
ZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKSBmaW5hbDsK
KyAgICB2b2lkIGZsdXNoKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIHZv
aWQgZW5xdWV1ZVNhbXBsZShSZWY8V2ViQ29yZTo6TWVkaWFTYW1wbGU+JiYsIGNvbnN0IEF0b21T
dHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgaXNSZWFkeUZvck1vcmVTYW1wbGVzKGNv
bnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wp
IGZpbmFsOworICAgIHZvaWQgbm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNhbXBsZXMoY29u
c3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgYm9vbCBjYW5TZXRNaW5pbXVtVXBj
b21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdCBmaW5hbDsKKyAg
ICB2b2lkIHNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmlu
ZyYsIGNvbnN0IE1lZGlhVGltZSYpIGZpbmFsOworICAgIHZvaWQgY2xlYXJNaW5pbXVtVXBjb21p
bmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBmaW5hbDsKKyAgICBib29sIGNh
blN3aXRjaFRvVHlwZShjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYpIGZpbmFsOworCisgICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBm
aW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQpOworCisgICAgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgUmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllciBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI7CisgICAgV2Vh
a1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IG1fbWVkaWFTb3VyY2VQcml2YXRlOworICAg
IFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9
OworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IGNoYXIq
IGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlIjsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFu
bmVsKCkgY29uc3QgZmluYWw7CisgICAgY29uc3QgTG9nZ2VyJiBzb3VyY2VCdWZmZXJMb2dnZXIo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZvaWQq
IHNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSBmaW5hbCB7IHJldHVybiBsb2dJZGVudGlmaWVy
KCk7IH0KKworICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQq
IG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWExOTgyMTFjZTk5YWJhZDViOGVlMDdmZDRlMTc3YmRmYTk1YTQwYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworbWVzc2FnZXMgLT4g
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKKyAgICBTb3VyY2VCdWZm
ZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQppbmRleCA0ZjNkZTc3M2MxMjM2ZjMz
MGY1NDBhOWM4ZDY0MTAwY2ZiMDViYmMwLi5iNmUzNDYxZmY5NzQ5OGEzYzNjMGVmMDRhZmUyMGVh
MzY5MWRkYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29j
b2EubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExB
VEZPUk0oQ09DT0EpCiAKKyNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgogI2lt
cG9ydCAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2ltcG9ydCA8V2ViQ29yZS9WaWRl
b0xheWVyTWFuYWdlck9iakMuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQ
SS5oPgo=
</data>
<flag name="commit-queue"
          id="431077"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414255</attachid>
            <date>2020-11-16 10:52:04 -0800</date>
            <delta_ts>2020-11-16 11:15:19 -0800</delta_ts>
            <desc>WIP patch: fix WPE build failures</desc>
            <filename>bug-218912-20201116105203.patch</filename>
            <type>text/plain</type>
            <size>132012</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4Njk1MjNjNDAxODc1OWVl
NzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2VjNmIxOWEzZDczMjRlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KIAog
ICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOwogICAg
IHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNlQnVmZmVyUHJp
dmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6CisgICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZm
ZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6
Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lk
bC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBl
CiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhh
dCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAgIC8vIHNwZWNpZmllZCBm
b3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMsIHRoZW4g
dGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hlZElkTGltaXQ6CisgICAg
Y2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQ6CiAgICAg
ICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVm
YXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRT
b3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAg
MzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJjZUJ1ZmZlciBv
YmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2VlZGVkRXJyb3IgZXhjZXB0
aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0MjkyNjhkNzYxNzVlOTMyMDBl
YzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEzNGIyZGYzY2RkYjllOTAz
NWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBUb3A6IElmIHRoZSBpbnB1
dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBtb3JlIGRhdGEgc3RlcCBi
ZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIHNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNjZWVkZWQpOworICAgICAg
ICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0OjpBcHBlbmRT
dWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTgsNyArNjU4LDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlu
cyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRlIHN0cmVhbSBmb3JtYXQg
c3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5kIGVycm9yIGFsZ29yaXRo
bSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0cnVlIGFuZCBhYm9ydCB0
aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdGYWlsZWQpIHsKKyAgICBp
ZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkgewogICAgICAgICBFUlJP
Ul9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAgICAgICAgYXBwZW5kRXJy
b3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdCBy
ZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAzLjUuNQogICAgIC8vIDIu
SWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRoZSBwcmV2aW91cyBzdGVw
IHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChyZXN1bHQg
IT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kUmVzdWx0OjpBcHBl
bmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMuIFNldCB0aGUgdXBkYXRp
bmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYxZDI5YzBjMjZiMmU1ZWQx
NjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1ZmUwOWI4MzkzZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIwMDRCRDg2RiAvKiBJU09Q
cm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8qIElTT1Byb3RlY3Rpb25T
Y2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09yaWdpbmFsRm9ybWF0Qm94
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg3MUM2
NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3guaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAx
MkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNr
UXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVE
MDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0JCUNENjQxRUI0MTgxOEY1
RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291
cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyog
TWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q2
NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUIyMTgxOEY1RUQwMEVF
NEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAwMDQ3RkRFIC8qIElTT0Zh
aXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3Ry
ZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDdE
MzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ4MUM3QTE2
QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVW
aWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAv
KiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFu
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
RENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUw
IC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5
RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RE
RTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIz
RUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlD
RERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThC
NTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwogCQlD
REUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZDRTYw
MEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZjOGJlNmM4N2EwZjJmZGU4
MjJiZDEzMDQwZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNmZDU0ODg5YTNlYmQ4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNDU3LDcgKzE0
NTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBVUkwmIGlu
aXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAgICAgLy8gd2hpbGUgcHJv
Y2Vzc2luZyByZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAgICAgICAgbV9tZWRpYVNv
dXJjZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5
ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9IGVsc2UgaWYgKCFtX3Bs
YXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNlLmdldCgpKSkgeworICAg
ICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkp
KSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUgTWVkaWFTb3VyY2UgYmVm
b3JlIHdlIGZvcmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAgICAgICAgbV9tZWRpYVNv
dXJjZS0+ZGV0YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAgICAgbV9tZWRpYVNvdXJj
ZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAppbmRleCA3YzI3
OGE2OGUzODlhZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4YjkzY2E5YTk1MjgyMjRh
ZWEyM2M0NDVlOGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZW50VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmF3KCkgY29u
c3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV90eXBlLmlzRW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0Owor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKIAogICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAppbmRleCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlkMDkxODVhNzJiLi4xNzA0
Mzg1ZGRjNzg4ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05Niw3ICs5Niw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwg
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5kaWYKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbCB7
IH0KQEAgLTQ3MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyCiB9CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwm
IHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqIG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVy
bCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKIHsKICAgICBBU1NFUlQo
IW1fcmVsb2FkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1lZGlhU291cmNlKTsKIAog
ICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2NvbnRlbnRUeXBlID0gY29u
dGVudFR5cGU7CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBtX3VybCA9IHVybDsKICAg
ICBtX2tleVN5c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250ZW50TUlNRVR5cGVXYXNJ
bmZlcnJlZEZyb21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1ODYsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBNZWRpYVBsYXllckZhY3Rv
cnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAgICAgbV9wcml2YXRlLT5s
b2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsKKyAgICAgICAgICAgIG1f
cHJpdmF0ZS0+bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CiAgICAgICAgIGVsc2UK
ICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFjYmJiYjFhNjk4Y2EzZDQw
NzA2NjJmMWQzZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIzOTZhZjMwMmVkZTUyMmZi
ZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSk7CiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVu
dFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBib29sIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
aW5kZXggZjliOTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRhNTgwMi4uY2Q5N2M2MjY5
ZWJiYTI2N2M3MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQzLDcgKzQz
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwuc3RyaW5nKCkpOyB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRp
YVN0cmVhbVByaXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdmMTRkOGUxOTY2YjgzOTcx
ODRiZDJiZDg3ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNjMzQxNzNiNTk0N2U4NmEz
MzNhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhU291cmNlUHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlX2gKLSNkZWZpbmUg
TWVkaWFTb3VyY2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogCkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgTWVkaWFTb3VyY2VQcml2
YXRlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVm
YXVsdDsKIAotICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElk
TGltaXQgfTsKKyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBP
aywKKyAgICAgICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVkSWRMaW1pdAorICAgIH07
CiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBl
JiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
dXJhdGlvbkNoYW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05v
RXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKQEAgLTg4LDcgKzkyLDE1
IEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9m
U3RyZWFtU3RhdHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4geworICAgIHVzaW5nIHZh
bHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6
QWRkU3RhdHVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
czo6T2ssCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzOjpSZWFjaGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAog
I2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCAwMDU2NWE5MWZlYTk4
YTY0MThhNDQ2MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJlYTI0YWFlNjk4ZWUxNWIw
NjgxOTE1NDFjMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC03MywxMSArNzMsMjgg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZh
c3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUm
LCBjb25zdCBNZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVuZFJlc3VsdCB7IEFwcGVu
ZFN1Y2NlZWRlZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxlZCB9OworICAgIGVudW0g
Y2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFwcGVuZFN1Y2NlZWRlZCwK
KyAgICAgICAgUmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2luZ0ZhaWxlZAorICAgIH07
CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJl
Y2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9OwogCi19Cit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAgICAgICAgV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQs
CisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dDo6UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAgPjsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5k
ZXggYWQ0YmM5MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5Mi4uNWFiNzEzNzU0NzZj
NWYzMDdjZDljNTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcm
IHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBzZXROZXR3b3JrU3RhdGUo
TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDQzOGU0
ODRhZGViYzZiYmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJmOGY3NWZhYjQ0NjQ3ODc5
NDEzNjc4ZjQ2YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFjZSBvdmVycmlkZXMuCiAg
ICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IHNldE5l
dHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUyZTNhMDdlMTNkZmQwOTE1
ZTA3N2UzZGY5Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIzMDk0MmZkMjY1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJk
d2FyZVN1cHBvcnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNrSGFyZHdhcmVTdXBwb3J0
KCkgY29uc3Q7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXIm
IGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29u
c3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVu
dGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lk
Kj4obV9sb2dJZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50
aWZpZXIoKTsgfQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVy
biBsb2dnZXIoKTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0ZSB7CiAgICAgICAgIFNl
ZWtpbmcsCkBAIC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwp
IG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUxYWUyNWIzYzk0Mjc4Mzg0
NjkyYWIwMWFlYTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJhOGFjZTVmYTA3NzczNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAg
ICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNs
aWVudCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBiYWRmNDY4Zjg2Y2U0Yzku
LmE0ZjRkNDQ2OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCop
IG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLm1tCmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0NjE2YTgyYjNjMGU3NjMu
LjA5NGNlYjcwN2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQogfQogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
Ojpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkg
c3VwcG9ydHMgTWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhp
c10gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5oCmluZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEyMDk0OGY2ZGFjZTYuLmRj
NDYyMDNiZThmNGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDggKzIz
LDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQ19oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdtYSBv
bmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCkBA
IC0xNDksNSArMTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
T1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWY0NTNhZThk
ZGJlODE0NThkMmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNhNzk0ZmEwMTY5ZjljZTBm
NmY5MmZlYWI1NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEgQEAgTWVkaWFTb3VyY2VQ
cml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVm
ZmVyKGNvbnN0IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwogICAgIHBh
cmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBN
ZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJu
IE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwog
CiAgICAgYXV0byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlw
ZSk7CiAgICAgaWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAg
ICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gbmV3U291cmNl
QnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0ZSh0aGlzLCBwYXJzZXIu
cmVsZWFzZU5vbk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTk3LDcg
Kzk3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQcml2YXRlID0gbmV3U291
cmNlQnVmZmVyLmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUo
bmV3U291cmNlQnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1
czo6T2s7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6cmVtb3ZlU291cmNl
QnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggOTE0OTZkMjQx
ZmZiNjEwZDk2OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVlZTUxYmRhMTRiOWI1ZjY2
MzQxNWI5ODQ2NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYgQEAKICNpbXBvcnQgIk1l
ZGlhU2FtcGxlLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk1l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclBhcnNlckFWRk9i
akMuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKQEAgLTU4Niw3ICs1
ODUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQo
KQogICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9hZGluZ1Byb2dyZXNzc2Vk
KHRydWUpOwogCiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVm
ZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OlBhcnNpbmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3OTE5YTBlOWIzMzE5Y2Zm
NDZjMmZmYzEwMWYxLi41N2I2ODM4MzIwNjM0MDg2MzI2YjY0OGI2N2I3YjY0MzA5M2EyYjRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MzkxLDcgKzM5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFBy
b3Blcmx5IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmllcyB0byBmYWxsYmFjayB0
byB0aGUgbmV4dCBNZWRpYVBsYXllclByaXZhdGUuCiAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRp
YVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBlMDE2MTViMGYzYTM1MGQ2ZjA3NTA4NjJl
MzYwYTZiMGNkYjc3NDlmLi5jMDhhZjhkMmI4NmQyNGMzMDQ1ZDFjNzIwNGQ0ZjkzZjBlZDBhNTM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0x
NDIsNyArMTQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyAmdXJsKSBv
dmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9p
ZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwog
I2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJl
YW1Qcml2YXRlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggYzQ0Y2EzOTY3YWIwZmYwNjkwZjBj
ZDJlZTYzMzRkY2M1ZDBkN2ZiOC4uZGY4NWQzZGFiNGY5Mzc1ZTU3MGUzZDUzYjQxYjc3MmMzN2Fh
YTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFLmNwcApAQCAtMTM4LDEwICsxMzgsMTAgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiAgICAgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKHVybFN0cmluZyk7CiB9CiAKLXZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQordm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZSA9IG1lZGlhU291cmNlOwot
ICAgIGxvYWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwpKTsKKyAgICBsb2FkKG1ha2VT
dHJpbmcoIm1lZGlhc291cmNlIiwgdXJsLnN0cmluZygpKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpwYXVzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lck1TRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCA3ZTQ4MWU2NTc0ODllMjcx
YjQ0ZjEzZmMzNWI0NDk0YzZjNTY2ZGVjLi4wNjkyNzY2MjY0OTQ1OTA2ZGY4MjgzZDNhZDk1NzIz
Njk3OGY1MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCiAgICAgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQo
Y29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAKICAgICB2
b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRlIHsgfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5
YmFja1BpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKaW5kZXggYjAwNWQwZDMzNTI2NjRmN2Y5YmVk
OWY3MDIwOTc3MmFiMDAyNzQ1MC4uOWJkNTJkMzEzYzQxNWUwOTY3NWQ5MWExMTIyZTg4YTVjMGEw
MWRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCkBAIC0xMDcsNyAr
MTA3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxheWJhY2tQaXBlbGluZTo6
YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKIAogICAgIGlmIChwcml2LT5hbGxUcmFj
a3NDb25maWd1cmVkKSB7CiAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1QobV93ZWJLaXRNZWRpYVNy
Yy5nZXQoKSwgIkFkZGluZyBuZXcgc291cmNlIGJ1ZmZlcnMgYWZ0ZXIgZmlyc3QgZGF0YSBub3Qg
c3VwcG9ydGVkIHlldCIpOwotICAgICAgICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpOb3RT
dXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6OkFwcGVuZFJlc3Vs
dDo6Tm90U3VwcG9ydGVkOwogICAgIH0KIAogICAgIEdTVF9ERUJVR19PQkpFQ1QobV93ZWJLaXRN
ZWRpYVNyYy5nZXQoKSwgIlN0YXRlICVkIiwgaW50KEdTVF9TVEFURShtX3dlYktpdE1lZGlhU3Jj
LmdldCgpKSkpOwpAQCAtMTQwLDcgKzE0MCw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzIFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8U291cmNlQnVmCiAg
ICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3dlYktpdE1lZGlhU3JjLmdldCgpKSwgc3RyZWFtLT5h
cHBzcmMpOwogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJlbnQoc3RyZWFtLT5h
cHBzcmMpOwogCi0gICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s7CisgICAgcmV0dXJu
IE1lZGlhU291cmNlUHJpdmF0ZTo6QXBwZW5kUmVzdWx0OjpPazsKIH0KIAogdm9pZCBQbGF5YmFj
a1BpcGVsaW5lOjpyZW1vdmVTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVH
U3RyZWFtZXI+IHNvdXJjZUJ1ZmZlclByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3Ry
ZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBkM2E4N2VmZTg5YWViM2Fk
NTY3ZGVjNDhhMWUxYTdlZTQzZTVjNDhjLi5jOTA0MjdlNGVkM2VjN2E4MWE3YmJiOTMyZWM0Yjhi
ZDExMGNhMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NCwxMiArMTk0LDEyIEBAIHZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQog
CiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVBbGxQZW5kaW5n
U2FtcGxlcygpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZm
ZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
U3VjY2VlZGVkKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQtPnNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUdT
dHJlYW1lcjo6YXBwZW5kUGFyc2luZ0ZhaWxlZCgpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudDo6UGFyc2luZ0ZhaWxlZCk7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmNwcAppbmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1MmYxLi5jN2Ew
ZjcxZGZlNjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgTW9j
a01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9h
ZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJjZSkKK3ZvaWQg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBNb2Nr
TWVkaWFTb3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5
ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRhMjEzOTRmMzc2
YzdmMjk2NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1ODQ5NDcyMjA3
ZmNkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3Vy
Y2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKQEAgLTY1
LDcgKzY1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGUg
T3ZlcnJpZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKLSAg
ICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCop
IG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9h
ZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQ
cml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2FhZmEwMGU3NWJj
OGZmOGZmMWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5ZGYwMmE0OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02MywxMiArNjMsMTIg
QEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6
YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2Ug
PSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMpID09IE1lZGlh
UGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICByZXR1cm4gTm90
U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAg
ICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjpjcmVhdGUo
dGhpcykpOwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgpOwogCi0gICAg
cmV0dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lkIE1vY2tNZWRp
YVNvdXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBi
dWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGY0ZGFk
MDM3MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2ZjQ5MjA0MmQ3
YWIxZWRmN2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZh
dGUuY3BwCkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6
c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZvaWQgTW9ja1Nv
dXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQog
ewogICAgIG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6
QXBwZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJl
c3VsdDo6QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6ZSgp
ICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQp
IHsKKyAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09IFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKSB7CiAgICAg
ICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVmZmVyLmRhdGEo
KSwgbV9pbnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVuZ3RoID0gTW9j
a0JveDo6cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94TGVuZ3RoID4g
YnVmZmVyLT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBNb2NrU291cmNl
QnVmZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiAgICAg
ICAgICAgICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3goYnVmZmVyLnB0
cigpKTsKICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsKICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpQ
YXJzaW5nRmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1faW5wdXRCdWZm
ZXIucmVtb3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJlNDc0NTM0MGQy
NjE3YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlhZTc4NmU3ZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAg
LTM1LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdh
Y3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVD
VF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9H
UFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJv
eHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4ICs5Nyw4IEBA
ICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dl
Ykluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmlu
CiskKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5z
aW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3Mv
TWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3Rv
bVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzYsNiArMTM4
LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNz
aW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNz
aW9uLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDUmVt
b3RlQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9KRUNUX0RJUikv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1h
bmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1Jl
bW90ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNz
L0luc3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50
ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9J
bnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3NjVhNWFlOGRj
MTE3NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5MzI1NmJjMjQ4
ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhl
bHBlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlNZXNzYWdlcy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRp
YVNlc3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxp
ZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
T2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJl
Z2lzdHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApAQCAtMjUxLDYg
KzI1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1Nl
cnZpY2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xs
ZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0
aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlv
blNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVy
TWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzUmVw
bGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVu
c2lvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1Jl
cGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
SW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXNSZXBsaWVz
LmgKQEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0
ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ck1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSU1l
c3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxpZXMuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFiMDFjMTRjMTQx
ZGNmNDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdmNDI0YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBAIE1FU1NBR0Vf
UkVDRUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MgXAog
CVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgXAogCVdlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVt
b3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRp
b0Rlc3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vz
c2lvbiBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1h
bmFnZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBc
CisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCisJV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJT
dG9yYWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJD
b250ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50
ZXJydXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdFX1JFQ0VJVkVS
UyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvblByb3h5IFwK
IAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL2lv
cy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGlu
YXRpb25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBc
Ci0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCiAJR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25N
YW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAorCUdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVT
b3VyY2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCiAjCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0
ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0
ZXJzLmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1YTFhYy4uOTgw
ZDY0MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApAQCAt
MjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIlNhbmRi
b3hFeHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUzMTFmYzJlMTYy
NzMzMTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9y
eVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVn
YWN5Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90ZUxlZ2FjeUNE
TVNlc3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRTZXNzaW9uKGNv
bnN0IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2NzRhMWM4MTcx
Li43MDEzNTcwNzgxZjhmNTE3YzgxOGQyMTBkOTI2Y2E2ZTI0NmU5N2YwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlk
ZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRp
YVNvdXJjZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVUZXh0VHJhY2tQcm94eS5o
IgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvVHJhY2tQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvcmVB
cmd1bWVudENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwxNiBAQCB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OmxvYWQoVVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGU+JgogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogfQog
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
bG9hZE1lZGlhU291cmNlKFVSTCYmIHVybCwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1l
ZGlhU291cmNlSWRlbnRpZmllcikKK3sKKyAgICBtX21lZGlhU291cmNlUHJveHkgPSBhZG9wdFJl
ZigqbmV3IFJlbW90ZU1lZGlhU291cmNlUHJveHkobWVkaWFTb3VyY2VJZGVudGlmaWVyLCBtX21h
bmFnZXIuZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpKSk7CisgICAgbV9tYW5hZ2VyLmdwdUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MoKS5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbWVkaWFTb3VyY2VJZGVudGlmaWVyLnRvVUludDY0KCksICptX21lZGlhU291cmNlUHJv
eHkpOworCisgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlUHJveHkuZ2V0KCkp
OworfQorI2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2FuY2VsTG9hZCgp
CiB7CiAgICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5zdG9wKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaAppbmRleCA4NmFhNDJjZWJmZDcwM2UwYzBiZWJjM2VkMGQwZTQxODU1OWE2NjdhLi5jN2Iz
Yzk2YTVkMzBmM2M0NTYwOTYyYjExZjliZDdmZWFkZGQ4YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAg
LTUyLDYgKzUyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNSW5zdGFuY2VQcm94eS5oIgogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291
cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHkuaCIKKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0
b3JhZ2UuaCIKICNlbmRpZgpAQCAtMTA5LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHBy
ZXBhcmVGb3JSZW5kZXJpbmcoKTsKIAogICAgIHZvaWQgbG9hZChVUkwmJiwgT3B0aW9uYWw8U2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGNv
bnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25m
aWd1cmF0aW9uJiYpPiYmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHZvaWQgbG9h
ZE1lZGlhU291cmNlKFVSTCYmLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIpOworI2VuZGlm
CiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsKQEAg
LTMwMCw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgbV9j
YWNoZWRTdGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiBtX2Nv
bmZpZ3VyYXRpb247CiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRp
bWU+KT4gbV9wZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXI7CisjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8UmVtb3RlTWVkaWFTb3VyY2VQcm94eT4gbV9t
ZWRpYVNvdXJjZVByb3h5OworI2VuZGlmCiAKICAgICBXZWJDb3JlOjpMYXlvdXRSZWN0IG1fdmlk
ZW9Db250ZW50Qm94UmVjdDsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVudFNjYWxlIHsgMS4wIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY5NmEwZGEyNGQ3NmU1YWU3
NDVmODIxYTUxYTg0MDE4ZjY1NWYxOTIuLmEyODg2MThmOTllNGY1NTg4OWViZDllMzQwZmM3NzQ0
ZjU2OTk3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNyw2ICsy
Nyw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7
CiAgICAgUHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIGVudW06dWludDhfdCBX
ZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpQcmVsb2FkIHByZWxvYWQsIGJvb2wgcHJlc2VydmVz
UGl0Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgZmxvYXQgdmlkZW9Db250ZW50U2NhbGUp
IC0+IChPcHRpb25hbDxXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRD4gaW5saW5lTGF5ZXJI
b3N0aW5nQ29udGV4dElkKSBBc3luYwogCiAgICAgTG9hZChVUkwgdXJsLCBPcHRpb25hbDxXZWJL
aXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbiwgV2ViQ29yZTo6
Q29udGVudFR5cGUgY29udGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0pIC0+IChzdHJ1Y3QgV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmlndXJhdGlvbikg
QXN5bmMKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIExvYWRNZWRpYVNvdXJjZShVUkwg
dXJsLCBXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJjZUlkZW50
aWZpZXIpIFN5bmNocm9ub3VzCisjZW5kaWYKICAgICBDYW5jZWxMb2FkKCkKIAogICAgIFByZXBh
cmVUb1BsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlODU2YjVjZDJhNjNhODg3
ZjYzMzM0ODliZmExY2Y2NjBiZGNlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAgLTAsMCArMSw5
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisj
aW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Nv
bnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVj
dGlvblRvV2ViUHJvY2VzcykKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCit7Cit9CisK
K3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlh
U291cmNlUHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgQVNTRVJUKCFtX3By
aXZhdGUpOworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQcml2YXRlKTsKK30K
KworTWVkaWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uKCkgY29uc3QKK3sK
KyAgICByZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2Vz
PiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1ha2VVbmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lkIFJlbW90ZU1lZGlh
U291cmNlUHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9pZCBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygpCit7Cit9CisKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0
TG9nSWRlbnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2b2lkIFJlbW90ZU1l
ZGlhU291cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKQorewor
fQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBX
ZWJDb3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNr
JiYgY2FsbGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHNvdXJjZUJ1
ZmZlclByaXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgc3RhdHVzID0g
bV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJjZUJ1ZmZlclByaXZh
dGUpOworCisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3Rl
U291cmNlSWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291cmNlUHJpdmF0ZTo6
QWRkU3RhdHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShpZGVudGlmaWVyLCBt
X2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUucmVsZWFzZU5vbk51
bGwoKSk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShyZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlmaWVyID0gaWRlbnRp
ZmllcjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNvdXJjZUlkZW50aWZp
ZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU1NWYxNDJlZTg4MzVhNzNhODU1NjZmY2VhZWIzMDI3Y2NjMzY4ZmMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94
eS5oCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIk1l
c3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5o
IgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJp
dmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3Mg
RGVjb2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOworY2xhc3MgUGxh
dGZvcm1UaW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBmaW5h
bAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudAorICAgICwg
cHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5S
ZW1vdGVNZWRpYVNvdXJjZVByb3h5KCkgPSBkZWZhdWx0OworCisgICAgLy8gTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50IG92ZXJyaWRlcworICAgIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVmPFdl
YkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4mJikgZmluYWw7CisgICAgTWVkaWFUaW1lIGR1cmF0
aW9uKCkgY29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRmb3Jt
VGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNlZWtUb1RpbWUo
Y29uc3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBtb25pdG9yU291cmNlQnVmZmVycygp
IGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dJZGVu
dGlmaWVyKGNvbnN0IHZvaWQqKSBmaW5hbDsKKyNlbmRpZgorCisgICAgdm9pZCBmYWlsZWRUb0Ny
ZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5k
IGNsYXNzIFJlbW90ZU1lZGlhUGxheWVyUHJveHk7IC8vIFRPRE8/CisKKyAgICAvLyBJUEM6Ok1l
c3NhZ2VSZWNlaXZlcgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6
RW5jb2Rlcj4mKSBmaW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrID0g
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0
YXR1cywgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNv
cmU6OkNvbnRlbnRUeXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisKKyAgICBSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQdHI8V2ViQ29y
ZTo6TWVkaWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJlZlB0cjxSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
YTZiNzUyZDc3MDYwZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHku
bWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJlbW90ZU1l
ZGlhU291cmNlUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVmZmVyKFdlYkNv
cmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1l
ZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2ViS2l0OjpSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKSBT
eW5jaHJvbm91cworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI0YmZjYTE2MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2lu
Y2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitl
bnVtIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRlYTc0Njk4NWJj
ZGZlMTdlZDVjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVy
UHJveHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUg
IlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclBy
aXZhdGUpCit7CisgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFkb3B0UmVmKCpu
ZXcgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlvblRvV2ViUHJv
Y2VzcywgV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVybiByZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwg
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgUmVmPFNv
dXJjZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6IG1faWRlbnRp
ZmllcihpZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RGTW92ZShzb3Vy
Y2VCdWZmZXJQcml2YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQo
KSwgKnRoaXMpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50KHRoaXMpOwor
fQorCitSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KCkK
K3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVt
b3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3ZvaWQg
UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5p
dGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpCit7Cit9CisK
K3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNl
aXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
dm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGltZSBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1l
ZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmKQoreworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCks
IG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJj
ZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkKK3sK
K30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZChk
YXRhLnZlY3RvcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxMjBhOGEyZWNiOTNjMWEzNzllOTFiOTZmYzk5OGQwMzBiZmY1MGUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291
cmNlQnVmZmVyUHJveHkuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisK
KyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTWVzc2Fn
ZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3Mg
Q29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAgOiBwdWJs
aWMgUmVmQ291bnRlZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1YmxpYyBXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpT
b3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eSgpOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxp
emF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsKKyAgICB2
b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2Ft
cGxlJikgZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBjb25z
dCBmaW5hbDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0IGZp
bmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMoY29uc3Qg
QXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBm
aW5hbDsKKworICAgIE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9y
TWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlh
VGltZSYpIGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxl
dGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KSBmaW5h
bDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3Io
aW50IGVycm9yQ29kZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFJlbW90
ZU1lZGlhU291cmNlUHJveHk7CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVzc2FnZVJlY2Vp
dmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYp
IGZpbmFsOworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisK
KyAgICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVm
PFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJpdmF0ZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2Vz
LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0M2ZlMGUwMTcK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21l
c3NhZ2VzIC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFw
cGVuZChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAppbmRleCA5NzdmOTNmZjVjM2MyYjgx
Nzg0NmM5YTlhNzU1MTc4OWM4ZWZlMDVjLi42MWI4OTBkYzc4NjdjMzNiMDA1ZjIyZTkzYmIxYWY0
N2RkZDNiMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1Jl
bW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdl
ci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRl
ICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzcy5oIgog
I2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIgogI2luY2x1ZGUgIlJl
bW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4NzY0OTVmYjFhY2M5MDRjMWVhMjUw
NjkwOTNiMjAwZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMxNjhlNzlhMDU3ZjlkYmRiOWI4Njk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Cisr
KyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI1OSw2ICsy
NTksOCBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAg
ICAgICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktp
dDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpS
ZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZU1l
ZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmll
cicsCiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dl
YktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTAzNzlmMmZmYTgz
Mzc0YzE0ZDE3ZDdiYzllYzMwNjA2N2UxMzc2Mi4uMDkxN2YwMWJlMWM5ZjhjYWEyYWJmN2YwZjg5
MGY4OTVhM2YyZWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Miw2ICs0Miw4IEBAIEdQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFSZXNvdXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZUxv
YWRlci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3Bw
CitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCitHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVUZXh0VHJhY2tQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9UcmFja1By
b3h5LmNwcAogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXIuY3BwCkBAIC01NzAsNiArNTcyLDcgQEAgV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVt
b3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvQXVkaW9UcmFj
a1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHku
Y3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCiBXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE0uY3BwCkBAIC01ODIsNiArNTg1LDcgQEAgV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKIFdlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRp
YS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4
dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1ZpZGVvVHJhY2tQ
cml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvV2ViTWVkaWFTdHJhdGVneS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGUzMzg0N2FlMTZhY2M5OWE3Mzk0MzQ3NDRkOGEzZGY2YzI4Y2FiZmMuLmUzZTZkOTUwYTdi
MjQ0YTAzNDZjNmJmNTlkMTIxNDE2NjQxOGIxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIxLDYgKzQyMSwxMiBAQAogCQkxRDRE
NzM3NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdl
c1JlcGxpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFENEQ3Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1l
c3NhZ2VzUmVwbGllcy5oICovOyB9OwogCQkxREIwMTk0MzIxMUNGMDAyMDA5RkIzRTggLyogV0tT
aGFyZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFyZVNoZWV0LmggKi87IH07CiAJCTFE
QjAxOTQ0MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJCQjA2MTIxMUNDM0NCMDA1MDJFQ0Mg
LyogV0tTaGFyZVNoZWV0Lm1tICovOyB9OworCQkxREQyQTY0MDI1NUUzRjFGMDBGRjdCNkYgLyog
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291
cmNlUHJveHkuaCAqLzsgfTsKKwkJMUREMkE2NDQyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaCAqLzsgfTsKKwkJMUREMkE2NDcyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291
cmNlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUREMkE2NDYyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRp
Zmllci5oICovOyB9OworCQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFT
b3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjZFMjU2MjAy
MUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2QjI1
NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OworCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFGMzM1QkMwMTg1
Qjg0RjAwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMzM1QkJGMTg1Qjg0RDgw
MDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjYwNEJBQTE4ODlGQkI4MDBF
RTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY2MDRCQTcxODg5RkE3NDAwRUUw
Mzk1IC8qIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUY3
NTA2QjExODU5MTYzNzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAxODE2OTE4NThEQzE1
MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjgxNCw2ICsyODIwLDI4IEBACiAJCTFE
QTQwODk0MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREJCQjA2MTIxMUND
M0NCMDA1MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV0tTaGFyZVNoZWV0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxREQyQTYzNjI1NURFNjc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA7IHBh
dGggPSAvVm9sdW1lcy9EYXRhL3dlYmtpdC9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcDsgc291cmNlVHJlZSA9
ICI8YWJzb2x1dGU+IjsgfTsKKwkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUuaDsgcGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3VyY2UvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaDsgc291cmNl
VHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzQTI1NURF
NkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNl
UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDIyNTVFM0Yz
RDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFE
RDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VJZGVu
dGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjRBMjU2MEY1NEMw
MEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90
ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVz
c2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNz
YWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2MTI1
NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMURE
MkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkxREQyQTY2NjI1NjFFRDA0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVm
ZmVyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjY4MjU2MUY2ODQwMEZG
N0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUREMkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVT
b3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CisJCTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2QjI1NjIwMjFFMDBG
RjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVT
b3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGUubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjcxMjU2
MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxp
ZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OworCQkxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktp
dDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjczMjU2MjMyNEYwMEZGN0I2RiAv
KiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxREUwNzZEOTI0NjBDQ0JEMDBCMjExRTggLyogV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
ZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMURFMEQwOTUyMTFDQzIxMzAwNDM5QjVGIC8qIFdLU2hhcmVTaGVldC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1NoYXJlU2hlZXQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMURFMkRGQUMyM0E5NTlGODAwM0UwMTNBIC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VJ
ZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NjMzLDYgKzU2NjEs
OCBAQAogCQkJCTA3OTIzMTMxMjM5QjNCMEMwMDk1OThFMiAvKiBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwICovLAogCQkJCTA3OTIzMTMyMjM5QjNCMEMwMDk1OThFMiAvKiBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkwN0IxRDA0QjIzRDM4RkNFMDAzOTlBNkUgLyogTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAorCQkJCTFERDJBNjM2MjU1REU2
NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwICovLAorCQkJCTFERDJB
NjM3MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCAqLywKIAkJ
CQk5QjVCRUMyOTI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5
LmNwcCAqLywKIAkJCQk5QjVCRUMyODI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5LmggKi8sCiAJCQkJOUI1QkVDMkUyNDAxMDE4QzAwNzBDNkVGIC8qIFJlbW90
ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5tZXNzYWdlcy5pbiAqLywKQEAgLTU2NzcsNiArNTcwNywx
MCBAQAogCQkJCTA3QjNCNDZGMjNBQjJDQjMwMEJBNUIxMiAvKiBSZW1vdGVNZWRpYVBsYXllclN0
YXRlLmggKi8sCiAJCQkJMUQzMkY4OUQyM0E4NEM1QjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVz
b3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJMUQzMkY4OUIyM0E4NEJBNjAwQjFFQTZBIC8qIFJlbW90
ZU1lZGlhUmVzb3VyY2VQcm94eS5oICovLAorCQkJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAv
KiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLywKKwkJCQkxREQyQTYzQTI1NURFNkQx
MDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCisJCQkJMUREMkE2
MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLywKKwkJ
CQkxREQyQTY2RjI1NjIyRjExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5t
ZXNzYWdlcy5pbiAqLywKIAkJCQkwN0UxOUYwODIzRDUzM0I5MDA5NEZGQjQgLyogVGV4dFRyYWNr
UHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDdFMTlGMDkyM0Q1MzNCQTAwOTRGRkI0IC8qIFRl
eHRUcmFja1ByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkxREZERDBFMjIzRjYxMEYwMDBFOUI0OTAg
LyogVmlkZW9MYXllclJlbW90ZS5oICovLApAQCAtNTc0MSw2ICs1Nzc1LDEzIEBACiAJCQkJMURB
NDA4OUUyM0E4Mjc3ODAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcCAq
LywKIAkJCQkxREE0MDg5NDIzQTgwQTNFMDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXIuaCAqLywKIAkJCQkxRDMyRjhBNjIzQTg2MDE5MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJMUREMkE2M0YyNTVFM0YxRjAwRkY3
QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwICovLAorCQkJCTFERDJBNjNFMjU1RTNG
MUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggKi8sCisJCQkJMUREMkE2NEEy
NTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gKi8s
CisJCQkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIuaCAqLywKKwkJCQkxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuY3BwICovLAorCQkJCTFERDJBNjQyMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5oICovLAorCQkJCTFERDJBNjY2MjU2MUVEMDQwMEZGN0I2RiAv
KiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQkwN0UxOUYwNzIz
RDREQzg4MDA5NEZGQjQgLyogUmVtb3RlVGV4dFRyYWNrUHJveHkuY3BwICovLAogCQkJCTA3RTE5
RjA2MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQcm94eS5oICovLAogCQkJCTA3
MUJDNTg0MjNDQzJDMDkwMDY4MEQ3QyAvKiBSZW1vdGVWaWRlb1RyYWNrUHJveHkuY3BwICovLApA
QCAtMTAzNDYsMTAgKzEwMzg3LDE2IEBACiAJCQkJMUQ0RDczNkIyM0E5REY1NTAwNzE3QTI1IC8q
IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkx
RDRENzM2QzIzQTlERjYwMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNz
YWdlcy5oICovLAogCQkJCTFENEQ3Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovLAorCQkJCTFERDJBNjYyMjU2MTIyRjEw
MEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
KwkJCQkxREQyQTY2MDI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1l
c3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NjEyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQkxQUMxMzM4MzE4NTkwQzQ2MDBG
M0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJ
CTFBQzEzMzg0MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2Vz
LmggKi8sCiAJCQkJMEY1OTQ3QTUxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkwRjU5NDdBNjE4N0I1MTc2MDA0
Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlcy5oICovLAorCQkJCTFE
RDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2QTI1NjIwMjFFMDBGRjdC
NkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQlB
NTVCQTgyMTFCQTI1QkI4MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAogCQkJCUE1NUJBODIyMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUJCQkU0OUUxOUI2NkM1MzAwNkI3
RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTEw
MzU3LDYgKzEwNDA0LDkgQEAKIAkJCQlFMThFNjkxNDE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRl
bVNoaW1Qcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMkRFNjk0M0IxOEJEMkE2ODAwNUMxNUU1IC8q
IFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJ
CTJERTY5NDNDMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVy
TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NzMyNTYy
MzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oICovLAor
CQkJCTFERDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
TWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJOTNENkI3ODEyNTRDQ0FCQzAwNThERDNBIC8qIFNw
ZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk5M0Q2Qjc4
MDI1NENDQUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oICov
LAogCQkJCTkzRDZCNzdGMjU0Q0NBQkIwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZl
ck1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTEzNDUsNiArMTEzOTUsOCBAQAogCQkJCTA3MUJD
NTkxMjNDRTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZXNSZXBs
aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxRDRENzM3MTIzQTlFNTYyMDA3MTdBMjUgLyogUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQ0
RDczNzYyM0E5RUQxODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2Fn
ZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY0NzI1NUYzMkIxMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQy
QTY0MDI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFCNzg0NzExNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdD
b250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU3MDRGQzFCRTE3NTExMDA4NzRBRjEgLyog
UmVtb3RlT2JqZWN0SW52b2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDMTMzODAxODU5
MEFFNDAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKQEAg
LTExMzU0LDYgKzExNDA2LDcgQEAKIAkJCQkwRjU5NDc5QjE4N0IzQjYwMDA0Mzc4NTcgLyogUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3
QTQxODdCM0I3RDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTk0NzlEMTg3QjNCNjAwMDQzNzg1NyAvKiBSZW1v
dGVTY3JvbGxpbmdUcmVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY0NDI1NUUzRjNEMDBG
RjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1
NUJBODFGMUJBMjVCMjcwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTU1QkE4MjUxQkEyNUNGQjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODE3MUJBMjNFMTIw
MDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzE0
MCw4ICsxMzE5MywxMCBAQAogCQkJCTA3MDE3ODlFMjNCRTlDRkMwMDVGMEZBQSAvKiBSZW1vdGVN
ZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcxQkM1OEYy
M0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUQ0RDczNzAyM0E5RTU0NzAwNzE3QTI1IC8qIFJlbW90
ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYz
RUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NkUy
NTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMzRCAvKiBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQkJCRTRBMDE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2Njcw
IC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0xMzE1Miw2ICsxMzIwNyw3IEBACiAJCQkJQTFBREFGQjYyMzY4RTZBODAwOUNCNzc2IC8qIFNo
YXJlZE1lbW9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzVCMUJCOTIzQ0U5QzBCMDAyMDYz
OUEgLyogU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
RTY5NDNEMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjc0MjU2MjMyQTEwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzRDZCNzgyMjU0Q0NDRjQwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25p
dGlvblNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTMzNERF
RDE2REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTM2OEVFREUyMzAzQTkwMjAwQkRCMTFBIC8qIFN0b3JhZ2VNYW5h
Z2VyU2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuY3BwCmluZGV4IGUwOWFmMGRjMzJiYjFiYmE1ZWJkODZlNGRjMDY3MGEwMmZmN2Nk
OWIuLmRlY2FhM2ViZDY0Y2M0MDU3ODdmMWEzNTlhMzcwM2U3NzgzMmVlOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIlJlbW90ZUxlZ2FjeUNETS5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3Rv
cnkuaCIKQEAgLTcxLDYgKzcyLDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lDRE0uaD4K
ICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKQEAg
LTE0OCw3ICsxNTMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cHJlcGFyZUZv
clBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIE1lZGlhUGxheWVyOgogICAgIH0sIG1faWQpOwog
fQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUs
IGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlPiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlOwogICAgIGlmICh1cmwuaXNMb2NhbEZpbGUo
KSkgewpAQCAtNjI0LDE1ICs2MjksMjEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKIH0KIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCogY2xpZW50KQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0g
bWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAg
ICAgICAgICByZXR1cm47CisgICAgaWYgKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciA9PSBNZWRp
YVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFWRm91bmRhdGlvbk1TRSkgewor
ICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXI6Omdl
bmVyYXRlKCk7CisgICAgICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBpZGVudGlmaWVyKSwgbV9pZCk7Cisg
ICAgICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpj
cmVhdGUobV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCksIGlkZW50aWZpZXIsIG1fbWFu
YWdlci50eXBlQ2FjaGUobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVyKSwgKnRoaXMsIGNsaWVudCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyksIHRoaXNdIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRl
ID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7Ci0gICAgICAgIG1fcGxh
eWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7Ci0gICAgfSk7CisgICAgICAgICAgICBtX2NhY2hl
ZFN0YXRlLm5ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVy
cm9yOworICAgICAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKKyAgICAg
ICAgfSk7CisgICAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4
IGYzNjM3MjUwOWVhOWU0ZjhlMWE3ZDhmN2Y1Mjc2M2MzNGYxMWU0YTAuLjNiM2RiYTI1OTkwYTkx
OTA0OTc1M2NhMzc5OGFlYmQ5YjNiMGYxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApA
QCAtNTYsNiArNTYsNyBAQCBjbGFzcyBWaWRlb0xheWVyTWFuYWdlcjsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTsKIGNsYXNzIFJlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXI7CiBjbGFzcyBVc2VyRGF0YTsKIHN0cnVjdCBUZXh0VHJhY2tQcml2
YXRlUmVtb3RlQ29uZmlndXJhdGlvbjsKQEAgLTg4LDYgKzg5LDggQEAgcHVibGljOgogICAgIElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFuYWdlci5ncHVQ
cm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsgfQogICAgIFdlYkNvcmU6Ok1lZGlhUGxh
eWVyKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQogCisgICAgV2ViQ29yZTo6
TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fY2FjaGVkU3RhdGUucmVhZHlTdGF0ZTsgfQorCiAgICAgdm9pZCBuZXR3b3JrU3RhdGVDaGFu
Z2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdl
ZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZChkb3Vi
bGUpOwpAQCAtMTU0LDYgKzE1NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRSYXdDb29raWVz
KGNvbnN0IFVSTCYsIFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjpHZXRSYXdDb29raWVzQ2Fs
bGJhY2smJikgY29uc3Q7CiAjZW5kaWYKIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAg
IGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50
aWZpZXIoKTsgfQorICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVy
biBsb2dnZXIoKTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAKICNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKQEAgLTE3MCw3ICsxNzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJlcGFyZUZvclBs
YXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpQcmVsb2FkLCBi
b29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmUpIGZpbmFsOwogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6TWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIFdl
YkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOwogI2VuZGlmCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2
YXRlJikgZmluYWw7CkBAIC0yNTAsNyArMjU4LDYgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbWlu
RmFzdFJldmVyc2VSYXRlKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWJDb3JlOjpNZWRpYVBsYXll
cjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2Fj
aGVkU3RhdGUubmV0d29ya1N0YXRlOyB9Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5
U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVkU3RhdGUucmVh
ZHlTdGF0ZTsgfQogCiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZVNlZWthYmxlKCkgY29uc3Qg
ZmluYWw7CiAgICAgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgZmluYWw7
CkBAIC0zODQsNiArMzkxLDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbW90ZUF1ZGlvU291
cmNlUHJvdmlkZXI+IG1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKICNlbmRpZgogCisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21l
ZGlhU291cmNlUHJpdmF0ZTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxSZW1vdGVNZWRpYVJlc291
cmNlSWRlbnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZT4+IG1f
bWVkaWFSZXNvdXJjZXM7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVy
LCBSZWY8QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU+PiBtX2F1ZGlvVHJhY2tzOwogICAgIEhhc2hN
YXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPFZpZGVvVHJhY2tQcml2YXRlUmVt
b3RlPj4gbV92aWRlb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mZmFlMTcxOTRjOWM1ZWFmMWQwOWI0YjExNWQyODdkOTk4ZTYzMGUzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorCisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAi
TG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlh
OworI2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9u
LCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5
ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQor
eworICAgIGF1dG8gbWVkaWFTb3VyY2VQcml2YXRlID0gYWRvcHRSZWYoKm5ldyBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUoZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIGlkZW50aWZpZXIsIG1pbWVUeXBl
Q2FjaGUsIHBsYXllclByaXZhdGUsIGNsaWVudCkpOworICAgIGNsaWVudC0+c2V0UHJpdmF0ZUFu
ZE9wZW4obWVkaWFTb3VyY2VQcml2YXRlLmNvcHlSZWYoKSk7CisgICAgcmV0dXJuIG1lZGlhU291
cmNlUHJpdmF0ZTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBS
ZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5ZXJN
SU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQorICAg
IDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAgICAsIG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9taW1lVHlwZUNhY2hlKG1pbWVUeXBlQ2Fj
aGUpCisgICAgLCBtX3BsYXllclByaXZhdGUobWFrZVdlYWtQdHIocGxheWVyUHJpdmF0ZSkpCisg
ICAgLCBtX2NsaWVudChjbGllbnQpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBt
X2xvZ2dlcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nZ2VyKCkpCisgICAgLCBtX2xv
Z0lkZW50aWZpZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSkK
KyNlbmRpZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECisgICAgbV9jbGllbnQtPnNldExvZ0lkZW50aWZpZXIobV9sb2dJZGVudGlm
aWVyKTsKKyNlbmRpZgorfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6On5NZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisKKyAg
ICBmb3IgKGF1dG8gaXQgPSBtX3NvdXJjZUJ1ZmZlcnMuYmVnaW4oKSwgZW5kID0gbV9zb3VyY2VC
dWZmZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5jbGVhck1lZGlh
U291cmNlKCk7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50
VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQcml2YXRlKQoreworICAgIERF
QlVHX0xPRyhMT0dJREVOVElGSUVSLCBjb250ZW50VHlwZSk7CisKKyAgICBNZWRpYUVuZ2luZVN1
cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNl
ID0gdHJ1ZTsKKyAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKKyAgICBpZiAobV9t
aW1lVHlwZUNhY2hlLnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKKyAgICAgICAgcmV0dXJuIEFkZFN0
YXR1czo6Tm90U3VwcG9ydGVkOworCisgICAgQWRkU3RhdHVzIHN0YXR1czsKKyAgICBPcHRpb25h
bDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyOworICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5
bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNvdXJjZUJ1ZmZlcihjb250
ZW50VHlwZSksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VCdWZm
ZXI6OlJlcGx5KHN0YXR1cywgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciksIG1faWRlbnRp
ZmllcikpCisgICAgICAgIHN0YXR1cyA9IEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisgICAg
aWYgKHN0YXR1cyA9PSBBZGRTdGF0dXM6Ok9rKSB7CisgICAgICAgIEFTU0VSVChyZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyLmhhc1ZhbHVlKCkpOworICAgICAgICBhdXRvIG5ld1NvdXJjZUJ1
ZmZlciA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNyZWF0ZShtX2dwdVByb2Nlc3NDb25u
ZWN0aW9uLCAqcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgKnRoaXMpOworICAgICAgICBv
dXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKKyAgICAgICAgbV9zb3VyY2VC
dWZmZXJzLmFwcGVuZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOworICAgIH0KKworICAgIHJl
dHVybiBzdGF0dXM7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpkdXJhdGlv
bkNoYW5nZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bWFya0Vu
ZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6dW5tYXJrRW5kT2ZTdHJlYW0oKQoreworfQorCitNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3BsYXllclByaXZhdGUgPyBtX3BsYXllclByaXZhdGUtPnJlYWR5U3RhdGUo
KSA6IE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5U3Rh
dGUpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3YWl0Rm9yU2Vla0Nv
bXBsZXRlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZWVrQ29t
cGxldGVkKCkKK3sKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5l
bCYgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWM5NDQyNWI0OGIzOTZlOTY3YzRlODIx
NGRmYjZlNTM1YTU1MGJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDk3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5oIgorI2luY2x1ZGUg
IlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVu
dFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZS5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU7CitjbGFzcyBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOworCitjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGUKKyAgICAs
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+CisjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlmCit7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IGNyZWF0
ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVt
b3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAgdmlydHVhbCB+
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKCk7CisKKyAgICBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGUqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZS5nZXQoKTsgfQorCisg
ICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlIG92ZXJyaWRlcworICAgIEFkZFN0YXR1cyBhZGRTb3Vy
Y2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBSZWZQdHI8V2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZT4mKSBmaW5hbDsKKyAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZCgpIGZp
bmFsOworICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSBmaW5hbDsK
KyAgICB2b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0
UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7CisgICAg
dm9pZCB3YWl0Rm9yU2Vla0NvbXBsZXRlZCgpIGZpbmFsOworICAgIHZvaWQgc2Vla0NvbXBsZXRl
ZCgpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2Vy
JiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNv
bnN0IHZvaWQqIG5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1cm4gY2hpbGRM
b2dJZGVudGlmaWVyKG1fbG9nSWRlbnRpZmllciwgKyttX25leHRTb3VyY2VCdWZmZXJJRCk7IH0K
KyNlbmRpZgorCitwcml2YXRlOgorICAgIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZShHUFVQcm9j
ZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlTWVkaWFQ
bGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwgV2Vi
Q29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisKKyAgICBHUFVQcm9jZXNzQ29ubmVj
dGlvbiYgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIgbV9pZGVudGlmaWVyOworICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYg
bV9taW1lVHlwZUNhY2hlOworICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlPiBt
X3BsYXllclByaXZhdGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudD4gbV9jbGllbnQ7CisgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlPj4gbV9zb3VyY2VCdWZmZXJzOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
Y29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5l
bCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworCisgICAgUmVmPGNvbnN0IExvZ2dlcj4gbV9s
b2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworICAgIHVpbnQ2NF90IG1f
bmV4dFNvdXJjZUJ1ZmZlcklEIHsgMCB9OworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQ0RNQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKaW5kZXggYzYyYzQ2NGZkZmRjZDhjMzU3NTZiMGUz
OGRhZDBmODkzOTA1ODg2Ny4uZTY0NTA4NGJjZDYwYzQ1Y2U3NmYzYTAzY2ZkM2Y3ODNmMTY5MzQ5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVD
RE1Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdl
YkNvcmUvQ29udGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaApp
bmRleCA2NTMyZDcyZTdjZTRiODUzZjJkM2I5MzQ1NWUxOTI4MWM0MTlmYTQzLi5hODY1ODBiZjE4
NjMxYmIzYmM4MjZiNTNhZjFmMmQ1NDg2ZTQ2MjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VD
b25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVu
dFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAppbmRleCAxZDZiM2VlM2U5NWU4MGFlODYw
ZTk2NmI4YzkyNzNkMDg2NTNhOGFjLi5hNDE2OWQ1YjFhNTY4OGNiZDY5YzU5ZDhiOGE5ZmMyZGFk
NWIyY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKQEAgLTY2LDYgKzY2LDggQEAgcHVi
bGljOgogCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyIGZpbmRSZW1vdGVQbGF5
ZXJJZChjb25zdCBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqKTsKIAorICAg
IFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNvcmU6Ok1lZGlh
UGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRl
UmVtb3RlTWVkaWFQbGF5ZXIoV2ViQ29yZTo6TWVkaWFQbGF5ZXIqLCBXZWJDb3JlOjpNZWRpYVBs
YXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwogCkBAIC04Myw4ICs4NSw2IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVt
czo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBXYWxsVGltZSBtb2RpZmll
ZFNpbmNlKTsKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBjb25z
dCBIYXNoU2V0PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+Jik7CiAKLSAgICBSZW1v
dGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpNZWRpYVBsYXll
ckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwotCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpN
ZWRpYVBsYXllcklkZW50aWZpZXIsIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlPj4g
bV9wbGF5ZXJzOwogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKICAgICBtdXRhYmxlIEdQVVBy
b2Nlc3NDb25uZWN0aW9uKiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uIHsgbnVsbHB0ciB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNv
dXJjZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNjU5NDYxMDA2NzA1MTcy
ZTE2ODA2ZmUxNzM1NTUzZDEzOTRiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL09iamVjdElk
ZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gUmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIg
PSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllclR5cGU+OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44YWExMTY1ZDBkYTQyZWY2YzhiNjMzNzM3NTBkOGQ4M2NmMDEyMzA4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisjaW5jbHVkZSAi
UmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKKyNlbmRp
ZgorfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisK
K1JlZjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
OjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNv
bnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRlKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24sIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIG1lZGlhU291cmNlUHJp
dmF0ZSkpOworfQorCitTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBj
b25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0ZSkKKyAgICA6
IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAgLCBtX3Jl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIocmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcikK
KyAgICAsIG1fbWVkaWFTb3VyY2VQcml2YXRlKG1ha2VXZWFrUHRyKG1lZGlhU291cmNlUHJpdmF0
ZSkpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihtX21lZGlhU291
cmNlUHJpdmF0ZS0+bG9nZ2VyKCkpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIobV9tZWRpYVNvdXJj
ZVByaXZhdGUtPm5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKK3sKKyAg
ICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24u
bWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7Cit9CisKK1NvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGU6On5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIpOworICAgIEFTU0VSVCghbV9jbGllbnQpOworCisgICAgbV9ncHVQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldENsaWVudChTb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50KiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBjbGllbnQ7Cit9CisKK3ZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYm
IGRhdGEpCit7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OkFwcGVuZChJUEM6OkRhdGFSZWZlcmVu
Y2UoZGF0YSkpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpOworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmFib3J0KCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpyZXNldFBhcnNlclN0YXRlKCkKK3sKK30KKwordm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlhU291cmNlKCkKK3sKK30KKworTWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNv
dXJjZVByaXZhdGUtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVhZHlT
dGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6
c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkKK3sKK30KKwordm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQor
eworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVldWVTYW1wbGUoUmVm
PE1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29s
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBB
dG9tU3RyaW5nJiB0cmFja0lEKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUoYm9vbCkKK3sKK30KKwordm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxl
cyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3Qg
QXRvbVN0cmluZyYpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUo
Y29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3ZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KGNvbnN0IEF0b21TdHJpbmcmKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmNhblN3aXRjaFRvVHlwZShjb25zdCBDb250ZW50VHlwZSYpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclBy
aXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1
bHQgYXBwZW5kUmVzdWx0KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQt
PnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpOworfQorCisj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9
CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI5YTAxYjA2MjVlM2I3YzdmMDExODRhODNjMzZlNTQ5MTIyZjA5YTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Nv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJN
ZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
TWVkaWFTYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRl
IDx3dGYvTG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dl
YWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJ
UEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJl
bmNlOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOworCitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIGZpbmFsCisgICAgOiBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4KKyAgICAsIHB1
YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlCisgICAgLCBwcml2YXRlIElQQzo6TWVz
c2FnZVJlY2VpdmVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExv
Z2dlckhlbHBlcgorI2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmKTsKKyAg
ICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCk7CisKKyAgICB2b2lkIGNsZWFy
TWVkaWFTb3VyY2UoKSB7IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gbnVsbHB0cjsgfQorCitwcml2
YXRlOgorICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24m
LCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUmKTsKKworICAgIC8vIFNvdXJjZUJ1ZmZlclByaXZhdGUgb3ZlcnJpZGVzCisgICAgdm9p
ZCBzZXRDbGllbnQoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCopIGZpbmFsOwor
ICAgIHZvaWQgYXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKSBmaW5hbDsKKyAgICB2b2lk
IGFib3J0KCkgZmluYWw7CisgICAgdm9pZCByZXNldFBhcnNlclN0YXRlKCkgZmluYWw7CisgICAg
dm9pZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0
UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7CisgICAg
dm9pZCBmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIGVu
cXVldWVTYW1wbGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5n
JiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBB
dG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNldEFjdGl2ZShib29sKSBmaW5h
bDsKKyAgICB2b2lkIG5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0
b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgY2FuU2V0TWluaW11bVVwY29taW5n
UHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QgZmluYWw7CisgICAgdm9p
ZCBzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmLCBj
b25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyTWluaW11bVVwY29taW5nUHJl
c2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgZmluYWw7CisgICAgYm9vbCBjYW5Td2l0
Y2hUb1R5cGUoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmKSBmaW5hbDsKKworICAgIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7
CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKworICAgIEdQVVByb2Nlc3ND
b25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXIgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOworICAgIFdlYWtQdHI8
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291cmNlUHJpdmF0ZTsKKyAgICBXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIgfTsKKwor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCBjaGFyKiBsb2dD
bGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgp
IGNvbnN0IGZpbmFsOworICAgIGNvbnN0IExvZ2dlciYgc291cmNlQnVmZmVyTG9nZ2VyKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBzb3Vy
Y2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRpZmllcigpOyB9
CisKKyAgICBSZWY8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xv
Z0lkZW50aWZpZXI7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMTk4
MjExY2U5OWFiYWQ1YjhlZTA3ZmQ0ZTE3N2JkZmE5NWE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGUubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CisgICAgU291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggNGYzZGU3NzNjMTIzNmYzMzBmNTQw
YTljOGQ2NDEwMGNmYjA1YmJjMC4uYjZlMzQ2MWZmOTc0OThhM2MzYzBlZjA0YWZlMjBlYTM2OTFk
ZGEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JN
KENPQ09BKQogCisjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKICNpbXBvcnQg
IlJlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbXBvcnQgPFdlYkNvcmUvVmlkZW9MYXll
ck1hbmFnZXJPYmpDLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4K
</data>
<flag name="commit-queue"
          id="431083"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414258</attachid>
            <date>2020-11-16 11:04:10 -0800</date>
            <delta_ts>2020-11-16 12:16:41 -0800</delta_ts>
            <desc>WIP patch: fix WPE build failures again</desc>
            <filename>bug-218912-20201116110409.patch</filename>
            <type>text/plain</type>
            <size>132006</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4Njk1MjNjNDAxODc1OWVl
NzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2VjNmIxOWEzZDczMjRlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KIAog
ICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOwogICAg
IHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNlQnVmZmVyUHJp
dmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6CisgICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZm
ZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6
Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lk
bC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBl
CiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhh
dCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAgIC8vIHNwZWNpZmllZCBm
b3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMsIHRoZW4g
dGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hlZElkTGltaXQ6CisgICAg
Y2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQ6CiAgICAg
ICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVm
YXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRT
b3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAg
MzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJjZUJ1ZmZlciBv
YmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2VlZGVkRXJyb3IgZXhjZXB0
aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0MjkyNjhkNzYxNzVlOTMyMDBl
YzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEzNGIyZGYzY2RkYjllOTAz
NWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBUb3A6IElmIHRoZSBpbnB1
dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBtb3JlIGRhdGEgc3RlcCBi
ZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIHNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNjZWVkZWQpOworICAgICAg
ICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0OjpBcHBlbmRT
dWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTgsNyArNjU4LDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlu
cyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRlIHN0cmVhbSBmb3JtYXQg
c3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5kIGVycm9yIGFsZ29yaXRo
bSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0cnVlIGFuZCBhYm9ydCB0
aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdGYWlsZWQpIHsKKyAgICBp
ZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkgewogICAgICAgICBFUlJP
Ul9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAgICAgICAgYXBwZW5kRXJy
b3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdCBy
ZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAzLjUuNQogICAgIC8vIDIu
SWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRoZSBwcmV2aW91cyBzdGVw
IHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChyZXN1bHQg
IT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kUmVzdWx0OjpBcHBl
bmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMuIFNldCB0aGUgdXBkYXRp
bmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYxZDI5YzBjMjZiMmU1ZWQx
NjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1ZmUwOWI4MzkzZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIwMDRCRDg2RiAvKiBJU09Q
cm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8qIElTT1Byb3RlY3Rpb25T
Y2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09yaWdpbmFsRm9ybWF0Qm94
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg3MUM2
NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3guaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAx
MkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNr
UXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVE
MDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0JCUNENjQxRUI0MTgxOEY1
RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291
cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyog
TWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q2
NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUIyMTgxOEY1RUQwMEVF
NEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAwMDQ3RkRFIC8qIElTT0Zh
aXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3Ry
ZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDdE
MzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ4MUM3QTE2
QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVW
aWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAv
KiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFu
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
RENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUw
IC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5
RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RE
RTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIz
RUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlD
RERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThC
NTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwogCQlD
REUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZDRTYw
MEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZjOGJlNmM4N2EwZjJmZGU4
MjJiZDEzMDQwZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNmZDU0ODg5YTNlYmQ4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNDU3LDcgKzE0
NTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShjb25zdCBVUkwmIGlu
aXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAgICAgLy8gd2hpbGUgcHJv
Y2Vzc2luZyByZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAgICAgICAgbV9tZWRpYVNv
dXJjZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5
ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9IGVsc2UgaWYgKCFtX3Bs
YXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNlLmdldCgpKSkgeworICAg
ICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkp
KSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUgTWVkaWFTb3VyY2UgYmVm
b3JlIHdlIGZvcmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAgICAgICAgbV9tZWRpYVNv
dXJjZS0+ZGV0YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAgICAgbV9tZWRpYVNvdXJj
ZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAppbmRleCA3YzI3
OGE2OGUzODlhZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4YjkzY2E5YTk1MjgyMjRh
ZWEyM2M0NDVlOGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZW50VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmF3KCkgY29u
c3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV90eXBlLmlzRW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0cmluZygpIGNvbnN0Owor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKIAogICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rlcikg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAppbmRleCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlkMDkxODVhNzJiLi4xNzA0
Mzg1ZGRjNzg4ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC05Niw3ICs5Niw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwg
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5kaWYKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbCB7
IH0KQEAgLTQ3MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyCiB9CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwm
IHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqIG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBVUkwmIHVy
bCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKIHsKICAgICBBU1NFUlQo
IW1fcmVsb2FkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1lZGlhU291cmNlKTsKIAog
ICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2NvbnRlbnRUeXBlID0gY29u
dGVudFR5cGU7CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBtX3VybCA9IHVybDsKICAg
ICBtX2tleVN5c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250ZW50TUlNRVR5cGVXYXNJ
bmZlcnJlZEZyb21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1ODYsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBNZWRpYVBsYXllckZhY3Rv
cnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAgICAgbV9wcml2YXRlLT5s
b2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsKKyAgICAgICAgICAgIG1f
cHJpdmF0ZS0+bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CiAgICAgICAgIGVsc2UK
ICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFjYmJiYjFhNjk4Y2EzZDQw
NzA2NjJmMWQzZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIzOTZhZjMwMmVkZTUyMmZi
ZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSk7CiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVu
dFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBib29sIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
aW5kZXggZjliOTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRhNTgwMi4uY2Q5N2M2MjY5
ZWJiYTI2N2M3MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTQzLDcgKzQz
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwuc3RyaW5nKCkpOyB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRp
YVN0cmVhbVByaXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdmMTRkOGUxOTY2YjgzOTcx
ODRiZDJiZDg3ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNjMzQxNzNiNTk0N2U4NmEz
MzNhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhU291cmNlUHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlX2gKLSNkZWZpbmUg
TWVkaWFTb3VyY2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogCkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgTWVkaWFTb3VyY2VQcml2
YXRlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVm
YXVsdDsKIAotICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElk
TGltaXQgfTsKKyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBP
aywKKyAgICAgICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVkSWRMaW1pdAorICAgIH07
CiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBl
JiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
dXJhdGlvbkNoYW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05v
RXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKQEAgLTg4LDcgKzkyLDE1
IEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9m
U3RyZWFtU3RhdHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4geworICAgIHVzaW5nIHZh
bHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6
QWRkU3RhdHVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
czo6T2ssCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzOjpSZWFjaGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAog
I2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCAwMDU2NWE5MWZlYTk4
YTY0MThhNDQ2MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJlYTI0YWFlNjk4ZWUxNWIw
NjgxOTE1NDFjMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC03MywxMSArNzMsMjgg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZh
c3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUm
LCBjb25zdCBNZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVuZFJlc3VsdCB7IEFwcGVu
ZFN1Y2NlZWRlZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxlZCB9OworICAgIGVudW0g
Y2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFwcGVuZFN1Y2NlZWRlZCwK
KyAgICAgICAgUmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2luZ0ZhaWxlZAorICAgIH07
CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJl
Y2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9OwogCi19Cit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAgICAgICAgV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQs
CisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dDo6UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAgPjsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5k
ZXggYWQ0YmM5MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5Mi4uNWFiNzEzNzU0NzZj
NWYzMDdjZDljNTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcm
IHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBzZXROZXR3b3JrU3RhdGUo
TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDQzOGU0
ODRhZGViYzZiYmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJmOGY3NWZhYjQ0NjQ3ODc5
NDEzNjc4ZjQ2YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFjZSBvdmVycmlkZXMuCiAg
ICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IHNldE5l
dHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUyZTNhMDdlMTNkZmQwOTE1
ZTA3N2UzZGY5Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIzMDk0MmZkMjY1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJk
d2FyZVN1cHBvcnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNrSGFyZHdhcmVTdXBwb3J0
KCkgY29uc3Q7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXIm
IGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAgY29u
c3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25zdCB2b2lkKiBsb2dJZGVu
dGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lk
Kj4obV9sb2dJZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50
aWZpZXIoKTsgfQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVy
biBsb2dnZXIoKTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0ZSB7CiAgICAgICAgIFNl
ZWtpbmcsCkBAIC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwp
IG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUxYWUyNWIzYzk0Mjc4Mzg0
NjkyYWIwMWFlYTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJhOGFjZTVmYTA3NzczNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAg
ICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNs
aWVudCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBiYWRmNDY4Zjg2Y2U0Yzku
LmE0ZjRkNDQ2OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCop
IG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92
ZXJyaWRlOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLm1tCmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0NjE2YTgyYjNjMGU3NjMu
LjA5NGNlYjcwN2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQogfQogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
Ojpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkg
c3VwcG9ydHMgTWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhp
c10gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5oCmluZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEyMDk0OGY2ZGFjZTYuLmRj
NDYyMDNiZThmNGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDggKzIz
LDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQ19oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdtYSBv
bmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCkBA
IC0xNDksNSArMTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
T1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWY0NTNhZThk
ZGJlODE0NThkMmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNhNzk0ZmEwMTY5ZjljZTBm
NmY5MmZlYWI1NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEgQEAgTWVkaWFTb3VyY2VQ
cml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVm
ZmVyKGNvbnN0IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwogICAgIHBh
cmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBN
ZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJu
IE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwog
CiAgICAgYXV0byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlw
ZSk7CiAgICAgaWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAg
ICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gbmV3U291cmNl
QnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0ZSh0aGlzLCBwYXJzZXIu
cmVsZWFzZU5vbk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTk3LDcg
Kzk3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQcml2YXRlID0gbmV3U291
cmNlQnVmZmVyLmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUo
bmV3U291cmNlQnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1
czo6T2s7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6cmVtb3ZlU291cmNl
QnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggOTE0OTZkMjQx
ZmZiNjEwZDk2OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVlZTUxYmRhMTRiOWI1ZjY2
MzQxNWI5ODQ2NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYgQEAKICNpbXBvcnQgIk1l
ZGlhU2FtcGxlLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk1l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclBhcnNlckFWRk9i
akMuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKQEAgLTU4Niw3ICs1
ODUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQo
KQogICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9hZGluZ1Byb2dyZXNzc2Vk
KHRydWUpOwogCiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVm
ZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OlBhcnNpbmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3OTE5YTBlOWIzMzE5Y2Zm
NDZjMmZmYzEwMWYxLi41N2I2ODM4MzIwNjM0MDg2MzI2YjY0OGI2N2I3YjY0MzA5M2EyYjRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAt
MzkxLDcgKzM5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFBy
b3Blcmx5IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmllcyB0byBmYWxsYmFjayB0
byB0aGUgbmV4dCBNZWRpYVBsYXllclByaXZhdGUuCiAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRp
YVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBlMDE2MTViMGYzYTM1MGQ2ZjA3NTA4NjJl
MzYwYTZiMGNkYjc3NDlmLi5jMDhhZjhkMmI4NmQyNGMzMDQ1ZDFjNzIwNGQ0ZjkzZjBlZDBhNTM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0x
NDIsNyArMTQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyAmdXJsKSBv
dmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9p
ZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwog
I2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJl
YW1Qcml2YXRlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggYzQ0Y2EzOTY3YWIwZmYwNjkwZjBj
ZDJlZTYzMzRkY2M1ZDBkN2ZiOC4uZGY4NWQzZGFiNGY5Mzc1ZTU3MGUzZDUzYjQxYjc3MmMzN2Fh
YTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFLmNwcApAQCAtMTM4LDEwICsxMzgsMTAgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiAgICAgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKHVybFN0cmluZyk7CiB9CiAKLXZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQordm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZSA9IG1lZGlhU291cmNlOwot
ICAgIGxvYWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwpKTsKKyAgICBsb2FkKG1ha2VT
dHJpbmcoIm1lZGlhc291cmNlIiwgdXJsLnN0cmluZygpKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpwYXVzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lck1TRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCA3ZTQ4MWU2NTc0ODllMjcx
YjQ0ZjEzZmMzNWI0NDk0YzZjNTY2ZGVjLi4wNjkyNzY2MjY0OTQ1OTA2ZGY4MjgzZDNhZDk1NzIz
Njk3OGY1MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCiAgICAgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQo
Y29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAKICAgICB2
b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRlIHsgfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5
YmFja1BpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKaW5kZXggYjAwNWQwZDMzNTI2NjRmN2Y5YmVk
OWY3MDIwOTc3MmFiMDAyNzQ1MC4uMWU4OGFkMTYxMWJlZDU0NTgyYjkxMDMwOTI2MmZjNzI3MjMy
NjUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCkBAIC0xMDcsNyAr
MTA3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxheWJhY2tQaXBlbGluZTo6
YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKIAogICAgIGlmIChwcml2LT5hbGxUcmFj
a3NDb25maWd1cmVkKSB7CiAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1QobV93ZWJLaXRNZWRpYVNy
Yy5nZXQoKSwgIkFkZGluZyBuZXcgc291cmNlIGJ1ZmZlcnMgYWZ0ZXIgZmlyc3QgZGF0YSBub3Qg
c3VwcG9ydGVkIHlldCIpOwotICAgICAgICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpOb3RT
dXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6
Tm90U3VwcG9ydGVkOwogICAgIH0KIAogICAgIEdTVF9ERUJVR19PQkpFQ1QobV93ZWJLaXRNZWRp
YVNyYy5nZXQoKSwgIlN0YXRlICVkIiwgaW50KEdTVF9TVEFURShtX3dlYktpdE1lZGlhU3JjLmdl
dCgpKSkpOwpAQCAtMTQwLDcgKzE0MCw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVz
IFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8U291cmNlQnVmCiAgICAg
Z3N0X2Jpbl9hZGQoR1NUX0JJTihtX3dlYktpdE1lZGlhU3JjLmdldCgpKSwgc3RyZWFtLT5hcHBz
cmMpOwogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJlbnQoc3RyZWFtLT5hcHBz
cmMpOwogCi0gICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s7CisgICAgcmV0dXJuIE1l
ZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpPazsKIH0KIAogdm9pZCBQbGF5YmFja1BpcGVs
aW5lOjpyZW1vdmVTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFt
ZXI+IHNvdXJjZUJ1ZmZlclByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBkM2E4N2VmZTg5YWViM2FkNTY3ZGVj
NDhhMWUxYTdlZTQzZTVjNDhjLi5jOTA0MjdlNGVkM2VjN2E4MWE3YmJiOTMyZWM0YjhiZDExMGNh
MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKQEAgLTE5NCwxMiArMTk0LDEyIEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0
ZUdTdHJlYW1lcjo6ZGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogCiB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVBbGxQZW5kaW5nU2FtcGxl
cygpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2
YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kU3VjY2Vl
ZGVkKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZh
dGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6
OkFwcGVuZFN1Y2NlZWRlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1l
cjo6YXBwZW5kUGFyc2luZ0ZhaWxlZCgpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6UGFyc2luZ0ZhaWxlZCk7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApp
bmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1MmYxLi5jN2EwZjcxZGZl
NjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJjZSkKK3ZvaWQgTW9ja01l
ZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBNb2NrTWVkaWFT
b3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRhMjEzOTRmMzc2YzdmMjk2
NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1ODQ5NDcyMjA3ZmNkOWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKQEAgLTY1LDcgKzY1
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGUgT3ZlcnJp
ZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKLSAgICB2b2lk
IGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJy
aWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRp
YVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
U291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2FhZmEwMGU3NWJjOGZmOGZm
MWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5ZGYwMmE0OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02MywxMiArNjMsMTIgQEAgTWVk
aWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVl
OwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMpID09IE1lZGlhUGxheWVy
OjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICByZXR1cm4gTm90U3VwcG9y
dGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAgICBtX3Nv
dXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjpjcmVhdGUodGhpcykp
OwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgpOwogCi0gICAgcmV0dXJu
IE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lkIE1vY2tNZWRpYVNvdXJj
ZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBidWZmZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGY0ZGFkMDM3MTMw
MzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2ZjQ5MjA0MmQ3YWIxZWRm
N2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3Bw
CkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0Q2xp
ZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZvaWQgTW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogewogICAg
IG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6
QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6ZSgpICYmIHJl
c3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQpIHsKKyAg
ICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09IFNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKSB7CiAgICAgICAgIGF1
dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVmZmVyLmRhdGEoKSwgbV9p
bnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVuZ3RoID0gTW9ja0JveDo6
cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94TGVuZ3RoID4gYnVmZmVy
LT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVy
UHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiAgICAgICAgICAg
ICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3goYnVmZmVyLnB0cigpKTsK
ICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsKICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpQYXJzaW5n
RmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6
QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1faW5wdXRCdWZmZXIucmVt
b3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJlNDc0NTM0MGQyNjE3YzJm
NzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlhZTc4NmU3ZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM1LDYg
KzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5t
ZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNv
dXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9j
ZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4ICs5Nyw4IEBAICQoUFJP
SkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclByb3h5
Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCiskKFBS
T0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29u
dHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvTWVkaWEv
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3Rv
Y29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzYsNiArMTM4LDcgQEAg
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRp
b1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDUmVtb3RlQ29k
ZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIu
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdl
Ykluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0luc3Bl
Y3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3Mv
SW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0
b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3Mv
SW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3NjVhNWFlOGRjMTE3NTg3
ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5MzI1NmJjMjQ4ODQ0ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBA
IC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlNZXNzYWdlcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Np
b25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2JqZWN0
UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJlZ2lzdHJ5
TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJN
ZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1l
c3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdlYkluc3BlY3RvclByb3h5
TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApAQCAtMjUxLDYgKzI1Nyw5
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NlcnZpY2VX
b3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU21h
cnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNz
YWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0aW9uU2Vy
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlvblNlcnZl
ck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2Fn
ZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklE
QlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzUmVwbGllcy5o
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0
b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNv
bnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXNSZXBsaWVzLmgKQEAg
LTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNw
ZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9u
Q29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3Nh
Z2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklu
c3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VS
ZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFiMDFjMTRjMTQxZGNmNDVh
OTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdmNDI0YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBAIE1FU1NBR0VfUkVDRUlW
RVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MgXAogCVdlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgXAogCVdlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVk
aWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3Rp
bmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbiBc
CiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIg
XAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBcCisJV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCisJV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50
Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwK
IAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvblByb3h5IFwKIAlHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1v
dGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25N
YW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCi0JR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCiAJR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxl
Z2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2Vy
IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkgXAorCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJv
Y2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBcCiAjCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgK
aW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1YTFhYy4uOTgwZDY0MWNi
MWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApAQCAtMjgsNyAr
MjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1ZGUgIlNhbmRib3hFeHRl
bnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9y
eVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUzMTFmYzJlMTYyNzMzMTRl
Li43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90ZUxlZ2FjeUNETVNlc3Np
b25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRTZXNzaW9uKGNvbnN0IFJl
bW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2NzRhMWM4MTcxLi43MDEz
NTcwNzgxZjhmNTE3YzgxOGQyMTBkOTI2Y2E2ZTI0NmU5N2YwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3Bw
CkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZp
ZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAi
UmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVUZXh0VHJhY2tQcm94eS5oIgogI2lu
Y2x1ZGUgIlJlbW90ZVZpZGVvVHJhY2tQcm94eS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVu
dENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwxNiBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OmxvYWQoVVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+Jgog
ICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogfQogCisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZE1l
ZGlhU291cmNlKFVSTCYmIHVybCwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1lZGlhU291
cmNlSWRlbnRpZmllcikKK3sKKyAgICBtX21lZGlhU291cmNlUHJveHkgPSBhZG9wdFJlZigqbmV3
IFJlbW90ZU1lZGlhU291cmNlUHJveHkobWVkaWFTb3VyY2VJZGVudGlmaWVyLCBtX21hbmFnZXIu
Z3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpKSk7CisgICAgbV9tYW5hZ2VyLmdwdUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MoKS5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwg
bWVkaWFTb3VyY2VJZGVudGlmaWVyLnRvVUludDY0KCksICptX21lZGlhU291cmNlUHJveHkpOwor
CisgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlUHJveHkuZ2V0KCkpOworfQor
I2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2FuY2VsTG9hZCgpCiB7CiAg
ICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApp
bmRleCA4NmFhNDJjZWJmZDcwM2UwYzBiZWJjM2VkMGQwZTQxODU1OWE2NjdhLi5jN2IzYzk2YTVk
MzBmM2M0NTYwOTYyYjExZjliZDdmZWFkZGQ4YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTUyLDYg
KzUyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNSW5zdGFuY2VQcm94eS5oIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRl
bnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHkuaCIKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2Uu
aCIKICNlbmRpZgpAQCAtMTA5LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHByZXBhcmVG
b3JSZW5kZXJpbmcoKTsKIAogICAgIHZvaWQgbG9hZChVUkwmJiwgT3B0aW9uYWw8U2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIGNvbnN0IFN0
cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0
aW9uJiYpPiYmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHZvaWQgbG9hZE1lZGlh
U291cmNlKFVSTCYmLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIpOworI2VuZGlmCiAgICAg
dm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1BsYXkoKTsKQEAgLTMwMCw2
ICszMDgsOSBAQCBwcml2YXRlOgogICAgIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgbV9jYWNoZWRT
dGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbiBtX2NvbmZpZ3Vy
YXRpb247CiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxNZWRpYVRpbWU+KT4g
bV9wZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXI7CisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKKyAgICBSZWZQdHI8UmVtb3RlTWVkaWFTb3VyY2VQcm94eT4gbV9tZWRpYVNv
dXJjZVByb3h5OworI2VuZGlmCiAKICAgICBXZWJDb3JlOjpMYXlvdXRSZWN0IG1fdmlkZW9Db250
ZW50Qm94UmVjdDsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVudFNjYWxlIHsgMS4wIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY5NmEwZGEyNGQ3NmU1YWU3NDVmODIx
YTUxYTg0MDE4ZjY1NWYxOTIuLmEyODg2MThmOTllNGY1NTg4OWViZDllMzQwZmM3NzQ0ZjU2OTk3
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNyw2ICsyNyw5IEBA
IG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAg
UHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIGVudW06dWludDhfdCBXZWJDb3Jl
OjpNZWRpYVBsYXllckVudW1zOjpQcmVsb2FkIHByZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0Y2gs
IGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgZmxvYXQgdmlkZW9Db250ZW50U2NhbGUpIC0+IChP
cHRpb25hbDxXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRD4gaW5saW5lTGF5ZXJIb3N0aW5n
Q29udGV4dElkKSBBc3luYwogCiAgICAgTG9hZChVUkwgdXJsLCBPcHRpb25hbDxXZWJLaXQ6OlNh
bmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbiwgV2ViQ29yZTo6Q29udGVu
dFR5cGUgY29udGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0pIC0+IChzdHJ1Y3QgV2ViS2l0OjpS
ZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmlndXJhdGlvbikgQXN5bmMK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIExvYWRNZWRpYVNvdXJjZShVUkwgdXJsLCBX
ZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJjZUlkZW50aWZpZXIp
IFN5bmNocm9ub3VzCisjZW5kaWYKICAgICBDYW5jZWxMb2FkKCkKIAogICAgIFByZXBhcmVUb1Bs
YXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlODU2YjVjZDJhNjNhODg3ZjYzMzM0
ODliZmExY2Y2NjBiZGNlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAgLTAsMCArMSw5OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNv
dXJjZVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRU
eXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3RlTWVkaWFT
b3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRv
V2ViUHJvY2VzcykKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9jb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCit7Cit9CisKK3ZvaWQg
UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlhU291cmNl
UHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgQVNTRVJUKCFtX3ByaXZhdGUp
OworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQcml2YXRlKTsKK30KKworTWVk
aWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1ha2VV
bmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9pZCBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygpCit7Cit9CisKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0TG9nSWRl
bnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2b2lkIFJlbW90ZU1lZGlhU291
cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKQoreworfQorCit2
b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3Jl
OjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrJiYgY2Fs
bGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHNvdXJjZUJ1ZmZlclBy
aXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgc3RhdHVzID0gbV9wcml2
YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJjZUJ1ZmZlclByaXZhdGUpOwor
CisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNl
SWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShpZGVudGlmaWVyLCBtX2Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUucmVsZWFzZU5vbk51bGwoKSk7
CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShyZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlmaWVyID0gaWRlbnRpZmllcjsK
KyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNvdXJjZUlkZW50aWZpZXIpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NWYx
NDJlZTg4MzVhNzNhODU1NjZmY2VhZWIzMDI3Y2NjMzY4ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCkBA
IC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2lu
Y2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRp
YVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2Rl
cjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOworY2xhc3MgUGxhdGZvcm1U
aW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBmaW5hbAorICAg
IDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudAorICAgICwgcHJpdmF0
ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5KCkgPSBkZWZhdWx0OworCisgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50IG92ZXJyaWRlcworICAgIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVmPFdlYkNvcmU6
Ok1lZGlhU291cmNlUHJpdmF0ZT4mJikgZmluYWw7CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uKCkg
Y29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRmb3JtVGltZVJh
bmdlcz4gYnVmZmVyZWQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNlZWtUb1RpbWUoY29uc3Qg
TWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBtb25pdG9yU291cmNlQnVmZmVycygpIGZpbmFs
OworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dJZGVudGlmaWVy
KGNvbnN0IHZvaWQqKSBmaW5hbDsKKyNlbmRpZgorCisgICAgdm9pZCBmYWlsZWRUb0NyZWF0ZVJl
bmRlcmVyKFJlbmRlcmVyVHlwZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNz
IFJlbW90ZU1lZGlhUGxheWVyUHJveHk7IC8vIFRPRE8/CisKKyAgICAvLyBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlcgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rl
cj4mKSBmaW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrID0gQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cywg
T3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNv
bnRlbnRUeXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisKKyAgICBSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TWVk
aWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJlZlB0cjxSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09V
UkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTZiNzUy
ZDc3MDYwZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhU291
cmNlUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVmZmVyKFdlYkNvcmU6OkNv
bnRlbnRUeXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhU291
cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2ViS2l0OjpSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKSBTeW5jaHJv
bm91cworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0
YmZjYTE2MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUg
PHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRlYTc0Njk4NWJjZGZlMTdl
ZDVjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHku
aCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKwor
I2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5j
bHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4g
UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclByaXZhdGUp
Cit7CisgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFkb3B0UmVmKCpuZXcgUmVt
b3RlU291cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlvblRvV2ViUHJvY2Vzcywg
V1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVybiByZW1vdGVTb3VyY2VC
dWZmZXJQcm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgUmVmPFNvdXJjZUJ1
ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6IG1faWRlbnRpZmllcihp
ZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RGTW92ZShzb3VyY2VCdWZm
ZXJQcml2YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2Vp
dmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgKnRo
aXMpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50KHRoaXMpOworfQorCitS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KCkKK3sKKyAg
ICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3ZvaWQgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlhbGl6
YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpCit7Cit9CisKK3ZvaWQg
UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2Ft
cGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVy
UHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVTYW1wbGVz
KGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVz
KGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGltZSBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGlt
ZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKQor
eworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCksIG1faWRl
bnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkKK3sKK30KKwor
dm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZChkYXRhLnZl
Y3RvcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMxMjBhOGEyZWNiOTNjMWEzNzllOTFiOTZmYzk5OGQwMzBiZmY1MGUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVm
ZmVyUHJveHkuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNs
dWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVj
dGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAgOiBwdWJsaWMgUmVm
Q291bnRlZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1YmxpYyBXZWJDb3JlOjpT
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2Vp
dmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291cmNlQnVmZmVySWRl
bnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpTb3VyY2VC
dWZmZXJQcml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSgp
OworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0aW9u
U2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsKKyAgICB2b2lkIHNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikg
ZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBjb25zdCBmaW5h
bDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0IGZpbmFsOwor
CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMoY29uc3QgQXRvbVN0
cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVj
b21lUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsK
KworICAgIE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYp
IGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2Vi
Q29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KSBmaW5hbDsKKyAg
ICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVy
cm9yQ29kZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFJlbW90ZU1lZGlh
U291cmNlUHJveHk7CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpT
b3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisg
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIGZpbmFs
OworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisKKyAgICBS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVmPFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJpdmF0ZTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBF
TkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0M2ZlMGUwMTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNl
QnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2Vz
IC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFwcGVuZChJ
UEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAppbmRleCA5NzdmOTNmZjVjM2MyYjgxNzg0NmM5
YTlhNzU1MTc4OWM4ZWZlMDVjLi42MWI4OTBkYzc4NjdjMzNiMDA1ZjIyZTkzYmIxYWY0N2RkZDNi
MTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzcy5oIgogI2luY2x1
ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIgogI2luY2x1ZGUgIlJlbW90ZVNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRz
L3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4NzY0OTVmYjFhY2M5MDRjMWVhMjUwNjkwOTNi
MjAwZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMxNjhlNzlhMDU3ZjlkYmRiOWI4Njk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI1OSw2ICsyNTksOCBA
QCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAn
V2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVt
b3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZU1lZGlhU291
cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcicsCiAg
ICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6
UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTAzNzlmMmZmYTgzMzc0YzE0
ZDE3ZDdiYzllYzMwNjA2N2UxMzc2Mi4uMDkxN2YwMWJlMWM5ZjhjYWEyYWJmN2YwZjg5MGY4OTVh
M2YyZWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Miw2ICs0Miw4IEBAIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFS
ZXNvdXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5j
cHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwCitHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVUZXh0
VHJhY2tQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNw
cAogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIu
Y3BwCkBAIC01NzAsNiArNTcyLDcgQEAgV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVz
b3VyY2VDYWNoZVByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvQXVkaW9UcmFja1ByaXZh
dGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3Bw
CiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVDRE0uY3BwCkBAIC01ODIsNiArNTg1LDcgQEAgV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNr
UHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1ZpZGVvVHJhY2tQcml2YXRl
UmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvV2ViTWVkaWFTdHJhdGVneS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUz
Mzg0N2FlMTZhY2M5OWE3Mzk0MzQ3NDRkOGEzZGY2YzI4Y2FiZmMuLmUzZTZkOTUwYTdiMjQ0YTAz
NDZjNmJmNTlkMTIxNDE2NjQxOGIxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIxLDYgKzQyMSwxMiBAQAogCQkxRDRENzM3NjIz
QTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxp
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFENEQ3
Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2Vz
UmVwbGllcy5oICovOyB9OwogCQkxREIwMTk0MzIxMUNGMDAyMDA5RkIzRTggLyogV0tTaGFyZVNo
ZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREUw
RDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFyZVNoZWV0LmggKi87IH07CiAJCTFEQjAxOTQ0
MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJCQjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyogV0tT
aGFyZVNoZWV0Lm1tICovOyB9OworCQkxREQyQTY0MDI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHkuaCAqLzsgfTsKKwkJMUREMkE2NDQyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCAq
LzsgfTsKKwkJMUREMkE2NDcyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUREMkE2NDYyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5o
ICovOyB9OworCQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjZFMjU2MjAyMUUwMEZG
N0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2QjI1NjIwMjFF
MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OworCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFGMzM1QkMwMTg1Qjg0RjAw
MDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMzM1QkJGMTg1Qjg0RDgwMDFBMjAx
QSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjYwNEJBQTE4ODlGQkI4MDBFRTAzOTUg
LyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY2MDRCQTcxODg5RkE3NDAwRUUwMzk1IC8q
IF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUY3NTA2QjEx
ODU5MTYzNzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAxODE2OTE4NThEQzE1MDBGOTI4
ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjgxNCw2ICsyODIwLDI4IEBACiAJCTFEQTQwODk0
MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREJCQjA2MTIxMUNDM0NCMDA1
MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV0tTaGFyZVNoZWV0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
REQyQTYzNjI1NURFNjc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA7IHBhdGggPSAv
Vm9sdW1lcy9EYXRhL3dlYmtpdC9PcGVuU291cmNlL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcDsgc291cmNlVHJlZSA9ICI8YWJz
b2x1dGU+IjsgfTsKKwkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaDsg
cGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3VyY2UvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaDsgc291cmNlVHJlZSA9
ICI8YWJzb2x1dGU+IjsgfTsKKwkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzQTI1NURFNkQxMDBG
RjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFT
b3VyY2VQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDIyNTVFM0YzRDAwRkY3
QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQz
MjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjRBMjU2MEY1NEMwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZU1lZGlh
U291cmNlUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFE
RDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHBhdGgg
PSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5o
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2MTI1NjEyMkYx
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHBhdGgg
PSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1Jl
cGxpZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NjIy
NTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNl
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OworCQkxREQyQTY2NjI1NjFFRDA0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAv
KiBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMURE
MkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJv
eHlNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CisJCTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYg
LyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CisJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjcxMjU2MjMyNEYw
MEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1l
c3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkx
REQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjczMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OwogCQkxREUwNzZEOTI0NjBDQ0JEMDBCMjExRTggLyogV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMURFMEQwOTUyMTFDQzIxMzAwNDM5QjVGIC8qIFdLU2hhcmVTaGVldC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1NoYXJlU2hlZXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMURFMkRGQUMyM0E5NTlGODAwM0UwMTNBIC8qIFJlbW90ZU1lZGlhUmVzb3Vy
Y2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlm
aWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NjMzLDYgKzU2NjEsOCBAQAog
CQkJCTA3OTIzMTMxMjM5QjNCMEMwMDk1OThFMiAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
Y3BwICovLAogCQkJCTA3OTIzMTMyMjM5QjNCMEMwMDk1OThFMiAvKiBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuaCAqLywKIAkJCQkwN0IxRDA0QjIzRDM4RkNFMDAzOTlBNkUgLyogTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAorCQkJCTFERDJBNjM2MjU1REU2NzUwMEZG
N0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwICovLAorCQkJCTFERDJBNjM3MjU1
REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQk5QjVC
RUMyOTI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcCAq
LywKIAkJCQk5QjVCRUMyODI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlv
blByb3h5LmggKi8sCiAJCQkJOUI1QkVDMkUyNDAxMDE4QzAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlv
RGVzdGluYXRpb25Qcm94eS5tZXNzYWdlcy5pbiAqLywKQEAgLTU2NzcsNiArNTcwNywxMCBAQAog
CQkJCTA3QjNCNDZGMjNBQjJDQjMwMEJBNUIxMiAvKiBSZW1vdGVNZWRpYVBsYXllclN0YXRlLmgg
Ki8sCiAJCQkJMUQzMkY4OUQyM0E4NEM1QjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQ
cm94eS5jcHAgKi8sCiAJCQkJMUQzMkY4OUIyM0E4NEJBNjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VQcm94eS5oICovLAorCQkJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLywKKwkJCQkxREQyQTYzQTI1NURFNkQxMDBGRjdC
NkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCisJCQkJMUREMkE2MzkyNTVE
RTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLywKKwkJCQkxREQy
QTY2RjI1NjIyRjExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdl
cy5pbiAqLywKIAkJCQkwN0UxOUYwODIzRDUzM0I5MDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0
ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDdFMTlGMDkyM0Q1MzNCQTAwOTRGRkI0IC8qIFRleHRUcmFj
a1ByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkxREZERDBFMjIzRjYxMEYwMDBFOUI0OTAgLyogVmlk
ZW9MYXllclJlbW90ZS5oICovLApAQCAtNTc0MSw2ICs1Nzc1LDEzIEBACiAJCQkJMURBNDA4OUUy
M0E4Mjc3ODAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcCAqLywKIAkJ
CQkxREE0MDg5NDIzQTgwQTNFMDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIu
aCAqLywKIAkJCQkxRDMyRjhBNjIzQTg2MDE5MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJMUREMkE2M0YyNTVFM0YxRjAwRkY3QjZGIC8q
IFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwICovLAorCQkJCTFERDJBNjNFMjU1RTNGMUYwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggKi8sCisJCQkJMUREMkE2NEEyNTYwRjU0
QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gKi8sCisJCQkJ
MUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aCAqLywKKwkJCQkxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVy
UHJveHkuY3BwICovLAorCQkJCTFERDJBNjQyMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5oICovLAorCQkJCTFERDJBNjY2MjU2MUVEMDQwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQkwN0UxOUYwNzIzRDREQzg4
MDA5NEZGQjQgLyogUmVtb3RlVGV4dFRyYWNrUHJveHkuY3BwICovLAogCQkJCTA3RTE5RjA2MjNE
NERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQcm94eS5oICovLAogCQkJCTA3MUJDNTg0
MjNDQzJDMDkwMDY4MEQ3QyAvKiBSZW1vdGVWaWRlb1RyYWNrUHJveHkuY3BwICovLApAQCAtMTAz
NDYsMTAgKzEwMzg3LDE2IEBACiAJCQkJMUQ0RDczNkIyM0E5REY1NTAwNzE3QTI1IC8qIFJlbW90
ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxRDRENzM2
QzIzQTlERjYwMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5o
ICovLAogCQkJCTFENEQ3Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovLAorCQkJCTFERDJBNjYyMjU2MTIyRjEwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkx
REQyQTY2MDI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2Vz
LmggKi8sCisJCQkJMUREMkE2NjEyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNl
UHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQkxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUg
LyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQzEz
Mzg0MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggKi8s
CiAJCQkJMEY1OTQ3QTUxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkwRjU5NDdBNjE4N0I1MTc2MDA0Mzc4NTcg
LyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjZC
MjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCisJCQkJMUREMkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2QTI1NjIwMjFFMDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQlBNTVCQTgy
MTFCQTI1QkI4MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCUE1NUJBODIyMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUJCQkU0OUUxOUI2NkM1MzAwNkI3RDgxIC8q
IFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTEwMzU3LDYg
KzEwNDA0LDkgQEAKIAkJCQlFMThFNjkxNDE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Q
cm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMkRFNjk0M0IxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0
TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTJERTY5
NDNDMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2Fn
ZXMuaCAqLywKKwkJCQkxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NzMyNTYyMzI0RjAw
RkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oICovLAorCQkJCTFE
RDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2Fn
ZXNSZXBsaWVzLmggKi8sCiAJCQkJOTNENkI3ODEyNTRDQ0FCQzAwNThERDNBIC8qIFNwZWVjaFJl
Y29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk5M0Q2Qjc4MDI1NEND
QUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJ
CTkzRDZCNzdGMjU0Q0NBQkIwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3Nh
Z2VzUmVwbGllcy5oICovLApAQCAtMTEzNDUsNiArMTEzOTUsOCBAQAogCQkJCTA3MUJDNTkxMjND
RTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZXNSZXBsaWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxRDRENzM3MTIzQTlFNTYyMDA3MTdBMjUgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQ0RDczNzYy
M0E5RUQxODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBs
aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY0NzI1NUYzMkIxMDBGRjdCNkYgLyogUmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY0MDI1
NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTFCNzg0NzExNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU3MDRGQzFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3Rl
T2JqZWN0SW52b2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDMTMzODAxODU5MEFFNDAw
RjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTExMzU0
LDYgKzExNDA2LDcgQEAKIAkJCQkwRjU5NDc5QjE4N0IzQjYwMDA0Mzc4NTcgLyogUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3QTQxODdC
M0I3RDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTBGNTk0NzlEMTg3QjNCNjAwMDQzNzg1NyAvKiBSZW1vdGVTY3Jv
bGxpbmdUcmVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY0NDI1NUUzRjNEMDBGRjdCNkYg
LyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODFG
MUJBMjVCMjcwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTU1QkE4MjUxQkEyNUNGQjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclBy
b3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODE3MUJBMjNFMTIwMDdDRDMz
RCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMzE0MCw4ICsx
MzE5MywxMCBAQAogCQkJCTA3MDE3ODlFMjNCRTlDRkMwMDVGMEZBQSAvKiBSZW1vdGVNZWRpYVBs
YXllck1JTUVUeXBlQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcxQkM1OEYyM0NFMUVB
QTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUQ0RDczNzAyM0E5RTU0NzAwNzE3QTI1IC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFE
RDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMwNSAv
KiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NkUyNTYyMDIx
RTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMzRCAvKiBSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQkJC
RTRBMDE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2NjcwIC8qIFNl
Y0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzE1
Miw2ICsxMzIwNyw3IEBACiAJCQkJQTFBREFGQjYyMzY4RTZBODAwOUNCNzc2IC8qIFNoYXJlZE1l
bW9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzVCMUJCOTIzQ0U5QzBCMDAyMDYzOUEgLyog
U2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERTY5NDNE
MThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2RiAv
KiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzRDZCNzgyMjU0Q0NDRjQwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNl
cnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTMzNERFRDE2REU4
Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTM2OEVFREUyMzAzQTkwMjAwQkRCMTFBIC8qIFN0b3JhZ2VNYW5hZ2VyU2V0
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwCmluZGV4IGUwOWFmMGRjMzJiYjFiYmE1ZWJkODZlNGRjMDY3MGEwMmZmN2NkOWIuLmRl
Y2FhM2ViZDY0Y2M0MDU3ODdmMWEzNTlhMzcwM2U3NzgzMmVlOTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
CiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUg
IlJlbW90ZUxlZ2FjeUNETS5oIgogI2luY2x1ZGUgIlJlbW90ZUxlZ2FjeUNETUZhY3RvcnkuaCIK
QEAgLTcxLDYgKzcyLDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MZWdhY3lDRE0uaD4KICNlbmRp
ZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKQEAgLTE0OCw3
ICsxNTMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cHJlcGFyZUZvclBsYXli
YWNrKGJvb2wgcHJpdmF0ZU1vZGUsIE1lZGlhUGxheWVyOgogICAgIH0sIG1faWQpOwogfQogCi12
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjps
b2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQo
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3Ry
aW5nJiBrZXlTeXN0ZW0pCiB7CiAgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
PiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlOwogICAgIGlmICh1cmwuaXNMb2NhbEZpbGUoKSkgewpA
QCAtNjI0LDE1ICs2MjksMjEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW90
ZVZpZGVvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKIH0KIAogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChj
b25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCogY2xpZW50KQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpLCB0aGlzXSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAgICAgICAg
ICByZXR1cm47CisgICAgaWYgKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciA9PSBNZWRpYVBsYXll
ckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFWRm91bmRhdGlvbk1TRSkgeworICAgICAg
ICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXI6OmdlbmVyYXRl
KCk7CisgICAgICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXll
clByb3h5OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBpZGVudGlmaWVyKSwgbV9pZCk7CisgICAgICAg
IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpjcmVhdGUo
bV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCksIGlkZW50aWZpZXIsIG1fbWFuYWdlci50
eXBlQ2FjaGUobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVyKSwgKnRoaXMsIGNsaWVudCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0
cigqdGhpcyksIHRoaXNdIHsKKyAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlID0gTWVk
aWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7Ci0gICAgICAgIG1fcGxheWVyLT5u
ZXR3b3JrU3RhdGVDaGFuZ2VkKCk7Ci0gICAgfSk7CisgICAgICAgICAgICBtX2NhY2hlZFN0YXRl
Lm5ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yOwor
ICAgICAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKKyAgICAgICAgfSk7
CisgICAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGYzNjM3
MjUwOWVhOWU0ZjhlMWE3ZDhmN2Y1Mjc2M2MzNGYxMWU0YTAuLjNiM2RiYTI1OTkwYTkxOTA0OTc1
M2NhMzc5OGFlYmQ5YjNiMGYxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtNTYs
NiArNTYsNyBAQCBjbGFzcyBWaWRlb0xheWVyTWFuYWdlcjsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTsKIGNsYXNzIFJlbW90ZUF1ZGlvU291
cmNlUHJvdmlkZXI7CiBjbGFzcyBVc2VyRGF0YTsKIHN0cnVjdCBUZXh0VHJhY2tQcml2YXRlUmVt
b3RlQ29uZmlndXJhdGlvbjsKQEAgLTg4LDYgKzg5LDggQEAgcHVibGljOgogICAgIElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFuYWdlci5ncHVQcm9jZXNz
Q29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsgfQogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyKiBw
bGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQogCisgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2Fj
aGVkU3RhdGUucmVhZHlTdGF0ZTsgfQorCiAgICAgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKFJl
bW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlZChSZW1v
dGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZChkb3VibGUpOwpA
QCAtMTU0LDYgKzE1NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRSYXdDb29raWVzKGNvbnN0
IFVSTCYsIFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjpHZXRSYXdDb29raWVzQ2FsbGJhY2sm
JikgY29uc3Q7CiAjZW5kaWYKIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0
IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lkZW50aWZpZXIo
KTsgfQorICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJldHVybiBsb2dn
ZXIoKTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
QEAgLTE3MCw3ICsxNzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJlcGFyZUZvclBsYXliYWNr
KGJvb2wgcHJpdmF0ZU1vZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpQcmVsb2FkLCBib29sIHBy
ZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmUpIGZpbmFsOwogCiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50KikgZmluYWw7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIFdlYkNvcmU6
Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlJikg
ZmluYWw7CkBAIC0yNTAsNyArMjU4LDYgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbWluRmFzdFJl
dmVyc2VSYXRlKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllcjo6TmV0
d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVkU3Rh
dGUubmV0d29ya1N0YXRlOyB9Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUg
cmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVkU3RhdGUucmVhZHlTdGF0
ZTsgfQogCiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgZmluYWw7
CiAgICAgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgZmluYWw7CkBAIC0z
ODQsNiArMzkxLDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbW90ZUF1ZGlvU291cmNlUHJv
dmlkZXI+IG1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291
cmNlUHJpdmF0ZTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxSZW1vdGVNZWRpYVJlc291cmNlSWRl
bnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZT4+IG1fbWVkaWFS
ZXNvdXJjZXM7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBSZWY8
QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU+PiBtX2F1ZGlvVHJhY2tzOwogICAgIEhhc2hNYXA8VHJh
Y2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPFZpZGVvVHJhY2tQcml2YXRlUmVtb3RlPj4g
bV92aWRlb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZmFlMTcxOTRjOWM1ZWFmMWQwOWI0YjExNWQyODdkOTk4ZTYzMGUzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorCisjaWYgRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgIlJl
bW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgi
CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlhOworI2Vu
ZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
OjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5ZXJNSU1F
VHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUm
IHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQoreworICAg
IGF1dG8gbWVkaWFTb3VyY2VQcml2YXRlID0gYWRvcHRSZWYoKm5ldyBNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGUoZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIGlkZW50aWZpZXIsIG1pbWVUeXBlQ2FjaGUs
IHBsYXllclByaXZhdGUsIGNsaWVudCkpOworICAgIGNsaWVudC0+c2V0UHJpdmF0ZUFuZE9wZW4o
bWVkaWFTb3VyY2VQcml2YXRlLmNvcHlSZWYoKSk7CisgICAgcmV0dXJuIG1lZGlhU291cmNlUHJp
dmF0ZTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlw
ZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUmIHBs
YXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQorICAgIDogbV9n
cHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAgICAsIG1faWRlbnRp
ZmllcihpZGVudGlmaWVyKQorICAgICwgbV9taW1lVHlwZUNhY2hlKG1pbWVUeXBlQ2FjaGUpCisg
ICAgLCBtX3BsYXllclByaXZhdGUobWFrZVdlYWtQdHIocGxheWVyUHJpdmF0ZSkpCisgICAgLCBt
X2NsaWVudChjbGllbnQpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dl
cihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nZ2VyKCkpCisgICAgLCBtX2xvZ0lkZW50
aWZpZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSkKKyNlbmRp
ZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgbV9jbGllbnQtPnNldExvZ0lkZW50aWZpZXIobV9sb2dJZGVudGlmaWVyKTsK
KyNlbmRpZgorfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGUoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisKKyAgICBmb3Ig
KGF1dG8gaXQgPSBtX3NvdXJjZUJ1ZmZlcnMuYmVnaW4oKSwgZW5kID0gbV9zb3VyY2VCdWZmZXJz
LmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5jbGVhck1lZGlhU291cmNl
KCk7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwg
UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQcml2YXRlKQoreworICAgIERFQlVHX0xP
RyhMT0dJREVOVElGSUVSLCBjb250ZW50VHlwZSk7CisKKyAgICBNZWRpYUVuZ2luZVN1cHBvcnRQ
YXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gdHJ1
ZTsKKyAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKKyAgICBpZiAobV9taW1lVHlw
ZUNhY2hlLnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXllcjo6
U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6
Tm90U3VwcG9ydGVkOworCisgICAgQWRkU3RhdHVzIHN0YXR1czsKKyAgICBPcHRpb25hbDxSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOwor
ICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVz
c2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNvdXJjZUJ1ZmZlcihjb250ZW50VHlw
ZSksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VCdWZmZXI6OlJl
cGx5KHN0YXR1cywgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciksIG1faWRlbnRpZmllcikp
CisgICAgICAgIHN0YXR1cyA9IEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisgICAgaWYgKHN0
YXR1cyA9PSBBZGRTdGF0dXM6Ok9rKSB7CisgICAgICAgIEFTU0VSVChyZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyLmhhc1ZhbHVlKCkpOworICAgICAgICBhdXRvIG5ld1NvdXJjZUJ1ZmZlciA9
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNyZWF0ZShtX2dwdVByb2Nlc3NDb25uZWN0aW9u
LCAqcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgKnRoaXMpOworICAgICAgICBvdXRQcml2
YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKKyAgICAgICAgbV9zb3VyY2VCdWZmZXJz
LmFwcGVuZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOworICAgIH0KKworICAgIHJldHVybiBz
dGF0dXM7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpkdXJhdGlvbkNoYW5n
ZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bWFya0VuZE9mU3Ry
ZWFtKEVuZE9mU3RyZWFtU3RhdHVzKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJl
bW90ZTo6dW5tYXJrRW5kT2ZTdHJlYW0oKQoreworfQorCitNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX3BsYXllclByaXZhdGUgPyBtX3BsYXllclByaXZhdGUtPnJlYWR5U3RhdGUoKSA6IE1l
ZGlhUGxheWVyOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpCit7
Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3YWl0Rm9yU2Vla0NvbXBsZXRl
ZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZWVrQ29tcGxldGVk
KCkKK3sKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
TG9nTWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJl
bW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWM5NDQyNWI0OGIzOTZlOTY3YzRlODIxNGRmYjZl
NTM1YTU1MGJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDk3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5oIgorI2luY2x1ZGUgIlJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudFR5cGUu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU7CitjbGFzcyBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOworCitjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUgZmlu
YWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGUKKyAgICAsIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+CisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CitwdWJs
aWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IGNyZWF0ZShHUFVQ
cm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlTWVk
aWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwg
V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAgdmlydHVhbCB+TWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlKCk7CisKKyAgICBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUqIHBs
YXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZS5nZXQoKTsgfQorCisgICAgLy8g
TWVkaWFTb3VyY2VQcml2YXRlIG92ZXJyaWRlcworICAgIEFkZFN0YXR1cyBhZGRTb3VyY2VCdWZm
ZXIoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBSZWZQdHI8V2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZT4mKSBmaW5hbDsKKyAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZCgpIGZpbmFsOwor
ICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSBmaW5hbDsKKyAgICB2
b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0UmVhZHlT
dGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7CisgICAgdm9pZCB3
YWl0Rm9yU2Vla0NvbXBsZXRlZCgpIGZpbmFsOworICAgIHZvaWQgc2Vla0NvbXBsZXRlZCgpIGZp
bmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dn
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZv
aWQqIG5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1cm4gY2hpbGRMb2dJZGVu
dGlmaWVyKG1fbG9nSWRlbnRpZmllciwgKyttX25leHRTb3VyY2VCdWZmZXJJRCk7IH0KKyNlbmRp
ZgorCitwcml2YXRlOgorICAgIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29u
bmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5ZXJN
SU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwgV2ViQ29yZTo6
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisKKyAgICBHUFVQcm9jZXNzQ29ubmVjdGlvbiYg
bV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIg
bV9pZGVudGlmaWVyOworICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgbV9taW1l
VHlwZUNhY2hlOworICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlPiBtX3BsYXll
clByaXZhdGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudD4g
bV9jbGllbnQ7CisgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPj4g
bV9zb3VyY2VCdWZmZXJzOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3Qg
Y2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9n
Q2hhbm5lbCgpIGNvbnN0IGZpbmFsOworCisgICAgUmVmPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7
CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworICAgIHVpbnQ2NF90IG1fbmV4dFNv
dXJjZUJ1ZmZlcklEIHsgMCB9OworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RN
Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVDRE1Db25maWd1cmF0aW9uLmgKaW5kZXggYzYyYzQ2NGZkZmRjZDhjMzU3NTZiMGUzOGRhZDBm
ODkzOTA1ODg2Ny4uZTY0NTA4NGJjZDYwYzQ1Y2U3NmYzYTAzY2ZkM2Y3ODNmMTY5MzQ5MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1Db25m
aWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVDRE1Db25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdlYkNvcmUv
Q29udGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaAppbmRleCA2
NTMyZDcyZTdjZTRiODUzZjJkM2I5MzQ1NWUxOTI4MWM0MTlmYTQzLi5hODY1ODBiZjE4NjMxYmIz
YmM4MjZiNTNhZjFmMmQ1NDg2ZTQ2MjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1
cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudFR5cGUu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAppbmRleCAxZDZiM2VlM2U5NWU4MGFlODYwZTk2NmI4
YzkyNzNkMDg2NTNhOGFjLi5hNDE2OWQ1YjFhNTY4OGNiZDY5YzU5ZDhiOGE5ZmMyZGFkNWIyY2M5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKQEAgLTY2LDYgKzY2LDggQEAgcHVibGljOgog
CiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyIGZpbmRSZW1vdGVQbGF5ZXJJZChj
b25zdCBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqKTsKIAorICAgIFJlbW90
ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNvcmU6Ok1lZGlhUGxheWVy
RW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3JlYXRlUmVtb3Rl
TWVkaWFQbGF5ZXIoV2ViQ29yZTo6TWVkaWFQbGF5ZXIqLCBXZWJDb3JlOjpNZWRpYVBsYXllckVu
dW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwogCkBAIC04Myw4ICs4NSw2IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVk
aWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBXYWxsVGltZSBtb2RpZmllZFNpbmNl
KTsKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBjb25zdCBIYXNo
U2V0PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+Jik7CiAKLSAgICBSZW1vdGVNZWRp
YVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwotCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpNZWRpYVBs
YXllcklkZW50aWZpZXIsIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlPj4gbV9wbGF5
ZXJzOwogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKICAgICBtdXRhYmxlIEdQVVByb2Nlc3ND
b25uZWN0aW9uKiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uIHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFTb3VyY2VJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNjU5NDYxMDA2NzA1MTcyZTE2ODA2
ZmUxNzM1NTUzZDEzOTRiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwz
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZp
ZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gUmVtb3RlTWVkaWFTb3VyY2VJZGVu
dGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgPSBPYmpl
Y3RJZGVudGlmaWVyPFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllclR5cGU+OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YWExMTY1ZDBkYTQyZWY2YzhiNjMzNzM3NTBkOGQ4M2NmMDEyMzA4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgi
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNp
bmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgi
CisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisjaW5jbHVkZSAiUmVtb3Rl
U291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKKyNlbmRpZgorfQor
CituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjcmVh
dGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRlKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoZ3B1UHJvY2Vzc0Nvbm5l
Y3Rpb24sIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIG1lZGlhU291cmNlUHJpdmF0ZSkp
OworfQorCitTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0ZSkKKyAgICA6IG1fZ3B1
UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAgLCBtX3JlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIocmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcikKKyAgICAs
IG1fbWVkaWFTb3VyY2VQcml2YXRlKG1ha2VXZWFrUHRyKG1lZGlhU291cmNlUHJpdmF0ZSkpCisj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihtX21lZGlhU291cmNlUHJp
dmF0ZS0+bG9nZ2VyKCkpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIobV9tZWRpYVNvdXJjZVByaXZh
dGUtPm5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKK3sKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2Fn
ZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7Cit9CisKK1NvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6On5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIpOworICAgIEFTU0VSVCghbV9jbGllbnQpOworCisgICAgbV9ncHVQcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwg
bV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldENsaWVudChTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50KiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBjbGllbnQ7Cit9CisKK3ZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEp
Cit7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdl
czo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OkFwcGVuZChJUEM6OkRhdGFSZWZlcmVuY2UoZGF0
YSkpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpOworfQorCit2b2lkIFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGU6OmFib3J0KCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpyZXNldFBhcnNlclN0YXRlKCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlhU291cmNlKCkKK3sKK30KKworTWVkaWFQbGF5
ZXI6OlJlYWR5U3RhdGUgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0ZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVBy
aXZhdGUtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6
SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0UmVh
ZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVldWVTYW1wbGUoUmVmPE1lZGlh
U2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29sIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lEKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUoYm9vbCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0
cmluZyYpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OnNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3Qg
QXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0
IEF0b21TdHJpbmcmKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNh
blN3aXRjaFRvVHlwZShjb25zdCBDb250ZW50VHlwZSYpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVB
cHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBw
ZW5kUmVzdWx0KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPnNvdXJj
ZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpOworfQorCisjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5k
aWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI5YTAxYjA2MjVlM2I3YzdmMDExODRhODNjMzZlNTQ5MTIyZjA5YTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNF
KQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJNZXNzYWdl
UmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFT
YW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYv
TG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgewor
Y2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOwor
fQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
OworCitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIGZpbmFsCisgICAgOiBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4KKyAgICAsIHB1YmxpYyBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlCisgICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJl
Y2VpdmVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhl
bHBlcgorI2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmKTsKKyAgICB2aXJ0
dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCk7CisKKyAgICB2b2lkIGNsZWFyTWVkaWFT
b3VyY2UoKSB7IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gbnVsbHB0cjsgfQorCitwcml2YXRlOgor
ICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUm
KTsKKworICAgIC8vIFNvdXJjZUJ1ZmZlclByaXZhdGUgb3ZlcnJpZGVzCisgICAgdm9pZCBzZXRD
bGllbnQoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCopIGZpbmFsOworICAgIHZv
aWQgYXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKSBmaW5hbDsKKyAgICB2b2lkIGFib3J0
KCkgZmluYWw7CisgICAgdm9pZCByZXNldFBhcnNlclN0YXRlKCkgZmluYWw7CisgICAgdm9pZCBy
ZW1vdmVkRnJvbU1lZGlhU291cmNlKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0UmVhZHlT
dGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7CisgICAgdm9pZCBm
bHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIGVucXVldWVT
YW1wbGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFj
a0lEKSBmaW5hbDsKKyAgICBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNldEFjdGl2ZShib29sKSBmaW5hbDsKKyAg
ICB2b2lkIG5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJp
bmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgY2FuU2V0TWluaW11bVVwY29taW5nUHJlc2Vu
dGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZXRN
aW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBN
ZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyTWluaW11bVVwY29taW5nUHJlc2VudGF0
aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgZmluYWw7CisgICAgYm9vbCBjYW5Td2l0Y2hUb1R5
cGUoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmKSBmaW5hbDsKKworICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAg
dm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKworICAgIEdQVVByb2Nlc3NDb25uZWN0
aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOworICAgIFdlYWtQdHI8TWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291cmNlUHJpdmF0ZTsKKyAgICBXZWJDb3JlOjpT
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIgfTsKKworI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05h
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSI7
IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0
IGZpbmFsOworICAgIGNvbnN0IExvZ2dlciYgc291cmNlQnVmZmVyTG9nZ2VyKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBzb3VyY2VCdWZm
ZXJMb2dJZGVudGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRpZmllcigpOyB9CisKKyAg
ICBSZWY8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50
aWZpZXI7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMTk4MjExY2U5
OWFiYWQ1YjhlZTA3ZmQ0ZTE3N2JkZmE5NWE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUFw
cGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJl
c3VsdCBhcHBlbmRSZXN1bHQpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggNGYzZGU3NzNjMTIzNmYzMzBmNTQwYTljOGQ2
NDEwMGNmYjA1YmJjMC4uYjZlMzQ2MWZmOTc0OThhM2MzYzBlZjA0YWZlMjBlYTM2OTFkZGEzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09B
KQogCisjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKICNpbXBvcnQgIlJlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbXBvcnQgPFdlYkNvcmUvVmlkZW9MYXllck1hbmFn
ZXJPYmpDLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4K
</data>
<flag name="commit-queue"
          id="431092"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414265</attachid>
            <date>2020-11-16 12:11:38 -0800</date>
            <delta_ts>2020-11-16 14:04:37 -0800</delta_ts>
            <desc>WIP patch: fix build failures</desc>
            <filename>bug-218912-20201116121137.patch</filename>
            <type>text/plain</type>
            <size>129893</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGJlYjAwNjBiYWVhNDM5
NGEwNTA0Y2NlZDI2N2U2MjYwMGEzOTZiNzYuLjE2MzQ3YzAyZTJiZGE0MDBlYzU3MzE2NjUyNjli
ZDJmMThlNDNhYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTIzMyw2ICsxMjMzLDcgQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L1JlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUmVu
ZGVyaW5nTW9kZS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAorICAgIHBs
YXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuaAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL1N0cmluZ1RydW5jYXRvci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvVGFiU2l6ZS5oCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCmluZGV4IDc4YzM5M2NmYWE3ODY5NTIz
YzQwMTg3NTllZTcxZTIxZTEzYmQzZmEuLmZjZmQwYzlkOGM4YjViYmYwMDQwYjFhOTNlYzZiMTlh
M2Q3MzI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
TWVkaWFTb3VyY2UuY3BwCkBAIC0xMDgzLDE1ICsxMDgzLDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxT
b3VyY2VCdWZmZXJQcml2YXRlPj4gTWVkaWFTb3VyY2U6OmNyZWF0ZVNvdXJjZUJ1ZmZlclByaXZh
dGUoY29uCiAKICAgICBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJp
dmF0ZTsKICAgICBzd2l0Y2ggKG1fcHJpdmF0ZS0+YWRkU291cmNlQnVmZmVyKHR5cGUsIHNvdXJj
ZUJ1ZmZlclByaXZhdGUpKSB7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6Ok9rOgorICAg
IGNhc2UgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6Ok9rOgogICAgICAgICByZXR1cm4g
c291cmNlQnVmZmVyUHJpdmF0ZS5yZWxlYXNlTm9uTnVsbCgpOwotICAgIGNhc2UgTWVkaWFTb3Vy
Y2VQcml2YXRlOjpOb3RTdXBwb3J0ZWQ6CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFk
ZFN0YXR1czo6Tm90U3VwcG9ydGVkOgogICAgICAgICAvLyAyLjIgaHR0cHM6Ly9kdmNzLnczLm9y
Zy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL2RlZmF1bHQvbWVkaWEtc291cmNlL21lZGlhLXNvdXJj
ZS5odG1sI3dpZGwtTWVkaWFTb3VyY2UtYWRkU291cmNlQnVmZmVyLVNvdXJjZUJ1ZmZlci1ET01T
dHJpbmctdHlwZQogICAgICAgICAvLyBTdGVwIDI6IElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5
cGUgLi4uIHRoYXQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSB0eXBlcwogICAgICAgICAvLyBz
cGVjaWZpZWQgZm9yIHRoZSBvdGhlciBTb3VyY2VCdWZmZXIgb2JqZWN0cyBpbiBzb3VyY2VCdWZm
ZXJzLCB0aGVuIHRocm93CiAgICAgICAgIC8vIGEgTm90U3VwcG9ydGVkRXJyb3IgZXhjZXB0aW9u
IGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yIH07Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OlJlYWNoZWRJZExp
bWl0OgorICAgIGNhc2UgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6OlJlYWNoZWRJZExp
bWl0OgogICAgICAgICAvLyAyLjIgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jh
dy1maWxlL2RlZmF1bHQvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1sI3dpZGwtTWVkaWFT
b3VyY2UtYWRkU291cmNlQnVmZmVyLVNvdXJjZUJ1ZmZlci1ET01TdHJpbmctdHlwZQogICAgICAg
ICAvLyBTdGVwIDM6IElmIHRoZSB1c2VyIGFnZW50IGNhbid0IGhhbmRsZSBhbnkgbW9yZSBTb3Vy
Y2VCdWZmZXIgb2JqZWN0cyB0aGVuIHRocm93CiAgICAgICAgIC8vIGEgUXVvdGFFeGNlZWRlZEVy
cm9yIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggNDI5MjY4ZDc2
MTc1ZTkzMjAwZWMxZjdmMWQzNGVkMDE1NzE1MTljMS4uMGNlMjFkZTE1ZWVjYTJhMDVhMzRiMmRm
M2NkZGI5ZTkwMzVhMzIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtNjMyLDcgKzYzMiw3IEBAIHZvaWQgU291cmNl
QnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZpcmVkKCkKIAogICAgIC8vIDEuIExvb3AgVG9wOiBJ
ZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5LCB0aGVuIGp1bXAgdG8gdGhlIG5lZWQgbW9yZSBk
YXRhIHN0ZXAgYmVsb3cuCiAgICAgaWYgKCFtX3BlbmRpbmdBcHBlbmREYXRhLnNpemUoKSkgewot
ICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kU3VjY2VlZGVk
KTsKKyAgICAgICAgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3Vs
dDo6QXBwZW5kU3VjY2VlZGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjU4LDcg
KzY1OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29t
cGxldGUoQXBwZW5kUmVzdWx0IHJlc3VsdCkKIAogICAgIC8vIDIuIElmIHRoZSBpbnB1dCBidWZm
ZXIgY29udGFpbnMgYnl0ZXMgdGhhdCB2aW9sYXRlIHRoZSBTb3VyY2VCdWZmZXIgYnl0ZSBzdHJl
YW0gZm9ybWF0IHNwZWNpZmljYXRpb24sCiAgICAgLy8gdGhlbiBydW4gdGhlIGFwcGVuZCBlcnJv
ciBhbGdvcml0aG0gd2l0aCB0aGUgZGVjb2RlIGVycm9yIHBhcmFtZXRlciBzZXQgdG8gdHJ1ZSBh
bmQgYWJvcnQgdGhpcyBhbGdvcml0aG0uCi0gICAgaWYgKHJlc3VsdCA9PSBQYXJzaW5nRmFpbGVk
KSB7CisgICAgaWYgKHJlc3VsdCA9PSBBcHBlbmRSZXN1bHQ6OlBhcnNpbmdGYWlsZWQpIHsKICAg
ICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJQYXJzaW5nRmFpbGVkIik7CiAgICAgICAg
IGFwcGVuZEVycm9yKHRydWUpOwogICAgICAgICByZXR1cm47CkBAIC02NzEsNyArNjcxLDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gTk9URTogcmV0dXJuIHRvIFNlY3Rpb24gMy41LjUK
ICAgICAvLyAyLklmIHRoZSBzZWdtZW50IHBhcnNlciBsb29wIGFsZ29yaXRobSBpbiB0aGUgcHJl
dmlvdXMgc3RlcCB3YXMgYWJvcnRlZCwgdGhlbiBhYm9ydCB0aGlzIGFsZ29yaXRobS4KLSAgICBp
ZiAocmVzdWx0ICE9IEFwcGVuZFN1Y2NlZWRlZCkKKyAgICBpZiAocmVzdWx0ICE9IEFwcGVuZFJl
c3VsdDo6QXBwZW5kU3VjY2VlZGVkKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyAzLiBTZXQg
dGhlIHVwZGF0aW5nIGF0dHJpYnV0ZSB0byBmYWxzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhMDQxNDhjYThmMjhmMWQyOWMw
YzI2YjJlNWVkMTY0MjAzYmMzNmIyLi45ZTc2MjM1YmQ4NzU5M2U0NGU2MzIwMWQ5Y2JhNWZlMDli
ODM5M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC00MjI1LDggKzQyMjUsOCBAQAogCQlDRDVGRjQ5RDIxNjJFNERCMDA0QkQ4
NkYgLyogSVNPUHJvdGVjdGlvblNjaGVtZUluZm9Cb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODcxQzYwMUZCNTJCNjUwMEYwQjk2NSAvKiBJU09Q
cm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNENUZGNDlFMjE2MkU0RTgwMDRCRDg2RiAvKiBJU09PcmlnaW5h
bEZvcm1hdEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q4NzFDNjcxRkI1MkI2ODAwRjBCOTY1IC8qIElTT09yaWdpbmFsRm9ybWF0Qm94LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q2MkZCOTYx
QUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBH
ZW5lcmljVGFza1F1ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFF
QjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovOyB9OwotCQlDRDY0
MUVCNDE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjIxODE4RjVFRDAwRUU0
QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLzsgfTsKKwkJQ0Q2NDFFQjMxODE4RjVFRDAw
RUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291
cmNlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4
MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENzIwQjRGMjI2OEI1MTMwMDA0N0ZE
RSAvKiBJU09GYWlyUGxheVN0cmVhbWluZ1Bzc2hCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENzIwQjQ5MjI2ODJDN0YwMDA0N0ZERSAvKiBJU09G
YWlyUGxheVN0cmVhbWluZ1Bzc2hCb3guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDRDdEMzM0NDFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0Q3RDMzNDIxQzdBMTIzRjAwMDQxMjkzIC8qIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Yu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDdE
MzM0ODFDN0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEN0QzMzQ2MUM3QTE2QkYwMDA0MTI5
MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC00MzAzLDcgKzQzMDMsNyBAQAogCQlDRENENDFFODFDM0REQjBB
MDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENENDFFNjFDM0REQjA5MDA5NjVEOTkgLyogUGFyc2Vk
Q29udGVudFJhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0RDRkFCQkQxOEMwQUY3ODAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJCMThDMEFF
MzEwMDZGODQ1MCAvKiBIaWdobGlnaHREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBs
ZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RE
NzA4OTUxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUNEREMxRTdBMThBOTUyRjMwMDI3QTlENCAv
KiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEREMxRTc5MThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQuaCAqLzsgfTsKKwkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUNEREUwMkVEMThCM0VENkQwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZGb3VuZGF0aW9u
T2JqQy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
REUwMkVCMThCM0VENkQwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5tbSAq
LzsgfTsKIAkJQ0RERTAyRjAxOEI1NjUxMzAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVlN0cmVhbVNl
c3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RERFMDJFRjE4QjU2NTEyMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSAq
LzsgfTsKIAkJQ0RFM0E4NTQxN0Y1RkNFNjAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZG
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREUzQTg1
MjE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCAqLzsgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDE0YzM5NzdjYjFmYzhiZTZj
ODdhMGYyZmRlODIyYmQxMzA0MGYyYzYuLmI5Zjc4YjcxYzBkNGYzNThmMzRjNmU4MDUzZmQ1NDg4
OWEzZWJkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAt
MTQ1Nyw3ICsxNDU3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29u
c3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVudFQKICAgICAgICAgICAgIC8v
IHdoaWxlIHByb2Nlc3NpbmcgcmVtYWluZGVyIG9mIGxvYWQgZmFpbHVyZS4KICAgICAgICAgICAg
IG1fbWVkaWFTb3VyY2UgPSBudWxscHRyOwogICAgICAgICAgICAgbWVkaWFMb2FkaW5nRmFpbGVk
KE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsKLSAgICAgICAgfSBlbHNl
IGlmICghbV9wbGF5ZXItPmxvYWQodXJsLCBjb250ZW50VHlwZSwgbV9tZWRpYVNvdXJjZS5nZXQo
KSkpIHsKKyAgICAgICAgfSBlbHNlIGlmICghbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291
cmNlLmdldCgpKSkgewogICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBkZXRhY2ggdGhlIE1lZGlh
U291cmNlIGJlZm9yZSB3ZSBmb3JnZXQgdGhlIHJlZmVyZW5jZSB0byBpdC4KICAgICAgICAgICAg
IG1fbWVkaWFTb3VyY2UtPmRldGFjaEZyb21FbGVtZW50KCp0aGlzKTsKICAgICAgICAgICAgIG1f
bWVkaWFTb3VyY2UgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ29udGVudFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmgK
aW5kZXggN2MyNzhhNjhlMzg5YWVlZTYyYzQzMTJjMDNhZWNmNTk4Y2Q0MzM1OC4uZWVmOGI5M2Nh
OWE5NTI4MjI0YWVhMjNjNDQ1ZThhNDc1NWMyM2RiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
b250ZW50VHlwZS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcm
IHJhdygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZS5pc0VtcHR5KCk7IH0KIAotICAgIFN0cmluZyB0b0pTT05TdHJpbmco
KSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdG9KU09OU3RyaW5nKCkgY29uc3Q7
CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKaW5kZXggOGIwZDczZThkODI0ZmRiNjljZmYwNjk4YzgyZjg5ZDA5MTg1
YTcyYi4uMTcwNDM4NWRkYzc4OGZhMzg4ZmJlNGJkZWY1ZDEyYjM5ZmZlMWI1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTYs
NyArOTYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgZmluYWwg
eyB9CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5n
JiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CisgICAgdm9pZCBsb2FkKGNv
bnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsIHsgfQogI2VuZGlmCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRl
JikgZmluYWwgeyB9CkBAIC00NzEsMTMgKzQ3MSwxMyBAQCBib29sIE1lZGlhUGxheWVyOjpsb2Fk
KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0
cgogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLWJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQo
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKK2Jvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29u
c3QgVVJMJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAg
ICAgQVNTRVJUKCFtX3JlbG9hZFRpbWVyLmlzQWN0aXZlKCkpOwogICAgIEFTU0VSVChtZWRpYVNv
dXJjZSk7CiAKICAgICBtX21lZGlhU291cmNlID0gbWVkaWFTb3VyY2U7Ci0gICAgbV9jb250ZW50
VHlwZSA9IGNvbnRlbnRUeXBlOworICAgIG1fY29udGVudFR5cGUgPSB7IH07CiAgICAgbV91cmwg
PSB1cmw7CiAgICAgbV9rZXlTeXN0ZW0gPSBlbXB0eVN0cmluZygpOwogICAgIG1fY29udGVudE1J
TUVUeXBlV2FzSW5mZXJyZWRGcm9tRXh0ZW5zaW9uID0gZmFsc2U7CkBAIC01ODYsNyArNTg2LDcg
QEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQ
bGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgIGlmIChtX3ByaXZhdGUpIHsKICNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQogICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSkKLSAgICAgICAgICAgIG1f
cHJpdmF0ZS0+bG9hZChtX3VybC5zdHJpbmcoKSwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CisgICAg
ICAgICAgICBtX3ByaXZhdGUtPmxvYWQobV91cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkpOwogICAg
ICAgICBlbHNlCiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZDI1MjBhY2JiYmIx
YTY5OGNhM2Q0MDcwNjYyZjFkM2ZkOTY4NzA1OC4uZTIyNWJiYWYyYTIzYzg0NWJkYzZiMzk2YWYz
MDJlZGU1MjJmYmYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCkBAIC0zMzcsNyArMzM3LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBsb2Fk
KGNvbnN0IFVSTCYsIGNvbnN0IENvbnRlbnRUeXBlJiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0p
OwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgYm9vbCBsb2FkKGNvbnN0IFVSTCYsIGNv
bnN0IENvbnRlbnRUeXBlJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAgYm9vbCBs
b2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOwogI2VuZGlmCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBib29sIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCmluZGV4IGY5YjkyMDYxOTBkNWFlZDA2ZDBkODhjMGM3NDE1Y2UxNjRkYTU4MDIu
LmNkOTdjNjI2OWViYmEyNjdjNzFlNDRhYWQzOGQxZmY0MjdjOWQ2ZDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBA
IC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBVUkwm
IHVybCwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmKSB7IGxvYWQodXJsLnN0cmlu
ZygpKTsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2aXJ0dWFsIHZvaWQgbG9h
ZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCop
ID0gMDsKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdmlydHVhbCB2b2lk
IGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCBlMTQ3ZjE0ZDhl
MTk2NmI4Mzk3MTg0YmQyYmQ4N2QxNzE3ODI2MjYzLi41ODljNjVmMGI2Y2Y1YzA1MWJjYzM0MTcz
YjU5NDdlODZhMzMzYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaApAQCAtMjcsOCArMjcsOCBAQAogICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCi0jaWZuZGVmIE1lZGlhU291cmNlUHJpdmF0ZV9o
Ci0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZV9oCisKKyNwcmFnbWEgb25jZQogCiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKIApAQCAtNDksNyArNDksMTEgQEAgcHVibGljOgogICAgIE1lZGlh
U291cmNlUHJpdmF0ZSgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZh
dGUoKSA9IGRlZmF1bHQ7CiAKLSAgICBlbnVtIEFkZFN0YXR1cyB7IE9rLCBOb3RTdXBwb3J0ZWQs
IFJlYWNoZWRJZExpbWl0IH07CisgICAgZW51bSBjbGFzcyBBZGRTdGF0dXMgOiB1aW50OF90IHsK
KyAgICAgICAgT2ssCisgICAgICAgIE5vdFN1cHBvcnRlZCwKKyAgICAgICAgUmVhY2hlZElkTGlt
aXQKKyAgICB9OwogICAgIHZpcnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBD
b250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZHVyYXRpb25DaGFuZ2VkKCkgPSAwOwogICAgIGVudW0gRW5kT2ZTdHJlYW1TdGF0
dXMgeyBFb3NOb0Vycm9yLCBFb3NOZXR3b3JrRXJyb3IsIEVvc0RlY29kZUVycm9yIH07CkBAIC04
OCw3ICs5MiwxNSBAQCBzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2
YXRlOjpFbmRPZlN0cmVhbVN0YXR1cz4gewogICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM+IHsKKyAg
ICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGU6OkFkZFN0YXR1cywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRl
OjpBZGRTdGF0dXM6Ok9rLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFk
ZFN0YXR1czo6Tm90U3VwcG9ydGVkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQKKyAgICA+OworfTsKKwogfSAvLyBuYW1lc3Bh
Y2UgV1RGCiAKICNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKaW5kZXggMDA1
NjVhOTFmZWE5OGE2NDE4YTQ0NjIwY2JjMzY2ZTllOGYxMGFkNS4uNGRmMjk3NGQ3ODJiZWEyNGFh
ZTY5OGVlMTViMDY4MTkxNTQxYzA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaApAQCAtNzMs
MTEgKzczLDI4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgTWVkaWFUaW1lIHNvdXJjZUJ1ZmZl
clByaXZhdGVGYXN0U2Vla1RpbWVGb3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3Qg
TWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgPSAwOwogCi0gICAgZW51bSBBcHBlbmRSZXN1
bHQgeyBBcHBlbmRTdWNjZWVkZWQsIFJlYWRTdHJlYW1GYWlsZWQsIFBhcnNpbmdGYWlsZWQgfTsK
KyAgICBlbnVtIGNsYXNzIEFwcGVuZFJlc3VsdCA6IHVpbnQ4X3QgeworICAgICAgICBBcHBlbmRT
dWNjZWVkZWQsCisgICAgICAgIFJlYWRTdHJlYW1GYWlsZWQsCisgICAgICAgIFBhcnNpbmdGYWls
ZWQKKyAgICB9OwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29t
cGxldGUoQXBwZW5kUmVzdWx0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclBy
aXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkgPSAwOwogfTsKIAot
fQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpB
cHBlbmRSZXN1bHQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQsCisgICAgICAg
IFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5k
U3VjY2VlZGVkLAorICAgICAgICBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpB
cHBlbmRSZXN1bHQ6OlJlYWRTdHJlYW1GYWlsZWQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZAorICAgID47Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b24uY3BwCmluZGV4IGFkNGJjOTBlODFiMWMzNjI2ZGE1NWM2NmY1ZTIzMTFjMzQwYWNlOTIuLjVh
YjcxMzc1NDc2YzVmMzA3Y2Q5YzU1M2Q4ZWZmYjBkNWZkZTY0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0xODEs
NyArMTgxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29u
c3QgU3RyaW5nJiB1cmwpCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjps
b2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCiB7CiAgICAgc2V0TmV0
d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApp
bmRleCA0MzhlNDg0YWRlYmM2YmJmMmMyMmM2YWM1NDA5MmRjZmMwY2Q4ODVjLi40N2IyZjhmNzVm
YWI0NDY0Nzg3OTQxMzY3OGY0NmFkMzMzNDcyYTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC0xNTgsNyArMTU4LDcgQEAg
cHJvdGVjdGVkOgogICAgIC8vIE1lZGlhUGxheWVyUHJpdmF0ZVByaXZhdGVJbnRlcmZhY2Ugb3Zl
cnJpZGVzLgogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7CiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYs
IE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2VuZGlmCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJp
ZGUgeyBzZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJy
b3IpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDMwNjU0ZTI2OGRjNDRlMmUzYTA3
ZTEzZGZkMDkxNWUwNzdlM2RmOTIuLjAwMzgwYjdlMjI5MTViYjY3NTBhZGJhMTU3ZGZiMzA5NDJm
ZDI2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xNDgsNiArMTQ4LDcgQEAgcHVi
bGljOgogICAgIGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4mIG1lZGlhQ29udGVudFR5cGVzUmVx
dWlyaW5nSGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAgICAgYm9vbCBzaG91bGRDaGVja0hhcmR3
YXJlU3VwcG9ydCgpIGNvbnN0OwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29u
c3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsg
fQogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
ICJNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMiOyB9CiAgICAgY29uc3Qgdm9p
ZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3Qgdm9pZCo+KG1fbG9nSWRlbnRpZmllcik7IH0KQEAgLTE1NSw2ICsxNTYsNyBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVy
biBsb2dJZGVudGlmaWVyKCk7IH0KICAgICBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2Vy
KCkgeyByZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgogCiAgICAgZW51bSBTZWVrU3RhdGUgewog
ICAgICAgICBTZWVraW5nLApAQCAtMTY1LDcgKzE2Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYgdXJsKSBvdmVycmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBV
UkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGI0MDI0YTkxNDhlMWFlMjVi
M2M5NDI3ODM4NDY5MmFiMDFhZWE2ZTAuLmNkNjk3NjM5N2RjN2Q1MTMyZDVkOTE0NTQyYThhY2U1
ZmEwNzc3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTI2Niw3ICsyNjYsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZChjb25zdCBT
dHJpbmcmKQogICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7CiB9CiAKLXZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYs
IE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQordm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50KiBjbGllbnQpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCA4NzgwOTZhZGJkNmUyNWQ0MzE4NmJlZWIwYmFkZjQ2
OGY4NmNlNGM5Li5hNGY0ZDQ0NjlmNTY1ZjM3MTQ1MmZmMGU4OGY0YjJjNzA1NzJiZjM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtOTgsNyArOTgsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCi0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqKSBvdmVycmlkZTsKICNlbmRpZgogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGNhbmNlbExvYWQoKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCBhYzZjZGUzYzhkNTc5Y2JmMGE5NmIwMDM0NDYxNmE4
MmIzYzBlNzYzLi4wOTRjZWI3MDdiZmQyMDY5NDQ5YzQzYjk4NWJjYjhjZDBhYTQ0YjFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC00MDMsNyArNDAzLDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJikKIH0KIAog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICAvLyBUaGlzIG1lZGlhIGVu
Z2luZSBvbmx5IHN1cHBvcnRzIE1lZGlhU3RyZWFtIFVSTHMuCiAgICAgc2NoZWR1bGVEZWZlcnJl
ZFRhc2soW3RoaXNdIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaAppbmRleCBlMWU0YWE3ODY5NWYwMDQ4ZjBjZmNjODI0MTZhMjA5NDhm
NmRhY2U2Li5kYzQ2MjAzYmU4ZjRkNDUxMDRmZGNkM2JiZjFiNjFlZjhjNTE5NzYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCkBA
IC0yMyw4ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWZuZGVmIE1lZGlhU291
cmNlUHJpdmF0ZUFWRk9iakNfaAotI2RlZmluZSBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDX2gK
KyNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgVVNFKEFWRk9VTkRB
VElPTikKIApAQCAtMTQ5LDUgKzE0OCwzIEBAIHByaXZhdGU6CiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCmluZGV4
IGVmNDUzYWU4ZGRiZTgxNDU4ZDJjMGE1ZmU3YmY5MjdhZmRhOTRjZTIuLjc1M2FjYjFjYTc5NGZh
MDE2OWY5Y2UwZjZmOTJmZWFiNTQ3NGUzMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQpAQCAtODQsMTEgKzg0LDExIEBAIE1l
ZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmFk
ZFNvdXJjZUJ1ZmZlcihjb25zdCBDCiAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gdHJ1
ZTsKICAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKICAgICBpZiAoTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGVBbmRDb2RlY3MocGFyYW1l
dGVycykgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCi0gICAg
ICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1
cHBvcnRlZDsKIAogICAgIGF1dG8gcGFyc2VyID0gU291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUo
Y29udGVudFR5cGUpOwogICAgIGlmICghcGFyc2VyKQotICAgICAgICByZXR1cm4gTm90U3VwcG9y
dGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAgICBhdXRv
IG5ld1NvdXJjZUJ1ZmZlciA9IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpjcmVhdGUodGhp
cywgcGFyc2VyLnJlbGVhc2VOb25OdWxsKCkpOwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CkBAIC05Nyw3ICs5Nyw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291
cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDCiAgICAgb3V0UHJpdmF0
ZSA9IG5ld1NvdXJjZUJ1ZmZlci5jb3B5UmVmKCk7CiAgICAgbV9zb3VyY2VCdWZmZXJzLmFwcGVu
ZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOwogCi0gICAgcmV0dXJuIE9rOworICAgIHJldHVy
biBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnJl
bW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBidWZmZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4
IDkxNDk2ZDI0MWZmYjYxMGQ5Njk0MDc3NTdkOWZjMjM5OGZiNDY1NTkuLjJiYzI2YTE1ZWU1MWJk
YTE0YjliNWY2NjM0MTViOTg0NjViOTlmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC00Miw3ICs0Miw2IEBACiAj
aW1wb3J0ICJNZWRpYVNhbXBsZS5oIgogI2ltcG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAj
aW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgiCi0jaW1wb3J0ICJOb3RJbXBsZW1l
bnRlZC5oIgogI2ltcG9ydCAiU2hhcmVkQnVmZmVyLmgiCiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQ
YXJzZXJBVkZPYmpDLmgiCiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgiCkBA
IC01ODYsNyArNTg1LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKCkKICAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldExvYWRpbmdQ
cm9ncmVzc3NlZCh0cnVlKTsKIAogICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQt
PnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShtX3BhcnNpbmdTdWNjZWVkZWQgPyBT
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQgOiBTb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50OjpQYXJzaW5nRmFpbGVkKTsKKyAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShtX3BhcnNpbmdTdWNjZWVkZWQgPyBTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCk7CiB9CiAKIHZv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFib3J0KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggN2UwYWQ1NDc4Y2ExNzkxOWEw
ZTliMzMxOWNmZjQ2YzJmZmMxMDFmMS4uNTdiNjgzODMyMDYzNDA4NjMyNmI2NDhiNjdiN2I2NDMw
OTNhMmI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKQEAgLTM5MSw3ICszOTEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6bG9hZChjb25zdCBTdHJpbmcmIHVybFN0cmluZykKIH0KIAogI2lmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBTdHJp
bmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsK
ICAgICAvLyBQcm9wZXJseSBmYWlsIHNvIHRoZSBnbG9iYWwgTWVkaWFQbGF5ZXIgdHJpZXMgdG8g
ZmFsbGJhY2sgdG8gdGhlIG5leHQgTWVkaWFQbGF5ZXJQcml2YXRlLgogICAgIG1fbmV0d29ya1N0
YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggZTAxNjE1YjBmM2EzNTBk
NmYwNzUwODYyZTM2MGE2YjBjZGI3NzQ5Zi4uYzA4YWY4ZDJiODZkMjRjMzA0NWQxYzcyMDRkNGY5
M2YwZWQwYTUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaApAQCAtMTQyLDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0F1ZGlvKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9oYXNBdWRpbzsgfQogICAgIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcgJnVybCkgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxv
YWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRl
OworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBv
dmVycmlkZTsKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2Fk
KE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCmluZGV4IGM0NGNhMzk2N2Fi
MGZmMDY5MGYwY2QyZWU2MzM0ZGNjNWQwZDdmYjguLmRmODVkM2RhYjRmOTM3NWU1NzBlM2Q1M2I0
MWI3NzJjMzdhYWEzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKQEAgLTEzOCwxMCArMTM4LDEwIEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5n
KQogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCh1cmxTdHJpbmcpOwogfQog
Ci12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6bG9hZChjb25zdCBTdHJpbmcm
IHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQogewogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRp
YVNvdXJjZTsKLSAgICBsb2FkKG1ha2VTdHJpbmcoIm1lZGlhc291cmNlIiwgdXJsKSk7CisgICAg
bG9hZChtYWtlU3RyaW5nKCJtZWRpYXNvdXJjZSIsIHVybC5zdHJpbmcoKSkpOwogfQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6cGF1c2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggN2U0ODFl
NjU3NDg5ZTI3MWI0NGYxM2ZjMzViNDQ5NGM2YzU2NmRlYy4uMDY5Mjc2NjI2NDk0NTkwNmRmODI4
M2QzYWQ5NTcyMzY5NzhmNTJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyKTsK
IAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKLSAgICB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAg
dm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRl
OwogCiAgICAgdm9pZCB1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcoKSBvdmVycmlkZSB7IH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCmluZGV4IGIwMDVkMGQzMzUy
NjY0ZjdmOWJlZDlmNzAyMDk3NzJhYjAwMjc0NTAuLjFlODhhZDE2MTFiZWQ1NDU4MmI5MTAzMDky
NjJmYzcyNzIzMjY1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcApA
QCAtMTA3LDcgKzEwNyw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNr
UGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8U291cmNlQnVmCiAKICAgICBpZiAocHJp
di0+YWxsVHJhY2tzQ29uZmlndXJlZCkgewogICAgICAgICBHU1RfRVJST1JfT0JKRUNUKG1fd2Vi
S2l0TWVkaWFTcmMuZ2V0KCksICJBZGRpbmcgbmV3IHNvdXJjZSBidWZmZXJzIGFmdGVyIGZpcnN0
IGRhdGEgbm90IHN1cHBvcnRlZCB5ZXQiKTsKLSAgICAgICAgcmV0dXJuIE1lZGlhU291cmNlUHJp
dmF0ZTo6Tm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpB
ZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKICAgICB9CiAKICAgICBHU1RfREVCVUdfT0JKRUNUKG1f
d2ViS2l0TWVkaWFTcmMuZ2V0KCksICJTdGF0ZSAlZCIsIGludChHU1RfU1RBVEUobV93ZWJLaXRN
ZWRpYVNyYy5nZXQoKSkpKTsKQEAgLTE0MCw3ICsxNDAsNyBAQCBNZWRpYVNvdXJjZVByaXZhdGU6
OkFkZFN0YXR1cyBQbGF5YmFja1BpcGVsaW5lOjphZGRTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJj
ZUJ1ZgogICAgIGdzdF9iaW5fYWRkKEdTVF9CSU4obV93ZWJLaXRNZWRpYVNyYy5nZXQoKSksIHN0
cmVhbS0+YXBwc3JjKTsKICAgICBnc3RfZWxlbWVudF9zeW5jX3N0YXRlX3dpdGhfcGFyZW50KHN0
cmVhbS0+YXBwc3JjKTsKIAotICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6Ok9rOworICAg
IHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgUGxh
eWJhY2tQaXBlbGluZTo6cmVtb3ZlU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2
YXRlR1N0cmVhbWVyPiBzb3VyY2VCdWZmZXJQcml2YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRl
R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZDNhODdlZmU4OWFl
YjNhZDU2N2RlYzQ4YTFlMWE3ZWU0M2U1YzQ4Yy4uYzkwNDI3ZTRlZDNlYzdhODFhN2JiYjkzMmVj
NGI4YmQxMTBjYTAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0xOTQsMTIgKzE5NCwxMiBAQCB2b2lkIFNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBs
ZSkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRSZWNlaXZlQWxsUGVu
ZGluZ1NhbXBsZXMoKQogewotICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC0+c291cmNl
QnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFN1Y2NlZWRlZCk7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBw
ZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVHU3RyZWFtZXI6OmFwcGVuZFBhcnNpbmdGYWlsZWQoKQogewotICAgIG1fc291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNpbmdGYWlsZWQpOworICAgIG1fc291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCk7CiB9CiAKICNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNv
dXJjZS5jcHAKaW5kZXggN2QwYzdkN2NmMDJmNDJhZWM3M2RjYzM4MjdiYmIyYjE3YzMzNTJmMS4u
YzdhMGY3MWRmZTY4ZmM2ZWQ2MmM5NjVlNTk4ODBkOTMyOWJiZjdiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lk
IE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6
OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCit2
b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudCogc291cmNlKQogewogICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0g
TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6Y3JlYXRlKCp0aGlzLCAqc291cmNlKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAppbmRleCA3ZGZjMWYyMjhkYTIxMzk0
ZjM3NmM3ZjI5NjRjZjE0NDZlOGNhMzFlLi4wNThjNjM0MjkwNmExYTE3NDc5MTAyYjE1NTg0OTQ3
MjIwN2ZjZDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBA
IC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2
YXRlIE92ZXJyaWRlcwogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lk
IGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGUgeyB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291
cmNlUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCmluZGV4IDZlMjFiNWRkMmI4OTdlODdhYWZhMDBl
NzViYzhmZjhmZjFlZWUwZjYuLjhmODI4Y2NhOTU5NzI1NzIzYmE2ZWM4MjQyMWZjODgxOWRmMDJh
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcApAQCAtNjMsMTIgKzYz
LDEyIEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1vY2tNZWRpYVNvdXJjZVByaXZh
dGU6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250CiAgICAgcGFyYW1ldGVycy5pc01lZGlhU291
cmNlID0gdHJ1ZTsKICAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKICAgICBpZiAo
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnN1cHBvcnRzVHlwZShwYXJhbWV0ZXJzKSA9PSBN
ZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJu
IE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwog
CiAgICAgbV9zb3VyY2VCdWZmZXJzLmFwcGVuZChNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6Y3Jl
YXRlKHRoaXMpKTsKICAgICBvdXRQcml2YXRlID0gbV9zb3VyY2VCdWZmZXJzLmxhc3QoKTsKIAot
ICAgIHJldHVybiBPazsKKyAgICByZXR1cm4gQWRkU3RhdHVzOjpPazsKIH0KIAogdm9pZCBNb2Nr
TWVkaWFTb3VyY2VQcml2YXRlOjpyZW1vdmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyUHJpdmF0
ZSogYnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCBm
NGRhZDAzNzEzMDMxODQ5ZTYzN2Y5N2JiMDc4ZDIzZmU4Njk4MWE1Li4wNWNkYzUwMzVkNmY0OTIw
NDJkN2FiMWVkZjdjYWJjNzBmMzVmMjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlLmNwcApAQCAtMTM5LDkgKzEzOSw5IEBAIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZh
dGU6OnNldENsaWVudChTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB2b2lkIE1v
Y2tTb3VyY2VCdWZmZXJQcml2YXRlOjphcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYgZGF0
YSkKIHsKICAgICBtX2lucHV0QnVmZmVyLmFwcGVuZFZlY3RvcihkYXRhKTsKLSAgICBTb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kU3VjY2VlZGVkOworICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBl
bmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZDsKIAotICAgIHdoaWxlIChtX2lucHV0QnVmZmVyLnNp
emUoKSAmJiByZXN1bHQgPT0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kU3VjY2Vl
ZGVkKSB7CisgICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6ZSgpICYmIHJlc3VsdCA9PSBTb3Vy
Y2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCkgewog
ICAgICAgICBhdXRvIGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9pbnB1dEJ1ZmZlci5k
YXRhKCksIG1faW5wdXRCdWZmZXIuc2l6ZSgpKTsKICAgICAgICAgc2l6ZV90IGJveExlbmd0aCA9
IE1vY2tCb3g6OnBlZWtMZW5ndGgoYnVmZmVyLnB0cigpKTsKICAgICAgICAgaWYgKGJveExlbmd0
aCA+IGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpKQpAQCAtMTU1LDcgKzE1NSw3IEBAIHZvaWQgTW9ja1Nv
dXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQog
ICAgICAgICAgICAgTW9ja1NhbXBsZUJveCBzYW1wbGVCb3ggPSBNb2NrU2FtcGxlQm94KGJ1ZmZl
ci5wdHIoKSk7CiAgICAgICAgICAgICBkaWRSZWNlaXZlU2FtcGxlKHNhbXBsZUJveCk7CiAgICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6UGFyc2luZ0ZhaWxlZDsKKyAgICAgICAgICAgIHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZDsKIAogICAgICAgICBtX2lucHV0
QnVmZmVyLnJlbW92ZSgwLCBib3hMZW5ndGgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhYjE1ZmJmNTFlZjM2OGZiZTQ3NDUz
NDBkMjYxN2MyZjczOGJjMGI0Li5lZGI2Y2E1OTc5ZDJmNGRlZjhiMmIyZTc3M2Y5ZDY5YWU3ODZl
N2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC0zNSw2ICszNSw4IEBAICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZU1hbmFnZXIubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVj
c1Byb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5tZXNzYWdlcy5pbgpAQCAtOTUsOCArOTcs
OCBAQCAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eS5tZXNzYWdlcy5pbgotJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rv
ci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdl
cy5pbgorJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4
dGVuc2lvbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9j
ZXNzL01lZGlhL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTM2LDYg
KzEzOCw3IEBAICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlv
U2Vzc2lvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbi5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RN
U2Vzc2lvbi5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJU
Q1JlbW90ZUNvZGVjcy5tZXNzYWdlcy5pbgpAQCAtMTQzLDkgKzE0Niw5IEBAICQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRp
b25NYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0luc3BlY3Rv
ci9SZW1vdGVXZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJv
Y2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9X
ZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nl
c3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9X
ZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIubWVz
c2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlNvY2tldENoYW5uZWwubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRlYjEyNWU5YWRjNzY1YTVh
ZThkYzExNzU4N2VlM2U4N2M3N2E0MzguLjc1Njc5ZjU1ZjVhZTM5OWI1ZWFmNDc3ZjE4OTMyNTZi
YzI0ODg0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtMjE1LDYgKzIxNSw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlck1lc3NhZ2VzUmVwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Np
b25IZWxwZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5TWVzc2Fn
ZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3Rl
TWVkaWFTZXNzaW9uSGVscGVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNS
ZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmpl
Y3RSZWdpc3RyeU1lc3NhZ2VzUmVwbGllcy5oCkBAIC0yMzMsNiArMjM2LDkgQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyTWVzc2EKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VzUmVwbGllcy5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVy
UHJveHlNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTI1
MSw2ICsyNTcsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrTWVzc2FnZXNSZXBsaQogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1l
c3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyTWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNv
Z25pdGlvblNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2du
aXRpb25TZXJ2ZXJNZXNzYWdlc1JlcGxpZXMuaApAQCAtMzQ4LDkgKzM1Nyw2IEBAICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub1Nl
cnZlck1lc3NhZ2VzUmVwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdl
c1JlcGxpZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcAotJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlF
eHRlbnNpb25Db250cm9sbGVyTWVzc2FnZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2Fn
ZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRl
cnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzUmVw
bGllcy5oCkBAIC0zNjAsNiArMzY2LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzUmVwbGllcy5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JV
SUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRy
b2xsZXJNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9y
VUlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXNSZXBsaWVzLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNzZiMzk2ZmUwNTEzOTg3MGExYjAxYzE0
YzE0MWRjZjQ1YTkyYzQ0Li4zNzcwMWIwMWMzYzFhMmMzMDBlMWRkMmQ3MmU2Yjg1MjM3ZjQyNGI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNzQsMTIgKzE3NCwxMyBAQCBNRVNT
QUdFX1JFQ0VJVkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNz
IFwKIAlXZWJQcm9jZXNzL0dQVS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIFwKIAlX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUgXAotCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBcCi0JV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9z
L1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9EZXN0aW5hdGlvblByb3h5IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRp
b1Nlc3Npb24gXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlk
ZXJNYW5hZ2VyIFwKKwlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Np
b24gXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdl
YlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgXAorCVdlYlByb2Nl
c3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIgXAogCVdlYlByb2Nlc3Mv
V2ViU3RvcmFnZS9TdG9yYWdlQXJlYU1hcCBcCiAJV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJV
c2VyQ29udGVudENvbnRyb2xsZXIgXAogCVdlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIgXApAQCAtMjQwLDEzICsyNDEsMTUgQEAgTUVTU0FHRV9SRUNF
SVZFUlMgPSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25Qcm94
eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRp
YS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkgXAotCUdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uTWFuYWdlciBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1GYWN0b3J5UHJv
eHkgXAotCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVMZWdhY3lDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllck1hbmFnZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uTWFuYWdlciBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwK
KwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwKKwlHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkgXAogCVdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MgXAogCVdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MgXAogIwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFy
YW1ldGVycy5oCmluZGV4IGM2MzZjZTFjNDgzOTI3NGNmYmQwMDQxYjgwYzFjMGJjZjIzNWExYWMu
Ljk4MGQ2NDFjYjFlODE0NzhmNDU5MTk4ZTIxNjc2N2E1ZGExODM0NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgK
QEAgLTI4LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRlICJT
YW5kYm94RXh0ZW5zaW9uLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0
b3J5UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2Fj
eUNETUZhY3RvcnlQcm94eS5jcHAKaW5kZXggZmJhZjM5YWUzMTk0N2Y1NzdkOTY5MWZlMzExZmMy
ZTE2MjczMzE0ZS4uNzQ5YjFkMzc1ZDRhZDkzOWZhMGRmMWM3NTdlNTk0MWQ3NmRhNDhmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZh
Y3RvcnlQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHAKQEAgLTEzNiw3ICsxMzYsNiBAQCBSZW1vdGVMZWdh
Y3lDRE1TZXNzaW9uUHJveHkqIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eTo6Z2V0U2Vzc2lv
bihjb25zdCBSZW1vdAogICAgIHJldHVybiBudWxscHRyOwogfQogCi0KIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5jcHAKaW5kZXggODdkMDY3NDVkMDA4YzUxZmM0MTI3YjQwYjIxMjdlNjc0YTFj
ODE3MS4uNzAxMzU3MDc4MWY4ZjUxN2M4MThkMjEwZDkyNmNhNmUyNDZlOTdmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3Vy
Y2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5oIgog
I2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCisjaW5jbHVkZSAiUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlVGV4dFRyYWNrUHJv
eHkuaCIKICNpbmNsdWRlICJSZW1vdGVWaWRlb1RyYWNrUHJveHkuaCIKICNpbmNsdWRlICJXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTEzMSw2ICsxMzIsMTYgQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5Ojpsb2FkKFVSTCYmIHVybCwgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlPiYKICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsK
IH0KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OmxvYWRNZWRpYVNvdXJjZShVUkwmJiB1cmwsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmll
ciBtZWRpYVNvdXJjZUlkZW50aWZpZXIpCit7CisgICAgbV9tZWRpYVNvdXJjZVByb3h5ID0gYWRv
cHRSZWYoKm5ldyBSZW1vdGVNZWRpYVNvdXJjZVByb3h5KG1lZGlhU291cmNlSWRlbnRpZmllciwg
bV9tYW5hZ2VyLmdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKSkpOworICAgIG1fbWFuYWdlci5n
cHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2Fn
ZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1lZGlhU291cmNlSWRlbnRpZmllci50b1VJbnQ2NCgpLCAqbV9tZWRpYVNvdXJj
ZVByb3h5KTsKKworICAgIG1fcGxheWVyLT5sb2FkKHVybCwgbV9tZWRpYVNvdXJjZVByb3h5Lmdl
dCgpKTsKK30KKyNlbmRpZgorCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmNhbmNlbExv
YWQoKQogewogICAgIG1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuc3RvcCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmgKaW5kZXggODZhYTQyY2ViZmQ3MDNlMGMwYmViYzNlZDBkMGU0MTg1NTlhNjY3YS4u
YzdiM2M5NmE1ZDMwZjNjNDU2MDk2MmIxMWY5YmQ3ZmVhZGRkOGIxNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5o
CkBAIC01Miw2ICs1MiwxMSBAQAogI2luY2x1ZGUgIlJlbW90ZUNETUluc3RhbmNlUHJveHkuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lmgi
CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZm
ZXJTdG9yYWdlLmgiCiAjZW5kaWYKQEAgLTEwOSw2ICsxMTQsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBwcmVwYXJlRm9yUmVuZGVyaW5nKCk7CiAKICAgICB2b2lkIGxvYWQoVVJMJiYsIE9wdGlvbmFs
PFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4mJiwgY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUm
LCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbiYmKT4mJik7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB2b2lk
IGxvYWRNZWRpYVNvdXJjZShVUkwmJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyKTsKKyNl
bmRpZgogICAgIHZvaWQgY2FuY2VsTG9hZCgpOwogCiAgICAgdm9pZCBwcmVwYXJlVG9QbGF5KCk7
CkBAIC0zMDAsNiArMzA4LDkgQEAgcHJpdmF0ZToKICAgICBSZW1vdGVNZWRpYVBsYXllclN0YXRl
IG1fY2FjaGVkU3RhdGU7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24g
bV9jb25maWd1cmF0aW9uOwogICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TWVk
aWFUaW1lPik+IG1fcGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyOworI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRyPFJlbW90ZU1lZGlhU291cmNlUHJveHk+
IG1fbWVkaWFTb3VyY2VQcm94eTsKKyNlbmRpZgogCiAgICAgV2ViQ29yZTo6TGF5b3V0UmVjdCBt
X3ZpZGVvQ29udGVudEJveFJlY3Q7CiAgICAgZmxvYXQgbV92aWRlb0NvbnRlbnRTY2FsZSB7IDEu
MCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2OTZhMGRhMjRkNzZl
NWFlNzQ1ZjgyMWE1MWE4NDAxOGY2NTVmMTkyLi5hMjg4NjE4Zjk5ZTRmNTU4ODllYmQ5ZTM0MGZj
Nzc0NGY1Njk5NzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjcs
NiArMjcsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50
ZWQgewogICAgIFByZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBlbnVtOnVpbnQ4
X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UHJlbG9hZCBwcmVsb2FkLCBib29sIHByZXNl
cnZlc1BpdGNoLCBib29sIHByZXBhcmVGb3JSZW5kZXJpbmcsIGZsb2F0IHZpZGVvQ29udGVudFNj
YWxlKSAtPiAoT3B0aW9uYWw8V2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQ+IGlubGluZUxh
eWVySG9zdGluZ0NvbnRleHRJZCkgQXN5bmMKIAogICAgIExvYWQoVVJMIHVybCwgT3B0aW9uYWw8
V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNpb24sIFdlYkNv
cmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlLCBTdHJpbmcga2V5U3lzdGVtKSAtPiAoc3RydWN0
IFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3VyYXRp
b24pIEFzeW5jCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBMb2FkTWVkaWFTb3VyY2Uo
VVJMIHVybCwgV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbWVkaWFTb3VyY2VJ
ZGVudGlmaWVyKSBTeW5jaHJvbm91cworI2VuZGlmCiAgICAgQ2FuY2VsTG9hZCgpCiAKICAgICBQ
cmVwYXJlVG9QbGF5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTg1NmI1Y2QyYTYz
YTg4N2Y2MzMzNDg5YmZhMWNmNjYwYmRjZWMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCkBAIC0wLDAg
KzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFC
TEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
IgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1Jl
bW90ZU1lZGlhU291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAg
ICAsIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uVG9XZWJQcm9jZXNzKQorewor
fQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZhdGVBbmRPcGVuKFJlZjxN
ZWRpYVNvdXJjZVByaXZhdGU+JiYgbWVkaWFTb3VyY2VQcml2YXRlKQoreworICAgIEFTU0VSVCgh
bV9wcml2YXRlKTsKKyAgICBtX3ByaXZhdGUgPSBXVEZNb3ZlKG1lZGlhU291cmNlUHJpdmF0ZSk7
Cit9CisKK01lZGlhVGltZSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpkdXJhdGlvbigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJh
bmdlcz4gUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YnVmZmVyZWQoKSBjb25zdAoreworICAgIHJl
dHVybiBtYWtlVW5pcXVlPFBsYXRmb3JtVGltZVJhbmdlcz4oKTsKK30KKwordm9pZCBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5OjpzZWVrVG9UaW1lKGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3Zv
aWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6bW9uaXRvclNvdXJjZUJ1ZmZlcnMoKQoreworfQor
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNldExvZ0lkZW50aWZpZXIoY29uc3Qgdm9pZCopCit7Cit9CisjZW5kaWYKKwordm9pZCBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkK
K3sKK30KKwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjphZGRTb3VyY2VCdWZmZXIoY29u
c3QgV2ViQ29yZTo6Q29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBBZGRTb3VyY2VCdWZmZXJDYWxs
YmFjayYmIGNhbGxiYWNrKQoreworICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3Vy
Y2VCdWZmZXJQcml2YXRlOworICAgIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1
cyA9IG1fcHJpdmF0ZS0+YWRkU291cmNlQnVmZmVyKGNvbnRlbnRUeXBlLCBzb3VyY2VCdWZmZXJQ
cml2YXRlKTsKKworICAgIE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJl
bW90ZVNvdXJjZUlkZW50aWZpZXI7CisgICAgaWYgKHN0YXR1cyA9PSBNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1czo6T2spIHsKKyAgICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgYXV0byByZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUoaWRlbnRpZmll
ciwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VO
b25OdWxsKCkpOworICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUocmVtb3Rl
U291cmNlQnVmZmVyUHJveHkpKTsKKyAgICAgICAgcmVtb3RlU291cmNlSWRlbnRpZmllciA9IGlk
ZW50aWZpZXI7CisgICAgfQorCisgICAgY2FsbGJhY2soc3RhdHVzLCByZW1vdGVTb3VyY2VJZGVu
dGlmaWVyKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NTVmMTQyZWU4ODM1YTczYTg1NTY2ZmNlYWViMzAyN2NjYzM2OGZjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNl
UHJveHkuaApAQCAtMCwwICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CisjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2Ns
YXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBDb250ZW50VHlwZTsKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZTsKK2NsYXNz
IFBsYXRmb3JtVGltZVJhbmdlczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhU291cmNlUHJveHkg
ZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQKKyAg
ICAsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgorICAgIFJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVh
bCB+UmVtb3RlTWVkaWFTb3VyY2VQcm94eSgpID0gZGVmYXVsdDsKKworICAgIC8vIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudCBvdmVycmlkZXMKKyAgICB2b2lkIHNldFByaXZhdGVBbmRPcGVuKFJl
ZjxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU+JiYpIGZpbmFsOworICAgIE1lZGlhVGltZSBk
dXJhdGlvbigpIGNvbnN0IGZpbmFsOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQbGF0
Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZWVrVG9U
aW1lKGNvbnN0IE1lZGlhVGltZSYpIGZpbmFsOworICAgIHZvaWQgbW9uaXRvclNvdXJjZUJ1ZmZl
cnMoKSBmaW5hbDsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHZvaWQgc2V0TG9n
SWRlbnRpZmllcihjb25zdCB2b2lkKikgZmluYWw7CisjZW5kaWYKKworICAgIHZvaWQgZmFpbGVk
VG9DcmVhdGVSZW5kZXJlcihSZW5kZXJlclR5cGUpIGZpbmFsOworCitwcml2YXRlOgorICAgIGZy
aWVuZCBjbGFzcyBSZW1vdGVNZWRpYVBsYXllclByb3h5OyAvLyBUT0RPPworCisgICAgLy8gSVBD
OjpNZXNzYWdlUmVjZWl2ZXIKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJ
UEM6OkVuY29kZXI+JikgZmluYWw7CisKKyAgICB1c2luZyBBZGRTb3VyY2VCdWZmZXJDYWxsYmFj
ayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpB
ZGRTdGF0dXMsIE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIpPjsKKyAgICB2b2lkIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBX
ZWJDb3JlOjpDb250ZW50VHlwZSYsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrJiYpOworCisgICAg
UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVmUHRyPFdl
YkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4gbV9wcml2YXRlOworICAgIFZlY3RvcjxSZWZQdHI8
UmVtb3RlU291cmNlQnVmZmVyUHJveHk+PiBtX3NvdXJjZUJ1ZmZlcnM7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2E2Yjc1MmQ3NzA2MGRlY2NiOWRjM2JjNzk2NDg5ZjRlYzkyMGRhZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCittZXNzYWdlcyAtPiBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFkZFNvdXJjZUJ1ZmZlcihX
ZWJDb3JlOjpDb250ZW50VHlwZSBjb250ZW50VHlwZSkgLT4gKGVudW06dWludDhfdCBXZWJDb3Jl
OjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBzdGF0dXMsIE9wdGlvbmFsPFdlYktpdDo6
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
cikgU3luY2hyb25vdXMKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yNGJmY2ExNjEyYjVkNzk0OWVhMGExOTVkZTU1ZjVjOTU3OTI3MDY2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisK
KyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworZW51bSBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyVHlwZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291
cmNlQnVmZmVyUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyM2UyOTgwYTk3OGI3Y2RiZmFkZWE3NDY5
ODViY2RmZTE3ZWQ1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCkBAIC0wLDAgKzEsMTA3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitSZWY8UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUoUmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllciBpZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLCBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4mJiBzb3VyY2VCdWZm
ZXJQcml2YXRlKQoreworICAgIGF1dG8gcmVtb3RlU291cmNlQnVmZmVyUHJveHkgPSBhZG9wdFJl
ZigqbmV3IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KGlkZW50aWZpZXIsIGNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MsIFdURk1vdmUoc291cmNlQnVmZmVyUHJpdmF0ZSkpKTsKKyAgICByZXR1cm4gcmVt
b3RlU291cmNlQnVmZmVyUHJveHk7Cit9CisKK1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eShSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFJl
ZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclByaXZhdGUpCisgICAgOiBtX2lk
ZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKQorICAgICwgbV9zb3VyY2VCdWZmZXJQcml2YXRlKFdURk1vdmUo
c291cmNlQnVmZmVyUHJpdmF0ZSkpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1l
c3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUlu
dDY0KCksICp0aGlzKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPnNldENsaWVudCh0aGlz
KTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eSgpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VSZWNlaXZlck1hcCgp
LnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOworfQorCit2
b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKQorewor
fQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlk
UmVjZWl2ZVNhbXBsZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYpCit7Cit9CisKK2Jvb2wgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVIYXNBdWRpbygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNv
dXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVu
cXVlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCit2b2lkIFJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVjb21lUmVhZHlGb3JN
b3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitNZWRpYVRpbWUg
UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0U2Vla1RpbWVG
b3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJikKK3sKKyAgICByZXR1cm4geyB9OworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK3sKKyAgICBtX2Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1
bHQpLCBtX2lkZW50aWZpZXIpOworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludCBlcnJvckNvZGUp
Cit7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZChjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIGRhdGEpCit7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLT5hcHBl
bmQoZGF0YS52ZWN0b3IoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMTIwYThhMmVjYjkzYzFhMzc5ZTkxYjk2ZmM5OThkMDMwYmZmNTBl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5LmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNF
KQorCisjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIk1l
c3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aCIKKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgSVBDIHsKK2Ns
YXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTWVkaWFTYW1wbGU7Cit9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBmaW5hbAorICAgIDog
cHVibGljIFJlZkNvdW50ZWQ8UmVtb3RlU291cmNlQnVmZmVyUHJveHk+CisgICAgLCBwdWJsaWMg
V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudAorICAgICwgcHJpdmF0ZSBJUEM6Ok1l
c3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4gY3JlYXRlKFJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBSZWY8V2ViQ29y
ZTo6U291cmNlQnVmZmVyUHJpdmF0ZT4mJik7CisgICAgdmlydHVhbCB+UmVtb3RlU291cmNlQnVm
ZmVyUHJveHkoKTsKKworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0
aWFsaXphdGlvblNlZ21lbnQoY29uc3QgSW5pdGlhbGl6YXRpb25TZWdtZW50JikgZmluYWw7Cisg
ICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShXZWJDb3JlOjpNZWRp
YVNhbXBsZSYpIGZpbmFsOworICAgIGJvb2wgc291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkg
Y29uc3QgZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzVmlkZW8oKSBjb25z
dCBmaW5hbDsKKworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVTYW1wbGVzKGNv
bnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZURpZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJ
RCkgZmluYWw7CisKKyAgICBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGlt
ZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBN
ZWRpYVRpbWUmKSBmaW5hbDsKKworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENv
bXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCkg
ZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vy
cm9yKGludCBlcnJvckNvZGUpIGZpbmFsOworCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5OworICAgIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KFJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBSZWY8
V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZT4mJik7CisKKyAgICAvLyBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBD
OjpEZWNvZGVyJikgZmluYWw7CisgICAgLy8gdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rl
cj4mKSBmaW5hbDsKKworICAgIHZvaWQgYXBwZW5kKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYp
OworCisgICAgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAg
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOworICAg
IFJlZjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiBtX3NvdXJjZUJ1ZmZlclByaXZhdGU7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNz
YWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hMDhmZjAxZGEzMGQwNjdiOWU0MWZiNWExMTNlN2JhNDNmZTBl
MDE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQor
CittZXNzYWdlcyAtPiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKKyAg
ICBBcHBlbmQoSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKaW5kZXggOTc3ZjkzZmY1YzNj
MmI4MTc4NDZjOWE5YTc1NTE3ODljOGVmZTA1Yy4uNjFiODkwZGM3ODY3YzMzYjAwNWYyMmU5M2Ji
MWFmNDdkZGQzYjE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5j
bHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3Mu
aCIKICNpbmNsdWRlICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCIKICNpbmNsdWRl
ICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJL
aXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggOTcwODc2NDk1ZmIxYWNjOTA0YzFl
YTI1MDY5MDkzYjIwMGViMjU1YS4uNTczZWQzZDhlZTliYmY0MTAzMTY4ZTc5YTA1N2Y5ZGJkYjli
ODY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yNTks
NiArMjU5LDggQEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToK
ICAgICAgICAgJ1dlYktpdDo6UmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllcicsCiAgICAgICAgICdX
ZWJLaXQ6OlJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktp
dDo6UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXInLAorICAgICAgICAnV2ViS2l0OjpSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXInLAorICAgICAgICAnV2ViS2l0OjpSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50
aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllcicsCiAgICAgICAg
ICdXZWJLaXQ6OlJUQ0VuY29kZXJJZGVudGlmaWVyJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDUwMzc5ZjJm
ZmE4MzM3NGMxNGQxN2Q3YmM5ZWMzMDYwNjdlMTM3NjIuLjA5MTdmMDFiZTFjOWY4Y2FhMmFiZjdm
MGY4OTBmODk1YTNmMmVmODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNDIsNiArNDIsOCBAQCBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUmVzb3VyY2UuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3Vy
Y2VMb2FkZXIuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
LmNwcAorR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcAorR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlVGV4dFRyYWNrUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJh
Y2tQcm94eS5jcHAKIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyLmNwcApAQCAtNTcwLDYgKzU3Miw3IEBAIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL0F1ZGlv
VHJhY2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblBy
b3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLmNwcAogV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNLmNwcApAQCAtNTgyLDYgKzU4NSw3IEBAIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIEBuby11bmlmeQogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNwcAorV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlh
L1RleHRUcmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9WaWRlb1Ry
YWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1dlYk1lZGlhU3RyYXRl
Z3kuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBlMzM4NDdhZTE2YWNjOTlhNzM5NDM0NzQ0ZDhhM2RmNmMyOGNhYmZjLi5lYjc2YjBl
MjdmZGNiYzAwYjBhODFkMWY5M2U5ZGFiZjU4MjZmZDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQyMSw2ICs0MjEsOSBAQAogCQkx
RDRENzM3NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNz
YWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFENEQ3Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
ck1lc3NhZ2VzUmVwbGllcy5oICovOyB9OwogCQkxREIwMTk0MzIxMUNGMDAyMDA5RkIzRTggLyog
V0tTaGFyZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFyZVNoZWV0LmggKi87IH07CiAJ
CTFEQjAxOTQ0MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJCQjA2MTIxMUNDM0NCMDA1MDJF
Q0MgLyogV0tTaGFyZVNoZWV0Lm1tICovOyB9OworCQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2MjI1NjEyMkYxMDBGRjdC
NkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJ
CTFERDJBNjZFMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyog
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY3MjI1NjIzMjRGMDBGRjdC
NkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CiAJCTFGMzM1QkMwMTg1Qjg0RjAwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVs
ZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFG
MzM1QkJGMTg1Qjg0RDgwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjYw
NEJBQTE4ODlGQkI4MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY2MDRC
QTcxODg5RkE3NDAwRUUwMzk1IC8qIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwu
aCAqLzsgfTsKIAkJMUY3NTA2QjExODU5MTYzNzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bkZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
RjAxODE2OTE4NThEQzE1MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjgxNCw2ICsy
ODE3LDI4IEBACiAJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291
cmNlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAg
LyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxREJCQjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tTaGFyZVNoZWV0Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzNjI1NURFNjc1MDBGRjdCNkYgLyogTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5jcHA7IHBhdGggPSAvVm9sdW1lcy9EYXRhL3dlYmtpdC9PcGVuU291cmNlL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNw
cDsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJMUREMkE2MzcyNTVERTY3NTAwRkY3
QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2
MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2M0UyNTVFM0YxRjAwRkY3
QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRjI1
NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQ2MjU1RjMy
QjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFERDJBNjRBMjU2MEY1NEMwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkxREQyQTY2MTI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2NjI1NjFFRDA0MDBG
RjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFERDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2
RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVw
bGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OworCQkxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
UmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZGMjU2MjJG
MTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFERDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktp
dDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyog
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFE
RDJBNjczMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2Fn
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmg7
IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxREUwNzZE
OTI0NjBDQ0JEMDBCMjExRTggLyogV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzQ29jb2EubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURFMEQwOTUyMTFDQzIxMzAwNDM5QjVG
IC8qIFdLU2hhcmVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1No
YXJlU2hlZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURFMkRGQUMyM0E5NTlG
ODAwM0UwMTNBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC01NjMzLDYgKzU2NTgsOCBAQAogCQkJCTA3OTIzMTMxMjM5QjNCMEMwMDk1OThF
MiAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwICovLAogCQkJCTA3OTIzMTMyMjM5QjNC
MEMwMDk1OThFMiAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkwN0IxRDA0
QjIzRDM4RkNFMDAzOTlBNkUgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmlu
ICovLAorCQkJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUuY3BwICovLAorCQkJCTFERDJBNjM3MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQk5QjVCRUMyOTI0MDEwMTU4MDA3MEM2RUYgLyogUmVt
b3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcCAqLywKIAkJCQk5QjVCRUMyODI0MDEwMTU4MDA3
MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmggKi8sCiAJCQkJOUI1QkVDMkUy
NDAxMDE4QzAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5tZXNzYWdlcy5p
biAqLywKQEAgLTU2NzcsNiArNTcwNCwxMCBAQAogCQkJCTA3QjNCNDZGMjNBQjJDQjMwMEJBNUIx
MiAvKiBSZW1vdGVNZWRpYVBsYXllclN0YXRlLmggKi8sCiAJCQkJMUQzMkY4OUQyM0E4NEM1QjAw
QjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJMUQzMkY4OUIy
M0E4NEJBNjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5oICovLAorCQkJCTFE
RDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAq
LywKKwkJCQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5jcHAgKi8sCisJCQkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGUuaCAqLywKKwkJCQkxREQyQTY2RjI1NjIyRjExMDBGRjdCNkYgLyogU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLywKIAkJCQkwN0UxOUYwODIzRDUz
M0I5MDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDdFMTlG
MDkyM0Q1MzNCQTAwOTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkx
REZERDBFMjIzRjYxMEYwMDBFOUI0OTAgLyogVmlkZW9MYXllclJlbW90ZS5oICovLApAQCAtNTc0
MSw2ICs1NzcyLDEzIEBACiAJCQkJMURBNDA4OUUyM0E4Mjc3ODAwNThDOTUwIC8qIFJlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcCAqLywKIAkJCQkxREE0MDg5NDIzQTgwQTNFMDA1OEM5NTAg
LyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCAqLywKIAkJCQkxRDMyRjhBNjIzQTg2MDE5
MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMuaW4gKi8sCisJ
CQkJMUREMkE2M0YyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3Bw
ICovLAorCQkJCTFERDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVBy
b3h5LmggKi8sCisJCQkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291
cmNlUHJveHkubWVzc2FnZXMuaW4gKi8sCisJCQkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCAqLywKKwkJCQkxREQyQTY0MzI1NUUzRjNE
MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwICovLAorCQkJCTFERDJBNjQy
MjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oICovLAorCQkJCTFE
RDJBNjY2MjU2MUVEMDQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdl
cy5pbiAqLywKIAkJCQkwN0UxOUYwNzIzRDREQzg4MDA5NEZGQjQgLyogUmVtb3RlVGV4dFRyYWNr
UHJveHkuY3BwICovLAogCQkJCTA3RTE5RjA2MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0
VHJhY2tQcm94eS5oICovLAogCQkJCTA3MUJDNTg0MjNDQzJDMDkwMDY4MEQ3QyAvKiBSZW1vdGVW
aWRlb1RyYWNrUHJveHkuY3BwICovLApAQCAtMTAzNDYsMTAgKzEwMzg0LDE2IEBACiAJCQkJMUQ0
RDczNkIyM0E5REY1NTAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxRDRENzM2QzIzQTlERjYwMDA3MTdBMjUgLyogUmVtb3Rl
TWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovLAogCQkJCTFENEQ3Mzc1MjNBOUVCNjgw
MDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICov
LAorCQkJCTFERDJBNjYyMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2MDI1NjEyMkYxMDBGRjdCNkYgLyog
UmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NjEyNTYxMjJG
MTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywK
IAkJCQkxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQzEzMzg0MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1v
dGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggKi8sCiAJCQkJMEY1OTQ3QTUxODdCNTE3NjAwNDM3
ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
IAkJCQkwRjU5NDdBNjE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NjkyNTYy
MDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJ
CQkxREQyQTY2QTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNz
YWdlc1JlcGxpZXMuaCAqLywKIAkJCQlBNTVCQTgyMTFCQTI1QkI4MDA3Q0QzM0QgLyogUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUE1NUJBODIyMUJB
MjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggKi8sCiAJ
CQkJMUJCQkU0OUUxOUI2NkM1MzAwNkI3RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKQEAgLTEwMzU3LDYgKzEwNDAxLDkgQEAKIAkJCQlFMThFNjkxNDE2
OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMkRF
Njk0M0IxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTJERTY5NDNDMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFy
dE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY3MjI1NjIz
MjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCisJCQkJMUREMkE2NzMyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJOTNENkI3
ODEyNTRDQ0FCQzAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKIAkJCQk5M0Q2Qjc4MDI1NENDQUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2du
aXRpb25TZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJCTkzRDZCNzdGMjU0Q0NBQkIwMDU4REQzQSAv
KiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTMxNDAs
OCArMTMxODcsMTAgQEAKIAkJCQkwNzAxNzg5RTIzQkU5Q0ZDMDA1RjBGQUEgLyogUmVtb3RlTWVk
aWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MUJDNThGMjND
RTFFQUEwMDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFENEQ3MzcwMjNBOUU1NDcwMDcxN0EyNSAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUMxMzM4NTE4NTkwQzQ2MDBGM0VD
MDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY1OTQ3QTcxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjZFMjU2
MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTVCQTgyNjFCQTI1Q0ZEMDA3Q0QzM0QgLyogUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUJCQkU0QTAxOUI2NkM1MzAwNkI3RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxOEU2OTE3MTY5QjY2N0IwMDlCNjY3MCAv
KiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MTMxNTIsNiArMTMyMDEsNyBAQAogCQkJCUExQURBRkI2MjM2OEU2QTgwMDlDQjc3NiAvKiBTaGFy
ZWRNZW1vcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc1QjFCQjkyM0NFOUMwQjAwMjA2MzlB
IC8qIFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREU2
OTQzRDE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQyQTY3NDI1NjIzMkExMDBGRjdC
NkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5M0Q2Qjc4MjI1NENDQ0Y0MDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRp
b25TZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEzMzRERUQx
NkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzNjhFRURFMjMwM0E5MDIwMEJEQjExQSAvKiBTdG9yYWdlTWFuYWdl
clNldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmNwcAppbmRleCBlMDlhZjBkYzMyYmIxYmJhNWViZDg2ZTRkYzA2NzBhMDJmZjdjZDli
Li4zNzA2MGIyN2MzYjQ4N2Y0NmRhYTI4NzE2NWZiY2FjMjZjNDYwZWE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuY3BwCkBAIC03MSw2ICs3MSwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
TGVnYWN5Q0RNLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVk
ZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogZXh0ZXJuIFdURkxvZ0NoYW5uZWwg
TG9nTWVkaWE7CkBAIC0xNDgsNyArMTUyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnByZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBNZWRpYVBsYXllcjoKICAg
ICB9LCBtX2lkKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUm
IGNvbnRlbnRUeXBlLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkKK3ZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29u
dGVudFR5cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQogewogICAgIE9wdGlvbmFsPFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKICAgICBpZiAodXJs
LmlzTG9jYWxGaWxlKCkpIHsKQEAgLTYyNCwxNSArNjI4LDIxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpyZW1vdGVWaWRlb1RyYWNrQ29uZmlndXJhdGlvbkNoYW5nZWQoVHJhY2tQ
cml2YXRlCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKIHsKLSAgICBjYWxsT25NYWluVGhyZWFk
KFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10gewotICAgICAgICBpZiAoIXdl
YWtUaGlzKQotICAgICAgICAgICAgcmV0dXJuOworICAgIGlmIChtX3JlbW90ZUVuZ2luZUlkZW50
aWZpZXIgPT0gTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyOjpBVkZvdW5k
YXRpb25NU0UpIHsKKyAgICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdl
czo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TG9hZE1lZGlhU291cmNlKHVybCwgaWRlbnRpZmll
ciksIG1faWQpOworICAgICAgICBtX21lZGlhU291cmNlUHJpdmF0ZSA9IE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6Y3JlYXRlKG1fbWFuYWdlci5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLCBpZGVu
dGlmaWVyLCBtX21hbmFnZXIudHlwZUNhY2hlKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciksICp0
aGlzLCBjbGllbnQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSB7CisgICAgICAgICAgICBpZiAoIXdl
YWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBtX2NhY2hlZFN0YXRl
Lm5ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yOwot
ICAgICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwotICAgIH0pOworICAgICAg
ICAgICAgbV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0
YXRlOjpGb3JtYXRFcnJvcjsKKyAgICAgICAgICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFu
Z2VkKCk7CisgICAgICAgIH0pOworICAgIH0KIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuaAppbmRleCBmMzYzNzI1MDllYTllNGY4ZTFhN2Q4ZjdmNTI3NjNjMzRmMTFlNGEwLi5m
ZGIwMWEyOTVhM2M2N2EwNzY5NzcxYmU2MWIxMzAzZTdlZDA4N2RkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLmgKQEAgLTQzLDYgKzQzLDEwIEBACiAjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQor
I2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXVEYgewogY2xhc3MgTWFjaFNlbmRSaWdodDsKIH0KQEAgLTg4LDYgKzkyLDggQEAgcHVibGlj
OgogICAgIElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFu
YWdlci5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsgfQogICAgIFdlYkNvcmU6
Ok1lZGlhUGxheWVyKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQogCisgICAg
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fY2FjaGVkU3RhdGUucmVhZHlTdGF0ZTsgfQorCiAgICAgdm9pZCBuZXR3b3Jr
U3RhdGVDaGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCByZWFkeVN0
YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgdm9sdW1lQ2hh
bmdlZChkb3VibGUpOwpAQCAtMTU0LDYgKzE2MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRS
YXdDb29raWVzKGNvbnN0IFVSTCYsIFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjpHZXRSYXdD
b29raWVzQ2FsbGJhY2smJikgY29uc3Q7CiAjZW5kaWYKIAorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJu
IGxvZ0lkZW50aWZpZXIoKTsgfQorICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIo
KSB7IHJldHVybiBsb2dnZXIoKTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAKICNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKQEAgLTE3MCw3ICsxODEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJl
cGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpQ
cmVsb2FkLCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmUpIGZpbmFsOwogCiAjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgV2ViQ29y
ZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CisgICAgdm9pZCBsb2FkKGNvbnN0
IFVSTCYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOwogI2VuZGlm
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TWVkaWFT
dHJlYW1Qcml2YXRlJikgZmluYWw7CkBAIC0yNTAsNyArMjYxLDYgQEAgcHJpdmF0ZToKICAgICBk
b3VibGUgbWluRmFzdFJldmVyc2VSYXRlKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlOyB9Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5
ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVk
U3RhdGUucmVhZHlTdGF0ZTsgfQogCiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZVNlZWthYmxl
KCkgY29uc3QgZmluYWw7CiAgICAgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29u
c3QgZmluYWw7CkBAIC0zODQsNiArMzk0LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbW90
ZUF1ZGlvU291cmNlUHJvdmlkZXI+IG1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKICNlbmRpZgogCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlPiBtX21lZGlhU291cmNlUHJpdmF0ZTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxSZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNv
dXJjZT4+IG1fbWVkaWFSZXNvdXJjZXM7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJ
ZGVudGlmaWVyLCBSZWY8QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU+PiBtX2F1ZGlvVHJhY2tzOwog
ICAgIEhhc2hNYXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPFZpZGVvVHJhY2tQ
cml2YXRlUmVtb3RlPj4gbV92aWRlb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mZmFlMTcxOTRjOWM1ZWFmMWQwOWI0YjExNWQyODdkOTk4ZTYzMGUzCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5o
IgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisj
aW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5o
IgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUg
IlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVs
IExvZ01lZGlhOworI2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKKworUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3ND
b25uZWN0aW9uLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3Rl
TWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCog
Y2xpZW50KQoreworICAgIGF1dG8gbWVkaWFTb3VyY2VQcml2YXRlID0gYWRvcHRSZWYoKm5ldyBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIGlkZW50aWZpZXIs
IG1pbWVUeXBlQ2FjaGUsIHBsYXllclByaXZhdGUsIGNsaWVudCkpOworICAgIGNsaWVudC0+c2V0
UHJpdmF0ZUFuZE9wZW4obWVkaWFTb3VyY2VQcml2YXRlLmNvcHlSZWYoKSk7CisgICAgcmV0dXJu
IG1lZGlhU291cmNlUHJpdmF0ZTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25u
ZWN0aW9uLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVk
aWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xp
ZW50KQorICAgIDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikK
KyAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9taW1lVHlwZUNhY2hlKG1p
bWVUeXBlQ2FjaGUpCisgICAgLCBtX3BsYXllclByaXZhdGUobWFrZVdlYWtQdHIocGxheWVyUHJp
dmF0ZSkpCisgICAgLCBtX2NsaWVudChjbGllbnQpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisgICAgLCBtX2xvZ2dlcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nZ2VyKCkpCisg
ICAgLCBtX2xvZ0lkZW50aWZpZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ0lkZW50
aWZpZXIoKSkKKyNlbmRpZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgbV9jbGllbnQtPnNldExvZ0lkZW50aWZpZXIobV9s
b2dJZGVudGlmaWVyKTsKKyNlbmRpZgorfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6On5N
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklF
Uik7CisKKyAgICBmb3IgKGF1dG8gaXQgPSBtX3NvdXJjZUJ1ZmZlcnMuYmVnaW4oKSwgZW5kID0g
bV9zb3VyY2VCdWZmZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5j
bGVhck1lZGlhU291cmNlKCk7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBl
JiBjb250ZW50VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQcml2YXRlKQor
eworICAgIERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCBjb250ZW50VHlwZSk7CisKKyAgICBNZWRp
YUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy5pc01l
ZGlhU291cmNlID0gdHJ1ZTsKKyAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKKyAg
ICBpZiAobV9taW1lVHlwZUNhY2hlLnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9
PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKKyAgICAgICAgcmV0
dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisgICAgQWRkU3RhdHVzIHN0YXR1czsKKyAg
ICBPcHRpb25hbDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyOworICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9u
KCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNvdXJjZUJ1
ZmZlcihjb250ZW50VHlwZSksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRT
b3VyY2VCdWZmZXI6OlJlcGx5KHN0YXR1cywgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciks
IG1faWRlbnRpZmllcikpCisgICAgICAgIHN0YXR1cyA9IEFkZFN0YXR1czo6Tm90U3VwcG9ydGVk
OworCisgICAgaWYgKHN0YXR1cyA9PSBBZGRTdGF0dXM6Ok9rKSB7CisgICAgICAgIEFTU0VSVChy
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmhhc1ZhbHVlKCkpOworICAgICAgICBhdXRvIG5l
d1NvdXJjZUJ1ZmZlciA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNyZWF0ZShtX2dwdVBy
b2Nlc3NDb25uZWN0aW9uLCAqcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgKnRoaXMpOwor
ICAgICAgICBvdXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKKyAgICAgICAg
bV9zb3VyY2VCdWZmZXJzLmFwcGVuZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOworICAgIH0K
KworICAgIHJldHVybiBzdGF0dXM7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
OjpkdXJhdGlvbkNoYW5nZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZTo6bWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKQoreworfQorCit2b2lkIE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZTo6dW5tYXJrRW5kT2ZTdHJlYW0oKQoreworfQorCitNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUoKSBj
b25zdAoreworICAgIHJldHVybiBtX3BsYXllclByaXZhdGUgPyBtX3BsYXllclByaXZhdGUtPnJl
YWR5U3RhdGUoKSA6IE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwor
dm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGUpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3YWl0
Rm9yU2Vla0NvbXBsZXRlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
OjpzZWVrQ29tcGxldGVkKCkKK3sKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RG
TG9nQ2hhbm5lbCYgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWM5NDQyNWI0OGIzOTZl
OTY3YzRlODIxNGRmYjZlNTM1YTU1MGJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaApAQCAtMCww
ICsxLDk3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29u
bmVjdGlvbi5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5oIgor
I2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvQ29udGVudFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhl
bHBlci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU7
CitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOworCitjbGFzcyBNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZh
dGUKKyAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgor
I2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGU+IGNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRp
ZmllciwgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAg
dmlydHVhbCB+TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKCk7CisKKyAgICBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZS5nZXQo
KTsgfQorCisgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlIG92ZXJyaWRlcworICAgIEFkZFN0YXR1
cyBhZGRTb3VyY2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBSZWZQdHI8V2Vi
Q29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZT4mKSBmaW5hbDsKKyAgICB2b2lkIGR1cmF0aW9uQ2hh
bmdlZCgpIGZpbmFsOworICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVz
KSBmaW5hbDsKKyAgICB2b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgZmluYWw7CisgICAgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmlu
YWw7CisgICAgdm9pZCB3YWl0Rm9yU2Vla0NvbXBsZXRlZCgpIGZpbmFsOworICAgIHZvaWQgc2Vl
a0NvbXBsZXRlZCgpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29u
c3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsg
fQorICAgIGNvbnN0IHZvaWQqIG5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1
cm4gY2hpbGRMb2dJZGVudGlmaWVyKG1fbG9nSWRlbnRpZmllciwgKyttX25leHRTb3VyY2VCdWZm
ZXJJRCk7IH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVt
b3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisKKyAgICBHUFVQcm9j
ZXNzQ29ubmVjdGlvbiYgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVNZWRpYVNv
dXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5
cGVDYWNoZSYgbV9taW1lVHlwZUNhY2hlOworICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlPiBtX3BsYXllclByaXZhdGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudD4gbV9jbGllbnQ7CisgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlPj4gbV9zb3VyY2VCdWZmZXJzOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVu
dGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RG
TG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworCisgICAgUmVmPGNvbnN0IExv
Z2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworICAgIHVp
bnQ2NF90IG1fbmV4dFNvdXJjZUJ1ZmZlcklEIHsgMCB9OworI2VuZGlmCit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKaW5kZXggYzYyYzQ2NGZkZmRjZDhj
MzU3NTZiMGUzOGRhZDBmODkzOTA1ODg2Ny4uZTY0NTA4NGJjZDYwYzQ1Y2U3NmYzYTAzY2ZkM2Y3
ODNmMTY5MzQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2lu
Y2x1ZGUgPFdlYkNvcmUvQ29udGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3Vy
YXRpb24uaAppbmRleCA2NTMyZDcyZTdjZTRiODUzZjJkM2I5MzQ1NWUxOTI4MWM0MTlmYTQzLi5h
ODY1ODBiZjE4NjMxYmIzYmM4MjZiNTNhZjFmMmQ1NDg2ZTQ2MjU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RN
SW5zdGFuY2VDb25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdlYkNv
cmUvQ29udGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAppbmRleCAxZDZiM2VlM2U5
NWU4MGFlODYwZTk2NmI4YzkyNzNkMDg2NTNhOGFjLi5hNDE2OWQ1YjFhNTY4OGNiZDY5YzU5ZDhi
OGE5ZmMyZGFkNWIyY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKQEAgLTY2LDYgKzY2
LDggQEAgcHVibGljOgogCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyIGZpbmRS
ZW1vdGVQbGF5ZXJJZChjb25zdCBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Uq
KTsKIAorICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNv
cmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CisKIHByaXZhdGU6
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZT4gY3JlYXRlUmVtb3RlTWVkaWFQbGF5ZXIoV2ViQ29yZTo6TWVkaWFQbGF5ZXIqLCBXZWJDb3Jl
OjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwogCkBAIC04Myw4ICs4
NSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBXYWxsVGlt
ZSBtb2RpZmllZFNpbmNlKTsKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBIYXNoU2V0PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+Jik7CiAK
LSAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwotCiAgICAgSGFzaE1hcDxX
ZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIsIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlPj4gbV9wbGF5ZXJzOwogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKICAgICBtdXRh
YmxlIEdQVVByb2Nlc3NDb25uZWN0aW9uKiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uIHsgbnVsbHB0
ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNjU5NDYx
MDA2NzA1MTcyZTE2ODA2ZmUxNzM1NTUzZDEzOTRiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVy
LmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3Rm
L09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gUmVtb3Rl
TWVkaWFTb3VyY2VJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllclR5
cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWExMTY1ZDBkYTQyZWY2YzhiNjMzNzM3NTBkOGQ4
M2NmMDEyMzA4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE1OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisj
aW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRp
YTsKKyNlbmRpZgorfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK1JlZjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0
aW9uLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRl
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUo
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIG1lZGlh
U291cmNlUHJpdmF0ZSkpOworfQorCitTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVj
dGlvbiwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0
ZSkKKyAgICA6IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisg
ICAgLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIocmVtb3RlU291cmNlQnVmZmVySWRl
bnRpZmllcikKKyAgICAsIG1fbWVkaWFTb3VyY2VQcml2YXRlKG1ha2VXZWFrUHRyKG1lZGlhU291
cmNlUHJpdmF0ZSkpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlciht
X21lZGlhU291cmNlUHJpdmF0ZS0+bG9nZ2VyKCkpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIobV9t
ZWRpYVNvdXJjZVByaXZhdGUtPm5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkpCisjZW5k
aWYKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb24ubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7Cit9CisKK1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6On5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCkKK3sKKyAg
ICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIEFTU0VSVCghbV9jbGllbnQpOworCisg
ICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCkp
OworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldENsaWVudChTb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50KiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBjbGllbnQ7Cit9
CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25l
ZCBjaGFyPiYmIGRhdGEpCit7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OkFwcGVuZChJUEM6OkRh
dGFSZWZlcmVuY2UoZGF0YSkpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpOworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmFib3J0KCkKK3sKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZXNldFBhcnNlclN0YXRlKCkKK3sKK30KKwordm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlhU291cmNlKCkKK3sK
K30KKworTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6
cmVhZHlTdGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8g
bV9tZWRpYVNvdXJjZVByaXZhdGUtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBsYXll
cjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZTo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkKK3sKK30KKwor
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0
cmFja0lEKQoreworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVldWVT
YW1wbGUoUmVmPE1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQorewor
fQorCitib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmlzUmVhZHlGb3JNb3JlU2FtcGxl
cyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUoYm9vbCkKK3sKK30KKwor
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JN
b3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29sIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRp
bWUoY29uc3QgQXRvbVN0cmluZyYpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRh
dGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5pbXVtVXBjb21pbmdQcmVzZW50
YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGU6OmNhblN3aXRjaFRvVHlwZShjb25zdCBDb250ZW50VHlwZSYpCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJj
ZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpB
cHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAg
bV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQp
OworfQorCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9n
TWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5YTAxYjA2MjVlM2I3YzdmMDExODRhODNjMzZlNTQ5
MTIyZjA5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDExMiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFC
TEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNp
bmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvTWVkaWFTYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclBy
aXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4K
KyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5o
PgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25h
bWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBE
YXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlOworCitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIGZpbmFs
CisgICAgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4K
KyAgICAsIHB1YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlCisgICAgLCBwcml2YXRl
IElQQzo6TWVzc2FnZVJlY2VpdmVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBw
cml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUmKTsKKyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCk7CisKKyAgICB2
b2lkIGNsZWFyTWVkaWFTb3VyY2UoKSB7IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gbnVsbHB0cjsg
fQorCitwcml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24mLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUmKTsKKworICAgIC8vIFNvdXJjZUJ1ZmZlclByaXZhdGUgb3ZlcnJpZGVz
CisgICAgdm9pZCBzZXRDbGllbnQoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCop
IGZpbmFsOworICAgIHZvaWQgYXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKSBmaW5hbDsK
KyAgICB2b2lkIGFib3J0KCkgZmluYWw7CisgICAgdm9pZCByZXNldFBhcnNlclN0YXRlKCkgZmlu
YWw7CisgICAgdm9pZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCkgZmluYWw7CisgICAgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmlu
YWw7CisgICAgdm9pZCBmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAg
ICB2b2lkIGVucXVldWVTYW1wbGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBjb25zdCBB
dG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxl
cyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNldEFjdGl2ZShi
b29sKSBmaW5hbDsKKyAgICB2b2lkIG5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVTYW1wbGVz
KGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgY2FuU2V0TWluaW11
bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QgZmluYWw7
CisgICAgdm9pZCBzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21T
dHJpbmcmLCBjb25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyTWluaW11bVVw
Y29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgZmluYWw7CisgICAgYm9v
bCBjYW5Td2l0Y2hUb1R5cGUoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmKSBmaW5hbDsKKwor
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVy
JikgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2Vi
Q29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKworICAgIEdQ
VVByb2Nlc3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOworICAg
IFdlYWtQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291cmNlUHJpdmF0ZTsK
KyAgICBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBtX2NsaWVudCB7IG51bGxw
dHIgfTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9n
Z2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCBj
aGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9n
Q2hhbm5lbCgpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IExvZ2dlciYgc291cmNlQnVmZmVyTG9n
Z2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2
b2lkKiBzb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRp
ZmllcigpOyB9CisKKyAgICBSZWY8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2
b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFhMTk4MjExY2U5OWFiYWQ1YjhlZTA3ZmQ0ZTE3N2JkZmE5NWE0MGMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2Vz
IC0+IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CisgICAgU291cmNl
QnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414276</attachid>
            <date>2020-11-16 14:04:39 -0800</date>
            <delta_ts>2020-11-16 14:17:58 -0800</delta_ts>
            <desc>WIP patch: fix build failures on WPE and GTK ports</desc>
            <filename>bug-218912-20201116140438.patch</filename>
            <type>text/plain</type>
            <size>129944</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGJlYjAwNjBiYWVhNDM5
NGEwNTA0Y2NlZDI2N2U2MjYwMGEzOTZiNzYuLmYyNzc3MTUyMjRiZmM3OTRlMzU3ZDc1NzEwZTI1
ZjE3ZWIzMDZjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTIzMyw2ICsxMjMzLDggQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L1JlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUmVu
ZGVyaW5nTW9kZS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAorICAgIHBs
YXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuaAorICAgIHBsYXRmb3JtL2dyYXBo
aWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1N0
cmluZ1RydW5jYXRvci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvVGFiU2l6ZS5oCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCmluZGV4IDc4YzM5M2NmYWE3ODY5NTIzYzQwMTg3
NTllZTcxZTIxZTEzYmQzZmEuLmZjZmQwYzlkOGM4YjViYmYwMDQwYjFhOTNlYzZiMTlhM2Q3MzI0
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFT
b3VyY2UuY3BwCkBAIC0xMDgzLDE1ICsxMDgzLDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxTb3VyY2VC
dWZmZXJQcml2YXRlPj4gTWVkaWFTb3VyY2U6OmNyZWF0ZVNvdXJjZUJ1ZmZlclByaXZhdGUoY29u
CiAKICAgICBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZTsK
ICAgICBzd2l0Y2ggKG1fcHJpdmF0ZS0+YWRkU291cmNlQnVmZmVyKHR5cGUsIHNvdXJjZUJ1ZmZl
clByaXZhdGUpKSB7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6Ok9rOgorICAgIGNhc2Ug
TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6Ok9rOgogICAgICAgICByZXR1cm4gc291cmNl
QnVmZmVyUHJpdmF0ZS5yZWxlYXNlTm9uTnVsbCgpOwotICAgIGNhc2UgTWVkaWFTb3VyY2VQcml2
YXRlOjpOb3RTdXBwb3J0ZWQ6CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
czo6Tm90U3VwcG9ydGVkOgogICAgICAgICAvLyAyLjIgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9o
dG1sLW1lZGlhL3Jhdy1maWxlL2RlZmF1bHQvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1s
I3dpZGwtTWVkaWFTb3VyY2UtYWRkU291cmNlQnVmZmVyLVNvdXJjZUJ1ZmZlci1ET01TdHJpbmct
dHlwZQogICAgICAgICAvLyBTdGVwIDI6IElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgLi4u
IHRoYXQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSB0eXBlcwogICAgICAgICAvLyBzcGVjaWZp
ZWQgZm9yIHRoZSBvdGhlciBTb3VyY2VCdWZmZXIgb2JqZWN0cyBpbiBzb3VyY2VCdWZmZXJzLCB0
aGVuIHRocm93CiAgICAgICAgIC8vIGEgTm90U3VwcG9ydGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBh
Ym9ydCB0aGVzZSBzdGVwcy4KICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRl
ZEVycm9yIH07Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OlJlYWNoZWRJZExpbWl0Ogor
ICAgIGNhc2UgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6OlJlYWNoZWRJZExpbWl0Ogog
ICAgICAgICAvLyAyLjIgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxl
L2RlZmF1bHQvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1sI3dpZGwtTWVkaWFTb3VyY2Ut
YWRkU291cmNlQnVmZmVyLVNvdXJjZUJ1ZmZlci1ET01TdHJpbmctdHlwZQogICAgICAgICAvLyBT
dGVwIDM6IElmIHRoZSB1c2VyIGFnZW50IGNhbid0IGhhbmRsZSBhbnkgbW9yZSBTb3VyY2VCdWZm
ZXIgb2JqZWN0cyB0aGVuIHRocm93CiAgICAgICAgIC8vIGEgUXVvdGFFeGNlZWRlZEVycm9yIGV4
Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggNDI5MjY4ZDc2MTc1ZTkz
MjAwZWMxZjdmMWQzNGVkMDE1NzE1MTljMS4uMGNlMjFkZTE1ZWVjYTJhMDVhMzRiMmRmM2NkZGI5
ZTkwMzVhMzIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmNwcApAQCAtNjMyLDcgKzYzMiw3IEBAIHZvaWQgU291cmNlQnVmZmVy
OjphcHBlbmRCdWZmZXJUaW1lckZpcmVkKCkKIAogICAgIC8vIDEuIExvb3AgVG9wOiBJZiB0aGUg
aW5wdXQgYnVmZmVyIGlzIGVtcHR5LCB0aGVuIGp1bXAgdG8gdGhlIG5lZWQgbW9yZSBkYXRhIHN0
ZXAgYmVsb3cuCiAgICAgaWYgKCFtX3BlbmRpbmdBcHBlbmREYXRhLnNpemUoKSkgewotICAgICAg
ICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kU3VjY2VlZGVkKTsKKyAg
ICAgICAgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdDo6QXBw
ZW5kU3VjY2VlZGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjU4LDcgKzY1OCw3
IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUo
QXBwZW5kUmVzdWx0IHJlc3VsdCkKIAogICAgIC8vIDIuIElmIHRoZSBpbnB1dCBidWZmZXIgY29u
dGFpbnMgYnl0ZXMgdGhhdCB2aW9sYXRlIHRoZSBTb3VyY2VCdWZmZXIgYnl0ZSBzdHJlYW0gZm9y
bWF0IHNwZWNpZmljYXRpb24sCiAgICAgLy8gdGhlbiBydW4gdGhlIGFwcGVuZCBlcnJvciBhbGdv
cml0aG0gd2l0aCB0aGUgZGVjb2RlIGVycm9yIHBhcmFtZXRlciBzZXQgdG8gdHJ1ZSBhbmQgYWJv
cnQgdGhpcyBhbGdvcml0aG0uCi0gICAgaWYgKHJlc3VsdCA9PSBQYXJzaW5nRmFpbGVkKSB7Cisg
ICAgaWYgKHJlc3VsdCA9PSBBcHBlbmRSZXN1bHQ6OlBhcnNpbmdGYWlsZWQpIHsKICAgICAgICAg
RVJST1JfTE9HKExPR0lERU5USUZJRVIsICJQYXJzaW5nRmFpbGVkIik7CiAgICAgICAgIGFwcGVu
ZEVycm9yKHRydWUpOwogICAgICAgICByZXR1cm47CkBAIC02NzEsNyArNjcxLDcgQEAgdm9pZCBT
b3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1
bHQgcmVzdWx0KQogCiAgICAgLy8gTk9URTogcmV0dXJuIHRvIFNlY3Rpb24gMy41LjUKICAgICAv
LyAyLklmIHRoZSBzZWdtZW50IHBhcnNlciBsb29wIGFsZ29yaXRobSBpbiB0aGUgcHJldmlvdXMg
c3RlcCB3YXMgYWJvcnRlZCwgdGhlbiBhYm9ydCB0aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVz
dWx0ICE9IEFwcGVuZFN1Y2NlZWRlZCkKKyAgICBpZiAocmVzdWx0ICE9IEFwcGVuZFJlc3VsdDo6
QXBwZW5kU3VjY2VlZGVkKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyAzLiBTZXQgdGhlIHVw
ZGF0aW5nIGF0dHJpYnV0ZSB0byBmYWxzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhMDQxNDhjYThmMjhmMWQyOWMwYzI2YjJl
NWVkMTY0MjAzYmMzNmIyLi45ZTc2MjM1YmQ4NzU5M2U0NGU2MzIwMWQ5Y2JhNWZlMDliODM5M2Vj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00MjI1LDggKzQyMjUsOCBAQAogCQlDRDVGRjQ5RDIxNjJFNERCMDA0QkQ4NkYgLyog
SVNPUHJvdGVjdGlvblNjaGVtZUluZm9Cb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENEODcxQzYwMUZCNTJCNjUwMEYwQjk2NSAvKiBJU09Qcm90ZWN0
aW9uU2NoZW1lSW5mb0JveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUNENUZGNDlFMjE2MkU0RTgwMDRCRDg2RiAvKiBJU09PcmlnaW5hbEZvcm1h
dEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4
NzFDNjcxRkI1MkI2ODAwRjBCOTY1IC8qIElTT09yaWdpbmFsRm9ybWF0Qm94LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q2MkZCOTYxQUYwMThF
NzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmlj
VGFza1F1ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjExODE4
RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovOyB9OwotCQlDRDY0MUVCNDE4
MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjIxODE4RjVFRDAwRUU0QzQxIC8q
IFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLzsgfTsKKwkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQx
IC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJp
dmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVE
MDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENzIwQjRGMjI2OEI1MTMwMDA0N0ZERSAvKiBJ
U09GYWlyUGxheVN0cmVhbWluZ1Bzc2hCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENENzIwQjQ5MjI2ODJDN0YwMDA0N0ZERSAvKiBJU09GYWlyUGxh
eVN0cmVhbWluZ1Bzc2hCb3guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDRDdEMzM0NDFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25m
b3JtZXJDVi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0Q3RDMzNDIxQzdBMTIzRjAwMDQxMjkzIC8qIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDdEMzM0ODFD
N0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEN0QzMzQ2MUM3QTE2QkYwMDA0MTI5MyAvKiBD
b3JlVmlkZW9Tb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC00MzAzLDcgKzQzMDMsNyBAQAogCQlDRENENDFFODFDM0REQjBBMDA5NjVE
OTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRENENDFFNjFDM0REQjA5MDA5NjVEOTkgLyogUGFyc2VkQ29udGVu
dFJhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQ0RDRkFCQkQxOEMwQUY3ODAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJCMThDMEFFMzEwMDZG
ODQ1MCAvKiBIaWdobGlnaHREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQ0RENzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTUx
ODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUNEREMxRTdBMThBOTUyRjMwMDI3QTlENCAvKiBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEREMxRTc5MThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQuaCAqLzsgfTsKKwkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNEREUwMkVEMThCM0VENkQwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVC
MThCM0VENkQwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5tbSAqLzsgfTsK
IAkJQ0RERTAyRjAxOEI1NjUxMzAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVlN0cmVhbVNlc3Npb24u
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERFMDJF
RjE4QjU2NTEyMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSAqLzsgfTsK
IAkJQ0RFM0E4NTQxN0Y1RkNFNjAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREUzQTg1MjE3RjVG
Q0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCAqLzsgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDE0YzM5NzdjYjFmYzhiZTZjODdhMGYy
ZmRlODIyYmQxMzA0MGYyYzYuLmI5Zjc4YjcxYzBkNGYzNThmMzRjNmU4MDUzZmQ1NDg4OWEzZWJk
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTQ1Nyw3
ICsxNDU3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgVVJM
JiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYgY29udGVudFQKICAgICAgICAgICAgIC8vIHdoaWxl
IHByb2Nlc3NpbmcgcmVtYWluZGVyIG9mIGxvYWQgZmFpbHVyZS4KICAgICAgICAgICAgIG1fbWVk
aWFTb3VyY2UgPSBudWxscHRyOwogICAgICAgICAgICAgbWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlh
UGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsKLSAgICAgICAgfSBlbHNlIGlmICgh
bV9wbGF5ZXItPmxvYWQodXJsLCBjb250ZW50VHlwZSwgbV9tZWRpYVNvdXJjZS5nZXQoKSkpIHsK
KyAgICAgICAgfSBlbHNlIGlmICghbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlLmdl
dCgpKSkgewogICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBkZXRhY2ggdGhlIE1lZGlhU291cmNl
IGJlZm9yZSB3ZSBmb3JnZXQgdGhlIHJlZmVyZW5jZSB0byBpdC4KICAgICAgICAgICAgIG1fbWVk
aWFTb3VyY2UtPmRldGFjaEZyb21FbGVtZW50KCp0aGlzKTsKICAgICAgICAgICAgIG1fbWVkaWFT
b3VyY2UgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29u
dGVudFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmgKaW5kZXgg
N2MyNzhhNjhlMzg5YWVlZTYyYzQzMTJjMDNhZWNmNTk4Y2Q0MzM1OC4uZWVmOGI5M2NhOWE5NTI4
MjI0YWVhMjNjNDQ1ZThhNDc1NWMyM2RiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGVudFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50
VHlwZS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHJhdygp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZS5pc0VtcHR5KCk7IH0KIAotICAgIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25z
dDsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdG9KU09OU3RyaW5nKCkgY29uc3Q7CiAKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKaW5kZXggOGIwZDczZThkODI0ZmRiNjljZmYwNjk4YzgyZjg5ZDA5MTg1YTcyYi4u
MTcwNDM4NWRkYzc4OGZhMzg4ZmJlNGJkZWY1ZDEyYjM5ZmZlMWI1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTYsNyArOTYs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgZmluYWwgeyB9CiAj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CisgICAgdm9pZCBsb2FkKGNvbnN0IFVS
TCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsIHsgfQogI2VuZGlmCiAjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgZmlu
YWwgeyB9CkBAIC00NzEsMTMgKzQ3MSwxMyBAQCBib29sIE1lZGlhUGxheWVyOjpsb2FkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cgogfQog
CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLWJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKK2Jvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJM
JiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgQVNT
RVJUKCFtX3JlbG9hZFRpbWVyLmlzQWN0aXZlKCkpOwogICAgIEFTU0VSVChtZWRpYVNvdXJjZSk7
CiAKICAgICBtX21lZGlhU291cmNlID0gbWVkaWFTb3VyY2U7Ci0gICAgbV9jb250ZW50VHlwZSA9
IGNvbnRlbnRUeXBlOworICAgIG1fY29udGVudFR5cGUgPSB7IH07CiAgICAgbV91cmwgPSB1cmw7
CiAgICAgbV9rZXlTeXN0ZW0gPSBlbXB0eVN0cmluZygpOwogICAgIG1fY29udGVudE1JTUVUeXBl
V2FzSW5mZXJyZWRGcm9tRXh0ZW5zaW9uID0gZmFsc2U7CkBAIC01ODYsNyArNTg2LDcgQEAgdm9p
ZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJG
YWN0b3J5KiBjdXJyZW50KQogICAgIGlmIChtX3ByaXZhdGUpIHsKICNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQogICAgICAgICBpZiAobV9tZWRpYVNvdXJjZSkKLSAgICAgICAgICAgIG1fcHJpdmF0
ZS0+bG9hZChtX3VybC5zdHJpbmcoKSwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CisgICAgICAgICAg
ICBtX3ByaXZhdGUtPmxvYWQobV91cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkpOwogICAgICAgICBl
bHNlCiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZDI1MjBhY2JiYmIxYTY5OGNh
M2Q0MDcwNjYyZjFkM2ZkOTY4NzA1OC4uZTIyNWJiYWYyYTIzYzg0NWJkYzZiMzk2YWYzMDJlZGU1
MjJmYmYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCkBAIC0zMzcsNyArMzM3LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBsb2FkKGNvbnN0
IFVSTCYsIGNvbnN0IENvbnRlbnRUeXBlJiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwogI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgYm9vbCBsb2FkKGNvbnN0IFVSTCYsIGNvbnN0IENv
bnRlbnRUeXBlJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAgYm9vbCBsb2FkKGNv
bnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOwogI2VuZGlmCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICBib29sIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oCmluZGV4IGY5YjkyMDYxOTBkNWFlZDA2ZDBkODhjMGM3NDE1Y2UxNjRkYTU4MDIuLmNkOTdj
NjI2OWViYmEyNjdjNzFlNDRhYWQzOGQxZmY0MjdjOWQ2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC00Myw3
ICs0Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBVUkwmIHVybCwg
Y29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmKSB7IGxvYWQodXJsLnN0cmluZygpKTsg
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25z
dCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopID0gMDsK
ICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
TWVkaWFTdHJlYW1Qcml2YXRlJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCBlMTQ3ZjE0ZDhlMTk2NmI4
Mzk3MTg0YmQyYmQ4N2QxNzE3ODI2MjYzLi41ODljNjVmMGI2Y2Y1YzA1MWJjYzM0MTczYjU5NDdl
ODZhMzMzYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVNvdXJjZVByaXZhdGUuaApAQCAtMjcsOCArMjcsOCBAQAogICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCi0jaWZuZGVmIE1lZGlhU291cmNlUHJpdmF0ZV9oCi0jZGVm
aW5lIE1lZGlhU291cmNlUHJpdmF0ZV9oCisKKyNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKIApAQCAtNDksNyArNDksMTEgQEAgcHVibGljOgogICAgIE1lZGlhU291cmNl
UHJpdmF0ZSgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGUoKSA9
IGRlZmF1bHQ7CiAKLSAgICBlbnVtIEFkZFN0YXR1cyB7IE9rLCBOb3RTdXBwb3J0ZWQsIFJlYWNo
ZWRJZExpbWl0IH07CisgICAgZW51bSBjbGFzcyBBZGRTdGF0dXMgOiB1aW50OF90IHsKKyAgICAg
ICAgT2ssCisgICAgICAgIE5vdFN1cHBvcnRlZCwKKyAgICAgICAgUmVhY2hlZElkTGltaXQKKyAg
ICB9OwogICAgIHZpcnR1YWwgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50
VHlwZSYsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZHVyYXRpb25DaGFuZ2VkKCkgPSAwOwogICAgIGVudW0gRW5kT2ZTdHJlYW1TdGF0dXMgeyBF
b3NOb0Vycm9yLCBFb3NOZXR3b3JrRXJyb3IsIEVvc0RlY29kZUVycm9yIH07CkBAIC04OCw3ICs5
MiwxNSBAQCBzdHJ1Y3QgTG9nQXJndW1lbnQ8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpF
bmRPZlN0cmVhbVN0YXR1cz4gewogICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1U
cmFpdHM8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM+IHsKKyAgICB1c2lu
ZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1cywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRT
dGF0dXM6Ok9rLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
czo6Tm90U3VwcG9ydGVkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFk
ZFN0YXR1czo6UmVhY2hlZElkTGltaXQKKyAgICA+OworfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKICNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKaW5kZXggMDA1NjVhOTFm
ZWE5OGE2NDE4YTQ0NjIwY2JjMzY2ZTllOGYxMGFkNS4uNGRmMjk3NGQ3ODJiZWEyNGFhZTY5OGVl
MTViMDY4MTkxNTQxYzA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaApAQCAtNzMsMTEgKzcz
LDI4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgTWVkaWFUaW1lIHNvdXJjZUJ1ZmZlclByaXZh
dGVGYXN0U2Vla1RpbWVGb3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFU
aW1lJiwgY29uc3QgTWVkaWFUaW1lJikgPSAwOwogCi0gICAgZW51bSBBcHBlbmRSZXN1bHQgeyBB
cHBlbmRTdWNjZWVkZWQsIFJlYWRTdHJlYW1GYWlsZWQsIFBhcnNpbmdGYWlsZWQgfTsKKyAgICBl
bnVtIGNsYXNzIEFwcGVuZFJlc3VsdCA6IHVpbnQ4X3QgeworICAgICAgICBBcHBlbmRTdWNjZWVk
ZWQsCisgICAgICAgIFJlYWRTdHJlYW1GYWlsZWQsCisgICAgICAgIFBhcnNpbmdGYWlsZWQKKyAg
ICB9OwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUo
QXBwZW5kUmVzdWx0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVE
aWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkgPSAwOwogfTsKIAotfQorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQ+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQsCisgICAgICAgIFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2Vl
ZGVkLAorICAgICAgICBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQ6OlJlYWRTdHJlYW1GYWlsZWQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZAorICAgID47Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3Bw
CmluZGV4IGFkNGJjOTBlODFiMWMzNjI2ZGE1NWM2NmY1ZTIzMTFjMzQwYWNlOTIuLjVhYjcxMzc1
NDc2YzVmMzA3Y2Q5YzU1M2Q4ZWZmYjBkNWZkZTY0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0xODEsNyArMTgx
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgU3Ry
aW5nJiB1cmwpCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50KikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpsb2FkKGNv
bnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCiB7CiAgICAgc2V0TmV0d29ya1N0
YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCA0
MzhlNDg0YWRlYmM2YmJmMmMyMmM2YWM1NDA5MmRjZmMwY2Q4ODVjLi40N2IyZjhmNzVmYWI0NDY0
Nzg3OTQxMzY3OGY0NmFkMzMzNDcyYTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC0xNTgsNyArMTU4LDcgQEAgcHJvdGVj
dGVkOgogICAgIC8vIE1lZGlhUGxheWVyUHJpdmF0ZVByaXZhdGVJbnRlcmZhY2Ugb3ZlcnJpZGVz
LgogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7CiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGUgeyBz
ZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDMwNjU0ZTI2OGRjNDRlMmUzYTA3ZTEzZGZk
MDkxNWUwNzdlM2RmOTIuLjAwMzgwYjdlMjI5MTViYjY3NTBhZGJhMTU3ZGZiMzA5NDJmZDI2NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xNDgsNiArMTQ4LDcgQEAgcHVibGljOgog
ICAgIGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4mIG1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5n
SGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAgICAgYm9vbCBzaG91bGRDaGVja0hhcmR3YXJlU3Vw
cG9ydCgpIGNvbnN0OwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3QgTG9n
Z2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQogICAg
IGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMiOyB9CiAgICAgY29uc3Qgdm9pZCogbG9n
SWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
dm9pZCo+KG1fbG9nSWRlbnRpZmllcik7IH0KQEAgLTE1NSw2ICsxNTYsNyBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBsb2dJ
ZGVudGlmaWVyKCk7IH0KICAgICBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgeyBy
ZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgogCiAgICAgZW51bSBTZWVrU3RhdGUgewogICAgICAg
ICBTZWVraW5nLApAQCAtMTY1LDcgKzE2Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8g
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYg
dXJsKSBvdmVycmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGI0MDI0YTkxNDhlMWFlMjViM2M5NDI3
ODM4NDY5MmFiMDFhZWE2ZTAuLmNkNjk3NjM5N2RjN2Q1MTMyZDVkOTE0NTQyYThhY2U1ZmEwNzc3
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTI2Niw3ICsyNjYsNyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcm
KQogICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KiBjbGllbnQpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMuaAppbmRleCA4NzgwOTZhZGJkNmUyNWQ0MzE4NmJlZWIwYmFkZjQ2OGY4NmNl
NGM5Li5hNGY0ZDQ0NjlmNTY1ZjM3MTQ1MmZmMGU4OGY0YjJjNzA1NzJiZjM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMuaApAQCAtOTgsNyArOTgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBs
b2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0g
ICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92
ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQqKSBvdmVycmlkZTsKICNlbmRpZgogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUm
KSBvdmVycmlkZTsKICAgICB2b2lkIGNhbmNlbExvYWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5tbQppbmRleCBhYzZjZGUzYzhkNTc5Y2JmMGE5NmIwMDM0NDYxNmE4MmIzYzBl
NzYzLi4wOTRjZWI3MDdiZmQyMDY5NDQ5YzQzYjk4NWJjYjhjZDBhYTQ0YjFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLm1tCkBAIC00MDMsNyArNDAzLDcgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJikKIH0KIAogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoY29uc3QgVVJMJiwg
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICAvLyBUaGlzIG1lZGlhIGVuZ2luZSBv
bmx5IHN1cHBvcnRzIE1lZGlhU3RyZWFtIFVSTHMuCiAgICAgc2NoZWR1bGVEZWZlcnJlZFRhc2so
W3RoaXNdIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakMuaAppbmRleCBlMWU0YWE3ODY5NWYwMDQ4ZjBjZmNjODI0MTZhMjA5NDhmNmRhY2U2
Li5kYzQ2MjAzYmU4ZjRkNDUxMDRmZGNkM2JiZjFiNjFlZjhjNTE5NzYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCkBAIC0yMyw4
ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWZuZGVmIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakNfaAotI2RlZmluZSBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDX2gKKyNwcmFn
bWEgb25jZQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkgJiYgVVNFKEFWRk9VTkRBVElPTikK
IApAQCAtMTQ5LDUgKzE0OCwzIEBAIHByaXZhdGU6CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291
cmNlUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCmluZGV4IGVmNDUz
YWU4ZGRiZTgxNDU4ZDJjMGE1ZmU3YmY5MjdhZmRhOTRjZTIuLjc1M2FjYjFjYTc5NGZhMDE2OWY5
Y2UwZjZmOTJmZWFiNTQ3NGUzMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQpAQCAtODQsMTEgKzg0LDExIEBAIE1lZGlhU291
cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJj
ZUJ1ZmZlcihjb25zdCBDCiAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gdHJ1ZTsKICAg
ICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKICAgICBpZiAoTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGVBbmRDb2RlY3MocGFyYW1ldGVycykg
PT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCi0gICAgICAgIHJl
dHVybiBOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRl
ZDsKIAogICAgIGF1dG8gcGFyc2VyID0gU291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUoY29udGVu
dFR5cGUpOwogICAgIGlmICghcGFyc2VyKQotICAgICAgICByZXR1cm4gTm90U3VwcG9ydGVkOwor
ICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAgICBhdXRvIG5ld1Nv
dXJjZUJ1ZmZlciA9IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpjcmVhdGUodGhpcywgcGFy
c2VyLnJlbGVhc2VOb25OdWxsKCkpOwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCkBAIC05
Nyw3ICs5Nyw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDCiAgICAgb3V0UHJpdmF0ZSA9IG5l
d1NvdXJjZUJ1ZmZlci5jb3B5UmVmKCk7CiAgICAgbV9zb3VyY2VCdWZmZXJzLmFwcGVuZChXVEZN
b3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOwogCi0gICAgcmV0dXJuIE9rOworICAgIHJldHVybiBBZGRT
dGF0dXM6Ok9rOwogfQogCiB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnJlbW92ZVNv
dXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4IDkxNDk2
ZDI0MWZmYjYxMGQ5Njk0MDc3NTdkOWZjMjM5OGZiNDY1NTkuLjJiYzI2YTE1ZWU1MWJkYTE0Yjli
NWY2NjM0MTViOTg0NjViOTlmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC00Miw3ICs0Miw2IEBACiAjaW1wb3J0
ICJNZWRpYVNhbXBsZS5oIgogI2ltcG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0
ICJNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgiCi0jaW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5o
IgogI2ltcG9ydCAiU2hhcmVkQnVmZmVyLmgiCiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQYXJzZXJB
VkZPYmpDLmgiCiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgiCkBAIC01ODYs
NyArNTg1LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5kQ29tcGxl
dGVkKCkKICAgICAgICAgbV9tZWRpYVNvdXJjZS0+cGxheWVyKCktPnNldExvYWRpbmdQcm9ncmVz
c3NlZCh0cnVlKTsKIAogICAgIGlmIChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnNvdXJj
ZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShtX3BhcnNpbmdTdWNjZWVkZWQgPyBTb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQgOiBTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpQYXJzaW5nRmFpbGVkKTsKKyAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclBy
aXZhdGVBcHBlbmRDb21wbGV0ZShtX3BhcnNpbmdTdWNjZWVkZWQgPyBTb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCk7CiB9CiAKIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmFib3J0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggN2UwYWQ1NDc4Y2ExNzkxOWEwZTliMzMx
OWNmZjQ2YzJmZmMxMDFmMS4uNTdiNjgzODMyMDYzNDA4NjMyNmI2NDhiNjdiN2I2NDMwOTNhMmI0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
QEAgLTM5MSw3ICszOTEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9h
ZChjb25zdCBTdHJpbmcmIHVybFN0cmluZykKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBTdHJpbmcmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICAv
LyBQcm9wZXJseSBmYWlsIHNvIHRoZSBnbG9iYWwgTWVkaWFQbGF5ZXIgdHJpZXMgdG8gZmFsbGJh
Y2sgdG8gdGhlIG5leHQgTWVkaWFQbGF5ZXJQcml2YXRlLgogICAgIG1fbmV0d29ya1N0YXRlID0g
TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggZTAxNjE1YjBmM2EzNTBkNmYwNzUw
ODYyZTM2MGE2YjBjZGI3NzQ5Zi4uYzA4YWY4ZDJiODZkMjRjMzA0NWQxYzcyMDRkNGY5M2YwZWQw
YTUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApA
QCAtMTQyLDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0F1ZGlvKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9oYXNBdWRpbzsgfQogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcgJnVy
bCkgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAg
IHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlk
ZTsKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKE1lZGlh
U3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCmluZGV4IGM0NGNhMzk2N2FiMGZmMDY5
MGYwY2QyZWU2MzM0ZGNjNWQwZDdmYjguLmRmODVkM2RhYjRmOTM3NWU1NzBlM2Q1M2I0MWI3NzJj
MzdhYWEzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lck1TRS5jcHAKQEAgLTEzOCwxMCArMTM4LDEwIEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAg
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCh1cmxTdHJpbmcpOwogfQogCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6bG9hZChjb25zdCBTdHJpbmcmIHVybCwg
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkKK3ZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQqIG1lZGlhU291cmNlKQogewogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJj
ZTsKLSAgICBsb2FkKG1ha2VTdHJpbmcoIm1lZGlhc291cmNlIiwgdXJsKSk7CisgICAgbG9hZCht
YWtlU3RyaW5nKCJtZWRpYXNvdXJjZSIsIHVybC5zdHJpbmcoKSkpOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6cGF1c2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggN2U0ODFlNjU3NDg5
ZTI3MWI0NGYxM2ZjMzViNDQ5NGM2YzU2NmRlYy4uMDY5Mjc2NjI2NDk0NTkwNmRmODI4M2QzYWQ5
NTcyMzY5NzhmNTJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyKTsKIAogICAg
IHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3Qg
U3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBs
b2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogCiAg
ICAgdm9pZCB1cGRhdGVEb3dubG9hZEJ1ZmZlcmluZ0ZsYWcoKSBvdmVycmlkZSB7IH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
UGxheWJhY2tQaXBlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCmluZGV4IGIwMDVkMGQzMzUyNjY0Zjdm
OWJlZDlmNzAyMDk3NzJhYjAwMjc0NTAuLjFlODhhZDE2MTFiZWQ1NDU4MmI5MTAzMDkyNjJmYzcy
NzIzMjY1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcApAQCAtMTA3
LDcgKzEwNyw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNrUGlwZWxp
bmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8U291cmNlQnVmCiAKICAgICBpZiAocHJpdi0+YWxs
VHJhY2tzQ29uZmlndXJlZCkgewogICAgICAgICBHU1RfRVJST1JfT0JKRUNUKG1fd2ViS2l0TWVk
aWFTcmMuZ2V0KCksICJBZGRpbmcgbmV3IHNvdXJjZSBidWZmZXJzIGFmdGVyIGZpcnN0IGRhdGEg
bm90IHN1cHBvcnRlZCB5ZXQiKTsKLSAgICAgICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6
Tm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXM6Ok5vdFN1cHBvcnRlZDsKICAgICB9CiAKICAgICBHU1RfREVCVUdfT0JKRUNUKG1fd2ViS2l0
TWVkaWFTcmMuZ2V0KCksICJTdGF0ZSAlZCIsIGludChHU1RfU1RBVEUobV93ZWJLaXRNZWRpYVNy
Yy5nZXQoKSkpKTsKQEAgLTE0MCw3ICsxNDAsNyBAQCBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0
YXR1cyBQbGF5YmFja1BpcGVsaW5lOjphZGRTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1Zgog
ICAgIGdzdF9iaW5fYWRkKEdTVF9CSU4obV93ZWJLaXRNZWRpYVNyYy5nZXQoKSksIHN0cmVhbS0+
YXBwc3JjKTsKICAgICBnc3RfZWxlbWVudF9zeW5jX3N0YXRlX3dpdGhfcGFyZW50KHN0cmVhbS0+
YXBwc3JjKTsKIAotICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6Ok9rOworICAgIHJldHVy
biBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgUGxheWJhY2tQ
aXBlbGluZTo6cmVtb3ZlU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0
cmVhbWVyPiBzb3VyY2VCdWZmZXJQcml2YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZDNhODdlZmU4OWFlYjNhZDU2
N2RlYzQ4YTFlMWE3ZWU0M2U1YzQ4Yy4uYzkwNDI3ZTRlZDNlYzdhODFhN2JiYjkzMmVjNGI4YmQx
MTBjYTAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZh
dGVHU3RyZWFtZXIuY3BwCkBAIC0xOTQsMTIgKzE5NCwxMiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIAog
dm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRSZWNlaXZlQWxsUGVuZGluZ1Nh
bXBsZXMoKQogewotICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC0+c291cmNlQnVmZmVy
UHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFN1
Y2NlZWRlZCk7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQ
cml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVz
dWx0OjpBcHBlbmRTdWNjZWVkZWQpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3Ry
ZWFtZXI6OmFwcGVuZFBhcnNpbmdGYWlsZWQoKQogewotICAgIG1fc291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OlBhcnNpbmdGYWlsZWQpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCk7CiB9CiAKICNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5j
cHAKaW5kZXggN2QwYzdkN2NmMDJmNDJhZWM3M2RjYzM4MjdiYmIyYjE3YzMzNTJmMS4uYzdhMGY3
MWRmZTY4ZmM2ZWQ2MmM5NjVlNTk4ODBkOTMyOWJiZjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIE1vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQo
Y29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCit2b2lkIE1v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCogc291cmNlKQogewogICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTW9ja01l
ZGlhU291cmNlUHJpdmF0ZTo6Y3JlYXRlKCp0aGlzLCAqc291cmNlKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVy
TWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAppbmRleCA3ZGZjMWYyMjhkYTIxMzk0ZjM3NmM3
ZjI5NjRjZjE0NDZlOGNhMzFlLi4wNThjNjM0MjkwNmExYTE3NDc5MTAyYjE1NTg0OTQ3MjIwN2Zj
ZDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC02NSw3
ICs2NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlIE92
ZXJyaWRlcwogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBv
dmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50Kikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQo
TWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGUgeyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJp
dmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tN
ZWRpYVNvdXJjZVByaXZhdGUuY3BwCmluZGV4IDZlMjFiNWRkMmI4OTdlODdhYWZhMDBlNzViYzhm
ZjhmZjFlZWUwZjYuLjhmODI4Y2NhOTU5NzI1NzIzYmE2ZWM4MjQyMWZjODgxOWRmMDJhNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01l
ZGlhU291cmNlUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcApAQCAtNjMsMTIgKzYzLDEyIEBA
IE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFk
ZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250CiAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0g
dHJ1ZTsKICAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKICAgICBpZiAoTW9ja01l
ZGlhUGxheWVyTWVkaWFTb3VyY2U6OnN1cHBvcnRzVHlwZShwYXJhbWV0ZXJzKSA9PSBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJuIE5vdFN1
cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogCiAgICAg
bV9zb3VyY2VCdWZmZXJzLmFwcGVuZChNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6Y3JlYXRlKHRo
aXMpKTsKICAgICBvdXRQcml2YXRlID0gbV9zb3VyY2VCdWZmZXJzLmxhc3QoKTsKIAotICAgIHJl
dHVybiBPazsKKyAgICByZXR1cm4gQWRkU3RhdHVzOjpPazsKIH0KIAogdm9pZCBNb2NrTWVkaWFT
b3VyY2VQcml2YXRlOjpyZW1vdmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyUHJpdmF0ZSogYnVm
ZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCBmNGRhZDAz
NzEzMDMxODQ5ZTYzN2Y5N2JiMDc4ZDIzZmU4Njk4MWE1Li4wNWNkYzUwMzVkNmY0OTIwNDJkN2Fi
MWVkZjdjYWJjNzBmMzVmMjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRl
LmNwcApAQCAtMTM5LDkgKzEzOSw5IEBAIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OnNl
dENsaWVudChTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB2b2lkIE1vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlOjphcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYgZGF0YSkKIHsK
ICAgICBtX2lucHV0QnVmZmVyLmFwcGVuZFZlY3RvcihkYXRhKTsKLSAgICBTb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudDo6QXBwZW5kU3VjY2VlZGVkOworICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1
bHQ6OkFwcGVuZFN1Y2NlZWRlZDsKIAotICAgIHdoaWxlIChtX2lucHV0QnVmZmVyLnNpemUoKSAm
JiByZXN1bHQgPT0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kU3VjY2VlZGVkKSB7
CisgICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6ZSgpICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCkgewogICAgICAg
ICBhdXRvIGJ1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGUobV9pbnB1dEJ1ZmZlci5kYXRhKCks
IG1faW5wdXRCdWZmZXIuc2l6ZSgpKTsKICAgICAgICAgc2l6ZV90IGJveExlbmd0aCA9IE1vY2tC
b3g6OnBlZWtMZW5ndGgoYnVmZmVyLnB0cigpKTsKICAgICAgICAgaWYgKGJveExlbmd0aCA+IGJ1
ZmZlci0+Ynl0ZUxlbmd0aCgpKQpAQCAtMTU1LDcgKzE1NSw3IEBAIHZvaWQgTW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogICAgICAg
ICAgICAgTW9ja1NhbXBsZUJveCBzYW1wbGVCb3ggPSBNb2NrU2FtcGxlQm94KGJ1ZmZlci5wdHIo
KSk7CiAgICAgICAgICAgICBkaWRSZWNlaXZlU2FtcGxlKHNhbXBsZUJveCk7CiAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6UGFy
c2luZ0ZhaWxlZDsKKyAgICAgICAgICAgIHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZDsKIAogICAgICAgICBtX2lucHV0QnVmZmVy
LnJlbW92ZSgwLCBib3hMZW5ndGgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhYjE1ZmJmNTFlZjM2OGZiZTQ3NDUzNDBkMjYx
N2MyZjczOGJjMGI0Li5lZGI2Y2E1OTc5ZDJmNGRlZjhiMmIyZTc3M2Y5ZDY5YWU3ODZlN2U5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
KysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0z
NSw2ICszNSw4IEBAICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1Rf
RElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFn
ZXIubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BV
UHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRp
b01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5tZXNzYWdlcy5pbgpAQCAtOTUsOCArOTcsOCBAQCAk
KFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eS5tZXNzYWdlcy5pbgotJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgor
JChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lv
bkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL01l
ZGlhL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkubWVzc2FnZXMuaW4KICQoUFJP
SkVDVF9ESVIpL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Q
cm90b2NvbE1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTM2LDYgKzEzOCw3
IEBAICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lv
bi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbi5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lv
bi5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ1JlbW90
ZUNvZGVjcy5tZXNzYWdlcy5pbgpAQCAtMTQzLDkgKzE0Niw5IEBAICQoUFJPSkVDVF9ESVIpL1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5h
Z2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1v
dGVXZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9J
bnNwZWN0b3IvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIubWVzc2FnZXMu
aW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlNvY2tldENoYW5uZWwubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRlYjEyNWU5YWRjNzY1YTVhZThkYzEx
NzU4N2VlM2U4N2M3N2E0MzguLjc1Njc5ZjU1ZjVhZTM5OWI1ZWFmNDc3ZjE4OTMyNTZiYzI0ODg0
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dApAQCAtMjE1LDYgKzIxNSw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlck1lc3NhZ2VzUmVwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Npb25IZWxw
ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9i
amVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdp
c3RyeU1lc3NhZ2VzUmVwbGllcy5oCkBAIC0yMzMsNiArMjM2LDkgQEAgJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWVzc2EKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlN
ZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTI1MSw2ICsy
NTcsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrTWVzc2FnZXNSZXBsaQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VS
ZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVy
TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlv
blNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25T
ZXJ2ZXJNZXNzYWdlc1JlcGxpZXMuaApAQCAtMzQ4LDkgKzM1Nyw2IEBAICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1l
c3NhZ2VzUmVwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJJREJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlc1JlcGxp
ZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5z
cGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcAotJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNp
b25Db250cm9sbGVyTWVzc2FnZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZXNSZXBs
aWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklu
c3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzUmVwbGllcy5o
CkBAIC0zNjAsNiArMzY2LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViSW5zcGVjdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
SW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVu
c2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJN
ZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNz
YWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXNSZXBsaWVzLmgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhNzZiMzk2ZmUwNTEzOTg3MGExYjAxYzE0YzE0MWRj
ZjQ1YTkyYzQ0Li4zNzcwMWIwMWMzYzFhMmMzMDBlMWRkMmQ3MmU2Yjg1MjM3ZjQyNGI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YktpdC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNzQsMTIgKzE3NCwxMyBAQCBNRVNTQUdFX1JF
Q0VJVkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzIFwKIAlX
ZWJQcm9jZXNzL0dQVS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIFwKIAlXZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUgXAotCVdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90
ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9E
ZXN0aW5hdGlvblByb3h5IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Np
b24gXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5h
Z2VyIFwKKwlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24gXAor
CVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgXAorCVdlYlByb2Nlc3MvR1BV
L21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIgXAogCVdlYlByb2Nlc3MvV2ViU3Rv
cmFnZS9TdG9yYWdlQXJlYU1hcCBcCiAJV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29u
dGVudENvbnRyb2xsZXIgXAogCVdlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXIgXApAQCAtMjQwLDEzICsyNDEsMTUgQEAgTUVTU0FHRV9SRUNFSVZFUlMg
PSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25Qcm94eSBcCiAJ
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9pb3Mv
UmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkgXAotCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uTWFuYWdlciBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1GYWN0b3J5UHJveHkgXAot
CUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVMZWdhY3lDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFu
YWdlciBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291
cmNlQnVmZmVyUHJveHkgXAogCVdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MgXAogCVdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MgXAogIwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVy
cy5oCmluZGV4IGM2MzZjZTFjNDgzOTI3NGNmYmQwMDQxYjgwYzFjMGJjZjIzNWExYWMuLjk4MGQ2
NDFjYjFlODE0NzhmNDU5MTk4ZTIxNjc2N2E1ZGExODM0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRlICJTYW5kYm94
RXh0ZW5zaW9uLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZh
Y3RvcnlQcm94eS5jcHAKaW5kZXggZmJhZjM5YWUzMTk0N2Y1NzdkOTY5MWZlMzExZmMyZTE2Mjcz
MzE0ZS4uNzQ5YjFkMzc1ZDRhZDkzOWZhMGRmMWM3NTdlNTk0MWQ3NmRhNDhmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2Fj
eUNETUZhY3RvcnlQcm94eS5jcHAKQEAgLTEzNiw3ICsxMzYsNiBAQCBSZW1vdGVMZWdhY3lDRE1T
ZXNzaW9uUHJveHkqIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eTo6Z2V0U2Vzc2lvbihjb25z
dCBSZW1vdAogICAgIHJldHVybiBudWxscHRyOwogfQogCi0KIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5jcHAKaW5kZXggODdkMDY3NDVkMDA4YzUxZmM0MTI3YjQwYjIxMjdlNjc0YTFjODE3MS4u
NzAxMzU3MDc4MWY4ZjUxN2M4MThkMjEwZDkyNmNhNmUyNDZlOTdmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1
ZGUgIlJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFT
b3VyY2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlVGV4dFRyYWNrUHJveHkuaCIK
ICNpbmNsdWRlICJSZW1vdGVWaWRlb1RyYWNrUHJveHkuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCIKQEAgLTEzMSw2ICsxMzIsMTYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXll
clByb3h5Ojpsb2FkKFVSTCYmIHVybCwgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
PiYKICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIAor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Omxv
YWRNZWRpYVNvdXJjZShVUkwmJiB1cmwsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRp
YVNvdXJjZUlkZW50aWZpZXIpCit7CisgICAgbV9tZWRpYVNvdXJjZVByb3h5ID0gYWRvcHRSZWYo
Km5ldyBSZW1vdGVNZWRpYVNvdXJjZVByb3h5KG1lZGlhU291cmNlSWRlbnRpZmllciwgbV9tYW5h
Z2VyLmdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKSkpOworICAgIG1fbWFuYWdlci5ncHVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzKCkubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIG1lZGlhU291cmNlSWRlbnRpZmllci50b1VJbnQ2NCgpLCAqbV9tZWRpYVNvdXJjZVByb3h5
KTsKKworICAgIG1fcGxheWVyLT5sb2FkKHVybCwgbV9tZWRpYVNvdXJjZVByb3h5LmdldCgpKTsK
K30KKyNlbmRpZgorCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmNhbmNlbExvYWQoKQog
ewogICAgIG1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuc3RvcCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmgKaW5kZXggODZhYTQyY2ViZmQ3MDNlMGMwYmViYzNlZDBkMGU0MTg1NTlhNjY3YS4uYzdiM2M5
NmE1ZDMwZjNjNDU2MDk2MmIxMWY5YmQ3ZmVhZGRkOGIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC01
Miw2ICs1MiwxMSBAQAogI2luY2x1ZGUgIlJlbW90ZUNETUluc3RhbmNlUHJveHkuaCIKICNlbmRp
ZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgiCisjZW5k
aWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9y
YWdlLmgiCiAjZW5kaWYKQEAgLTEwOSw2ICsxMTQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcmVw
YXJlRm9yUmVuZGVyaW5nKCk7CiAKICAgICB2b2lkIGxvYWQoVVJMJiYsIE9wdGlvbmFsPFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZT4mJiwgY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBjb25z
dCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlbW90ZU1lZGlhUGxheWVyQ29uZmln
dXJhdGlvbiYmKT4mJik7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB2b2lkIGxvYWRN
ZWRpYVNvdXJjZShVUkwmJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyKTsKKyNlbmRpZgog
ICAgIHZvaWQgY2FuY2VsTG9hZCgpOwogCiAgICAgdm9pZCBwcmVwYXJlVG9QbGF5KCk7CkBAIC0z
MDAsNiArMzA4LDkgQEAgcHJpdmF0ZToKICAgICBSZW1vdGVNZWRpYVBsYXllclN0YXRlIG1fY2Fj
aGVkU3RhdGU7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gbV9jb25m
aWd1cmF0aW9uOwogICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TWVkaWFUaW1l
Pik+IG1fcGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyOworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRyPFJlbW90ZU1lZGlhU291cmNlUHJveHk+IG1fbWVk
aWFTb3VyY2VQcm94eTsKKyNlbmRpZgogCiAgICAgV2ViQ29yZTo6TGF5b3V0UmVjdCBtX3ZpZGVv
Q29udGVudEJveFJlY3Q7CiAgICAgZmxvYXQgbV92aWRlb0NvbnRlbnRTY2FsZSB7IDEuMCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2OTZhMGRhMjRkNzZlNWFlNzQ1
ZjgyMWE1MWE4NDAxOGY2NTVmMTkyLi5hMjg4NjE4Zjk5ZTRmNTU4ODllYmQ5ZTM0MGZjNzc0NGY1
Njk5NzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjcsNiArMjcs
OSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewog
ICAgIFByZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBlbnVtOnVpbnQ4X3QgV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UHJlbG9hZCBwcmVsb2FkLCBib29sIHByZXNlcnZlc1Bp
dGNoLCBib29sIHByZXBhcmVGb3JSZW5kZXJpbmcsIGZsb2F0IHZpZGVvQ29udGVudFNjYWxlKSAt
PiAoT3B0aW9uYWw8V2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQ+IGlubGluZUxheWVySG9z
dGluZ0NvbnRleHRJZCkgQXN5bmMKIAogICAgIExvYWQoVVJMIHVybCwgT3B0aW9uYWw8V2ViS2l0
OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNpb24sIFdlYkNvcmU6OkNv
bnRlbnRUeXBlIGNvbnRlbnRUeXBlLCBTdHJpbmcga2V5U3lzdGVtKSAtPiAoc3RydWN0IFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3VyYXRpb24pIEFz
eW5jCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBMb2FkTWVkaWFTb3VyY2UoVVJMIHVy
bCwgV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbWVkaWFTb3VyY2VJZGVudGlm
aWVyKSBTeW5jaHJvbm91cworI2VuZGlmCiAgICAgQ2FuY2VsTG9hZCgpCiAKICAgICBQcmVwYXJl
VG9QbGF5KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVNvdXJjZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTg1NmI1Y2QyYTYzYTg4N2Y2
MzMzNDg5YmZhMWNmNjYwYmRjZWMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCkBAIC0wLDAgKzEsOTgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2lu
Y2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250
ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlbW90ZU1l
ZGlhU291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1f
Y29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uVG9XZWJQcm9jZXNzKQoreworfQorCit2
b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZhdGVBbmRPcGVuKFJlZjxNZWRpYVNv
dXJjZVByaXZhdGU+JiYgbWVkaWFTb3VyY2VQcml2YXRlKQoreworICAgIEFTU0VSVCghbV9wcml2
YXRlKTsKKyAgICBtX3ByaXZhdGUgPSBXVEZNb3ZlKG1lZGlhU291cmNlUHJpdmF0ZSk7Cit9CisK
K01lZGlhVGltZSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpkdXJhdGlvbigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHsgfTsKK30KKworc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4g
UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YnVmZmVyZWQoKSBjb25zdAoreworICAgIHJldHVybiBt
YWtlVW5pcXVlPFBsYXRmb3JtVGltZVJhbmdlcz4oKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpzZWVrVG9UaW1lKGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3ZvaWQgUmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6bW9uaXRvclNvdXJjZUJ1ZmZlcnMoKQoreworfQorCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldExv
Z0lkZW50aWZpZXIoY29uc3Qgdm9pZCopCit7Cit9CisjZW5kaWYKKwordm9pZCBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkKK3sKK30K
Kwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjphZGRTb3VyY2VCdWZmZXIoY29uc3QgV2Vi
Q29yZTo6Q29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBBZGRTb3VyY2VCdWZmZXJDYWxsYmFjayYm
IGNhbGxiYWNrKQoreworICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZm
ZXJQcml2YXRlOworICAgIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cyA9IG1f
cHJpdmF0ZS0+YWRkU291cmNlQnVmZmVyKGNvbnRlbnRUeXBlLCBzb3VyY2VCdWZmZXJQcml2YXRl
KTsKKworICAgIE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNv
dXJjZUlkZW50aWZpZXI7CisgICAgaWYgKHN0YXR1cyA9PSBNZWRpYVNvdXJjZVByaXZhdGU6OkFk
ZFN0YXR1czo6T2spIHsKKyAgICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgYXV0byByZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUoaWRlbnRpZmllciwgbV9j
b25uZWN0aW9uVG9XZWJQcm9jZXNzLCBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxs
KCkpOworICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUocmVtb3RlU291cmNl
QnVmZmVyUHJveHkpKTsKKyAgICAgICAgcmVtb3RlU291cmNlSWRlbnRpZmllciA9IGlkZW50aWZp
ZXI7CisgICAgfQorCisgICAgY2FsbGJhY2soc3RhdHVzLCByZW1vdGVTb3VyY2VJZGVudGlmaWVy
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NTVmMTQyZWU4ODM1YTczYTg1NTY2ZmNlYWViMzAyN2NjYzM2OGZjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHku
aApAQCAtMCwwICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJNZXNz
YWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIK
KyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
TWVkaWFTb3VyY2VQcml2YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERl
Y29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBDb250ZW50VHlwZTsKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZTsKK2NsYXNzIFBsYXRm
b3JtVGltZVJhbmdlczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhU291cmNlUHJveHkgZmluYWwK
KyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQKKyAgICAsIHBy
aXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIFJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+UmVt
b3RlTWVkaWFTb3VyY2VQcm94eSgpID0gZGVmYXVsdDsKKworICAgIC8vIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCBvdmVycmlkZXMKKyAgICB2b2lkIHNldFByaXZhdGVBbmRPcGVuKFJlZjxXZWJD
b3JlOjpNZWRpYVNvdXJjZVByaXZhdGU+JiYpIGZpbmFsOworICAgIE1lZGlhVGltZSBkdXJhdGlv
bigpIGNvbnN0IGZpbmFsOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQbGF0Zm9ybVRp
bWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZWVrVG9UaW1lKGNv
bnN0IE1lZGlhVGltZSYpIGZpbmFsOworICAgIHZvaWQgbW9uaXRvclNvdXJjZUJ1ZmZlcnMoKSBm
aW5hbDsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHZvaWQgc2V0TG9nSWRlbnRp
Zmllcihjb25zdCB2b2lkKikgZmluYWw7CisjZW5kaWYKKworICAgIHZvaWQgZmFpbGVkVG9DcmVh
dGVSZW5kZXJlcihSZW5kZXJlclR5cGUpIGZpbmFsOworCitwcml2YXRlOgorICAgIGZyaWVuZCBj
bGFzcyBSZW1vdGVNZWRpYVBsYXllclByb3h5OyAvLyBUT0RPPworCisgICAgLy8gSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVu
Y29kZXI+JikgZmluYWw7CisKKyAgICB1c2luZyBBZGRTb3VyY2VCdWZmZXJDYWxsYmFjayA9IENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXMsIE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIpPjsKKyAgICB2b2lkIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3Jl
OjpDb250ZW50VHlwZSYsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrJiYpOworCisgICAgUmVtb3Rl
TWVkaWFTb3VyY2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVmUHRyPFdlYkNvcmU6
Ok1lZGlhU291cmNlUHJpdmF0ZT4gbV9wcml2YXRlOworICAgIFZlY3RvcjxSZWZQdHI8UmVtb3Rl
U291cmNlQnVmZmVyUHJveHk+PiBtX3NvdXJjZUJ1ZmZlcnM7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E2
Yjc1MmQ3NzA2MGRlY2NiOWRjM2JjNzk2NDg5ZjRlYzkyMGRhZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCittZXNzYWdlcyAtPiBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFkZFNvdXJjZUJ1ZmZlcihXZWJDb3Jl
OjpDb250ZW50VHlwZSBjb250ZW50VHlwZSkgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBzdGF0dXMsIE9wdGlvbmFsPFdlYktpdDo6UmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcikgU3lu
Y2hyb25vdXMKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNGJmY2ExNjEyYjVkNzk0OWVhMGExOTVkZTU1ZjVjOTU3OTI3MDY2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXIuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNs
dWRlIDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51
bSBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyVHlwZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVm
ZmVyUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyM2UyOTgwYTk3OGI3Y2RiZmFkZWE3NDY5ODViY2Rm
ZTE3ZWQ1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgor
I2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitSZWY8UmVtb3RlU291cmNlQnVmZmVyUHJv
eHk+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUoUmVtb3RlU291cmNlQnVmZmVySWRl
bnRpZmllciBpZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9u
VG9XZWJQcm9jZXNzLCBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4mJiBzb3VyY2VCdWZmZXJQcml2
YXRlKQoreworICAgIGF1dG8gcmVtb3RlU291cmNlQnVmZmVyUHJveHkgPSBhZG9wdFJlZigqbmV3
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KGlkZW50aWZpZXIsIGNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MsIFdURk1vdmUoc291cmNlQnVmZmVyUHJpdmF0ZSkpKTsKKyAgICByZXR1cm4gcmVtb3RlU291
cmNlQnVmZmVyUHJveHk7Cit9CisKK1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eShSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFJlZjxTb3Vy
Y2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclByaXZhdGUpCisgICAgOiBtX2lkZW50aWZp
ZXIoaWRlbnRpZmllcikKKyAgICAsIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9u
VG9XZWJQcm9jZXNzKQorICAgICwgbV9zb3VyY2VCdWZmZXJQcml2YXRlKFdURk1vdmUoc291cmNl
QnVmZmVyUHJpdmF0ZSkpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VS
ZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCks
ICp0aGlzKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPnNldENsaWVudCh0aGlzKTsKK30K
KworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSgpCit7
CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6Om1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOworfQorCit2b2lkIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKQoreworfQorCit2
b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZVNhbXBsZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYpCit7Cit9CisKK2Jvb2wgUmVtb3RlU291cmNl
QnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVIYXNBdWRpbygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3Zv
aWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2Ft
cGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCit2b2lkIFJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVjb21lUmVhZHlGb3JNb3JlU2Ft
cGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitNZWRpYVRpbWUgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0U2Vla1RpbWVGb3JNZWRp
YVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1l
JikKK3sKKyAgICByZXR1cm4geyB9OworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
Ojpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpLCBt
X2lkZW50aWZpZXIpOworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VC
dWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGludCBlcnJvckNvZGUpCit7Cit9
CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZChjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmIGRhdGEpCit7CisgICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlLT5hcHBlbmQoZGF0
YS52ZWN0b3IoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMTIwYThhMmVjYjkzYzFhMzc5ZTkxYjk2ZmM5OThkMDMwYmZmNTBlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisj
aW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENv
bm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgTWVkaWFTYW1wbGU7Cit9CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitjbGFzcyBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBmaW5hbAorICAgIDogcHVibGlj
IFJlZkNvdW50ZWQ8UmVtb3RlU291cmNlQnVmZmVyUHJveHk+CisgICAgLCBwdWJsaWMgV2ViQ29y
ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudAorICAgICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3Rh
dGljIFJlZjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4gY3JlYXRlKFJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBSZWY8V2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZT4mJik7CisgICAgdmlydHVhbCB+UmVtb3RlU291cmNlQnVmZmVyUHJv
eHkoKTsKKworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXph
dGlvblNlZ21lbnQoY29uc3QgSW5pdGlhbGl6YXRpb25TZWdtZW50JikgZmluYWw7CisgICAgdm9p
ZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShXZWJDb3JlOjpNZWRpYVNhbXBs
ZSYpIGZpbmFsOworICAgIGJvb2wgc291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3Qg
ZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzVmlkZW8oKSBjb25zdCBmaW5h
bDsKKworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVTYW1wbGVzKGNvbnN0IEF0
b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURp
ZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmlu
YWw7CisKKyAgICBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1l
ZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmKSBmaW5hbDsKKworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCkgZmluYWw7
CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9yKGlu
dCBlcnJvckNvZGUpIGZpbmFsOworCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5OworICAgIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KFJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBSZWY8V2ViQ29y
ZTo6U291cmNlQnVmZmVyUHJpdmF0ZT4mJik7CisKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZl
cgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNv
ZGVyJikgZmluYWw7CisgICAgLy8gdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKSBm
aW5hbDsKKworICAgIHZvaWQgYXBwZW5kKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworCisg
ICAgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOworICAgIFJlZjxX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiBtX3NvdXJjZUJ1ZmZlclByaXZhdGU7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykg
JiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5p
bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMDhmZjAxZGEzMGQwNjdiOWU0MWZiNWExMTNlN2JhNDNmZTBlMDE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCittZXNz
YWdlcyAtPiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKKyAgICBBcHBl
bmQoSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKaW5kZXggOTc3ZjkzZmY1YzNjMmI4MTc4
NDZjOWE5YTc1NTE3ODljOGVmZTA1Yy4uNjFiODkwZGM3ODY3YzMzYjAwNWYyMmU5M2JiMWFmNDdk
ZGQzYjE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAi
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIkdQVVByb2Nlc3MuaCIKICNp
bmNsdWRlICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCIKICNpbmNsdWRlICJSZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJS
ZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNZXNzYWdlcy5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggOTcwODc2NDk1ZmIxYWNjOTA0YzFlYTI1MDY5
MDkzYjIwMGViMjU1YS4uNTczZWQzZDhlZTliYmY0MTAzMTY4ZTc5YTA1N2Y5ZGJkYjliODY5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yNTksNiArMjU5
LDggQEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAg
ICAgJ1dlYktpdDo6UmVtb3RlTGVnYWN5Q0RNSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6
OlJlbW90ZUxlZ2FjeUNETVNlc3Npb25JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVt
b3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXInLAorICAgICAgICAnV2ViS2l0OjpSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXInLAorICAgICAgICAnV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIn
LAogICAgICAgICAnV2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJL
aXQ6OlJUQ0VuY29kZXJJZGVudGlmaWVyJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDUwMzc5ZjJmZmE4MzM3
NGMxNGQxN2Q3YmM5ZWMzMDYwNjdlMTM3NjIuLjA5MTdmMDFiZTFjOWY4Y2FhMmFiZjdmMGY4OTBm
ODk1YTNmMmVmODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNDIsNiArNDIsOCBAQCBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUmVzb3VyY2UuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VMb2Fk
ZXIuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcAor
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcAorR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
VGV4dFRyYWNrUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVZpZGVvVHJhY2tQcm94
eS5jcHAKIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyLmNwcApAQCAtNTcwLDYgKzU3Miw3IEBAIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90
ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL0F1ZGlvVHJhY2tQ
cml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNw
cAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLmNwcAogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNLmNwcApAQCAtNTgyLDYgKzU4NSw3IEBAIFdlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIEBuby11bmlmeQogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNwcAorV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1RleHRU
cmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9WaWRlb1RyYWNrUHJp
dmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1dlYk1lZGlhU3RyYXRlZ3kuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBlMzM4NDdhZTE2YWNjOTlhNzM5NDM0NzQ0ZDhhM2RmNmMyOGNhYmZjLi5lYjc2YjBlMjdmZGNi
YzAwYjBhODFkMWY5M2U5ZGFiZjU4MjZmZDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQyMSw2ICs0MjEsOSBAQAogCQkxRDRENzM3
NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1Jl
cGxpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFE
NEQ3Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3Nh
Z2VzUmVwbGllcy5oICovOyB9OwogCQkxREIwMTk0MzIxMUNGMDAyMDA5RkIzRTggLyogV0tTaGFy
ZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
REUwRDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFyZVNoZWV0LmggKi87IH07CiAJCTFEQjAx
OTQ0MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJCQjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyog
V0tTaGFyZVNoZWV0Lm1tICovOyB9OworCQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyog
UmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJB
NjZFMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
REQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovOyB9OworCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyogU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyog
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFG
MzM1QkMwMTg1Qjg0RjAwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMzM1QkJG
MTg1Qjg0RDgwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRjYwNEJBQTE4
ODlGQkI4MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY2MDRCQTcxODg5
RkE3NDAwRUUwMzk1IC8qIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaCAqLzsg
fTsKIAkJMUY3NTA2QjExODU5MTYzNzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1l
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjAxODE2
OTE4NThEQzE1MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjgxNCw2ICsyODE3LDI4
IEBACiAJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFu
YWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREJC
QjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tTaGFyZVNoZWV0Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxREQyQTYzNjI1NURFNjc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZS5jcHA7IHBhdGggPSAvVm9sdW1lcy9EYXRhL3dlYmtpdC9PcGVuU291cmNlL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcDsgc291
cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8q
IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2MzkyNTVE
RTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8q
IFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRjI1NUUzRjFG
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQ2MjU1RjMyQjEwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFERDJBNjRBMjU2MEY1NEMwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OworCQkxREQyQTY2MTI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94
eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZXNSZXBsaWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RV
Q1RTX0RJUjsgfTsKKwkJMUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291
cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2NjI1NjFFRDA0MDBGRjdCNkYg
LyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlU291cmNl
QnVmZmVyUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFE
RDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5o
OyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkx
REQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUmVtb3Rl
U291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZGMjU2MjJGMTEwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFERDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGVNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERl
cml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjcz
MjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmg7IHBhdGgg
PSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdl
cy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxREUwNzZEOTI0NjBD
Q0JEMDBCMjExRTggLyogV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzQ29jb2EubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURFMEQwOTUyMTFDQzIxMzAwNDM5QjVGIC8qIFdL
U2hhcmVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1NoYXJlU2hl
ZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURFMkRGQUMyM0E5NTlGODAwM0Uw
MTNBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC01NjMzLDYgKzU2NTgsOCBAQAogCQkJCTA3OTIzMTMxMjM5QjNCMEMwMDk1OThFMiAvKiBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwICovLAogCQkJCTA3OTIzMTMyMjM5QjNCMEMwMDk1
OThFMiAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkwN0IxRDA0QjIzRDM4
RkNFMDAzOTlBNkUgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAor
CQkJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUu
Y3BwICovLAorCQkJCTFERDJBNjM3MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGUuaCAqLywKIAkJCQk5QjVCRUMyOTI0MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVk
aW9EZXN0aW5hdGlvblByb3h5LmNwcCAqLywKIAkJCQk5QjVCRUMyODI0MDEwMTU4MDA3MEM2RUYg
LyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmggKi8sCiAJCQkJOUI1QkVDMkUyNDAxMDE4
QzAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5tZXNzYWdlcy5pbiAqLywK
QEAgLTU2NzcsNiArNTcwNCwxMCBAQAogCQkJCTA3QjNCNDZGMjNBQjJDQjMwMEJBNUIxMiAvKiBS
ZW1vdGVNZWRpYVBsYXllclN0YXRlLmggKi8sCiAJCQkJMUQzMkY4OUQyM0E4NEM1QjAwQjFFQTZB
IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJMUQzMkY4OUIyM0E4NEJB
NjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5oICovLAorCQkJCTFERDJBNjQ2
MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLywKKwkJ
CQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5j
cHAgKi8sCisJCQkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuaCAqLywKKwkJCQkxREQyQTY2RjI1NjIyRjExMDBGRjdCNkYgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLywKIAkJCQkwN0UxOUYwODIzRDUzM0I5MDA5
NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDdFMTlGMDkyM0Q1
MzNCQTAwOTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQkxREZERDBF
MjIzRjYxMEYwMDBFOUI0OTAgLyogVmlkZW9MYXllclJlbW90ZS5oICovLApAQCAtNTc0MSw2ICs1
NzcyLDEzIEBACiAJCQkJMURBNDA4OUUyM0E4Mjc3ODAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVz
b3VyY2VNYW5hZ2VyLmNwcCAqLywKIAkJCQkxREE0MDg5NDIzQTgwQTNFMDA1OEM5NTAgLyogUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCAqLywKIAkJCQkxRDMyRjhBNjIzQTg2MDE5MDBCMUVB
NkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJMURE
MkE2M0YyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwICovLAor
CQkJCTFERDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lmgg
Ki8sCisJCQkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHkubWVzc2FnZXMuaW4gKi8sCisJCQkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCAqLywKKwkJCQkxREQyQTY0MzI1NUUzRjNEMDBGRjdC
NkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwICovLAorCQkJCTFERDJBNjQyMjU1RTNG
M0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oICovLAorCQkJCTFERDJBNjY2
MjU2MUVEMDQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAq
LywKIAkJCQkwN0UxOUYwNzIzRDREQzg4MDA5NEZGQjQgLyogUmVtb3RlVGV4dFRyYWNrUHJveHku
Y3BwICovLAogCQkJCTA3RTE5RjA2MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQ
cm94eS5oICovLAogCQkJCTA3MUJDNTg0MjNDQzJDMDkwMDY4MEQ3QyAvKiBSZW1vdGVWaWRlb1Ry
YWNrUHJveHkuY3BwICovLApAQCAtMTAzNDYsMTAgKzEwMzg0LDE2IEBACiAJCQkJMUQ0RDczNkIy
M0E5REY1NTAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKIAkJCQkxRDRENzM2QzIzQTlERjYwMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovLAogCQkJCTFENEQ3Mzc1MjNBOUVCNjgwMDcxN0Ey
NSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovLAorCQkJ
CTFERDJBNjYyMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2MDI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NjEyNTYxMjJGMTAwRkY3
QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQkx
QUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovLAogCQkJCTFBQzEzMzg0MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmpl
Y3RSZWdpc3RyeU1lc3NhZ2VzLmggKi8sCiAJCQkJMEY1OTQ3QTUxODdCNTE3NjAwNDM3ODU3IC8q
IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkw
RjU5NDdBNjE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNz
YWdlcy5oICovLAorCQkJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NjkyNTYyMDIxRTAw
RkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQy
QTY2QTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1Jl
cGxpZXMuaCAqLywKIAkJCQlBNTVCQTgyMTFCQTI1QkI4MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUE1NUJBODIyMUJBMjVCQjgw
MDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUJC
QkU0OUUxOUI2NkM1MzAwNkI3RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKQEAgLTEwMzU3LDYgKzEwNDAxLDkgQEAKIAkJCQlFMThFNjkxNDE2OUI2NjdC
MDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMkRFNjk0M0Ix
OEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovLAogCQkJCTJERTY5NDNDMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25p
ZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY3MjI1NjIzMjRGMDBG
RjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CisJCQkJMUREMkE2NzMyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGVNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJOTNENkI3ODEyNTRD
Q0FCQzAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKIAkJCQk5M0Q2Qjc4MDI1NENDQUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25T
ZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJCTkzRDZCNzdGMjU0Q0NBQkIwMDU4REQzQSAvKiBTcGVl
Y2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oICovLApAQCAtMTMxNDAsOCArMTMx
ODcsMTAgQEAKIAkJCQkwNzAxNzg5RTIzQkU5Q0ZDMDA1RjBGQUEgLyogUmVtb3RlTWVkaWFQbGF5
ZXJNSU1FVHlwZUNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MUJDNThGMjNDRTFFQUEw
MDY4MEQ3QyAvKiBSZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFENEQ3MzcwMjNBOUU1NDcwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQy
QTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUMxMzM4NTE4NTkwQzQ2MDBGM0VDMDUgLyog
UmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY1OTQ3QTcxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjZFMjU2MjAyMUUw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBNTVCQTgyNjFCQTI1Q0ZEMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUJCQkU0
QTAxOUI2NkM1MzAwNkI3RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxOEU2OTE3MTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJ
dGVtU2hpbVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTMxNTIs
NiArMTMyMDEsNyBAQAogCQkJCUExQURBRkI2MjM2OEU2QTgwMDlDQjc3NiAvKiBTaGFyZWRNZW1v
cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTc1QjFCQjkyM0NFOUMwQjAwMjA2MzlBIC8qIFNp
bXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREU2OTQzRDE4
QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyog
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5M0Q2Qjc4MjI1NENDQ0Y0MDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEzMzRERUQxNkRFOEY4
ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzNjhFRURFMjMwM0E5MDIwMEJEQjExQSAvKiBTdG9yYWdlTWFuYWdlclNldE1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmNwcAppbmRleCBlMDlhZjBkYzMyYmIxYmJhNWViZDg2ZTRkYzA2NzBhMDJmZjdjZDliLi4zNzA2
MGIyN2MzYjQ4N2Y0NmRhYTI4NzE2NWZiY2FjMjZjNDYwZWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuY3BwCkBAIC03MSw2ICs3MSwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5
Q0RNLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiUmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVk
aWE7CkBAIC0xNDgsNyArMTUyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBy
ZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBNZWRpYVBsYXllcjoKICAgICB9LCBt
X2lkKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRl
bnRUeXBlLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5
cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQogewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKICAgICBpZiAodXJsLmlzTG9j
YWxGaWxlKCkpIHsKQEAgLTYyNCwxNSArNjI4LDIxIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpyZW1vdGVWaWRlb1RyYWNrQ29uZmlndXJhdGlvbkNoYW5nZWQoVHJhY2tQcml2YXRl
CiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFr
VGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10gewotICAgICAgICBpZiAoIXdlYWtUaGlz
KQotICAgICAgICAgICAgcmV0dXJuOworICAgIGlmIChtX3JlbW90ZUVuZ2luZUlkZW50aWZpZXIg
PT0gTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyOjpBVkZvdW5kYXRpb25N
U0UpIHsKKyAgICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6TG9hZE1lZGlhU291cmNlKHVybCwgaWRlbnRpZmllciksIG1f
aWQpOworICAgICAgICBtX21lZGlhU291cmNlUHJpdmF0ZSA9IE1lZGlhU291cmNlUHJpdmF0ZVJl
bW90ZTo6Y3JlYXRlKG1fbWFuYWdlci5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLCBpZGVudGlmaWVy
LCBtX21hbmFnZXIudHlwZUNhY2hlKG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciksICp0aGlzLCBj
bGllbnQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlz
KQorICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBtX2NhY2hlZFN0YXRlLm5ldHdv
cmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yOwotICAgICAg
ICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwotICAgIH0pOworICAgICAgICAgICAg
bV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpG
b3JtYXRFcnJvcjsKKyAgICAgICAgICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7
CisgICAgICAgIH0pOworICAgIH0KIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aAppbmRleCBmMzYzNzI1MDllYTllNGY4ZTFhN2Q4ZjdmNTI3NjNjMzRmMTFlNGEwLi5mZGIwMWEy
OTVhM2M2N2EwNzY5NzcxYmU2MWIxMzAzZTdlZDA4N2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmgKQEAgLTQzLDYgKzQzLDEwIEBACiAjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1
ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXVEYg
ewogY2xhc3MgTWFjaFNlbmRSaWdodDsKIH0KQEAgLTg4LDYgKzkyLDggQEAgcHVibGljOgogICAg
IElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbWFuYWdlci5n
cHVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsgfQogICAgIFdlYkNvcmU6Ok1lZGlh
UGxheWVyKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllcjsgfQogCisgICAgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fY2FjaGVkU3RhdGUucmVhZHlTdGF0ZTsgfQorCiAgICAgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hh
bmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZChk
b3VibGUpOwpAQCAtMTU0LDYgKzE2MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRSYXdDb29r
aWVzKGNvbnN0IFVSTCYsIFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjpHZXRSYXdDb29raWVz
Q2FsbGJhY2smJikgY29uc3Q7CiAjZW5kaWYKIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGxvZ0lk
ZW50aWZpZXIoKTsgfQorICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSB7IHJl
dHVybiBsb2dnZXIoKTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAKICNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKQEAgLTE3MCw3ICsxODEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJlcGFyZUZv
clBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpQcmVsb2Fk
LCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmUpIGZpbmFsOwogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6TWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYs
IFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOwogI2VuZGlmCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TWVkaWFTdHJlYW1Q
cml2YXRlJikgZmluYWw7CkBAIC0yNTAsNyArMjYxLDYgQEAgcHJpdmF0ZToKICAgICBkb3VibGUg
bWluRmFzdFJldmVyc2VSYXRlKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWJDb3JlOjpNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
Y2FjaGVkU3RhdGUubmV0d29ya1N0YXRlOyB9Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJl
YWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVkU3RhdGUu
cmVhZHlTdGF0ZTsgfQogCiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZVNlZWthYmxlKCkgY29u
c3QgZmluYWw7CiAgICAgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QgZmlu
YWw7CkBAIC0zODQsNiArMzk0LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbW90ZUF1ZGlv
U291cmNlUHJvdmlkZXI+IG1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKICNlbmRpZgogCisjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBt
X21lZGlhU291cmNlUHJpdmF0ZTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxSZW1vdGVNZWRpYVJl
c291cmNlSWRlbnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZT4+
IG1fbWVkaWFSZXNvdXJjZXM7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlm
aWVyLCBSZWY8QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU+PiBtX2F1ZGlvVHJhY2tzOwogICAgIEhh
c2hNYXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPFZpZGVvVHJhY2tQcml2YXRl
UmVtb3RlPj4gbV92aWRlb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZmFlMTcxOTRjOWM1ZWFmMWQwOWI0YjExNWQyODdkOTk4ZTYzMGUzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorCisj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVk
ZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIgorI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmgiCisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01l
ZGlhOworI2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKworUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0
aW9uLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQ
bGF5ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50
KQoreworICAgIGF1dG8gbWVkaWFTb3VyY2VQcml2YXRlID0gYWRvcHRSZWYoKm5ldyBNZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUoZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIGlkZW50aWZpZXIsIG1pbWVU
eXBlQ2FjaGUsIHBsYXllclByaXZhdGUsIGNsaWVudCkpOworICAgIGNsaWVudC0+c2V0UHJpdmF0
ZUFuZE9wZW4obWVkaWFTb3VyY2VQcml2YXRlLmNvcHlSZWYoKSk7CisgICAgcmV0dXJuIG1lZGlh
U291cmNlUHJpdmF0ZTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9u
LCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlTWVkaWFQbGF5
ZXJNSU1FVHlwZUNhY2hlJiBtaW1lVHlwZUNhY2hlLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUmIHBsYXllclByaXZhdGUsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQor
ICAgIDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAgICAs
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9taW1lVHlwZUNhY2hlKG1pbWVUeXBl
Q2FjaGUpCisgICAgLCBtX3BsYXllclByaXZhdGUobWFrZVdlYWtQdHIocGxheWVyUHJpdmF0ZSkp
CisgICAgLCBtX2NsaWVudChjbGllbnQpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
LCBtX2xvZ2dlcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nZ2VyKCkpCisgICAgLCBt
X2xvZ0lkZW50aWZpZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ0lkZW50aWZpZXIo
KSkKKyNlbmRpZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgbV9jbGllbnQtPnNldExvZ0lkZW50aWZpZXIobV9sb2dJZGVu
dGlmaWVyKTsKKyNlbmRpZgorfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6On5NZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisK
KyAgICBmb3IgKGF1dG8gaXQgPSBtX3NvdXJjZUJ1ZmZlcnMuYmVnaW4oKSwgZW5kID0gbV9zb3Vy
Y2VCdWZmZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5jbGVhck1l
ZGlhU291cmNlKCk7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiBvdXRQcml2YXRlKQoreworICAg
IERFQlVHX0xPRyhMT0dJREVOVElGSUVSLCBjb250ZW50VHlwZSk7CisKKyAgICBNZWRpYUVuZ2lu
ZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgcGFyYW1ldGVycy5pc01lZGlhU291
cmNlID0gdHJ1ZTsKKyAgICBwYXJhbWV0ZXJzLnR5cGUgPSBjb250ZW50VHlwZTsKKyAgICBpZiAo
bV9taW1lVHlwZUNhY2hlLnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRp
YVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKKyAgICAgICAgcmV0dXJuIEFk
ZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisgICAgQWRkU3RhdHVzIHN0YXR1czsKKyAgICBPcHRp
b25hbDxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyOworICAgIGlmICghbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2Vu
ZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNvdXJjZUJ1ZmZlcihj
b250ZW50VHlwZSksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VC
dWZmZXI6OlJlcGx5KHN0YXR1cywgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciksIG1faWRl
bnRpZmllcikpCisgICAgICAgIHN0YXR1cyA9IEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOworCisg
ICAgaWYgKHN0YXR1cyA9PSBBZGRTdGF0dXM6Ok9rKSB7CisgICAgICAgIEFTU0VSVChyZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyLmhhc1ZhbHVlKCkpOworICAgICAgICBhdXRvIG5ld1NvdXJj
ZUJ1ZmZlciA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNyZWF0ZShtX2dwdVByb2Nlc3ND
b25uZWN0aW9uLCAqcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgKnRoaXMpOworICAgICAg
ICBvdXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKKyAgICAgICAgbV9zb3Vy
Y2VCdWZmZXJzLmFwcGVuZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikpOworICAgIH0KKworICAg
IHJldHVybiBzdGF0dXM7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpkdXJh
dGlvbkNoYW5nZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bWFy
a0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKQoreworfQorCit2b2lkIE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZTo6dW5tYXJrRW5kT2ZTdHJlYW0oKQoreworfQorCitNZWRpYVBsYXllcjo6
UmVhZHlTdGF0ZSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUoKSBjb25zdAor
eworICAgIHJldHVybiBtX3BsYXllclByaXZhdGUgPyBtX3BsYXllclByaXZhdGUtPnJlYWR5U3Rh
dGUoKSA6IE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5
U3RhdGUpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3YWl0Rm9yU2Vl
a0NvbXBsZXRlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZWVr
Q29tcGxldGVkKCkKK3sKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hh
bm5lbCYgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWM5NDQyNWI0OGIzOTZlOTY3YzRl
ODIxNGRmYjZlNTM1YTU1MGJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDk3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlv
bi5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5oIgorI2luY2x1
ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29u
dGVudFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZS5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU7CitjbGFz
cyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOworCitjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGUKKyAg
ICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+CisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlm
Cit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IGNy
ZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwg
UmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisgICAgdmlydHVh
bCB+TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKCk7CisKKyAgICBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZS5nZXQoKTsgfQor
CisgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlIG92ZXJyaWRlcworICAgIEFkZFN0YXR1cyBhZGRT
b3VyY2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmLCBSZWZQdHI8V2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZT4mKSBmaW5hbDsKKyAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZCgp
IGZpbmFsOworICAgIHZvaWQgbWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSBmaW5h
bDsKKyAgICB2b2lkIHVubWFya0VuZE9mU3RyZWFtKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQg
c2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7Cisg
ICAgdm9pZCB3YWl0Rm9yU2Vla0NvbXBsZXRlZCgpIGZpbmFsOworICAgIHZvaWQgc2Vla0NvbXBs
ZXRlZCgpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9n
Z2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAg
IGNvbnN0IHZvaWQqIG5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1cm4gY2hp
bGRMb2dJZGVudGlmaWVyKG1fbG9nSWRlbnRpZmllciwgKyttX25leHRTb3VyY2VCdWZmZXJJRCk7
IH0KKyNlbmRpZgorCitwcml2YXRlOgorICAgIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZShHUFVQ
cm9jZXNzQ29ubmVjdGlvbiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciwgUmVtb3RlTWVk
aWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiwg
V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CisKKyAgICBHUFVQcm9jZXNzQ29u
bmVjdGlvbiYgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNo
ZSYgbV9taW1lVHlwZUNhY2hlOworICAgIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
PiBtX3BsYXllclByaXZhdGU7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudD4gbV9jbGllbnQ7CisgICAgVmVjdG9yPFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlPj4gbV9zb3VyY2VCdWZmZXJzOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIk1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVy
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hh
bm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworCisgICAgUmVmPGNvbnN0IExvZ2dlcj4g
bV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworICAgIHVpbnQ2NF90
IG1fbmV4dFNvdXJjZUJ1ZmZlcklEIHsgMCB9OworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKaW5kZXggYzYyYzQ2NGZkZmRjZDhjMzU3NTZi
MGUzOGRhZDBmODkzOTA1ODg2Ny4uZTY0NTA4NGJjZDYwYzQ1Y2U3NmYzYTAzY2ZkM2Y3ODNmMTY5
MzQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVDRE1Db25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUg
PFdlYkNvcmUvQ29udGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24u
aAppbmRleCA2NTMyZDcyZTdjZTRiODUzZjJkM2I5MzQ1NWUxOTI4MWM0MTlmYTQzLi5hODY1ODBi
ZjE4NjMxYmIzYmM4MjZiNTNhZjFmMmQ1NDg2ZTQ2MjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFu
Y2VDb25maWd1cmF0aW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgPFdlYkNvcmUvQ29u
dGVudFR5cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAppbmRleCAxZDZiM2VlM2U5NWU4MGFl
ODYwZTk2NmI4YzkyNzNkMDg2NTNhOGFjLi5hNDE2OWQ1YjFhNTY4OGNiZDY5YzU5ZDhiOGE5ZmMy
ZGFkNWIyY2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKQEAgLTY2LDYgKzY2LDggQEAg
cHVibGljOgogCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyIGZpbmRSZW1vdGVQ
bGF5ZXJJZChjb25zdCBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqKTsKIAor
ICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZT4gY3Jl
YXRlUmVtb3RlTWVkaWFQbGF5ZXIoV2ViQ29yZTo6TWVkaWFQbGF5ZXIqLCBXZWJDb3JlOjpNZWRp
YVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwogCkBAIC04Myw4ICs4NSw2IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJF
bnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBXYWxsVGltZSBtb2Rp
ZmllZFNpbmNlKTsKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZUZvck9yaWdpbnMoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBIYXNoU2V0PFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4+Jik7CiAKLSAgICBS
ZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpNZWRpYVBs
YXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOwotCiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpNZWRpYVBsYXllcklkZW50aWZpZXIsIFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Pj4gbV9wbGF5ZXJzOwogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKICAgICBtdXRhYmxlIEdQ
VVByb2Nlc3NDb25uZWN0aW9uKiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uIHsgbnVsbHB0ciB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNiNjU5NDYxMDA2NzA1
MTcyZTE2ODA2ZmUxNzM1NTUzZDEzOTRiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgKQEAg
LTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSA8d3RmL09iamVj
dElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllclR5cGU+Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YWExMTY1ZDBkYTQyZWY2YzhiNjMzNzM3NTBkOGQ4M2NmMDEy
MzA4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE1OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisjaW5jbHVk
ZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKKyNl
bmRpZgorfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKK1JlZjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIs
IGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRlKQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24sIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIG1lZGlhU291cmNl
UHJpdmF0ZSkpOworfQorCitTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwg
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
LCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0ZSkKKyAg
ICA6IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAgLCBt
X3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIocmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
cikKKyAgICAsIG1fbWVkaWFTb3VyY2VQcml2YXRlKG1ha2VXZWFrUHRyKG1lZGlhU291cmNlUHJp
dmF0ZSkpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ2dlcihtX21lZGlh
U291cmNlUHJpdmF0ZS0+bG9nZ2VyKCkpCisgICAgLCBtX2xvZ0lkZW50aWZpZXIobV9tZWRpYVNv
dXJjZVByaXZhdGUtPm5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKK3sK
KyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b24ubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7Cit9CisKK1NvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6On5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIEFTU0VSVCghbV9jbGllbnQpOworCisgICAgbV9n
cHVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldENsaWVudChTb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50KiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBjbGllbnQ7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFy
PiYmIGRhdGEpCit7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OkFwcGVuZChJUEM6OkRhdGFSZWZl
cmVuY2UoZGF0YSkpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpOworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmFib3J0KCkKK3sKK30KKwordm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpyZXNldFBhcnNlclN0YXRlKCkKK3sKK30KKwordm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlhU291cmNlKCkKK3sKK30KKwor
TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVhZHlT
dGF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRp
YVNvdXJjZVByaXZhdGUtPnBsYXllcigpLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVh
ZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkKK3sKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lE
KQoreworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVldWVTYW1wbGUo
UmVmPE1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCiti
b29sIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUoYm9vbCkKK3sKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2Ft
cGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29u
c3QgQXRvbVN0cmluZyYpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRp
bWUoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3ZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25U
aW1lKGNvbnN0IEF0b21TdHJpbmcmKQoreworfQorCitib29sIFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OmNhblN3aXRjaFRvVHlwZShjb25zdCBDb250ZW50VHlwZSYpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9jbGll
bnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRSZXN1bHQpOworfQor
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nTWVkaWE7
Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI5YTAxYjA2MjVlM2I3YzdmMDExODRhODNjMzZlNTQ5MTIyZjA5
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFTYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaD4KKyNpbmNs
dWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVm
ZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlOworCitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIGZpbmFsCisgICAg
OiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4KKyAgICAs
IHB1YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlCisgICAgLCBwcml2YXRlIElQQzo6
TWVzc2FnZVJlY2VpdmVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRl
IExvZ2dlckhlbHBlcgorI2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVT
b3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmKTsK
KyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCk7CisKKyAgICB2b2lkIGNs
ZWFyTWVkaWFTb3VyY2UoKSB7IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gbnVsbHB0cjsgfQorCitw
cml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24mLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGUmKTsKKworICAgIC8vIFNvdXJjZUJ1ZmZlclByaXZhdGUgb3ZlcnJpZGVzCisgICAg
dm9pZCBzZXRDbGllbnQoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCopIGZpbmFs
OworICAgIHZvaWQgYXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKSBmaW5hbDsKKyAgICB2
b2lkIGFib3J0KCkgZmluYWw7CisgICAgdm9pZCByZXNldFBhcnNlclN0YXRlKCkgZmluYWw7Cisg
ICAgdm9pZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCkgZmluYWw7CisgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQg
c2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSkgZmluYWw7Cisg
ICAgdm9pZCBmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lk
IGVucXVldWVTYW1wbGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBjb25zdCBBdG9tU3Ry
aW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNldEFjdGl2ZShib29sKSBm
aW5hbDsKKyAgICB2b2lkIG5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0
IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgY2FuU2V0TWluaW11bVVwY29t
aW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QgZmluYWw7CisgICAg
dm9pZCBzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcm
LCBjb25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyTWluaW11bVVwY29taW5n
UHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgZmluYWw7CisgICAgYm9vbCBjYW5T
d2l0Y2hUb1R5cGUoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmKSBmaW5hbDsKKworICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKworICAgIEdQVVByb2Nl
c3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOworICAgIFdlYWtQ
dHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291cmNlUHJpdmF0ZTsKKyAgICBX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIgfTsK
KworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCBjaGFyKiBs
b2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5l
bCgpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IExvZ2dlciYgc291cmNlQnVmZmVyTG9nZ2VyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBz
b3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRpZmllcigp
OyB9CisKKyAgICBSZWY8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBt
X2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFh
MTk4MjExY2U5OWFiYWQ1YjhlZTA3ZmQ0ZTE3N2JkZmE5NWE0MGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CisgICAgU291cmNlQnVmZmVy
UHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414277</attachid>
            <date>2020-11-16 14:18:00 -0800</date>
            <delta_ts>2020-11-16 14:45:45 -0800</delta_ts>
            <desc>WIP patch: fix build failures on WPE and GTK ports (again)</desc>
            <filename>bug-218912-20201116141759.patch</filename>
            <type>text/plain</type>
            <size>130354</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGJlYjAwNjBiYWVhNDM5
NGEwNTA0Y2NlZDI2N2U2MjYwMGEzOTZiNzYuLmQ2ZTgwNjZhYzM5ODQyNDEyZmU5NDQ5MjRhNDQz
YTg2MTkyZGJlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTIxMiw2ICsxMjEyLDggQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyRW51bXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVySWRl
bnRpZmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAorICAgIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFVc2FnZUluZm8uaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL05hdGl2ZUltYWdlLmgKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9OYXRpdmVJbWFnZVJlZmVyZW5jZS5oCkBAIC0xMjMzLDYgKzEy
MzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9SZW5kZXJpbmdNb2RlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVj
dC5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCisgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UYWJTaXpl
LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4
Njk1MjNjNDAxODc1OWVlNzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2Vj
NmIxOWEzZDczMjRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8
UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVy
UHJpdmF0ZShjb24KIAogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZm
ZXJQcml2YXRlOwogICAgIHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwg
c291cmNlQnVmZmVyUHJpdmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6
CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJl
dHVybiBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3Mu
dzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVy
LURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1J
TUUgdHlwZSAuLi4gdGhhdCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAg
IC8vIHNwZWNpZmllZCBmb3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJj
ZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNl
cHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hl
ZElkTGltaXQ6CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hl
ZElkTGltaXQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVk
aWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1N
ZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAg
ICAgICAgIC8vIFN0ZXAgMzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3Jl
IFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2Vl
ZGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0Mjky
NjhkNzYxNzVlOTMyMDBlYzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEz
NGIyZGYzY2RkYjllOTAzNWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBT
b3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBU
b3A6IElmIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBt
b3JlIGRhdGEgc3RlcCBiZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgp
KSB7Ci0gICAgICAgIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNj
ZWVkZWQpOworICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5k
UmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02
NTgsNyArNjU4LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShBcHBlbmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0
IGJ1ZmZlciBjb250YWlucyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRl
IHN0cmVhbSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5k
IGVycm9yIGFsZ29yaXRobSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0
cnVlIGFuZCBhYm9ydCB0aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdG
YWlsZWQpIHsKKyAgICBpZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkg
ewogICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAg
ICAgICAgYXBwZW5kRXJyb3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KEFwcGVuZFJlc3VsdCByZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAz
LjUuNQogICAgIC8vIDIuSWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRo
ZSBwcmV2aW91cyBzdGVwIHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgot
ICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBw
ZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMu
IFNldCB0aGUgdXBkYXRpbmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYx
ZDI5YzBjMjZiMmU1ZWQxNjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1
ZmUwOWI4MzkzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIw
MDRCRDg2RiAvKiBJU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8q
IElTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09y
aWdpbmFsRm9ybWF0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDg3MUM2NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3gu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYy
RkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdE
IC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0J
CUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVE
MDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThG
NUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0Q2NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQx
RUIyMTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAw
MDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8q
IElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDdEMzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDVi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNEN0QzMzQ4MUM3QTE2QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAw
MDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMz
RERCMEEwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQ
YXJzZWRDb250ZW50UmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDRENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIx
OEMwQUUzMTAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyog
U2FtcGxlTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDREQ3MDg5NTE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdB
OUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQg
LyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0RERTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5k
YXRpb25PYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RERTAyRUIxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpD
Lm1tICovOyB9OwogCQlDRERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3Ry
ZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEREUwMkVGMThCNTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9u
Lm1tICovOyB9OwogCQlDREUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZh
dGVBVkYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTNBODUyMTdGNUZDRTYwMEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZj
OGJlNmM4N2EwZjJmZGU4MjJiZDEzMDQwZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNm
ZDU0ODg5YTNlYmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0xNDU3LDcgKzE0NTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJj
ZShjb25zdCBVUkwmIGluaXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAg
ICAgLy8gd2hpbGUgcHJvY2Vzc2luZyByZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAg
ICAgICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdG
YWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9
IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNl
LmdldCgpKSkgeworICAgICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVk
aWFTb3VyY2UuZ2V0KCkpKSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUg
TWVkaWFTb3VyY2UgYmVmb3JlIHdlIGZvcmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAg
ICAgICAgbV9tZWRpYVNvdXJjZS0+ZGV0YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAg
ICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5
cGUuaAppbmRleCA3YzI3OGE2OGUzODlhZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4
YjkzY2E5YTk1MjgyMjRhZWEyM2M0NDVlOGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NvbnRlbnRUeXBlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0
cmluZyYgcmF3KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlLmlzRW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0
cmluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBj
b25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlk
MDkxODVhNzJiLi4xNzA0Mzg1ZGRjNzg4ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBA
IC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBm
aW5hbCB7IH0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxv
YWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5k
aWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKSBmaW5hbCB7IH0KQEAgLTQ3MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6
OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29u
c3QgU3RyCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6
bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9h
ZChjb25zdCBVUkwmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkK
IHsKICAgICBBU1NFUlQoIW1fcmVsb2FkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1l
ZGlhU291cmNlKTsKIAogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2Nv
bnRlbnRUeXBlID0gY29udGVudFR5cGU7CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBt
X3VybCA9IHVybDsKICAgICBtX2tleVN5c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250
ZW50TUlNRVR5cGVXYXNJbmZlcnJlZEZyb21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1
ODYsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBN
ZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAg
ICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsK
KyAgICAgICAgICAgIG1fcHJpdmF0ZS0+bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7
CiAgICAgICAgIGVsc2UKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFj
YmJiYjFhNjk4Y2EzZDQwNzA2NjJmMWQzZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIz
OTZhZjMwMmVkZTUyMmZiZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSk7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBi
b29sIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZh
dGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKaW5kZXggZjliOTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRh
NTgwMi4uY2Q5N2M2MjY5ZWJiYTI2N2M3MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwu
c3RyaW5nKCkpOyB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KikgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFs
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdm
MTRkOGUxOTY2YjgzOTcxODRiZDJiZDg3ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNj
MzQxNzNiNTk0N2U4NmEzMzNhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2
YXRlX2gKLSNkZWZpbmUgTWVkaWFTb3VyY2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAg
TWVkaWFTb3VyY2VQcml2YXRlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNl
UHJpdmF0ZSgpID0gZGVmYXVsdDsKIAotICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBv
cnRlZCwgUmVhY2hlZElkTGltaXQgfTsKKyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4
X3QgeworICAgICAgICBPaywKKyAgICAgICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVk
SWRMaW1pdAorICAgIH07CiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNv
bnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVh
bVN0YXR1cyB7IEVvc05vRXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsK
QEAgLTg4LDcgKzkyLDE1IEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGU6OkVuZE9mU3RyZWFtU3RhdHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4g
eworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVBy
aXZhdGU6OkFkZFN0YXR1czo6T2ssCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZTo6QWRkU3RhdHVzOjpSZWFjaGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAogI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRl
eCAwMDU2NWE5MWZlYTk4YTY0MThhNDQ2MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJl
YTI0YWFlNjk4ZWUxNWIwNjgxOTE1NDFjMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBA
IC03MywxMSArNzMsMjggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNl
QnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBj
b25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVu
ZFJlc3VsdCB7IEFwcGVuZFN1Y2NlZWRlZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxl
ZCB9OworICAgIGVudW0gY2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFw
cGVuZFN1Y2NlZWRlZCwKKyAgICAgICAgUmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2lu
Z0ZhaWxlZAorICAgIH07CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShBcHBlbmRSZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVm
ZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9
OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAg
ICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpB
cHBlbmRTdWNjZWVkZWQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdDo6UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAg
PjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NP
VVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5jcHAKaW5kZXggYWQ0YmM5MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5
Mi4uNWFiNzEzNzU0NzZjNWYzMDdjZDljNTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAg
LTE4MSw3ICsxODEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9h
ZChjb25zdCBTdHJpbmcmIHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b246OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBz
ZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oCmluZGV4IDQzOGU0ODRhZGViYzZiYmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJm
OGY3NWZhYjQ0NjQ3ODc5NDEzNjc4ZjQ2YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFj
ZSBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBv
dmVycmlkZSB7IHNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3Jt
YXRFcnJvcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUy
ZTNhMDdlMTNkZmQwOTE1ZTA3N2UzZGY5Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIz
MDk0MmZkMjY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlw
ZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNr
SGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAg
ICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdl
dCgpOyB9CiAgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gIk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25z
dCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB2b2lkKj4obV9sb2dJZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsg
cmV0dXJuIGxvZ0lkZW50aWZpZXIoKTsgfQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJM
b2dnZXIoKSB7IHJldHVybiBsb2dnZXIoKTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0
ZSB7CiAgICAgICAgIFNlZWtpbmcsCkBAIC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNv
bnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJy
aWRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUx
YWUyNWIzYzk0Mjc4Mzg0NjkyYWIwMWFlYTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJh
OGFjZTVmYTA3NzczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2
Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNv
bnN0IFN0cmluZyYpCiAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAot
dm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3Ry
aW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQqIGNsaWVudCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBi
YWRmNDY4Zjg2Y2U0YzkuLmE0ZjRkNDQ2OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3Ry
ZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0
NjE2YTgyYjNjMGU3NjMuLjA5NGNlYjcwN2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQog
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChj
b25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVk
aWEgZW5naW5lIG9ubHkgc3VwcG9ydHMgTWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURl
ZmVycmVkVGFzayhbdGhpc10gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5oCmluZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEy
MDk0OGY2ZGFjZTYuLmRjNDYyMDNiZThmNGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
LmgKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQ19oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akNfaAorI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZG
T1VOREFUSU9OKQogCkBAIC0xNDksNSArMTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0K
aW5kZXggZWY0NTNhZThkZGJlODE0NThkMmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNh
Nzk0ZmEwMTY5ZjljZTBmNmY5MmZlYWI1NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEg
QEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2Ug
PSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhw
YXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkK
LSAgICAgICAgcmV0dXJuIE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6
Tm90U3VwcG9ydGVkOwogCiAgICAgYXV0byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNy
ZWF0ZShjb250ZW50VHlwZSk7CiAgICAgaWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RT
dXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAg
IGF1dG8gbmV3U291cmNlQnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0
ZSh0aGlzLCBwYXJzZXIucmVsZWFzZU5vbk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKQEAgLTk3LDcgKzk3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQ
cml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMu
YXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAg
cmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0K
aW5kZXggOTE0OTZkMjQxZmZiNjEwZDk2OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVl
ZTUxYmRhMTRiOWI1ZjY2MzQxNWI5ODQ2NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYg
QEAKICNpbXBvcnQgIk1lZGlhU2FtcGxlLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMu
aCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdElt
cGxlbWVudGVkLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1
ZmZlclBhcnNlckFWRk9iakMuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQu
aCIKQEAgLTU4Niw3ICs1ODUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjph
cHBlbmRDb21wbGV0ZWQoKQogICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9h
ZGluZ1Byb2dyZXNzc2VkKHRydWUpOwogCiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2Ns
aWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRl
ZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNpbmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291
cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0K
IAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3
OTE5YTBlOWIzMzE5Y2ZmNDZjMmZmYzEwMWYxLi41N2I2ODM4MzIwNjM0MDg2MzI2YjY0OGI2N2I3
YjY0MzA5M2EyYjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcApAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0
IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KQogewogICAgIC8vIFByb3Blcmx5IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmll
cyB0byBmYWxsYmFjayB0byB0aGUgbmV4dCBNZWRpYVBsYXllclByaXZhdGUuCiAgICAgbV9uZXR3
b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBlMDE2MTViMGYz
YTM1MGQ2ZjA3NTA4NjJlMzYwYTZiMGNkYjc3NDlmLi5jMDhhZjhkMmI4NmQyNGMzMDQ1ZDFjNzIw
NGQ0ZjkzZjBlZDBhNTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCkBAIC0xNDIsNyArMTQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8o
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBsb2FkKGNvbnN0
IFN0cmluZyAmdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZv
aWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3Zl
cnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dCopIG92ZXJyaWRlOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lk
IGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggYzQ0Y2Ez
OTY3YWIwZmYwNjkwZjBjZDJlZTYzMzRkY2M1ZDBkN2ZiOC4uZGY4NWQzZGFiNGY5Mzc1ZTU3MGUz
ZDUzYjQxYjc3MmMzN2FhYTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcApAQCAtMTM4LDEwICsxMzgsMTAgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcpCiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKHVybFN0cmluZyk7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZSA9
IG1lZGlhU291cmNlOwotICAgIGxvYWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwpKTsK
KyAgICBsb2FkKG1ha2VTdHJpbmcoIm1lZGlhc291cmNlIiwgdXJsLnN0cmluZygpKSk7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpwYXVzZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCA3
ZTQ4MWU2NTc0ODllMjcxYjQ0ZjEzZmMzNWI0NDk0YzZjNTY2ZGVjLi4wNjkyNzY2MjY0OTQ1OTA2
ZGY4MjgzZDNhZDk1NzIzNjk3OGY1MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3Ry
YXIpOwogCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsK
KyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRl
IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKaW5kZXggYjAwNWQw
ZDMzNTI2NjRmN2Y5YmVkOWY3MDIwOTc3MmFiMDAyNzQ1MC4uMWU4OGFkMTYxMWJlZDU0NTgyYjkx
MDMwOTI2MmZjNzI3MjMyNjUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUu
Y3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxh
eWJhY2tQaXBlbGluZTo6YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKIAogICAgIGlm
IChwcml2LT5hbGxUcmFja3NDb25maWd1cmVkKSB7CiAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1Qo
bV93ZWJLaXRNZWRpYVNyYy5nZXQoKSwgIkFkZGluZyBuZXcgc291cmNlIGJ1ZmZlcnMgYWZ0ZXIg
Zmlyc3QgZGF0YSBub3Qgc3VwcG9ydGVkIHlldCIpOwotICAgICAgICByZXR1cm4gTWVkaWFTb3Vy
Y2VQcml2YXRlOjpOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogICAgIH0KIAogICAgIEdTVF9ERUJVR19PQkpF
Q1QobV93ZWJLaXRNZWRpYVNyYy5nZXQoKSwgIlN0YXRlICVkIiwgaW50KEdTVF9TVEFURShtX3dl
YktpdE1lZGlhU3JjLmdldCgpKSkpOwpAQCAtMTQwLDcgKzE0MCw3IEBAIE1lZGlhU291cmNlUHJp
dmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8
U291cmNlQnVmCiAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3dlYktpdE1lZGlhU3JjLmdldCgp
KSwgc3RyZWFtLT5hcHBzcmMpOwogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJl
bnQoc3RyZWFtLT5hcHBzcmMpOwogCi0gICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s7
CisgICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpPazsKIH0KIAogdm9p
ZCBQbGF5YmFja1BpcGVsaW5lOjpyZW1vdmVTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXI+IHNvdXJjZUJ1ZmZlclByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBkM2E4N2Vm
ZTg5YWViM2FkNTY3ZGVjNDhhMWUxYTdlZTQzZTVjNDhjLi5jOTA0MjdlNGVkM2VjN2E4MWE3YmJi
OTMyZWM0YjhiZDExMGNhMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NCwxMiArMTk0LDEyIEBAIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYg
c2FtcGxlKQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVB
bGxQZW5kaW5nU2FtcGxlcygpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5z
b3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6QXBwZW5kU3VjY2VlZGVkKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQtPnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcjo6YXBwZW5kUGFyc2luZ0ZhaWxlZCgpCiB7Ci0gICAgbV9zb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6UGFyc2luZ0ZhaWxlZCk7CisgICAgbV9zb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAog
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmNwcAppbmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1
MmYxLi5jN2EwZjcxZGZlNjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBA
IHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNv
dXJjZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJj
ZSkKK3ZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZh
dGUgPSBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRh
MjEzOTRmMzc2YzdmMjk2NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1
ODQ5NDcyMjA3ZmNkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXll
clByaXZhdGUgT3ZlcnJpZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVy
cmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2Fh
ZmEwMGU3NWJjOGZmOGZmMWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5
ZGYwMmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02Mywx
MiArNjMsMTIgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNl
UHJpdmF0ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVk
aWFTb3VyY2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAg
IGlmIChNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMp
ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICBy
ZXR1cm4gTm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0
ZWQ7CiAKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRl
OjpjcmVhdGUodGhpcykpOwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgp
OwogCi0gICAgcmV0dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lk
IE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQ
cml2YXRlKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmlu
ZGV4IGY0ZGFkMDM3MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2
ZjQ5MjA0MmQ3YWIxZWRmN2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGUuY3BwCkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVy
UHJpdmF0ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZv
aWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4m
JiBkYXRhKQogewogICAgIG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZm
ZXIuc2l6ZSgpICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRT
dWNjZWVkZWQpIHsKKyAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09
IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVk
KSB7CiAgICAgICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVm
ZmVyLmRhdGEoKSwgbV9pbnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVu
Z3RoID0gTW9ja0JveDo6cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94
TGVuZ3RoID4gYnVmZmVyLT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBN
b2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRh
dGEpCiAgICAgICAgICAgICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3go
YnVmZmVyLnB0cigpKTsKICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsK
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpQYXJzaW5nRmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1f
aW5wdXRCdWZmZXIucmVtb3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJl
NDc0NTM0MGQyNjE3YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlh
ZTc4NmU3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKQEAgLTM1LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4
ICs5Nyw4IEBAICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHku
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3Rv
clVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9V
SVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0x
MzYsNiArMTM4LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9TZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdh
Y3lDRE1TZXNzaW9uLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGli
V2ViUlRDUmVtb3RlQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9s
b2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5z
cGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9X
ZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3
NjVhNWFlOGRjMTE3NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5
MzI1NmJjMjQ4ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlN
ZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9S
ZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApA
QCAtMjUxLDYgKzI1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9s
bGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlv
bkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBs
aWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVj
aFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hS
ZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1l
c3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0
b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJN
ZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2Fn
ZXNSZXBsaWVzLmgKQEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3Bl
Y3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9u
Q29udHJvbGxlck1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGll
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNw
ZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxp
ZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFi
MDFjMTRjMTQxZGNmNDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdm
NDI0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBA
IE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3MgXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRp
YS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU2Vzc2lvbiBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQ
cm92aWRlck1hbmFnZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNl
U2Vzc2lvbiBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBc
CisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJv
Y2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdF
X1JFQ0VJVkVSUyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lv
blByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvRGVzdGluYXRpb25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3Rv
cnlQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBc
CiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBc
CiAjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1
YTFhYy4uOTgwZDY0MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRl
cnMuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TUZhY3RvcnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUz
MTFmYzJlMTYyNzMzMTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90
ZUxlZ2FjeUNETVNlc3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRT
ZXNzaW9uKGNvbnN0IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2
NzRhMWM4MTcxLi43MDEzNTcwNzgxZjhmNTE3YzgxOGQyMTBkOTI2Y2E2ZTI0NmU5N2YwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFS
ZXNvdXJjZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlc291cmNlTG9hZGVy
LmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCIKKyNpbmNsdWRlICJS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVUZXh0VHJh
Y2tQcm94eS5oIgogI2luY2x1ZGUgIlJlbW90ZVZpZGVvVHJhY2tQcm94eS5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtMTMxLDYgKzEzMiwxNiBAQCB2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OmxvYWQoVVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGU+JgogICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29uZmlndXJhdGlv
bikpOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bG9hZE1lZGlhU291cmNlKFVSTCYmIHVybCwgUmVtb3RlTWVkaWFTb3VyY2VJZGVu
dGlmaWVyIG1lZGlhU291cmNlSWRlbnRpZmllcikKK3sKKyAgICBtX21lZGlhU291cmNlUHJveHkg
PSBhZG9wdFJlZigqbmV3IFJlbW90ZU1lZGlhU291cmNlUHJveHkobWVkaWFTb3VyY2VJZGVudGlm
aWVyLCBtX21hbmFnZXIuZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcygpKSk7CisgICAgbV9tYW5h
Z2VyLmdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoKS5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbWVkaWFTb3VyY2VJZGVudGlmaWVyLnRvVUludDY0KCksICptX21lZGlh
U291cmNlUHJveHkpOworCisgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlUHJv
eHkuZ2V0KCkpOworfQorI2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2Fu
Y2VsTG9hZCgpCiB7CiAgICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5zdG9wKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuaAppbmRleCA4NmFhNDJjZWJmZDcwM2UwYzBiZWJjM2VkMGQwZTQxODU1OWE2
NjdhLi5jN2IzYzk2YTVkMzBmM2M0NTYwOTYyYjExZjliZDdmZWFkZGQ4YjE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmgKQEAgLTUyLDYgKzUyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNSW5zdGFuY2VQcm94
eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJv
eHkuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU2hhcmVkUmlu
Z0J1ZmZlclN0b3JhZ2UuaCIKICNlbmRpZgpAQCAtMTA5LDYgKzExNCw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHByZXBhcmVGb3JSZW5kZXJpbmcoKTsKIAogICAgIHZvaWQgbG9hZChVUkwmJiwgT3B0
aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50
VHlwZSYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3RlTWVkaWFQ
bGF5ZXJDb25maWd1cmF0aW9uJiYpPiYmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAg
IHZvaWQgbG9hZE1lZGlhU291cmNlKFVSTCYmLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIp
OworI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBhcmVUb1Bs
YXkoKTsKQEAgLTMwMCw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIFJlbW90ZU1lZGlhUGxheWVy
U3RhdGUgbV9jYWNoZWRTdGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJh
dGlvbiBtX2NvbmZpZ3VyYXRpb247CiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDxNZWRpYVRpbWU+KT4gbV9wZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhhbmRsZXI7
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eT4gbV9tZWRpYVNvdXJjZVByb3h5OworI2VuZGlmCiAKICAgICBXZWJDb3JlOjpMYXlvdXRS
ZWN0IG1fdmlkZW9Db250ZW50Qm94UmVjdDsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVudFNjYWxl
IHsgMS4wIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY5NmEwZGEy
NGQ3NmU1YWU3NDVmODIxYTUxYTg0MDE4ZjY1NWYxOTIuLmEyODg2MThmOTllNGY1NTg4OWViZDll
MzQwZmM3NzQ0ZjU2OTk3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBA
IC0yNyw2ICsyNyw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVm
Q291bnRlZCB7CiAgICAgUHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIGVudW06
dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpQcmVsb2FkIHByZWxvYWQsIGJvb2wg
cHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgZmxvYXQgdmlkZW9Db250
ZW50U2NhbGUpIC0+IChPcHRpb25hbDxXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRD4gaW5s
aW5lTGF5ZXJIb3N0aW5nQ29udGV4dElkKSBBc3luYwogCiAgICAgTG9hZChVUkwgdXJsLCBPcHRp
b25hbDxXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVuc2lvbiwg
V2ViQ29yZTo6Q29udGVudFR5cGUgY29udGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0pIC0+IChz
dHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVyQ29uZmln
dXJhdGlvbikgQXN5bmMKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIExvYWRNZWRpYVNv
dXJjZShVUkwgdXJsLCBXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNv
dXJjZUlkZW50aWZpZXIpIFN5bmNocm9ub3VzCisjZW5kaWYKICAgICBDYW5jZWxMb2FkKCkKIAog
ICAgIFByZXBhcmVUb1BsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlODU2YjVj
ZDJhNjNhODg3ZjYzMzM0ODliZmExY2Y2NjBiZGNlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKQEAg
LTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2
YXRlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcykKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mp
Cit7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9wZW4o
UmVmPE1lZGlhU291cmNlUHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgQVNT
RVJUKCFtX3ByaXZhdGUpOworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQcml2
YXRlKTsKK30KKworTWVkaWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1U
aW1lUmFuZ2VzPiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1ha2VVbmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lkIFJl
bW90ZU1lZGlhU291cmNlUHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sKK30K
Kwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygpCit7
Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eTo6c2V0TG9nSWRlbnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2b2lk
IFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJU
eXBlKQoreworfQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZl
cihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1ZmZl
ckNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+
IHNvdXJjZUJ1ZmZlclByaXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMg
c3RhdHVzID0gbV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJjZUJ1
ZmZlclByaXZhdGUpOworCisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
cj4gcmVtb3RlU291cmNlSWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291cmNl
UHJpdmF0ZTo6QWRkU3RhdHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShpZGVu
dGlmaWVyLCBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUucmVs
ZWFzZU5vbk51bGwoKSk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShy
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlmaWVy
ID0gaWRlbnRpZmllcjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNvdXJj
ZUlkZW50aWZpZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU1NWYxNDJlZTg4MzVhNzNhODU1NjZmY2VhZWIzMDI3Y2NjMzY4ZmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFT
b3VyY2VQcm94eS5oCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2lu
Y2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRl
bnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
U291cmNlUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9u
OworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOwor
Y2xhc3MgUGxhdGZvcm1UaW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSBmaW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dAorICAgICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2
aXJ0dWFsIH5SZW1vdGVNZWRpYVNvdXJjZVByb3h5KCkgPSBkZWZhdWx0OworCisgICAgLy8gTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50IG92ZXJyaWRlcworICAgIHZvaWQgc2V0UHJpdmF0ZUFuZE9w
ZW4oUmVmPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4mJikgZmluYWw7CisgICAgTWVkaWFU
aW1lIGR1cmF0aW9uKCkgY29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNl
ZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBtb25pdG9yU291cmNl
QnVmZmVycygpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBz
ZXRMb2dJZGVudGlmaWVyKGNvbnN0IHZvaWQqKSBmaW5hbDsKKyNlbmRpZgorCisgICAgdm9pZCBm
YWlsZWRUb0NyZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkgZmluYWw7CisKK3ByaXZhdGU6Cisg
ICAgZnJpZW5kIGNsYXNzIFJlbW90ZU1lZGlhUGxheWVyUHJveHk7IC8vIFRPRE8/CisKKyAgICAv
LyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZl
U3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVf
cHRyPElQQzo6RW5jb2Rlcj4mKSBmaW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNh
bGxiYWNrID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1cywgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNv
bnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisK
KyAgICBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQ
dHI8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJl
ZlB0cjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBF
TkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jYTZiNzUyZDc3MDYwZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291
cmNlUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+
IFJlbW90ZU1lZGlhU291cmNlUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVm
ZmVyKFdlYkNvcmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdl
YkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2Vi
S2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyKSBTeW5jaHJvbm91cworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI0YmZjYTE2MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKKworI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitlbnVtIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5n
IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRl
YTc0Njk4NWJjZGZlMTdlZDVjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291
cmNlQnVmZmVyUHJveHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgor
I2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJj
ZUJ1ZmZlclByaXZhdGUpCit7CisgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFk
b3B0UmVmKCpuZXcgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlv
blRvV2ViUHJvY2VzcywgV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVy
biByZW1vdGVTb3VyY2VCdWZmZXJQcm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6
OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRl
bnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2Vz
cywgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNz
KGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RG
TW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIu
dG9VSW50NjQoKSwgKnRoaXMpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50
KHRoaXMpOworfQorCitSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5KCkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVy
TWFwKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9
CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRS
ZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYp
Cit7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0
ZVJlZW5xdWVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQg
UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFk
eUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlh
VGltZSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVr
VGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25z
dCBNZWRpYVRpbWUmKQoreworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNl
QnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVu
ZFJlc3VsdCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9y
Q29kZSkKK3sKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUt
PmFwcGVuZChkYXRhLnZlY3RvcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVy
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxMjBhOGEyZWNiOTNjMWEzNzllOTFiOTZmYzk5OGQwMzBi
ZmY1MGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlU291cmNlQnVmZmVyUHJveHkuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMg
eworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNl
OworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisg
ICAgOiBwdWJsaWMgUmVmQ291bnRlZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1
YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQ
Qzo6TWVzc2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eSgpOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5h
bDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6
Ok1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVk
aW8oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygp
IGNvbnN0IGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBs
ZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZm
ZXJQcml2YXRlRGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0
cmFja0lEKSBmaW5hbDsKKworICAgIE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNl
ZWtUaW1lRm9yTWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNv
bnN0IE1lZGlhVGltZSYpIGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBw
ZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVz
dWx0KSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVy
aW5nRXJyb3IoaW50IGVycm9yQ29kZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNs
YXNzIFJlbW90ZU1lZGlhU291cmNlUHJveHk7CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHko
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYs
IFJlZjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVz
c2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpF
bmNvZGVyPiYpIGZpbmFsOworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJik7CisKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsK
KyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7
CisgICAgUmVmPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJp
dmF0ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQ
VV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0
M2ZlMGUwMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisKK21lc3NhZ2VzIC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQg
eworICAgIEFwcGVuZChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAppbmRleCA5NzdmOTNm
ZjVjM2MyYjgxNzg0NmM5YTlhNzU1MTc4OWM4ZWZlMDVjLi42MWI4OTBkYzc4NjdjMzNiMDA1ZjIy
ZTkzYmIxYWY0N2RkZDNiMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWFuYWdlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRlY29kZXIuaCIK
ICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJv
Y2Vzcy5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIgogI2lu
Y2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4NzY0OTVmYjFhY2M5
MDRjMWVhMjUwNjkwOTNiMjAwZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMxNjhlNzlhMDU3Zjlk
YmRiOWI4Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAg
LTI1OSw2ICsyNTksOCBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJl
ZCgpOgogICAgICAgICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAg
ICAgJ1dlYktpdDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAn
V2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6
OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5k
SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAg
ICAgICAgJ1dlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTAz
NzlmMmZmYTgzMzc0YzE0ZDE3ZDdiYzllYzMwNjA2N2UxMzc2Mi4uMDkxN2YwMWJlMWM5ZjhjYWEy
YWJmN2YwZjg5MGY4OTVhM2YyZWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Miw2ICs0Miw4IEBAIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFSZXNvdXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFS
ZXNvdXJjZUxvYWRlci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXIuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCitH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVUZXh0VHJhY2tQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlk
ZW9UcmFja1Byb3h5LmNwcAogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXIuY3BwCkBAIC01NzAsNiArNTcyLDcgQEAgV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvZ3Jh
cGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
QXVkaW9UcmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0
aW9uUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3Bw
CiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE0uY3BwCkBAIC01ODIsNiArNTg1LDcgQEAg
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCitXZWJQcm9jZXNz
L0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1Zp
ZGVvVHJhY2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvV2ViTWVkaWFT
dHJhdGVneS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGUzMzg0N2FlMTZhY2M5OWE3Mzk0MzQ3NDRkOGEzZGY2YzI4Y2FiZmMuLmVi
NzZiMGUyN2ZkY2JjMDBiMGE4MWQxZjkzZTlkYWJmNTgyNmZkMzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIxLDYgKzQyMSw5IEBA
CiAJCTFENEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
ck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi87IH07CiAJCTFEQjAxOTQzMjExQ0YwMDIwMDlGQjNF
OCAvKiBXS1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBXS1NoYXJlU2hlZXQuaCAqLzsg
fTsKIAkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkJCMDYxMjExQ0MzQ0Iw
MDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi87IH07CisJCTFERDJBNjYzMjU2MTI0NkYwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYyMjU2MTIyRjEw
MEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKKwkJMUREMkE2NkUyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2
RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjcyMjU2MjMyNEYw
MEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LzsgfTsKIAkJMUYzMzVCQzAxODVCODRGMDAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxv
YWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUYzMzVCQkYxODVCODREODAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxl
Z2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTFGNjA0QkFBMTg4OUZCQjgwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0lu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
RjYwNEJBNzE4ODlGQTc0MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRl
cm5hbC5oICovOyB9OwogCQkxRjc1MDZCMTE4NTkxNjM3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNz
UGx1Z0luRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFGMDE4MTY5MTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yODE0
LDYgKzI4MTcsMjggQEAKIAkJMURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEQTQwODlFMjNBODI3NzgwMDU4
Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFEQkJCMDYxMjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1NoYXJlU2hlZXQubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlLmNwcDsgcGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3VyY2Uv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUuY3BwOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzNzI1NURFNjc1
MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
REQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRTI1NUUzRjFG
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJB
NjNGMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVm
ZmVyUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8qIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDYy
NTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNl
UHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5p
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjAyNTYxMjJGMTAwRkY3QjZG
IC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CisJCTFERDJBNjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjY2MjU2MUVE
MDQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY2OTI1NjIwMjFFMDBGRjdCNkYg
LyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkEyNTYyMDIxRTAw
RkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2Fn
ZXNSZXBsaWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CisJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkYy
NTYyMkYxMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjcyMjU2MjMyNEYwMEZGN0I2
RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
KwkJMUREMkE2NzMyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVN
ZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2Fn
ZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFE
RTA3NkQ5MjQ2MENDQkQwMEIyMTFFOCAvKiBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2Nv
YS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0Nv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUwRDA5NTIxMUNDMjEzMDA0
MzlCNUYgLyogV0tTaGFyZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLU2hhcmVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUyREZBQzIz
QTk1OUY4MDAzRTAxM0EgLyogUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTU2MzMsNiArNTY1OCw4IEBACiAJCQkJMDc5MjMxMzEyMzlCM0IwQzAw
OTU5OEUyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDc5MjMxMzIy
MzlCM0IwQzAwOTU5OEUyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTA3
QjFEMDRCMjNEMzhGQ0UwMDM5OUE2RSAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2Fn
ZXMuaW4gKi8sCisJCQkJMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZS5jcHAgKi8sCisJCQkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTlCNUJFQzI5MjQwMTAxNTgwMDcwQzZFRiAv
KiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwICovLAogCQkJCTlCNUJFQzI4MjQwMTAx
NTgwMDcwQzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCAqLywKIAkJCQk5QjVC
RUMyRTI0MDEwMThDMDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Lm1lc3Nh
Z2VzLmluICovLApAQCAtNTY3Nyw2ICs1NzA0LDEwIEBACiAJCQkJMDdCM0I0NkYyM0FCMkNCMzAw
QkE1QjEyIC8qIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUuaCAqLywKIAkJCQkxRDMyRjg5RDIzQTg0
QzVCMDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkxRDMy
Rjg5QjIzQTg0QkE2MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmggKi8sCisJ
CQkJMUREMkE2NDYyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmll
ci5oICovLAorCQkJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmNwcCAqLywKKwkJCQkxREQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovLAorCQkJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAv
KiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAogCQkJCTA3RTE5RjA4
MjNENTMzQjkwMDk0RkZCNCAvKiBUZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkw
N0UxOUYwOTIzRDUzM0JBMDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oICovLAog
CQkJCTFERkREMEUyMjNGNjEwRjAwMEU5QjQ5MCAvKiBWaWRlb0xheWVyUmVtb3RlLmggKi8sCkBA
IC01NzQxLDYgKzU3NzIsMTMgQEAKIAkJCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwICovLAogCQkJCTFEQTQwODk0MjNBODBBM0UwMDU4
Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oICovLAogCQkJCTFEMzJGOEE2MjNB
ODYwMTkwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbiAq
LywKKwkJCQkxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94
eS5jcHAgKi8sCisJCQkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291
cmNlUHJveHkuaCAqLywKKwkJCQkxREQyQTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdC
NkYgLyogUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oICovLAorCQkJCTFERDJBNjQzMjU1
RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8sCisJCQkJMURE
MkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8sCisJ
CQkJMUREMkE2NjYyNTYxRUQwNDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluICovLAogCQkJCTA3RTE5RjA3MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0
VHJhY2tQcm94eS5jcHAgKi8sCiAJCQkJMDdFMTlGMDYyM0Q0REM4ODAwOTRGRkI0IC8qIFJlbW90
ZVRleHRUcmFja1Byb3h5LmggKi8sCiAJCQkJMDcxQkM1ODQyM0NDMkMwOTAwNjgwRDdDIC8qIFJl
bW90ZVZpZGVvVHJhY2tQcm94eS5jcHAgKi8sCkBAIC0xMDM0NiwxMCArMTAzODQsMTYgQEAKIAkJ
CQkxRDRENzM2QjIzQTlERjU1MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFENEQ3MzZDMjNBOURGNjAwMDcxN0EyNSAvKiBS
ZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJMUQ0RDczNzUyM0E5
RUI2ODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVz
LmggKi8sCisJCQkJMUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNl
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2MTI1
NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5o
ICovLAogCQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3Ry
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8q
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKIAkJCQkwRjU5NDdBNTE4N0I1MTc2
MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAogCQkJCTBGNTk0N0E2MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvck1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8qIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2
OTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICov
LAorCQkJCTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCUE1NUJBODIxMUJBMjVCQjgwMDdDRDMzRCAvKiBS
ZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQTU1QkE4
MjIxQkEyNUJCODAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAq
LywKIAkJCQkxQkJCRTQ5RTE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtMTAzNTcsNiArMTA0MDEsOSBAQAogCQkJCUUxOEU2
OTE0MTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCAqLywKIAkJ
CQkyREU2OTQzQjE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMkRFNjk0M0MxOEJEMkE2ODAwNUMxNUU1IC8q
IFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcy
MjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKKwkJCQkxREQyQTY3MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZG
IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQk5
M0Q2Qjc4MTI1NENDQUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAogCQkJCTkzRDZCNzgwMjU0Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hS
ZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzLmggKi8sCiAJCQkJOTNENkI3N0YyNTRDQ0FCQjAwNThE
RDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0x
MzE0MCw4ICsxMzE4NywxMCBAQAogCQkJCTA3MDE3ODlFMjNCRTlDRkMwMDVGMEZBQSAvKiBSZW1v
dGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcxQkM1
OEYyM0NFMUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUQ0RDczNzAyM0E5RTU0NzAwNzE3QTI1IC8qIFJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYw
MEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2
NkUyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMzRCAvKiBS
ZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQkJCRTRBMDE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2
NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0xMzE1Miw2ICsxMzIwMSw3IEBACiAJCQkJQTFBREFGQjYyMzY4RTZBODAwOUNCNzc2IC8q
IFNoYXJlZE1lbW9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzVCMUJCOTIzQ0U5QzBCMDAy
MDYzOUEgLyogU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTJERTY5NDNEMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVy
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjc0MjU2MjMyQTEw
MEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzRDZCNzgyMjU0Q0NDRjQwMDU4REQzQSAvKiBTcGVlY2hSZWNv
Z25pdGlvblNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTMz
NERFRDE2REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM2OEVFREUyMzAzQTkwMjAwQkRCMTFBIC8qIFN0b3JhZ2VN
YW5hZ2VyU2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuY3BwCmluZGV4IGUwOWFmMGRjMzJiYjFiYmE1ZWJkODZlNGRjMDY3MGEwMmZm
N2NkOWIuLjM3MDYwYjI3YzNiNDg3ZjQ2ZGFhMjg3MTY1ZmJjYWMyNmM0NjBlYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTcxLDYgKzcxLDEwIEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9MZWdhY3lDRE0uaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNp
bmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hh
bm5lbCBMb2dNZWRpYTsKQEAgLTE0OCw3ICsxNTIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6cHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIE1lZGlhUGxheWVy
OgogICAgIH0sIG1faWQpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50
VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQordm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBl
JiBjb250ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7CiAgICAgT3B0aW9uYWw8
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlOwogICAgIGlm
ICh1cmwuaXNMb2NhbEZpbGUoKSkgewpAQCAtNjI0LDE1ICs2MjgsMjEgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChU
cmFja1ByaXZhdGUKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1
cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQogewotICAgIGNhbGxPbk1haW5U
aHJlYWQoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSB7Ci0gICAgICAgIGlm
ICghd2Vha1RoaXMpCi0gICAgICAgICAgICByZXR1cm47CisgICAgaWYgKG1fcmVtb3RlRW5naW5l
SWRlbnRpZmllciA9PSBNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFW
Rm91bmRhdGlvbk1TRSkgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVNZWRpYVNv
dXJjZUlkZW50aWZpZXI6OmdlbmVyYXRlKCk7CisgICAgICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBpZGVu
dGlmaWVyKSwgbV9pZCk7CisgICAgICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlOjpjcmVhdGUobV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCks
IGlkZW50aWZpZXIsIG1fbWFuYWdlci50eXBlQ2FjaGUobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVy
KSwgKnRoaXMsIGNsaWVudCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVh
ZChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKKyAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fY2FjaGVk
U3RhdGUubmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJy
b3I7Ci0gICAgICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7Ci0gICAgfSk7Cisg
ICAgICAgICAgICBtX2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3
b3JrU3RhdGU6OkZvcm1hdEVycm9yOworICAgICAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0
ZUNoYW5nZWQoKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oCmluZGV4IGYzNjM3MjUwOWVhOWU0ZjhlMWE3ZDhmN2Y1Mjc2M2MzNGYxMWU0
YTAuLmZkYjAxYTI5NWEzYzY3YTA3Njk3NzFiZTYxYjEzMDNlN2VkMDg3ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaApAQCAtNDMsNiArNDMsMTAgQEAKICNpbmNsdWRlIDx3dGYvTWVkaWFU
aW1lLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisjZW5kaWYKKwogbmFt
ZXNwYWNlIFdURiB7CiBjbGFzcyBNYWNoU2VuZFJpZ2h0OwogfQpAQCAtODgsNiArOTIsOCBAQCBw
dWJsaWM6CiAgICAgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOyB9CiAgICAgV2Vi
Q29yZTo6TWVkaWFQbGF5ZXIqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyOyB9CiAK
KyAgICBXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9jYWNoZWRTdGF0ZS5yZWFkeVN0YXRlOyB9CisKICAgICB2b2lkIG5l
dHdvcmtTdGF0ZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIHJl
YWR5U3RhdGVDaGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCB2b2x1
bWVDaGFuZ2VkKGRvdWJsZSk7CkBAIC0xNTQsNiArMTYwLDExIEBAIHB1YmxpYzoKICAgICB2b2lk
IGdldFJhd0Nvb2tpZXMoY29uc3QgVVJMJiwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Okdl
dFJhd0Nvb2tpZXNDYWxsYmFjayYmKSBjb25zdDsKICNlbmRpZgogCisjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgY29uc3Qgdm9pZCogbWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkgeyBy
ZXR1cm4gbG9nSWRlbnRpZmllcigpOyB9CisgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXllckxv
Z2dlcigpIHsgcmV0dXJuIGxvZ2dlcigpOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKIAogI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRApAQCAtMTcwLDcgKzE4MSw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBwcmVwYXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgV2ViQ29yZTo6TWVkaWFQbGF5
ZXI6OlByZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFyZSkgZmluYWw7CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBX
ZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbDsKKyAgICB2b2lkIGxvYWQo
Y29uc3QgVVJMJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpN
ZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbDsKQEAgLTI1MCw3ICsyNjEsNiBAQCBwcml2YXRlOgog
ICAgIGRvdWJsZSBtaW5GYXN0UmV2ZXJzZVJhdGUoKSBjb25zdCBmaW5hbDsKIAogICAgIFdlYkNv
cmU6Ok1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgbmV0d29ya1N0YXRlKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGU7IH0KLSAgICBXZWJDb3JlOjpNZWRp
YVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9j
YWNoZWRTdGF0ZS5yZWFkeVN0YXRlOyB9CiAKICAgICBNZWRpYVRpbWUgbWF4TWVkaWFUaW1lU2Vl
a2FibGUoKSBjb25zdCBmaW5hbDsKICAgICBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUo
KSBjb25zdCBmaW5hbDsKQEAgLTM4NCw2ICszOTQsMTAgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlcj4gbV9hdWRpb1NvdXJjZVByb3ZpZGVyOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU+IG1fbWVkaWFTb3VyY2VQcml2YXRlOworI2VuZGlmCisKICAgICBIYXNoTWFwPFJl
bW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVJlc291cmNlPj4gbV9tZWRpYVJlc291cmNlczsKICAgICBIYXNoTWFwPFRyYWNrUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIsIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZVJlbW90ZT4+IG1fYXVkaW9UcmFj
a3M7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBSZWY8VmlkZW9U
cmFja1ByaXZhdGVSZW1vdGU+PiBtX3ZpZGVvVHJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZmYWUxNzE5NGM5YzVlYWYxZDA5YjRiMTE1ZDI4N2Q5OThlNjMw
ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTAsMCArMSwxNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlLmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgiCisjaW5j
bHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUuaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorZXh0ZXJuIFdURkxvZ0No
YW5uZWwgTG9nTWVkaWE7CisjZW5kaWYKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCitSZWY8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGU6OmNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24sIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBS
ZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIG1pbWVUeXBlQ2FjaGUsIGNvbnN0IE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSYgcGxheWVyUHJpdmF0ZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KiBjbGllbnQpCit7CisgICAgYXV0byBtZWRpYVNvdXJjZVByaXZhdGUgPSBhZG9wdFJlZigq
bmV3IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZShncHVQcm9jZXNzQ29ubmVjdGlvbiwgaWRlbnRp
ZmllciwgbWltZVR5cGVDYWNoZSwgcGxheWVyUHJpdmF0ZSwgY2xpZW50KSk7CisgICAgY2xpZW50
LT5zZXRQcml2YXRlQW5kT3BlbihtZWRpYVNvdXJjZVByaXZhdGUuY29weVJlZigpKTsKKyAgICBy
ZXR1cm4gbWVkaWFTb3VyY2VQcml2YXRlOworfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24sIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1v
dGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIG1pbWVUeXBlQ2FjaGUsIGNvbnN0IE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZSYgcGxheWVyUHJpdmF0ZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KiBjbGllbnQpCisgICAgOiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uKGdwdVByb2Nlc3NDb25uZWN0
aW9uKQorICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX21pbWVUeXBlQ2Fj
aGUobWltZVR5cGVDYWNoZSkKKyAgICAsIG1fcGxheWVyUHJpdmF0ZShtYWtlV2Vha1B0cihwbGF5
ZXJQcml2YXRlKSkKKyAgICAsIG1fY2xpZW50KGNsaWVudCkKKyNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKKyAgICAsIG1fbG9nZ2VyKG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXJMb2dnZXIo
KSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9n
SWRlbnRpZmllcigpKQorI2VuZGlmCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2NsaWVudC0+c2V0TG9nSWRlbnRpZmll
cihtX2xvZ0lkZW50aWZpZXIpOworI2VuZGlmCit9CisKK01lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZTo6fk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSKTsKKworICAgIGZvciAoYXV0byBpdCA9IG1fc291cmNlQnVmZmVycy5iZWdpbigpLCBl
bmQgPSBtX3NvdXJjZUJ1ZmZlcnMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgKCpp
dCktPmNsZWFyTWVkaWFTb3VyY2UoKTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXMgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVu
dFR5cGUmIGNvbnRlbnRUeXBlLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mIG91dFByaXZh
dGUpCit7CisgICAgREVCVUdfTE9HKExPR0lERU5USUZJRVIsIGNvbnRlbnRUeXBlKTsKKworICAg
IE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJz
LmlzTWVkaWFTb3VyY2UgPSB0cnVlOworICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBl
OworICAgIGlmIChtX21pbWVUeXBlQ2FjaGUuc3VwcG9ydHNUeXBlQW5kQ29kZWNzKHBhcmFtZXRl
cnMpID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQorICAgICAg
ICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CisKKyAgICBBZGRTdGF0dXMgc3RhdHVz
OworICAgIE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXI7CisgICAgaWYgKCFtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5l
Y3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6QWRkU291
cmNlQnVmZmVyKGNvbnRlbnRUeXBlKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OkFkZFNvdXJjZUJ1ZmZlcjo6UmVwbHkoc3RhdHVzLCByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyKSwgbV9pZGVudGlmaWVyKSkKKyAgICAgICAgc3RhdHVzID0gQWRkU3RhdHVzOjpOb3RTdXBw
b3J0ZWQ7CisKKyAgICBpZiAoc3RhdHVzID09IEFkZFN0YXR1czo6T2spIHsKKyAgICAgICAgQVNT
RVJUKHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaGFzVmFsdWUoKSk7CisgICAgICAgIGF1
dG8gbmV3U291cmNlQnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKG1f
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24sICpyZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCAqdGhp
cyk7CisgICAgICAgIG91dFByaXZhdGUgPSBuZXdTb3VyY2VCdWZmZXIuY29weVJlZigpOworICAg
ICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVyKSk7Cisg
ICAgfQorCisgICAgcmV0dXJuIHN0YXR1czsKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGU6OmR1cmF0aW9uQ2hhbmdlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpCit7Cit9CisKK3ZvaWQg
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp1bm1hcmtFbmRPZlN0cmVhbSgpCit7Cit9CisKK01l
ZGlhUGxheWVyOjpSZWFkeVN0YXRlIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZSA/IG1fcGxheWVyUHJpdmF0
ZS0+cmVhZHlTdGF0ZSgpIDogTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOwor
fQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2V0UmVhZHlTdGF0ZShNZWRpYVBs
YXllcjo6UmVhZHlTdGF0ZSkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
OndhaXRGb3JTZWVrQ29tcGxldGVkKCkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGU6OnNlZWtDb21wbGV0ZWQoKQoreworfQorCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CitXVEZMb2dDaGFubmVsJiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBj
b25zdAoreworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxYzk0NDI1YjQ4
YjM5NmU5NjdjNGU4MjE0ZGZiNmU1MzVhNTUwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCkBA
IC0wLDAgKzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVVByb2Nl
c3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hl
LmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2
YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4KKyNpbmNsdWRlIDx3dGYvTG9n
Z2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTsKK2NsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU7CisKK2NsYXNzIE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZSBmaW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZQorICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJl
bW90ZT4KKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIHByaXZhdGUgTG9nZ2VySGVs
cGVyCisjZW5kaWYKK3sKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZT4gY3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLCBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmLCBjb25zdCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGUmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsK
KyAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoKTsKKworICAgIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZSogcGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5ZXJQcml2YXRl
LmdldCgpOyB9CisKKyAgICAvLyBNZWRpYVNvdXJjZVByaXZhdGUgb3ZlcnJpZGVzCisgICAgQWRk
U3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIFJlZlB0
cjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYpIGZpbmFsOworICAgIHZvaWQgZHVyYXRp
b25DaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1T
dGF0dXMpIGZpbmFsOworICAgIHZvaWQgdW5tYXJrRW5kT2ZTdHJlYW0oKSBmaW5hbDsKKyAgICBX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWw7
CisgICAgdm9pZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRl
KSBmaW5hbDsKKyAgICB2b2lkIHdhaXRGb3JTZWVrQ29tcGxldGVkKCkgZmluYWw7CisgICAgdm9p
ZCBzZWVrQ29tcGxldGVkKCkgZmluYWw7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdl
dCgpOyB9CisgICAgY29uc3Qgdm9pZCogbmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSB7
IHJldHVybiBjaGlsZExvZ0lkZW50aWZpZXIobV9sb2dJZGVudGlmaWVyLCArK21fbmV4dFNvdXJj
ZUJ1ZmZlcklEKTsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisgICAgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVy
LCBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmLCBjb25zdCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKworICAgIEdQ
VVByb2Nlc3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZU1l
ZGlhU291cmNlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgUmVtb3RlTWVkaWFQbGF5ZXJN
SU1FVHlwZUNhY2hlJiBtX21pbWVUeXBlQ2FjaGU7CisgICAgV2Vha1B0cjxNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU+IG1fcGxheWVyUHJpdmF0ZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50PiBtX2NsaWVudDsKKyAgICBWZWN0b3I8UmVmUHRyPFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGU+PiBtX3NvdXJjZUJ1ZmZlcnM7CisKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlIjsgfQorICAgIGNvbnN0IHZvaWQqIGxv
Z0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAg
ICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisKKyAgICBSZWY8Y29u
c3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7Cisg
ICAgdWludDY0X3QgbV9uZXh0U291cmNlQnVmZmVySUQgeyAwIH07CisjZW5kaWYKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBF
TkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaAppbmRleCBjNjJjNDY0ZmRm
ZGNkOGMzNTc1NmIwZTM4ZGFkMGY4OTM5MDU4ODY3Li5lNjQ1MDg0YmNkNjBjNDVjZTc2ZjNhMDNj
ZmQzZjc4M2YxNjkzNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNyArMjcsNiBA
QAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQog
Ci0jaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29u
ZmlndXJhdGlvbi5oCmluZGV4IDY1MzJkNzJlN2NlNGI4NTNmMmQzYjkzNDU1ZTE5MjgxYzQxOWZh
NDMuLmE4NjU4MGJmMTg2MzFiYjNiYzgyNmI1M2FmMWYyZDU0ODZlNDYyNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25m
aWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCi0jaW5jbHVkZSA8
V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCmluZGV4IDFkNmIz
ZWUzZTk1ZTgwYWU4NjBlOTY2YjhjOTI3M2QwODY1M2E4YWMuLmE0MTY5ZDViMWE1Njg4Y2JkNjlj
NTlkOGI4YTlmYzJkYWQ1YjJjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaApAQCAtNjYs
NiArNjYsOCBAQCBwdWJsaWM6CiAKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIg
ZmluZFJlbW90ZVBsYXllcklkKGNvbnN0IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVy
ZmFjZSopOwogCisgICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiB0eXBlQ2FjaGUo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKKwogcHJp
dmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlPiBjcmVhdGVSZW1vdGVNZWRpYVBsYXllcihXZWJDb3JlOjpNZWRpYVBsYXllciosIFdl
YkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CiAKQEAgLTgz
LDggKzg1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZShXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYsIFdh
bGxUaW1lIG1vZGlmaWVkU2luY2UpOwogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlRm9yT3JpZ2lu
cyhXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYsIGNvbnN0IEhhc2hTZXQ8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4m
KTsKIAotICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNv
cmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7Ci0KICAgICBIYXNo
TWFwPFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciwgV2Vha1B0cjxNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU+PiBtX3BsYXllcnM7CiAgICAgV2ViUHJvY2VzcyYgbV9wcm9jZXNzOwogICAg
IG11dGFibGUgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24qIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24geyBu
dWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2I2
NTk0NjEwMDY3MDUxNzJlMTY4MDZmZTE3MzU1NTNkMTM5NGIzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRl
IDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBS
ZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZU1lZGlhU291
cmNlSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyVHlwZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYTExNjVkMGRhNDJlZjZjOGI2MzM3Mzc1
MGQ4ZDgzY2YwMTIzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTU4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUu
aCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVk
ZSAiU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExv
Z01lZGlhOworI2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKworUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+IFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OmNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb24sIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgcmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJiBtZWRpYVNvdXJjZVBy
aXZhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZShncHVQcm9jZXNzQ29ubmVjdGlvbiwgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwg
bWVkaWFTb3VyY2VQcml2YXRlKSk7Cit9CisKK1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3ND
b25uZWN0aW9uLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQ
cml2YXRlKQorICAgIDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlv
bikKKyAgICAsIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcihyZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyKQorICAgICwgbV9tZWRpYVNvdXJjZVByaXZhdGUobWFrZVdlYWtQdHIobWVk
aWFTb3VyY2VQcml2YXRlKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9n
Z2VyKG1fbWVkaWFTb3VyY2VQcml2YXRlLT5sb2dnZXIoKSkKKyAgICAsIG1fbG9nSWRlbnRpZmll
cihtX21lZGlhU291cmNlUHJpdmF0ZS0+bmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSkK
KyNlbmRpZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgbV9ncHVQcm9j
ZXNzQ29ubmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVz
c2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwg
bV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKK30KKwor
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKQor
eworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7
CisKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50
NjQoKSk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xpZW50KFNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKK3sKKyAgICBtX2NsaWVudCA9IGNsaWVu
dDsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQoVmVjdG9yPHVu
c2lnbmVkIGNoYXI+JiYgZGF0YSkKK3sKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5l
Y3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6QXBwZW5kKElQ
Qzo6RGF0YVJlZmVyZW5jZShkYXRhKSksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcik7
Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YWJvcnQoKQoreworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUoKQoreworfQor
Cit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2Uo
KQoreworfQorCitNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpyZWFkeVN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZh
dGUgPyBtX21lZGlhU291cmNlUHJpdmF0ZS0+cGxheWVyKCktPnJlYWR5U3RhdGUoKSA6IE1lZGlh
UGxheWVyOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKQorewor
fQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmZsdXNoKGNvbnN0IEF0b21TdHJp
bmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6ZW5x
dWV1ZVNhbXBsZShSZWY8TWVkaWFTYW1wbGU+JiYsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQp
Cit7Cit9CisKK2Jvb2wgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6aXNSZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldEFjdGl2ZShib29sKQorewor
fQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om5vdGlmeUNsaWVudFdoZW5SZWFk
eUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK2Jvb2wg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0
aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0TWluaW11bVVwY29taW5nUHJl
c2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgTWVkaWFUaW1lJikKK3sKK30K
Kwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjbGVhck1pbmltdW1VcGNvbWluZ1By
ZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpCit7Cit9CisKK2Jvb2wgU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKGNvbnN0IENvbnRlbnRUeXBlJikKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6
c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAg
ICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJl
c3VsdCk7Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVy
biBMb2dNZWRpYTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlhMDFiMDYyNWUzYjdjN2YwMTE4NGE4M2Mz
NmU1NDkxMjJmMDlhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCkBAIC0wLDAgKzEsMTEyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9NZWRpYVNhbXBsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVm
ZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFU
aW1lLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK2Ns
YXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGU7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUg
ZmluYWwKKyAgICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlPgorICAgICwgcHVibGljIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGUKKyAgICAsIHBy
aXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+IGNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlv
biYsIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZSYpOworICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKTsKKwor
ICAgIHZvaWQgY2xlYXJNZWRpYVNvdXJjZSgpIHsgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBudWxs
cHRyOyB9CisKK3ByaXZhdGU6CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShHUFVQcm9j
ZXNzQ29ubmVjdGlvbiYsIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZSYpOworCisgICAgLy8gU291cmNlQnVmZmVyUHJpdmF0ZSBvdmVy
cmlkZXMKKyAgICB2b2lkIHNldENsaWVudChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50KikgZmluYWw7CisgICAgdm9pZCBhcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYpIGZp
bmFsOworICAgIHZvaWQgYWJvcnQoKSBmaW5hbDsKKyAgICB2b2lkIHJlc2V0UGFyc2VyU3RhdGUo
KSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKSBmaW5hbDsKKyAgICBX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWw7
CisgICAgdm9pZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRl
KSBmaW5hbDsKKyAgICB2b2lkIGZsdXNoKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFs
OworICAgIHZvaWQgZW5xdWV1ZVNhbXBsZShSZWY8V2ViQ29yZTo6TWVkaWFTYW1wbGU+JiYsIGNv
bnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgaXNSZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIHZvaWQgc2V0QWN0
aXZlKGJvb2wpIGZpbmFsOworICAgIHZvaWQgbm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNh
bXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgYm9vbCBjYW5TZXRN
aW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdCBm
aW5hbDsKKyAgICB2b2lkIHNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3Qg
QXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpIGZpbmFsOworICAgIHZvaWQgY2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBmaW5hbDsKKyAg
ICBib29sIGNhblN3aXRjaFRvVHlwZShjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYpIGZpbmFs
OworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0
ZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQpOworCisg
ICAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgUmVt
b3RlU291cmNlQnVmZmVySWRlbnRpZmllciBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI7
CisgICAgV2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IG1fbWVkaWFTb3VyY2VQcml2
YXRlOworICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIG1fY2xpZW50IHsg
bnVsbHB0ciB9OworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2Vy
JiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNv
bnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlIjsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVs
JiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29uc3QgTG9nZ2VyJiBzb3VyY2VCdWZm
ZXJMb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNv
bnN0IHZvaWQqIHNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSBmaW5hbCB7IHJldHVybiBsb2dJ
ZGVudGlmaWVyKCk7IH0KKworICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNv
bnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9T
T1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Nv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWExOTgyMTFjZTk5YWJhZDViOGVlMDdmZDRlMTc3YmRmYTk1YTQwYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworbWVz
c2FnZXMgLT4gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKKyAgICBT
b3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK30KKworI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414280</attachid>
            <date>2020-11-16 14:45:47 -0800</date>
            <delta_ts>2020-11-16 15:39:51 -0800</delta_ts>
            <desc>WIP patch: fix build failures on WPE and GTK ports</desc>
            <filename>bug-218912-20201116144546.patch</filename>
            <type>text/plain</type>
            <size>130177</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGJlYjAwNjBiYWVhNDM5
NGEwNTA0Y2NlZDI2N2U2MjYwMGEzOTZiNzYuLmQ2ZTgwNjZhYzM5ODQyNDEyZmU5NDQ5MjRhNDQz
YTg2MTkyZGJlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTIxMiw2ICsxMjEyLDggQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyRW51bXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVySWRl
bnRpZmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAorICAgIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFVc2FnZUluZm8uaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL05hdGl2ZUltYWdlLmgKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9OYXRpdmVJbWFnZVJlZmVyZW5jZS5oCkBAIC0xMjMzLDYgKzEy
MzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9SZW5kZXJpbmdNb2RlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVj
dC5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCisgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UYWJTaXpl
LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4
Njk1MjNjNDAxODc1OWVlNzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2Vj
NmIxOWEzZDczMjRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8
UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVy
UHJpdmF0ZShjb24KIAogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZm
ZXJQcml2YXRlOwogICAgIHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwg
c291cmNlQnVmZmVyUHJpdmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6
CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJl
dHVybiBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3Mu
dzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVy
LURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1J
TUUgdHlwZSAuLi4gdGhhdCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAg
IC8vIHNwZWNpZmllZCBmb3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJj
ZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNl
cHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hl
ZElkTGltaXQ6CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hl
ZElkTGltaXQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVk
aWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1N
ZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAg
ICAgICAgIC8vIFN0ZXAgMzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3Jl
IFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2Vl
ZGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0Mjky
NjhkNzYxNzVlOTMyMDBlYzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEz
NGIyZGYzY2RkYjllOTAzNWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBT
b3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBU
b3A6IElmIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBt
b3JlIGRhdGEgc3RlcCBiZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgp
KSB7Ci0gICAgICAgIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNj
ZWVkZWQpOworICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5k
UmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02
NTgsNyArNjU4LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShBcHBlbmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0
IGJ1ZmZlciBjb250YWlucyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRl
IHN0cmVhbSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5k
IGVycm9yIGFsZ29yaXRobSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0
cnVlIGFuZCBhYm9ydCB0aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdG
YWlsZWQpIHsKKyAgICBpZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkg
ewogICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAg
ICAgICAgYXBwZW5kRXJyb3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KEFwcGVuZFJlc3VsdCByZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAz
LjUuNQogICAgIC8vIDIuSWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRo
ZSBwcmV2aW91cyBzdGVwIHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgot
ICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBw
ZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMu
IFNldCB0aGUgdXBkYXRpbmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYx
ZDI5YzBjMjZiMmU1ZWQxNjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1
ZmUwOWI4MzkzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIw
MDRCRDg2RiAvKiBJU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8q
IElTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09y
aWdpbmFsRm9ybWF0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDg3MUM2NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3gu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYy
RkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdE
IC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0J
CUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVE
MDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThG
NUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0Q2NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQx
RUIyMTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAw
MDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8q
IElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDdEMzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDVi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNEN0QzMzQ4MUM3QTE2QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAw
MDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMz
RERCMEEwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQ
YXJzZWRDb250ZW50UmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDRENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIx
OEMwQUUzMTAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyog
U2FtcGxlTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDREQ3MDg5NTE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdB
OUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQg
LyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0RERTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5k
YXRpb25PYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RERTAyRUIxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpD
Lm1tICovOyB9OwogCQlDRERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3Ry
ZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEREUwMkVGMThCNTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9u
Lm1tICovOyB9OwogCQlDREUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZh
dGVBVkYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTNBODUyMTdGNUZDRTYwMEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZj
OGJlNmM4N2EwZjJmZGU4MjJiZDEzMDQwZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNm
ZDU0ODg5YTNlYmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0xNDU3LDcgKzE0NTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJj
ZShjb25zdCBVUkwmIGluaXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAg
ICAgLy8gd2hpbGUgcHJvY2Vzc2luZyByZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAg
ICAgICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdG
YWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9
IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNl
LmdldCgpKSkgeworICAgICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVk
aWFTb3VyY2UuZ2V0KCkpKSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUg
TWVkaWFTb3VyY2UgYmVmb3JlIHdlIGZvcmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAg
ICAgICAgbV9tZWRpYVNvdXJjZS0+ZGV0YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAg
ICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5
cGUuaAppbmRleCA3YzI3OGE2OGUzODlhZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4
YjkzY2E5YTk1MjgyMjRhZWEyM2M0NDVlOGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NvbnRlbnRUeXBlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0
cmluZyYgcmF3KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlLmlzRW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0
cmluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBj
b25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlk
MDkxODVhNzJiLi4xNzA0Mzg1ZGRjNzg4ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBA
IC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBm
aW5hbCB7IH0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxv
YWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5k
aWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKSBmaW5hbCB7IH0KQEAgLTQ3MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6
OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29u
c3QgU3RyCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6
bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9h
ZChjb25zdCBVUkwmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkK
IHsKICAgICBBU1NFUlQoIW1fcmVsb2FkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1l
ZGlhU291cmNlKTsKIAogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2Nv
bnRlbnRUeXBlID0gY29udGVudFR5cGU7CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBt
X3VybCA9IHVybDsKICAgICBtX2tleVN5c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250
ZW50TUlNRVR5cGVXYXNJbmZlcnJlZEZyb21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1
ODYsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBN
ZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAg
ICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsK
KyAgICAgICAgICAgIG1fcHJpdmF0ZS0+bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7
CiAgICAgICAgIGVsc2UKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFj
YmJiYjFhNjk4Y2EzZDQwNzA2NjJmMWQzZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIz
OTZhZjMwMmVkZTUyMmZiZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSk7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBi
b29sIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZh
dGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKaW5kZXggZjliOTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRh
NTgwMi4uY2Q5N2M2MjY5ZWJiYTI2N2M3MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwu
c3RyaW5nKCkpOyB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KikgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFs
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdm
MTRkOGUxOTY2YjgzOTcxODRiZDJiZDg3ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNj
MzQxNzNiNTk0N2U4NmEzMzNhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2
YXRlX2gKLSNkZWZpbmUgTWVkaWFTb3VyY2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAg
TWVkaWFTb3VyY2VQcml2YXRlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNl
UHJpdmF0ZSgpID0gZGVmYXVsdDsKIAotICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBv
cnRlZCwgUmVhY2hlZElkTGltaXQgfTsKKyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4
X3QgeworICAgICAgICBPaywKKyAgICAgICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVk
SWRMaW1pdAorICAgIH07CiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNv
bnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVh
bVN0YXR1cyB7IEVvc05vRXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsK
QEAgLTg4LDcgKzkyLDE1IEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGU6OkVuZE9mU3RyZWFtU3RhdHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4g
eworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVBy
aXZhdGU6OkFkZFN0YXR1czo6T2ssCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZTo6QWRkU3RhdHVzOjpSZWFjaGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAogI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRl
eCAwMDU2NWE5MWZlYTk4YTY0MThhNDQ2MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJl
YTI0YWFlNjk4ZWUxNWIwNjgxOTE1NDFjMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBA
IC03MywxMSArNzMsMjggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNl
QnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBj
b25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVu
ZFJlc3VsdCB7IEFwcGVuZFN1Y2NlZWRlZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxl
ZCB9OworICAgIGVudW0gY2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFw
cGVuZFN1Y2NlZWRlZCwKKyAgICAgICAgUmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2lu
Z0ZhaWxlZAorICAgIH07CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShBcHBlbmRSZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVm
ZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9
OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAg
ICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpB
cHBlbmRTdWNjZWVkZWQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdDo6UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAg
PjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NP
VVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5jcHAKaW5kZXggYWQ0YmM5MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5
Mi4uNWFiNzEzNzU0NzZjNWYzMDdjZDljNTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAg
LTE4MSw3ICsxODEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9h
ZChjb25zdCBTdHJpbmcmIHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b246OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBz
ZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oCmluZGV4IDQzOGU0ODRhZGViYzZiYmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJm
OGY3NWZhYjQ0NjQ3ODc5NDEzNjc4ZjQ2YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFj
ZSBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBv
dmVycmlkZSB7IHNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3Jt
YXRFcnJvcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUy
ZTNhMDdlMTNkZmQwOTE1ZTA3N2UzZGY5Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIz
MDk0MmZkMjY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlw
ZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNr
SGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAg
ICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdl
dCgpOyB9CiAgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gIk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25z
dCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB2b2lkKj4obV9sb2dJZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsg
cmV0dXJuIGxvZ0lkZW50aWZpZXIoKTsgfQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJM
b2dnZXIoKSB7IHJldHVybiBsb2dnZXIoKTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0
ZSB7CiAgICAgICAgIFNlZWtpbmcsCkBAIC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNv
bnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJy
aWRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUx
YWUyNWIzYzk0Mjc4Mzg0NjkyYWIwMWFlYTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJh
OGFjZTVmYTA3NzczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2
Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNv
bnN0IFN0cmluZyYpCiAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAot
dm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3Ry
aW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQqIGNsaWVudCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBi
YWRmNDY4Zjg2Y2U0YzkuLmE0ZjRkNDQ2OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3Ry
ZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0
NjE2YTgyYjNjMGU3NjMuLjA5NGNlYjcwN2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQog
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChj
b25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVk
aWEgZW5naW5lIG9ubHkgc3VwcG9ydHMgTWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURl
ZmVycmVkVGFzayhbdGhpc10gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5oCmluZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEy
MDk0OGY2ZGFjZTYuLmRjNDYyMDNiZThmNGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
LmgKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQ19oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akNfaAorI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZG
T1VOREFUSU9OKQogCkBAIC0xNDksNSArMTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0K
aW5kZXggZWY0NTNhZThkZGJlODE0NThkMmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNh
Nzk0ZmEwMTY5ZjljZTBmNmY5MmZlYWI1NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEg
QEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2Ug
PSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhw
YXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkK
LSAgICAgICAgcmV0dXJuIE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6
Tm90U3VwcG9ydGVkOwogCiAgICAgYXV0byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNy
ZWF0ZShjb250ZW50VHlwZSk7CiAgICAgaWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RT
dXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAg
IGF1dG8gbmV3U291cmNlQnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0
ZSh0aGlzLCBwYXJzZXIucmVsZWFzZU5vbk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKQEAgLTk3LDcgKzk3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQ
cml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMu
YXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAg
cmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0K
aW5kZXggOTE0OTZkMjQxZmZiNjEwZDk2OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVl
ZTUxYmRhMTRiOWI1ZjY2MzQxNWI5ODQ2NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYg
QEAKICNpbXBvcnQgIk1lZGlhU2FtcGxlLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMu
aCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdElt
cGxlbWVudGVkLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1
ZmZlclBhcnNlckFWRk9iakMuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQu
aCIKQEAgLTU4Niw3ICs1ODUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjph
cHBlbmRDb21wbGV0ZWQoKQogICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9h
ZGluZ1Byb2dyZXNzc2VkKHRydWUpOwogCiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2Ns
aWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRl
ZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNpbmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291
cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0K
IAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3
OTE5YTBlOWIzMzE5Y2ZmNDZjMmZmYzEwMWYxLi41N2I2ODM4MzIwNjM0MDg2MzI2YjY0OGI2N2I3
YjY0MzA5M2EyYjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcApAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0
IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KQogewogICAgIC8vIFByb3Blcmx5IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmll
cyB0byBmYWxsYmFjayB0byB0aGUgbmV4dCBNZWRpYVBsYXllclByaXZhdGUuCiAgICAgbV9uZXR3
b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBlMDE2MTViMGYz
YTM1MGQ2ZjA3NTA4NjJlMzYwYTZiMGNkYjc3NDlmLi5jMDhhZjhkMmI4NmQyNGMzMDQ1ZDFjNzIw
NGQ0ZjkzZjBlZDBhNTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCkBAIC0xNDIsNyArMTQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8o
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBsb2FkKGNvbnN0
IFN0cmluZyAmdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZv
aWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3Zl
cnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dCopIG92ZXJyaWRlOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lk
IGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggYzQ0Y2Ez
OTY3YWIwZmYwNjkwZjBjZDJlZTYzMzRkY2M1ZDBkN2ZiOC4uZGY4NWQzZGFiNGY5Mzc1ZTU3MGUz
ZDUzYjQxYjc3MmMzN2FhYTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcApAQCAtMTM4LDEwICsxMzgsMTAgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcpCiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKHVybFN0cmluZyk7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZSA9
IG1lZGlhU291cmNlOwotICAgIGxvYWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwpKTsK
KyAgICBsb2FkKG1ha2VTdHJpbmcoIm1lZGlhc291cmNlIiwgdXJsLnN0cmluZygpKSk7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpwYXVzZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCA3
ZTQ4MWU2NTc0ODllMjcxYjQ0ZjEzZmMzNWI0NDk0YzZjNTY2ZGVjLi4wNjkyNzY2MjY0OTQ1OTA2
ZGY4MjgzZDNhZDk1NzIzNjk3OGY1MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3Ry
YXIpOwogCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsK
KyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRl
IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKaW5kZXggYjAwNWQw
ZDMzNTI2NjRmN2Y5YmVkOWY3MDIwOTc3MmFiMDAyNzQ1MC4uMWU4OGFkMTYxMWJlZDU0NTgyYjkx
MDMwOTI2MmZjNzI3MjMyNjUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUu
Y3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxh
eWJhY2tQaXBlbGluZTo6YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKIAogICAgIGlm
IChwcml2LT5hbGxUcmFja3NDb25maWd1cmVkKSB7CiAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1Qo
bV93ZWJLaXRNZWRpYVNyYy5nZXQoKSwgIkFkZGluZyBuZXcgc291cmNlIGJ1ZmZlcnMgYWZ0ZXIg
Zmlyc3QgZGF0YSBub3Qgc3VwcG9ydGVkIHlldCIpOwotICAgICAgICByZXR1cm4gTWVkaWFTb3Vy
Y2VQcml2YXRlOjpOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogICAgIH0KIAogICAgIEdTVF9ERUJVR19PQkpF
Q1QobV93ZWJLaXRNZWRpYVNyYy5nZXQoKSwgIlN0YXRlICVkIiwgaW50KEdTVF9TVEFURShtX3dl
YktpdE1lZGlhU3JjLmdldCgpKSkpOwpAQCAtMTQwLDcgKzE0MCw3IEBAIE1lZGlhU291cmNlUHJp
dmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8
U291cmNlQnVmCiAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3dlYktpdE1lZGlhU3JjLmdldCgp
KSwgc3RyZWFtLT5hcHBzcmMpOwogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJl
bnQoc3RyZWFtLT5hcHBzcmMpOwogCi0gICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s7
CisgICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpPazsKIH0KIAogdm9p
ZCBQbGF5YmFja1BpcGVsaW5lOjpyZW1vdmVTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXI+IHNvdXJjZUJ1ZmZlclByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBkM2E4N2Vm
ZTg5YWViM2FkNTY3ZGVjNDhhMWUxYTdlZTQzZTVjNDhjLi5jOTA0MjdlNGVkM2VjN2E4MWE3YmJi
OTMyZWM0YjhiZDExMGNhMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NCwxMiArMTk0LDEyIEBAIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYg
c2FtcGxlKQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVB
bGxQZW5kaW5nU2FtcGxlcygpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5z
b3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6QXBwZW5kU3VjY2VlZGVkKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQtPnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcjo6YXBwZW5kUGFyc2luZ0ZhaWxlZCgpCiB7Ci0gICAgbV9zb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6UGFyc2luZ0ZhaWxlZCk7CisgICAgbV9zb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAog
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmNwcAppbmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1
MmYxLi5jN2EwZjcxZGZlNjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBA
IHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNv
dXJjZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJj
ZSkKK3ZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZh
dGUgPSBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRh
MjEzOTRmMzc2YzdmMjk2NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1
ODQ5NDcyMjA3ZmNkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXll
clByaXZhdGUgT3ZlcnJpZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVy
cmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2Fh
ZmEwMGU3NWJjOGZmOGZmMWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5
ZGYwMmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02Mywx
MiArNjMsMTIgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNl
UHJpdmF0ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVk
aWFTb3VyY2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAg
IGlmIChNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMp
ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICBy
ZXR1cm4gTm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0
ZWQ7CiAKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRl
OjpjcmVhdGUodGhpcykpOwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgp
OwogCi0gICAgcmV0dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lk
IE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQ
cml2YXRlKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmlu
ZGV4IGY0ZGFkMDM3MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2
ZjQ5MjA0MmQ3YWIxZWRmN2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGUuY3BwCkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVy
UHJpdmF0ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZv
aWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4m
JiBkYXRhKQogewogICAgIG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZm
ZXIuc2l6ZSgpICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRT
dWNjZWVkZWQpIHsKKyAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09
IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVk
KSB7CiAgICAgICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVm
ZmVyLmRhdGEoKSwgbV9pbnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVu
Z3RoID0gTW9ja0JveDo6cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94
TGVuZ3RoID4gYnVmZmVyLT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBN
b2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRh
dGEpCiAgICAgICAgICAgICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3go
YnVmZmVyLnB0cigpKTsKICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsK
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpQYXJzaW5nRmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1f
aW5wdXRCdWZmZXIucmVtb3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJl
NDc0NTM0MGQyNjE3YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlh
ZTc4NmU3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKQEAgLTM1LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4
ICs5Nyw4IEBAICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHku
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3Rv
clVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9V
SVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0x
MzYsNiArMTM4LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9TZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdh
Y3lDRE1TZXNzaW9uLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGli
V2ViUlRDUmVtb3RlQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9s
b2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5z
cGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9X
ZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3
NjVhNWFlOGRjMTE3NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5
MzI1NmJjMjQ4ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlN
ZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9S
ZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApA
QCAtMjUxLDYgKzI1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9s
bGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlv
bkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBs
aWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVj
aFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hS
ZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1l
c3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0
b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJN
ZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2Fn
ZXNSZXBsaWVzLmgKQEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3Bl
Y3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9u
Q29udHJvbGxlck1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGll
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNw
ZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxp
ZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFi
MDFjMTRjMTQxZGNmNDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdm
NDI0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBA
IE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3MgXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRp
YS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU2Vzc2lvbiBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQ
cm92aWRlck1hbmFnZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNl
U2Vzc2lvbiBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBc
CisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJv
Y2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdF
X1JFQ0VJVkVSUyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lv
blByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvRGVzdGluYXRpb25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3Rv
cnlQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBc
CiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBc
CiAjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1
YTFhYy4uOTgwZDY0MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRl
cnMuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TUZhY3RvcnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUz
MTFmYzJlMTYyNzMzMTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90
ZUxlZ2FjeUNETVNlc3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRT
ZXNzaW9uKGNvbnN0IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2
NzRhMWM4MTcxLi4xNGE1ODk2NDZhY2NlZGZkODUyNzliZDE2Y2RmMWM4MTllYTc5YTIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuY3BwCkBAIC0xMzEsNiArMTMxLDE0IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4mCiAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojps
b2FkTWVkaWFTb3VyY2UoVVJMJiYgdXJsLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbWVk
aWFTb3VyY2VJZGVudGlmaWVyKQoreworICAgIG1fbWVkaWFTb3VyY2VQcm94eSA9IGFkb3B0UmVm
KCpuZXcgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShtZWRpYVNvdXJjZUlkZW50aWZpZXIsIG1fbWFu
YWdlci5ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkpKTsKKyAgICBtX3BsYXllci0+bG9hZCh1
cmwsIG1fbWVkaWFTb3VyY2VQcm94eS5nZXQoKSk7Cit9CisjZW5kaWYKKwogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpjYW5jZWxMb2FkKCkKIHsKICAgICBtX3VwZGF0ZUNhY2hlZFN0YXRl
TWVzc2FnZVRpbWVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDg2YWE0MmNlYmZkNzAzZTBj
MGJlYmMzZWQwZDBlNDE4NTU5YTY2N2EuLmM3YjNjOTZhNWQzMGYzYzQ1NjA5NjJiMTFmOWJkN2Zl
YWRkZDhiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtNTIsNiArNTIsMTEgQEAKICNpbmNsdWRlICJS
ZW1vdGVDRE1JbnN0YW5jZVByb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAi
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkK
ICNpbmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgogI2VuZGlmCkBAIC0xMDksNiAr
MTE0LDkgQEAgcHVibGljOgogICAgIHZvaWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwogCiAgICAg
dm9pZCBsb2FkKFVSTCYmLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JiYsIGNv
bnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24mJik+JiYpOworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgdm9pZCBsb2FkTWVkaWFTb3VyY2UoVVJMJiYsIFJlbW90ZU1l
ZGlhU291cmNlSWRlbnRpZmllcik7CisjZW5kaWYKICAgICB2b2lkIGNhbmNlbExvYWQoKTsKIAog
ICAgIHZvaWQgcHJlcGFyZVRvUGxheSgpOwpAQCAtMzAwLDYgKzMwOCw5IEBAIHByaXZhdGU6CiAg
ICAgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSBtX2NhY2hlZFN0YXRlOwogICAgIFJlbW90ZU1lZGlh
UGxheWVyUHJveHlDb25maWd1cmF0aW9uIG1fY29uZmlndXJhdGlvbjsKICAgICBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4pPiBtX3BlcmZvcm1UYXNrQXRNZWRpYVRp
bWVDb21wbGV0aW9uSGFuZGxlcjsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFJlZlB0
cjxSZW1vdGVNZWRpYVNvdXJjZVByb3h5PiBtX21lZGlhU291cmNlUHJveHk7CisjZW5kaWYKIAog
ICAgIFdlYkNvcmU6OkxheW91dFJlY3QgbV92aWRlb0NvbnRlbnRCb3hSZWN0OwogICAgIGZsb2F0
IG1fdmlkZW9Db250ZW50U2NhbGUgeyAxLjAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggNjk2YTBkYTI0ZDc2ZTVhZTc0NWY4MjFhNTFhODQwMThmNjU1ZjE5Mi4uYTI4
ODYxOGY5OWU0ZjU1ODg5ZWJkOWUzNDBmYzc3NDRmNTY5OTc0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkubWVzc2FnZXMuaW4KQEAgLTI3LDYgKzI3LDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBQcmVwYXJlRm9yUGxheWJhY2soYm9v
bCBwcml2YXRlTW9kZSwgZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlBy
ZWxvYWQgcHJlbG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlRm9yUmVuZGVy
aW5nLCBmbG9hdCB2aWRlb0NvbnRlbnRTY2FsZSkgLT4gKE9wdGlvbmFsPFdlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEPiBpbmxpbmVMYXllckhvc3RpbmdDb250ZXh0SWQpIEFzeW5jCiAKICAg
ICBMb2FkKFVSTCB1cmwsIE9wdGlvbmFsPFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
PiBzYW5kYm94RXh0ZW5zaW9uLCBXZWJDb3JlOjpDb250ZW50VHlwZSBjb250ZW50VHlwZSwgU3Ry
aW5nIGtleVN5c3RlbSkgLT4gKHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyQ29uZmln
dXJhdGlvbiBwbGF5ZXJDb25maWd1cmF0aW9uKSBBc3luYworI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisgICAgTG9hZE1lZGlhU291cmNlKFVSTCB1cmwsIFdlYktpdDo6UmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyIG1lZGlhU291cmNlSWRlbnRpZmllcikgU3luY2hyb25vdXMKKyNlbmRpZgog
ICAgIENhbmNlbExvYWQoKQogCiAgICAgUHJlcGFyZVRvUGxheSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjRmZDlmOGZkMjQ0Yjk3MDZjNDI5M2FmZTYwMTNiODFlZTIzZTA2NAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVNvdXJjZVByb3h5LmNwcApAQCAtMCwwICsxLDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgiCisKKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VC
dWZmZXJQcml2YXRlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKworUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQcm94
eShSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcykKKyAgICA6IG1faWRlbnRpZmllcihp
ZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VSZWNlaXZl
ck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94
eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgKnRoaXMp
OworfQorCitSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojp+UmVtb3RlTWVkaWFTb3VyY2VQcm94eSgp
Cit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJl
bW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3ZvaWQg
UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9wZW4oUmVmPE1lZGlhU291cmNl
UHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgQVNTRVJUKCFtX3ByaXZhdGUp
OworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQcml2YXRlKTsKK30KKworTWVk
aWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1ha2VV
bmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9pZCBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygpCit7Cit9CisKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0TG9nSWRl
bnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2b2lkIFJlbW90ZU1lZGlhU291
cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKQoreworfQorCit2
b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3Jl
OjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrJiYgY2Fs
bGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IHNvdXJjZUJ1ZmZlclBy
aXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgc3RhdHVzID0gbV9wcml2
YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJjZUJ1ZmZlclByaXZhdGUpOwor
CisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNl
SWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3Rh
dHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVTb3VyY2VCdWZmZXJJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShpZGVudGlmaWVyLCBtX2Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUucmVsZWFzZU5vbk51bGwoKSk7
CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShyZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlmaWVyID0gaWRlbnRpZmllcjsK
KyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNvdXJjZUlkZW50aWZpZXIpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiZmJm
YWZiMjA0NDc4MzBkNzMwYzM4YzU1ZDkxNjAyMmMyM2QzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oCkBA
IC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIk1lc3NhZ2VS
ZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2lu
Y2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRp
YVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2Rl
cjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlOworY2xhc3MgUGxhdGZvcm1U
aW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBmaW5hbAorICAg
IDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudAorICAgICwgcHJpdmF0
ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5KCk7CisKKyAgICAvLyBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQgb3Zl
cnJpZGVzCisgICAgdm9pZCBzZXRQcml2YXRlQW5kT3BlbihSZWY8V2ViQ29yZTo6TWVkaWFTb3Vy
Y2VQcml2YXRlPiYmKSBmaW5hbDsKKyAgICBNZWRpYVRpbWUgZHVyYXRpb24oKSBjb25zdCBmaW5h
bDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZm
ZXJlZCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUm
KSBmaW5hbDsKKyAgICB2b2lkIG1vbml0b3JTb3VyY2VCdWZmZXJzKCkgZmluYWw7CisKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIHNldExvZ0lkZW50aWZpZXIoY29uc3Qgdm9p
ZCopIGZpbmFsOworI2VuZGlmCisKKyAgICB2b2lkIGZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVu
ZGVyZXJUeXBlKSBmaW5hbDsKKworcHJpdmF0ZToKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZl
cgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKSBm
aW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrID0gQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cywgT3B0aW9u
YWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRU
eXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisKKyAgICBSZW1vdGVNZWRpYVNvdXJj
ZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFTb3Vy
Y2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJlZlB0cjxSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291
cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTZiNzUyZDc3MDYw
ZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4K
QEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhU291cmNlUHJv
eHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVmZmVyKFdlYkNvcmU6OkNvbnRlbnRU
eXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhU291cmNlUHJp
dmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKSBTeW5jaHJvbm91cwor
fQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0YmZjYTE2
MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5o
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgPHd0Zi9P
YmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJU
eXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRlYTc0Njk4NWJjZGZlMTdlZDVjZgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIKKwor
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1
ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAi
UmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4gUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1ZmZlclByaXZhdGUpCit7Cisg
ICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFkb3B0UmVmKCpuZXcgUmVtb3RlU291
cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgV1RGTW92
ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVybiByZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgUmVmPFNvdXJjZUJ1ZmZlclBy
aXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlm
aWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2
YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFw
KCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgKnRoaXMpOwor
ICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50KHRoaXMpOworfQorCitSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KCkKK3sKKyAgICBtX2Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNl
QnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25T
ZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpCit7Cit9CisKK3ZvaWQgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0
ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVTYW1wbGVzKGNvbnN0
IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0
IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGltZSBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25z
dCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKQoreworICAg
IHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBl
bmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291
cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCksIG1faWRlbnRpZmll
cik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkKK3sKK30KKwordm9pZCBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYg
ZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZChkYXRhLnZlY3Rvcigp
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM5MGMwY2UxYzI3YjYwOGRjOTdhYWZhNTE4NjM2MTg4MGMzYWY0ZDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgi
CisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsK
K2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAgOiBwdWJsaWMgUmVmQ291bnRl
ZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1YmxpYyBXZWJDb3JlOjpTb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
ciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQ
cml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSgpOworCisg
ICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVu
dChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1
ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikgZmluYWw7
CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBjb25zdCBmaW5hbDsKKyAg
ICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0IGZpbmFsOworCisgICAg
dm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYg
dHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVjb21lUmVh
ZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKworICAg
IE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFUaW1lKGNv
bnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIGZpbmFs
OworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KSBmaW5hbDsKKyAgICB2b2lk
IHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29k
ZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxX
ZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVzc2FnZVJl
Y2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVy
PiYpIGZpbmFsOworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7
CisKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAg
UmVmPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJpdmF0ZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3Nh
Z2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0M2ZlMGUw
MTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisK
K21lc3NhZ2VzIC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAg
IEFwcGVuZChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAppbmRleCA5NzdmOTNmZjVjM2My
YjgxNzg0NmM5YTlhNzU1MTc4OWM4ZWZlMDVjLi42MWI4OTBkYzc4NjdjMzNiMDA1ZjIyZTkzYmIx
YWY0N2RkZDNiMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFu
YWdlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNs
dWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzcy5o
IgogI2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4NzY0OTVmYjFhY2M5MDRjMWVh
MjUwNjkwOTNiMjAwZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMxNjhlNzlhMDU3ZjlkYmRiOWI4
Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI1OSw2
ICsyNTksOCBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgog
ICAgICAgICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAgICAgJ1dl
YktpdDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0
OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRp
ZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAgICAgICAg
J1dlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTAzNzlmMmZm
YTgzMzc0YzE0ZDE3ZDdiYzllYzMwNjA2N2UxMzc2Mi4uMDkxN2YwMWJlMWM5ZjhjYWEyYWJmN2Yw
Zjg5MGY4OTVhM2YyZWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Miw2ICs0Miw4IEBAIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFSZXNvdXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJj
ZUxvYWRlci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIu
Y3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCitHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVUZXh0VHJhY2tQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9UcmFj
a1Byb3h5LmNwcAogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXIuY3BwCkBAIC01NzAsNiArNTcyLDcgQEAgV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
UmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvQXVkaW9U
cmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJv
eHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE0uY3BwCkBAIC01ODIsNiArNTg1LDcgQEAgV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCitXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
VGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1ZpZGVvVHJh
Y2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvV2ViTWVkaWFTdHJhdGVn
eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGUzMzg0N2FlMTZhY2M5OWE3Mzk0MzQ3NDRkOGEzZGY2YzI4Y2FiZmMuLmViNzZiMGUy
N2ZkY2JjMDBiMGE4MWQxZjkzZTlkYWJmNTgyNmZkMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIxLDYgKzQyMSw5IEBACiAJCTFE
NEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3Nh
Z2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
TWVzc2FnZXNSZXBsaWVzLmggKi87IH07CiAJCTFEQjAxOTQzMjExQ0YwMDIwMDlGQjNFOCAvKiBX
S1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBXS1NoYXJlU2hlZXQuaCAqLzsgfTsKIAkJ
MURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkJCMDYxMjExQ0MzQ0IwMDUwMkVD
QyAvKiBXS1NoYXJlU2hlZXQubW0gKi87IH07CisJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAv
KiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYyMjU2MTIyRjEwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJ
MUREMkE2NkUyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2RiAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjcyMjU2MjMyNEYwMEZGN0I2
RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
IAkJMUYzMzVCQzAxODVCODRGMDAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxl
Z2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYz
MzVCQkYxODVCODREODAwMUEyMDFBIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFGNjA0
QkFBMTg4OUZCQjgwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0ludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjYwNEJB
NzE4ODlGQTc0MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5o
ICovOyB9OwogCQkxRjc1MDZCMTE4NTkxNjM3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0lu
RnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFG
MDE4MTY5MTg1OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yODE0LDYgKzI4
MTcsMjggQEAKIAkJMURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVzb3Vy
Y2VNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFEQTQwODlFMjNBODI3NzgwMDU4Qzk1MCAv
KiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1v
dGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFEQkJCMDYxMjExQ0MzQ0IwMDUwMkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1NoYXJlU2hlZXQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlLmNwcDsgcGF0aCA9IC9Wb2x1bWVzL0RhdGEvd2Via2l0L09wZW5Tb3VyY2UvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxREQyQTYzNzI1NURFNjc1MDBGRjdC
NkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYz
OTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzRTI1NUUzRjFGMDBGRjdC
NkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjNGMjU1
RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDYyNTVGMzJC
MTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHku
bWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJl
bW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CisJCTFERDJBNjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlhU291cmNl
UHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBSZW1v
dGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjY2MjU2MUVEMDQwMEZG
N0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUREMkE2NjgyNTYxRjY4NDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY2OTI1NjIwMjFFMDBGRjdCNkYgLyogUmVt
b3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaDsgc291cmNl
VHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkEyNTYyMDIxRTAwRkY3QjZG
IC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBs
aWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CisJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkYyNTYyMkYx
MTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjcyMjU2MjMyNEYwMEZGN0I2RiAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMURE
MkE2NzMyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaDsg
cGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1l
c3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFERTA3NkQ5
MjQ2MENDQkQwMEIyMTFFOCAvKiBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNDb2NvYS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYg
LyogV0tTaGFyZVNoZWV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2hh
cmVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREUyREZBQzIzQTk1OUY4
MDAzRTAxM0EgLyogUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTU2MzMsNiArNTY1OCw4IEBACiAJCQkJMDc5MjMxMzEyMzlCM0IwQzAwOTU5OEUy
IC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJCQkJMDc5MjMxMzIyMzlCM0Iw
QzAwOTU5OEUyIC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTA3QjFEMDRC
MjNEMzhGQ0UwMDM5OUE2RSAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4g
Ki8sCisJCQkJMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJl
bW90ZS5jcHAgKi8sCisJCQkJMUREMkE2MzcyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTlCNUJFQzI5MjQwMTAxNTgwMDcwQzZFRiAvKiBSZW1v
dGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwICovLAogCQkJCTlCNUJFQzI4MjQwMTAxNTgwMDcw
QzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuaCAqLywKIAkJCQk5QjVCRUMyRTI0
MDEwMThDMDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5Lm1lc3NhZ2VzLmlu
ICovLApAQCAtNTY3Nyw2ICs1NzA0LDEwIEBACiAJCQkJMDdCM0I0NkYyM0FCMkNCMzAwQkE1QjEy
IC8qIFJlbW90ZU1lZGlhUGxheWVyU3RhdGUuaCAqLywKIAkJCQkxRDMyRjg5RDIzQTg0QzVCMDBC
MUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmNwcCAqLywKIAkJCQkxRDMyRjg5QjIz
QTg0QkE2MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZVByb3h5LmggKi8sCisJCQkJMURE
MkE2NDYyNTVGMzJCMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oICov
LAorCQkJCTFERDJBNjNBMjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlLmNwcCAqLywKKwkJCQkxREQyQTYzOTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5oICovLAorCQkJCTFERDJBNjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluICovLAogCQkJCTA3RTE5RjA4MjNENTMz
QjkwMDk0RkZCNCAvKiBUZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkwN0UxOUYw
OTIzRDUzM0JBMDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5oICovLAogCQkJCTFE
RkREMEUyMjNGNjEwRjAwMEU5QjQ5MCAvKiBWaWRlb0xheWVyUmVtb3RlLmggKi8sCkBAIC01NzQx
LDYgKzU3NzIsMTMgQEAKIAkJCQkxREE0MDg5RTIzQTgyNzc4MDA1OEM5NTAgLyogUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXIuY3BwICovLAogCQkJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAv
KiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5oICovLAogCQkJCTFEMzJGOEE2MjNBODYwMTkw
MEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJ
CQkxREQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAg
Ki8sCisJCQkJMUREMkE2M0UyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHkuaCAqLywKKwkJCQkxREQyQTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eS5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oICovLAorCQkJCTFERDJBNjQzMjU1RTNGM0Qw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8sCisJCQkJMUREMkE2NDIy
NTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmggKi8sCisJCQkJMURE
MkE2NjYyNTYxRUQwNDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2Vz
LmluICovLAogCQkJCTA3RTE5RjA3MjNENERDODgwMDk0RkZCNCAvKiBSZW1vdGVUZXh0VHJhY2tQ
cm94eS5jcHAgKi8sCiAJCQkJMDdFMTlGMDYyM0Q0REM4ODAwOTRGRkI0IC8qIFJlbW90ZVRleHRU
cmFja1Byb3h5LmggKi8sCiAJCQkJMDcxQkM1ODQyM0NDMkMwOTAwNjgwRDdDIC8qIFJlbW90ZVZp
ZGVvVHJhY2tQcm94eS5jcHAgKi8sCkBAIC0xMDM0NiwxMCArMTAzODQsMTYgQEAKIAkJCQkxRDRE
NzM2QjIzQTlERjU1MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAogCQkJCTFENEQ3MzZDMjNBOURGNjAwMDcxN0EyNSAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJMUQ0RDczNzUyM0E5RUI2ODAw
NzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggKi8s
CisJCQkJMUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2MTI1NjEyMkYx
MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovLAog
CQkJCTFBQzEzMzgzMTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUFDMTMzODQxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCAqLywKIAkJCQkwRjU5NDdBNTE4N0I1MTc2MDA0Mzc4
NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCTBGNTk0N0E2MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
ck1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2OTI1NjIw
MjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oICovLAorCQkJ
CTFERDJBNjZBMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3Nh
Z2VzUmVwbGllcy5oICovLAogCQkJCUE1NUJBODIxMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQTU1QkE4MjIxQkEy
NUJCODAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCAqLywKIAkJ
CQkxQkJCRTQ5RTE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLApAQCAtMTAzNTcsNiArMTA0MDEsOSBAQAogCQkJCUUxOEU2OTE0MTY5
QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkyREU2
OTQzQjE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMkRFNjk0M0MxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0
TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcyMjU2MjMy
NEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKKwkJCQkxREQyQTY3MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NzEyNTYyMzI0RjAwRkY3QjZGIC8qIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQk5M0Q2Qjc4
MTI1NENDQUJDMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTkzRDZCNzgwMjU0Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25p
dGlvblNlcnZlck1lc3NhZ2VzLmggKi8sCiAJCQkJOTNENkI3N0YyNTRDQ0FCQjAwNThERDNBIC8q
IFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXNSZXBsaWVzLmggKi8sCkBAIC0xMzE0MCw4
ICsxMzE4NywxMCBAQAogCQkJCTA3MDE3ODlFMjNCRTlDRkMwMDVGMEZBQSAvKiBSZW1vdGVNZWRp
YVBsYXllck1JTUVUeXBlQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcxQkM1OEYyM0NF
MUVBQTAwNjgwRDdDIC8qIFJlbW90ZU1lZGlhUGxheWVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUQ0RDczNzAyM0E5RTU0NzAwNzE3QTI1IC8qIFJlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzEzMzg1MTg1OTBDNDYwMEYzRUMw
NSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjU5NDdBNzE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NkUyNTYy
MDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE1NUJBODI2MUJBMjVDRkQwMDdDRDMzRCAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QkJCRTRBMDE5QjY2QzUzMDA2QjdEODEgLyogUmVtb3RlV2ViSW5zcGVjdG9yVUlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2NjcwIC8q
IFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0x
MzE1Miw2ICsxMzIwMSw3IEBACiAJCQkJQTFBREFGQjYyMzY4RTZBODAwOUNCNzc2IC8qIFNoYXJl
ZE1lbW9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzVCMUJCOTIzQ0U5QzBCMDAyMDYzOUEg
LyogU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERTY5
NDNEMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2
RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzRDZCNzgyMjU0Q0NDRjQwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlv
blNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTMzNERFRDE2
REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTM2OEVFREUyMzAzQTkwMjAwQkRCMTFBIC8qIFN0b3JhZ2VNYW5hZ2Vy
U2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwCmluZGV4IGUwOWFmMGRjMzJiYjFiYmE1ZWJkODZlNGRjMDY3MGEwMmZmN2NkOWIu
LjM3MDYwYjI3YzNiNDg3ZjQ2ZGFhMjg3MTY1ZmJjYWMyNmM0NjBlYTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTcxLDYgKzcxLDEwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9M
ZWdhY3lDRE0uaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRl
ICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiBleHRlcm4gV1RGTG9nQ2hhbm5lbCBM
b2dNZWRpYTsKQEAgLTE0OCw3ICsxNTIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6cHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIE1lZGlhUGxheWVyOgogICAg
IH0sIG1faWQpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYg
Y29udGVudFR5cGUsIGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7CiAgICAgT3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlOwogICAgIGlmICh1cmwu
aXNMb2NhbEZpbGUoKSkgewpAQCAtNjI0LDE1ICs2MjgsMjEgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChUcmFja1By
aXZhdGUKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudCogY2xpZW50KQogewotICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXSB7Ci0gICAgICAgIGlmICghd2Vh
a1RoaXMpCi0gICAgICAgICAgICByZXR1cm47CisgICAgaWYgKG1fcmVtb3RlRW5naW5lSWRlbnRp
ZmllciA9PSBNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXI6OkFWRm91bmRh
dGlvbk1TRSkgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBSZW1vdGVNZWRpYVNvdXJjZUlk
ZW50aWZpZXI6OmdlbmVyYXRlKCk7CisgICAgICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpMb2FkTWVkaWFTb3VyY2UodXJsLCBpZGVudGlmaWVy
KSwgbV9pZCk7CisgICAgICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlOjpjcmVhdGUobV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCksIGlkZW50
aWZpZXIsIG1fbWFuYWdlci50eXBlQ2FjaGUobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVyKSwgKnRo
aXMsIGNsaWVudCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKKyAgICAgICAgICAgIGlmICghd2Vh
a1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fY2FjaGVkU3RhdGUu
bmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7Ci0g
ICAgICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7Ci0gICAgfSk7CisgICAgICAg
ICAgICBtX2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3Rh
dGU6OkZvcm1hdEVycm9yOworICAgICAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5n
ZWQoKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5oCmluZGV4IGYzNjM3MjUwOWVhOWU0ZjhlMWE3ZDhmN2Y1Mjc2M2MzNGYxMWU0YTAuLmZk
YjAxYTI5NWEzYzY3YTA3Njk3NzFiZTYxYjEzMDNlN2VkMDg3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuaApAQCAtNDMsNiArNDMsMTAgQEAKICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisj
aW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgiCisjZW5kaWYKKwogbmFtZXNwYWNl
IFdURiB7CiBjbGFzcyBNYWNoU2VuZFJpZ2h0OwogfQpAQCAtODgsNiArOTIsOCBAQCBwdWJsaWM6
CiAgICAgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9tYW5h
Z2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOyB9CiAgICAgV2ViQ29yZTo6
TWVkaWFQbGF5ZXIqIHBsYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVyOyB9CiAKKyAgICBX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9jYWNoZWRTdGF0ZS5yZWFkeVN0YXRlOyB9CisKICAgICB2b2lkIG5ldHdvcmtT
dGF0ZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIHJlYWR5U3Rh
dGVDaGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCB2b2x1bWVDaGFu
Z2VkKGRvdWJsZSk7CkBAIC0xNTQsNiArMTYwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldFJh
d0Nvb2tpZXMoY29uc3QgVVJMJiwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6OkdldFJhd0Nv
b2tpZXNDYWxsYmFjayYmKSBjb25zdDsKICNlbmRpZgogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisgICAgY29uc3Qgdm9pZCogbWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkgeyByZXR1cm4g
bG9nSWRlbnRpZmllcigpOyB9CisgICAgY29uc3QgTG9nZ2VyJiBtZWRpYVBsYXllckxvZ2dlcigp
IHsgcmV0dXJuIGxvZ2dlcigpOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKIAogI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRApAQCAtMTcwLDcgKzE4MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVw
YXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlBy
ZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFyZSkgZmluYWw7CiAKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBXZWJDb3Jl
OjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbDsKKyAgICB2b2lkIGxvYWQoY29uc3Qg
VVJMJiwgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWw7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpNZWRpYVN0
cmVhbVByaXZhdGUmKSBmaW5hbDsKQEAgLTI1MCw3ICsyNjEsNiBAQCBwcml2YXRlOgogICAgIGRv
dWJsZSBtaW5GYXN0UmV2ZXJzZVJhdGUoKSBjb25zdCBmaW5hbDsKIAogICAgIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgbmV0d29ya1N0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGU7IH0KLSAgICBXZWJDb3JlOjpNZWRpYVBsYXll
cjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9jYWNoZWRT
dGF0ZS5yZWFkeVN0YXRlOyB9CiAKICAgICBNZWRpYVRpbWUgbWF4TWVkaWFUaW1lU2Vla2FibGUo
KSBjb25zdCBmaW5hbDsKICAgICBNZWRpYVRpbWUgbWluTWVkaWFUaW1lU2Vla2FibGUoKSBjb25z
dCBmaW5hbDsKQEAgLTM4NCw2ICszOTQsMTAgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVtb3Rl
QXVkaW9Tb3VyY2VQcm92aWRlcj4gbV9hdWRpb1NvdXJjZVByb3ZpZGVyOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFJlZlB0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGU+IG1fbWVkaWFTb3VyY2VQcml2YXRlOworI2VuZGlmCisKICAgICBIYXNoTWFwPFJlbW90ZU1l
ZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291
cmNlPj4gbV9tZWRpYVJlc291cmNlczsKICAgICBIYXNoTWFwPFRyYWNrUHJpdmF0ZVJlbW90ZUlk
ZW50aWZpZXIsIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZVJlbW90ZT4+IG1fYXVkaW9UcmFja3M7CiAg
ICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBSZWY8VmlkZW9UcmFja1By
aXZhdGVSZW1vdGU+PiBtX3ZpZGVvVHJhY2tzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZmYWUxNzE5NGM5YzVlYWYxZDA5YjRiMTE1ZDI4N2Q5OThlNjMwZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTAsMCArMSwxNDMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgi
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNp
bmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgi
CisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAi
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGUuaCIKKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorZXh0ZXJuIFdURkxvZ0NoYW5uZWwg
TG9nTWVkaWE7CisjZW5kaWYKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOworCitSZWY8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGU6OmNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb24sIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVN
ZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIG1pbWVUeXBlQ2FjaGUsIGNvbnN0IE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZSYgcGxheWVyUHJpdmF0ZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBj
bGllbnQpCit7CisgICAgYXV0byBtZWRpYVNvdXJjZVByaXZhdGUgPSBhZG9wdFJlZigqbmV3IE1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZShncHVQcm9jZXNzQ29ubmVjdGlvbiwgaWRlbnRpZmllciwg
bWltZVR5cGVDYWNoZSwgcGxheWVyUHJpdmF0ZSwgY2xpZW50KSk7CisgICAgY2xpZW50LT5zZXRQ
cml2YXRlQW5kT3BlbihtZWRpYVNvdXJjZVByaXZhdGUuY29weVJlZigpKTsKKyAgICByZXR1cm4g
bWVkaWFTb3VyY2VQcml2YXRlOworfQorCitNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6Ok1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5l
Y3Rpb24sIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVNZWRp
YVBsYXllck1JTUVUeXBlQ2FjaGUmIG1pbWVUeXBlQ2FjaGUsIGNvbnN0IE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZSYgcGxheWVyUHJpdmF0ZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGll
bnQpCisgICAgOiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uKGdwdVByb2Nlc3NDb25uZWN0aW9uKQor
ICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX21pbWVUeXBlQ2FjaGUobWlt
ZVR5cGVDYWNoZSkKKyAgICAsIG1fcGxheWVyUHJpdmF0ZShtYWtlV2Vha1B0cihwbGF5ZXJQcml2
YXRlKSkKKyAgICAsIG1fY2xpZW50KGNsaWVudCkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICAsIG1fbG9nZ2VyKG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXJMb2dnZXIoKSkKKyAg
ICAsIG1fbG9nSWRlbnRpZmllcihtX3BsYXllclByaXZhdGUtPm1lZGlhUGxheWVyTG9nSWRlbnRp
ZmllcigpKQorI2VuZGlmCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2NsaWVudC0+c2V0TG9nSWRlbnRpZmllcihtX2xv
Z0lkZW50aWZpZXIpOworI2VuZGlmCit9CisKK01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6fk1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
KTsKKworICAgIGZvciAoYXV0byBpdCA9IG1fc291cmNlQnVmZmVycy5iZWdpbigpLCBlbmQgPSBt
X3NvdXJjZUJ1ZmZlcnMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgKCppdCktPmNs
ZWFyTWVkaWFTb3VyY2UoKTsKK30KKworTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlOjphZGRTb3VyY2VCdWZmZXIoY29uc3QgQ29udGVudFR5cGUm
IGNvbnRlbnRUeXBlLCBSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZT4mIG91dFByaXZhdGUpCit7
CisgICAgREVCVUdfTE9HKExPR0lERU5USUZJRVIsIGNvbnRlbnRUeXBlKTsKKworICAgIE1lZGlh
RW5naW5lU3VwcG9ydFBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBwYXJhbWV0ZXJzLmlzTWVk
aWFTb3VyY2UgPSB0cnVlOworICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOworICAg
IGlmIChtX21pbWVUeXBlQ2FjaGUuc3VwcG9ydHNUeXBlQW5kQ29kZWNzKHBhcmFtZXRlcnMpID09
IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQorICAgICAgICByZXR1
cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CisKKyAgICBBZGRTdGF0dXMgc3RhdHVzOworICAg
IE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXI7CisgICAgaWYgKCFtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24o
KS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6QWRkU291cmNlQnVm
ZmVyKGNvbnRlbnRUeXBlKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OkFkZFNv
dXJjZUJ1ZmZlcjo6UmVwbHkoc3RhdHVzLCByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKSwg
bV9pZGVudGlmaWVyKSkKKyAgICAgICAgc3RhdHVzID0gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7
CisKKyAgICBpZiAoc3RhdHVzID09IEFkZFN0YXR1czo6T2spIHsKKyAgICAgICAgQVNTRVJUKHJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaGFzVmFsdWUoKSk7CisgICAgICAgIGF1dG8gbmV3
U291cmNlQnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKG1fZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24sICpyZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCAqdGhpcyk7Cisg
ICAgICAgIG91dFByaXZhdGUgPSBuZXdTb3VyY2VCdWZmZXIuY29weVJlZigpOworICAgICAgICBt
X3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVyKSk7CisgICAgfQor
CisgICAgcmV0dXJuIHN0YXR1czsKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
OmR1cmF0aW9uQ2hhbmdlZCgpCit7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
OjptYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpCit7Cit9CisKK3ZvaWQgTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlOjp1bm1hcmtFbmRPZlN0cmVhbSgpCit7Cit9CisKK01lZGlhUGxh
eWVyOjpSZWFkeVN0YXRlIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0ZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fcGxheWVyUHJpdmF0ZSA/IG1fcGxheWVyUHJpdmF0ZS0+cmVh
ZHlTdGF0ZSgpIDogTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOworfQorCit2
b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2V0UmVhZHlTdGF0ZShNZWRpYVBsYXllcjo6
UmVhZHlTdGF0ZSkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OndhaXRG
b3JTZWVrQ29tcGxldGVkKCkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
OnNlZWtDb21wbGV0ZWQoKQoreworfQorCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZM
b2dDaGFubmVsJiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAor
eworICAgIHJldHVybiBMb2dNZWRpYTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxYzk0NDI1YjQ4YjM5NmU5
NjdjNGU4MjE0ZGZiNmU1MzVhNTUwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oCkBAIC0wLDAg
KzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25u
ZWN0aW9uLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmgiCisj
aW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRlLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGUuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVs
cGVyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTsK
K2NsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU7CisKK2NsYXNzIE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZSBmaW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0
ZQorICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4K
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCisj
ZW5kaWYKK3sKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZT4gY3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyLCBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmLCBjb25zdCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICB2
aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoKTsKKworICAgIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZSogcGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5ZXJQcml2YXRlLmdldCgp
OyB9CisKKyAgICAvLyBNZWRpYVNvdXJjZVByaXZhdGUgb3ZlcnJpZGVzCisgICAgQWRkU3RhdHVz
IGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIFJlZlB0cjxXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYpIGZpbmFsOworICAgIHZvaWQgZHVyYXRpb25DaGFu
Z2VkKCkgZmluYWw7CisgICAgdm9pZCBtYXJrRW5kT2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMp
IGZpbmFsOworICAgIHZvaWQgdW5tYXJrRW5kT2ZTdHJlYW0oKSBmaW5hbDsKKyAgICBXZWJDb3Jl
OjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWw7CisgICAg
dm9pZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKSBmaW5h
bDsKKyAgICB2b2lkIHdhaXRGb3JTZWVrQ29tcGxldGVkKCkgZmluYWw7CisgICAgdm9pZCBzZWVr
Q29tcGxldGVkKCkgZmluYWw7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25z
dCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9
CisgICAgY29uc3Qgdm9pZCogbmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSB7IHJldHVy
biBjaGlsZExvZ0lkZW50aWZpZXIobV9sb2dJZGVudGlmaWVyLCArK21fbmV4dFNvdXJjZUJ1ZmZl
cklEKTsgfQorI2VuZGlmCisKK3ByaXZhdGU6CisgICAgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
KEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBSZW1v
dGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGUmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKworICAgIEdQVVByb2Nl
c3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJlbW90ZU1lZGlhU291
cmNlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CisgICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlw
ZUNhY2hlJiBtX21pbWVUeXBlQ2FjaGU7CisgICAgV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU+IG1fcGxheWVyUHJpdmF0ZTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50PiBtX2NsaWVudDsKKyAgICBWZWN0b3I8UmVmUHRyPFNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGU+PiBtX3NvdXJjZUJ1ZmZlcnM7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAiTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlIjsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50
aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZM
b2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisKKyAgICBSZWY8Y29uc3QgTG9n
Z2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisgICAgdWlu
dDY0X3QgbV9uZXh0U291cmNlQnVmZmVySUQgeyAwIH07CisjZW5kaWYKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE1Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaAppbmRleCBjNjJjNDY0ZmRmZGNkOGMz
NTc1NmIwZTM4ZGFkMGY4OTM5MDU4ODY3Li5lNjQ1MDg0YmNkNjBjNDVjZTc2ZjNhMDNjZmQzZjc4
M2YxNjkzNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNyArMjcsNiBAQAogCiAj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCi0jaW5j
bHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJh
dGlvbi5oCmluZGV4IDY1MzJkNzJlN2NlNGI4NTNmMmQzYjkzNDU1ZTE5MjgxYzQxOWZhNDMuLmE4
NjU4MGJmMTg2MzFiYjNiYzgyNmI1M2FmMWYyZDU0ODZlNDYyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1J
bnN0YW5jZUNvbmZpZ3VyYXRpb24uaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCi0jaW5jbHVkZSA8V2ViQ29y
ZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCmluZGV4IDFkNmIzZWUzZTk1
ZTgwYWU4NjBlOTY2YjhjOTI3M2QwODY1M2E4YWMuLmE0MTY5ZDViMWE1Njg4Y2JkNjljNTlkOGI4
YTlmYzJkYWQ1YjJjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaApAQCAtNjYsNiArNjYs
OCBAQCBwdWJsaWM6CiAKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIgZmluZFJl
bW90ZVBsYXllcklkKGNvbnN0IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSop
OwogCisgICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiB0eXBlQ2FjaGUoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKKwogcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
PiBjcmVhdGVSZW1vdGVNZWRpYVBsYXllcihXZWJDb3JlOjpNZWRpYVBsYXllciosIFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7CiAKQEAgLTgzLDggKzg1
LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNoZShXZWJDb3JlOjpNZWRpYVBs
YXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYsIFdhbGxUaW1l
IG1vZGlmaWVkU2luY2UpOwogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlRm9yT3JpZ2lucyhXZWJD
b3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IEhhc2hTZXQ8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPj4mKTsKIAot
ICAgIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgdHlwZUNhY2hlKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcik7Ci0KICAgICBIYXNoTWFwPFdl
YkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciwgV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU+PiBtX3BsYXllcnM7CiAgICAgV2ViUHJvY2VzcyYgbV9wcm9jZXNzOwogICAgIG11dGFi
bGUgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24qIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24geyBudWxscHRy
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2I2NTk0NjEw
MDY3MDUxNzJlMTY4MDZmZTE3MzU1NTNkMTM5NGIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlIDx3dGYv
T2JqZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJlbW90ZU1lZGlhU291cmNlSWRl
bnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyVHlw
ZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhYTExNjVkMGRhNDJlZjZjOGI2MzM3Mzc1MGQ4ZDgz
Y2YwMTIzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlclBy
aXZhdGVSZW1vdGUuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKKyNp
bmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlh
OworI2VuZGlmCit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+IFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGU6OmNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b24sIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgcmVtb3RlU291cmNlQnVmZmVySWRlbnRp
ZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJiBtZWRpYVNvdXJjZVByaXZhdGUp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShn
cHVQcm9jZXNzQ29ubmVjdGlvbiwgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgbWVkaWFT
b3VyY2VQcml2YXRlKSk7Cit9CisKK1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0
aW9uLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRl
KQorICAgIDogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAg
ICAsIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcihyZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyKQorICAgICwgbV9tZWRpYVNvdXJjZVByaXZhdGUobWFrZVdlYWtQdHIobWVkaWFTb3Vy
Y2VQcml2YXRlKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKG1f
bWVkaWFTb3VyY2VQcml2YXRlLT5sb2dnZXIoKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihtX21l
ZGlhU291cmNlUHJpdmF0ZS0+bmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSkKKyNlbmRp
ZgoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgbV9ncHVQcm9jZXNzQ29u
bmVjdGlvbi5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6
OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9yZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKK30KKworU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKQoreworICAg
IEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CisKKyAg
ICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50NjQoKSk7
Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKK3sKKyAgICBtX2NsaWVudCA9IGNsaWVudDsKK30K
Kwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQoVmVjdG9yPHVuc2lnbmVk
IGNoYXI+JiYgZGF0YSkKK3sKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6QXBwZW5kKElQQzo6RGF0
YVJlZmVyZW5jZShkYXRhKSksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcik7Cit9CisK
K3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YWJvcnQoKQoreworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUoKQoreworfQorCit2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKQorewor
fQorCitNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpy
ZWFkeVN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBt
X21lZGlhU291cmNlUHJpdmF0ZS0+cGxheWVyKCktPnJlYWR5U3RhdGUoKSA6IE1lZGlhUGxheWVy
OjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKQoreworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmZsdXNoKGNvbnN0IEF0b21TdHJpbmcmIHRy
YWNrSUQpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6ZW5xdWV1ZVNh
bXBsZShSZWY8TWVkaWFTYW1wbGU+JiYsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9
CisKK2Jvb2wgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6aXNSZWFkeUZvck1vcmVTYW1wbGVz
KGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldEFjdGl2ZShib29sKQoreworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6Om5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1v
cmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK2Jvb2wgU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGlt
ZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0
aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgTWVkaWFUaW1lJikKK3sKK30KKwordm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjbGVhck1pbmltdW1VcGNvbWluZ1ByZXNlbnRh
dGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpCit7Cit9CisKK2Jvb2wgU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKGNvbnN0IENvbnRlbnRUeXBlJikKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNl
QnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit7CisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBt
X2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCk7
Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dN
ZWRpYTsKK30KKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlhMDFiMDYyNWUzYjdjN2YwMTE4NGE4M2MzNmU1NDkx
MjJmMDlhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oCkBAIC0wLDAgKzEsMTEyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2lu
Y2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlcklk
ZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9NZWRpYVNhbXBsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJp
dmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+
CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRl
IDx3dGYvV2Vha1B0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFt
ZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIERh
dGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGU7CisKK2NsYXNzIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgZmluYWwK
KyAgICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPgor
ICAgICwgcHVibGljIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGUKKyAgICAsIHByaXZhdGUg
SVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIHBy
aXZhdGUgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+IGNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYsIFJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZSYpOworICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKTsKKworICAgIHZv
aWQgY2xlYXJNZWRpYVNvdXJjZSgpIHsgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBudWxscHRyOyB9
CisKK3ByaXZhdGU6CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29u
bmVjdGlvbiYsIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZSYpOworCisgICAgLy8gU291cmNlQnVmZmVyUHJpdmF0ZSBvdmVycmlkZXMK
KyAgICB2b2lkIHNldENsaWVudChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Kikg
ZmluYWw7CisgICAgdm9pZCBhcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYpIGZpbmFsOwor
ICAgIHZvaWQgYWJvcnQoKSBmaW5hbDsKKyAgICB2b2lkIHJlc2V0UGFyc2VyU3RhdGUoKSBmaW5h
bDsKKyAgICB2b2lkIHJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoKSBmaW5hbDsKKyAgICBXZWJDb3Jl
OjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSByZWFkeVN0YXRlKCkgY29uc3QgZmluYWw7CisgICAg
dm9pZCBzZXRSZWFkeVN0YXRlKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKSBmaW5h
bDsKKyAgICB2b2lkIGZsdXNoKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAg
IHZvaWQgZW5xdWV1ZVNhbXBsZShSZWY8V2ViQ29yZTo6TWVkaWFTYW1wbGU+JiYsIGNvbnN0IEF0
b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgaXNSZWFkeUZvck1vcmVTYW1wbGVz
KGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIHZvaWQgc2V0QWN0aXZlKGJv
b2wpIGZpbmFsOworICAgIHZvaWQgbm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNhbXBsZXMo
Y29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgYm9vbCBjYW5TZXRNaW5pbXVt
VXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdCBmaW5hbDsK
KyAgICB2b2lkIHNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0
cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpIGZpbmFsOworICAgIHZvaWQgY2xlYXJNaW5pbXVtVXBj
b21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBmaW5hbDsKKyAgICBib29s
IGNhblN3aXRjaFRvVHlwZShjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYpIGZpbmFsOworCisg
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQpOworCisgICAgR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllciBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI7CisgICAg
V2Vha1B0cjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IG1fbWVkaWFTb3VyY2VQcml2YXRlOwor
ICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0
ciB9OworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgY29uc3QgTG9nZ2VyJiBsb2dn
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IGNo
YXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlIjsgfQorICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dD
aGFubmVsKCkgY29uc3QgZmluYWw7CisgICAgY29uc3QgTG9nZ2VyJiBzb3VyY2VCdWZmZXJMb2dn
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQorICAgIGNvbnN0IHZv
aWQqIHNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSBmaW5hbCB7IHJldHVybiBsb2dJZGVudGlm
aWVyKCk7IH0KKworICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZv
aWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWExOTgyMTFjZTk5YWJhZDViOGVlMDdmZDRlMTc3YmRmYTk1YTQwYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworbWVzc2FnZXMg
LT4gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKKyAgICBTb3VyY2VC
dWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK30KKworI2VuZGlmCg==
</data>
<flag name="commit-queue"
          id="431122"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414285</attachid>
            <date>2020-11-16 15:31:10 -0800</date>
            <delta_ts>2020-11-16 16:04:57 -0800</delta_ts>
            <desc>WIP patch: fix build failures on WPE and GTK ports (update WebKit_MESSAGES_IN_FILES in CMakeLists.txt)</desc>
            <filename>bug-218912-20201116153109.patch</filename>
            <type>text/plain</type>
            <size>133251</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uMDE3MGE2ZmE4NTQ5M2VmYmMwNGUyYTQ4MjZjMzI2
OGI2OWQzMDMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gZnVuY3Rp
b25hbCBjaGFuZ2UgeWV0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVm
ZmVyUHJpdmF0ZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6CisgICAgICAgICogcGxhdGZv
cm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpsb2FkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5k
Q29tcGxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291
cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3Vy
Y2VCdWZmZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlOjphcHBlbmQpOgorCiAyMDIwLTExLTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIGlzTGFzdFRleHRS
dW5PbkxpbmUvaXNMYXN0VGV4dFJ1biBmcm9tIHJ1biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyODJk
ODhmODRjZjY3MTc0Yjc0MjUzMzhlNDljZmUxNDJjMjQyOGJlLi5mYWZhMWYyMzU1ZmM1NWE0OGY0
OTRmNDBkY2RkN2E0NGVjMGVkNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMC0x
MS0xNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYSBJ
biBHUFUgUHJvY2Vzc11bTVNFXSBBZGQgaW5mcmFzdHJ1Y3R1cmUgbmVlZGVkIHRvIHJ1biBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMgaW4gdGhlIEdQVSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UpOgorICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oOgorICAgICAgICAqIEdQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToK
KwogMjAyMC0xMS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgV2ViRHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBz
d2l0Y2hpbmcgdG8gYSB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGJlYjAwNjBiYWVhNDM5
NGEwNTA0Y2NlZDI2N2U2MjYwMGEzOTZiNzYuLmQ2ZTgwNjZhYzM5ODQyNDEyZmU5NDQ5MjRhNDQz
YTg2MTkyZGJlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTIxMiw2ICsxMjEyLDggQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyRW51bXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVySWRl
bnRpZmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAorICAgIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFVc2FnZUluZm8uaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL05hdGl2ZUltYWdlLmgKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9OYXRpdmVJbWFnZVJlZmVyZW5jZS5oCkBAIC0xMjMzLDYgKzEy
MzUsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9SZW5kZXJpbmdNb2RlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVj
dC5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCisgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvU3RyaW5nVHJ1bmNhdG9yLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UYWJTaXpl
LmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4
Njk1MjNjNDAxODc1OWVlNzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2Vj
NmIxOWEzZDczMjRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8
UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVy
UHJpdmF0ZShjb24KIAogICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZm
ZXJQcml2YXRlOwogICAgIHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwg
c291cmNlQnVmZmVyUHJpdmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6
CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJl
dHVybiBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3Mu
dzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVy
LURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1J
TUUgdHlwZSAuLi4gdGhhdCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAg
IC8vIHNwZWNpZmllZCBmb3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJj
ZUJ1ZmZlcnMsIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNl
cHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
Tm90U3VwcG9ydGVkRXJyb3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hl
ZElkTGltaXQ6CisgICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hl
ZElkTGltaXQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVk
aWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1N
ZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAg
ICAgICAgIC8vIFN0ZXAgMzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3Jl
IFNvdXJjZUJ1ZmZlciBvYmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2Vl
ZGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0Mjky
NjhkNzYxNzVlOTMyMDBlYzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEz
NGIyZGYzY2RkYjllOTAzNWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBT
b3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBU
b3A6IElmIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBt
b3JlIGRhdGEgc3RlcCBiZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgp
KSB7Ci0gICAgICAgIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNj
ZWVkZWQpOworICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5k
UmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02
NTgsNyArNjU4LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShBcHBlbmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0
IGJ1ZmZlciBjb250YWlucyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRl
IHN0cmVhbSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5k
IGVycm9yIGFsZ29yaXRobSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0
cnVlIGFuZCBhYm9ydCB0aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdG
YWlsZWQpIHsKKyAgICBpZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkg
ewogICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAg
ICAgICAgYXBwZW5kRXJyb3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KEFwcGVuZFJlc3VsdCByZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAz
LjUuNQogICAgIC8vIDIuSWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRo
ZSBwcmV2aW91cyBzdGVwIHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgot
ICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBw
ZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMu
IFNldCB0aGUgdXBkYXRpbmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYx
ZDI5YzBjMjZiMmU1ZWQxNjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1
ZmUwOWI4MzkzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIw
MDRCRDg2RiAvKiBJU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8q
IElTT1Byb3RlY3Rpb25TY2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09y
aWdpbmFsRm9ybWF0Qm94LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDg3MUM2NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3gu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYy
RkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdE
IC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQ
cml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0J
CUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVE
MDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThG
NUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJQ0Q2NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQx
RUIyMTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAw
MDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8q
IElTT0ZhaXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDdEMzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDVi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUNEN0QzMzQ4MUM3QTE2QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAw
MDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMz
RERCMEEwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQ
YXJzZWRDb250ZW50UmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDRENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIx
OEMwQUUzMTAwNkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyog
U2FtcGxlTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDREQ3MDg5NTE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdB
OUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQg
LyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0RERTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5k
YXRpb25PYmpDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0RERTAyRUIxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpD
Lm1tICovOyB9OwogCQlDRERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3Ry
ZWFtU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEREUwMkVGMThCNTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9u
Lm1tICovOyB9OwogCQlDREUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZh
dGVBVkYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTNBODUyMTdGNUZDRTYwMEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMTRjMzk3N2NiMWZj
OGJlNmM4N2EwZjJmZGU4MjJiZDEzMDQwZjJjNi4uYjlmNzhiNzFjMGQ0ZjM1OGYzNGM2ZTgwNTNm
ZDU0ODg5YTNlYmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0xNDU3LDcgKzE0NTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJj
ZShjb25zdCBVUkwmIGluaXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICAg
ICAgLy8gd2hpbGUgcHJvY2Vzc2luZyByZW1haW5kZXIgb2YgbG9hZCBmYWlsdXJlLgogICAgICAg
ICAgICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdG
YWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwotICAgICAgICB9
IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIGNvbnRlbnRUeXBlLCBtX21lZGlhU291cmNl
LmdldCgpKSkgeworICAgICAgICB9IGVsc2UgaWYgKCFtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVk
aWFTb3VyY2UuZ2V0KCkpKSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGRldGFjaCB0aGUg
TWVkaWFTb3VyY2UgYmVmb3JlIHdlIGZvcmdldCB0aGUgcmVmZXJlbmNlIHRvIGl0LgogICAgICAg
ICAgICAgbV9tZWRpYVNvdXJjZS0+ZGV0YWNoRnJvbUVsZW1lbnQoKnRoaXMpOwogICAgICAgICAg
ICAgbV9tZWRpYVNvdXJjZSA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZW50VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5
cGUuaAppbmRleCA3YzI3OGE2OGUzODlhZWVlNjJjNDMxMmMwM2FlY2Y1OThjZDQzMzU4Li5lZWY4
YjkzY2E5YTk1MjgyMjRhZWEyM2M0NDVlOGE0NzU1YzIzZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NvbnRlbnRUeXBlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0
cmluZyYgcmF3KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlLmlzRW1wdHkoKTsgfQogCi0gICAgU3RyaW5nIHRvSlNPTlN0
cmluZygpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0b0pTT05TdHJpbmcoKSBj
b25zdDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4YjBkNzNlOGQ4MjRmZGI2OWNmZjA2OThjODJmODlk
MDkxODVhNzJiLi4xNzA0Mzg1ZGRjNzg4ZmEzODhmYmU0YmRlZjVkMTJiMzlmZmUxYjViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBA
IC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmKSBm
aW5hbCB7IH0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBT
dHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxv
YWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5k
aWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKSBmaW5hbCB7IH0KQEAgLTQ3MSwxMyArNDcxLDEzIEBAIGJvb2wgTWVkaWFQbGF5ZXI6
OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29u
c3QgU3RyCiB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotYm9vbCBNZWRpYVBsYXllcjo6
bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQorYm9vbCBNZWRpYVBsYXllcjo6bG9h
ZChjb25zdCBVUkwmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJjZSkK
IHsKICAgICBBU1NFUlQoIW1fcmVsb2FkVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgQVNTRVJUKG1l
ZGlhU291cmNlKTsKIAogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBtX2Nv
bnRlbnRUeXBlID0gY29udGVudFR5cGU7CisgICAgbV9jb250ZW50VHlwZSA9IHsgfTsKICAgICBt
X3VybCA9IHVybDsKICAgICBtX2tleVN5c3RlbSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgbV9jb250
ZW50TUlNRVR5cGVXYXNJbmZlcnJlZEZyb21FeHRlbnNpb24gPSBmYWxzZTsKQEAgLTU4Niw3ICs1
ODYsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShjb25zdCBN
ZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAgICAgICAg
ICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdldCgpKTsK
KyAgICAgICAgICAgIG1fcHJpdmF0ZS0+bG9hZChtX3VybCwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7
CiAgICAgICAgIGVsc2UKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkMjUyMGFj
YmJiYjFhNjk4Y2EzZDQwNzA2NjJmMWQzZmQ5Njg3MDU4Li5lMjI1YmJhZjJhMjNjODQ1YmRjNmIz
OTZhZjMwMmVkZTUyMmZiZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKQEAgLTMzNyw3ICszMzcsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSk7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICBib29sIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKKyAgICBi
b29sIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kik7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIGJvb2wgbG9hZChNZWRpYVN0cmVhbVByaXZh
dGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKaW5kZXggZjliOTIwNjE5MGQ1YWVkMDZkMGQ4OGMwYzc0MTVjZTE2NGRh
NTgwMi4uY2Q5N2M2MjY5ZWJiYTI2N2M3MWU0NGFhZDM4ZDFmZjQyN2M5ZDZkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwu
c3RyaW5nKCkpOyB9CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZpcnR1YWwgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KikgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFs
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdm
MTRkOGUxOTY2YjgzOTcxODRiZDJiZDg3ZDE3MTc4MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNj
MzQxNzNiNTk0N2U4NmEzMzNhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2
YXRlX2gKLSNkZWZpbmUgTWVkaWFTb3VyY2VQcml2YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCkBAIC00OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAg
TWVkaWFTb3VyY2VQcml2YXRlKCkgPSBkZWZhdWx0OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNl
UHJpdmF0ZSgpID0gZGVmYXVsdDsKIAotICAgIGVudW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBv
cnRlZCwgUmVhY2hlZElkTGltaXQgfTsKKyAgICBlbnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4
X3QgeworICAgICAgICBPaywKKyAgICAgICAgTm90U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVk
SWRMaW1pdAorICAgIH07CiAgICAgdmlydHVhbCBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNv
bnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVh
bVN0YXR1cyB7IEVvc05vRXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsK
QEAgLTg4LDcgKzkyLDE1IEBAIHN0cnVjdCBMb2dBcmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGU6OkVuZE9mU3RyZWFtU3RhdHVzPiB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4g
eworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVBy
aXZhdGU6OkFkZFN0YXR1czo6T2ssCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZTo6QWRkU3RhdHVzOjpSZWFjaGVkSWRMaW1pdAorICAgID47Cit9OworCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAogI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRl
eCAwMDU2NWE5MWZlYTk4YTY0MThhNDQ2MjBjYmMzNjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJl
YTI0YWFlNjk4ZWUxNWIwNjgxOTE1NDFjMDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBA
IC03MywxMSArNzMsMjggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNl
QnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBj
b25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVu
ZFJlc3VsdCB7IEFwcGVuZFN1Y2NlZWRlZCwgUmVhZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxl
ZCB9OworICAgIGVudW0gY2xhc3MgQXBwZW5kUmVzdWx0IDogdWludDhfdCB7CisgICAgICAgIEFw
cGVuZFN1Y2NlZWRlZCwKKyAgICAgICAgUmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2lu
Z0ZhaWxlZAorICAgIH07CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBl
bmRDb21wbGV0ZShBcHBlbmRSZXN1bHQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVm
ZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9
OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAg
ICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpB
cHBlbmRTdWNjZWVkZWQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQ6OkFwcGVuZFJlc3VsdDo6UmVhZFN0cmVhbUZhaWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAg
PjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NP
VVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5jcHAKaW5kZXggYWQ0YmM5MGU4MWIxYzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5
Mi4uNWFiNzEzNzU0NzZjNWYzMDdjZDljNTUzZDhlZmZiMGQ1ZmRlNjRmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAg
LTE4MSw3ICsxODEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9h
ZChjb25zdCBTdHJpbmcmIHVybCkKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b246OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICBz
ZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oCmluZGV4IDQzOGU0ODRhZGViYzZiYmYyYzIyYzZhYzU0MDkyZGNmYzBjZDg4NWMuLjQ3YjJm
OGY3NWZhYjQ0NjQ3ODc5NDEzNjc4ZjQ2YWQzMzM0NzJhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTE1OCw3ICsxNTgs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlUHJpdmF0ZUludGVyZmFj
ZSBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3Qg
VVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBv
dmVycmlkZSB7IHNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3Jt
YXRFcnJvcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzA2NTRlMjY4ZGM0NGUy
ZTNhMDdlMTNkZmQwOTE1ZTA3N2UzZGY5Mi4uMDAzODBiN2UyMjkxNWJiNjc1MGFkYmExNTdkZmIz
MDk0MmZkMjY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTE0OCw2ICsxNDgsNyBA
QCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPENvbnRlbnRUeXBlPiYgbWVkaWFDb250ZW50VHlw
ZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBvcnQoKSBjb25zdDsKICAgICBib29sIHNob3VsZENoZWNr
SGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAg
ICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdl
dCgpOyB9CiAgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gIk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyI7IH0KICAgICBjb25z
dCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB2b2lkKj4obV9sb2dJZGVudGlmaWVyKTsgfQpAQCAtMTU1LDYgKzE1Niw3IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsg
cmV0dXJuIGxvZ0lkZW50aWZpZXIoKTsgfQogICAgIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJM
b2dnZXIoKSB7IHJldHVybiBsb2dnZXIoKTsgfQorI2VuZGlmCiAKICAgICBlbnVtIFNlZWtTdGF0
ZSB7CiAgICAgICAgIFNlZWtpbmcsCkBAIC0xNjUsNyArMTY3LDcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UKICAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNv
bnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJy
aWRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUx
YWUyNWIzYzk0Mjc4Mzg0NjkyYWIwMWFlYTZlMC4uY2Q2OTc2Mzk3ZGM3ZDUxMzJkNWQ5MTQ1NDJh
OGFjZTVmYTA3NzczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2
Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNv
bnN0IFN0cmluZyYpCiAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAot
dm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3Ry
aW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQqIGNsaWVudCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCmluZGV4IDg3ODA5NmFkYmQ2ZTI1ZDQzMTg2YmVlYjBi
YWRmNDY4Zjg2Y2U0YzkuLmE0ZjRkNDQ2OWY1NjVmMzcxNDUyZmYwZTg4ZjRiMmM3MDU3MmJmMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRl
Q2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBsb2FkKE1lZGlhU3Ry
ZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuY2VsTG9hZCgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IGFjNmNkZTNjOGQ1NzljYmYwYTk2YjAwMzQ0
NjE2YTgyYjNjMGU3NjMuLjA5NGNlYjcwN2JmZDIwNjk0NDljNDNiOTg1YmNiOGNkMGFhNDRiMWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQog
fQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChj
b25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVk
aWEgZW5naW5lIG9ubHkgc3VwcG9ydHMgTWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURl
ZmVycmVkVGFzayhbdGhpc10gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5oCmluZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEy
MDk0OGY2ZGFjZTYuLmRjNDYyMDNiZThmNGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
LmgKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQ19oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akNfaAorI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZG
T1VOREFUSU9OKQogCkBAIC0xNDksNSArMTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0K
aW5kZXggZWY0NTNhZThkZGJlODE0NThkMmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNh
Nzk0ZmEwMTY5ZjljZTBmNmY5MmZlYWI1NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRl
QVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEg
QEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2Ug
PSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhw
YXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkK
LSAgICAgICAgcmV0dXJuIE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6
Tm90U3VwcG9ydGVkOwogCiAgICAgYXV0byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNy
ZWF0ZShjb250ZW50VHlwZSk7CiAgICAgaWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RT
dXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAg
IGF1dG8gbmV3U291cmNlQnVmZmVyID0gU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0
ZSh0aGlzLCBwYXJzZXIucmVsZWFzZU5vbk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKQEAgLTk3LDcgKzk3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVk
aWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQ
cml2YXRlID0gbmV3U291cmNlQnVmZmVyLmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMu
YXBwZW5kKFdURk1vdmUobmV3U291cmNlQnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAg
cmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6cmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0K
aW5kZXggOTE0OTZkMjQxZmZiNjEwZDk2OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVl
ZTUxYmRhMTRiOWI1ZjY2MzQxNWI5ODQ2NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYg
QEAKICNpbXBvcnQgIk1lZGlhU2FtcGxlLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMu
aCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdElt
cGxlbWVudGVkLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1
ZmZlclBhcnNlckFWRk9iakMuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQu
aCIKQEAgLTU4Niw3ICs1ODUsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjph
cHBlbmRDb21wbGV0ZWQoKQogICAgICAgICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9h
ZGluZ1Byb2dyZXNzc2VkKHRydWUpOwogCiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2Ns
aWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRl
ZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNpbmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291
cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0K
IAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3
OTE5YTBlOWIzMzE5Y2ZmNDZjMmZmYzEwMWYxLi41N2I2ODM4MzIwNjM0MDg2MzI2YjY0OGI2N2I3
YjY0MzA5M2EyYjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcApAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0
IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KQogewogICAgIC8vIFByb3Blcmx5IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmll
cyB0byBmYWxsYmFjayB0byB0aGUgbmV4dCBNZWRpYVBsYXllclByaXZhdGUuCiAgICAgbV9uZXR3
b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCBlMDE2MTViMGYz
YTM1MGQ2ZjA3NTA4NjJlMzYwYTZiMGNkYjc3NDlmLi5jMDhhZjhkMmI4NmQyNGMzMDQ1ZDFjNzIw
NGQ0ZjkzZjBlZDBhNTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCkBAIC0xNDIsNyArMTQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXVkaW8o
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2hhc0F1ZGlvOyB9CiAgICAgdm9pZCBsb2FkKGNvbnN0
IFN0cmluZyAmdXJsKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQotICAgIHZv
aWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3Zl
cnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVu
dCopIG92ZXJyaWRlOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lk
IGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggYzQ0Y2Ez
OTY3YWIwZmYwNjkwZjBjZDJlZTYzMzRkY2M1ZDBkN2ZiOC4uZGY4NWQzZGFiNGY5Mzc1ZTU3MGUz
ZDUzYjQxYjc3MmMzN2FhYTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcApAQCAtMTM4LDEwICsxMzgsMTAgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcpCiAgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKHVybFN0cmluZyk7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0
cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZSA9
IG1lZGlhU291cmNlOwotICAgIGxvYWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwpKTsK
KyAgICBsb2FkKG1ha2VTdHJpbmcoIm1lZGlhc291cmNlIiwgdXJsLnN0cmluZygpKSk7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpwYXVzZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCA3
ZTQ4MWU2NTc0ODllMjcxYjQ0ZjEzZmMzNWI0NDk0YzZjNTY2ZGVjLi4wNjkyNzY2MjY0OTQ1OTA2
ZGY4MjgzZDNhZDk1NzIzNjk3OGY1MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3Ry
YXIpOwogCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsK
KyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3Zl
cnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZURvd25sb2FkQnVmZmVyaW5nRmxhZygpIG92ZXJyaWRl
IHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKaW5kZXggYjAwNWQw
ZDMzNTI2NjRmN2Y5YmVkOWY3MDIwOTc3MmFiMDAyNzQ1MC4uMWU4OGFkMTYxMWJlZDU0NTgyYjkx
MDMwOTI2MmZjNzI3MjMyNjUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUu
Y3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxh
eWJhY2tQaXBlbGluZTo6YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKIAogICAgIGlm
IChwcml2LT5hbGxUcmFja3NDb25maWd1cmVkKSB7CiAgICAgICAgIEdTVF9FUlJPUl9PQkpFQ1Qo
bV93ZWJLaXRNZWRpYVNyYy5nZXQoKSwgIkFkZGluZyBuZXcgc291cmNlIGJ1ZmZlcnMgYWZ0ZXIg
Zmlyc3QgZGF0YSBub3Qgc3VwcG9ydGVkIHlldCIpOwotICAgICAgICByZXR1cm4gTWVkaWFTb3Vy
Y2VQcml2YXRlOjpOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZh
dGU6OkFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogICAgIH0KIAogICAgIEdTVF9ERUJVR19PQkpF
Q1QobV93ZWJLaXRNZWRpYVNyYy5nZXQoKSwgIlN0YXRlICVkIiwgaW50KEdTVF9TVEFURShtX3dl
YktpdE1lZGlhU3JjLmdldCgpKSkpOwpAQCAtMTQwLDcgKzE0MCw3IEBAIE1lZGlhU291cmNlUHJp
dmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihSZWZQdHI8
U291cmNlQnVmCiAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3dlYktpdE1lZGlhU3JjLmdldCgp
KSwgc3RyZWFtLT5hcHBzcmMpOwogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJl
bnQoc3RyZWFtLT5hcHBzcmMpOwogCi0gICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s7
CisgICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpPazsKIH0KIAogdm9p
ZCBQbGF5YmFja1BpcGVsaW5lOjpyZW1vdmVTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZmZl
clByaXZhdGVHU3RyZWFtZXI+IHNvdXJjZUJ1ZmZlclByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBkM2E4N2Vm
ZTg5YWViM2FkNTY3ZGVjNDhhMWUxYTdlZTQzZTVjNDhjLi5jOTA0MjdlNGVkM2VjN2E4MWE3YmJi
OTMyZWM0YjhiZDExMGNhMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE5NCwxMiArMTk0LDEyIEBAIHZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYg
c2FtcGxlKQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJlY2VpdmVB
bGxQZW5kaW5nU2FtcGxlcygpCiB7Ci0gICAgbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LT5z
b3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVu
dDo6QXBwZW5kU3VjY2VlZGVkKTsKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQtPnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcjo6YXBwZW5kUGFyc2luZ0ZhaWxlZCgpCiB7Ci0gICAgbV9zb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6UGFyc2luZ0ZhaWxlZCk7CisgICAgbV9zb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAog
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmNwcAppbmRleCA3ZDBjN2Q3Y2YwMmY0MmFlYzczZGNjMzgyN2JiYjJiMTdjMzM1
MmYxLi5jN2EwZjcxZGZlNjhmYzZlZDYyYzk2NWU1OTg4MGQ5MzI5YmJmN2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMTExLDcgKzExMSw3IEBA
IHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJikKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNv
dXJjZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIHNvdXJj
ZSkKK3ZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgVVJMJiwgTWVk
aWFTb3VyY2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZVByaXZh
dGUgPSBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpjcmVhdGUoKnRoaXMsICpzb3VyY2UpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IDdkZmMxZjIyOGRh
MjEzOTRmMzc2YzdmMjk2NGNmMTQ0NmU4Y2EzMWUuLjA1OGM2MzQyOTA2YTFhMTc0NzkxMDJiMTU1
ODQ5NDcyMjA3ZmNkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXll
clByaXZhdGUgT3ZlcnJpZGVzCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVy
cmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
IHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2Fh
ZmEwMGU3NWJjOGZmOGZmMWVlZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5
ZGYwMmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02Mywx
MiArNjMsMTIgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNl
UHJpdmF0ZTo6YWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVk
aWFTb3VyY2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAg
IGlmIChNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMp
ID09IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICBy
ZXR1cm4gTm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0
ZWQ7CiAKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRl
OjpjcmVhdGUodGhpcykpOwogICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgp
OwogCi0gICAgcmV0dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lk
IE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQ
cml2YXRlKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmlu
ZGV4IGY0ZGFkMDM3MTMwMzE4NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2
ZjQ5MjA0MmQ3YWIxZWRmN2NhYmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGUuY3BwCkBAIC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVy
UHJpdmF0ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZv
aWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4m
JiBkYXRhKQogewogICAgIG1faW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNv
dXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudDo6QXBwZW5kUmVzdWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZm
ZXIuc2l6ZSgpICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRT
dWNjZWVkZWQpIHsKKyAgICB3aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09
IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVk
KSB7CiAgICAgICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVm
ZmVyLmRhdGEoKSwgbV9pbnB1dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVu
Z3RoID0gTW9ja0JveDo6cGVla0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94
TGVuZ3RoID4gYnVmZmVyLT5ieXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBN
b2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRh
dGEpCiAgICAgICAgICAgICBNb2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3go
YnVmZmVyLnB0cigpKTsKICAgICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsK
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpQYXJzaW5nRmFpbGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1f
aW5wdXRCdWZmZXIucmVtb3ZlKDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQK
aW5kZXggNmUyZDhhOTEzYmU0NjZiN2M1MTM4OTUxOTI4NjhjNTU3NmIxZDAzYi4uNjI4NDQ1MzI1
MDMzNTEwN2ZkNTQ5ODIyMzJiOGI5ZWFlYzhlNjhjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0x
MzcsNiArMTM3LDggQEAgc2V0KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkKICAgICBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyCisgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJj
ZVByb3h5CisgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eQogCiAg
ICAgR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkKICAgICBHUFVQcm9jZXNz
L3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcgpAQCAtMjI0LDYgKzIy
Niw3IEBAIHNldChXZWJLaXRfTUVTU0FHRVNfSU5fRklMRVMKICAgICBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlcgogICAgIFdlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbgogICAgIFdlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUxlZ2FjeUNETVNlc3Npb24KKyAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlCiAKICAgICBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRD
Q29kZWNzCiAgICAgV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4
IGFiMTVmYmY1MWVmMzY4ZmJlNDc0NTM0MGQyNjE3YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0
ZGVmOGIyYjJlNzczZjlkNjlhZTc4NmU3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM1LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJ
UikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCisk
KFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRp
YVNlc3Npb25IZWxwZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vz
cy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIp
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1l
c3NhZ2VzLmluCkBAIC05NSw4ICs5Nyw4IEBAICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9H
UFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3Mv
SW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1Rf
RElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
clByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3JQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsv
Q3VzdG9tUHJvdG9jb2xzL0xlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluCkBAIC0xMzYsNiArMTM4LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RN
SW5zdGFuY2VTZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2Vz
LmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDUmVtb3RlQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMs
OSArMTQ2LDkgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9H
ZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2Fn
ZXMuaW4KLSQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJ
RXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2Fn
ZXMuaW4KKyQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJ
RXh0ZW5zaW9uQ29udHJvbGxlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNU
X0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdl
cy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggNGViMTI1ZTlhZGM3NjVhNWFlOGRjMTE3NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVm
NWFlMzk5YjVlYWY0NzdmMTg5MzI1NmJjMjQ4ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9u
SGVscGVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFT
ZXNzaW9uSGVscGVyUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVw
bGllcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1v
dGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2Vz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVP
YmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIz
Myw2ICsyMzYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVy
UHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlN
ZXNzYWdlc1JlcGxpZXMuaApAQCAtMjUxLDYgKzI1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1Jl
cGxpCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1h
Z25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxl
ck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2du
aXRpb25TZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0z
NDgsOSArMzU3LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNl
cnZlck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4
dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1l
c3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyTWVzc2FnZXNSZXBsaWVzLmgKQEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdl
c1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclBy
b3h5TWVzc2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklu
c3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJv
bGxlck1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVj
dG9yVUlNZXNzYWdlc1JlcGxpZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3
NmIzOTZmZTA1MTM5ODcwYTFiMDFjMTRjMTQxZGNmNDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMw
MGUxZGQyZDcyZTZiODUyMzdmNDI0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTE3NCwxMiArMTc0LDEzIEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MgXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZSBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNz
aW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbiBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1hbmFnZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvbiBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZSBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lv
bkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQ
cm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vz
cy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMg
KzI0MSwxNSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUNETUluc3RhbmNlU2Vzc2lvblByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVBy
b3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94
eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUNETUZhY3RvcnlQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVJlc291cmNlTWFuYWdlciBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVBy
b3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25NYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNv
dXJjZU1hbmFnZXIgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBc
CisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Q
cm9jZXNzL1dlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNz
L1dlYkF1dGhuUHJvY2VzcyBcCiAjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2Zi
ZDAwNDFiODBjMWMwYmNmMjM1YTFhYy4uOTgwZDY0MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVk
YTE4MzQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NT
ZXNzaW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzU2Vzc2lvblBhcmFtZXRlcnMuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKIAogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJD
b3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlh
ZTMxOTQ3ZjU3N2Q5NjkxZmUzMTFmYzJlMTYyNzMzMTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYx
Yzc1N2U1OTQxZDc2ZGE0OGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2
LDcgKzEzNiw2IEBAIFJlbW90ZUxlZ2FjeUNETVNlc3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RN
RmFjdG9yeVByb3h5OjpnZXRTZXNzaW9uKGNvbnN0IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKLQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhj
NTFmYzQxMjdiNDBiMjEyN2U2NzRhMWM4MTcxLi4xNGE1ODk2NDZhY2NlZGZkODUyNzliZDE2Y2Rm
MWM4MTllYTc5YTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0xMzEsNiArMTMxLDE0IEBAIHZv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZT4mCiAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb25m
aWd1cmF0aW9uKSk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5Ojpsb2FkTWVkaWFTb3VyY2UoVVJMJiYgdXJsLCBSZW1vdGVNZWRpYVNv
dXJjZUlkZW50aWZpZXIgbWVkaWFTb3VyY2VJZGVudGlmaWVyKQoreworICAgIG1fbWVkaWFTb3Vy
Y2VQcm94eSA9IGFkb3B0UmVmKCpuZXcgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShtZWRpYVNvdXJj
ZUlkZW50aWZpZXIsIG1fbWFuYWdlci5ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkpKTsKKyAg
ICBtX3BsYXllci0+bG9hZCh1cmwsIG1fbWVkaWFTb3VyY2VQcm94eS5nZXQoKSk7Cit9CisjZW5k
aWYKKwogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpjYW5jZWxMb2FkKCkKIHsKICAgICBt
X3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4
IDg2YWE0MmNlYmZkNzAzZTBjMGJlYmMzZWQwZDBlNDE4NTU5YTY2N2EuLmM3YjNjOTZhNWQzMGYz
YzQ1NjA5NjJiMTFmOWJkN2ZlYWRkZDhiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtNTIsNiArNTIs
MTEgQEAKICNpbmNsdWRlICJSZW1vdGVDRE1JbnN0YW5jZVByb3h5LmgiCiAjZW5kaWYKIAorI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIgorI2VuZGlmCisKICNp
ZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgog
I2VuZGlmCkBAIC0xMDksNiArMTE0LDkgQEAgcHVibGljOgogICAgIHZvaWQgcHJlcGFyZUZvclJl
bmRlcmluZygpOwogCiAgICAgdm9pZCBsb2FkKFVSTCYmLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGU+JiYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgY29uc3QgU3RyaW5n
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24m
Jik+JiYpOworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgdm9pZCBsb2FkTWVkaWFTb3Vy
Y2UoVVJMJiYsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllcik7CisjZW5kaWYKICAgICB2b2lk
IGNhbmNlbExvYWQoKTsKIAogICAgIHZvaWQgcHJlcGFyZVRvUGxheSgpOwpAQCAtMzAwLDYgKzMw
OCw5IEBAIHByaXZhdGU6CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSBtX2NhY2hlZFN0YXRl
OwogICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uIG1fY29uZmlndXJhdGlv
bjsKICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPE1lZGlhVGltZT4pPiBtX3Bl
cmZvcm1UYXNrQXRNZWRpYVRpbWVDb21wbGV0aW9uSGFuZGxlcjsKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorICAgIFJlZlB0cjxSZW1vdGVNZWRpYVNvdXJjZVByb3h5PiBtX21lZGlhU291cmNl
UHJveHk7CisjZW5kaWYKIAogICAgIFdlYkNvcmU6OkxheW91dFJlY3QgbV92aWRlb0NvbnRlbnRC
b3hSZWN0OwogICAgIGZsb2F0IG1fdmlkZW9Db250ZW50U2NhbGUgeyAxLjAgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjk2YTBkYTI0ZDc2ZTVhZTc0NWY4MjFhNTFh
ODQwMThmNjU1ZjE5Mi4uYTI4ODYxOGY5OWU0ZjU1ODg5ZWJkOWUzNDBmYzc3NDRmNTY5OTc0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI3LDYgKzI3LDkgQEAgbWVz
c2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBQcmVw
YXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgZW51bTp1aW50OF90IFdlYkNvcmU6Ok1l
ZGlhUGxheWVyRW51bXM6OlByZWxvYWQgcHJlbG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9v
bCBwcmVwYXJlRm9yUmVuZGVyaW5nLCBmbG9hdCB2aWRlb0NvbnRlbnRTY2FsZSkgLT4gKE9wdGlv
bmFsPFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEPiBpbmxpbmVMYXllckhvc3RpbmdDb250
ZXh0SWQpIEFzeW5jCiAKICAgICBMb2FkKFVSTCB1cmwsIE9wdGlvbmFsPFdlYktpdDo6U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiBzYW5kYm94RXh0ZW5zaW9uLCBXZWJDb3JlOjpDb250ZW50VHlw
ZSBjb250ZW50VHlwZSwgU3RyaW5nIGtleVN5c3RlbSkgLT4gKHN0cnVjdCBXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiBwbGF5ZXJDb25maWd1cmF0aW9uKSBBc3luYworI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgTG9hZE1lZGlhU291cmNlKFVSTCB1cmwsIFdlYktp
dDo6UmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1lZGlhU291cmNlSWRlbnRpZmllcikgU3lu
Y2hyb25vdXMKKyNlbmRpZgogICAgIENhbmNlbExvYWQoKQogCiAgICAgUHJlcGFyZVRvUGxheSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFT
b3VyY2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRmZDlmOGZkMjQ0Yjk3MDZjNDI5M2FmZTYw
MTNiODFlZTIzZTA2NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcApAQCAtMCwwICsxLDEwNSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJj
ZVByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAi
UmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eShSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmll
ciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcykKKyAg
ICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9j
ZXNzKGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIu
dG9VSW50NjQoKSwgKnRoaXMpOworfQorCitSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojp+UmVtb3Rl
TWVkaWFTb3VyY2VQcm94eSgpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTWVk
aWFTb3VyY2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50
NjQoKSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2V0UHJpdmF0ZUFuZE9w
ZW4oUmVmPE1lZGlhU291cmNlUHJpdmF0ZT4mJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAg
QVNTRVJUKCFtX3ByaXZhdGUpOworICAgIG1fcHJpdmF0ZSA9IFdURk1vdmUobWVkaWFTb3VyY2VQ
cml2YXRlKTsKK30KKworTWVkaWFUaW1lIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9u
KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZv
cm1UaW1lUmFuZ2VzPiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1ha2VVbmlxdWU8UGxhdGZvcm1UaW1lUmFuZ2VzPigpOworfQorCit2b2lk
IFJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikKK3sK
K30KKwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojptb25pdG9yU291cmNlQnVmZmVycygp
Cit7Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eTo6c2V0TG9nSWRlbnRpZmllcihjb25zdCB2b2lkKikKK3sKK30KKyNlbmRpZgorCit2
b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmZhaWxlZFRvQ3JlYXRlUmVuZGVyZXIoUmVuZGVy
ZXJUeXBlKQoreworfQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OmFkZFNvdXJjZUJ1
ZmZlcihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYgY29udGVudFR5cGUsIEFkZFNvdXJjZUJ1
ZmZlckNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZh
dGU+IHNvdXJjZUJ1ZmZlclByaXZhdGU7CisgICAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0
dXMgc3RhdHVzID0gbV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUsIHNvdXJj
ZUJ1ZmZlclByaXZhdGUpOworCisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllcj4gcmVtb3RlU291cmNlSWRlbnRpZmllcjsKKyAgICBpZiAoc3RhdHVzID09IE1lZGlhU291
cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpPaykgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworICAgICAgICBhdXRvIHJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShp
ZGVudGlmaWVyLCBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIHNvdXJjZUJ1ZmZlclByaXZhdGUu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92
ZShyZW1vdGVTb3VyY2VCdWZmZXJQcm94eSkpOworICAgICAgICByZW1vdGVTb3VyY2VJZGVudGlm
aWVyID0gaWRlbnRpZmllcjsKKyAgICB9CisKKyAgICBjYWxsYmFjayhzdGF0dXMsIHJlbW90ZVNv
dXJjZUlkZW50aWZpZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8v
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZiZmJmYWZiMjA0NDc4MzBkNzMwYzM4YzU1ZDkxNjAyMmMyM2QzMTYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKwor
I2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNl
SWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNp
bmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0
aW9uOworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIENvbnRlbnRUeXBlOworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRl
OworY2xhc3MgUGxhdGZvcm1UaW1lUmFuZ2VzOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczsKKworY2xhc3MgUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eSBmaW5hbAorICAgIDogcHVibGljIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudAorICAgICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgUmVtb3RlTWVkaWFTb3VyY2VQcm94eShSZW1v
dGVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAg
ICB2aXJ0dWFsIH5SZW1vdGVNZWRpYVNvdXJjZVByb3h5KCk7CisKKyAgICAvLyBNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQgb3ZlcnJpZGVzCisgICAgdm9pZCBzZXRQcml2YXRlQW5kT3BlbihSZWY8
V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlPiYmKSBmaW5hbDsKKyAgICBNZWRpYVRpbWUgZHVy
YXRpb24oKSBjb25zdCBmaW5hbDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGxhdGZv
cm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2Vla1RvVGlt
ZShjb25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIG1vbml0b3JTb3VyY2VCdWZmZXJz
KCkgZmluYWw7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIHNldExvZ0lk
ZW50aWZpZXIoY29uc3Qgdm9pZCopIGZpbmFsOworI2VuZGlmCisKKyAgICB2b2lkIGZhaWxlZFRv
Q3JlYXRlUmVuZGVyZXIoUmVuZGVyZXJUeXBlKSBmaW5hbDsKKworcHJpdmF0ZToKKyAgICAvLyBJ
UEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIC8vIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBkaWRSZWNlaXZlU3lu
Y01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRy
PElQQzo6RW5jb2Rlcj4mKSBmaW5hbDsKKworICAgIHVzaW5nIEFkZFNvdXJjZUJ1ZmZlckNhbGxi
YWNrID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6
OkFkZFN0YXR1cywgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllcik+OworICAgIHZvaWQgYWRkU291cmNlQnVmZmVyKGNvbnN0
IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgQWRkU291cmNlQnVmZmVyQ2FsbGJhY2smJik7CisKKyAg
ICBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAgIEdQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAgICBSZWZQdHI8
V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlPiBtX3ByaXZhdGU7CisgICAgVmVjdG9yPFJlZlB0
cjxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4+IG1fc291cmNlQnVmZmVyczsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFC
TEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYTZiNzUyZDc3MDYwZGVjY2I5ZGMzYmM3OTY0ODlmNGVjOTIwZGFkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNl
UHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJl
bW90ZU1lZGlhU291cmNlUHJveHkgTm90UmVmQ291bnRlZCB7CisgICAgQWRkU291cmNlQnVmZmVy
KFdlYkNvcmU6OkNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNv
cmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cywgT3B0aW9uYWw8V2ViS2l0
OjpSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyPiByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyKSBTeW5jaHJvbm91cworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI0YmZjYTE2MTJiNWQ3OTQ5ZWEwYTE5NWRlNTVmNWM5NTc5MjcwNjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
KworI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitlbnVtIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIFJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPFJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIzZTI5ODBhOTc4YjdjZGJmYWRlYTc0
Njk4NWJjZGZlMTdlZDVjZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAKQEAgLTAsMCArMSwxMDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZShSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJjZUJ1
ZmZlclByaXZhdGUpCit7CisgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IGFkb3B0
UmVmKCpuZXcgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoaWRlbnRpZmllciwgY29ubmVjdGlvblRv
V2ViUHJvY2VzcywgV1RGTW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkpOworICAgIHJldHVybiBy
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRp
ZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2Vzcywg
UmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKKyAgICA6IG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzKGNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgLCBtX3NvdXJjZUJ1ZmZlclByaXZhdGUoV1RGTW92
ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
bWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9V
SW50NjQoKSwgKnRoaXMpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+c2V0Q2xpZW50KHRo
aXMpOworfQorCitSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6flJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5KCkKK3sKKyAgICBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZVJlY2VpdmVyTWFw
KCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisK
K3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNl
aXZlSW5pdGlhbGl6YXRpb25TZWdtZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpCit7
Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVE
aWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikKK3sKK30KKworYm9vbCBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
c291cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJl
ZW5xdWVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZv
ck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGlt
ZSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGlt
ZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBN
ZWRpYVRpbWUmKQoreworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJl
c3VsdCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6
OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29k
ZSkKK3sKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFw
cGVuZChkYXRhLnZlY3RvcigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM5MGMwY2UxYzI3YjYwOGRjOTdhYWZhNTE4NjM2MTg4MGMzYWY0
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkuaApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
ci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBJUEMgewor
Y2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOwor
fQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAg
OiBwdWJsaWMgUmVmQ291bnRlZDxSZW1vdGVTb3VyY2VCdWZmZXJQcm94eT4KKyAgICAsIHB1Ymxp
YyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJD
b3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eSgpOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUlu
aXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsK
KyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1l
ZGlhU2FtcGxlJikgZmluYWw7CisgICAgYm9vbCBzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8o
KSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNv
bnN0IGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMo
Y29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQ
cml2YXRlRGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFj
a0lEKSBmaW5hbDsKKworICAgIE1lZGlhVGltZSBzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtU
aW1lRm9yTWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0
IE1lZGlhVGltZSYpIGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5k
Q29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0
KSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5n
RXJyb3IoaW50IGVycm9yQ29kZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgUmVtb3RlU291cmNl
QnVmZmVyUHJveHkoUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAg
IC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2Vp
dmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1
ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIGZpbmFsOworCisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJik7CisKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1f
aWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M7CisgICAgUmVmPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291
cmNlQnVmZmVyUHJpdmF0ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQx
ZmI1YTExM2U3YmE0M2ZlMGUwMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAs
MCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5v
dFJlZkNvdW50ZWQgeworICAgIEFwcGVuZChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcApp
bmRleCA5NzdmOTNmZjVjM2MyYjgxNzg0NmM5YTlhNzU1MTc4OWM4ZWZlMDVjLi42MWI4OTBkYzc4
NjdjMzNiMDA1ZjIyZTkzYmIxYWY0N2RkZDNiMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUg
IkRlY29kZXIuaCIKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSAiR1BVUHJvY2Vzcy5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3Nh
Z2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4
NzY0OTVmYjFhY2M5MDRjMWVhMjUwNjkwOTNiMjAwZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMx
NjhlNzlhMDU3ZjlkYmRiOWI4Njk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTI1OSw2ICsyNTksOCBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9y
d2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlm
aWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXIn
LAogICAgICAgICAnV2ViS2l0OjpSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcicsCisgICAg
ICAgICdXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5k
ZXJpbmdCYWNrZW5kSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVu
dGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKaW5kZXggNTAzNzlmMmZmYTgzMzc0YzE0ZDE3ZDdiYzllYzMwNjA2N2UxMzc2Mi4uMDkxN2Yw
MWJlMWM5ZjhjYWEyYWJmN2YwZjg5MGY4OTVhM2YyZWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Miw2
ICs0Miw4IEBAIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFSZXNvdXJjZU1hbmFnZXIuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNl
UHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAog
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVUZXh0VHJhY2tQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcAogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3BwCkBAIC01NzAsNiArNTcyLDcgQEAgV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmNwcAogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcAogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvQXVkaW9UcmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVB
dWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRp
b1Nlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE0uY3BwCkBAIC01ODIs
NiArNTg1LDcgQEAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5j
cHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5v
LXVuaWZ5CiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3Bw
CitXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcAogV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3Mv
R1BVL21lZGlhL1ZpZGVvVHJhY2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvV2ViTWVkaWFTdHJhdGVneS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUzMzg0N2FlMTZhY2M5OWE3Mzk0MzQ3NDRkOGEzZGY2
YzI4Y2FiZmMuLjc2N2Y1MGNhMTZlM2MwNDIzNzZjMjY1MzVjMjBhNGRjMmQ2M2ZhNGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIx
LDYgKzQyMSwxMyBAQAogCQkxRDRENzM3NjIzQTlFRDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFENEQ3Mzc1MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oICovOyB9OwogCQkxREIwMTk0MzIx
MUNGMDAyMDA5RkIzRTggLyogV0tTaGFyZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREUwRDA5NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFy
ZVNoZWV0LmggKi87IH07CiAJCTFEQjAxOTQ0MjExQ0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hl
ZXQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJC
QjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICovOyB9OworCQkxREQyQTY2
MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQy
QTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CisJCTFERDJBNjZFMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3Rl
U291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQkxREQyQTY3NDI1
NjIzMkExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQy
QTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjg1MjU2MzNDNjcwMEZGN0I2RiAvKiBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFERDJBNjYwMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5TWVzc2FnZXMuaCAqLzsgfTsKKwkJMUREMkE2ODYyNTYzM0M3MjAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjY5MjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmggKi87IH07CisJCTFERDJBNjg3MjU2MzNDODcw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUREMkE2NkEyNTYyMDIx
RTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi87
IH07CisJCTFERDJBNjg4MjU2MzNDOTUwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxREQyQTY2MTI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94
eU1lc3NhZ2VzUmVwbGllcy5oICovOyB9OwogCQkxRjMzNUJDMDE4NUI4NEYwMDAxQTIwMUEgLyog
V0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjMzNUJCRjE4NUI4NEQ4MDAxQTIwMUEgLyogV0tXZWJQ
cm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUY2MDRCQUExODg5RkJCODAwRUUwMzk1IC8qIF9XS1JlbmRl
cmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFGNjA0QkE3MTg4OUZBNzQwMEVFMDM5NSAvKiBfV0tSZW5kZXJp
bmdQcm9ncmVzc0V2ZW50c0ludGVybmFsLmggKi87IH07CiAJCTFGNzUwNkIxMTg1OTE2MzcwMEVD
MEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgxNjkxODU4REMxNTAwRjkyODg0IC8qIFdLV2Vi
UHJvY2Vzc1BsdWdJbkZyYW1lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTI4MTQsNiArMjgyMSwyOCBAQAogCQkxREE0MDg5NDIzQTgwQTNFMDA1
OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVt
b3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MURBNDA4OUUyM0E4Mjc3ODAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURCQkIwNjEyMTFDQzNDQjAwNTAyRUNDIC8qIFdL
U2hhcmVTaGVldC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdL
U2hhcmVTaGVldC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2MzYyNTVE
RTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwOyBwYXRoID0gL1ZvbHVtZXMvRGF0
YS93ZWJraXQvT3BlblNvdXJjZS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07
CisJCTFERDJBNjM3MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjM5MjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2M0EyNTVERTZEMTAwRkY3
QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFERDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUREMkE2M0YyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291
cmNlUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQyMjU1RTNGM0QwMEZGN0I2
RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY0MzI1
NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY0QTI1NjBGNTRDMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQy
QTY2MDI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oOyBwYXRoID0g
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaDsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NjEyNTYxMjJGMTAw
RkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0g
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBs
aWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjYyMjU2
MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVBy
b3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKKwkJMUREMkE2NjYyNTYxRUQwNDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJB
NjY5MjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owor
CQkxREQyQTY2QTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNz
YWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlU291
cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8q
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OworCQkxREQyQTY2RjI1NjIyRjExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3Nh
Z2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY3MTI1NjIzMjRGMDBG
RjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHBh
dGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNz
YWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMURE
MkE2NzIyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY3MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGVNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKIAkJMURFMDc2RDkyNDYwQ0NCRDAwQjIxMUU4IC8qIFdlYlByZWZlcmVu
Y2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBXS1NoYXJlU2hlZXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tTaGFyZVNoZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFERTJERkFDMjNBOTU5RjgwMDNFMDEzQSAvKiBSZW1vdGVNZWRpYVJlc291cmNl
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTYzMyw2ICs1NjYyLDggQEAKIAkJ
CQkwNzkyMzEzMTIzOUIzQjBDMDA5NTk4RTIgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cCAqLywKIAkJCQkwNzkyMzEzMjIzOUIzQjBDMDA5NTk4RTIgLyogTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmggKi8sCiAJCQkJMDdCMUQwNEIyM0QzOEZDRTAwMzk5QTZFIC8qIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLywKKwkJCQkxREQyQTYzNjI1NURFNjc1MDBGRjdC
NkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCAqLywKKwkJCQkxREQyQTYzNzI1NURF
Njc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmggKi8sCiAJCQkJOUI1QkVD
MjkyNDAxMDE1ODAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAgKi8s
CiAJCQkJOUI1QkVDMjgyNDAxMDE1ODAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Q
cm94eS5oICovLAogCQkJCTlCNUJFQzJFMjQwMTAxOEMwMDcwQzZFRiAvKiBSZW1vdGVBdWRpb0Rl
c3RpbmF0aW9uUHJveHkubWVzc2FnZXMuaW4gKi8sCkBAIC01Njc3LDYgKzU3MDgsMTAgQEAKIAkJ
CQkwN0IzQjQ2RjIzQUIyQ0IzMDBCQTVCMTIgLyogUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oICov
LAogCQkJCTFEMzJGODlEMjNBODRDNUIwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlUHJv
eHkuY3BwICovLAogCQkJCTFEMzJGODlCMjNBODRCQTYwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJl
c291cmNlUHJveHkuaCAqLywKKwkJCQkxREQyQTY0NjI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VJZGVudGlmaWVyLmggKi8sCisJCQkJMUREMkE2M0EyNTVERTZEMTAwRkY3QjZG
IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwICovLAorCQkJCTFERDJBNjM5MjU1REU2
RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmggKi8sCisJCQkJMUREMkE2
NkYyNTYyMkYxMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMu
aW4gKi8sCiAJCQkJMDdFMTlGMDgyM0Q1MzNCOTAwOTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVS
ZW1vdGUuY3BwICovLAogCQkJCTA3RTE5RjA5MjNENTMzQkEwMDk0RkZCNCAvKiBUZXh0VHJhY2tQ
cml2YXRlUmVtb3RlLmggKi8sCiAJCQkJMURGREQwRTIyM0Y2MTBGMDAwRTlCNDkwIC8qIFZpZGVv
TGF5ZXJSZW1vdGUuaCAqLywKQEAgLTU3NDEsNiArNTc3NiwxMyBAQAogCQkJCTFEQTQwODlFMjNB
ODI3NzgwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlci5jcHAgKi8sCiAJCQkJ
MURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmgg
Ki8sCiAJCQkJMUQzMkY4QTYyM0E4NjAxOTAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VN
YW5hZ2VyLm1lc3NhZ2VzLmluICovLAorCQkJCTFERDJBNjNGMjU1RTNGMUYwMEZGN0I2RiAvKiBS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLywKKwkJCQkxREQyQTYzRTI1NUUzRjFGMDBGRjdC
NkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oICovLAorCQkJCTFERDJBNjRBMjU2MEY1NEMw
MEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluICovLAorCQkJCTFE
RDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgg
Ki8sCisJCQkJMUREMkE2NDMyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5LmNwcCAqLywKKwkJCQkxREQyQTY0MjI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuaCAqLywKKwkJCQkxREQyQTY2NjI1NjFFRDA0MDBGRjdCNkYgLyogUmVtb3Rl
U291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJMDdFMTlGMDcyM0Q0REM4ODAw
OTRGRkI0IC8qIFJlbW90ZVRleHRUcmFja1Byb3h5LmNwcCAqLywKIAkJCQkwN0UxOUYwNjIzRDRE
Qzg4MDA5NEZGQjQgLyogUmVtb3RlVGV4dFRyYWNrUHJveHkuaCAqLywKIAkJCQkwNzFCQzU4NDIz
Q0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcCAqLywKQEAgLTEwMzQ2
LDEwICsxMDM4OCwxNiBAQAogCQkJCTFENEQ3MzZCMjNBOURGNTUwMDcxN0EyNSAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMUQ0RDczNkMy
M0E5REY2MDAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAq
LywKIAkJCQkxRDRENzM3NTIzQTlFQjY4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLywKKwkJCQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMURE
MkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5o
ICovLAorCQkJCTFERDJBNjYxMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVBy
b3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJMUFDMTMzODMxODU5MEM0NjAwRjNFQzA1IC8q
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQUMxMzM4
NDE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovLAog
CQkJCTBGNTk0N0E1MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJMEY1OTQ3QTYxODdCNTE3NjAwNDM3ODU3IC8q
IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY2QjI1
NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAorCQkJCTFERDJBNjY5MjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZm
ZXJQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NkEyNTYyMDIxRTAwRkY3QjZGIC8qIFJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJQTU1QkE4MjEx
QkEyNUJCODAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKIAkJCQlBNTVCQTgyMjFCQTI1QkI4MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTFCQkJFNDlFMTlCNjZDNTMwMDZCN0Q4MSAvKiBS
ZW1vdGVXZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC0xMDM1Nyw2ICsx
MDQwNSw5IEBACiAJCQkJRTE4RTY5MTQxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJv
eHlNZXNzYWdlcy5oICovLAogCQkJCTJERTY5NDNCMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1h
Z25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkyREU2OTQz
QzE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2Vz
LmggKi8sCisJCQkJMUREMkE2NzIyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFERDJBNjczMjU2MjMyNEYwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCAqLywKKwkJCQkxREQy
QTY3MTI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2Vz
UmVwbGllcy5oICovLAogCQkJCTkzRDZCNzgxMjU0Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hSZWNv
Z25pdGlvblNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJOTNENkI3ODAyNTRDQ0FC
QzAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXMuaCAqLywKIAkJCQk5
M0Q2Qjc3RjI1NENDQUJCMDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdl
c1JlcGxpZXMuaCAqLywKQEAgLTExMzQ1LDYgKzExMzk2LDggQEAKIAkJCQkwNzFCQzU5MTIzQ0Ux
RUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUQ0RDczNzEyM0E5RTU2MjAwNzE3QTI1IC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFENEQ3Mzc2MjNB
OUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGll
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUREMkE2ODUyNTYzM0M2NzAwRkY3QjZGIC8qIFJlbW90
ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUREMkE2ODgy
NTYzM0M5NTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjc4NDcxMTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVO
ZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NzA0RkMxQkUxNzUxMTAw
ODc0QUYxIC8qIFJlbW90ZU9iamVjdEludm9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QzEzMzgwMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0xMTM1NCw2ICsxMTQwNyw4IEBACiAJCQkJMEY1OTQ3OUIxODdCM0I2MDAwNDM3
ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGNTk0N0E0MTg3QjNCN0QwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU5NDc5RDE4N0IzQjYwMDA0Mzc4
NTcgLyogUmVtb3RlU2Nyb2xsaW5nVHJlZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUREMkE2ODYy
NTYzM0M3MjAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTFERDJBNjg3MjU2MzNDODcwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MUYx
QkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNTVCQTgyNTFCQTI1Q0ZCMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNE
IC8qIFJlbW90ZVdlYkluc3BlY3RvclVJLmggaW4gSGVhZGVycyAqLywKQEAgLTEzMTQwLDggKzEz
MTk1LDEwIEBACiAJCQkJMDcwMTc4OUUyM0JFOUNGQzAwNUYwRkFBIC8qIFJlbW90ZU1lZGlhUGxh
eWVyTUlNRVR5cGVDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzFCQzU4RjIzQ0UxRUFB
MDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxRDRENzM3MDIzQTlFNTQ3MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFS
ZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMURE
MkE2NjMyNTYxMjQ2RjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDMTMzODUxODU5MEM0NjAwRjNFQzA1IC8q
IFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGNTk0N0E3MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
ck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQyQTY2RTI1NjIwMjFF
MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MjYxQkEyNUNGRDAwN0NEMzNEIC8qIFJlbW90ZVdlYklu
c3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFCQkJF
NEEwMTlCNjZDNTMwMDZCN0Q4MSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMThFNjkxNzE2OUI2NjdCMDA5QjY2NzAgLyogU2Vj
SXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEzMTUy
LDYgKzEzMjA5LDcgQEAKIAkJCQlBMUFEQUZCNjIzNjhFNkE4MDA5Q0I3NzYgLyogU2hhcmVkTWVt
b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3NUIxQkI5MjNDRTlDMEIwMDIwNjM5QSAvKiBT
aW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRFNjk0M0Qx
OEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NzQyNTYyMzJBMTAwRkY3QjZGIC8q
IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTNENkI3ODIyNTRDQ0NGNDAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2Vy
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMzM0REVEMTZERThG
ODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5MzY4RUVERTIzMDNBOTAyMDBCREIxMUEgLyogU3RvcmFnZU1hbmFnZXJTZXRN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHAKaW5kZXggZTA5YWYwZGMzMmJiMWJiYTVlYmQ4NmU0ZGMwNjcwYTAyZmY3Y2Q5Yi4uMzcw
NjBiMjdjM2I0ODdmNDZkYWEyODcxNjVmYmNhYzI2YzQ2MGVhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLmNwcApAQCAtNzEsNiArNzEsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2Fj
eUNETS5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJl
bW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ01l
ZGlhOwpAQCAtMTQ4LDcgKzE1Miw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpw
cmVwYXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgTWVkaWFQbGF5ZXI6CiAgICAgfSwg
bV9pZCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRU
eXBlLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkKIHsKICAgICBPcHRpb25hbDxTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNpb25IYW5kbGU7CiAgICAgaWYgKHVybC5pc0xv
Y2FsRmlsZSgpKSB7CkBAIC02MjQsMTUgKzYyOCwyMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6cmVtb3RlVmlkZW9UcmFja0NvbmZpZ3VyYXRpb25DaGFuZ2VkKFRyYWNrUHJpdmF0
ZQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwgTWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKLSAgICAgICAgaWYgKCF3ZWFrVGhp
cykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBpZiAobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVy
ID09IE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcjo6QVZGb3VuZGF0aW9u
TVNFKSB7CisgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IFJlbW90ZU1lZGlhU291cmNlSWRlbnRp
Zmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OkxvYWRNZWRpYVNvdXJjZSh1cmwsIGlkZW50aWZpZXIpLCBt
X2lkKTsKKyAgICAgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBNZWRpYVNvdXJjZVByaXZhdGVS
ZW1vdGU6OmNyZWF0ZShtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKSwgaWRlbnRpZmll
ciwgbV9tYW5hZ2VyLnR5cGVDYWNoZShtX3JlbW90ZUVuZ2luZUlkZW50aWZpZXIpLCAqdGhpcywg
Y2xpZW50KTsKKyAgICB9IGVsc2UgeworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhp
cyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10geworICAgICAgICAgICAgaWYgKCF3ZWFrVGhp
cykKKyAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS5uZXR3
b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKLSAgICAg
ICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKLSAgICB9KTsKKyAgICAgICAgICAg
IG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6
Rm9ybWF0RXJyb3I7CisgICAgICAgICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgp
OworICAgICAgICB9KTsKKyAgICB9CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmgKaW5kZXggZjM2MzcyNTA5ZWE5ZTRmOGUxYTdkOGY3ZjUyNzYzYzM0ZjExZTRhMC4uZmRiMDFh
Mjk1YTNjNjdhMDc2OTc3MWJlNjFiMTMwM2U3ZWQwODdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5oCkBAIC00Myw2ICs0MywxMCBAQAogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNs
dWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV1RG
IHsKIGNsYXNzIE1hY2hTZW5kUmlnaHQ7CiB9CkBAIC04OCw2ICs5Miw4IEBAIHB1YmxpYzoKICAg
ICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX21hbmFnZXIu
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7IH0KICAgICBXZWJDb3JlOjpNZWRp
YVBsYXllciogcGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5ZXI7IH0KIAorICAgIFdlYkNv
cmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2NhY2hlZFN0YXRlLnJlYWR5U3RhdGU7IH0KKwogICAgIHZvaWQgbmV0d29ya1N0YXRl
Q2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYpOwogICAgIHZvaWQgcmVhZHlTdGF0ZUNo
YW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAgICB2b2lkIHZvbHVtZUNoYW5nZWQo
ZG91YmxlKTsKQEAgLTE1NCw2ICsxNjAsMTEgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0UmF3Q29v
a2llcyhjb25zdCBVUkwmLCBXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6R2V0UmF3Q29va2ll
c0NhbGxiYWNrJiYpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBsb2dJ
ZGVudGlmaWVyKCk7IH0KKyAgICBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgeyBy
ZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogCiAjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECkBAIC0xNzAsNyArMTgxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXBhcmVG
b3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBXZWJDb3JlOjpNZWRpYVBsYXllcjo6UHJlbG9h
ZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlKSBmaW5hbDsKIAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6Ok1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwm
LCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbDsKICNlbmRpZgogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
UHJpdmF0ZSYpIGZpbmFsOwpAQCAtMjUwLDcgKzI2MSw2IEBAIHByaXZhdGU6CiAgICAgZG91Ymxl
IG1pbkZhc3RSZXZlcnNlUmF0ZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZSBuZXR3b3JrU3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZTsgfQotICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpS
ZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NhY2hlZFN0YXRl
LnJlYWR5U3RhdGU7IH0KIAogICAgIE1lZGlhVGltZSBtYXhNZWRpYVRpbWVTZWVrYWJsZSgpIGNv
bnN0IGZpbmFsOwogICAgIE1lZGlhVGltZSBtaW5NZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0IGZp
bmFsOwpAQCAtMzg0LDYgKzM5NCwxMCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW1vdGVBdWRp
b1NvdXJjZVByb3ZpZGVyPiBtX2F1ZGlvU291cmNlUHJvdmlkZXI7CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4g
bV9tZWRpYVNvdXJjZVByaXZhdGU7CisjZW5kaWYKKwogICAgIEhhc2hNYXA8UmVtb3RlTWVkaWFS
ZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2U+
PiBtX21lZGlhUmVzb3VyY2VzOwogICAgIEhhc2hNYXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRp
ZmllciwgUmVmPEF1ZGlvVHJhY2tQcml2YXRlUmVtb3RlPj4gbV9hdWRpb1RyYWNrczsKICAgICBI
YXNoTWFwPFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFJlZjxWaWRlb1RyYWNrUHJpdmF0
ZVJlbW90ZT4+IG1fdmlkZW9UcmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmZhZTE3MTk0YzljNWVhZjFkMDliNGIxMTVkMjg3ZDk5OGU2MzBlMwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsxLDE0MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKKwor
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCIKKyNp
bmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dN
ZWRpYTsKKyNlbmRpZgorfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK1JlZjxNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6Y3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVj
dGlvbiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZU1lZGlh
UGxheWVyTUlNRVR5cGVDYWNoZSYgbWltZVR5cGVDYWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlJiBwbGF5ZXJQcml2YXRlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVu
dCkKK3sKKyAgICBhdXRvIG1lZGlhU291cmNlUHJpdmF0ZSA9IGFkb3B0UmVmKCpuZXcgTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlKGdwdVByb2Nlc3NDb25uZWN0aW9uLCBpZGVudGlmaWVyLCBtaW1l
VHlwZUNhY2hlLCBwbGF5ZXJQcml2YXRlLCBjbGllbnQpKTsKKyAgICBjbGllbnQtPnNldFByaXZh
dGVBbmRPcGVuKG1lZGlhU291cmNlUHJpdmF0ZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBtZWRp
YVNvdXJjZVByaXZhdGU7Cit9CisKK01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6TWVkaWFTb3Vy
Y2VQcml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlv
biwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxh
eWVyTUlNRVR5cGVDYWNoZSYgbWltZVR5cGVDYWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlJiBwbGF5ZXJQcml2YXRlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkK
KyAgICA6IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAg
LCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fbWltZVR5cGVDYWNoZShtaW1lVHlw
ZUNhY2hlKQorICAgICwgbV9wbGF5ZXJQcml2YXRlKG1ha2VXZWFrUHRyKHBsYXllclByaXZhdGUp
KQorICAgICwgbV9jbGllbnQoY2xpZW50KQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAg
ICwgbV9sb2dnZXIobV9wbGF5ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ2dlcigpKQorICAgICwg
bV9sb2dJZGVudGlmaWVyKG1fcGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVy
KCkpCisjZW5kaWYKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAorICAgIG1fY2xpZW50LT5zZXRMb2dJZGVudGlmaWVyKG1fbG9nSWRl
bnRpZmllcik7CisjZW5kaWYKK30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp+TWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwor
CisgICAgZm9yIChhdXRvIGl0ID0gbV9zb3VyY2VCdWZmZXJzLmJlZ2luKCksIGVuZCA9IG1fc291
cmNlQnVmZmVycy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICAoKml0KS0+Y2xlYXJN
ZWRpYVNvdXJjZSgpOworfQorCitNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29u
dGVudFR5cGUsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYgb3V0UHJpdmF0ZSkKK3sKKyAg
ICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29udGVudFR5cGUpOworCisgICAgTWVkaWFFbmdp
bmVTdXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgIHBhcmFtZXRlcnMuaXNNZWRpYVNv
dXJjZSA9IHRydWU7CisgICAgcGFyYW1ldGVycy50eXBlID0gY29udGVudFR5cGU7CisgICAgaWYg
KG1fbWltZVR5cGVDYWNoZS5zdXBwb3J0c1R5cGVBbmRDb2RlY3MocGFyYW1ldGVycykgPT0gTWVk
aWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCisgICAgICAgIHJldHVybiBB
ZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKKworICAgIEFkZFN0YXR1cyBzdGF0dXM7CisgICAgT3B0
aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRl
bnRpZmllcjsKKyAgICBpZiAoIW1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNl
bmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VCdWZmZXIo
Y29udGVudFR5cGUpLCBNZXNzYWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6QWRkU291cmNl
QnVmZmVyOjpSZXBseShzdGF0dXMsIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpLCBtX2lk
ZW50aWZpZXIpKQorICAgICAgICBzdGF0dXMgPSBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKKwor
ICAgIGlmIChzdGF0dXMgPT0gQWRkU3RhdHVzOjpPaykgeworICAgICAgICBBU1NFUlQocmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllci5oYXNWYWx1ZSgpKTsKKyAgICAgICAgYXV0byBuZXdTb3Vy
Y2VCdWZmZXIgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjcmVhdGUobV9ncHVQcm9jZXNz
Q29ubmVjdGlvbiwgKnJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsICp0aGlzKTsKKyAgICAg
ICAgb3V0UHJpdmF0ZSA9IG5ld1NvdXJjZUJ1ZmZlci5jb3B5UmVmKCk7CisgICAgICAgIG1fc291
cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShuZXdTb3VyY2VCdWZmZXIpKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gc3RhdHVzOworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVy
YXRpb25DaGFuZ2VkKCkKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6Om1h
cmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykKK3sKK30KKwordm9pZCBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFtKCkKK3sKK30KKworTWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGUgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9wbGF5ZXJQcml2YXRlID8gbV9wbGF5ZXJQcml2YXRlLT5yZWFkeVN0
YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQg
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFk
eVN0YXRlKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6d2FpdEZvclNl
ZWtDb21wbGV0ZWQoKQoreworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2Vl
a0NvbXBsZXRlZCgpCit7Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0No
YW5uZWwmIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFjOTQ0MjViNDhiMzk2ZTk2N2M0
ZTgyMTRkZmI2ZTUzNWE1NTBiZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKQEAgLTAsMCArMSw5
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24uaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuaCIKKyNpbmNs
dWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Nv
bnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOworY2xh
c3MgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTsKKworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlIGZpbmFsCisgICAgOiBwdWJsaWMgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlCisg
ICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPgorI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRp
ZgoreworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBj
cmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIs
IFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOworICAgIHZpcnR1
YWwgfk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpOworCisgICAgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllclByaXZhdGUuZ2V0KCk7IH0K
KworICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZSBvdmVycmlkZXMKKyAgICBBZGRTdGF0dXMgYWRk
U291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgUmVmUHRyPFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGU+JikgZmluYWw7CisgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQo
KSBmaW5hbDsKKyAgICB2b2lkIG1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykgZmlu
YWw7CisgICAgdm9pZCB1bm1hcmtFbmRPZlN0cmVhbSgpIGZpbmFsOworICAgIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lk
IHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpIGZpbmFsOwor
ICAgIHZvaWQgd2FpdEZvclNlZWtDb21wbGV0ZWQoKSBmaW5hbDsKKyAgICB2b2lkIHNlZWtDb21w
bGV0ZWQoKSBmaW5hbDsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExv
Z2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAg
ICBjb25zdCB2b2lkKiBuZXh0U291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGNo
aWxkTG9nSWRlbnRpZmllcihtX2xvZ0lkZW50aWZpZXIsICsrbV9uZXh0U291cmNlQnVmZmVySUQp
OyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFJlbW90ZU1l
ZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSYs
IFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOworCisgICAgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2Fj
aGUmIG1fbWltZVR5cGVDYWNoZTsKKyAgICBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZT4gbV9wbGF5ZXJQcml2YXRlOworICAgIFJlZlB0cjxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZh
dGVDbGllbnQ+IG1fY2xpZW50OworICAgIFZlY3RvcjxSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZT4+IG1fc291cmNlQnVmZmVyczsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUiOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0No
YW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKworICAgIFJlZjxjb25zdCBMb2dnZXI+
IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyAgICB1aW50NjRf
dCBtX25leHRTb3VyY2VCdWZmZXJJRCB7IDAgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJ
QV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCmluZGV4IGM2MmM0NjRmZGZkY2Q4YzM1NzU2
YjBlMzhkYWQwZjg5MzkwNTg4NjcuLmU2NDUwODRiY2Q2MGM0NWNlNzZmM2EwM2NmZDNmNzgzZjE2
OTM0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQ0RNQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRl
IDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9u
LmgKaW5kZXggNjUzMmQ3MmU3Y2U0Yjg1M2YyZDNiOTM0NTVlMTkyODFjNDE5ZmE0My4uYTg2NTgw
YmYxODYzMWJiM2JjODI2YjUzYWYxZjJkNTQ4NmU0NjI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3Rh
bmNlQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL0Nv
bnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKaW5kZXggMWQ2YjNlZTNlOTVlODBh
ZTg2MGU5NjZiOGM5MjczZDA4NjUzYThhYy4uYTQxNjlkNWIxYTU2ODhjYmQ2OWM1OWQ4YjhhOWZj
MmRhZDViMmNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCkBAIC02Niw2ICs2Niw4IEBA
IHB1YmxpYzoKIAogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciBmaW5kUmVtb3Rl
UGxheWVySWQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKik7CiAK
KyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOworCiBwcml2YXRlOgogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U+IGNy
ZWF0ZVJlbW90ZU1lZGlhUGxheWVyKFdlYkNvcmU6Ok1lZGlhUGxheWVyKiwgV2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKIApAQCAtODMsOCArODUsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlKFdlYkNvcmU6Ok1lZGlhUGxheWVy
RW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwgV2FsbFRpbWUgbW9k
aWZpZWRTaW5jZSk7CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwg
Y29uc3QgSGFzaFNldDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiYpOwogCi0gICAg
UmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiB0eXBlQ2FjaGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKLQogICAgIEhhc2hNYXA8V2ViQ29y
ZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyLCBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZT4+IG1fcGxheWVyczsKICAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7CiAgICAgbXV0YWJsZSBH
UFVQcm9jZXNzQ29ubmVjdGlvbiogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbiB7IG51bGxwdHIgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFTb3VyY2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjYjY1OTQ2MTAwNjcw
NTE3MmUxNjgwNmZlMTczNTU1M2QxMzk0YjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oCkBA
IC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgPHd0Zi9PYmpl
Y3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFJlbW90ZU1lZGlh
U291cmNlSWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXJUeXBlPjsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFhMTE2NWQwZGE0MmVmNmM4YjYzMzczNzUwZDhkODNjZjAx
MjMwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTAsMCArMSwxNTggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVyUHJpdmF0
ZVJlbW90ZS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09V
UkNFKQorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1
ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7Cisj
ZW5kaWYKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCitSZWY8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4gU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZTo6Y3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwg
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
LCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUmIG1lZGlhU291cmNlUHJpdmF0ZSkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKGdwdVBy
b2Nlc3NDb25uZWN0aW9uLCByZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBtZWRpYVNvdXJj
ZVByaXZhdGUpKTsKK30KKworU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24s
IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmll
ciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJiBtZWRpYVNvdXJjZVByaXZhdGUpCisg
ICAgOiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uKGdwdVByb2Nlc3NDb25uZWN0aW9uKQorICAgICwg
bV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIpCisgICAgLCBtX21lZGlhU291cmNlUHJpdmF0ZShtYWtlV2Vha1B0cihtZWRpYVNvdXJjZVBy
aXZhdGUpKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIobV9tZWRp
YVNvdXJjZVByaXZhdGUtPmxvZ2dlcigpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKG1fbWVkaWFT
b3VyY2VQcml2YXRlLT5uZXh0U291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpKQorI2VuZGlmCit7
CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0
aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3JlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50NjQoKSwgKnRoaXMpOworfQorCitTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjp+U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSgpCit7CisgICAgQUxX
QVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBBU1NFUlQoIW1fY2xpZW50KTsKKworICAgIG1f
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZVJlY2VpdmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci50b1VJbnQ2NCgpKTsKK30K
Kwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQoU291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudCogY2xpZW50KQoreworICAgIG1fY2xpZW50ID0gY2xpZW50OworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hh
cj4mJiBkYXRhKQoreworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpBcHBlbmQoSVBDOjpEYXRhUmVm
ZXJlbmNlKGRhdGEpKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKTsKK30KKwordm9p
ZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCgpCit7Cit9CisKK3ZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVzZXRQYXJzZXJTdGF0ZSgpCit7Cit9CisKK3ZvaWQgU291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlZEZyb21NZWRpYVNvdXJjZSgpCit7Cit9CisK
K01lZGlhUGxheWVyOjpSZWFkeVN0YXRlIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlYWR5
U3RhdGUoKSBjb25zdAoreworICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVk
aWFTb3VyY2VQcml2YXRlLT5wbGF5ZXIoKS0+cmVhZHlTdGF0ZSgpIDogTWVkaWFQbGF5ZXI6OlJl
YWR5U3RhdGU6OkhhdmVOb3RoaW5nOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpCit7Cit9CisKK3ZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Zmx1c2goY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJ
RCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjplbnF1ZXVlU2FtcGxl
KFJlZjxNZWRpYVNhbXBsZT4mJiwgY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKwor
Ym9vbCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMoY29u
c3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0QWN0aXZlKGJvb2wpCit7Cit9CisKK3ZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNh
bXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKworYm9vbCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpjYW5TZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNv
bnN0IEF0b21TdHJpbmcmKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25U
aW1lKGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBNZWRpYVRpbWUmKQoreworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNsZWFyTWluaW11bVVwY29taW5nUHJlc2VudGF0aW9u
VGltZShjb25zdCBBdG9tU3RyaW5nJikKK3sKK30KKworYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpjYW5Td2l0Y2hUb1R5cGUoY29uc3QgQ29udGVudFR5cGUmKQoreworICAgIHJldHVy
biBmYWxzZTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzb3VyY2VCdWZm
ZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0IGFwcGVuZFJlc3VsdCkKK3sKKyAgICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xp
ZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoYXBwZW5kUmVzdWx0KTsKK30K
KworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlh
OworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iOWEwMWIwNjI1ZTNiN2M3ZjAxMTg0YTgzYzM2ZTU0OTEyMmYw
OWE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgKQEAgLTAsMCArMSwxMTIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL01lZGlhU2FtcGxlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRl
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50Lmg+CisjaW5j
bHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgorI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3Bh
Y2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRGF0YVJl
ZmVyZW5jZTsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTsKKworY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBmaW5hbAorICAg
IDogcHVibGljIENhbk1ha2VXZWFrUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU+CisgICAg
LCBwdWJsaWMgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZQorICAgICwgcHJpdmF0ZSBJUEM6
Ok1lc3NhZ2VSZWNlaXZlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0
ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgoreworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZT4gY3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3Rl
U291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJik7
CisgICAgdmlydHVhbCB+U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSgpOworCisgICAgdm9pZCBj
bGVhck1lZGlhU291cmNlKCkgeyBtX21lZGlhU291cmNlUHJpdmF0ZSA9IG51bGxwdHI7IH0KKwor
cHJpdmF0ZToKKyAgICBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0
aW9uJiwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlJik7CisKKyAgICAvLyBTb3VyY2VCdWZmZXJQcml2YXRlIG92ZXJyaWRlcworICAg
IHZvaWQgc2V0Q2xpZW50KFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqKSBmaW5h
bDsKKyAgICB2b2lkIGFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJikgZmluYWw7CisgICAg
dm9pZCBhYm9ydCgpIGZpbmFsOworICAgIHZvaWQgcmVzZXRQYXJzZXJTdGF0ZSgpIGZpbmFsOwor
ICAgIHZvaWQgcmVtb3ZlZEZyb21NZWRpYVNvdXJjZSgpIGZpbmFsOworICAgIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lk
IHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpIGZpbmFsOwor
ICAgIHZvaWQgZmx1c2goY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9p
ZCBlbnF1ZXVlU2FtcGxlKFJlZjxXZWJDb3JlOjpNZWRpYVNhbXBsZT4mJiwgY29uc3QgQXRvbVN0
cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgYm9vbCBpc1JlYWR5Rm9yTW9yZVNhbXBsZXMoY29u
c3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCkg
ZmluYWw7CisgICAgdm9pZCBub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25z
dCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGNhblNldE1pbmltdW1VcGNv
bWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5n
JiwgY29uc3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBjbGVhck1pbmltdW1VcGNvbWlu
Z1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpIGZpbmFsOworICAgIGJvb2wgY2Fu
U3dpdGNoVG9UeXBlKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJikgZmluYWw7CisKKyAgICB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZp
bmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCk7CisKKyAgICBHUFVQcm9j
ZXNzQ29ubmVjdGlvbiYgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbjsKKyAgICBSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyIG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcjsKKyAgICBXZWFr
UHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gbV9tZWRpYVNvdXJjZVByaXZhdGU7CisgICAg
V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCogbV9jbGllbnQgeyBudWxscHRyIH07
CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3QgY2hhciog
bG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUiOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5u
ZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBMb2dnZXImIHNvdXJjZUJ1ZmZlckxvZ2dlcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCog
c291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpIGZpbmFsIHsgcmV0dXJuIGxvZ0lkZW50aWZpZXIo
KTsgfQorCisgICAgUmVmPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCog
bV9sb2dJZGVudGlmaWVyOworI2VuZGlmCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
YTE5ODIxMWNlOTlhYmFkNWI4ZWUwN2ZkNGUxNzdiZGZhOTVhNDBjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCittZXNzYWdlcyAtPiBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgeworICAgIFNvdXJjZUJ1ZmZl
clByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQorfQorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414286</attachid>
            <date>2020-11-16 16:04:59 -0800</date>
            <delta_ts>2020-11-16 17:00:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218912-20201116160458.patch</filename>
            <type>text/plain</type>
            <size>134247</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uNWJiMmQyOGRmNzBjMThjYTE1ZWU2YzUxYzkzYWJi
ZTlkODYyYzQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIE1T
RSB2ZXJzaW9uIG9mIE1lZGlhUGxheWVyOjpsb2FkKCkgdGhlIHNhbWUgYXMgdGhlIG9uZSBpbiBN
ZWRpYVBsYXllclByaXZhdGUsCisgICAgICAgIHNvIHRoYXQgd2UgY2FuIHBhc3MgdGhyb3VnaCB0
aGUgcGFyYW1ldGVycyB3aGVuIHJ1bm5pbmcgTVNFIE1lZGlhUGxheWVyUHJpdmF0ZShzKSBpbiB0
aGUgR1BVIHByb2Nlc3MuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBmdW5jdGlvbmFsIGNo
YW5nZSB5ZXQuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3Vy
Y2U6OmNyZWF0ZVNvdXJjZUJ1ZmZlclByaXZhdGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6
YXBwZW5kQnVmZmVyVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6
OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2Up
OgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmxvYWRXaXRoTmV4dE1lZGlh
RW5naW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaDoKKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
Qy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW06CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjphZGRTb3VyY2VCdWZmZXIp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFWRk9iakM6OmFwcGVuZENvbXBsZXRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lck1TRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0U6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0
cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFt
ZXI6OmRpZFJlY2VpdmVBbGxQZW5kaW5nU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjphcHBlbmRQYXJzaW5nRmFpbGVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpsb2FkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVNvdXJjZVByaXZh
dGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrU291
cmNlQnVmZmVyUHJpdmF0ZTo6YXBwZW5kKToKKwogMjAyMC0xMS0xNiAgQW50dGkgS29pdmlzdG8g
IDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIFJlbW92ZSBp
c0xhc3RUZXh0UnVuT25MaW5lL2lzTGFzdFRleHRSdW4gZnJvbSBydW4gaXRlcmF0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggMjgyZDg4Zjg0Y2Y2NzE3NGI3NDI1MzM4ZTQ5Y2ZlMTQyYzI0MjhiZS4uOGVkODU2NWIz
ZGNhN2Q4YzdkZmRiOTg2N2U4ZDQ0ODZjMTNhZjIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDQg
QEAKKzIwMjAtMTEtMTYgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAg
ICBbTWVkaWEgSW4gR1BVIFByb2Nlc3NdW01TRV0gQWRkIGluZnJhc3RydWN0dXJlIG5lZWRlZCB0
byBydW4gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDIGluIHRoZSBHUFUgcHJv
Y2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4
OTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5IGFuZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LAorICAgICAgICBh
bmQgc2V0dXAgSVBDIGNvbm5lY3Rpb25zIGZvciB0aGVtLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJh
bWV0ZXJzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0
b3J5UHJveHkuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Omxv
YWRNZWRpYVNvdXJjZSk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFTb3VyY2VQcm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6flJlbW90ZU1lZGlhU291cmNlUHJveHkpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZXRQcml2YXRlQW5kT3Blbik6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OmR1cmF0aW9uIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6YnVmZmVyZWQgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZWVrVG9UaW1lKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6bW9uaXRvclNvdXJjZUJ1ZmZl
cnMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZXRMb2dJZGVu
dGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZmFpbGVk
VG9DcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJv
eHk6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5Lmg6IEFkZGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAg
ICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojp+UmVtb3Rl
U291cmNlQnVmZmVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVy
UHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhhc0F1ZGlvIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVIYXNW
aWRlbyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZURpZEJlY29tZVJlYWR5Rm9y
TW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
c291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGltZSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5k
Q29tcGxldGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291
cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcik6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjphcHBlbmQpOgorICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbjogQWRkZWQu
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWFuYWdlci5jcHA6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Ojpsb2FkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6TWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp+TWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGU6OmR1cmF0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZTo6bWFya0VuZE9mU3RyZWFtKToKKyAgICAgICAgKFdlYktpdDo6TWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlOjp1bm1hcmtFbmRPZlN0cmVhbSk6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6cmVhZHlTdGF0ZSBjb25zdCk6CisgICAgICAg
IChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2V0UmVhZHlTdGF0ZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6d2FpdEZvclNlZWtDb21wbGV0
ZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnNlZWtDb21w
bGV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmxvZ0No
YW5uZWwgY29uc3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNl
UHJpdmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVDRE1Db25maWd1cmF0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
UmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZSk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6On5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYktpdDo6U291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6YWJvcnQpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpyZXNldFBhcnNlclN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3ZlZEZyb21NZWRpYVNvdXJjZSk6CisgICAgICAg
IChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRSZWFkeVN0YXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Zmx1c2gpOgor
ICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjplbnF1ZXVlU2FtcGxl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6aXNSZWFkeUZv
ck1vcmVTYW1wbGVzKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6c2V0QWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6bm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0
OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjYW5TZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50
YXRpb25UaW1lIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZTo6c2V0TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZSk6CisgICAgICAgIChXZWJL
aXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNsZWFyTWluaW11bVVwY29taW5nUHJlc2Vu
dGF0aW9uVGltZSk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6
OmNhblN3aXRjaFRvVHlwZSk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVS
ZW1vdGU6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJL
aXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmxvZ0NoYW5uZWwgY29uc3QpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaDogQWRk
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZS5tZXNzYWdlcy5pbjogQWRkZWQuCisKIDIwMjAtMTEtMTYgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFdlYkRyaXZlcjogZG8gbm90IGZv
Y3VzIHRoZSBtYWluIGZyYW1lIHdoZW4gc3dpdGNoaW5nIHRvIGEgd2luZG93CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCBiZWIwMDYwYmFlYTQzOTRhMDUwNGNjZWQyNjdlNjI2MDBhMzk2Yjc2Li5kNmU4
MDY2YWMzOTg0MjQxMmZlOTQ0OTI0YTQ0M2E4NjE5MmRiZTMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTEyMTIsNiArMTIxMiw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURF
UlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllcklkZW50aWZpZXIuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFTb3VyY2VQ
cml2YXRlLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQu
aAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhVXNhZ2VJbmZvLmgKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9OYXRpdmVJbWFnZS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTmF0aXZlSW1hZ2VS
ZWZlcmVuY2UuaApAQCAtMTIzMyw2ICsxMjM1LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFN
RVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1JlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllci5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUmVuZGVyaW5nTW9kZS5oCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJj
ZUJ1ZmZlclByaXZhdGUuaAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1N0cmluZ1RydW5jYXRvci5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvVGFiU2l6ZS5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1
bi5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3Vy
Y2UuY3BwCmluZGV4IDc4YzM5M2NmYWE3ODY5NTIzYzQwMTg3NTllZTcxZTIxZTEzYmQzZmEuLmZj
ZmQwYzlkOGM4YjViYmYwMDQwYjFhOTNlYzZiMTlhM2Q3MzI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0xMDgzLDE1
ICsxMDgzLDE1IEBAIEV4Y2VwdGlvbk9yPFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPj4gTWVkaWFT
b3VyY2U6OmNyZWF0ZVNvdXJjZUJ1ZmZlclByaXZhdGUoY29uCiAKICAgICBSZWZQdHI8U291cmNl
QnVmZmVyUHJpdmF0ZT4gc291cmNlQnVmZmVyUHJpdmF0ZTsKICAgICBzd2l0Y2ggKG1fcHJpdmF0
ZS0+YWRkU291cmNlQnVmZmVyKHR5cGUsIHNvdXJjZUJ1ZmZlclByaXZhdGUpKSB7Ci0gICAgY2Fz
ZSBNZWRpYVNvdXJjZVByaXZhdGU6Ok9rOgorICAgIGNhc2UgTWVkaWFTb3VyY2VQcml2YXRlOjpB
ZGRTdGF0dXM6Ok9rOgogICAgICAgICByZXR1cm4gc291cmNlQnVmZmVyUHJpdmF0ZS5yZWxlYXNl
Tm9uTnVsbCgpOwotICAgIGNhc2UgTWVkaWFTb3VyY2VQcml2YXRlOjpOb3RTdXBwb3J0ZWQ6Cisg
ICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOgogICAg
ICAgICAvLyAyLjIgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL2Rl
ZmF1bHQvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS5odG1sI3dpZGwtTWVkaWFTb3VyY2UtYWRk
U291cmNlQnVmZmVyLVNvdXJjZUJ1ZmZlci1ET01TdHJpbmctdHlwZQogICAgICAgICAvLyBTdGVw
IDI6IElmIHR5cGUgY29udGFpbnMgYSBNSU1FIHR5cGUgLi4uIHRoYXQgaXMgbm90IHN1cHBvcnRl
ZCB3aXRoIHRoZSB0eXBlcwogICAgICAgICAvLyBzcGVjaWZpZWQgZm9yIHRoZSBvdGhlciBTb3Vy
Y2VCdWZmZXIgb2JqZWN0cyBpbiBzb3VyY2VCdWZmZXJzLCB0aGVuIHRocm93CiAgICAgICAgIC8v
IGEgTm90U3VwcG9ydGVkRXJyb3IgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07Ci0gICAgY2FzZSBN
ZWRpYVNvdXJjZVByaXZhdGU6OlJlYWNoZWRJZExpbWl0OgorICAgIGNhc2UgTWVkaWFTb3VyY2VQ
cml2YXRlOjpBZGRTdGF0dXM6OlJlYWNoZWRJZExpbWl0OgogICAgICAgICAvLyAyLjIgaHR0cHM6
Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL2RlZmF1bHQvbWVkaWEtc291cmNl
L21lZGlhLXNvdXJjZS5odG1sI3dpZGwtTWVkaWFTb3VyY2UtYWRkU291cmNlQnVmZmVyLVNvdXJj
ZUJ1ZmZlci1ET01TdHJpbmctdHlwZQogICAgICAgICAvLyBTdGVwIDM6IElmIHRoZSB1c2VyIGFn
ZW50IGNhbid0IGhhbmRsZSBhbnkgbW9yZSBTb3VyY2VCdWZmZXIgb2JqZWN0cyB0aGVuIHRocm93
CiAgICAgICAgIC8vIGEgUXVvdGFFeGNlZWRlZEVycm9yIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhl
c2Ugc3RlcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAKaW5kZXggNDI5MjY4ZDc2MTc1ZTkzMjAwZWMxZjdmMWQzNGVkMDE1NzE1
MTljMS4uMGNlMjFkZTE1ZWVjYTJhMDVhMzRiMmRmM2NkZGI5ZTkwMzVhMzIxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApA
QCAtNjMyLDcgKzYzMiw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZp
cmVkKCkKIAogICAgIC8vIDEuIExvb3AgVG9wOiBJZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGVtcHR5
LCB0aGVuIGp1bXAgdG8gdGhlIG5lZWQgbW9yZSBkYXRhIHN0ZXAgYmVsb3cuCiAgICAgaWYgKCFt
X3BlbmRpbmdBcHBlbmREYXRhLnNpemUoKSkgewotICAgICAgICBzb3VyY2VCdWZmZXJQcml2YXRl
QXBwZW5kQ29tcGxldGUoQXBwZW5kU3VjY2VlZGVkKTsKKyAgICAgICAgc291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtNjU4LDcgKzY1OCw3IEBAIHZvaWQgU291cmNlQnVmZmVy
Ojpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0IHJlc3VsdCkK
IAogICAgIC8vIDIuIElmIHRoZSBpbnB1dCBidWZmZXIgY29udGFpbnMgYnl0ZXMgdGhhdCB2aW9s
YXRlIHRoZSBTb3VyY2VCdWZmZXIgYnl0ZSBzdHJlYW0gZm9ybWF0IHNwZWNpZmljYXRpb24sCiAg
ICAgLy8gdGhlbiBydW4gdGhlIGFwcGVuZCBlcnJvciBhbGdvcml0aG0gd2l0aCB0aGUgZGVjb2Rl
IGVycm9yIHBhcmFtZXRlciBzZXQgdG8gdHJ1ZSBhbmQgYWJvcnQgdGhpcyBhbGdvcml0aG0uCi0g
ICAgaWYgKHJlc3VsdCA9PSBQYXJzaW5nRmFpbGVkKSB7CisgICAgaWYgKHJlc3VsdCA9PSBBcHBl
bmRSZXN1bHQ6OlBhcnNpbmdGYWlsZWQpIHsKICAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJ
RVIsICJQYXJzaW5nRmFpbGVkIik7CiAgICAgICAgIGFwcGVuZEVycm9yKHRydWUpOwogICAgICAg
ICByZXR1cm47CkBAIC02NzEsNyArNjcxLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8g
Tk9URTogcmV0dXJuIHRvIFNlY3Rpb24gMy41LjUKICAgICAvLyAyLklmIHRoZSBzZWdtZW50IHBh
cnNlciBsb29wIGFsZ29yaXRobSBpbiB0aGUgcHJldmlvdXMgc3RlcCB3YXMgYWJvcnRlZCwgdGhl
biBhYm9ydCB0aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ICE9IEFwcGVuZFN1Y2NlZWRl
ZCkKKyAgICBpZiAocmVzdWx0ICE9IEFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKQogICAg
ICAgICByZXR1cm47CiAKICAgICAvLyAzLiBTZXQgdGhlIHVwZGF0aW5nIGF0dHJpYnV0ZSB0byBm
YWxzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBhMDQxNDhjYThmMjhmMWQyOWMwYzI2YjJlNWVkMTY0MjAzYmMzNmIyLi45ZTc2
MjM1YmQ4NzU5M2U0NGU2MzIwMWQ5Y2JhNWZlMDliODM5M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MjI1LDggKzQyMjUs
OCBAQAogCQlDRDVGRjQ5RDIxNjJFNERCMDA0QkQ4NkYgLyogSVNPUHJvdGVjdGlvblNjaGVtZUlu
Zm9Cb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
ODcxQzYwMUZCNTJCNjUwMEYwQjk2NSAvKiBJU09Qcm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNENUZGNDlF
MjE2MkU0RTgwMDRCRDg2RiAvKiBJU09PcmlnaW5hbEZvcm1hdEJveC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjcxRkI1MkI2ODAwRjBCOTY1
IC8qIElTT09yaWdpbmFsRm9ybWF0Qm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q2MkZCOTYxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNU
YXNrUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0Q2NDFFQjMxODE4RjVF
RDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlh
U291cmNlUHJpdmF0ZS5oICovOyB9OwotCQlDRDY0MUVCNDE4MThGNUVEMDBFRTRDNDEgLyogU291
cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q2NDFFQjIxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUu
aCAqLzsgfTsKKwkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFF
QjExODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNENjQxRUI0MTgxOEY1RUQwMEVF
NEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUNENzIwQjRGMjI2OEI1MTMwMDA0N0ZERSAvKiBJU09GYWlyUGxheVN0cmVhbWluZ1Bz
c2hCb3guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
NzIwQjQ5MjI2ODJDN0YwMDA0N0ZERSAvKiBJU09GYWlyUGxheVN0cmVhbWluZ1Bzc2hCb3guaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDdEMzM0
NDFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDIxQzdBMTIzRjAwMDQx
MjkzIC8qIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDdEMzM0ODFDN0ExNkJGMDAwNDEyOTMgLyogQ29y
ZVZpZGVvU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEN0QzMzQ2MUM3QTE2QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MzAzLDcg
KzQzMDMsNyBAQAogCQlDRENENDFFODFDM0REQjBBMDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJh
bmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENE
NDFFNjFDM0REQjA5MDA5NjVEOTkgLyogUGFyc2VkQ29udGVudFJhbmdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RDRkFCQkQxOEMwQUY3ODAw
NkY4NDUwIC8qIEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEQ0ZBQkJCMThDMEFFMzEwMDZGODQ1MCAvKiBIaWdobGlnaHREYXRh
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RE
NzA4OTcxODM1OUY2RjAwMkIzREM2IC8qIFNhbXBsZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RENzA4OTUxODM1OUY2RjAwMkIzREM2IC8qIFNh
bXBsZU1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
Ci0JCUNEREMxRTdBMThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREMxRTc5
MThBOTUyRjMwMDI3QTlENCAvKiBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaCAqLzsgfTsKKwkJ
Q0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REQzFFNzkxOEE5
NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEREUwMkVEMThCM0VENkQwMENG
N0ZGMSAvKiBDRE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVCMThCM0VENkQwMENGN0ZGMSAvKiBD
RE1TZXNzaW9uQVZGb3VuZGF0aW9uT2JqQy5tbSAqLzsgfTsKIAkJQ0RERTAyRjAxOEI1NjUxMzAw
Q0Y3RkYxIC8qIENETVNlc3Npb25BVlN0cmVhbVNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERFMDJFRjE4QjU2NTEyMDBDRjdGRjEgLyog
Q0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSAqLzsgfTsKIAkJQ0RFM0E4NTQxN0Y1RkNFNjAw
QzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREUzQTg1MjE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9U
cmFja1ByaXZhdGVBVkYuaCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCmluZGV4IDE0YzM5NzdjYjFmYzhiZTZjODdhMGYyZmRlODIyYmQxMzA0MGYyYzYuLmI5
Zjc4YjcxYzBkNGYzNThmMzRjNmU4MDUzZmQ1NDg4OWEzZWJkODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTQ1Nyw3ICsxNDU3LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50
VHlwZSYgY29udGVudFQKICAgICAgICAgICAgIC8vIHdoaWxlIHByb2Nlc3NpbmcgcmVtYWluZGVy
IG9mIGxvYWQgZmFpbHVyZS4KICAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UgPSBudWxscHRyOwog
ICAgICAgICAgICAgbWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6
OkZvcm1hdEVycm9yKTsKLSAgICAgICAgfSBlbHNlIGlmICghbV9wbGF5ZXItPmxvYWQodXJsLCBj
b250ZW50VHlwZSwgbV9tZWRpYVNvdXJjZS5nZXQoKSkpIHsKKyAgICAgICAgfSBlbHNlIGlmICgh
bV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291cmNlLmdldCgpKSkgewogICAgICAgICAgICAg
Ly8gV2UgaGF2ZSB0byBkZXRhY2ggdGhlIE1lZGlhU291cmNlIGJlZm9yZSB3ZSBmb3JnZXQgdGhl
IHJlZmVyZW5jZSB0byBpdC4KICAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UtPmRldGFjaEZyb21F
bGVtZW50KCp0aGlzKTsKICAgICAgICAgICAgIG1fbWVkaWFTb3VyY2UgPSBudWxscHRyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmgKaW5kZXggN2MyNzhhNjhlMzg5YWVlZTYyYzQz
MTJjMDNhZWNmNTk4Y2Q0MzM1OC4uZWVmOGI5M2NhOWE5NTI4MjI0YWVhMjNjNDQ1ZThhNDc1NWMy
M2RiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oCkBAIC00Nyw3ICs0Nyw3
IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHJhdygpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZS5pc0VtcHR5KCk7
IH0KIAotICAgIFN0cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgdG9KU09OU3RyaW5nKCkgY29uc3Q7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggOGIwZDcz
ZThkODI0ZmRiNjljZmYwNjk4YzgyZjg5ZDA5MTg1YTcyYi4uMTcwNDM4NWRkYzc4OGZhMzg4ZmJl
NGJkZWY1ZDEyYjM5ZmZlMWI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJikgZmluYWwgeyB9CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KikgZmluYWwgeyB9CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudCopIGZpbmFsIHsgfQogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAg
ICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgZmluYWwgeyB9CkBAIC00NzEsMTMgKzQ3
MSwxMyBAQCBib29sIE1lZGlhUGxheWVyOjpsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250
ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cgogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKLWJvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRl
bnRUeXBlJiBjb250ZW50VHlwZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRpYVNvdXJj
ZSkKK2Jvb2wgTWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgVVJMJiB1cmwsIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCogbWVkaWFTb3VyY2UpCiB7CiAgICAgQVNTRVJUKCFtX3JlbG9hZFRpbWVyLmlz
QWN0aXZlKCkpOwogICAgIEFTU0VSVChtZWRpYVNvdXJjZSk7CiAKICAgICBtX21lZGlhU291cmNl
ID0gbWVkaWFTb3VyY2U7Ci0gICAgbV9jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlOworICAgIG1f
Y29udGVudFR5cGUgPSB7IH07CiAgICAgbV91cmwgPSB1cmw7CiAgICAgbV9rZXlTeXN0ZW0gPSBl
bXB0eVN0cmluZygpOwogICAgIG1fY29udGVudE1JTUVUeXBlV2FzSW5mZXJyZWRGcm9tRXh0ZW5z
aW9uID0gZmFsc2U7CkBAIC01ODYsNyArNTg2LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdp
dGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAg
IGlmIChtX3ByaXZhdGUpIHsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgICAgICBpZiAo
bV9tZWRpYVNvdXJjZSkKLSAgICAgICAgICAgIG1fcHJpdmF0ZS0+bG9hZChtX3VybC5zdHJpbmco
KSwgbV9tZWRpYVNvdXJjZS5nZXQoKSk7CisgICAgICAgICAgICBtX3ByaXZhdGUtPmxvYWQobV91
cmwsIG1fbWVkaWFTb3VyY2UuZ2V0KCkpOwogICAgICAgICBlbHNlCiAjZW5kaWYKICNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKaW5kZXggZDI1MjBhY2JiYmIxYTY5OGNhM2Q0MDcwNjYyZjFkM2ZkOTY4NzA1
OC4uZTIyNWJiYWYyYTIzYzg0NWJkYzZiMzk2YWYzMDJlZGU1MjJmYmYwNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0zMzcsNyArMzM3
LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBsb2FkKGNvbnN0IFVSTCYsIGNvbnN0IENvbnRlbnRU
eXBlJiwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
Ci0gICAgYm9vbCBsb2FkKGNvbnN0IFVSTCYsIGNvbnN0IENvbnRlbnRUeXBlJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50Kik7CisgICAgYm9vbCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBi
b29sIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY5YjkyMDYxOTBk
NWFlZDA2ZDBkODhjMGM3NDE1Y2UxNjRkYTU4MDIuLmNkOTdjNjI2OWViYmEyNjdjNzFlNDRhYWQz
OGQxZmY0MjdjOWQ2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmLCBj
b25zdCBTdHJpbmcmKSB7IGxvYWQodXJsLnN0cmluZygpKTsgfQogCiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKLSAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVS
TCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopID0gMDsKICNlbmRpZgogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgdmlydHVhbCB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikg
PSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFT
b3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNv
dXJjZVByaXZhdGUuaAppbmRleCBlMTQ3ZjE0ZDhlMTk2NmI4Mzk3MTg0YmQyYmQ4N2QxNzE3ODI2
MjYzLi41ODljNjVmMGI2Y2Y1YzA1MWJjYzM0MTczYjU5NDdlODZhMzMzYTgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVNvdXJjZVByaXZhdGUu
aApAQCAtMjcsOCArMjcsOCBAQAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
Ci0jaWZuZGVmIE1lZGlhU291cmNlUHJpdmF0ZV9oCi0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0
ZV9oCisKKyNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIApAQCAtNDks
NyArNDksMTEgQEAgcHVibGljOgogICAgIE1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVmYXVsdDsK
ICAgICB2aXJ0dWFsIH5NZWRpYVNvdXJjZVByaXZhdGUoKSA9IGRlZmF1bHQ7CiAKLSAgICBlbnVt
IEFkZFN0YXR1cyB7IE9rLCBOb3RTdXBwb3J0ZWQsIFJlYWNoZWRJZExpbWl0IH07CisgICAgZW51
bSBjbGFzcyBBZGRTdGF0dXMgOiB1aW50OF90IHsKKyAgICAgICAgT2ssCisgICAgICAgIE5vdFN1
cHBvcnRlZCwKKyAgICAgICAgUmVhY2hlZElkTGltaXQKKyAgICB9OwogICAgIHZpcnR1YWwgQWRk
U3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYsIFJlZlB0cjxTb3VyY2VC
dWZmZXJQcml2YXRlPiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZHVyYXRpb25DaGFuZ2VkKCkg
PSAwOwogICAgIGVudW0gRW5kT2ZTdHJlYW1TdGF0dXMgeyBFb3NOb0Vycm9yLCBFb3NOZXR3b3Jr
RXJyb3IsIEVvc0RlY29kZUVycm9yIH07CkBAIC04OCw3ICs5MiwxNSBAQCBzdHJ1Y3QgTG9nQXJn
dW1lbnQ8V2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpFbmRPZlN0cmVhbVN0YXR1cz4gewog
ICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFT
b3VyY2VQcml2YXRlOjpBZGRTdGF0dXM+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVz
PAorICAgICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cywKKyAgICAg
ICAgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6Ok9rLAorICAgICAgICBX
ZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6Tm90U3VwcG9ydGVkLAorICAg
ICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGlt
aXQKKyAgICA+OworfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKICNlbmRpZgotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50LmgKaW5kZXggMDA1NjVhOTFmZWE5OGE2NDE4YTQ0NjIwY2JjMzY2
ZTllOGYxMGFkNS4uNGRmMjk3NGQ3ODJiZWEyNGFhZTY5OGVlMTViMDY4MTkxNTQxYzA5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQuaApAQCAtNzMsMTEgKzczLDI4IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgTWVkaWFUaW1lIHNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0U2Vla1RpbWVGb3JNZWRp
YVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1l
JikgPSAwOwogCi0gICAgZW51bSBBcHBlbmRSZXN1bHQgeyBBcHBlbmRTdWNjZWVkZWQsIFJlYWRT
dHJlYW1GYWlsZWQsIFBhcnNpbmdGYWlsZWQgfTsKKyAgICBlbnVtIGNsYXNzIEFwcGVuZFJlc3Vs
dCA6IHVpbnQ4X3QgeworICAgICAgICBBcHBlbmRTdWNjZWVkZWQsCisgICAgICAgIFJlYWRTdHJl
YW1GYWlsZWQsCisgICAgICAgIFBhcnNpbmdGYWlsZWQKKyAgICB9OwogICAgIHZpcnR1YWwgdm9p
ZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0KSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJy
b3IoaW50IGVycm9yQ29kZSkgPSAwOwogfTsKIAotfQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ+IHsKKyAgICB1c2luZyB2
YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50OjpBcHBlbmRSZXN1bHQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkLAorICAgICAgICBXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OlJlYWRTdHJlYW1GYWls
ZWQsCisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJl
c3VsdDo6UGFyc2luZ0ZhaWxlZAorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKIAog
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IGFkNGJjOTBlODFiMWMz
NjI2ZGE1NWM2NmY1ZTIzMTFjMzQwYWNlOTIuLjVhYjcxMzc1NDc2YzVmMzA3Y2Q5YzU1M2Q4ZWZm
YjBkNWZkZTY0ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0xODEsNyArMTgxLDcgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiB9CiAKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246
OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopCiB7CiAgICAgc2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3
b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCA0MzhlNDg0YWRlYmM2YmJmMmMyMmM2
YWM1NDA5MmRjZmMwY2Q4ODVjLi40N2IyZjhmNzVmYWI0NDY0Nzg3OTQxMzY3OGY0NmFkMzMzNDcy
YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5oCkBAIC0xNTgsNyArMTU4LDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIE1lZGlhUGxh
eWVyUHJpdmF0ZVByaXZhdGVJbnRlcmZhY2Ugb3ZlcnJpZGVzLgogICAgIHZvaWQgbG9hZChjb25z
dCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCop
IG92ZXJyaWRlOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxv
YWQoTWVkaWFTdHJlYW1Qcml2YXRlJikgb3ZlcnJpZGUgeyBzZXROZXR3b3JrU3RhdGUoTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qy5oCmluZGV4IDMwNjU0ZTI2OGRjNDRlMmUzYTA3ZTEzZGZkMDkxNWUwNzdlM2RmOTIuLjAwMzgw
YjdlMjI5MTViYjY3NTBhZGJhMTU3ZGZiMzA5NDJmZDI2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5oCkBAIC0xNDgsNiArMTQ4LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxDb250
ZW50VHlwZT4mIG1lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KCkgY29u
c3Q7CiAgICAgYm9vbCBzaG91bGRDaGVja0hhcmR3YXJlU3VwcG9ydCgpIGNvbnN0OwogCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2xvZ2dlci5nZXQoKTsgfQogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNz
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakMiOyB9CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KG1fbG9nSWRlbnRpZmll
cik7IH0KQEAgLTE1NSw2ICsxNTYsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCB2b2lkKiBtZWRp
YVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBsb2dJZGVudGlmaWVyKCk7IH0KICAgICBj
b25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgeyByZXR1cm4gbG9nZ2VyKCk7IH0KKyNl
bmRpZgogCiAgICAgZW51bSBTZWVrU3RhdGUgewogICAgICAgICBTZWVraW5nLApAQCAtMTY1LDcg
KzE2Nyw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKLSAgICB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92
ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQqKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChN
ZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCmluZGV4IGI0MDI0YTkxNDhlMWFlMjViM2M5NDI3ODM4NDY5MmFiMDFhZWE2ZTAuLmNk
Njk3NjM5N2RjN2Q1MTMyZDVkOTE0NTQyYThhY2U1ZmEwNzc3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0KQEAgLTI2Niw3ICsyNjYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmKQogICAgIG1fcGxheWVyLT5uZXR3
b3JrU3RhdGVDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCog
Y2xpZW50KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmxvYWQo
Y29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB7CiAgICAgQUxX
QVlTX0xPRyhMT0dJREVOVElGSUVSKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
dHJlYW1BVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCA4
NzgwOTZhZGJkNmUyNWQ0MzE4NmJlZWIwYmFkZjQ2OGY4NmNlNGM5Li5hNGY0ZDQ0NjlmNTY1ZjM3
MTQ1MmZmMGU4OGY0YjJjNzA1NzJiZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAt
OTgsNyArOTgsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYpIG92
ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9h
ZChjb25zdCBVUkwmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNlbmRp
ZgogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZTsKICAgICB2b2lk
IGNhbmNlbExvYWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCBh
YzZjZGUzYzhkNTc5Y2JmMGE5NmIwMDM0NDYxNmE4MmIzYzBlNzYzLi4wOTRjZWI3MDdiZmQyMDY5
NDQ5YzQzYjk4NWJjYjhjZDBhYTQ0YjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBA
IC00MDMsNyArNDAzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OmxvYWQoY29uc3QgU3RyaW5nJikKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJp
bmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KikKIHsKICAgICAvLyBUaGlzIG1lZGlhIGVuZ2luZSBvbmx5IHN1cHBvcnRzIE1lZGlhU3Ry
ZWFtIFVSTHMuCiAgICAgc2NoZWR1bGVEZWZlcnJlZFRhc2soW3RoaXNdIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAppbmRleCBlMWU0
YWE3ODY5NWYwMDQ4ZjBjZmNjODI0MTZhMjA5NDhmNmRhY2U2Li5kYzQ2MjAzYmU4ZjRkNDUxMDRm
ZGNkM2JiZjFiNjFlZjhjNTE5NzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCkBAIC0yMyw4ICsyMyw3IEBACiAgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKICAqLwogCi0jaWZuZGVmIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAotI2RlZmlu
ZSBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDX2gKKyNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkgJiYgVVNFKEFWRk9VTkRBVElPTikKIApAQCAtMTQ5LDUgKzE0OCwzIEBA
IHByaXZhdGU6CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZG
T1VOREFUSU9OKQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCmluZGV4IGVmNDUzYWU4ZGRiZTgxNDU4ZDJjMGE1ZmU3
YmY5MjdhZmRhOTRjZTIuLjc1M2FjYjFjYTc5NGZhMDE2OWY5Y2UwZjZmOTJmZWFiNTQ3NGUzMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5tbQpAQCAtODQsMTEgKzg0LDExIEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVz
IE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDCiAgICAg
cGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gdHJ1ZTsKICAgICBwYXJhbWV0ZXJzLnR5cGUgPSBj
b250ZW50VHlwZTsKICAgICBpZiAoTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzdXBwb3J0c1R5cGVBbmRDb2RlY3MocGFyYW1ldGVycykgPT0gTWVkaWFQbGF5ZXI6OlN1cHBv
cnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7Cisg
ICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gcGFyc2Vy
ID0gU291cmNlQnVmZmVyUGFyc2VyOjpjcmVhdGUoY29udGVudFR5cGUpOwogICAgIGlmICghcGFy
c2VyKQotICAgICAgICByZXR1cm4gTm90U3VwcG9ydGVkOworICAgICAgICByZXR1cm4gQWRkU3Rh
dHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAgICBhdXRvIG5ld1NvdXJjZUJ1ZmZlciA9IFNvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDOjpjcmVhdGUodGhpcywgcGFyc2VyLnJlbGVhc2VOb25OdWxsKCkp
OwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCkBAIC05Nyw3ICs5Nyw3IEBAIE1lZGlhU291
cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmFkZFNvdXJj
ZUJ1ZmZlcihjb25zdCBDCiAgICAgb3V0UHJpdmF0ZSA9IG5ld1NvdXJjZUJ1ZmZlci5jb3B5UmVm
KCk7CiAgICAgbV9zb3VyY2VCdWZmZXJzLmFwcGVuZChXVEZNb3ZlKG5ld1NvdXJjZUJ1ZmZlcikp
OwogCi0gICAgcmV0dXJuIE9rOworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lk
IE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZm
ZXJQcml2YXRlKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4IDkxNDk2ZDI0MWZmYjYxMGQ5Njk0MDc3NTdk
OWZjMjM5OGZiNDY1NTkuLjJiYzI2YTE1ZWU1MWJkYTE0YjliNWY2NjM0MTViOTg0NjViOTlmZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDLm1tCkBAIC00Miw3ICs0Miw2IEBACiAjaW1wb3J0ICJNZWRpYVNhbXBsZS5oIgogI2lt
cG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDLmgiCi0jaW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgogI2ltcG9ydCAiU2hhcmVkQnVm
ZmVyLmgiCiAjaW1wb3J0ICJTb3VyY2VCdWZmZXJQYXJzZXJBVkZPYmpDLmgiCiAjaW1wb3J0ICJT
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmgiCkBAIC01ODYsNyArNTg1LDcgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6YXBwZW5kQ29tcGxldGVkKCkKICAgICAgICAgbV9tZWRp
YVNvdXJjZS0+cGxheWVyKCktPnNldExvYWRpbmdQcm9ncmVzc3NlZCh0cnVlKTsKIAogICAgIGlm
IChtX2NsaWVudCkKLSAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRD
b21wbGV0ZShtX3BhcnNpbmdTdWNjZWVkZWQgPyBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpB
cHBlbmRTdWNjZWVkZWQgOiBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpQYXJzaW5nRmFpbGVk
KTsKKyAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSht
X3BhcnNpbmdTdWNjZWVkZWQgPyBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1
bHQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJl
c3VsdDo6UGFyc2luZ0ZhaWxlZCk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmFib3J0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKaW5kZXggN2UwYWQ1NDc4Y2ExNzkxOWEwZTliMzMxOWNmZjQ2YzJmZmMxMDFmMS4uNTdi
NjgzODMyMDYzNDA4NjMyNmI2NDhiNjdiN2I2NDMwOTNhMmI0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM5MSw3ICszOTEsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBTdHJpbmcmIHVybFN0
cmluZykKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGll
bnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWQoY29uc3QgVVJMJiwg
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKICAgICAvLyBQcm9wZXJseSBmYWlsIHNvIHRo
ZSBnbG9iYWwgTWVkaWFQbGF5ZXIgdHJpZXMgdG8gZmFsbGJhY2sgdG8gdGhlIG5leHQgTWVkaWFQ
bGF5ZXJQcml2YXRlLgogICAgIG1fbmV0d29ya1N0YXRlID0gTWVkaWFQbGF5ZXI6Ok5ldHdvcmtT
dGF0ZTo6Rm9ybWF0RXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmgKaW5kZXggZTAxNjE1YjBmM2EzNTBkNmYwNzUwODYyZTM2MGE2YjBjZGI3NzQ5Zi4u
YzA4YWY4ZDJiODZkMjRjMzA0NWQxYzcyMDRkNGY5M2YwZWQwYTUzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTQyLDcgKzE0Miw3IEBAIHB1
YmxpYzoKICAgICBib29sIGhhc0F1ZGlvKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9oYXNBdWRp
bzsgfQogICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcgJnVybCkgb3ZlcnJpZGU7CiAjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwm
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNlbmRpZgogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UuY3BwCmluZGV4IGM0NGNhMzk2N2FiMGZmMDY5MGYwY2QyZWU2MzM0ZGNjNWQwZDdm
YjguLmRmODVkM2RhYjRmOTM3NWU1NzBlM2Q1M2I0MWI3NzJjMzdhYWEzZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAK
QEAgLTEzOCwxMCArMTM4LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
Ojpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6bG9hZCh1cmxTdHJpbmcpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRTo6bG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KiBtZWRpYVNvdXJjZSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjps
b2FkKGNvbnN0IFVSTCYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1lZGlhU291cmNl
KQogewogICAgIG1fbWVkaWFTb3VyY2UgPSBtZWRpYVNvdXJjZTsKLSAgICBsb2FkKG1ha2VTdHJp
bmcoIm1lZGlhc291cmNlIiwgdXJsKSk7CisgICAgbG9hZChtYWtlU3RyaW5nKCJtZWRpYXNvdXJj
ZSIsIHVybC5zdHJpbmcoKSkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ck1TRTo6cGF1c2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggN2U0ODFlNjU3NDg5ZTI3MWI0NGYxM2ZjMzViNDQ5NGM2
YzU2NmRlYy4uMDY5Mjc2NjI2NDk0NTkwNmRmODI4M2QzYWQ5NTcyMzY5NzhmNTJlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5o
CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck1lZGlh
RW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmFyKTsKIAogICAgIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmKSBvdmVycmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIE1lZGlh
U291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogCiAgICAgdm9pZCB1cGRhdGVEb3dubG9h
ZEJ1ZmZlcmluZ0ZsYWcoKSBvdmVycmlkZSB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNr
UGlwZWxpbmUuY3BwCmluZGV4IGIwMDVkMGQzMzUyNjY0ZjdmOWJlZDlmNzAyMDk3NzJhYjAwMjc0
NTAuLjFlODhhZDE2MTFiZWQ1NDU4MmI5MTAzMDkyNjJmYzcyNzIzMjY1MzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQ
aXBlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIE1lZGlhU291
cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJjZUJ1ZmZlcihS
ZWZQdHI8U291cmNlQnVmCiAKICAgICBpZiAocHJpdi0+YWxsVHJhY2tzQ29uZmlndXJlZCkgewog
ICAgICAgICBHU1RfRVJST1JfT0JKRUNUKG1fd2ViS2l0TWVkaWFTcmMuZ2V0KCksICJBZGRpbmcg
bmV3IHNvdXJjZSBidWZmZXJzIGFmdGVyIGZpcnN0IGRhdGEgbm90IHN1cHBvcnRlZCB5ZXQiKTsK
LSAgICAgICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0ZTo6Tm90U3VwcG9ydGVkOworICAgICAg
ICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKICAg
ICB9CiAKICAgICBHU1RfREVCVUdfT0JKRUNUKG1fd2ViS2l0TWVkaWFTcmMuZ2V0KCksICJTdGF0
ZSAlZCIsIGludChHU1RfU1RBVEUobV93ZWJLaXRNZWRpYVNyYy5nZXQoKSkpKTsKQEAgLTE0MCw3
ICsxNDAsNyBAQCBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBQbGF5YmFja1BpcGVsaW5l
OjphZGRTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZgogICAgIGdzdF9iaW5fYWRkKEdTVF9C
SU4obV93ZWJLaXRNZWRpYVNyYy5nZXQoKSksIHN0cmVhbS0+YXBwc3JjKTsKICAgICBnc3RfZWxl
bWVudF9zeW5jX3N0YXRlX3dpdGhfcGFyZW50KHN0cmVhbS0+YXBwc3JjKTsKIAotICAgIHJldHVy
biBNZWRpYVNvdXJjZVByaXZhdGU6Ok9rOworICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6
OkFkZFN0YXR1czo6T2s7CiB9CiAKIHZvaWQgUGxheWJhY2tQaXBlbGluZTo6cmVtb3ZlU291cmNl
QnVmZmVyKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBzb3VyY2VCdWZmZXJQ
cml2YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKaW5kZXggZDNhODdlZmU4OWFlYjNhZDU2N2RlYzQ4YTFlMWE3ZWU0M2U1YzQ4
Yy4uYzkwNDI3ZTRlZDNlYzdhODFhN2JiYjkzMmVjNGI4YmQxMTBjYTAwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZm
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0x
OTQsMTIgKzE5NCwxMiBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmRpZFJl
Y2VpdmVTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2
YXRlR1N0cmVhbWVyOjpkaWRSZWNlaXZlQWxsUGVuZGluZ1NhbXBsZXMoKQogewotICAgIG1fc291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCk7CisgICAgbV9zb3Vy
Y2VCdWZmZXJQcml2YXRlQ2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUo
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQp
OwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OmFwcGVuZFBhcnNpbmdG
YWlsZWQoKQogewotICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC0+c291cmNlQnVmZmVy
UHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNpbmdG
YWlsZWQpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC0+c291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3Vs
dDo6UGFyc2luZ0ZhaWxlZCk7CiB9CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5kZXggN2QwYzdkN2NmMDJm
NDJhZWM3M2RjYzM4MjdiYmIyYjE3YzMzNTJmMS4uYzdhMGY3MWRmZTY4ZmM2ZWQ2MmM5NjVlNTk4
ODBkOTMyOWJiZjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJj
ZS5jcHAKQEAgLTExMSw3ICsxMTEsNyBAQCB2b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
Ojpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZv
aWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50KiBzb3VyY2UpCit2b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlOjpsb2FkKGNvbnN0IFVSTCYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogc291cmNlKQog
ewogICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6Y3Jl
YXRlKCp0aGlzLCAqc291cmNlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2UuaAppbmRleCA3ZGZjMWYyMjhkYTIxMzk0ZjM3NmM3ZjI5NjRjZjE0NDZlOGNhMzFlLi4w
NThjNjM0MjkwNmExYTE3NDc5MTAyYjE1NTg0OTQ3MjIwN2ZjZDlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlIE92ZXJyaWRlcwogICAgIHZvaWQgbG9h
ZChjb25zdCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxv
YWQoY29uc3QgVVJMJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50Kikgb3ZlcnJpZGU7CiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Qcml2YXRlJikg
b3ZlcnJpZGUgeyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3Bw
CmluZGV4IDZlMjFiNWRkMmI4OTdlODdhYWZhMDBlNzViYzhmZjhmZjFlZWUwZjYuLjhmODI4Y2Nh
OTU5NzI1NzIzYmE2ZWM4MjQyMWZjODgxOWRmMDJhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmNwcApAQCAtNjMsMTIgKzYzLDEyIEBAIE1lZGlhU291cmNlUHJpdmF0ZTo6
QWRkU3RhdHVzIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBD
b250CiAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gdHJ1ZTsKICAgICBwYXJhbWV0ZXJz
LnR5cGUgPSBjb250ZW50VHlwZTsKICAgICBpZiAoTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6
OnN1cHBvcnRzVHlwZShwYXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlOjpJ
c05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJuIE5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0
dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogCiAgICAgbV9zb3VyY2VCdWZmZXJzLmFwcGVu
ZChNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6Y3JlYXRlKHRoaXMpKTsKICAgICBvdXRQcml2YXRl
ID0gbV9zb3VyY2VCdWZmZXJzLmxhc3QoKTsKIAotICAgIHJldHVybiBPazsKKyAgICByZXR1cm4g
QWRkU3RhdHVzOjpPazsKIH0KIAogdm9pZCBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpyZW1vdmVT
b3VyY2VCdWZmZXIoU291cmNlQnVmZmVyUHJpdmF0ZSogYnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJp
dmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tT
b3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCBmNGRhZDAzNzEzMDMxODQ5ZTYzN2Y5N2JiMDc4
ZDIzZmU4Njk4MWE1Li4wNWNkYzUwMzVkNmY0OTIwNDJkN2FiMWVkZjdjYWJjNzBmMzVmMjM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tT
b3VyY2VCdWZmZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcApAQCAtMTM5LDkgKzEzOSw5
IEBAIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OnNldENsaWVudChTb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50KiBjbGllbnQpCiB2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjphcHBl
bmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYgZGF0YSkKIHsKICAgICBtX2lucHV0QnVmZmVyLmFw
cGVuZFZlY3RvcihkYXRhKTsKLSAgICBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRS
ZXN1bHQgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kU3VjY2VlZGVk
OworICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBT
b3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZDsK
IAotICAgIHdoaWxlIChtX2lucHV0QnVmZmVyLnNpemUoKSAmJiByZXN1bHQgPT0gU291cmNlQnVm
ZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kU3VjY2VlZGVkKSB7CisgICAgd2hpbGUgKG1faW5wdXRC
dWZmZXIuc2l6ZSgpICYmIHJlc3VsdCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBl
bmRSZXN1bHQ6OkFwcGVuZFN1Y2NlZWRlZCkgewogICAgICAgICBhdXRvIGJ1ZmZlciA9IEFycmF5
QnVmZmVyOjpjcmVhdGUobV9pbnB1dEJ1ZmZlci5kYXRhKCksIG1faW5wdXRCdWZmZXIuc2l6ZSgp
KTsKICAgICAgICAgc2l6ZV90IGJveExlbmd0aCA9IE1vY2tCb3g6OnBlZWtMZW5ndGgoYnVmZmVy
LnB0cigpKTsKICAgICAgICAgaWYgKGJveExlbmd0aCA+IGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpKQpA
QCAtMTU1LDcgKzE1NSw3IEBAIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZChW
ZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogICAgICAgICAgICAgTW9ja1NhbXBsZUJveCBz
YW1wbGVCb3ggPSBNb2NrU2FtcGxlQm94KGJ1ZmZlci5wdHIoKSk7CiAgICAgICAgICAgICBkaWRS
ZWNlaXZlU2FtcGxlKHNhbXBsZUJveCk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgcmVz
dWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6UGFyc2luZ0ZhaWxlZDsKKyAgICAgICAg
ICAgIHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UGFy
c2luZ0ZhaWxlZDsKIAogICAgICAgICBtX2lucHV0QnVmZmVyLnJlbW92ZSgwLCBib3hMZW5ndGgp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CmluZGV4IDZlMmQ4YTkxM2JlNDY2YjdjNTEzODk1MTky
ODY4YzU1NzZiMWQwM2IuLjYyODQ0NTMyNTAzMzUxMDdmZDU0OTgyMjMyYjhiOWVhZWM4ZTY4Y2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9DTWFrZUxpc3RzLnR4dApAQCAtMTM3LDYgKzEzNyw4IEBAIHNldChXZWJLaXRfTUVTU0FH
RVNfSU5fRklMRVMKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5CiAgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5CiAgICAg
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlcgorICAgIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eQorICAgIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlU291cmNlQnVmZmVyUHJveHkKIAogICAgIEdQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0Nv
ZGVjc1Byb3h5CiAgICAgR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXIKQEAgLTIyNCw2ICsyMjYsNyBAQCBzZXQoV2ViS2l0X01FU1NBR0VTX0lOX0ZJ
TEVTCiAgICAgV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQcm92aWRlck1h
bmFnZXIKICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24K
ICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uCisgICAgV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZQogCiAgICAgV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcwogICAgIFdlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhYjE1ZmJmNTFlZjM2OGZiZTQ3NDUzNDBkMjYxN2My
ZjczOGJjMGI0Li5lZGI2Y2E1OTc5ZDJmNGRlZjhiMmIyZTc3M2Y5ZDY5YWU3ODZlN2U5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0zNSw2
ICszNSw4IEBAICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5Q0RN
U2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIu
bWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFT
b3VyY2VQcm94eS5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJv
Y2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5tZXNzYWdlcy5pbgpAQCAtOTUsOCArOTcsOCBAQCAkKFBS
T0pFQ1RfRElSKS9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lm1lc3NhZ2VzLmluCiAk
KFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgog
JChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eS5tZXNzYWdlcy5pbgotJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNw
ZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJ
UikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgorJChQ
Uk9KRUNUX0RJUikvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNv
bnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL01lZGlh
L0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVD
VF9ESVIpL1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9MZWdhY3lDdXN0b21Qcm90
b2NvbE1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTM2LDYgKzEzOCw3IEBA
ICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVk
aW9Tb3VyY2VQcm92aWRlck1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbi5tZXNzYWdlcy5pbgogJChQ
Uk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5t
ZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5pbgogJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5tZXNzYWdlcy5p
bgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ1JlbW90ZUNv
ZGVjcy5tZXNzYWdlcy5pbgpAQCAtMTQzLDkgKzE0Niw5IEBAICQoUFJPSkVDVF9ESVIpL1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubWVzc2FnZXMuaW4KICQo
UFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVX
ZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNw
ZWN0b3IvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNz
L0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5zcGVj
dG9yL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNz
L0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXIubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24ubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlNvY2tldENoYW5uZWwubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRlYjEyNWU5YWRjNzY1YTVhZThkYzExNzU4
N2VlM2U4N2M3N2E0MzguLjc1Njc5ZjU1ZjVhZTM5OWI1ZWFmNDc3ZjE4OTMyNTZiYzI0ODg0NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApA
QCAtMjE1LDYgKzIxNSw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlck1lc3NhZ2VzUmVwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZXMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNz
aW9uSGVscGVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90
ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU9iamVj
dFJlZ2lzdHJ5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3Ry
eU1lc3NhZ2VzUmVwbGllcy5oCkBAIC0yMzMsNiArMjM2LDkgQEAgJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
TWVzc2EKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JN
ZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9S
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNz
YWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTI1MSw2ICsyNTcs
OSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrTWVzc2FnZXNSZXBsaQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNl
aXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1Nt
YXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVz
c2FnZXNSZXBsaWVzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlTWVzc2FnZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hSZWNvZ25pdGlvblNl
cnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1NwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2
ZXJNZXNzYWdlc1JlcGxpZXMuaApAQCAtMzQ4LDkgKzM1Nyw2IEBAICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3Nh
Z2VzUmVwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJ
REJTZXJ2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJREJTZXJ2ZXJNZXNzYWdlc1JlcGxpZXMu
aAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVj
dG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZVJlY2VpdmVyLmNwcAotJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25D
b250cm9sbGVyTWVzc2FnZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViSW5zcGVjdG9yVUlFeHRlbnNpb25Db250cm9sbGVyTWVzc2FnZXNSZXBsaWVz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzUmVwbGllcy5oCkBA
IC0zNjAsNiArMzY2LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSW5zcGVjdG9yTWVzc2FnZXNSZXBsaWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5z
cGVjdG9yUHJveHlNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lv
bkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNz
YWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJ
bnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdl
UmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXNSZXBsaWVzLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQvRGVy
aXZlZFNvdXJjZXMubWFrZQppbmRleCBhNzZiMzk2ZmUwNTEzOTg3MGExYjAxYzE0YzE0MWRjZjQ1
YTkyYzQ0Li4zNzcwMWIwMWMzYzFhMmMzMDBlMWRkMmQ3MmU2Yjg1MjM3ZjQyNGI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNzQsMTIgKzE3NCwxMyBAQCBNRVNTQUdFX1JFQ0VJ
VkVSUyA9IFwKIAlXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzIFwKIAlXZWJQ
cm9jZXNzL0dQVS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIFwKIAlXZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUgXAotCVdlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lvbiBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTGVnYWN5Q0RNU2Vzc2lvbiBcCi0JV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1l
ZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9EZXN0
aW5hdGlvblByb3h5IFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24g
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU291cmNlUHJvdmlkZXJNYW5hZ2Vy
IFwKKwlXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb24gXAorCVdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNlc3Npb24gXAorCVdlYlByb2Nlc3Mv
R1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgXAorCVdlYlByb2Nlc3MvR1BVL21l
ZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIgXAogCVdlYlByb2Nlc3MvV2ViU3RvcmFn
ZS9TdG9yYWdlQXJlYU1hcCBcCiAJV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVu
dENvbnRyb2xsZXIgXAogCVdlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXIgXApAQCAtMjQwLDEzICsyNDEsMTUgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBc
CiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVNlc3Npb25Qcm94eSBcCiAJR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVt
b3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkgXAotCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9u
TWFuYWdlciBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1GYWN0b3J5UHJveHkgXAotCUdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAogCUdQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VQcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVM
ZWdhY3lDRE1Qcm94eSBcCiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdl
ciBcCisJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlUHJveHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNl
QnVmZmVyUHJveHkgXAogCVdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MgXAogCVdlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MgXAogIwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
CmluZGV4IGM2MzZjZTFjNDgzOTI3NGNmYmQwMDQxYjgwYzFjMGJjZjIzNWExYWMuLjk4MGQ2NDFj
YjFlODE0NzhmNDU5MTk4ZTIxNjc2N2E1ZGExODM0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDcg
KzI4LDYgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVMZWdhY3lDRE1GYWN0b3J5UHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3Rv
cnlQcm94eS5jcHAKaW5kZXggZmJhZjM5YWUzMTk0N2Y1NzdkOTY5MWZlMzExZmMyZTE2MjczMzE0
ZS4uNzQ5YjFkMzc1ZDRhZDkzOWZhMGRmMWM3NTdlNTk0MWQ3NmRhNDhmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TUZhY3RvcnlQcm94eS5jcHAKQEAgLTEzNiw3ICsxMzYsNiBAQCBSZW1vdGVMZWdhY3lDRE1TZXNz
aW9uUHJveHkqIFJlbW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eTo6Z2V0U2Vzc2lvbihjb25zdCBS
ZW1vdAogICAgIHJldHVybiBudWxscHRyOwogfQogCi0KIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHAKaW5kZXggODdkMDY3NDVkMDA4YzUxZmM0MTI3YjQwYjIxMjdlNjc0YTFjODE3MS4uMTRh
NTg5NjQ2YWNjZWRmZDg1Mjc5YmQxNmNkZjFjODE5ZWE3OWEyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNw
cApAQCAtMTMxLDYgKzEzMSwxNCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmxvYWQo
VVJMJiYgdXJsLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JgogICAgIGNvbXBs
ZXRpb25IYW5kbGVyKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogfQogCisjaWYgRU5BQkxFKE1F
RElBX1NPVVJDRSkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9hZE1lZGlhU291cmNl
KFVSTCYmIHVybCwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1lZGlhU291cmNlSWRlbnRp
ZmllcikKK3sKKyAgICBtX21lZGlhU291cmNlUHJveHkgPSBhZG9wdFJlZigqbmV3IFJlbW90ZU1l
ZGlhU291cmNlUHJveHkobWVkaWFTb3VyY2VJZGVudGlmaWVyLCBtX21hbmFnZXIuZ3B1Q29ubmVj
dGlvblRvV2ViUHJvY2VzcygpKSk7CisgICAgbV9wbGF5ZXItPmxvYWQodXJsLCBtX21lZGlhU291
cmNlUHJveHkuZ2V0KCkpOworfQorI2VuZGlmCisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6Y2FuY2VsTG9hZCgpCiB7CiAgICAgbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lci5z
dG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCA4NmFhNDJjZWJmZDcwM2UwYzBiZWJjM2VkMGQwZTQx
ODU1OWE2NjdhLi5jN2IzYzk2YTVkMzBmM2M0NTYwOTYyYjExZjliZDdmZWFkZGQ4YjE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmgKQEAgLTUyLDYgKzUyLDExIEBACiAjaW5jbHVkZSAiUmVtb3RlQ0RNSW5zdGFu
Y2VQcm94eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorI2luY2x1ZGUg
IlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291
cmNlUHJveHkuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU2hh
cmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKICNlbmRpZgpAQCAtMTA5LDYgKzExNCw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHByZXBhcmVGb3JSZW5kZXJpbmcoKTsKIAogICAgIHZvaWQgbG9hZChVUkwm
JiwgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiYmLCBjb25zdCBXZWJDb3JlOjpD
b250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVtb3Rl
TWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpPiYmKTsKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQorICAgIHZvaWQgbG9hZE1lZGlhU291cmNlKFVSTCYmLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIpOworI2VuZGlmCiAgICAgdm9pZCBjYW5jZWxMb2FkKCk7CiAKICAgICB2b2lkIHByZXBh
cmVUb1BsYXkoKTsKQEAgLTMwMCw2ICszMDgsOSBAQCBwcml2YXRlOgogICAgIFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUgbV9jYWNoZWRTdGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29u
ZmlndXJhdGlvbiBtX2NvbmZpZ3VyYXRpb247CiAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChP
cHRpb25hbDxNZWRpYVRpbWU+KT4gbV9wZXJmb3JtVGFza0F0TWVkaWFUaW1lQ29tcGxldGlvbkhh
bmRsZXI7CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8UmVtb3RlTWVkaWFT
b3VyY2VQcm94eT4gbV9tZWRpYVNvdXJjZVByb3h5OworI2VuZGlmCiAKICAgICBXZWJDb3JlOjpM
YXlvdXRSZWN0IG1fdmlkZW9Db250ZW50Qm94UmVjdDsKICAgICBmbG9hdCBtX3ZpZGVvQ29udGVu
dFNjYWxlIHsgMS4wIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDY5
NmEwZGEyNGQ3NmU1YWU3NDVmODIxYTUxYTg0MDE4ZjY1NWYxOTIuLmEyODg2MThmOTllNGY1NTg4
OWViZDllMzQwZmM3NzQ0ZjU2OTk3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0yNyw2ICsyNyw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkg
Tm90UmVmQ291bnRlZCB7CiAgICAgUHJlcGFyZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUs
IGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpQcmVsb2FkIHByZWxvYWQs
IGJvb2wgcHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFyZUZvclJlbmRlcmluZywgZmxvYXQgdmlk
ZW9Db250ZW50U2NhbGUpIC0+IChPcHRpb25hbDxXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJ
RD4gaW5saW5lTGF5ZXJIb3N0aW5nQ29udGV4dElkKSBBc3luYwogCiAgICAgTG9hZChVUkwgdXJs
LCBPcHRpb25hbDxXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gc2FuZGJveEV4dGVu
c2lvbiwgV2ViQ29yZTo6Q29udGVudFR5cGUgY29udGVudFR5cGUsIFN0cmluZyBrZXlTeXN0ZW0p
IC0+IChzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gcGxheWVy
Q29uZmlndXJhdGlvbikgQXN5bmMKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIExvYWRN
ZWRpYVNvdXJjZShVUkwgdXJsLCBXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBt
ZWRpYVNvdXJjZUlkZW50aWZpZXIpIFN5bmNocm9ub3VzCisjZW5kaWYKICAgICBDYW5jZWxMb2Fk
KCkKIAogICAgIFByZXBhcmVUb1BsYXkoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0
ZmQ5ZjhmZDI0NGI5NzA2YzQyOTNhZmU2MDEzYjgxZWUyM2UwNjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5j
cHAKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5o
IgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9Db250ZW50VHlwZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1Jl
bW90ZU1lZGlhU291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAg
ICAsIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uVG9XZWJQcm9jZXNzKQorewor
ICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKK30KKworUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eTo6flJlbW90ZU1lZGlhU291cmNlUHJveHkoKQoreworICAgIG1fY29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOworfQorCit2b2lkIFJlbW90ZU1lZGlhU291
cmNlUHJveHk6OnNldFByaXZhdGVBbmRPcGVuKFJlZjxNZWRpYVNvdXJjZVByaXZhdGU+JiYgbWVk
aWFTb3VyY2VQcml2YXRlKQoreworICAgIEFTU0VSVCghbV9wcml2YXRlKTsKKyAgICBtX3ByaXZh
dGUgPSBXVEZNb3ZlKG1lZGlhU291cmNlUHJpdmF0ZSk7Cit9CisKK01lZGlhVGltZSBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5OjpkdXJhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgfTsKK30K
Kworc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gUmVtb3RlTWVkaWFTb3VyY2VQ
cm94eTo6YnVmZmVyZWQoKSBjb25zdAoreworICAgIHJldHVybiBtYWtlVW5pcXVlPFBsYXRmb3Jt
VGltZVJhbmdlcz4oKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpzZWVrVG9U
aW1lKGNvbnN0IE1lZGlhVGltZSYpCit7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94
eTo6bW9uaXRvclNvdXJjZUJ1ZmZlcnMoKQoreworfQorCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECit2b2lkIFJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldExvZ0lkZW50aWZpZXIoY29uc3Qg
dm9pZCopCit7Cit9CisjZW5kaWYKKwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpmYWls
ZWRUb0NyZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkKK3sKK30KKwordm9pZCBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5OjphZGRTb3VyY2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUm
IGNvbnRlbnRUeXBlLCBBZGRTb3VyY2VCdWZmZXJDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAg
IFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOworICAgIE1l
ZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cyA9IG1fcHJpdmF0ZS0+YWRkU291cmNl
QnVmZmVyKGNvbnRlbnRUeXBlLCBzb3VyY2VCdWZmZXJQcml2YXRlKTsKKworICAgIE9wdGlvbmFs
PFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUlkZW50aWZpZXI7Cisg
ICAgaWYgKHN0YXR1cyA9PSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2spIHsKKyAg
ICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKTsKKyAgICAgICAgYXV0byByZW1vdGVTb3VyY2VCdWZmZXJQcm94eSA9IFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUoaWRlbnRpZmllciwgbV9jb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLCBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCkpOworICAgICAgICBtX3Nv
dXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUocmVtb3RlU291cmNlQnVmZmVyUHJveHkpKTsKKyAg
ICAgICAgcmVtb3RlU291cmNlSWRlbnRpZmllciA9IGlkZW50aWZpZXI7CisgICAgfQorCisgICAg
Y2FsbGJhY2soc3RhdHVzLCByZW1vdGVTb3VyY2VJZGVudGlmaWVyKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhU291cmNlUHJveHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmZiZmFmYjIwNDQ3ODMwZDcz
MGMzOGM1NWQ5MTYwMjJjMjNkMzE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaApAQCAtMCwwICsxLDkxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNp
bmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTb3VyY2VQcml2YXRl
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGVDbGllbnQuaD4KKyNpbmNs
dWRlIDx3dGYvTWVkaWFUaW1lLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVz
cGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBEYXRh
UmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBDb250ZW50VHlwZTsK
K2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZTsKK2NsYXNzIFBsYXRmb3JtVGltZVJhbmdlczsKK30K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7
CisKK2NsYXNzIFJlbW90ZU1lZGlhU291cmNlUHJveHkgZmluYWwKKyAgICA6IHB1YmxpYyBXZWJD
b3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQKKyAgICAsIHByaXZhdGUgSVBDOjpNZXNzYWdl
UmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFJl
bW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+UmVtb3RlTWVkaWFTb3VyY2VQcm94
eSgpOworCisgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50IG92ZXJyaWRlcworICAgIHZv
aWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVmPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4mJikg
ZmluYWw7CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uKCkgY29uc3QgZmluYWw7CisgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBm
aW5hbDsKKyAgICB2b2lkIHNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJikgZmluYWw7CisgICAg
dm9pZCBtb25pdG9yU291cmNlQnVmZmVycygpIGZpbmFsOworCisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgdm9pZCBzZXRMb2dJZGVudGlmaWVyKGNvbnN0IHZvaWQqKSBmaW5hbDsKKyNl
bmRpZgorCisgICAgdm9pZCBmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKFJlbmRlcmVyVHlwZSkgZmlu
YWw7CisKK3ByaXZhdGU6CisgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICAvLyB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFs
OworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+JikgZmluYWw7CisKKyAgICB1
c2luZyBBZGRTb3VyY2VCdWZmZXJDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
Q29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMsIE9wdGlvbmFsPFJlbW90ZVNvdXJj
ZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpPjsKKyAgICB2
b2lkIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYsIEFkZFNvdXJj
ZUJ1ZmZlckNhbGxiYWNrJiYpOworCisgICAgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1f
aWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZT4gbV9w
cml2YXRlOworICAgIFZlY3RvcjxSZWZQdHI8UmVtb3RlU291cmNlQnVmZmVyUHJveHk+PiBtX3Nv
dXJjZUJ1ZmZlcnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNl
UHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E2Yjc1MmQ3NzA2MGRlY2NiOWRjM2JjNzk2
NDg5ZjRlYzkyMGRhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQorCittZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5IE5vdFJlZkNvdW50
ZWQgeworICAgIEFkZFNvdXJjZUJ1ZmZlcihXZWJDb3JlOjpDb250ZW50VHlwZSBjb250ZW50VHlw
ZSkgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1
cyBzdGF0dXMsIE9wdGlvbmFsPFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcj4g
cmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcikgU3luY2hyb25vdXMKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVm
ZmVySWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGJmY2ExNjEyYjVkNzk0OWVhMGEx
OTVkZTU1ZjVjOTU3OTI3MDY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaApAQCAtMCwwICsxLDM5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRlbnRpZmll
ci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBSZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyID0gT2Jq
ZWN0SWRlbnRpZmllcjxSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyVHlwZT47CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjNkNTU5Zjk0NjVlMDM4YTkwNmRlMjgyYjg2NjAxMTJmN2JjZjQxZWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuY3BwCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgiCisKKyNpZiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJDb25uZWN0aW9u
LmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
TWVzc2FnZXMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCitSZWY8UmVtb3RlU291cmNlQnVmZmVyUHJveHk+IFJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5OjpjcmVhdGUoUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciBpZGVudGlmaWVyLCBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBSZWY8U291cmNl
QnVmZmVyUHJpdmF0ZT4mJiBzb3VyY2VCdWZmZXJQcml2YXRlKQoreworICAgIGF1dG8gcmVtb3Rl
U291cmNlQnVmZmVyUHJveHkgPSBhZG9wdFJlZigqbmV3IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
KGlkZW50aWZpZXIsIGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFdURk1vdmUoc291cmNlQnVmZmVy
UHJpdmF0ZSkpKTsKKyAgICByZXR1cm4gcmVtb3RlU291cmNlQnVmZmVyUHJveHk7Cit9CisKK1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eShSZW1vdGVTb3Vy
Y2VCdWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlPiYmIHNvdXJj
ZUJ1ZmZlclByaXZhdGUpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1f
Y29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uVG9XZWJQcm9jZXNzKQorICAgICwgbV9z
b3VyY2VCdWZmZXJQcml2YXRlKFdURk1vdmUoc291cmNlQnVmZmVyUHJpdmF0ZSkpCit7CisgICAg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKKyAgICBtX3NvdXJjZUJ1
ZmZlclByaXZhdGUtPnNldENsaWVudCh0aGlzKTsKK30KKworUmVtb3RlU291cmNlQnVmZmVyUHJv
eHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSgpCit7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVu
dGlmaWVyLnRvVUludDY0KCkpOworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpz
b3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJ
bml0aWFsaXphdGlvblNlZ21lbnQmKQoreworfQorCit2b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShXZWJDb3JlOjpNZWRpYVNh
bXBsZSYpCit7Cit9CisKK2Jvb2wgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZl
clByaXZhdGVIYXNBdWRpbygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29s
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzVmlkZW8oKSBj
b25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZVJlZW5xdWVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcm
IHRyYWNrSUQpCit7Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVEaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcm
IHRyYWNrSUQpCit7Cit9CisKK01lZGlhVGltZSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291
cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRpbWUm
LCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKQoreworICAgIHJldHVybiB7IH07
Cit9CisKK3ZvaWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVB
cHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBw
ZW5kUmVzdWx0KQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZENvbXBsZXRlKGFwcGVuZFJlc3VsdCksIG1faWRlbnRpZmllcik7Cit9CisKK3Zv
aWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZl
UmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkKK3sKK30KKwordm9pZCBSZW1vdGVTb3VyY2VC
dWZmZXJQcm94eTo6YXBwZW5kKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3sKKyAg
ICBtX3NvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZChkYXRhLnZlY3RvcigpKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MGMwY2UxYzI3
YjYwOGRjOTdhYWZhNTE4NjM2MTg4MGMzYWY0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaApAQCAtMCww
ICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAi
UmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNl
QnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29k
ZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFz
cyBNZWRpYVNhbXBsZTsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5IGZpbmFsCisgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxSZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eT4KKyAgICAsIHB1YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRl
Q2xpZW50CisgICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFJlbW90ZVNvdXJjZUJ1
ZmZlclByb3h5PiBjcmVhdGUoUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlPiYmKTsK
KyAgICB2aXJ0dWFsIH5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSgpOworCisgICAgdm9pZCBzb3Vy
Y2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0
aWFsaXphdGlvblNlZ21lbnQmKSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVE
aWRSZWNlaXZlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgYm9vbCBz
b3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNvdXJj
ZUJ1ZmZlclByaXZhdGVIYXNWaWRlbygpIGNvbnN0IGZpbmFsOworCisgICAgdm9pZCBzb3VyY2VC
dWZmZXJQcml2YXRlUmVlbnF1ZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmlu
YWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlRGlkQmVjb21lUmVhZHlGb3JNb3JlU2Ft
cGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKworICAgIE1lZGlhVGltZSBz
b3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFUaW1lKGNvbnN0IE1lZGlhVGlt
ZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYpIGZpbmFsOworCisgICAgdm9p
ZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoV2ViQ29yZTo6U291cmNlQnVmZmVy
UHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5nRXJyb3IoaW50IGVycm9yQ29kZSkgZmluYWw7CisK
K3ByaXZhdGU6CisgICAgUmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllciwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIFJlZjxXZWJDb3JlOjpTb3Vy
Y2VCdWZmZXJQcml2YXRlPiYmKTsKKworICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBm
aW5hbDsKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpIGZpbmFsOwor
CisgICAgdm9pZCBhcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CisKKyAgICBSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVmPFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fc291cmNlQnVmZmVyUHJpdmF0ZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFC
TEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEwOGZmMDFkYTMwZDA2N2I5ZTQxZmI1YTExM2U3YmE0M2ZlMGUwMTcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVm
ZmVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21lc3NhZ2VzIC0+
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFwcGVuZChJUEM6
OkRhdGFSZWZlcmVuY2UgZGF0YSkKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAppbmRleCA5NzdmOTNmZjVjM2MyYjgxNzg0NmM5YTlh
NzU1MTc4OWM4ZWZlMDVjLi42MWI4OTBkYzc4NjdjMzNiMDA1ZjIyZTkzYmIxYWY0N2RkZDNiMTdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzcy5oIgogI2luY2x1ZGUg
IlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIgogI2luY2x1ZGUgIlJlbW90ZVNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQppbmRleCA5NzA4NzY0OTVmYjFhY2M5MDRjMWVhMjUwNjkwOTNiMjAw
ZWIyNTVhLi41NzNlZDNkOGVlOWJiZjQxMDMxNjhlNzlhMDU3ZjlkYmRiOWI4Njk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI1OSw2ICsyNTksOCBAQCBk
ZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnV2Vi
S2l0OjpSZW1vdGVMZWdhY3lDRE1JZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UmVtb3Rl
TGVnYWN5Q0RNU2Vzc2lvbklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSZW1vdGVNZWRp
YVJlc291cmNlSWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
SWRlbnRpZmllcicsCisgICAgICAgICdXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXInLAogICAgICAgICAnV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcicsCiAgICAg
ICAgICdXZWJLaXQ6OlJUQ0RlY29kZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UlRD
RW5jb2RlcklkZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggNTAzNzlmMmZmYTgzMzc0YzE0ZDE3
ZDdiYzllYzMwNjA2N2UxMzc2Mi4uMDkxN2YwMWJlMWM5ZjhjYWEyYWJmN2YwZjg5MGY4OTVhM2Yy
ZWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXMudHh0CkBAIC00Miw2ICs0Miw4IEBAIEdQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNv
dXJjZS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAK
IEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwCitHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwCitHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVUZXh0VHJh
Y2tQcm94eS5jcHAKIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlVmlkZW9UcmFja1Byb3h5LmNwcAog
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3Bw
CkBAIC01NzAsNiArNTcyLDcgQEAgV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3Vy
Y2VDYWNoZVByb3h5LmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvQXVkaW9UcmFja1ByaXZhdGVS
ZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
Y3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuY3BwCiBX
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkuY3BwCiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVDRE0uY3BwCkBAIC01ODIsNiArNTg1LDcgQEAgV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbi5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgQG5vLXVuaWZ5CiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwCitXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVGV4dFRyYWNrUHJp
dmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1ZpZGVvVHJhY2tQcml2YXRlUmVt
b3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvV2ViTWVkaWFTdHJhdGVneS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUzMzg0
N2FlMTZhY2M5OWE3Mzk0MzQ3NDRkOGEzZGY2YzI4Y2FiZmMuLjc2N2Y1MGNhMTZlM2MwNDIzNzZj
MjY1MzVjMjBhNGRjMmQ2M2ZhNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDIxLDYgKzQyMSwxMyBAQAogCQkxRDRENzM3NjIzQTlF
RDE4MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFENEQ3Mzc1
MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oICovOyB9OwogCQkxREIwMTk0MzIxMUNGMDAyMDA5RkIzRTggLyogV0tTaGFyZVNoZWV0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREUwRDA5
NTIxMUNDMjEzMDA0MzlCNUYgLyogV0tTaGFyZVNoZWV0LmggKi87IH07CiAJCTFEQjAxOTQ0MjEx
Q0YwMDUwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREJCQjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyogV0tTaGFy
ZVNoZWV0Lm1tICovOyB9OworCQkxREQyQTY2MzI1NjEyNDZGMDBGRjdCNkYgLyogUmVtb3RlTWVk
aWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjZFMjU2
MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2
QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwICovOyB9OworCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyogU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjg1
MjU2MzNDNjcwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYwMjU2MTIy
RjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLzsgfTsKKwkJ
MUREMkE2ODYyNTYzM0M3MjAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJB
NjY5MjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmgg
Ki87IH07CisJCTFERDJBNjg3MjU2MzNDODcwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eU1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUREMkE2NkEyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi87IH07CisJCTFERDJBNjg4MjU2MzNDOTUwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2MTI1NjEyMkYxMDBGRjdC
NkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovOyB9OwogCQkx
RjMzNUJDMDE4NUI4NEYwMDAxQTIwMUEgLyogV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjMzNUJC
RjE4NUI4NEQ4MDAxQTIwMUEgLyogV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUY2MDRCQUEx
ODg5RkJCODAwRUUwMzk1IC8qIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGNjA0QkE3MTg4
OUZBNzQwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0ludGVybmFsLmggKi87
IH07CiAJCTFGNzUwNkIxMTg1OTE2MzcwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFt
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgx
NjkxODU4REMxNTAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTI4MTQsNiArMjgyMSwy
OCBAQAogCQkxREE0MDg5NDIzQTgwQTNFMDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1h
bmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURBNDA4OUUyM0E4Mjc3ODAwNThDOTUwIC8qIFJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURC
QkIwNjEyMTFDQzNDQjAwNTAyRUNDIC8qIFdLU2hhcmVTaGVldC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLU2hhcmVTaGVldC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUREMkE2MzYyNTVERTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUuY3BwOyBwYXRoID0gL1ZvbHVtZXMvRGF0YS93ZWJraXQvT3BlblNvdXJjZS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTFERDJBNjM3MjU1REU2NzUwMEZGN0I2RiAv
KiBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjM5MjU1
REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMUREMkE2M0EyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAv
KiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhU291
cmNlUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2M0YyNTVFM0Yx
RjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTFERDJBNjQyMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxREQyQTY0MzI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNl
QnVmZmVyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlU291cmNlQnVmZmVyUHJv
eHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY0NjI1NUYzMkIxMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxREQyQTY0QTI1NjBGNTRDMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5tZXNz
YWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTY2MDI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJlbW90ZU1lZGlhU291
cmNlUHJveHlNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKKwkJMUREMkE2NjEyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJv
eHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94
eU1lc3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CisJCTFERDJBNjYyMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlbW90ZU1l
ZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNl
VHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NjYyNTYxRUQwNDAwRkY3QjZG
IC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
REQyQTY2ODI1NjFGNjg0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjY5MjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2QTI1NjIwMjFFMDBGRjdCNkYgLyog
UmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMu
aDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlN
ZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJ
MUREMkE2NkIyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2RjI1NjIyRjExMDBG
RjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxREQyQTY3MTI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlTWVzc2FnZXNSZXBsaWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1Nv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJlZSA9IEJV
SUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NzIyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVj
ZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY3
MzI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJMURFMDc2RDkyNDYw
Q0NCRDAwQjIxMUU4IC8qIFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0NvY29hLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzQ29jb2EubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBX
S1NoYXJlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tTaGFyZVNo
ZWV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFERTJERkFDMjNBOTU5RjgwMDNF
MDEzQSAvKiBSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNTYzMyw2ICs1NjYyLDggQEAKIAkJCQkwNzkyMzEzMTIzOUIzQjBDMDA5NTk4RTIgLyog
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCAqLywKIAkJCQkwNzkyMzEzMjIzOUIzQjBDMDA5
NTk4RTIgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggKi8sCiAJCQkJMDdCMUQwNEIyM0Qz
OEZDRTAwMzk5QTZFIC8qIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLywK
KwkJCQkxREQyQTYzNjI1NURFNjc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcCAqLywKKwkJCQkxREQyQTYzNzI1NURFNjc1MDBGRjdCNkYgLyogTWVkaWFTb3VyY2VQcml2
YXRlUmVtb3RlLmggKi8sCiAJCQkJOUI1QkVDMjkyNDAxMDE1ODAwNzBDNkVGIC8qIFJlbW90ZUF1
ZGlvRGVzdGluYXRpb25Qcm94eS5jcHAgKi8sCiAJCQkJOUI1QkVDMjgyNDAxMDE1ODAwNzBDNkVG
IC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5oICovLAogCQkJCTlCNUJFQzJFMjQwMTAx
OEMwMDcwQzZFRiAvKiBSZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkubWVzc2FnZXMuaW4gKi8s
CkBAIC01Njc3LDYgKzU3MDgsMTAgQEAKIAkJCQkwN0IzQjQ2RjIzQUIyQ0IzMDBCQTVCMTIgLyog
UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oICovLAogCQkJCTFEMzJGODlEMjNBODRDNUIwMEIxRUE2
QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlUHJveHkuY3BwICovLAogCQkJCTFEMzJGODlCMjNBODRC
QTYwMEIxRUE2QSAvKiBSZW1vdGVNZWRpYVJlc291cmNlUHJveHkuaCAqLywKKwkJCQkxREQyQTY0
NjI1NUYzMkIxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggKi8sCisJ
CQkJMUREMkE2M0EyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUu
Y3BwICovLAorCQkJCTFERDJBNjM5MjU1REU2RDEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmggKi8sCisJCQkJMUREMkE2NkYyNTYyMkYxMTAwRkY3QjZGIC8qIFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gKi8sCiAJCQkJMDdFMTlGMDgyM0Q1MzNCOTAw
OTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGUuY3BwICovLAogCQkJCTA3RTE5RjA5MjNE
NTMzQkEwMDk0RkZCNCAvKiBUZXh0VHJhY2tQcml2YXRlUmVtb3RlLmggKi8sCiAJCQkJMURGREQw
RTIyM0Y2MTBGMDAwRTlCNDkwIC8qIFZpZGVvTGF5ZXJSZW1vdGUuaCAqLywKQEAgLTU3NDEsNiAr
NTc3NiwxMyBAQAogCQkJCTFEQTQwODlFMjNBODI3NzgwMDU4Qzk1MCAvKiBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5jcHAgKi8sCiAJCQkJMURBNDA4OTQyM0E4MEEzRTAwNThDOTUwIC8qIFJl
bW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmggKi8sCiAJCQkJMUQzMkY4QTYyM0E4NjAxOTAwQjFF
QTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLm1lc3NhZ2VzLmluICovLAorCQkJCTFE
RDJBNjNGMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcCAqLywK
KwkJCQkxREQyQTYzRTI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5o
ICovLAorCQkJCTFERDJBNjRBMjU2MEY1NEMwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVBy
b3h5Lm1lc3NhZ2VzLmluICovLAorCQkJCTFERDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmggKi8sCisJCQkJMUREMkE2NDMyNTVFM0YzRDAwRkY3
QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmNwcCAqLywKKwkJCQkxREQyQTY0MjI1NUUz
RjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCAqLywKKwkJCQkxREQyQTY2
NjI1NjFFRDA0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4g
Ki8sCiAJCQkJMDdFMTlGMDcyM0Q0REM4ODAwOTRGRkI0IC8qIFJlbW90ZVRleHRUcmFja1Byb3h5
LmNwcCAqLywKIAkJCQkwN0UxOUYwNjIzRDREQzg4MDA5NEZGQjQgLyogUmVtb3RlVGV4dFRyYWNr
UHJveHkuaCAqLywKIAkJCQkwNzFCQzU4NDIzQ0MyQzA5MDA2ODBEN0MgLyogUmVtb3RlVmlkZW9U
cmFja1Byb3h5LmNwcCAqLywKQEAgLTEwMzQ2LDEwICsxMDM4OCwxNiBAQAogCQkJCTFENEQ3MzZC
MjNBOURGNTUwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJMUQ0RDczNkMyM0E5REY2MDAwNzE3QTI1IC8qIFJlbW90ZU1lZGlh
UmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQkxRDRENzM3NTIzQTlFQjY4MDA3MTdB
MjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlc1JlcGxpZXMuaCAqLywKKwkJ
CQkxREQyQTY2MjI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90
ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjYxMjU2MTIyRjEwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJCQkJ
MUFDMTMzODMxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLywKIAkJCQkxQUMxMzM4NDE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2Jq
ZWN0UmVnaXN0cnlNZXNzYWdlcy5oICovLAogCQkJCTBGNTk0N0E1MTg3QjUxNzYwMDQzNzg1NyAv
KiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
MEY1OTQ3QTYxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVz
c2FnZXMuaCAqLywKKwkJCQkxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNl
QnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTFERDJBNjY5MjU2MjAyMUUw
MEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJMURE
MkE2NkEyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNS
ZXBsaWVzLmggKi8sCiAJCQkJQTU1QkE4MjExQkEyNUJCODAwN0NEMzNEIC8qIFJlbW90ZVdlYklu
c3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlBNTVCQTgyMjFCQTI1QkI4
MDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTFC
QkJFNDlFMTlCNjZDNTMwMDZCN0Q4MSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCkBAIC0xMDM1Nyw2ICsxMDQwNSw5IEBACiAJCQkJRTE4RTY5MTQxNjlCNjY3
QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTJERTY5NDNC
MThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLywKIAkJCQkyREU2OTQzQzE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWdu
aWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2NzIyNTYyMzI0RjAw
RkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlUmVjZWl2ZXIuY3BwICov
LAorCQkJCTFERDJBNjczMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlTWVzc2FnZXMuaCAqLywKKwkJCQkxREQyQTY3MTI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oICovLAogCQkJCTkzRDZCNzgxMjU0
Q0NBQkMwMDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJOTNENkI3ODAyNTRDQ0FCQzAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9u
U2VydmVyTWVzc2FnZXMuaCAqLywKIAkJCQk5M0Q2Qjc3RjI1NENDQUJCMDA1OEREM0EgLyogU3Bl
ZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlc1JlcGxpZXMuaCAqLywKQEAgLTExMzQ1LDYgKzEx
Mzk2LDggQEAKIAkJCQkwNzFCQzU5MTIzQ0UxRUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQ0RDczNzEyM0E5
RTU2MjAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFENEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUREMkE2
ODUyNTYzM0M2NzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMUREMkE2ODgyNTYzM0M5NTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlh
U291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQjc4NDcx
MTYzRjI0NjkwMDA3QjY5MiAvKiBSZW1vdGVOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUE1NzA0RkMxQkUxNzUxMTAwODc0QUYxIC8qIFJlbW90ZU9iamVjdEludm9jYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQzEzMzgwMTg1OTBBRTQwMEYzRUMwNSAvKiBSZW1v
dGVPYmplY3RSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTM1NCw2ICsxMTQwNyw4IEBA
CiAJCQkJMEY1OTQ3OUIxODdCM0I2MDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTk0N0E0MTg3QjNCN0QwMDQzNzg1NyAv
KiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRjU5NDc5RDE4N0IzQjYwMDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nVHJlZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMUREMkE2ODYyNTYzM0M3MjAwRkY3QjZGIC8qIFJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTFERDJBNjg3MjU2MzND
ODcwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTU1QkE4MUYxQkEyNUIyNzAwN0NEMzNEIC8qIFJlbW90ZVdlYklu
c3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgyNTFCQTI1Q0ZCMDA3Q0Qz
M0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTU1QkE4MTcxQkEyM0UxMjAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJLmggaW4g
SGVhZGVycyAqLywKQEAgLTEzMTQwLDggKzEzMTk1LDEwIEBACiAJCQkJMDcwMTc4OUUyM0JFOUNG
QzAwNUYwRkFBIC8qIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwNzFCQzU4RjIzQ0UxRUFBMDA2ODBEN0MgLyogUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxRDRENzM3MDIzQTlF
NTQ3MDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUREMkE2NjMyNTYxMjQ2RjAwRkY3QjZGIC8qIFJlbW90
ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUFDMTMzODUxODU5MEM0NjAwRjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNTk0N0E3MTg3QjUxNzYwMDQzNzg1NyAv
KiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkxREQyQTY2RTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVy
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MjYxQkEy
NUNGRDAwN0NEMzNEIC8qIFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFCQkJFNEEwMTlCNjZDNTMwMDZCN0Q4MSAvKiBSZW1vdGVX
ZWJJbnNwZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMThF
NjkxNzE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTEzMTUyLDYgKzEzMjA5LDcgQEAKIAkJCQlBMUFEQUZCNjIz
NjhFNkE4MDA5Q0I3NzYgLyogU2hhcmVkTWVtb3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3
NUIxQkI5MjNDRTlDMEIwMDIwNjM5QSAvKiBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkRFNjk0M0QxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlm
aWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MUREMkE2NzQyNTYyMzJBMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNENkI3ODIyNTRDQ0NGNDAwNThE
RDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBMzM0REVEMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzY4RUVERTIzMDNBOTAyMDBC
REIxMUEgLyogU3RvcmFnZU1hbmFnZXJTZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggZTA5YWYwZGMzMmJiMWJiYTVl
YmQ4NmU0ZGMwNjcwYTAyZmY3Y2Q5Yi4uMzcwNjBiMjdjM2I0ODdmNDZkYWEyODcxNjVmYmNhYzI2
YzQ2MGVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNzEsNiArNzEsMTAg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0xlZ2FjeUNETS5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
TUVESUFfU09VUkNFKQorI2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oIgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
IGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlhOwpAQCAtMTQ4LDcgKzE1Miw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwcmVwYXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRl
TW9kZSwgTWVkaWFQbGF5ZXI6CiAgICAgfSwgbV9pZCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0pCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBVUkwmIHVybCwg
Y29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkK
IHsKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNp
b25IYW5kbGU7CiAgICAgaWYgKHVybC5pc0xvY2FsRmlsZSgpKSB7CkBAIC02MjQsMTUgKzYyOCwy
MSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVtb3RlVmlkZW9UcmFja0NvbmZp
Z3VyYXRpb25DaGFuZ2VkKFRyYWNrUHJpdmF0ZQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJD
RSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1l
ZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
bG9hZChjb25zdCBVUkwmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB7
Ci0gICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRo
aXNdIHsKLSAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICBp
ZiAobV9yZW1vdGVFbmdpbmVJZGVudGlmaWVyID09IE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5n
aW5lSWRlbnRpZmllcjo6QVZGb3VuZGF0aW9uTVNFKSB7CisgICAgICAgIGF1dG8gaWRlbnRpZmll
ciA9IFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkxvYWRNZWRp
YVNvdXJjZSh1cmwsIGlkZW50aWZpZXIpLCBtX2lkKTsKKyAgICAgICAgbV9tZWRpYVNvdXJjZVBy
aXZhdGUgPSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmNyZWF0ZShtX21hbmFnZXIuZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24oKSwgaWRlbnRpZmllciwgbV9tYW5hZ2VyLnR5cGVDYWNoZShtX3JlbW90
ZUVuZ2luZUlkZW50aWZpZXIpLCAqdGhpcywgY2xpZW50KTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgdGhpc10g
eworICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgbV9jYWNoZWRTdGF0ZS5uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29y
a1N0YXRlOjpGb3JtYXRFcnJvcjsKLSAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5n
ZWQoKTsKLSAgICB9KTsKKyAgICAgICAgICAgIG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlID0g
TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7CisgICAgICAgICAgICBtX3Bs
YXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOworICAgICAgICB9KTsKKyAgICB9CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggZjM2MzcyNTA5ZWE5ZTRmOGUxYTdk
OGY3ZjUyNzYzYzM0ZjExZTRhMC4uZmRiMDFhMjk1YTNjNjdhMDc2OTc3MWJlNjFiMTMwM2U3ZWQw
ODdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC00Myw2ICs0MywxMCBAQAogI2lu
Y2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUu
aCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIE1hY2hTZW5kUmlnaHQ7CiB9CkBA
IC04OCw2ICs5Miw4IEBAIHB1YmxpYzoKICAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24o
KSBjb25zdCB7IHJldHVybiBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0
aW9uKCk7IH0KICAgICBXZWJDb3JlOjpNZWRpYVBsYXllciogcGxheWVyKCkgY29uc3QgeyByZXR1
cm4gbV9wbGF5ZXI7IH0KIAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJl
YWR5U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NhY2hlZFN0YXRlLnJlYWR5U3RhdGU7
IH0KKwogICAgIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRl
JiYpOwogICAgIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYm
KTsKICAgICB2b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKTsKQEAgLTE1NCw2ICsxNjAsMTEgQEAg
cHVibGljOgogICAgIHZvaWQgZ2V0UmF3Q29va2llcyhjb25zdCBVUkwmLCBXZWJDb3JlOjpNZWRp
YVBsYXllckNsaWVudDo6R2V0UmF3Q29va2llc0NhbGxiYWNrJiYpIGNvbnN0OwogI2VuZGlmCiAK
KyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxv
Z0lkZW50aWZpZXIoKSB7IHJldHVybiBsb2dJZGVudGlmaWVyKCk7IH0KKyAgICBjb25zdCBMb2dn
ZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgeyByZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgorCiBw
cml2YXRlOgogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECkBAIC0xNzAsNyArMTgxLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBX
ZWJDb3JlOjpNZWRpYVBsYXllcjo6UHJlbG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBw
cmVwYXJlKSBmaW5hbDsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBsb2Fk
KGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFs
OworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVD
bGllbnQqKSBmaW5hbDsKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9p
ZCBsb2FkKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZSYpIGZpbmFsOwpAQCAtMjUwLDcgKzI2
MSw2IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1pbkZhc3RSZXZlcnNlUmF0ZSgpIGNvbnN0IGZp
bmFsOwogCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBuZXR3b3JrU3Rh
dGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NhY2hlZFN0YXRlLm5ldHdvcmtTdGF0ZTsgfQot
ICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2NhY2hlZFN0YXRlLnJlYWR5U3RhdGU7IH0KIAogICAgIE1lZGlhVGlt
ZSBtYXhNZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0IGZpbmFsOwogICAgIE1lZGlhVGltZSBtaW5N
ZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0IGZpbmFsOwpAQCAtMzg0LDYgKzM5NCwxMCBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxSZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyPiBtX2F1ZGlvU291cmNl
UHJvdmlkZXI7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRy
PE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4gbV9tZWRpYVNvdXJjZVByaXZhdGU7CisjZW5kaWYK
KwogICAgIEhhc2hNYXA8UmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2U+PiBtX21lZGlhUmVzb3VyY2VzOwogICAgIEhhc2hN
YXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPEF1ZGlvVHJhY2tQcml2YXRlUmVt
b3RlPj4gbV9hdWRpb1RyYWNrczsKICAgICBIYXNoTWFwPFRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50
aWZpZXIsIFJlZjxWaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZT4+IG1fdmlkZW9UcmFja3M7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZhZTE3MTk0YzljNWVhZjFkMDli
NGIxMTVkMjg3ZDk5OGU2MzBlMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcApAQCAtMCwwICsx
LDE0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUuaCIKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJNZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgiCisj
aW5jbHVkZSAiU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgPHd0Zi9PcHRp
b25hbC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKKyNlbmRpZgorfQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxNZWRpYVNvdXJjZVBy
aXZhdGVSZW1vdGU+IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKEdQVVByb2Nlc3ND
b25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlm
aWVyIGlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgbWltZVR5cGVD
YWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiBwbGF5ZXJQcml2YXRlLCBNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKK3sKKyAgICBhdXRvIG1lZGlhU291cmNlUHJp
dmF0ZSA9IGFkb3B0UmVmKCpuZXcgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKGdwdVByb2Nlc3ND
b25uZWN0aW9uLCBpZGVudGlmaWVyLCBtaW1lVHlwZUNhY2hlLCBwbGF5ZXJQcml2YXRlLCBjbGll
bnQpKTsKKyAgICBjbGllbnQtPnNldFByaXZhdGVBbmRPcGVuKG1lZGlhU291cmNlUHJpdmF0ZS5j
b3B5UmVmKCkpOworICAgIHJldHVybiBtZWRpYVNvdXJjZVByaXZhdGU7Cit9CisKK01lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZTo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25u
ZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVy
IGlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYgbWltZVR5cGVDYWNo
ZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiBwbGF5ZXJQcml2YXRlLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKKyAgICA6IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24o
Z3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAg
ICAsIG1fbWltZVR5cGVDYWNoZShtaW1lVHlwZUNhY2hlKQorICAgICwgbV9wbGF5ZXJQcml2YXRl
KG1ha2VXZWFrUHRyKHBsYXllclByaXZhdGUpKQorICAgICwgbV9jbGllbnQoY2xpZW50KQorI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIobV9wbGF5ZXJQcml2YXRlLT5t
ZWRpYVBsYXllckxvZ2dlcigpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKG1fcGxheWVyUHJpdmF0
ZS0+bWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKK3sKKyAgICBBTFdBWVNfTE9H
KExPR0lERU5USUZJRVIpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIG1fY2xpZW50
LT5zZXRMb2dJZGVudGlmaWVyKG1fbG9nSWRlbnRpZmllcik7CisjZW5kaWYKK30KKworTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlOjp+TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKCkKK3sKKyAgICBB
TFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworCisgICAgZm9yIChhdXRvIGl0ID0gbV9zb3VyY2VC
dWZmZXJzLmJlZ2luKCksIGVuZCA9IG1fc291cmNlQnVmZmVycy5lbmQoKTsgaXQgIT0gZW5kOyAr
K2l0KQorICAgICAgICAoKml0KS0+Y2xlYXJNZWRpYVNvdXJjZSgpOworfQorCitNZWRpYVNvdXJj
ZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1
ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIFJlZlB0cjxTb3VyY2VCdWZmZXJQ
cml2YXRlPiYgb3V0UHJpdmF0ZSkKK3sKKyAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29u
dGVudFR5cGUpOworCisgICAgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJz
OworICAgIHBhcmFtZXRlcnMuaXNNZWRpYVNvdXJjZSA9IHRydWU7CisgICAgcGFyYW1ldGVycy50
eXBlID0gY29udGVudFR5cGU7CisgICAgaWYgKG1fbWltZVR5cGVDYWNoZS5zdXBwb3J0c1R5cGVB
bmRDb2RlY3MocGFyYW1ldGVycykgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNOb3RT
dXBwb3J0ZWQpCisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKKworICAg
IEFkZFN0YXR1cyBzdGF0dXM7CisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcjsKKyAgICBpZiAoIW1fZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpBZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUpLCBNZXNzYWdlczo6UmVtb3Rl
TWVkaWFTb3VyY2VQcm94eTo6QWRkU291cmNlQnVmZmVyOjpSZXBseShzdGF0dXMsIHJlbW90ZVNv
dXJjZUJ1ZmZlcklkZW50aWZpZXIpLCBtX2lkZW50aWZpZXIpKQorICAgICAgICBzdGF0dXMgPSBB
ZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKKworICAgIGlmIChzdGF0dXMgPT0gQWRkU3RhdHVzOjpP
aykgeworICAgICAgICBBU1NFUlQocmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oYXNWYWx1
ZSgpKTsKKyAgICAgICAgYXV0byBuZXdTb3VyY2VCdWZmZXIgPSBTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpjcmVhdGUobV9ncHVQcm9jZXNzQ29ubmVjdGlvbiwgKnJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXIsICp0aGlzKTsKKyAgICAgICAgb3V0UHJpdmF0ZSA9IG5ld1NvdXJjZUJ1ZmZl
ci5jb3B5UmVmKCk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQoV1RGTW92ZShuZXdT
b3VyY2VCdWZmZXIpKTsKKyAgICB9CisKKyAgICByZXR1cm4gc3RhdHVzOworfQorCit2b2lkIE1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKCkKK3sKK30KKwordm9pZCBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6Om1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1
cykKK3sKK30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3Ry
ZWFtKCkKK3sKK30KKworTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOjpyZWFkeVN0YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wbGF5ZXJQcml2YXRl
ID8gbV9wbGF5ZXJQcml2YXRlLT5yZWFkeVN0YXRlKCkgOiBNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKQoreworfQorCit2b2lkIE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZTo6d2FpdEZvclNlZWtDb21wbGV0ZWQoKQoreworfQorCit2b2lkIE1l
ZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCgpCit7Cit9CisKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlm
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDFjOTQ0MjViNDhiMzk2ZTk2N2M0ZTgyMTRkZmI2ZTUzNWE1NTBiZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlLmgKQEAgLTAsMCArMSw5NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisj
aW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVBs
YXllck1JTUVUeXBlQ2FjaGUuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZp
ZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVNvdXJjZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJp
dmF0ZUNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgor
I2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOworY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTsK
KworY2xhc3MgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlIGZpbmFsCisgICAgOiBwdWJsaWMgV2Vi
Q29yZTo6TWVkaWFTb3VyY2VQcml2YXRlCisgICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlPgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwg
cHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgoreworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBS
ZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNo
ZSYsIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopOworICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgp
OworCisgICAgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVy
biBtX3BsYXllclByaXZhdGUuZ2V0KCk7IH0KKworICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZSBv
dmVycmlkZXMKKyAgICBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNv
bnRlbnRUeXBlJiwgUmVmUHRyPFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JikgZmluYWw7
CisgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKSBmaW5hbDsKKyAgICB2b2lkIG1hcmtFbmRPZlN0
cmVhbShFbmRPZlN0cmVhbVN0YXR1cykgZmluYWw7CisgICAgdm9pZCB1bm1hcmtFbmRPZlN0cmVh
bSgpIGZpbmFsOworICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3Rh
dGUoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUpIGZpbmFsOworICAgIHZvaWQgd2FpdEZvclNlZWtDb21wbGV0ZWQo
KSBmaW5hbDsKKyAgICB2b2lkIHNlZWtDb21wbGV0ZWQoKSBmaW5hbDsKKworI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBjb25zdCB2b2lkKiBuZXh0U291cmNlQnVmZmVy
TG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIGNoaWxkTG9nSWRlbnRpZmllcihtX2xvZ0lkZW50aWZp
ZXIsICsrbV9uZXh0U291cmNlQnVmZmVySUQpOyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRp
YVNvdXJjZUlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCopOworCisgICAgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rp
b247CisgICAgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBS
ZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIG1fbWltZVR5cGVDYWNoZTsKKyAgICBXZWFr
UHRyPE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZT4gbV9wbGF5ZXJQcml2YXRlOworICAgIFJlZlB0
cjxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQ+IG1fY2xpZW50OworICAgIFZlY3Rv
cjxSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4+IG1fc291cmNlQnVmZmVyczsKKwor
I2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUiOyB9Cisg
ICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9n
SWRlbnRpZmllcjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5h
bDsKKworICAgIFJlZjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1f
bG9nSWRlbnRpZmllcjsKKyAgICB1aW50NjRfdCBtX25leHRTb3VyY2VCdWZmZXJJRCB7IDAgfTsK
KyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5o
CmluZGV4IGM2MmM0NjRmZGZkY2Q4YzM1NzU2YjBlMzhkYWQwZjg5MzkwNTg4NjcuLmU2NDUwODRi
Y2Q2MGM0NWNlNzZmM2EwM2NmZDNmNzgzZjE2OTM0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5o
CkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5j
ZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlQ0RNSW5zdGFuY2VDb25maWd1cmF0aW9uLmgKaW5kZXggNjUzMmQ3MmU3Y2U0Yjg1M2YyZDNi
OTM0NTVlMTkyODFjNDE5ZmE0My4uYTg2NTgwYmYxODYzMWJiM2JjODI2YjUzYWYxZjJkNTQ4NmU0
NjI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNlQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsy
Nyw2IEBACiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyLmgKaW5kZXggMWQ2YjNlZTNlOTVlODBhZTg2MGU5NjZiOGM5MjczZDA4NjUzYThhYy4uYTQx
NjlkNWIxYTU2ODhjYmQ2OWM1OWQ4YjhhOWZjMmRhZDViMmNjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlci5oCkBAIC02Niw2ICs2Niw4IEBAIHB1YmxpYzoKIAogICAgIFdlYkNvcmU6Ok1lZGlh
UGxheWVySWRlbnRpZmllciBmaW5kUmVtb3RlUGxheWVySWQoY29uc3QgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlKik7CiAKKyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBl
Q2FjaGUmIHR5cGVDYWNoZShXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlk
ZW50aWZpZXIpOworCiBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2U+IGNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKFdlYkNvcmU6
Ok1lZGlhUGxheWVyKiwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVu
dGlmaWVyKTsKIApAQCAtODMsOCArODUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZWRp
YUNhY2hlKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSk7CiAgICAgdm9pZCBjbGVhck1l
ZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5l
SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwgY29uc3QgSGFzaFNldDxSZWZQdHI8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+PiYpOwogCi0gICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hl
JiB0eXBlQ2FjaGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlm
aWVyKTsKLQogICAgIEhhc2hNYXA8V2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyLCBXZWFr
UHRyPE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZT4+IG1fcGxheWVyczsKICAgICBXZWJQcm9jZXNz
JiBtX3Byb2Nlc3M7CiAgICAgbXV0YWJsZSBHUFVQcm9jZXNzQ29ubmVjdGlvbiogbV9ncHVQcm9j
ZXNzQ29ubmVjdGlvbiB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVjYjY1OTQ2MTAwNjcwNTE3MmUxNjgwNmZlMTczNTU1M2QxMzk0YjMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKKworI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitlbnVtIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllclR5cGUgeyB9OwordXNp
bmcgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVN
ZWRpYVNvdXJjZUlkZW50aWZpZXJUeXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFhMTE2NWQw
ZGE0MmVmNmM4YjYzMzczNzUwZDhkODNjZjAxMjMwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5j
cHAKQEAgLTAsMCArMSwxNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oIgorCisjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgor
I2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgIk1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZXMuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorZXh0ZXJu
IFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7CisjZW5kaWYKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitSZWY8U291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZT4gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKEdQVVByb2Nlc3NDb25uZWN0
aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciBy
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUmIG1lZGlhU291cmNlUHJpdmF0ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlKGdwdVByb2Nlc3NDb25uZWN0aW9uLCByZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyLCBtZWRpYVNvdXJjZVByaXZhdGUpKTsKK30KKworU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShHUFVQcm9jZXNzQ29ubmVj
dGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIg
cmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlJiBtZWRpYVNvdXJjZVByaXZhdGUpCisgICAgOiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uKGdw
dVByb2Nlc3NDb25uZWN0aW9uKQorICAgICwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
KHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpCisgICAgLCBtX21lZGlhU291cmNlUHJpdmF0
ZShtYWtlV2Vha1B0cihtZWRpYVNvdXJjZVByaXZhdGUpKQorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgICwgbV9sb2dnZXIobV9tZWRpYVNvdXJjZVByaXZhdGUtPmxvZ2dlcigpKQorICAg
ICwgbV9sb2dJZGVudGlmaWVyKG1fbWVkaWFTb3VyY2VQcml2YXRlLT5uZXh0U291cmNlQnVmZmVy
TG9nSWRlbnRpZmllcigpKQorI2VuZGlmCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
KTsKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFkZE1l
c3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX3JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50NjQo
KSwgKnRoaXMpOworfQorCitTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjp+U291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZSgpCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyAgICBB
U1NFUlQoIW1fY2xpZW50KTsKKworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZVJl
Y2VpdmVyTWFwKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVtb3RlU291cmNlQnVmZmVy
SWRlbnRpZmllci50b1VJbnQ2NCgpKTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlOjpzZXRDbGllbnQoU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudCogY2xpZW50KQoreworICAg
IG1fY2xpZW50ID0gY2xpZW50OworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6
OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQoreworICAgIG1fZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZl
clByb3h5OjpBcHBlbmQoSVBDOjpEYXRhUmVmZXJlbmNlKGRhdGEpKSwgbV9yZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyKTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjph
Ym9ydCgpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVzZXRQYXJz
ZXJTdGF0ZSgpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVtb3Zl
ZEZyb21NZWRpYVNvdXJjZSgpCit7Cit9CisKK01lZGlhUGxheWVyOjpSZWFkeVN0YXRlIFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlYWR5U3RhdGUoKSBjb25zdAoreworICAgIHJldHVybiBt
X21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5wbGF5ZXIoKS0+cmVh
ZHlTdGF0ZSgpIDogTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldFJlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGUpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Zmx1
c2goY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlUmVtb3RlOjplbnF1ZXVlU2FtcGxlKFJlZjxNZWRpYVNhbXBsZT4mJiwgY29uc3QgQXRv
bVN0cmluZyYgdHJhY2tJRCkKK3sKK30KKworYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
Ojppc1JlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0
QWN0aXZlKGJvb2wpCit7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bm90
aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJ
RCkKK3sKK30KKworYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjYW5TZXRNaW5pbXVt
VXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRN
aW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0IEF0b21TdHJpbmcmLCBjb25zdCBN
ZWRpYVRpbWUmKQoreworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNsZWFy
TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikKK3sKK30K
KworYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjYW5Td2l0Y2hUb1R5cGUoY29uc3Qg
Q29udGVudFR5cGUmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjpzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0IGFwcGVuZFJlc3VsdCkKK3sKKyAgICBp
ZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5k
Q29tcGxldGUoYXBwZW5kUmVzdWx0KTsKK30KKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
V1RGTG9nQ2hhbm5lbCYgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOWEwMWIwNjI1
ZTNiN2M3ZjAxMTg0YTgzYzM2ZTU0OTEyMmYwOWE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLmgK
QEAgLTAsMCArMSwxMTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgIkdQVVBy
b2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVk
ZSAiUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ29u
dGVudFR5cGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU2FtcGxlLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgorI2lu
Y2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247Citj
bGFzcyBEZWNvZGVyOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTsKKworY2xhc3MgU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZSBmaW5hbAorICAgIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU+CisgICAgLCBwdWJsaWMgV2ViQ29yZTo6U291cmNlQnVmZmVy
UHJpdmF0ZQorICAgICwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgoreworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZT4gY3JlYXRlKEdQ
VVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3Qg
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJik7CisgICAgdmlydHVhbCB+U291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZSgpOworCisgICAgdm9pZCBjbGVhck1lZGlhU291cmNlKCkgeyBtX21lZGlhU291
cmNlUHJpdmF0ZSA9IG51bGxwdHI7IH0KKworcHJpdmF0ZToKKyAgICBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiwgUmVtb3RlU291cmNlQnVmZmVySWRlbnRp
ZmllciwgY29uc3QgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlJik7CisKKyAgICAvLyBTb3VyY2VC
dWZmZXJQcml2YXRlIG92ZXJyaWRlcworICAgIHZvaWQgc2V0Q2xpZW50KFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQqKSBmaW5hbDsKKyAgICB2b2lkIGFwcGVuZChWZWN0b3I8dW5z
aWduZWQgY2hhcj4mJikgZmluYWw7CisgICAgdm9pZCBhYm9ydCgpIGZpbmFsOworICAgIHZvaWQg
cmVzZXRQYXJzZXJTdGF0ZSgpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlZEZyb21NZWRpYVNvdXJj
ZSgpIGZpbmFsOworICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3Rh
dGUoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUpIGZpbmFsOworICAgIHZvaWQgZmx1c2goY29uc3QgQXRvbVN0cmlu
ZyYgdHJhY2tJRCkgZmluYWw7CisgICAgdm9pZCBlbnF1ZXVlU2FtcGxlKFJlZjxXZWJDb3JlOjpN
ZWRpYVNhbXBsZT4mJiwgY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7CisgICAgYm9v
bCBpc1JlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYgdHJhY2tJRCkgZmluYWw7
CisgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCkgZmluYWw7CisgICAgdm9pZCBub3RpZnlDbGllbnRX
aGVuUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsK
KyAgICBib29sIGNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRv
bVN0cmluZyYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0TWluaW11bVVwY29taW5nUHJlc2Vu
dGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJiwgY29uc3QgTWVkaWFUaW1lJikgZmluYWw7Cisg
ICAgdm9pZCBjbGVhck1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0
cmluZyYpIGZpbmFsOworICAgIGJvb2wgY2FuU3dpdGNoVG9UeXBlKGNvbnN0IFdlYkNvcmU6OkNv
bnRlbnRUeXBlJikgZmluYWw7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgc291cmNlQnVmZmVyUHJp
dmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFJlc3VsdCk7CisKKyAgICBHUFVQcm9jZXNzQ29ubmVjdGlvbiYgbV9ncHVQcm9jZXNzQ29u
bmVjdGlvbjsKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyIG1fcmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcjsKKyAgICBXZWFrUHRyPE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZT4g
bV9tZWRpYVNvdXJjZVByaXZhdGU7CisgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudCogbV9jbGllbnQgeyBudWxscHRyIH07CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2Vy
LmdldCgpOyB9CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gIlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUiOyB9CisgICAgY29uc3Qgdm9pZCog
bG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQor
ICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCBM
b2dnZXImIHNvdXJjZUJ1ZmZlckxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2Vy
LmdldCgpOyB9CisgICAgY29uc3Qgdm9pZCogc291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpIGZp
bmFsIHsgcmV0dXJuIGxvZ0lkZW50aWZpZXIoKTsgfQorCisgICAgUmVmPGNvbnN0IExvZ2dlcj4g
bV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykg
JiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZS5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTE5ODIxMWNlOTlhYmFkNWI4ZWUwN2ZkNGUxNzdi
ZGZhOTVhNDBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorCittZXNzYWdlcyAtPiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlIE5vdFJl
ZkNvdW50ZWQgeworICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQor
fQorCisjZW5kaWYK
</data>
<flag name="review"
          id="431123"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414304</attachid>
            <date>2020-11-16 20:46:52 -0800</date>
            <delta_ts>2020-11-17 09:25:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218912-20201116204651.patch</filename>
            <type>text/plain</type>
            <size>132920</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmY2RkNWRkODE2YmQ1
MDUwYWVlYWIxMTMwNjI3YzFlNzJiYWY0Ny4uYzFhMGFlMGM0NGM4Yjk2NTdmNTU4NzM2Y2Y4YWI4
NzE0ODIxNTQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIwLTExLTE2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9j
ZXNzXVtNU0VdIEFkZCBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBNU0Ug
dmVyc2lvbiBvZiBNZWRpYVBsYXllcjo6bG9hZCgpIHRoZSBzYW1lIGFzIHRoZSBvbmUgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlCisgICAgICAgIHRvIHN1cHBvcnQgcnVubmluZyBNU0UgTWVkaWFQbGF5
ZXJQcml2YXRlKHMpIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IG5vIGZ1bmN0aW9uYWwgY2hhbmdlIHlldC4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKToKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxh
dGZvcm0vQ29udGVudFR5cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFTb3VyY2VQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpsb2FkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjpsb2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjps
b2FkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQ
aXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1BpcGVsaW5lOjphZGRTb3Vy
Y2VCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRSZWNlaXZlQWxsUGVuZGluZ1NhbXBsZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6YXBwZW5kUGFyc2lu
Z0ZhaWxlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6bG9hZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFTb3VyY2VQcml2YXRlOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmFwcGVuZCk6CisKIDIwMjAtMTEt
MTYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lu
dGVncmF0aW9uXSBSZW1vdmUgaXNMYXN0VGV4dFJ1bk9uTGluZS9pc0xhc3RUZXh0UnVuIGZyb20g
cnVuIGl0ZXJhdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4MmQ4OGY4NGNmNjcxNzRiNzQyNTMzOGU0OWNmZTE0
MmMyNDI4YmUuLjMzZDJmYTNlZTJmZTE2NzUzYThjNTJjNDdhMjAyNTc3NTk3NzMyMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTA0IEBACisyMDIwLTExLTE2ICBQZW5nIExpdSAgPHBlbmcubGl1NkBh
cHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhIEluIEdQVSBQcm9jZXNzXVtNU0VdIEFkZCBpbmZy
YXN0cnVjdHVyZSBuZWVkZWQgdG8gcnVuIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQyBpbiB0aGUgR1BVIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODkxMgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICBBZGQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlL1JlbW90ZU1lZGlhU291
cmNlUHJveHkgYW5kIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUvUmVtb3RlU291cmNlQnVmZmVy
UHJveHksCisgICAgICAgIGFuZCBzZXR1cCBJUEMgY29ubmVjdGlvbnMgZm9yIHRoZW0uCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzU2Vzc2lvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZUxlZ2FjeUNETUZhY3RvcnlQcm94eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6bG9hZE1lZGlhU291cmNlKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojp+UmVtb3RlTWVkaWFTb3VyY2VQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6OnNldFByaXZh
dGVBbmRPcGVuKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZHVy
YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpi
dWZmZXJlZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6
OnNlZWtUb1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNvdXJjZVByb3h5Ojpt
b25pdG9yU291cmNlQnVmZmVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldExvZ0lkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVNv
dXJjZVByb3h5OjpmYWlsZWRUb0NyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VQcm94eTo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaDogQWRkZWQuCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluOiBBZGRlZC4K
KyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVm
ZmVyUHJveHk6On5SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZUluaXRp
YWxpemF0aW9uU2VnbWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlSGFzQXVkaW8g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZUhhc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRl
RGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNv
dXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRmFzdFNlZWtUaW1lRm9yTWVkaWFU
aW1lKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1
ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVJlbmRlcmluZ0Vycm9y
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU291cmNlQnVmZmVyUHJveHk6OmFwcGVuZCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oOiBBZGRl
ZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGU6On5NZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUpOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6Ok1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjptYXJrRW5kT2ZTdHJlYW0pOgorICAg
ICAgICAoV2ViS2l0OjpNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnVubWFya0VuZE9mU3RyZWFt
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpzZXRS
ZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp3
YWl0Rm9yU2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZTo6c2Vla0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhU291cmNlUHJp
dmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRDbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphcHBlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjphYm9ydCk6CisgICAgICAgIChX
ZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnJlc2V0UGFyc2VyU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZW1vdmVkRnJvbU1lZGlh
U291cmNlKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVh
ZHlTdGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjpmbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1v
dGU6OmVucXVldWVTYW1wbGUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VCdWZmZXJQcml2YXRl
UmVtb3RlOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0OjpTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpub3RpZnlDbGllbnRXaGVuUmVhZHlGb3JNb3JlU2FtcGxlcyk6
CisgICAgICAgIChXZWJLaXQ6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNhblNldE1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlOjpzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1l
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Y2xlYXJNaW5p
bXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZTo6Y2FuU3dpdGNoVG9UeXBlKToKKyAgICAgICAgKFdlYktpdDo6U291
cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRl
KToKKyAgICAgICAgKFdlYktpdDo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5l
bCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluOiBBZGRlZC4KKwogMjAyMC0xMS0xNiAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2Vi
RHJpdmVyOiBkbyBub3QgZm9jdXMgdGhlIG1haW4gZnJhbWUgd2hlbiBzd2l0Y2hpbmcgdG8gYSB3
aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGJlYjAwNjBiYWVhNDM5NGEwNTA0Y2NlZDI2N2U2
MjYwMGEzOTZiNzYuLmQ2ZTgwNjZhYzM5ODQyNDEyZmU5NDQ5MjRhNDQzYTg2MTkyZGJlMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZQpAQCAtMTIxMiw2ICsxMjEyLDggQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyRW51
bXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVySWRlbnRpZmllci5oCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKyAgICBwbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVNvdXJjZVByaXZhdGUuaAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFVc2FnZUluZm8u
aAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL05hdGl2ZUltYWdlLmgKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9OYXRpdmVJbWFnZVJlZmVyZW5jZS5oCkBAIC0xMjMzLDYgKzEyMzUsOCBAQCBzZXQoV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUmVu
ZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9SZW5kZXJp
bmdNb2RlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCisgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvU291cmNlQnVmZmVyUHJpdmF0ZS5oCisgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5n
VHJ1bmNhdG9yLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9UYWJTaXplLmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggNzhjMzkzY2ZhYTc4Njk1MjNjNDAxODc1OWVl
NzFlMjFlMTNiZDNmYS4uZmNmZDBjOWQ4YzhiNWJiZjAwNDBiMWE5M2VjNmIxOWEzZDczMjRlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJj
ZS5jcHAKQEAgLTEwODMsMTUgKzEwODMsMTUgQEAgRXhjZXB0aW9uT3I8UmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+PiBNZWRpYVNvdXJjZTo6Y3JlYXRlU291cmNlQnVmZmVyUHJpdmF0ZShjb24KIAog
ICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VCdWZmZXJQcml2YXRlOwogICAg
IHN3aXRjaCAobV9wcml2YXRlLT5hZGRTb3VyY2VCdWZmZXIodHlwZSwgc291cmNlQnVmZmVyUHJp
dmF0ZSkpIHsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6T2s6CisgICAgY2FzZSBNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2s6CiAgICAgICAgIHJldHVybiBzb3VyY2VCdWZm
ZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgY2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6
Ok5vdFN1cHBvcnRlZDoKKyAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpO
b3RTdXBwb3J0ZWQ6CiAgICAgICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwt
bWVkaWEvcmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lk
bC1NZWRpYVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBl
CiAgICAgICAgIC8vIFN0ZXAgMjogSWYgdHlwZSBjb250YWlucyBhIE1JTUUgdHlwZSAuLi4gdGhh
dCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggdGhlIHR5cGVzCiAgICAgICAgIC8vIHNwZWNpZmllZCBm
b3IgdGhlIG90aGVyIFNvdXJjZUJ1ZmZlciBvYmplY3RzIGluIHNvdXJjZUJ1ZmZlcnMsIHRoZW4g
dGhyb3cKICAgICAgICAgLy8gYSBOb3RTdXBwb3J0ZWRFcnJvciBleGNlcHRpb24gYW5kIGFib3J0
IHRoZXNlIHN0ZXBzLgogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJy
b3IgfTsKLSAgICBjYXNlIE1lZGlhU291cmNlUHJpdmF0ZTo6UmVhY2hlZElkTGltaXQ6CisgICAg
Y2FzZSBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6UmVhY2hlZElkTGltaXQ6CiAgICAg
ICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZGVm
YXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRpYVNvdXJjZS1hZGRT
b3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCiAgICAgICAgIC8vIFN0ZXAg
MzogSWYgdGhlIHVzZXIgYWdlbnQgY2FuJ3QgaGFuZGxlIGFueSBtb3JlIFNvdXJjZUJ1ZmZlciBv
YmplY3RzIHRoZW4gdGhyb3cKICAgICAgICAgLy8gYSBRdW90YUV4Y2VlZGVkRXJyb3IgZXhjZXB0
aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA0MjkyNjhkNzYxNzVlOTMyMDBl
YzFmN2YxZDM0ZWQwMTU3MTUxOWMxLi4wY2UyMWRlMTVlZWNhMmEwNWEzNGIyZGYzY2RkYjllOTAz
NWEzMjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Nv
dXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCkBAIC02MzIsNyArNjMyLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlclRpbWVyRmlyZWQoKQogCiAgICAgLy8gMS4gTG9vcCBUb3A6IElmIHRoZSBpbnB1
dCBidWZmZXIgaXMgZW1wdHksIHRoZW4ganVtcCB0byB0aGUgbmVlZCBtb3JlIGRhdGEgc3RlcCBi
ZWxvdy4KICAgICBpZiAoIW1fcGVuZGluZ0FwcGVuZERhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIHNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRTdWNjZWVkZWQpOworICAgICAg
ICBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxldGUoQXBwZW5kUmVzdWx0OjpBcHBlbmRT
dWNjZWVkZWQpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC02NTgsNyArNjU4LDcgQEAg
dm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBl
bmRSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gMi4gSWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlu
cyBieXRlcyB0aGF0IHZpb2xhdGUgdGhlIFNvdXJjZUJ1ZmZlciBieXRlIHN0cmVhbSBmb3JtYXQg
c3BlY2lmaWNhdGlvbiwKICAgICAvLyB0aGVuIHJ1biB0aGUgYXBwZW5kIGVycm9yIGFsZ29yaXRo
bSB3aXRoIHRoZSBkZWNvZGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byB0cnVlIGFuZCBhYm9ydCB0
aGlzIGFsZ29yaXRobS4KLSAgICBpZiAocmVzdWx0ID09IFBhcnNpbmdGYWlsZWQpIHsKKyAgICBp
ZiAocmVzdWx0ID09IEFwcGVuZFJlc3VsdDo6UGFyc2luZ0ZhaWxlZCkgewogICAgICAgICBFUlJP
Ul9MT0coTE9HSURFTlRJRklFUiwgIlBhcnNpbmdGYWlsZWQiKTsKICAgICAgICAgYXBwZW5kRXJy
b3IodHJ1ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIFNvdXJj
ZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKEFwcGVuZFJlc3VsdCBy
ZXN1bHQpCiAKICAgICAvLyBOT1RFOiByZXR1cm4gdG8gU2VjdGlvbiAzLjUuNQogICAgIC8vIDIu
SWYgdGhlIHNlZ21lbnQgcGFyc2VyIGxvb3AgYWxnb3JpdGhtIGluIHRoZSBwcmV2aW91cyBzdGVw
IHdhcyBhYm9ydGVkLCB0aGVuIGFib3J0IHRoaXMgYWxnb3JpdGhtLgotICAgIGlmIChyZXN1bHQg
IT0gQXBwZW5kU3VjY2VlZGVkKQorICAgIGlmIChyZXN1bHQgIT0gQXBwZW5kUmVzdWx0OjpBcHBl
bmRTdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDMuIFNldCB0aGUgdXBkYXRp
bmcgYXR0cmlidXRlIHRvIGZhbHNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEwNDE0OGNhOGYyOGYxZDI5YzBjMjZiMmU1ZWQx
NjQyMDNiYzM2YjIuLjllNzYyMzViZDg3NTkzZTQ0ZTYzMjAxZDljYmE1ZmUwOWI4MzkzZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTQyMjUsOCArNDIyNSw4IEBACiAJCUNENUZGNDlEMjE2MkU0REIwMDRCRDg2RiAvKiBJU09Q
cm90ZWN0aW9uU2NoZW1lSW5mb0JveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q4NzFDNjAxRkI1MkI2NTAwRjBCOTY1IC8qIElTT1Byb3RlY3Rpb25T
Y2hlbWVJbmZvQm94LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q1RkY0OUUyMTYyRTRFODAwNEJEODZGIC8qIElTT09yaWdpbmFsRm9ybWF0Qm94
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDg3MUM2
NzFGQjUyQjY4MDBGMEI5NjUgLyogSVNPT3JpZ2luYWxGb3JtYXRCb3guaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAx
MkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNr
UXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVE
MDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi87IH07Ci0JCUNENjQxRUI0MTgxOEY1
RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291
cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OworCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyog
TWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0Q2
NDFFQjQxODE4RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjQxRUIyMTgxOEY1RUQwMEVF
NEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q3MjBCNEYyMjY4QjUxMzAwMDQ3RkRFIC8qIElTT0Zh
aXJQbGF5U3RyZWFtaW5nUHNzaEJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q3MjBCNDkyMjY4MkM3RjAwMDQ3RkRFIC8qIElTT0ZhaXJQbGF5U3Ry
ZWFtaW5nUHNzaEJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUNEN0QzMzQ0MUM3QTEyM0YwMDA0MTI5MyAvKiBQaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDdE
MzM0MjFDN0ExMjNGMDAwNDEyOTMgLyogUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNEN0QzMzQ4MUM3QTE2
QkYwMDA0MTI5MyAvKiBDb3JlVmlkZW9Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q3RDMzNDYxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVW
aWRlb1NvZnRMaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTQzMDMsNyArNDMwMyw3IEBACiAJCUNEQ0Q0MUU4MUMzRERCMEEwMDk2NUQ5OSAv
KiBQYXJzZWRDb250ZW50UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENEQ0Q0MUU2MUMzRERCMDkwMDk2NUQ5OSAvKiBQYXJzZWRDb250ZW50UmFu
Z2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlD
RENGQUJCRDE4QzBBRjc4MDA2Rjg0NTAgLyogSGlnaGxpZ2h0RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDRkFCQkIxOEMwQUUzMTAwNkY4NDUw
IC8qIEhpZ2hsaWdodERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDREQ3MDg5NzE4MzU5RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREQ3MDg5NTE4MzU5
RjZGMDAyQjNEQzYgLyogU2FtcGxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291
cmNlUHJpdmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0REQzFFNzkxOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudC5oICovOyB9OworCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRERDMUU3OTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0RE
RTAyRUQxOEIzRUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RERTAyRUIxOEIz
RUQ2RDAwQ0Y3RkYxIC8qIENETVNlc3Npb25BVkZvdW5kYXRpb25PYmpDLm1tICovOyB9OwogCQlD
RERFMDJGMDE4QjU2NTEzMDBDRjdGRjEgLyogQ0RNU2Vzc2lvbkFWU3RyZWFtU2Vzc2lvbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEREUwMkVGMThC
NTY1MTIwMENGN0ZGMSAvKiBDRE1TZXNzaW9uQVZTdHJlYW1TZXNzaW9uLm1tICovOyB9OwogCQlD
REUzQTg1NDE3RjVGQ0U2MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkYuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODUyMTdGNUZDRTYw
MEM1QkUyMCAvKiBBdWRpb1RyYWNrUHJpdmF0ZUFWRi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0NvbnRlbnRUeXBlLmgKaW5kZXggN2MyNzhhNjhlMzg5YWVlZTYyYzQzMTJjMDNhZWNmNTk4
Y2Q0MzM1OC4uZWVmOGI5M2NhOWE5NTI4MjI0YWVhMjNjNDQ1ZThhNDc1NWMyM2RiMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBTdHJpbmcmIHJhdygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIGJv
b2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZS5pc0VtcHR5KCk7IH0KIAotICAgIFN0
cmluZyB0b0pTT05TdHJpbmcoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdG9K
U09OU3RyaW5nKCkgY29uc3Q7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZv
aWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggOGIwZDczZThkODI0ZmRiNjlj
ZmYwNjk4YzgyZjg5ZDA5MTg1YTcyYi4uZTI2YWU1OTM0OTA1ZTY3MzQ2OGU3NjVhZmZjN2ZhMzlm
ZDQ4NDE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcApAQCAtOTYsNyArOTYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWQoY29u
c3QgU3RyaW5nJikgZmluYWwgeyB9CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2b2lk
IGxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9
CisgICAgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIGNvbnN0IENvbnRlbnRUeXBlJiwgTWVkaWFTb3Vy
Y2VQcml2YXRlQ2xpZW50KikgZmluYWwgeyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBmaW5hbCB7IH0KQEAgLTU4
Niw3ICs1ODYsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2FkV2l0aE5leHRNZWRpYUVuZ2luZShj
b25zdCBNZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAgICAgaWYgKG1fcHJpdmF0ZSkgewog
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgICAgIGlmIChtX21lZGlhU291cmNlKQotICAg
ICAgICAgICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmluZygpLCBtX21lZGlhU291cmNlLmdl
dCgpKTsKKyAgICAgICAgICAgIG1fcHJpdmF0ZS0+bG9hZChtX3VybCwgbV9jb250ZW50VHlwZSwg
bV9tZWRpYVNvdXJjZS5nZXQoKSk7CiAgICAgICAgIGVsc2UKICNlbmRpZgogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY5YjkyMDYxOTBkNWFlZDA2ZDBkODhjMGM3NDE1
Y2UxNjRkYTU4MDIuLjk0MjdhNzQzMzJiNDI2M2RkZjkxN2YwZTJkZTdmNThlY2IxYTU1MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9h
ZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmKSB7IGxv
YWQodXJsLnN0cmluZygpKTsgfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLSAgICB2aXJ0
dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50
KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYsIGNvbnN0IENvbnRlbnRU
eXBlJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUm
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
U291cmNlUHJpdmF0ZS5oCmluZGV4IGUxNDdmMTRkOGUxOTY2YjgzOTcxODRiZDJiZDg3ZDE3MTc4
MjYyNjMuLjU4OWM2NWYwYjZjZjVjMDUxYmNjMzQxNzNiNTk0N2U4NmEzMzNhODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhU291cmNlUHJpdmF0
ZS5oCkBAIC0yNyw4ICsyNyw4IEBACiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlX2gKLSNkZWZpbmUgTWVkaWFTb3VyY2VQcml2
YXRlX2gKKworI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogCkBAIC00
OSw3ICs0OSwxMSBAQCBwdWJsaWM6CiAgICAgTWVkaWFTb3VyY2VQcml2YXRlKCkgPSBkZWZhdWx0
OwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZSgpID0gZGVmYXVsdDsKIAotICAgIGVu
dW0gQWRkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElkTGltaXQgfTsKKyAgICBl
bnVtIGNsYXNzIEFkZFN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBPaywKKyAgICAgICAgTm90
U3VwcG9ydGVkLAorICAgICAgICBSZWFjaGVkSWRMaW1pdAorICAgIH07CiAgICAgdmlydHVhbCBB
ZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgUmVmUHRyPFNvdXJj
ZUJ1ZmZlclByaXZhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkdXJhdGlvbkNoYW5nZWQo
KSA9IDA7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1cyB7IEVvc05vRXJyb3IsIEVvc05ldHdv
cmtFcnJvciwgRW9zRGVjb2RlRXJyb3IgfTsKQEAgLTg4LDcgKzkyLDE1IEBAIHN0cnVjdCBMb2dB
cmd1bWVudDxXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9mU3RyZWFtU3RhdHVzPiB7
CiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRp
YVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cz4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzLAorICAg
ICAgICBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1czo6T2ssCisgICAgICAg
IFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQsCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzOjpSZWFjaGVkSWRM
aW1pdAorICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQuaAppbmRleCAwMDU2NWE5MWZlYTk4YTY0MThhNDQ2MjBjYmMz
NjZlOWU4ZjEwYWQ1Li40ZGYyOTc0ZDc4MmJlYTI0YWFlNjk4ZWUxNWIwNjgxOTE1NDFjMDk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU291
cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oCkBAIC03MywxMSArNzMsMjggQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBNZWRpYVRpbWUgc291cmNlQnVmZmVyUHJpdmF0ZUZhc3RTZWVrVGltZUZvck1l
ZGlhVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmKSA9IDA7CiAKLSAgICBlbnVtIEFwcGVuZFJlc3VsdCB7IEFwcGVuZFN1Y2NlZWRlZCwgUmVh
ZFN0cmVhbUZhaWxlZCwgUGFyc2luZ0ZhaWxlZCB9OworICAgIGVudW0gY2xhc3MgQXBwZW5kUmVz
dWx0IDogdWludDhfdCB7CisgICAgICAgIEFwcGVuZFN1Y2NlZWRlZCwKKyAgICAgICAgUmVhZFN0
cmVhbUZhaWxlZCwKKyAgICAgICAgUGFyc2luZ0ZhaWxlZAorICAgIH07CiAgICAgdmlydHVhbCB2
b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShBcHBlbmRSZXN1bHQpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdF
cnJvcihpbnQgZXJyb3JDb2RlKSA9IDA7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdD4geworICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJp
dmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0OjpBcHBlbmRTdWNjZWVkZWQsCisgICAgICAgIFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6UmVhZFN0cmVhbUZh
aWxlZCwKKyAgICAgICAgV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5k
UmVzdWx0OjpQYXJzaW5nRmFpbGVkCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgog
CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKaW5kZXggYWQ0YmM5MGU4MWIx
YzM2MjZkYTU1YzY2ZjVlMjMxMWMzNDBhY2U5Mi4uMjFiNjYyMDVmZTM4OTM0MTE3MmNiYmRmNmQw
YmI2ZDBlMjI1MjMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6bG9hZChjb25zdCBTdHJpbmcmIHVybCkKIH0KIAogI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bjo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29u
dGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewogICAgIHNldE5ldHdvcmtT
dGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcik7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKaW5kZXgg
NDM4ZTQ4NGFkZWJjNmJiZjJjMjJjNmFjNTQwOTJkY2ZjMGNkODg1Yy4uNzdmNGM2NTFmYTRlNmJl
OWU1ZDllZWUzNGIzMjE3YTIwMjNhOGVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAtMTU4LDcgKzE1OCw3IEBAIHByb3Rl
Y3RlZDoKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVQcml2YXRlSW50ZXJmYWNlIG92ZXJyaWRl
cy4KICAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpIG92ZXJyaWRlOwogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBjb25z
dCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoTWVkaWFTdHJlYW1Q
cml2YXRlJikgb3ZlcnJpZGUgeyBzZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtT
dGF0ZTo6Rm9ybWF0RXJyb3IpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDMwNjU0
ZTI2OGRjNDRlMmUzYTA3ZTEzZGZkMDkxNWUwNzdlM2RmOTIuLmY2ZDdkNDQ4NWFhMDk2Njk4Y2I0
MjA5MGYyODYwNTMxZTdmYzlhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xNDgs
NiArMTQ4LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxDb250ZW50VHlwZT4mIG1lZGlh
Q29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0KCkgY29uc3Q7CiAgICAgYm9vbCBz
aG91bGRDaGVja0hhcmR3YXJlU3VwcG9ydCgpIGNvbnN0OwogCisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECiAgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X2xvZ2dlci5nZXQoKTsgfQogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuICJNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMiOyB9
CiAgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KG1fbG9nSWRlbnRpZmllcik7IH0KQEAgLTE1NSw2
ICsxNTYsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50
aWZpZXIoKSB7IHJldHVybiBsb2dJZGVudGlmaWVyKCk7IH0KICAgICBjb25zdCBMb2dnZXImIG1l
ZGlhUGxheWVyTG9nZ2VyKCkgeyByZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgogCiAgICAgZW51
bSBTZWVrU3RhdGUgewogICAgICAgICBTZWVraW5nLApAQCAtMTY1LDcgKzE2Nyw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlCiAgICAgdm9p
ZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSBvdmVycmlkZTsKLSAgICB2b2lkIGxvYWQoY29uc3Qg
U3RyaW5nJiB1cmwsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIG92ZXJyaWRlOworICAgIHZv
aWQgbG9hZChjb25zdCBVUkwmLCBjb25zdCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudCopIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBs
b2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0KaW5kZXggYjQwMjRhOTE0OGUxYWUyNWIzYzk0Mjc4Mzg0NjkyYWIwMWFlYTZl
MC4uMGJmMjA0OWMwMDcwMGU5NWJjMDk0N2ZmOGNhMzU4MTRiMzNkNzRlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5tbQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCiAgICAgbV9wbGF5ZXIt
Pm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakM6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50KiBjbGllbnQpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
bG9hZChjb25zdCBVUkwmLCBjb25zdCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNs
aWVudCogY2xpZW50KQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmgKaW5kZXggODc4MDk2YWRiZDZlMjVkNDMxODZiZWViMGJhZGY0Njhm
ODZjZTRjOS4uY2IzMWE1Zjc3YjE2NGYzNDQyMjk2MWZmYjZjZTIzNzIzMDJmZmI1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgbG9hZChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUm
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNlbmRpZgogICAgIHZvaWQg
bG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKSBvdmVycmlkZTsKICAgICB2b2lkIGNhbmNlbExvYWQo
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCBhYzZjZGUzYzhkNTc5
Y2JmMGE5NmIwMDM0NDYxNmE4MmIzYzBlNzYzLi5hZTU0ZGM2YjFmNWJlMmY2YzM5ZDhlMTNmYTBi
NzM5ODE2YTc0OTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC00MDMsNyArNDAz
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoY29u
c3QgU3RyaW5nJikKIH0KIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakM6OmxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQqKQogewogICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkgc3VwcG9ydHMg
TWVkaWFTdHJlYW0gVVJMcy4KICAgICBzY2hlZHVsZURlZmVycmVkVGFzayhbdGhpc10gewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCmlu
ZGV4IGUxZTRhYTc4Njk1ZjAwNDhmMGNmY2M4MjQxNmEyMDk0OGY2ZGFjZTYuLmRjNDYyMDNiZThm
NGQ0NTEwNGZkY2QzYmJmMWI2MWVmOGM1MTk3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDggKzIzLDcgQEAKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQ19o
Ci0jZGVmaW5lIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdtYSBvbmNlCiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCkBAIC0xNDksNSAr
MTQ4LDMgQEAgcHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TT1VSQ0UpICYm
IFVTRShBVkZPVU5EQVRJT04pCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWY0NTNhZThkZGJlODE0NThk
MmMwYTVmZTdiZjkyN2FmZGE5NGNlMi4uNzUzYWNiMWNhNzk0ZmEwMTY5ZjljZTBmNmY5MmZlYWI1
NDc0ZTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVBy
aXZhdGVBVkZPYmpDLm1tCkBAIC04NCwxMSArODQsMTEgQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpB
ZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6YWRkU291cmNlQnVmZmVyKGNvbnN0
IEMKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwogICAgIHBhcmFtZXRlcnMu
dHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnN1cHBvcnRzVHlwZUFuZENvZGVjcyhwYXJhbWV0ZXJzKSA9PSBNZWRpYVBsYXll
cjo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZCkKLSAgICAgICAgcmV0dXJuIE5vdFN1cHBv
cnRlZDsKKyAgICAgICAgcmV0dXJuIEFkZFN0YXR1czo6Tm90U3VwcG9ydGVkOwogCiAgICAgYXV0
byBwYXJzZXIgPSBTb3VyY2VCdWZmZXJQYXJzZXI6OmNyZWF0ZShjb250ZW50VHlwZSk7CiAgICAg
aWYgKCFwYXJzZXIpCi0gICAgICAgIHJldHVybiBOb3RTdXBwb3J0ZWQ7CisgICAgICAgIHJldHVy
biBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKIAogICAgIGF1dG8gbmV3U291cmNlQnVmZmVyID0g
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmNyZWF0ZSh0aGlzLCBwYXJzZXIucmVsZWFzZU5v
bk51bGwoKSk7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKQEAgLTk3LDcgKzk3LDcgQEAg
TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6
YWRkU291cmNlQnVmZmVyKGNvbnN0IEMKICAgICBvdXRQcml2YXRlID0gbmV3U291cmNlQnVmZmVy
LmNvcHlSZWYoKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUobmV3U291cmNl
QnVmZmVyKSk7CiAKLSAgICByZXR1cm4gT2s7CisgICAgcmV0dXJuIEFkZFN0YXR1czo6T2s7CiB9
CiAKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6cmVtb3ZlU291cmNlQnVmZmVyKFNv
dXJjZUJ1ZmZlclByaXZhdGUqIGJ1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggOTE0OTZkMjQxZmZiNjEwZDk2
OTQwNzc1N2Q5ZmMyMzk4ZmI0NjU1OS4uMmJjMjZhMTVlZTUxYmRhMTRiOWI1ZjY2MzQxNWI5ODQ2
NWI5OWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMubW0KQEAgLTQyLDcgKzQyLDYgQEAKICNpbXBvcnQgIk1lZGlhU2FtcGxl
LmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk1lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaCIKLSNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAjaW1wb3J0ICJT
aGFyZWRCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZlclBhcnNlckFWRk9iakMuaCIKICNp
bXBvcnQgIlNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQuaCIKQEAgLTU4Niw3ICs1ODUsNyBAQCB2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjphcHBlbmRDb21wbGV0ZWQoKQogICAgICAg
ICBtX21lZGlhU291cmNlLT5wbGF5ZXIoKS0+c2V0TG9hZGluZ1Byb2dyZXNzc2VkKHRydWUpOwog
CiAgICAgaWYgKG1fY2xpZW50KQotICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0
ZUFwcGVuZENvbXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFN1Y2NlZWRlZCA6IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OlBhcnNp
bmdGYWlsZWQpOworICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENv
bXBsZXRlKG1fcGFyc2luZ1N1Y2NlZWRlZCA/IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFw
cGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkIDogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6
QXBwZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQzo6YWJvcnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcAppbmRleCA3ZTBhZDU0NzhjYTE3OTE5YTBlOWIzMzE5Y2ZmNDZjMmZmYzEw
MWYxLi40NTYyNDZmNmY5NTNmODUyYTQzYTEwYzc2ZmVlZjNiNTljNjZjMWQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzkxLDcgKzM5
MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nKQogfQogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKLXZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudCopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChjb25z
dCBVUkwmLCBjb25zdCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCiB7
CiAgICAgLy8gUHJvcGVybHkgZmFpbCBzbyB0aGUgZ2xvYmFsIE1lZGlhUGxheWVyIHRyaWVzIHRv
IGZhbGxiYWNrIHRvIHRoZSBuZXh0IE1lZGlhUGxheWVyUHJpdmF0ZS4KICAgICBtX25ldHdvcmtT
dGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGUwMTYxNWIwZjNhMzUw
ZDZmMDc1MDg2MmUzNjBhNmIwY2RiNzc0OWYuLjkwMDFhNWZmODMwOTk4ODBmM2E5ZWRhMjU5YThi
N2FmYTQwODUzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmgKQEAgLTE0Miw3ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBdWRpbygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1faGFzQXVkaW87IH0KICAgICB2b2lkIGxvYWQoY29uc3QgU3Ry
aW5nICZ1cmwpIG92ZXJyaWRlOwogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBs
b2FkKGNvbnN0IFN0cmluZyYgdXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlk
ZTsKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNv
dXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKICNlbmRpZgogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAgICAgdm9pZCBsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0Uu
Y3BwCmluZGV4IGM0NGNhMzk2N2FiMGZmMDY5MGYwY2QyZWU2MzM0ZGNjNWQwZDdmYjguLjVkYzBk
ZDExN2RkMDdiZmM4Y2U1Y2ZhZjUzZTI0ODczMjY0MTAzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKQEAgLTEzOCwx
MCArMTM4LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNv
bnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bG9hZCh1cmxTdHJpbmcpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RTo6bG9hZChjb25zdCBTdHJpbmcmIHVybCwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBtZWRp
YVNvdXJjZSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCog
bWVkaWFTb3VyY2UpCiB7CiAgICAgbV9tZWRpYVNvdXJjZSA9IG1lZGlhU291cmNlOwotICAgIGxv
YWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwpKTsKKyAgICBsb2FkKG1ha2VTdHJpbmco
Im1lZGlhc291cmNlIiwgdXJsLnN0cmluZygpKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFOjpwYXVzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCA3ZTQ4MWU2NTc0ODllMjcxYjQ0ZjEz
ZmMzNWI0NDk0YzZjNTY2ZGVjLi5iMDFmOWViMGU2OWQxMjNkMDM5Yjg2ZDExOGM5NWZiMzEwOTdi
MDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJl
Z2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogCiAgICAgdm9pZCBsb2Fk
KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmLCBN
ZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29uc3Qg
VVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVy
cmlkZTsKIAogICAgIHZvaWQgdXBkYXRlRG93bmxvYWRCdWZmZXJpbmdGbGFnKCkgb3ZlcnJpZGUg
eyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAppbmRleCBiMDA1ZDBk
MzM1MjY2NGY3ZjliZWQ5ZjcwMjA5NzcyYWIwMDI3NDUwLi4xZTg4YWQxNjExYmVkNTQ1ODJiOTEw
MzA5MjYyZmM3MjcyMzI2NTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5j
cHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBQbGF5
YmFja1BpcGVsaW5lOjphZGRTb3VyY2VCdWZmZXIoUmVmUHRyPFNvdXJjZUJ1ZgogCiAgICAgaWYg
KHByaXYtPmFsbFRyYWNrc0NvbmZpZ3VyZWQpIHsKICAgICAgICAgR1NUX0VSUk9SX09CSkVDVCht
X3dlYktpdE1lZGlhU3JjLmdldCgpLCAiQWRkaW5nIG5ldyBzb3VyY2UgYnVmZmVycyBhZnRlciBm
aXJzdCBkYXRhIG5vdCBzdXBwb3J0ZWQgeWV0Iik7Ci0gICAgICAgIHJldHVybiBNZWRpYVNvdXJj
ZVByaXZhdGU6Ok5vdFN1cHBvcnRlZDsKKyAgICAgICAgcmV0dXJuIE1lZGlhU291cmNlUHJpdmF0
ZTo6QWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAgICAgfQogCiAgICAgR1NUX0RFQlVHX09CSkVD
VChtX3dlYktpdE1lZGlhU3JjLmdldCgpLCAiU3RhdGUgJWQiLCBpbnQoR1NUX1NUQVRFKG1fd2Vi
S2l0TWVkaWFTcmMuZ2V0KCkpKSk7CkBAIC0xNDAsNyArMTQwLDcgQEAgTWVkaWFTb3VyY2VQcml2
YXRlOjpBZGRTdGF0dXMgUGxheWJhY2tQaXBlbGluZTo6YWRkU291cmNlQnVmZmVyKFJlZlB0cjxT
b3VyY2VCdWYKICAgICBnc3RfYmluX2FkZChHU1RfQklOKG1fd2ViS2l0TWVkaWFTcmMuZ2V0KCkp
LCBzdHJlYW0tPmFwcHNyYyk7CiAgICAgZ3N0X2VsZW1lbnRfc3luY19zdGF0ZV93aXRoX3BhcmVu
dChzdHJlYW0tPmFwcHNyYyk7CiAKLSAgICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpPazsK
KyAgICByZXR1cm4gTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lk
IFBsYXliYWNrUGlwZWxpbmU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihSZWZQdHI8U291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGQzYTg3ZWZl
ODlhZWIzYWQ1NjdkZWM0OGExZTFhN2VlNDNlNWM0OGMuLmM5MDQyN2U0ZWQzZWM3YTgxYTdiYmI5
MzJlYzRiOGJkMTEwY2EwMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VC
dWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTk0LDEyICsxOTQsMTIgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpkaWRSZWNlaXZlU2FtcGxlKE1lZGlhU2FtcGxlJiBz
YW1wbGUpCiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUmVjZWl2ZUFs
bFBlbmRpbmdTYW1wbGVzKCkKIHsKLSAgICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQtPnNv
dXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50
OjpBcHBlbmRTdWNjZWVkZWQpOworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC0+c291
cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6
OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlR1N0cmVhbWVyOjphcHBlbmRQYXJzaW5nRmFpbGVkKCkKIHsKLSAgICBtX3NvdXJjZUJ1
ZmZlclByaXZhdGVDbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3Vy
Y2VCdWZmZXJQcml2YXRlQ2xpZW50OjpQYXJzaW5nRmFpbGVkKTsKKyAgICBtX3NvdXJjZUJ1ZmZl
clByaXZhdGVDbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQ6OlBhcnNpbmdGYWlsZWQpOwogfQogCiAj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVk
aWFTb3VyY2UuY3BwCmluZGV4IDdkMGM3ZDdjZjAyZjQyYWVjNzNkY2MzODI3YmJiMmIxN2MzMzUy
ZjEuLjNiZWJjZDAyNTMwOWFkNGYyZmYyZTQ2MGZkOThkYzk2NmU2Nzg2ZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVy
TWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCkBAIC0xMTEsNyArMTExLDcgQEAg
dm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25zdCBTdHJpbmcmKQogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlOjpsb2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogc291cmNl
KQordm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bG9hZChjb25zdCBVUkwmLCBjb25z
dCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogc291cmNlKQogewogICAg
IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6Y3JlYXRlKCp0
aGlzLCAqc291cmNlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2Uu
aAppbmRleCA3ZGZjMWYyMjhkYTIxMzk0ZjM3NmM3ZjI5NjRjZjE0NDZlOGNhMzFlLi42ZGRmNTJl
ZjAwNGJkMTQ0ZWU1NDM1NmNlZWE1YmMyMmU4ZTQ1YjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgLy8gTWVkaWFQbGF5ZXJQcml2YXRlIE92ZXJyaWRlcwogICAgIHZvaWQgbG9hZChjb25z
dCBTdHJpbmcmIHVybCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJs
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvYWQoY29u
c3QgVVJMJiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBv
dmVycmlkZTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHZvaWQgbG9hZChNZWRpYVN0
cmVhbVByaXZhdGUmKSBvdmVycmlkZSB7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291
cmNlUHJpdmF0ZS5jcHAKaW5kZXggNmUyMWI1ZGQyYjg5N2U4N2FhZmEwMGU3NWJjOGZmOGZmMWVl
ZTBmNi4uOGY4MjhjY2E5NTk3MjU3MjNiYTZlYzgyNDIxZmM4ODE5ZGYwMmE0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC02MywxMiArNjMsMTIgQEAgTWVkaWFT
b3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6YWRkU291cmNl
QnVmZmVyKGNvbnN0IENvbnQKICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOwog
ICAgIHBhcmFtZXRlcnMudHlwZSA9IGNvbnRlbnRUeXBlOwogICAgIGlmIChNb2NrTWVkaWFQbGF5
ZXJNZWRpYVNvdXJjZTo6c3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMpID09IE1lZGlhUGxheWVyOjpT
dXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKQotICAgICAgICByZXR1cm4gTm90U3VwcG9ydGVk
OworICAgICAgICByZXR1cm4gQWRkU3RhdHVzOjpOb3RTdXBwb3J0ZWQ7CiAKICAgICBtX3NvdXJj
ZUJ1ZmZlcnMuYXBwZW5kKE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjpjcmVhdGUodGhpcykpOwog
ICAgIG91dFByaXZhdGUgPSBtX3NvdXJjZUJ1ZmZlcnMubGFzdCgpOwogCi0gICAgcmV0dXJuIE9r
OworICAgIHJldHVybiBBZGRTdGF0dXM6Ok9rOwogfQogCiB2b2lkIE1vY2tNZWRpYVNvdXJjZVBy
aXZhdGU6OnJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXJQcml2YXRlKiBidWZmZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tT
b3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IGY0ZGFkMDM3MTMwMzE4
NDllNjM3Zjk3YmIwNzhkMjNmZTg2OTgxYTUuLjA1Y2RjNTAzNWQ2ZjQ5MjA0MmQ3YWIxZWRmN2Nh
YmM3MGYzNWYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBA
IC0xMzksOSArMTM5LDkgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0Q2xpZW50
KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHZvaWQgTW9ja1NvdXJjZUJ1ZmZl
clByaXZhdGU6OmFwcGVuZChWZWN0b3I8dW5zaWduZWQgY2hhcj4mJiBkYXRhKQogewogICAgIG1f
aW5wdXRCdWZmZXIuYXBwZW5kVmVjdG9yKGRhdGEpOwotICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVD
bGllbnQ6OkFwcGVuZFJlc3VsdCByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpB
cHBlbmRTdWNjZWVkZWQ7CisgICAgU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVz
dWx0IHJlc3VsdCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBw
ZW5kU3VjY2VlZGVkOwogCi0gICAgd2hpbGUgKG1faW5wdXRCdWZmZXIuc2l6ZSgpICYmIHJlc3Vs
dCA9PSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRTdWNjZWVkZWQpIHsKKyAgICB3
aGlsZSAobV9pbnB1dEJ1ZmZlci5zaXplKCkgJiYgcmVzdWx0ID09IFNvdXJjZUJ1ZmZlclByaXZh
dGVDbGllbnQ6OkFwcGVuZFJlc3VsdDo6QXBwZW5kU3VjY2VlZGVkKSB7CiAgICAgICAgIGF1dG8g
YnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShtX2lucHV0QnVmZmVyLmRhdGEoKSwgbV9pbnB1
dEJ1ZmZlci5zaXplKCkpOwogICAgICAgICBzaXplX3QgYm94TGVuZ3RoID0gTW9ja0JveDo6cGVl
a0xlbmd0aChidWZmZXIucHRyKCkpOwogICAgICAgICBpZiAoYm94TGVuZ3RoID4gYnVmZmVyLT5i
eXRlTGVuZ3RoKCkpCkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJp
dmF0ZTo6YXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmIGRhdGEpCiAgICAgICAgICAgICBN
b2NrU2FtcGxlQm94IHNhbXBsZUJveCA9IE1vY2tTYW1wbGVCb3goYnVmZmVyLnB0cigpKTsKICAg
ICAgICAgICAgIGRpZFJlY2VpdmVTYW1wbGUoc2FtcGxlQm94KTsKICAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICByZXN1bHQgPSBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpQYXJzaW5nRmFp
bGVkOworICAgICAgICAgICAgcmVzdWx0ID0gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBw
ZW5kUmVzdWx0OjpQYXJzaW5nRmFpbGVkOwogCiAgICAgICAgIG1faW5wdXRCdWZmZXIucmVtb3Zl
KDAsIGJveExlbmd0aCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggNmUyZDhhOTEzYmU0
NjZiN2M1MTM4OTUxOTI4NjhjNTU3NmIxZDAzYi4uNjI4NDQ1MzI1MDMzNTEwN2ZkNTQ5ODIyMzJi
OGI5ZWFlYzhlNjhjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC0xMzcsNiArMTM3LDggQEAgc2V0
KFdlYktpdF9NRVNTQUdFU19JTl9GSUxFUwogICAgIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkKICAgICBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2Vy
CisgICAgR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5CisgICAgR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eQogCiAgICAgR1BVUHJvY2Vzcy93ZWJy
dGMvTGliV2ViUlRDQ29kZWNzUHJveHkKICAgICBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRp
b01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcgpAQCAtMjI0LDYgKzIyNiw3IEBAIHNldChXZWJLaXRf
TUVTU0FHRVNfSU5fRklMRVMKICAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nv
dXJjZVByb3ZpZGVyTWFuYWdlcgogICAgIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUlu
c3RhbmNlU2Vzc2lvbgogICAgIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUxlZ2FjeUNETVNl
c3Npb24KKyAgICBXZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
CiAKICAgICBXZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzCiAgICAgV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktp
dC9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGFiMTVmYmY1MWVmMzY4ZmJl
NDc0NTM0MGQyNjE3YzJmNzM4YmMwYjQuLmVkYjZjYTU5NzlkMmY0ZGVmOGIyYjJlNzczZjlkNjlh
ZTc4NmU3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKQEAgLTM1LDYgKzM1LDggQEAgJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVMZWdhY3lDRE1TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
ICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJl
c291cmNlTWFuYWdlci5tZXNzYWdlcy5pbgorJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pF
Q1RfRElSKS9HUFVQcm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLm1lc3NhZ2VzLmluCkBAIC05NSw4
ICs5Nyw4IEBAICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94
eS5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHku
bWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmlu
CiAkKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3Rv
clVJRXh0ZW5zaW9uQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9V
SVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5tZXNzYWdl
cy5pbgogJChQUk9KRUNUX0RJUikvVUlQcm9jZXNzL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0xl
Z2FjeUN1c3RvbVByb3RvY29sTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0x
MzYsNiArMTM4LDcgQEAgJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
QXVkaW9TZXNzaW9uLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVBdWRpb1NvdXJjZVByb3ZpZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uLm1l
c3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdh
Y3lDRE1TZXNzaW9uLm1lc3NhZ2VzLmluCiskKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElS
KS9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3Nh
Z2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGli
V2ViUlRDUmVtb3RlQ29kZWNzLm1lc3NhZ2VzLmluCkBAIC0xNDMsOSArMTQ2LDkgQEAgJChQUk9K
RUNUX0RJUikvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5t
ZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9s
b2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KICQoUFJPSkVDVF9ESVIpL1dlYlByb2Nlc3MvSW5z
cGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9X
ZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KLSQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2Vi
UHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKyQoUFJPSkVDVF9E
SVIpL1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxl
ci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViU29ja2V0Q2hhbm5lbC5tZXNzYWdlcy5pbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggNGViMTI1ZTlhZGM3
NjVhNWFlOGRjMTE3NTg3ZWUzZTg3Yzc3YTQzOC4uNzU2NzlmNTVmNWFlMzk5YjVlYWY0NzdmMTg5
MzI1NmJjMjQ4ODQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0yMTUsNiArMjE1LDkgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyTWVzc2FnZXNSZXAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlh
U2Vzc2lvbkhlbHBlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHlN
ZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9S
ZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVNvdXJjZVByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNz
YWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUmVtb3RlT2JqZWN0UmVnaXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVPYmplY3RSZWdpc3RyeU1lc3Nh
Z2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXNSZXBsaWVzLmgKQEAgLTIzMyw2ICsyMzYsOSBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNZXNzYQogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvck1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXNSZXBsaWVzLmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VC
dWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlc1JlcGxpZXMuaApA
QCAtMjUxLDYgKzI1Nyw5IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2tNZXNzYWdlc1JlcGxpCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TbWFydE1hZ25pZmljYXRpb25Db250cm9s
bGVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NtYXJ0TWFnbmlmaWNhdGlv
bkNvbnRyb2xsZXJNZXNzYWdlc1JlcGxpZXMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZl
ci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBs
aWVzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1NwZWVj
aFJlY29nbml0aW9uU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdl
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TcGVlY2hS
ZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oCkBAIC0zNDgsOSArMzU3LDYgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSURCQ29ubmVjdGlv
blRvU2VydmVyTWVzc2FnZXNSZXAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1lc3NhZ2VzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYklEQlNlcnZlck1l
c3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0
b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJNZXNzYWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JVSUV4dGVuc2lvbkNvbnRyb2xsZXJN
ZXNzYWdlc1JlcGxpZXMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2Fn
ZXNSZXBsaWVzLmgKQEAgLTM2MCw2ICszNjYsOSBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlc1JlcGxpZXMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXNSZXBsaWVz
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3Bl
Y3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9u
Q29udHJvbGxlck1lc3NhZ2VzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYkluc3BlY3RvclVJRXh0ZW5zaW9uQ29udHJvbGxlck1lc3NhZ2VzUmVwbGll
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNw
ZWN0b3JVSU1lc3NhZ2VSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclVJTWVzc2FnZXMuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yVUlNZXNzYWdlc1JlcGxp
ZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGE3NmIzOTZmZTA1MTM5ODcwYTFi
MDFjMTRjMTQxZGNmNDVhOTJjNDQuLjM3NzAxYjAxYzNjMWEyYzMwMGUxZGQyZDcyZTZiODUyMzdm
NDI0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE3NCwxMiArMTc0LDEzIEBA
IE1FU1NBR0VfUkVDRUlWRVJTID0gXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3MgXAogCVdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
XAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBcCi0JV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VTZXNzaW9uIFwKLQlXZWJQcm9jZXNz
L0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uIFwKLQlXZWJQcm9jZXNzL0dQVS9tZWRp
YS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyIFwKIAlXZWJQcm9jZXNzL0dQVS9tZWRpYS9S
ZW1vdGVBdWRpb0Rlc3RpbmF0aW9uUHJveHkgXAogCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZUF1ZGlvU2Vzc2lvbiBcCiAJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9Tb3VyY2VQ
cm92aWRlck1hbmFnZXIgXAorCVdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETUluc3RhbmNl
U2Vzc2lvbiBcCisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTGVnYWN5Q0RNU2Vzc2lvbiBc
CisJV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZSBcCisJV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBcCiAJV2ViUHJv
Y2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VBcmVhTWFwIFwKIAlXZWJQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlciBcCiAJV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlciBcCkBAIC0yNDAsMTMgKzI0MSwxNSBAQCBNRVNTQUdF
X1JFQ0VJVkVSUyA9IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUluc3RhbmNlU2Vzc2lv
blByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETVByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eSBcCi0JR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5IFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1
ZGlvRGVzdGluYXRpb25NYW5hZ2VyIFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUNETUZhY3Rv
cnlQcm94eSBcCi0JR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBc
CiAJR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZVByb3h5IFwKIAlHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUxlZ2FjeUNETVByb3h5IFwKIAlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5IFwKLQlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvRGVz
dGluYXRpb25NYW5hZ2VyIFwKKwlHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkgXAorCUdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIgXAorCUdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eSBcCisJR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eSBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyBcCiAJV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2VzcyBc
CiAjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc1Nlc3Np
b25QYXJhbWV0ZXJzLmgKaW5kZXggYzYzNmNlMWM0ODM5Mjc0Y2ZiZDAwNDFiODBjMWMwYmNmMjM1
YTFhYy4uOTgwZDY0MWNiMWU4MTQ3OGY0NTkxOThlMjE2NzY3YTVkYTE4MzQ2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzU2Vzc2lvblBhcmFtZXRl
cnMuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogI2luY2x1
ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUxlZ2FjeUNE
TUZhY3RvcnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcAppbmRleCBmYmFmMzlhZTMxOTQ3ZjU3N2Q5NjkxZmUz
MTFmYzJlMTYyNzMzMTRlLi43NDliMWQzNzVkNGFkOTM5ZmEwZGYxYzc1N2U1OTQxZDc2ZGE0OGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTGVnYWN5
Q0RNRmFjdG9yeVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5LmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIFJlbW90
ZUxlZ2FjeUNETVNlc3Npb25Qcm94eSogUmVtb3RlTGVnYWN5Q0RNRmFjdG9yeVByb3h5OjpnZXRT
ZXNzaW9uKGNvbnN0IFJlbW90CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLQogfQogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA4N2QwNjc0NWQwMDhjNTFmYzQxMjdiNDBiMjEyN2U2
NzRhMWM4MTcxLi41YWIxYjZmYTY3ZjFmZjExMTczYzg3ZTk3NThmZWI5NzljMjhiMzNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuY3BwCkBAIC0xMzEsNiArMTMxLDE0IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bG9hZChVUkwmJiB1cmwsIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4mCiAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAK
KyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojps
b2FkTWVkaWFTb3VyY2UoVVJMJiYgdXJsLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlwZSYgY29u
dGVudFR5cGUsIFJlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllciBtZWRpYVNvdXJjZUlkZW50aWZp
ZXIpCit7CisgICAgbV9tZWRpYVNvdXJjZVByb3h5ID0gYWRvcHRSZWYoKm5ldyBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5KG1lZGlhU291cmNlSWRlbnRpZmllciwgbV9tYW5hZ2VyLmdwdUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MoKSkpOworICAgIG1fcGxheWVyLT5sb2FkKHVybCwgY29udGVudFR5cGUs
IG1fbWVkaWFTb3VyY2VQcm94eS5nZXQoKSk7Cit9CisjZW5kaWYKKwogdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpjYW5jZWxMb2FkKCkKIHsKICAgICBtX3VwZGF0ZUNhY2hlZFN0YXRlTWVz
c2FnZVRpbWVyLnN0b3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDg2YWE0MmNlYmZkNzAzZTBjMGJl
YmMzZWQwZDBlNDE4NTU5YTY2N2EuLjIyZTJjODA3NDhmOWQ4ZTc0NmNjOTM0ZGFjNDE3MjM0NGQy
MWE5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAtNTIsNiArNTIsMTEgQEAKICNpbmNsdWRlICJSZW1v
dGVDRE1JbnN0YW5jZVByb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAiUmVt
b3RlTWVkaWFTb3VyY2VQcm94eS5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNp
bmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5oIgogI2VuZGlmCkBAIC0xMDksNiArMTE0
LDkgQEAgcHVibGljOgogICAgIHZvaWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwogCiAgICAgdm9p
ZCBsb2FkKFVSTCYmLCBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+JiYsIGNvbnN0
IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24mJik+JiYpOworI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCisgICAgdm9pZCBsb2FkTWVkaWFTb3VyY2UoVVJMJiYsIGNvbnN0IFdlYkNv
cmU6OkNvbnRlbnRUeXBlJiwgUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyKTsKKyNlbmRpZgog
ICAgIHZvaWQgY2FuY2VsTG9hZCgpOwogCiAgICAgdm9pZCBwcmVwYXJlVG9QbGF5KCk7CkBAIC0z
MDAsNiArMzA4LDkgQEAgcHJpdmF0ZToKICAgICBSZW1vdGVNZWRpYVBsYXllclN0YXRlIG1fY2Fj
aGVkU3RhdGU7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24gbV9jb25m
aWd1cmF0aW9uOwogICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8TWVkaWFUaW1l
Pik+IG1fcGVyZm9ybVRhc2tBdE1lZGlhVGltZUNvbXBsZXRpb25IYW5kbGVyOworI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRyPFJlbW90ZU1lZGlhU291cmNlUHJveHk+IG1fbWVk
aWFTb3VyY2VQcm94eTsKKyNlbmRpZgogCiAgICAgV2ViQ29yZTo6TGF5b3V0UmVjdCBtX3ZpZGVv
Q29udGVudEJveFJlY3Q7CiAgICAgZmxvYXQgbV92aWRlb0NvbnRlbnRTY2FsZSB7IDEuMCB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2OTZhMGRhMjRkNzZlNWFlNzQ1
ZjgyMWE1MWE4NDAxOGY2NTVmMTkyLi5lM2ZkYTEwZWYyZGJjMzBiOGRjMzE5MmU0MDRhMmYxOGY3
NDgwYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjcsNiArMjcs
OSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewog
ICAgIFByZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBlbnVtOnVpbnQ4X3QgV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UHJlbG9hZCBwcmVsb2FkLCBib29sIHByZXNlcnZlc1Bp
dGNoLCBib29sIHByZXBhcmVGb3JSZW5kZXJpbmcsIGZsb2F0IHZpZGVvQ29udGVudFNjYWxlKSAt
PiAoT3B0aW9uYWw8V2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQ+IGlubGluZUxheWVySG9z
dGluZ0NvbnRleHRJZCkgQXN5bmMKIAogICAgIExvYWQoVVJMIHVybCwgT3B0aW9uYWw8V2ViS2l0
OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IHNhbmRib3hFeHRlbnNpb24sIFdlYkNvcmU6OkNv
bnRlbnRUeXBlIGNvbnRlbnRUeXBlLCBTdHJpbmcga2V5U3lzdGVtKSAtPiAoc3RydWN0IFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHBsYXllckNvbmZpZ3VyYXRpb24pIEFz
eW5jCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBMb2FkTWVkaWFTb3VyY2UoVVJMIHVy
bCwgV2ViQ29yZTo6Q29udGVudFR5cGUgY29udGVudFR5cGUsIFdlYktpdDo6UmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyIG1lZGlhU291cmNlSWRlbnRpZmllcikgU3luY2hyb25vdXMKKyNlbmRp
ZgogICAgIENhbmNlbExvYWQoKQogCiAgICAgUHJlcGFyZVRvUGxheSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjQyMGZkNzY4OTE3OTBkNmU3YWZjOTUyMjcyMDYxNGJmODI2ZTljYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5LmNwcApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmgiCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRl
ICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiUmVtb3RlU291cmNlQnVmZmVyUHJveHkuaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJ
bXBsZW1lbnRlZC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlbW90
ZU1lZGlhU291cmNlUHJveHk6OlJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAs
IG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcyhjb25uZWN0aW9uVG9XZWJQcm9jZXNzKQoreworICAg
IG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdl
UmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKK30KKworUmVtb3RlTWVk
aWFTb3VyY2VQcm94eTo6flJlbW90ZU1lZGlhU291cmNlUHJveHkoKQoreworICAgIG1fY29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU291cmNlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOworfQorCit2b2lkIFJlbW90ZU1lZGlhU291cmNl
UHJveHk6OnNldFByaXZhdGVBbmRPcGVuKFJlZjxNZWRpYVNvdXJjZVByaXZhdGU+JiYgbWVkaWFT
b3VyY2VQcml2YXRlKQoreworICAgIEFTU0VSVCghbV9wcml2YXRlKTsKKyAgICBtX3ByaXZhdGUg
PSBXVEZNb3ZlKG1lZGlhU291cmNlUHJpdmF0ZSk7Cit9CisKK01lZGlhVGltZSBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5OjpkdXJhdGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4geyB9OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2Vz
PiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpidWZmZXJlZCgpIGNvbnN0Cit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZTxQbGF0Zm9ybVRpbWVSYW5nZXM+KCk7
Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6c2Vla1RvVGltZShjb25zdCBNZWRp
YVRpbWUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFT
b3VyY2VQcm94eTo6bW9uaXRvclNvdXJjZUJ1ZmZlcnMoKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQgUmVtb3RlTWVkaWFTb3Vy
Y2VQcm94eTo6c2V0TG9nSWRlbnRpZmllcihjb25zdCB2b2lkKikKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorI2VuZGlmCisKK3ZvaWQgUmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6ZmFpbGVk
VG9DcmVhdGVSZW5kZXJlcihSZW5kZXJlclR5cGUpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwordm9pZCBSZW1vdGVNZWRpYVNvdXJjZVByb3h5OjphZGRTb3VyY2VCdWZmZXIoY29uc3Qg
V2ViQ29yZTo6Q29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBBZGRTb3VyY2VCdWZmZXJDYWxsYmFj
ayYmIGNhbGxiYWNrKQoreworICAgIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBzb3VyY2VC
dWZmZXJQcml2YXRlOworICAgIE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIHN0YXR1cyA9
IG1fcHJpdmF0ZS0+YWRkU291cmNlQnVmZmVyKGNvbnRlbnRUeXBlLCBzb3VyY2VCdWZmZXJQcml2
YXRlKTsKKworICAgIE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90
ZVNvdXJjZUlkZW50aWZpZXI7CisgICAgaWYgKHN0YXR1cyA9PSBNZWRpYVNvdXJjZVByaXZhdGU6
OkFkZFN0YXR1czo6T2spIHsKKyAgICAgICAgYXV0byBpZGVudGlmaWVyID0gUmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKyAgICAgICAgYXV0byByZW1vdGVTb3VyY2VC
dWZmZXJQcm94eSA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjpjcmVhdGUoaWRlbnRpZmllciwg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBzb3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25O
dWxsKCkpOworICAgICAgICBtX3NvdXJjZUJ1ZmZlcnMuYXBwZW5kKFdURk1vdmUocmVtb3RlU291
cmNlQnVmZmVyUHJveHkpKTsKKyAgICAgICAgcmVtb3RlU291cmNlSWRlbnRpZmllciA9IGlkZW50
aWZpZXI7CisgICAgfQorCisgICAgY2FsbGJhY2soc3RhdHVzLCByZW1vdGVTb3VyY2VJZGVudGlm
aWVyKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YmZiZmFmYjIwNDQ3ODMwZDczMGMzOGM1NWQ5MTYwMjJjMjNkMzE2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhU291cmNlUHJv
eHkuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRlICJN
ZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIu
aCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFTb3VyY2VQcml2YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVBy
aXZhdGVDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CisjaW5jbHVkZSA8d3Rm
L09wdGlvbmFsLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNz
IERlY29kZXI7CitjbGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBDb250ZW50VHlwZTsKK2NsYXNzIE1lZGlhU291cmNlUHJpdmF0ZTsKK2NsYXNzIFBs
YXRmb3JtVGltZVJhbmdlczsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIFJlbW90ZU1lZGlhU291cmNlUHJveHkgZmlu
YWwKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQKKyAgICAs
IHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFJlbW90ZU1lZGlhU291cmNlUHJveHkoUmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+
UmVtb3RlTWVkaWFTb3VyY2VQcm94eSgpOworCisgICAgLy8gTWVkaWFTb3VyY2VQcml2YXRlQ2xp
ZW50IG92ZXJyaWRlcworICAgIHZvaWQgc2V0UHJpdmF0ZUFuZE9wZW4oUmVmPFdlYkNvcmU6Ok1l
ZGlhU291cmNlUHJpdmF0ZT4mJikgZmluYWw7CisgICAgTWVkaWFUaW1lIGR1cmF0aW9uKCkgY29u
c3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdl
cz4gYnVmZmVyZWQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNlZWtUb1RpbWUoY29uc3QgTWVk
aWFUaW1lJikgZmluYWw7CisgICAgdm9pZCBtb25pdG9yU291cmNlQnVmZmVycygpIGZpbmFsOwor
CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dJZGVudGlmaWVyKGNv
bnN0IHZvaWQqKSBmaW5hbDsKKyNlbmRpZgorCisgICAgdm9pZCBmYWlsZWRUb0NyZWF0ZVJlbmRl
cmVyKFJlbmRlcmVyVHlwZSkgZmluYWw7CisKK3ByaXZhdGU6CisgICAgLy8gSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKKyAgICAvLyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29k
ZXI+JikgZmluYWw7CisKKyAgICB1c2luZyBBZGRTb3VyY2VCdWZmZXJDYWxsYmFjayA9IENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMs
IE9wdGlvbmFsPFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXI+IHJlbW90ZVNvdXJjZUJ1ZmZl
cklkZW50aWZpZXIpPjsKKyAgICB2b2lkIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpD
b250ZW50VHlwZSYsIEFkZFNvdXJjZUJ1ZmZlckNhbGxiYWNrJiYpOworCisgICAgUmVtb3RlTWVk
aWFTb3VyY2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok1l
ZGlhU291cmNlUHJpdmF0ZT4gbV9wcml2YXRlOworICAgIFZlY3RvcjxSZWZQdHI8UmVtb3RlU291
cmNlQnVmZmVyUHJveHk+PiBtX3NvdXJjZUJ1ZmZlcnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NP
VVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVNvdXJjZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E2Yjc1
MmQ3NzA2MGRlY2NiOWRjM2JjNzk2NDg5ZjRlYzkyMGRhZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVNvdXJjZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCittZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5IE5vdFJlZkNvdW50ZWQgeworICAgIEFkZFNvdXJjZUJ1ZmZlcihXZWJDb3JlOjpD
b250ZW50VHlwZSBjb250ZW50VHlwZSkgLT4gKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVNv
dXJjZVByaXZhdGU6OkFkZFN0YXR1cyBzdGF0dXMsIE9wdGlvbmFsPFdlYktpdDo6UmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcikgU3luY2hy
b25vdXMKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NGJmY2ExNjEyYjVkNzk0OWVhMGExOTVkZTU1ZjVjOTU3OTI3MDY2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlcklkZW50
aWZpZXIuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKKyNpbmNsdWRl
IDx3dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBS
ZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyVHlwZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVy
UHJveHkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0NWNmNDBkZmM2ZmM3MjQxNzQ5OWM5OTZlZWE5NWYwYTNh
OGQ2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCkBAIC0wLDAgKzEsMTE2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5
LmgiCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisK
KyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2lu
Y2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJTb3Vy
Y2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL05vdElt
cGxlbWVudGVkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworUmVmPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PiBSZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eTo6Y3JlYXRlKFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvblRvV2ViUHJvY2VzcywgUmVmPFNvdXJj
ZUJ1ZmZlclByaXZhdGU+JiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKK3sKKyAgICBhdXRvIHJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5ID0gYWRvcHRSZWYoKm5ldyBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eShpZGVudGlmaWVyLCBjb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBXVEZNb3ZlKHNvdXJjZUJ1ZmZl
clByaXZhdGUpKSk7CisgICAgcmV0dXJuIHJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OworfQorCitS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6UmVtb3RlU291cmNlQnVmZmVyUHJveHkoUmVtb3RlU291
cmNlQnVmZmVySWRlbnRpZmllciBpZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
JiBjb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4mJiBzb3Vy
Y2VCdWZmZXJQcml2YXRlKQorICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBt
X2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29ubmVjdGlvblRvV2ViUHJvY2VzcykKKyAgICAsIG1f
c291cmNlQnVmZmVyUHJpdmF0ZShXVEZNb3ZlKHNvdXJjZUJ1ZmZlclByaXZhdGUpKQoreworICAg
IG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5hZGRNZXNzYWdl
UmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7CisgICAgbV9zb3VyY2VC
dWZmZXJQcml2YXRlLT5zZXRDbGllbnQodGhpcyk7Cit9CisKK1JlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5Ojp+UmVtb3RlU291cmNlQnVmZmVyUHJveHkoKQoreworICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5tZXNzYWdlUmVjZWl2ZXJNYXAoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRl
bnRpZmllci50b1VJbnQ2NCgpKTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6
c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXphdGlvblNlZ21lbnQoY29uc3Qg
SW5pdGlhbGl6YXRpb25TZWdtZW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Ojpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2
ZVNhbXBsZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0ZUhh
c0F1ZGlvKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJpdmF0
ZUhhc1ZpZGVvKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBm
YWxzZTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNlQnVmZmVyUHJp
dmF0ZVJlZW5xdWVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6c291cmNl
QnVmZmVyUHJpdmF0ZURpZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmlu
ZyYgdHJhY2tJRCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitNZWRpYVRpbWUgUmVt
b3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0U2Vla1RpbWVGb3JN
ZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFU
aW1lJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB7IH07Cit9CisKK3Zv
aWQgUmVtb3RlU291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21w
bGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0
KQoreworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNz
YWdlczo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVu
ZENvbXBsZXRlKGFwcGVuZFJlc3VsdCksIG1faWRlbnRpZmllcik7Cit9CisKK3ZvaWQgUmVtb3Rl
U291cmNlQnVmZmVyUHJveHk6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlUmVuZGVyaW5n
RXJyb3IoaW50IGVycm9yQ29kZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lk
IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5OjphcHBlbmQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
JiBkYXRhKQoreworICAgIG1fc291cmNlQnVmZmVyUHJpdmF0ZS0+YXBwZW5kKGRhdGEudmVjdG9y
KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZVNvdXJjZUJ1ZmZlclByb3h5LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzkwYzBjZTFjMjdiNjA4ZGM5N2FhZmE1MTg2MzYxODgwYzNhZjRkMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVTb3VyY2VCdWZmZXJQ
cm94eS5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUg
IkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIu
aCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9Tb3VyY2VCdWZmZXJQcml2YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Tb3VyY2VC
dWZmZXJQcml2YXRlQ2xpZW50Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9u
OworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7Cit9CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIE1lZGlhU2FtcGxlOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgUmVtb3RlU291cmNlQnVmZmVyUHJveHkgZmluYWwKKyAgICA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5PgorICAgICwgcHVibGljIFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQKKyAgICAsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
UmVtb3RlU291cmNlQnVmZmVyUHJveHk+IGNyZWF0ZShSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlm
aWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVmPFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
clByaXZhdGU+JiYpOworICAgIHZpcnR1YWwgflJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5KCk7CisK
KyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlSW5pdGlhbGl6YXRpb25TZWdt
ZW50KGNvbnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpIGZpbmFsOworICAgIHZvaWQgc291cmNl
QnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmKSBmaW5h
bDsKKyAgICBib29sIHNvdXJjZUJ1ZmZlclByaXZhdGVIYXNBdWRpbygpIGNvbnN0IGZpbmFsOwor
ICAgIGJvb2wgc291cmNlQnVmZmVyUHJpdmF0ZUhhc1ZpZGVvKCkgY29uc3QgZmluYWw7CisKKyAg
ICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVSZWVucXVlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5n
JiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVEaWRCZWNvbWVS
ZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworCisg
ICAgTWVkaWFUaW1lIHNvdXJjZUJ1ZmZlclByaXZhdGVGYXN0U2Vla1RpbWVGb3JNZWRpYVRpbWUo
Y29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJikgZmlu
YWw7CisKKyAgICB2b2lkIHNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShXZWJDb3Jl
OjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50OjpBcHBlbmRSZXN1bHQpIGZpbmFsOworICAgIHZv
aWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVSZW5kZXJpbmdFcnJvcihpbnQgZXJyb3JD
b2RlKSBmaW5hbDsKKworcHJpdmF0ZToKKyAgICBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eShSZW1v
dGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgUmVm
PFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JiYpOworCisgICAgLy8gSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6RGVjb2RlciYpIGZpbmFsOworICAgIC8vIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29k
ZXI+JikgZmluYWw7CisKKyAgICB2b2lkIGFwcGVuZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
KTsKKworICAgIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgbV9pZGVudGlmaWVyOworICAg
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvblRvV2ViUHJvY2VzczsKKyAg
ICBSZWY8V2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZT4gbV9zb3VyY2VCdWZmZXJQcml2YXRl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVz
c2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4ZmYwMWRhMzBkMDY3YjllNDFmYjVhMTEzZTdiYTQzZmUw
ZTAxNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
KworbWVzc2FnZXMgLT4gUmVtb3RlU291cmNlQnVmZmVyUHJveHkgTm90UmVmQ291bnRlZCB7Cisg
ICAgQXBwZW5kKElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQorfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1Jl
bW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCmluZGV4IDk3N2Y5M2ZmNWMz
YzJiODE3ODQ2YzlhOWE3NTUxNzg5YzhlZmUwNWMuLjYxYjg5MGRjNzg2N2MzM2IwMDVmMjJlOTNi
YjFhZjQ3ZGRkM2IxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJN
YW5hZ2VyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2lu
Y2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQcm9jZXNz
LmgiCiAjaW5jbHVkZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWVzc2FnZXMuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDk3MDg3NjQ5NWZiMWFjYzkwNGMx
ZWEyNTA2OTA5M2IyMDBlYjI1NWEuLjU3M2VkM2Q4ZWU5YmJmNDEwMzE2OGU3OWEwNTdmOWRiZGI5
Yjg2OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMu
cHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMjU5
LDYgKzI1OSw4IEBAIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKCk6
CiAgICAgICAgICdXZWJLaXQ6OlJlbW90ZUxlZ2FjeUNETUlkZW50aWZpZXInLAogICAgICAgICAn
V2ViS2l0OjpSZW1vdGVMZWdhY3lDRE1TZXNzaW9uSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJL
aXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYktpdDo6UmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyJywKKyAgICAgICAgJ1dlYktpdDo6UmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJLaXQ6OlJlbmRlcmluZ0JhY2tlbmRJZGVu
dGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXInLAogICAgICAg
ICAnV2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmllcicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCA1MDM3OWYy
ZmZhODMzNzRjMTRkMTdkN2JjOWVjMzA2MDY3ZTEzNzYyLi4wOTE3ZjAxYmUxYzlmOGNhYTJhYmY3
ZjBmODkwZjg5NWEzZjJlZjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTQyLDYgKzQyLDggQEAgR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVJlc291cmNlLmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291
cmNlTG9hZGVyLmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVJlc291cmNlTWFuYWdl
ci5jcHAKK0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAKK0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZVRleHRUcmFja1Byb3h5LmNwcAogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVWaWRlb1Ry
YWNrUHJveHkuY3BwCiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlci5jcHAKQEAgLTU3MCw2ICs1NzIsNyBAQCBXZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9ncmFwaGlj
cy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9BdWRp
b1RyYWNrUHJpdmF0ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5jcHAKK1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhU291cmNlUHJpdmF0
ZVJlbW90ZS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvRGVzdGluYXRpb25Q
cm94eS5jcHAKIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAKIFdl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNETS5jcHAKQEAgLTU4Miw2ICs1ODUsNyBAQCBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVMZWdhY3lDRE1TZXNzaW9uLmNwcAogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkKIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKK1dlYlByb2Nlc3MvR1BV
L21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9UZXh0VHJhY2tQcml2YXRlUmVtb3RlLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvVmlkZW9U
cmFja1ByaXZhdGVSZW1vdGUuY3BwCiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9XZWJNZWRpYVN0cmF0
ZWd5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggZTMzODQ3YWUxNmFjYzk5YTczOTQzNDc0NGQ4YTNkZjZjMjhjYWJmYy4uNzY3ZjUw
Y2ExNmUzYzA0MjM3NmMyNjUzNWMyMGE0ZGMyZDYzZmE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MjEsNiArNDIxLDEzIEBACiAJ
CTFENEQ3Mzc2MjNBOUVEMTgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1l
c3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUQ0RDczNzUyM0E5RUI2ODAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyTWVzc2FnZXNSZXBsaWVzLmggKi87IH07CiAJCTFEQjAxOTQzMjExQ0YwMDIwMDlGQjNFOCAv
KiBXS1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFERTBEMDk1MjExQ0MyMTMwMDQzOUI1RiAvKiBXS1NoYXJlU2hlZXQuaCAqLzsgfTsK
IAkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFEQkJCMDYxMjExQ0MzQ0IwMDUw
MkVDQyAvKiBXS1NoYXJlU2hlZXQubW0gKi87IH07CisJCTFERDJBNjYzMjU2MTI0NkYwMEZGN0I2
RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYyMjU2MTIyRjEwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
KwkJMUREMkE2NkUyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTFERDJBNjc0MjU2MjMyQTEwMEZGN0I2RiAv
KiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjcyMjU2MjMyNEYwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKKwkJMUREMkE2ODUyNTYzM0M2NzAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUREMkE2NjAyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdl
cy5oICovOyB9OworCQkxREQyQTY4NjI1NjMzQzcyMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUREMkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclBy
b3h5TWVzc2FnZXMuaCAqLzsgfTsKKwkJMUREMkE2ODcyNTYzM0M4NzAwRkY3QjZGIC8qIFJlbW90
ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxREQyQTY2QTI1NjIwMjFFMDBGRjdCNkYgLyogUmVt
b3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLzsgfTsKKwkJMUREMkE2ODgy
NTYzM0M5NTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFERDJBNjYx
MjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVz
LmggKi87IH07CiAJCTFGMzM1QkMwMTg1Qjg0RjAwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5Mb2FkRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFGMzM1QkJGMTg1Qjg0RDgwMDFBMjAxQSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Mb2Fk
RGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkxRjYwNEJBQTE4ODlGQkI4MDBFRTAzOTUgLyogX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVu
dHNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUY2MDRCQTcxODg5RkE3NDAwRUUwMzk1IC8qIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRz
SW50ZXJuYWwuaCAqLzsgfTsKIAkJMUY3NTA2QjExODU5MTYzNzAwRUMwRkY3IC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJbkZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxRjAxODE2OTE4NThEQzE1MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJh
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
MjgxNCw2ICsyODIxLDI4IEBACiAJCTFEQTQwODk0MjNBODBBM0UwMDU4Qzk1MCAvKiBSZW1vdGVN
ZWRpYVJlc291cmNlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVNZWRpYVJlc291cmNl
TWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxREE0MDg5RTIzQTgyNzc4
MDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxREJCQjA2MTIxMUNDM0NCMDA1MDJFQ0MgLyogV0tTaGFyZVNoZWV0Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tTaGFyZVNoZWV0Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzNjI1NURFNjc1MDBGRjdCNkYgLyog
TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE1lZGlhU291
cmNlUHJpdmF0ZVJlbW90ZS5jcHA7IHBhdGggPSAvVm9sdW1lcy9EYXRhL3dlYmtpdC9PcGVuU291
cmNlL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlLmNwcDsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJMUREMkE2MzcyNTVE
RTY3NTAwRkY3QjZGIC8qIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2M0UyNTVF
M0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVtb3RlTWVkaWFTb3VyY2VQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkx
REQyQTYzRjI1NUUzRjFGMDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZW1vdGVNZWRpYVNvdXJjZVByb3h5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NDIyNTVFM0YzRDAwRkY3QjZGIC8qIFJlbW90ZVNvdXJj
ZUJ1ZmZlclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjQzMjU1RTNGM0QwMEZGN0I2RiAv
KiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVT
b3VyY2VCdWZmZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJB
NjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVtb3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTFERDJBNjRBMjU2MEY1NEMwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZU1lZGlhU291cmNlUHJveHkubWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjYwMjU2MTIyRjEwMEZG
N0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZVByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
UmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2MTI1NjEyMkYxMDBGRjdCNkYgLyogUmVtb3Rl
TWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVN
ZWRpYVNvdXJjZVByb3h5TWVzc2FnZXNSZXBsaWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxpZXMuaDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJMUREMkE2NjIyNTYxMjJGMTAwRkY3QjZGIC8q
IFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY2NjI1
NjFFRDA0MDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTFERDJBNjY4MjU2MUY2ODQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZm
ZXJJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZp
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUREMkE2NjkyNTYyMDIxRTAwRkY3
QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2Vz
Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJBNjZBMjU2MjAy
MUUwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1l
c3NhZ2VzUmVwbGllcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3Vy
Y2VCdWZmZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OworCQkxREQyQTY2QjI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVm
ZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTFERDJB
NjZGMjU2MjJGMTEwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFERDJBNjcxMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlc1JlcGxpZXMuaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzUmVwbGllcy5oOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQkxREQyQTY3MjI1NjIzMjRGMDBG
RjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZVJlY2VpdmVy
LmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CisJCTFERDJBNjczMjU2MjMyNEYwMEZGN0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVt
b3RlTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1l
c3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGVNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owog
CQkxREUwNzZEOTI0NjBDQ0JEMDBCMjExRTggLyogV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVz
Q29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXNDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURFMEQwOTUyMTFDQzIx
MzAwNDM5QjVGIC8qIFdLU2hhcmVTaGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS1NoYXJlU2hlZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMURFMkRG
QUMyM0E5NTlGODAwM0UwMTNBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NjMzLDYgKzU2NjIsOCBAQAogCQkJCTA3OTIzMTMxMjM5QjNC
MEMwMDk1OThFMiAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwICovLAogCQkJCTA3OTIz
MTMyMjM5QjNCMEMwMDk1OThFMiAvKiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCAqLywKIAkJ
CQkwN0IxRDA0QjIzRDM4RkNFMDAzOTlBNkUgLyogTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1l
c3NhZ2VzLmluICovLAorCQkJCTFERDJBNjM2MjU1REU2NzUwMEZGN0I2RiAvKiBNZWRpYVNvdXJj
ZVByaXZhdGVSZW1vdGUuY3BwICovLAorCQkJCTFERDJBNjM3MjU1REU2NzUwMEZGN0I2RiAvKiBN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUuaCAqLywKIAkJCQk5QjVCRUMyOTI0MDEwMTU4MDA3MEM2
RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmNwcCAqLywKIAkJCQk5QjVCRUMyODI0
MDEwMTU4MDA3MEM2RUYgLyogUmVtb3RlQXVkaW9EZXN0aW5hdGlvblByb3h5LmggKi8sCiAJCQkJ
OUI1QkVDMkUyNDAxMDE4QzAwNzBDNkVGIC8qIFJlbW90ZUF1ZGlvRGVzdGluYXRpb25Qcm94eS5t
ZXNzYWdlcy5pbiAqLywKQEAgLTU2NzcsNiArNTcwOCwxMCBAQAogCQkJCTA3QjNCNDZGMjNBQjJD
QjMwMEJBNUIxMiAvKiBSZW1vdGVNZWRpYVBsYXllclN0YXRlLmggKi8sCiAJCQkJMUQzMkY4OUQy
M0E4NEM1QjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAgKi8sCiAJCQkJ
MUQzMkY4OUIyM0E4NEJBNjAwQjFFQTZBIC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5oICov
LAorCQkJCTFERDJBNjQ2MjU1RjMyQjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIuaCAqLywKKwkJCQkxREQyQTYzQTI1NURFNkQxMDBGRjdCNkYgLyogU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5jcHAgKi8sCisJCQkJMUREMkE2MzkyNTVERTZEMTAwRkY3QjZGIC8qIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaCAqLywKKwkJCQkxREQyQTY2RjI1NjIyRjExMDBGRjdC
NkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiAqLywKIAkJCQkwN0Ux
OUYwODIzRDUzM0I5MDA5NEZGQjQgLyogVGV4dFRyYWNrUHJpdmF0ZVJlbW90ZS5jcHAgKi8sCiAJ
CQkJMDdFMTlGMDkyM0Q1MzNCQTAwOTRGRkI0IC8qIFRleHRUcmFja1ByaXZhdGVSZW1vdGUuaCAq
LywKIAkJCQkxREZERDBFMjIzRjYxMEYwMDBFOUI0OTAgLyogVmlkZW9MYXllclJlbW90ZS5oICov
LApAQCAtNTc0MSw2ICs1Nzc2LDEzIEBACiAJCQkJMURBNDA4OUUyM0E4Mjc3ODAwNThDOTUwIC8q
IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyLmNwcCAqLywKIAkJCQkxREE0MDg5NDIzQTgwQTNF
MDA1OEM5NTAgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCAqLywKIAkJCQkxRDMyRjhB
NjIzQTg2MDE5MDBCMUVBNkEgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2FnZXMu
aW4gKi8sCisJCQkJMUREMkE2M0YyNTVFM0YxRjAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNl
UHJveHkuY3BwICovLAorCQkJCTFERDJBNjNFMjU1RTNGMUYwMEZGN0I2RiAvKiBSZW1vdGVNZWRp
YVNvdXJjZVByb3h5LmggKi8sCisJCQkJMUREMkE2NEEyNTYwRjU0QzAwRkY3QjZGIC8qIFJlbW90
ZU1lZGlhU291cmNlUHJveHkubWVzc2FnZXMuaW4gKi8sCisJCQkJMUREMkE2NjgyNTYxRjY4NDAw
RkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCAqLywKKwkJCQkxREQyQTY0
MzI1NUUzRjNEMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVyUHJveHkuY3BwICovLAorCQkJ
CTFERDJBNjQyMjU1RTNGM0QwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eS5oICov
LAorCQkJCTFERDJBNjY2MjU2MUVEMDQwMEZGN0I2RiAvKiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94
eS5tZXNzYWdlcy5pbiAqLywKIAkJCQkwN0UxOUYwNzIzRDREQzg4MDA5NEZGQjQgLyogUmVtb3Rl
VGV4dFRyYWNrUHJveHkuY3BwICovLAogCQkJCTA3RTE5RjA2MjNENERDODgwMDk0RkZCNCAvKiBS
ZW1vdGVUZXh0VHJhY2tQcm94eS5oICovLAogCQkJCTA3MUJDNTg0MjNDQzJDMDkwMDY4MEQ3QyAv
KiBSZW1vdGVWaWRlb1RyYWNrUHJveHkuY3BwICovLApAQCAtMTAzNDYsMTAgKzEwMzg4LDE2IEBA
CiAJCQkJMUQ0RDczNkIyM0E5REY1NTAwNzE3QTI1IC8qIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxRDRENzM2QzIzQTlERjYwMDA3MTdBMjUg
LyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNzYWdlcy5oICovLAogCQkJCTFENEQ3Mzc1
MjNBOUVCNjgwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVw
bGllcy5oICovLAorCQkJCTFERDJBNjYyMjU2MTIyRjEwMEZGN0I2RiAvKiBSZW1vdGVNZWRpYVNv
dXJjZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkxREQyQTY2MDI1NjEyMkYxMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzLmggKi8sCisJCQkJMUREMkE2
NjEyNTYxMjJGMTAwRkY3QjZGIC8qIFJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlc1JlcGxp
ZXMuaCAqLywKIAkJCQkxQUMxMzM4MzE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVn
aXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFBQzEzMzg0MTg1OTBDNDYwMEYzRUMw
NSAvKiBSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmggKi8sCiAJCQkJMEY1OTQ3QTUxODdC
NTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKIAkJCQkwRjU5NDdBNjE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjZCMjU2MjAyMUUwMEZGN0I2RiAv
KiBSZW1vdGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJMURE
MkE2NjkyNTYyMDIxRTAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMu
aCAqLywKKwkJCQkxREQyQTY2QTI1NjIwMjFFMDBGRjdCNkYgLyogUmVtb3RlU291cmNlQnVmZmVy
UHJveHlNZXNzYWdlc1JlcGxpZXMuaCAqLywKIAkJCQlBNTVCQTgyMTFCQTI1QkI4MDA3Q0QzM0Qg
LyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUE1
NUJBODIyMUJBMjVCQjgwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2Vz
LmggKi8sCiAJCQkJMUJCQkU0OUUxOUI2NkM1MzAwNkI3RDgxIC8qIFJlbW90ZVdlYkluc3BlY3Rv
clVJTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTEwMzU3LDYgKzEwNDA1LDkgQEAKIAkJCQlF
MThFNjkxNDE2OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VzLmggKi8s
CiAJCQkJMkRFNjk0M0IxOEJEMkE2ODAwNUMxNUU1IC8qIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRy
b2xsZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTJERTY5NDNDMThCRDJBNjgwMDVDMTVF
NSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCAqLywKKwkJCQkxREQy
QTY3MjI1NjIzMjRGMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCisJCQkJMUREMkE2NzMyNTYyMzI0RjAwRkY3QjZGIC8qIFNvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oICovLAorCQkJCTFERDJBNjcxMjU2MjMyNEYwMEZG
N0I2RiAvKiBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXNSZXBsaWVzLmggKi8sCiAJ
CQkJOTNENkI3ODEyNTRDQ0FCQzAwNThERDNBIC8qIFNwZWVjaFJlY29nbml0aW9uU2VydmVyTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk5M0Q2Qjc4MDI1NENDQUJDMDA1OEREM0EgLyogU3Bl
ZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlcy5oICovLAogCQkJCTkzRDZCNzdGMjU0Q0NBQkIw
MDU4REQzQSAvKiBTcGVlY2hSZWNvZ25pdGlvblNlcnZlck1lc3NhZ2VzUmVwbGllcy5oICovLApA
QCAtMTEzNDUsNiArMTEzOTYsOCBAQAogCQkJCTA3MUJDNTkxMjNDRTFFQUEwMDY4MEQ3QyAvKiBS
ZW1vdGVNZWRpYVBsYXllclByb3h5TWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxRDRENzM3MTIzQTlFNTYyMDA3MTdBMjUgLyogUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUQ0RDczNzYyM0E5RUQxODAwNzE3QTI1IC8q
IFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZXNSZXBsaWVzLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxREQyQTY4NTI1NjMzQzY3MDBGRjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94
eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY4ODI1NjMzQzk1MDBGRjdCNkYg
LyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VzUmVwbGllcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTFCNzg0NzExNjNGMjQ2OTAwMDdCNjkyIC8qIFJlbW90ZU5ldHdvcmtpbmdDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU3MDRGQzFCRTE3NTExMDA4NzRBRjEgLyogUmVtb3Rl
T2JqZWN0SW52b2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDMTMzODAxODU5MEFFNDAw
RjNFQzA1IC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTExMzU0
LDYgKzExNDA3LDggQEAKIAkJCQkwRjU5NDc5QjE4N0IzQjYwMDA0Mzc4NTcgLyogUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1OTQ3QTQxODdC
M0I3RDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTBGNTk0NzlEMTg3QjNCNjAwMDQzNzg1NyAvKiBSZW1vdGVTY3Jv
bGxpbmdUcmVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxREQyQTY4NjI1NjMzQzcyMDBGRjdCNkYg
LyogUmVtb3RlU291cmNlQnVmZmVyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MUREMkE2ODcyNTYzM0M4NzAwRkY3QjZGIC8qIFJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2Fn
ZXNSZXBsaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTVCQTgxRjFCQTI1QjI3MDA3Q0QzM0Qg
LyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NUJBODI1
MUJBMjVDRkIwMDdDRDMzRCAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTVCQTgxNzFCQTIzRTEyMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5z
cGVjdG9yVUkuaCBpbiBIZWFkZXJzICovLApAQCAtMTMxNDAsOCArMTMxOTUsMTAgQEAKIAkJCQkw
NzAxNzg5RTIzQkU5Q0ZDMDA1RjBGQUEgLyogUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MUJDNThGMjNDRTFFQUEwMDY4MEQ3QyAvKiBSZW1v
dGVNZWRpYVBsYXllclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFENEQ3MzcwMjNBOUU1NDcwMDcxN0EyNSAvKiBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxREQyQTY2MzI1NjEyNDZGMDBG
RjdCNkYgLyogUmVtb3RlTWVkaWFTb3VyY2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQUMxMzM4NTE4NTkwQzQ2MDBGM0VDMDUgLyogUmVtb3RlT2JqZWN0UmVn
aXN0cnlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1OTQ3QTcxODdC
NTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFERDJBNjZFMjU2MjAyMUUwMEZGN0I2RiAvKiBSZW1v
dGVTb3VyY2VCdWZmZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBNTVCQTgyNjFCQTI1Q0ZEMDA3Q0QzM0QgLyogUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUJCQkU0QTAxOUI2NkM1MzAwNkI3
RDgxIC8qIFJlbW90ZVdlYkluc3BlY3RvclVJTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUUxOEU2OTE3MTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTMxNTIsNiArMTMyMDksNyBAQAog
CQkJCUExQURBRkI2MjM2OEU2QTgwMDlDQjc3NiAvKiBTaGFyZWRNZW1vcnkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTc1QjFCQjkyM0NFOUMwQjAwMjA2MzlBIC8qIFNpbXVsYXRlZElucHV0RGlz
cGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyREU2OTQzRDE4QkQyQTY4MDA1QzE1RTUg
LyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxREQyQTY3NDI1NjIzMkExMDBGRjdCNkYgLyogU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Q2Qjc4
MjI1NENDQ0Y0MDA1OEREM0EgLyogU3BlZWNoUmVjb2duaXRpb25TZXJ2ZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEzMzRERUQxNkRFOEY4ODAwNkE4RTM4IC8qIFN0
b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNjhF
RURFMjMwM0E5MDIwMEJEQjExQSAvKiBTdG9yYWdlTWFuYWdlclNldE1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCBlMDlh
ZjBkYzMyYmIxYmJhNWViZDg2ZTRkYzA2NzBhMDJmZjdjZDliLi5iOGE0NzIyMzQxNmRhMjVkOGIy
YzFiMjUzZjBhYjBmMzM3OWE5MTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCkBA
IC03MSw2ICs3MSwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGVnYWN5Q0RNLmg+CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAogZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVkaWE7CkBAIC0xNDgsNyAr
MTUyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnByZXBhcmVGb3JQbGF5YmFj
ayhib29sIHByaXZhdGVNb2RlLCBNZWRpYVBsYXllcjoKICAgICB9LCBtX2lkKTsKIH0KIAotdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9h
ZChjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBjb25zdCBT
dHJpbmcmIGtleVN5c3RlbSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IFN0cmlu
ZyYga2V5U3lzdGVtKQogewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4g
c2FuZGJveEV4dGVuc2lvbkhhbmRsZTsKICAgICBpZiAodXJsLmlzTG9jYWxGaWxlKCkpIHsKQEAg
LTYyNCw4ICs2MjgsMTYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW90ZVZp
ZGVvVHJhY2tDb25maWd1cmF0aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKIH0KIAogI2lmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KiBjbGllbnQpCiB7CisgICAgaWYgKG1f
cmVtb3RlRW5naW5lSWRlbnRpZmllciA9PSBNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlk
ZW50aWZpZXI6OkFWRm91bmRhdGlvbk1TRSkgeworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBS
ZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXI6OmdlbmVyYXRlKCk7CisgICAgICAgIGNvbm5lY3Rp
b24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpMb2FkTWVkaWFTb3Vy
Y2UodXJsLCBjb250ZW50VHlwZSwgaWRlbnRpZmllciksIG1faWQpOworICAgICAgICBtX21lZGlh
U291cmNlUHJpdmF0ZSA9IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlKG1fbWFuYWdl
ci5ncHVQcm9jZXNzQ29ubmVjdGlvbigpLCBpZGVudGlmaWVyLCBtX21hbmFnZXIudHlwZUNhY2hl
KG1fcmVtb3RlRW5naW5lSWRlbnRpZmllciksICp0aGlzLCBjbGllbnQpOworCisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKSwgdGhpc10gewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggZjM2MzcyNTA5ZWE5ZTRmOGUx
YTdkOGY3ZjUyNzYzYzM0ZjExZTRhMC4uMGQ2MTNjNGRiMmE0OTZiNzczYTZhMTcyYTdjYjc4ZTJj
MDEyNTQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC00Myw2ICs0MywxMCBAQAog
I2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV1RGIHsKIGNsYXNzIE1hY2hTZW5kUmlnaHQ7CiB9
CkBAIC04OCw2ICs5Miw4IEBAIHB1YmxpYzoKICAgICBJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24oKSBjb25zdCB7IHJldHVybiBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25u
ZWN0aW9uKCk7IH0KICAgICBXZWJDb3JlOjpNZWRpYVBsYXllciogcGxheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9wbGF5ZXI7IH0KIAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRl
IHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NhY2hlZFN0YXRlLnJlYWR5U3Rh
dGU7IH0KKwogICAgIHZvaWQgbmV0d29ya1N0YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0
YXRlJiYpOwogICAgIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0
ZSYmKTsKICAgICB2b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKTsKQEAgLTE1NCw2ICsxNjAsMTEg
QEAgcHVibGljOgogICAgIHZvaWQgZ2V0UmF3Q29va2llcyhjb25zdCBVUkwmLCBXZWJDb3JlOjpN
ZWRpYVBsYXllckNsaWVudDo6R2V0UmF3Q29va2llc0NhbGxiYWNrJiYpIGNvbnN0OwogI2VuZGlm
CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBjb25zdCB2b2lkKiBtZWRpYVBsYXll
ckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBsb2dJZGVudGlmaWVyKCk7IH0KKyAgICBjb25zdCBM
b2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgeyByZXR1cm4gbG9nZ2VyKCk7IH0KKyNlbmRpZgor
CiBwcml2YXRlOgogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECkBAIC0xNzAsNyArMTgxLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2Rl
LCBXZWJDb3JlOjpNZWRpYVBsYXllcjo6UHJlbG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9v
bCBwcmVwYXJlKSBmaW5hbDsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCi0gICAgdm9pZCBs
b2FkKGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZp
bmFsOworICAgIHZvaWQgbG9hZChjb25zdCBVUkwmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50VHlw
ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopIGZpbmFsOwogI2VuZGlmCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TWVkaWFTdHJl
YW1Qcml2YXRlJikgZmluYWw7CkBAIC0yNTAsNyArMjYxLDYgQEAgcHJpdmF0ZToKICAgICBkb3Vi
bGUgbWluRmFzdFJldmVyc2VSYXRlKCkgY29uc3QgZmluYWw7CiAKICAgICBXZWJDb3JlOjpNZWRp
YVBsYXllcjo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fY2FjaGVkU3RhdGUubmV0d29ya1N0YXRlOyB9Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY2FjaGVkU3Rh
dGUucmVhZHlTdGF0ZTsgfQogCiAgICAgTWVkaWFUaW1lIG1heE1lZGlhVGltZVNlZWthYmxlKCkg
Y29uc3QgZmluYWw7CiAgICAgTWVkaWFUaW1lIG1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3Qg
ZmluYWw7CkBAIC0zODQsNiArMzk0LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbW90ZUF1
ZGlvU291cmNlUHJvdmlkZXI+IG1fYXVkaW9Tb3VyY2VQcm92aWRlcjsKICNlbmRpZgogCisjaWYg
RU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
PiBtX21lZGlhU291cmNlUHJpdmF0ZTsKKyNlbmRpZgorCiAgICAgSGFzaE1hcDxSZW1vdGVNZWRp
YVJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJj
ZT4+IG1fbWVkaWFSZXNvdXJjZXM7CiAgICAgSGFzaE1hcDxUcmFja1ByaXZhdGVSZW1vdGVJZGVu
dGlmaWVyLCBSZWY8QXVkaW9UcmFja1ByaXZhdGVSZW1vdGU+PiBtX2F1ZGlvVHJhY2tzOwogICAg
IEhhc2hNYXA8VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgUmVmPFZpZGVvVHJhY2tQcml2
YXRlUmVtb3RlPj4gbV92aWRlb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNmJjZmE1YWExNWEzZTJlOTZjOTk1ZjhiZTM0N2E5NmFmZTk2NDQyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVNv
dXJjZVByaXZhdGVSZW1vdGUuY3BwCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgor
CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5j
bHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIgor
I2luY2x1ZGUgIlJlbW90ZU1lZGlhU291cmNlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJTb3VyY2VCdWZmZXJQcml2
YXRlUmVtb3RlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECitleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYTsKKyNlbmRpZgorfQor
CituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1JlZjxN
ZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU+IE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6Y3JlYXRl
KEdQVVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNo
ZSYgbWltZVR5cGVDYWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiBwbGF5ZXJQ
cml2YXRlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKK3sKKyAgICBhdXRvIG1l
ZGlhU291cmNlUHJpdmF0ZSA9IGFkb3B0UmVmKCpuZXcgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
KGdwdVByb2Nlc3NDb25uZWN0aW9uLCBpZGVudGlmaWVyLCBtaW1lVHlwZUNhY2hlLCBwbGF5ZXJQ
cml2YXRlLCBjbGllbnQpKTsKKyAgICBjbGllbnQtPnNldFByaXZhdGVBbmRPcGVuKG1lZGlhU291
cmNlUHJpdmF0ZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBtZWRpYVNvdXJjZVByaXZhdGU7Cit9
CisKK01lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlKEdQ
VVByb2Nlc3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgUmVtb3RlTWVkaWFTb3Vy
Y2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYg
bWltZVR5cGVDYWNoZSwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlJiBwbGF5ZXJQcml2
YXRlLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIGNsaWVudCkKKyAgICA6IG1fZ3B1UHJvY2Vz
c0Nvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCisgICAgLCBtX2lkZW50aWZpZXIoaWRl
bnRpZmllcikKKyAgICAsIG1fbWltZVR5cGVDYWNoZShtaW1lVHlwZUNhY2hlKQorICAgICwgbV9w
bGF5ZXJQcml2YXRlKG1ha2VXZWFrUHRyKHBsYXllclByaXZhdGUpKQorICAgICwgbV9jbGllbnQo
Y2xpZW50KQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dnZXIobV9wbGF5
ZXJQcml2YXRlLT5tZWRpYVBsYXllckxvZ2dlcigpKQorICAgICwgbV9sb2dJZGVudGlmaWVyKG1f
cGxheWVyUHJpdmF0ZS0+bWVkaWFQbGF5ZXJMb2dJZGVudGlmaWVyKCkpCisjZW5kaWYKK3sKKyAg
ICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIG1fY2xpZW50LT5zZXRMb2dJZGVudGlmaWVyKG1fbG9nSWRlbnRpZmllcik7CisjZW5kaWYK
K30KKworTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp+TWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
KCkKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworCisgICAgZm9yIChhdXRvIGl0
ID0gbV9zb3VyY2VCdWZmZXJzLmJlZ2luKCksIGVuZCA9IG1fc291cmNlQnVmZmVycy5lbmQoKTsg
aXQgIT0gZW5kOyArK2l0KQorICAgICAgICAoKml0KS0+Y2xlYXJNZWRpYVNvdXJjZSgpOworfQor
CitNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6
OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIFJlZlB0cjxT
b3VyY2VCdWZmZXJQcml2YXRlPiYgb3V0UHJpdmF0ZSkKK3sKKyAgICBERUJVR19MT0coTE9HSURF
TlRJRklFUiwgY29udGVudFR5cGUpOworCisgICAgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOworICAgIHBhcmFtZXRlcnMuaXNNZWRpYVNvdXJjZSA9IHRydWU7CisgICAg
cGFyYW1ldGVycy50eXBlID0gY29udGVudFR5cGU7CisgICAgaWYgKG1fbWltZVR5cGVDYWNoZS5z
dXBwb3J0c1R5cGVBbmRDb2RlY3MocGFyYW1ldGVycykgPT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRz
VHlwZTo6SXNOb3RTdXBwb3J0ZWQpCisgICAgICAgIHJldHVybiBBZGRTdGF0dXM6Ok5vdFN1cHBv
cnRlZDsKKworICAgIEFkZFN0YXR1cyBzdGF0dXM7CisgICAgT3B0aW9uYWw8UmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcj4gcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcjsKKyAgICBpZiAo
IW1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpS
ZW1vdGVNZWRpYVNvdXJjZVByb3h5OjpBZGRTb3VyY2VCdWZmZXIoY29udGVudFR5cGUpLCBNZXNz
YWdlczo6UmVtb3RlTWVkaWFTb3VyY2VQcm94eTo6QWRkU291cmNlQnVmZmVyOjpSZXBseShzdGF0
dXMsIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIpLCBtX2lkZW50aWZpZXIpKQorICAgICAg
ICBzdGF0dXMgPSBBZGRTdGF0dXM6Ok5vdFN1cHBvcnRlZDsKKworICAgIGlmIChzdGF0dXMgPT0g
QWRkU3RhdHVzOjpPaykgeworICAgICAgICBBU1NFUlQocmVtb3RlU291cmNlQnVmZmVySWRlbnRp
Zmllci5oYXNWYWx1ZSgpKTsKKyAgICAgICAgYXV0byBuZXdTb3VyY2VCdWZmZXIgPSBTb3VyY2VC
dWZmZXJQcml2YXRlUmVtb3RlOjpjcmVhdGUobV9ncHVQcm9jZXNzQ29ubmVjdGlvbiwgKnJlbW90
ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsICp0aGlzKTsKKyAgICAgICAgb3V0UHJpdmF0ZSA9IG5l
d1NvdXJjZUJ1ZmZlci5jb3B5UmVmKCk7CisgICAgICAgIG1fc291cmNlQnVmZmVycy5hcHBlbmQo
V1RGTW92ZShuZXdTb3VyY2VCdWZmZXIpKTsKKyAgICB9CisKKyAgICByZXR1cm4gc3RhdHVzOwor
fQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6ZHVyYXRpb25DaGFuZ2VkKCkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90
ZTo6bWFya0VuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjp1bm1hcmtFbmRPZlN0
cmVhbSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworTWVkaWFQbGF5ZXI6OlJlYWR5
U3RhdGUgTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlOjpyZWFkeVN0YXRlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9wbGF5ZXJQcml2YXRlID8gbV9wbGF5ZXJQcml2YXRlLT5yZWFkeVN0YXRlKCkg
OiBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmc7Cit9CisKK3ZvaWQgTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlOjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRl
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFTb3VyY2VQcml2YXRl
UmVtb3RlOjp3YWl0Rm9yU2Vla0NvbXBsZXRlZCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwordm9pZCBNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGU6OnNlZWtDb21wbGV0ZWQoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dU
RkxvZ0NoYW5uZWwmIE1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZTo6bG9nQ2hhbm5lbCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIExvZ01lZGlhOworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09V
UkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFjOTQ0MjViNDhiMzk2
ZTk2N2M0ZTgyMTRkZmI2ZTUzNWE1NTBiZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlLmgKQEAgLTAs
MCArMSw5NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24uaCIKKyNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUuaCIK
KyNpbmNsdWRlICJSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL0NvbnRlbnRUeXBlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNvdXJjZVByaXZhdGUu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU291cmNlUHJpdmF0ZUNsaWVudC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvU291cmNlQnVmZmVyUHJpdmF0ZS5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJI
ZWxwZXIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OworY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTsKKworY2xhc3MgTWVkaWFTb3VyY2VQ
cml2YXRlUmVtb3RlIGZpbmFsCisgICAgOiBwdWJsaWMgV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2
YXRlCisgICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3Rl
PgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIK
KyNlbmRpZgoreworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFTb3VyY2VQcml2YXRlUmVt
b3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50
aWZpZXIsIFJlbW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0IE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOworICAg
IHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZSgpOworCisgICAgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlKiBwbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3BsYXllclByaXZhdGUuZ2V0
KCk7IH0KKworICAgIC8vIE1lZGlhU291cmNlUHJpdmF0ZSBvdmVycmlkZXMKKyAgICBBZGRTdGF0
dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRUeXBlJiwgUmVmUHRyPFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGU+JikgZmluYWw7CisgICAgdm9pZCBkdXJhdGlvbkNo
YW5nZWQoKSBmaW5hbDsKKyAgICB2b2lkIG1hcmtFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1
cykgZmluYWw7CisgICAgdm9pZCB1bm1hcmtFbmRPZlN0cmVhbSgpIGZpbmFsOworICAgIFdlYkNv
cmU6Ok1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdCBmaW5hbDsKKyAg
ICB2b2lkIHNldFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUpIGZp
bmFsOworICAgIHZvaWQgd2FpdEZvclNlZWtDb21wbGV0ZWQoKSBmaW5hbDsKKyAgICB2b2lkIHNl
ZWtDb21wbGV0ZWQoKSBmaW5hbDsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNv
bnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7
IH0KKyAgICBjb25zdCB2b2lkKiBuZXh0U291cmNlQnVmZmVyTG9nSWRlbnRpZmllcigpIHsgcmV0
dXJuIGNoaWxkTG9nSWRlbnRpZmllcihtX2xvZ0lkZW50aWZpZXIsICsrbV9uZXh0U291cmNlQnVm
ZmVySUQpOyB9CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBNZWRpYVNvdXJjZVByaXZhdGVSZW1v
dGUoR1BVUHJvY2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFJl
bW90ZU1lZGlhUGxheWVyTUlNRVR5cGVDYWNoZSYsIGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZSYsIFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOworCisgICAgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb247CisgICAgUmVtb3RlTWVkaWFT
b3VyY2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKKyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVU
eXBlQ2FjaGUmIG1fbWltZVR5cGVDYWNoZTsKKyAgICBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZT4gbV9wbGF5ZXJQcml2YXRlOworICAgIFJlZlB0cjxXZWJDb3JlOjpNZWRpYVNvdXJj
ZVByaXZhdGVDbGllbnQ+IG1fY2xpZW50OworICAgIFZlY3RvcjxSZWZQdHI8U291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZT4+IG1fc291cmNlQnVmZmVyczsKKworI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuICJNZWRpYVNvdXJjZVByaXZhdGVSZW1vdGUiOyB9CisgICAgY29uc3Qgdm9pZCogbG9nSWRl
bnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIFdU
RkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKworICAgIFJlZjxjb25zdCBM
b2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyAgICB1
aW50NjRfdCBtX25leHRTb3VyY2VCdWZmZXJJRCB7IDAgfTsKKyNlbmRpZgorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TT1VSQ0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZUNETUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCmluZGV4IGM2MmM0NjRmZGZkY2Q4
YzM1NzU2YjBlMzhkYWQwZjg5MzkwNTg4NjcuLmU2NDUwODRiY2Q2MGM0NWNlNzZmM2EwM2NmZDNm
NzgzZjE2OTM0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlQ0RNQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsyNyw2IEBACiAK
ICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNp
bmNsdWRlIDxXZWJDb3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQ0RNSW5zdGFuY2VDb25maWd1
cmF0aW9uLmgKaW5kZXggNjUzMmQ3MmU3Y2U0Yjg1M2YyZDNiOTM0NTVlMTkyODFjNDE5ZmE0My4u
YTg2NTgwYmYxODYzMWJiM2JjODI2YjUzYWYxZjJkNTQ4NmU0NjI1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVDRE1JbnN0YW5jZUNvbmZpZ3Vy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUNE
TUluc3RhbmNlQ29uZmlndXJhdGlvbi5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlIDxXZWJD
b3JlL0NvbnRlbnRUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKaW5kZXggMWQ2YjNlZTNl
OTVlODBhZTg2MGU5NjZiOGM5MjczZDA4NjUzYThhYy4uYTQxNjlkNWIxYTU2ODhjYmQ2OWM1OWQ4
YjhhOWZjMmRhZDViMmNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCkBAIC02Niw2ICs2
Niw4IEBAIHB1YmxpYzoKIAogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciBmaW5k
UmVtb3RlUGxheWVySWQoY29uc3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
Kik7CiAKKyAgICBSZW1vdGVNZWRpYVBsYXllck1JTUVUeXBlQ2FjaGUmIHR5cGVDYWNoZShXZWJD
b3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIpOworCiBwcml2YXRl
OgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2U+IGNyZWF0ZVJlbW90ZU1lZGlhUGxheWVyKFdlYkNvcmU6Ok1lZGlhUGxheWVyKiwgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKIApAQCAtODMsOCAr
ODUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlKFdlYkNvcmU6Ok1lZGlh
UGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwgV2FsbFRp
bWUgbW9kaWZpZWRTaW5jZSk7CiAgICAgdm9pZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdl
YkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgSGFzaFNldDxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+PiYpOwog
Ci0gICAgUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlJiB0eXBlQ2FjaGUoV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyKTsKLQogICAgIEhhc2hNYXA8
V2ViQ29yZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyLCBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZT4+IG1fcGxheWVyczsKICAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7CiAgICAgbXV0
YWJsZSBHUFVQcm9jZXNzQ29ubmVjdGlvbiogbV9ncHVQcm9jZXNzQ29ubmVjdGlvbiB7IG51bGxw
dHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTWVkaWFTb3VyY2VJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjYjY1OTQ2
MTAwNjcwNTE3MmUxNjgwNmZlMTczNTU1M2QxMzk0YjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhU291cmNlSWRlbnRpZmll
ci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKworI2luY2x1ZGUgPHd0
Zi9PYmplY3RJZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFJlbW90
ZU1lZGlhU291cmNlSWRlbnRpZmllclR5cGUgeyB9OwordXNpbmcgUmVtb3RlTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyID0gT2JqZWN0SWRlbnRpZmllcjxSZW1vdGVNZWRpYVNvdXJjZUlkZW50aWZpZXJU
eXBlPjsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVmZmVyUHJp
dmF0ZVJlbW90ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY0NTQ4YTEwNzRkZGJjNmFjZTcxN2YzN2QyNjli
OGVkOTVlODM5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTAsMCArMSwxNzAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZS5oIgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgIk1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5oIgorI2luY2x1ZGUgIk1lZGlhU291cmNlUHJpdmF0ZVJlbW90ZS5oIgor
I2luY2x1ZGUgIlJlbW90ZVNvdXJjZUJ1ZmZlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKK2V4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lZGlhOworI2VuZGlmCit9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworUmVmPFNvdXJj
ZUJ1ZmZlclByaXZhdGVSZW1vdGU+IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmNyZWF0ZShH
UFVQcm9jZXNzQ29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIFJlbW90ZVNvdXJjZUJ1
ZmZlcklkZW50aWZpZXIgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgY29uc3QgTWVkaWFT
b3VyY2VQcml2YXRlUmVtb3RlJiBtZWRpYVNvdXJjZVByaXZhdGUpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZShncHVQcm9jZXNzQ29ubmVjdGlv
biwgcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllciwgbWVkaWFTb3VyY2VQcml2YXRlKSk7Cit9
CisKK1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OlNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUo
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyIHJlbW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIsIGNvbnN0IE1lZGlh
U291cmNlUHJpdmF0ZVJlbW90ZSYgbWVkaWFTb3VyY2VQcml2YXRlKQorICAgIDogbV9ncHVQcm9j
ZXNzQ29ubmVjdGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbikKKyAgICAsIG1fcmVtb3RlU291cmNl
QnVmZmVySWRlbnRpZmllcihyZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyKQorICAgICwgbV9t
ZWRpYVNvdXJjZVByaXZhdGUobWFrZVdlYWtQdHIobWVkaWFTb3VyY2VQcml2YXRlKSkKKyNpZiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nZ2VyKG1fbWVkaWFTb3VyY2VQcml2YXRl
LT5sb2dnZXIoKSkKKyAgICAsIG1fbG9nSWRlbnRpZmllcihtX21lZGlhU291cmNlUHJpdmF0ZS0+
bmV4dFNvdXJjZUJ1ZmZlckxvZ0lkZW50aWZpZXIoKSkKKyNlbmRpZgoreworICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUik7CisgICAgbV9ncHVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlUmVj
ZWl2ZXJNYXAoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlNvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGU6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVu
dGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKK30KKworU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6flNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoKQoreworICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUik7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7CisKKyAgICBtX2dwdVByb2Nlc3NDb25u
ZWN0aW9uLm1lc3NhZ2VSZWNlaXZlck1hcCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6U291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3Jl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIudG9VSW50NjQoKSk7Cit9CisKK3ZvaWQgU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQq
IGNsaWVudCkKK3sKKyAgICBtX2NsaWVudCA9IGNsaWVudDsKK30KKwordm9pZCBTb3VyY2VCdWZm
ZXJQcml2YXRlUmVtb3RlOjphcHBlbmQoVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYgZGF0YSkKK3sK
KyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpS
ZW1vdGVTb3VyY2VCdWZmZXJQcm94eTo6QXBwZW5kKElQQzo6RGF0YVJlZmVyZW5jZShkYXRhKSks
IG1fcmVtb3RlU291cmNlQnVmZmVySWRlbnRpZmllcik7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVy
UHJpdmF0ZVJlbW90ZTo6YWJvcnQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6cmVzZXRQYXJzZXJTdGF0ZSgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpy
ZW1vdmVkRnJvbU1lZGlhU291cmNlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitN
ZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpyZWFkeVN0
YXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlh
U291cmNlUHJpdmF0ZS0+cGxheWVyKCktPnJlYWR5U3RhdGUoKSA6IE1lZGlhUGxheWVyOjpSZWFk
eVN0YXRlOjpIYXZlTm90aGluZzsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
OjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6Zmx1c2goY29u
c3QgQXRvbVN0cmluZyYgdHJhY2tJRCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OmVucXVldWVTYW1wbGUoUmVmPE1lZGlhU2Ft
cGxlPiYmLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK2Jvb2wgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90ZTo6aXNSZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldEFjdGl2ZShib29sKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZVJlbW90
ZTo6bm90aWZ5Q2xpZW50V2hlblJlYWR5Rm9yTW9yZVNhbXBsZXMoY29uc3QgQXRvbVN0cmluZyYg
dHJhY2tJRCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIFNvdXJjZUJ1ZmZl
clByaXZhdGVSZW1vdGU6OmNhblNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29u
c3QgQXRvbVN0cmluZyYpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6OnNldE1pbmltdW1VcGNvbWluZ1ByZXNlbnRhdGlvblRp
bWUoY29uc3QgQXRvbVN0cmluZyYsIGNvbnN0IE1lZGlhVGltZSYpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKK30KKwordm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjbGVhck1pbmlt
dW1VcGNvbWluZ1ByZXNlbnRhdGlvblRpbWUoY29uc3QgQXRvbVN0cmluZyYpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKworYm9vbCBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpjYW5T
d2l0Y2hUb1R5cGUoY29uc3QgQ29udGVudFR5cGUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGU6
OnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShTb3VyY2VCdWZmZXJQcml2YXRlQ2xp
ZW50OjpBcHBlbmRSZXN1bHQgYXBwZW5kUmVzdWx0KQoreworICAgIGlmIChtX2NsaWVudCkKKyAg
ICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVBcHBlbmRDb21wbGV0ZShhcHBlbmRS
ZXN1bHQpOworfQorCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBT
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gTG9nTWVkaWE7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZh
dGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvU291cmNlQnVm
ZmVyUHJpdmF0ZVJlbW90ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5YTAxYjA2MjVlM2I3YzdmMDExODRhODNj
MzZlNTQ5MTIyZjA5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1NvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUuaApAQCAtMCwwICsxLDExMiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBFTkFCTEUoTUVESUFfU09VUkNFKQorCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVTb3VyY2VC
dWZmZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50VHlwZS5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTWVkaWFTYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1
ZmZlclByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1NvdXJjZUJ1ZmZlclByaXZhdGVDbGll
bnQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CisjaW5jbHVkZSA8d3RmL01lZGlh
VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Cisj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Citj
bGFzcyBEYXRhUmVmZXJlbmNlOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTWVk
aWFTb3VyY2VQcml2YXRlUmVtb3RlOworCitjbGFzcyBTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3Rl
IGZpbmFsCisgICAgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8U291cmNlQnVmZmVyUHJpdmF0ZVJl
bW90ZT4KKyAgICAsIHB1YmxpYyBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlCisgICAgLCBw
cml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlPiBjcmVhdGUoR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24mLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRpYVNvdXJjZVByaXZh
dGVSZW1vdGUmKTsKKyAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlKCk7CisK
KyAgICB2b2lkIGNsZWFyTWVkaWFTb3VyY2UoKSB7IG1fbWVkaWFTb3VyY2VQcml2YXRlID0gbnVs
bHB0cjsgfQorCitwcml2YXRlOgorICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUoR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24mLCBSZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVyLCBjb25zdCBNZWRp
YVNvdXJjZVByaXZhdGVSZW1vdGUmKTsKKworICAgIC8vIFNvdXJjZUJ1ZmZlclByaXZhdGUgb3Zl
cnJpZGVzCisgICAgdm9pZCBzZXRDbGllbnQoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNs
aWVudCopIGZpbmFsOworICAgIHZvaWQgYXBwZW5kKFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiYmKSBm
aW5hbDsKKyAgICB2b2lkIGFib3J0KCkgZmluYWw7CisgICAgdm9pZCByZXNldFBhcnNlclN0YXRl
KCkgZmluYWw7CisgICAgdm9pZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCkgZmluYWw7CisgICAg
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSgpIGNvbnN0IGZpbmFs
OworICAgIHZvaWQgc2V0UmVhZHlTdGF0ZShXZWJDb3JlOjpNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZSkgZmluYWw7CisgICAgdm9pZCBmbHVzaChjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5h
bDsKKyAgICB2b2lkIGVucXVldWVTYW1wbGUoUmVmPFdlYkNvcmU6Ok1lZGlhU2FtcGxlPiYmLCBj
b25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICBib29sIGlzUmVhZHlGb3JNb3Jl
U2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lEKSBmaW5hbDsKKyAgICB2b2lkIHNldEFj
dGl2ZShib29sKSBmaW5hbDsKKyAgICB2b2lkIG5vdGlmeUNsaWVudFdoZW5SZWFkeUZvck1vcmVT
YW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSUQpIGZpbmFsOworICAgIGJvb2wgY2FuU2V0
TWluaW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgY29uc3Qg
ZmluYWw7CisgICAgdm9pZCBzZXRNaW5pbXVtVXBjb21pbmdQcmVzZW50YXRpb25UaW1lKGNvbnN0
IEF0b21TdHJpbmcmLCBjb25zdCBNZWRpYVRpbWUmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyTWlu
aW11bVVwY29taW5nUHJlc2VudGF0aW9uVGltZShjb25zdCBBdG9tU3RyaW5nJikgZmluYWw7Cisg
ICAgYm9vbCBjYW5Td2l0Y2hUb1R5cGUoY29uc3QgV2ViQ29yZTo6Q29udGVudFR5cGUmKSBmaW5h
bDsKKworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJikgZmluYWw7CisgICAgdm9pZCBzb3VyY2VCdWZmZXJQcml2YXRlQXBwZW5kQ29tcGxl
dGUoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudDo6QXBwZW5kUmVzdWx0KTsKKwor
ICAgIEdQVVByb2Nlc3NDb25uZWN0aW9uJiBtX2dwdVByb2Nlc3NDb25uZWN0aW9uOworICAgIFJl
bW90ZVNvdXJjZUJ1ZmZlcklkZW50aWZpZXIgbV9yZW1vdGVTb3VyY2VCdWZmZXJJZGVudGlmaWVy
OworICAgIFdlYWtQdHI8TWVkaWFTb3VyY2VQcml2YXRlUmVtb3RlPiBtX21lZGlhU291cmNlUHJp
dmF0ZTsKKyAgICBXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50KiBtX2NsaWVudCB7
IG51bGxwdHIgfTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIGNvbnN0IExvZ2dl
ciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBj
b25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiU291cmNl
QnVmZmVyUHJpdmF0ZVJlbW90ZSI7IH0KKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgV1RGTG9nQ2hhbm5l
bCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IExvZ2dlciYgc291cmNlQnVm
ZmVyTG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dnZXIuZ2V0KCk7IH0KKyAgICBj
b25zdCB2b2lkKiBzb3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9n
SWRlbnRpZmllcigpOyB9CisKKyAgICBSZWY8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBj
b25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U09VUkNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9T
b3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9Tb3VyY2VCdWZmZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhMTk4MjExY2U5OWFiYWQ1YjhlZTA3ZmQ0ZTE3N2JkZmE5NWE0MGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1NvdXJjZUJ1
ZmZlclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisKK21l
c3NhZ2VzIC0+IFNvdXJjZUJ1ZmZlclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CisgICAg
U291cmNlQnVmZmVyUHJpdmF0ZUFwcGVuZENvbXBsZXRlKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVDbGllbnQ6OkFwcGVuZFJlc3VsdCBhcHBlbmRSZXN1bHQpCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>