<?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>201513</bug_id>
          
          <creation_ts>2019-09-05 13:01:02 -0700</creation_ts>
          <short_desc>[JSC] Generalize Get/PutPromiseInternalField for InternalFieldObjectImpl</short_desc>
          <delta_ts>2019-09-05 14:48:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1568213</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 13:01:02 -0700</bug_when>
    <thetext>To reuse it for generators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568217</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-05 13:09:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/55080640&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568219</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 13:13:13 -0700</bug_when>
    <thetext>The goal of making Generator internal-field-object is avoiding op_get_by_id_direct for generators.
Each generator has different structure since [[Prototype]] of them are different (defined in the spec). As a result, Generator.prototype.next&apos;s internal field accesses are getting super generic get_by_id.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568220</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 13:13:49 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #2)
&gt; The goal of making Generator internal-field-object is avoiding
&gt; op_get_by_id_direct for generators.
&gt; Each generator has different structure since [[Prototype]] of them are
&gt; different (defined in the spec). As a result, Generator.prototype.next&apos;s
&gt; internal field accesses are getting super generic get_by_id.

If multiple generators exist in one app, we hits this slow-case. And JetStream2/Basic is the one I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568232</commentid>
    <comment_count>4</comment_count>
      <attachid>378113</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 13:38:45 -0700</bug_when>
    <thetext>Created attachment 378113
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568233</commentid>
    <comment_count>5</comment_count>
      <attachid>378114</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 13:45:50 -0700</bug_when>
    <thetext>Created attachment 378114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568238</commentid>
    <comment_count>6</comment_count>
      <attachid>378116</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 13:57:19 -0700</bug_when>
    <thetext>Created attachment 378116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568242</commentid>
    <comment_count>7</comment_count>
      <attachid>378116</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-09-05 14:01:52 -0700</bug_when>
    <thetext>Comment on attachment 378116
Patch

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

Looks nice and simple to me.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:168
&gt; +const JSInternalFieldObjectImpl_internalFields = JSInternalFieldObjectImpl::m_internalFields

Is this constant just a stylistic matter? Just curious since we weren&apos;t using one before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568263</commentid>
    <comment_count>8</comment_count>
      <attachid>378116</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 14:39:09 -0700</bug_when>
    <thetext>Comment on attachment 378116
Patch

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

&gt;&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:168
&gt;&gt; +const JSInternalFieldObjectImpl_internalFields = JSInternalFieldObjectImpl::m_internalFields
&gt; 
&gt; Is this constant just a stylistic matter? Just curious since we weren&apos;t using one before.

I used it since `&lt;&gt;` syntax is not available in LLInt right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1568271</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-09-05 14:48:50 -0700</bug_when>
    <thetext>Committed r249547: &lt;https://trac.webkit.org/changeset/249547&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378113</attachid>
            <date>2019-09-05 13:38:45 -0700</date>
            <delta_ts>2019-09-05 13:45:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201513-20190905133844.patch</filename>
            <type>text/plain</type>
            <size>65691</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MzY4ZDQyZDQxNzE3ZjM0MjIyOTNlNDM1MDNmYWE3MmQ5ODYwYWI2Li5jNWE3MDliMmU2NDg2ZDBi
Zjk0YzE5ZDMzZTQ5ZGFiZTMwMTk1MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTktMDktMDUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBHZW5lcmFsaXplIEdldC9QdXRQcm9taXNlSW50ZXJuYWxGaWVs
ZCBmb3IgSW50ZXJuYWxGaWVsZE9iamVjdEltcGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTUxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZXh0cmFjdHMgSlNQcm9taXNlJ3MgaW50
ZXJuYWwgZmllbGRzIG1lY2hhbmlzbSBhcyBKU0ludGVybmFsRmllbGRzT2JqZWN0SW1wbCwgYW5k
IG1ha2UgaXQgcmV1c2FibGUgZm9yIHRoZSBvdGhlciBvYmplY3RzLgorICAgICAgICBJdCBpcyBw
cmVwYXJhdGlvbiBmb3IgdXNpbmcgdGhpcyBpbnRlcm5hbCBmaWVsZHMgbWVjaGFuaXNtIGZvciBn
ZW5lcmF0b3JzLCBhc3luYyBmdW5jdGlvbnMsIGFzeW5jIGdlbmVyYXRvcnMsIGFycmF5IGl0ZXJh
dG9ycyBhbmQgc28gb24uCisKKyAgICAgICAgVGhlIHByb2ZpbGVyIGlzIHRlbGxpbmcgbWFueSBy
ZWNvbXBpbGF0aW9uIG9mIEdlbmVyYXRvcidzIHJlc3VtZSBmdW5jdGlvbiAoaW5jbHVkaW5nIGFz
eW5jIGdlbmVyYXRvcidzIG9uZSkuIFRoaXMgaXMgd2UgYXJlIHVzaW5nIHByb3BlcnRpZXMKKyAg
ICAgICAgd2l0aCBwcml2YXRlLXN5bWJvbHMgYXMgYSBzdG9yYWdlIGZvciBpbnRlcm5hbCBzdGF0
ZSBvZiBnZW5lcmF0b3JzLiBIb3dldmVyLCB0aGUgc3BlYyBkZWZpbmVzIHRoYXQgZWFjaCBnZW5l
cmF0b3IgZnJvbSBkaWZmZXJlbnQgZ2VuZXJhdG9yLWZ1bmN0aW9ucworICAgICAgICBoYXMgZGlm
ZmVyZW50IFtbUHJvdG90eXBlXV0uIFdoaWxlIHdlIG5lZWQgdG8gc2hhcmUgb25lIEdlbmVyYXRv
ci5wcm90b3R5cGUubmV4dCBmdW5jdGlvbiwgZ2VuZXJhdG9ycyB0ZW5kIHRvIGhhdmUgZGlmZmVy
ZW50IFN0cnVjdHVyZXMgZHVlIHRvCisgICAgICAgIGRpZmZlcmVudCBbW1Byb3RvdHlwZV1dIGFu
ZCBhY2Nlc3NpbmcgaW50ZXJuYWwgZmllbGRzIHdpdGggYGdldF9ieV9pZF9kaXJlY3RgIHNhZGx5
IGJlY29tZXMgc3VwZXIgbWVnYW1vcnBoaWMgd2hpbGUgaXQgaXMgbm90IG5lY2Vzc2FyeS4KKyAg
ICAgICAgQW5kIGV2ZXJ5IHRpbWUgbmV3IFN0cnVjdHVyZSBmb3IgbmV3IGdlbmVyYXRvciBwb3Bz
IHVwLCBERkcvRlRMIGNvZGUgZm9yIGdlbmVyYXRvciByZXN1bWUgZnVuY3Rpb24gZ2V0cyBPU1Ig
ZXhpdCBvciBldmVudHVhbGx5IHRoaXMgZnVuY3Rpb24gZ2V0cworICAgICAgICBlbWl0cyBzdXBl
ciBnZW5lcmljIGNvZGUgdW5mb3J0dW5hdGVseS4gQnkgdXNpbmcgaW50ZXJuYWwgZmllbGRzIGZv
ciBzdG9yaW5nIHRoZXNlIHN0YXRlLCB3ZSBjYW4gYXZvaWQgdGhpcyBwZXJmb3JtYW5jZSBwcm9i
bGVtLgorCisgICAgICAgIEJ5dGVjb2RlcyBhbmQgY29ycmVzcG9uZGluZyBERkcgbm9kZXMgYXJl
IGp1c3QgcmVuYW1lZC4gSlNQcm9taXNlIGlzIG5vdyBpbmhlcml0aW5nIEpTSW50ZXJuYWxGaWVs
ZHNPYmplY3RJbXBsLCB3aGljaCBjYW4gaG9sZHMgc3BlY2lmaWVkCisgICAgICAgIG51bWJlciBv
ZiBpbnRlcm5hbCBmaWVsZHMuIEFuZCBvcF9nZXRfaW50ZXJuYWxfZmllbGQgLyBvcF9wdXRfaW50
ZXJuYWxfZmllbGQgY2FuIGFjY2VzcyB0aGVzZSBpbnRlcm5hbCBmaWVsZHMuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYjoKKyAgICAg
ICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpjb21wdXRlVXNl
c0ZvckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6Y29tcHV0ZURlZnNGb3JCeXRlY29k
ZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvT3Bjb2Rl
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRJbnRlcm5hbEZpZWxkKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQdXRJbnRlcm5hbEZpZWxkKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCk6
IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0UHJvbWlz
ZUludGVybmFsRmllbGQpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX2dldFBy
b21pc2VJbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVJbnRyaW5zaWNOb2Rl
OjplbWl0X2ludHJpbnNpY19wdXRQcm9taXNlSW50ZXJuYWxGaWVsZCk6CisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVz
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGRm
Zy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAg
ICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAg
ICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQ
aGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTWF5RXhpdC5jcHA6CisgICAgICAg
ICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNJbnRlcm5hbEZp
ZWxkSW5kZXgpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc0hlYXBQcmVkaWN0aW9uKToK
KyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6
CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUdldEludGVybmFsRmllbGQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
Ojpjb21waWxlUHV0SW50ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVDcmVhdGVQcm9taXNlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU5ld1Byb21pc2UpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmll
bGQpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAg
ICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAg
ICAgICAgKiBkZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwOgorICAgICAgICAq
IGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICog
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRG
R1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9C
Mzo6Y29tcGlsZU5ld1Byb21pc2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlQ3JlYXRlUHJvbWlzZSk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dl
ckRGR1RvQjM6OmNvbXBpbGVHZXRJbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1dEludGVybmFsRmllbGQpOgorICAgICAgICAoSlND
OjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxl
UHV0UHJvbWlzZUludGVybmFsRmllbGQpOiBEZWxldGVkLgorICAgICAgICAqIGppdC9KSVQuY3Bw
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAq
IGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2ludGVybmFsX2ZpZWxkKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0X29wX3B1dF9pbnRlcm5hbF9maWVsZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRfb3BfZ2V0X2ludGVybmFsX2ZpZWxkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9pbnRlcm5hbF9maWVsZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfcHJv
bWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAgICAgICogbGxpbnQv
TExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
OgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICog
cnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oLgorICAgICAgICAoSlNDOjpKU0ludGVy
bmFsRmllbGRPYmplY3RJbXBsOjphbGxvY2F0aW9uU2l6ZSk6CisgICAgICAgIChKU0M6OkpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGw6OmludGVybmFsRmllbGQgY29uc3QpOgorICAgICAgICAoSlND
OjpKU0ludGVybmFsRmllbGRPYmplY3RJbXBsOjppbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpT
Qzo6SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcyk6Cisg
ICAgICAgIChKU0M6OkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw6Om9mZnNldE9mSW50ZXJuYWxG
aWVsZCk6CisgICAgICAgIChKU0M6OkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw6OkpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvSlNJbnRlcm5hbEZpZWxkT2Jq
ZWN0SW1wbElubGluZXMuaDogQWRkZWQuCisgICAgICAgIChKU0M6OkpTSW50ZXJuYWxGaWVsZE9i
amVjdEltcGw8cGFzc2VkTnVtYmVyT2ZJbnRlcm5hbEZpZWxkcz46OnZpc2l0Q2hpbGRyZW4pOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNl
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZTo6dmlzaXRDaGlsZHJl
bik6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZTo6c3RhdHVzIGNvbnN0KToKKyAgICAgICAgKEpT
Qzo6SlNQcm9taXNlOjpyZXN1bHQgY29uc3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6Omlz
SGFuZGxlZCBjb25zdCk6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2UuaDoKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlOjphbGxvY2F0aW9uU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OkpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcyk6IERlbGV0ZWQuCisgICAgICAgIChK
U0M6OkpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKTogRGVsZXRlZC4KKyAgICAgICAg
KCk6IERlbGV0ZWQuCisKIDIwMTktMDktMDUgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTGF6eUNsYXNzU3RydWN0dXJlOjpzZXRDb25zdHJ1Y3RvciBzaG91
bGQgbm90IHN0b3JlIHRoZSBjb25zdHJ1Y3RvciB0byB0aGUgZ2xvYmFsIG9iamVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNlNmE0OTc2MzhhYWJmZTJjMmRjMGNlYWEx
ZjI3NGE3Mzg4MWNhYzQuLmQ5OTQwZmY1Y2M5NmUyMjBiNzNmOGQ2NTUxY2QxNjQ4OGQxMGVmYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTg2NSw2ICs4NjUsNyBAQCBz
ZXQoSmF2YVNjcmlwdENvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHJ1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaAogICAgIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RJbmxp
bmVzLmgKICAgICBydW50aW1lL0pTSW1tdXRhYmxlQnV0dGVyZmx5LmgKKyAgICBydW50aW1lL0pT
SW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaAogICAgIHJ1bnRpbWUvSlNJbnRlcm5hbFByb21pc2Uu
aAogICAgIHJ1bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCiAgICAgcnVudGltZS9K
U01pY3JvdGFzay5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVkYWZlNjQwOWU4
ZmExOWY1NWIwMjZiZGQ1YjllM2U4MTVmNjVhMjkuLjBkODhiNTQ0Y2FjMWY3OGY4ZThlNjk3NmVm
MDIwYmMzYWVkZjg3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzg2LDkg
KzE3ODYsMTEgQEAKIAkJRTMyOERBRTkxRDM4RDAwNTAwMUEyNTI5IC8qIEJ5dGVjb2RlR3JhcGgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDI2NDI4
MUQzOEMwNDIwMDBCRTE3NCAvKiBCeXRlY29kZUdyYXBoLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyOERBRUIxRDM4RDAwNTAwMUEyNTI5IC8q
IEJ5dGVjb2RlUmV3cml0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzRDI2NDJBMUQzOEMwNDIwMDBCRTE3NCAvKiBCeXRlY29kZVJld3JpdGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyQUIy
NDQxRENENzVGNDAwRDc1MzNBIC8qIE1hY3JvQXNzZW1ibGVySGVscGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4MEE3NkIxRENENzE5NTAwMEY4
OUU2IC8qIE1hY3JvQXNzZW1ibGVySGVscGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzMzA5NUREMjMyMTBBMUIwMEVCNzg1NiAvKiBKU0lu
dGVybmFsRmllbGRPYmplY3RJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzMwOTVEQzIzMjEwQTE0MDBFQjc4NTYgLyogSlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUUzMzRDQkI1MjFGRDk2QTkwMDBFQjE3OCAvKiBSZWdFeHBHbG9iYWxEYXRhLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzM0Q0JCMzIxRkQ5
NkE5MDAwRUIxNzggLyogUmVnRXhwR2xvYmFsRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMzYzN0E2MUI2MzIyMDIwMEVFMDg0MCAvKiBS
ZWZsZWN0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzM2MzdBNDFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMzdCOTY3MjI0MzI0
RUEwMDkzQTgyMCAvKiBXYXNtQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzM3Qjk2NjIyNDMyNEU1MDA5M0E4MjAgLyogV2FzbUNh
cGFiaWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUUzMzk3MDA1MjMyMTBFMEIwMEIwQUUyMSAvKiBKU0ludGVybmFsRmllbGRPYmplY3RJ
bXBsSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTMzOTcwMDQyMzIxMEUwQTAwQjBBRTIxIC8qIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJ
bmxpbmVzLmggKi87IH07CiAJCUUzM0E5NDk2MjI1NTMyMzAwMEQ0MkIwNiAvKiBSYW5kb21pemlu
Z0Z1enplckFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzNBOTQ5NDIyNTUzMjI5MDBENDJCMDYgLyogUmFuZG9taXppbmdGdXp6ZXJBZ2VudC5o
ICovOyB9OwogCQlFMzNBOTQ5NzIyNTUzMjMzMDBENDJCMDYgLyogRnV6emVyQWdlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzM0E5NDkyMjI1NTMy
MjkwMEQ0MkIwNiAvKiBGdXp6ZXJBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUzM0IzRTI2MUI3QUJENzUwMDQ4REIyRSAvKiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25PYmplY3QubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzNCM0UyNTFCN0FCRDc1MDA0OERCMkUgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uT2JqZWN0Lmx1dC5oICovOyB9OwpAQCAtNDg2NywxMSArNDg2OSwxMyBA
QAogCQlFMzMwNUZCMDIwQjBGNzg3MDBDRUI4MkIgLyogSW5CeUlkVmFyaWFudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbkJ5SWRWYXJpYW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzMDVGQjEyMEIwRjc4ODAwQ0VCODJCIC8qIEluQnlJ
ZFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5CeUlkVmFyaWFu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzMwNUZCMjIwQjBGNzg4MDBDRUI4
MkIgLyogSW5CeUlkU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEluQnlJZFN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzMzA5
NURDMjMyMTBBMTQwMEVCNzg1NiAvKiBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMzNENCQjIyMUZEOTZBODAwMEVCMTc4IC8qIFJlZ0V4cEdsb2JhbERhdGEu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwR2xvYmFsRGF0
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzRDQkIzMjFGRDk2QTkwMDBF
QjE3OCAvKiBSZWdFeHBHbG9iYWxEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlZ0V4cEdsb2JhbERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMz
NjM3QTMxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmbGVjdE9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzMzYzN0E0MUI2MzIyMDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZmxlY3RPYmplY3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzN0I5NjYyMjQzMjRFNTAwOTNBODIwIC8qIFdh
c21DYXBhYmlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbUNhcGFiaWxpdGllcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzM5NzAwNDIzMjEwRTBBMDBCMEFFMjEgLyogSlNJ
bnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTMzQTk0OTIyMjU1MzIyOTAwRDQyQjA2IC8qIEZ1enplckFnZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEZ1enplckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzM0E5NDkzMjI1NTMyMjkwMEQ0MkIwNiAvKiBSYW5kb21pemluZ0Z1enplckFnZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJhbmRvbWl6aW5nRnV6emVyQWdlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzNBOTQ5NDIyNTUzMjI5MDBENDJCMDYgLyogUmFu
ZG9taXppbmdGdXp6ZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSYW5kb21pemluZ0Z1enplckFn
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MTg5LDYgKzcxOTMsOCBAQAog
CQkJCTBGMkI2NkNBMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0ludDE2QXJyYXkuaCAqLywKIAkJCQkw
RjJCNjZDQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQzMkFycmF5LmggKi8sCiAJCQkJMEYyQjY2
QzkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50OEFycmF5LmggKi8sCisJCQkJRTMzMDk1REMyMzIx
MEExNDAwRUI3ODU2IC8qIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaCAqLywKKwkJCQlFMzM5
NzAwNDIzMjEwRTBBMDBCMEFFMjEgLyogSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMu
aCAqLywKIAkJCQlFMzNGNTA3RTFCODQyOUE0MDA0MTM4NTYgLyogSlNJbnRlcm5hbFByb21pc2Uu
Y3BwICovLAogCQkJCUUzM0Y1MDdGMUI4NDI5QTQwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlz
ZS5oICovLAogCQkJCUUzM0Y1MDc2MUI4NDIyNTcwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlz
ZUNvbnN0cnVjdG9yLmNwcCAqLywKQEAgLTk2NTEsNiArOTY1Nyw4IEBACiAJCQkJMEYyQjY2Rjkx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYy
QjY2RjcxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50OEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNzZDNTE3NjExODI3NDhEMDA3MTVCMDUgLyogSlNJbnRlcmZhY2VKSVQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUUzMzA5NUREMjMyMTBBMUIwMEVCNzg1NiAvKiBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzM5NzAwNTIzMjEwRTBCMDBCMEFFMjEgLyog
SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUz
M0Y1MDgxMUI4NDI5QTQwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTMzRjUwNzkxQjg0MjI1NzAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlQ29u
c3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzM0Y1MDg3MUI4NDQ5RUYwMDQxMzg1NiAv
KiBKU0ludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYgppbmRleCA2NThl
MTFlOGIzZDA1NWYwNTc4YzY2NWYwM2M1YjU2ZWI0YjE0Yzc3Li4zYjM5OThhYjUwY2Q2MjAzMDli
YWM2ZDY3ZmQ2OTE4ZmY0YTAxYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QucmIKQEAgLTExMjksNyArMTEyOSw3IEBACiAgICAgICAgIHByb3Bl
cnR5OiB1bnNpZ25lZCwKICAgICB9CiAKLW9wIDpnZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCwK
K29wIDpnZXRfaW50ZXJuYWxfZmllbGQsCiAgICAgYXJnczogewogICAgICAgICBkc3Q6IFZpcnR1
YWxSZWdpc3RlciwKICAgICAgICAgYmFzZTogVmlydHVhbFJlZ2lzdGVyLApAQCAtMTEzOSw3ICsx
MTM5LDcgQEAKICAgICAgICAgcHJvZmlsZTogVmFsdWVQcm9maWxlLAogICAgIH0KIAotb3AgOnB1
dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkLAorb3AgOnB1dF9pbnRlcm5hbF9maWVsZCwKICAgICBh
cmdzOiB7CiAgICAgICAgIGJhc2U6IFZpcnR1YWxSZWdpc3RlciwKICAgICAgICAgaW5kZXg6IHVu
c2lnbmVkLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VE
ZWYuaAppbmRleCA3M2I1YTU4MDQ4YzdlNDI3YTQ3NDNkMjI1N2U3M2E4Y2NhNjFhODIxLi5iZTA4
NTk2NDBmYjEwN2RlOGI3ODJiY2ZhNTA4MWJjN2QxYzc5YmMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMjU0LDggKzI1NCw4IEBA
IHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldChCbG9jayogY29kZUJsb2NrLCBPcGNv
ZGVJRCBvcGNvZGVJRCwgY29uc3QgSW5zCiAgICAgVVNFUyhPcFN3aXRjaENoYXIsIHNjcnV0aW5l
ZSkKICAgICBVU0VTKE9wU3dpdGNoSW1tLCBzY3J1dGluZWUpCiAKLSAgICBVU0VTKE9wR2V0UHJv
bWlzZUludGVybmFsRmllbGQsIGJhc2UpCi0gICAgVVNFUyhPcFB1dFByb21pc2VJbnRlcm5hbEZp
ZWxkLCBiYXNlLCB2YWx1ZSkKKyAgICBVU0VTKE9wR2V0SW50ZXJuYWxGaWVsZCwgYmFzZSkKKyAg
ICBVU0VTKE9wUHV0SW50ZXJuYWxGaWVsZCwgYmFzZSwgdmFsdWUpCiAKICAgICBVU0VTKE9wWWll
bGQsIGdlbmVyYXRvciwgYXJndW1lbnQpCiAKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIGNvbXB1
dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQgb3Bjb2Rl
SUQsIGNvbnN0IElucwogICAgIGNhc2Ugb3BfcHV0X3NldHRlcl9ieV92YWw6CiAgICAgY2FzZSBv
cF9wdXRfYnlfdmFsOgogICAgIGNhc2Ugb3BfcHV0X2J5X3ZhbF9kaXJlY3Q6Ci0gICAgY2FzZSBv
cF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZDoKKyAgICBjYXNlIG9wX3B1dF9pbnRlcm5hbF9m
aWVsZDoKICAgICBjYXNlIG9wX2RlZmluZV9kYXRhX3Byb3BlcnR5OgogICAgIGNhc2Ugb3BfZGVm
aW5lX2FjY2Vzc29yX3Byb3BlcnR5OgogICAgIGNhc2Ugb3BfcHJvZmlsZV90eXBlOgpAQCAtNDc3
LDcgKzQ3Nyw3IEBAIHZvaWQgY29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChCbG9jayogY29k
ZUJsb2NrLCBPcGNvZGVJRCBvcGNvZGVJRCwgY29uc3QgSW5zCiAgICAgREVGUyhPcEdldEFyZ3Vt
ZW50LCBkc3QpCiAgICAgREVGUyhPcENyZWF0ZVJlc3QsIGRzdCkKICAgICBERUZTKE9wR2V0UmVz
dExlbmd0aCwgZHN0KQotICAgIERFRlMoT3BHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgZHN0KQor
ICAgIERFRlMoT3BHZXRJbnRlcm5hbEZpZWxkLCBkc3QpCiAKICAgICBERUZTKE9wQ2F0Y2gsIGV4
Y2VwdGlvbiwgdGhyb3duVmFsdWUpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAKaW5kZXggYmYzN2IwZjU5MWIxYWRjODlmNGU3NjI0ZGEwOTMwOGE1YWFi
MWM4Zi4uMjk0M2IyYjEwMDNjNWY4ZjFhMzBjZTU2NTI2ODRkNDQzNmU3OGVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTU0MCw3ICs1NDAs
NyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRh
YmxlKiBvd25lckV4ZWN1dGFibGUsIFVubGluawogICAgICAgICBMSU5LKE9wVG9OdW1iZXIsIHBy
b2ZpbGUpCiAgICAgICAgIExJTksoT3BUb09iamVjdCwgcHJvZmlsZSkKICAgICAgICAgTElOSyhP
cEdldEFyZ3VtZW50LCBwcm9maWxlKQotICAgICAgICBMSU5LKE9wR2V0UHJvbWlzZUludGVybmFs
RmllbGQsIHByb2ZpbGUpCisgICAgICAgIExJTksoT3BHZXRJbnRlcm5hbEZpZWxkLCBwcm9maWxl
KQogICAgICAgICBMSU5LKE9wVG9UaGlzLCBwcm9maWxlKQogICAgICAgICBMSU5LKE9wQml0YW5k
LCBwcm9maWxlKQogICAgICAgICBMSU5LKE9wQml0b3IsIHByb2ZpbGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggZGNiZWI4YWQ2NGQwM2Q5ZjI4MmUyMjg3MTY1
ZmUwODIzMmE0OTkwMi4uNDJhNTZmYjMyNThhY2M1NjIwYTdhNmFkNTEwYmRlZWFhOGI5OTljOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaApAQCAtOTcsNyArOTcsNyBA
QCBleHRlcm4gY29uc3QgdW5zaWduZWQgb3Bjb2RlTGVuZ3Roc1tdOwogICAgIG1hY3JvKE9wVG9O
dW1iZXIpIFwKICAgICBtYWNybyhPcFRvT2JqZWN0KSBcCiAgICAgbWFjcm8oT3BHZXRBcmd1bWVu
dCkgXAotICAgIG1hY3JvKE9wR2V0UHJvbWlzZUludGVybmFsRmllbGQpIFwKKyAgICBtYWNybyhP
cEdldEludGVybmFsRmllbGQpIFwKICAgICBtYWNybyhPcFRvVGhpcykgXAogICAgIG1hY3JvKE9w
Q2FsbCkgXAogICAgIG1hY3JvKE9wVGFpbENhbGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggN2Y2
N2Q2NjQ5YWViOGQ2ODVjMTcxNWQ0OTNmMGI4NmEyZWVhZTg0MS4uZWE3YTRhYzQ2MDg3NGY4OWYw
OWZjNTY5NDBhNDFiMGIxNjExMjYxNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI4MDgsMTUgKzI4
MDgsMTUgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXREZWxldGVCeVZhbChS
ZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UKICAgICByZXR1cm4gZHN0OwogfQogCi1S
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldFByb21pc2VJbnRlcm5hbEZpZWxk
KFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogYmFzZSwgdW5zaWduZWQgaW5kZXgpCitSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEludGVybmFsRmllbGQoUmVnaXN0ZXJJ
RCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCkKIHsKLSAgICBPcEdldFBy
b21pc2VJbnRlcm5hbEZpZWxkOjplbWl0KHRoaXMsIGRzdCwgYmFzZSwgaW5kZXgpOworICAgIE9w
R2V0SW50ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBkc3QsIGJhc2UsIGluZGV4KTsKICAgICByZXR1
cm4gZHN0OwogfQogCi1SZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkKFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGluZGV4LCBSZWdpc3Rl
cklEKiB2YWx1ZSkKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0SW50ZXJu
YWxGaWVsZChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwgUmVnaXN0ZXJJRCogdmFs
dWUpCiB7Ci0gICAgT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBiYXNlLCBp
bmRleCwgdmFsdWUpOworICAgIE9wUHV0SW50ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBiYXNlLCBp
bmRleCwgdmFsdWUpOwogICAgIHJldHVybiB2YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGJi
MDRjZWU0MjRlNTI0MWI3NzJhYTAzYWFkNGIzYmY0MTE0YWE1NjAuLjk0ZWViMTMyNjEwNmZmNmRk
Y2Q3NDkzMWRlYTBhYjI5MTk0ZGRjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTc3Niw4ICs3NzYsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdERpcmVjdFB1dEJ5VmFs
KFJlZ2lzdGVySUQqIGJhc2UsIFJlZ2lzdGVySUQqIHByb3BlcnR5LCBSZWdpc3RlcklEKiB2YWx1
ZSk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXREZWxldGVCeVZhbChSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIGJhc2UsIFJlZ2lzdGVySUQqIHByb3BlcnR5KTsKIAotICAgICAgICBSZWdp
c3RlcklEKiBlbWl0R2V0UHJvbWlzZUludGVybmFsRmllbGQoUmVnaXN0ZXJJRCogZHN0LCBSZWdp
c3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCk7Ci0gICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQ
dXRQcm9taXNlSW50ZXJuYWxGaWVsZChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwg
UmVnaXN0ZXJJRCogdmFsdWUpOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0R2V0SW50ZXJuYWxG
aWVsZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGluZGV4KTsK
KyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFB1dEludGVybmFsRmllbGQoUmVnaXN0ZXJJRCogYmFz
ZSwgdW5zaWduZWQgaW5kZXgsIFJlZ2lzdGVySUQqIHZhbHVlKTsKIAogICAgICAgICB2b2lkIGVt
aXRTdXBlclNhbXBsZXJCZWdpbigpOwogICAgICAgICB2b2lkIGVtaXRTdXBlclNhbXBsZXJFbmQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcAppbmRleCAyYzgzMjM2NjIzZWViZDUzMTVmMzY1ZTNiY2M5NWZmNDhlMTYzNGE3Li40
ODkwOWVmOWIwNGQxNWFkYzRhMDJkMjZjNzVmOGNjNWM5YzE1M2IxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xMDMw
LDcgKzEwMzAsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50
cmluc2ljX2dldFByb21pc2VJbnRlcm5hbEZpZWxkKEJ5dGVjbwogICAgIEFTU0VSVChpbmRleCA8
IEpTUHJvbWlzZTo6bnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyk7CiAgICAgQVNTRVJUKCFub2RlLT5t
X25leHQpOwogCi0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0R2V0UHJvbWlzZUludGVybmFsRmll
bGQoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgYmFzZS5nZXQoKSwgaW5kZXgpOwor
ICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEludGVybmFsRmllbGQoZ2VuZXJhdG9yLmZpbmFs
RGVzdGluYXRpb24oZHN0KSwgYmFzZS5nZXQoKSwgaW5kZXgpOwogfQogCiBSZWdpc3RlcklEKiBC
eXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX2FyZ3VtZW50KEJ5dGVjb2RlR2Vu
ZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKQEAgLTExMTUsNyArMTExNSw3IEBA
IFJlZ2lzdGVySUQqIEJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfcHV0UHJv
bWlzZUludGVybmFsRmllbGQoQnl0ZWNvCiAKICAgICBBU1NFUlQoIW5vZGUtPm1fbmV4dCk7CiAK
LSAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCBnZW5lcmF0b3IuZW1pdFB1dFByb21pc2VJ
bnRlcm5hbEZpZWxkKGJhc2UuZ2V0KCksIGluZGV4LCB2YWx1ZS5nZXQoKSkpOworICAgIHJldHVy
biBnZW5lcmF0b3IubW92ZShkc3QsIGdlbmVyYXRvci5lbWl0UHV0SW50ZXJuYWxGaWVsZChiYXNl
LmdldCgpLCBpbmRleCwgdmFsdWUuZ2V0KCkpKTsKIH0KIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJ
bnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY190YWlsQ2FsbEZvcndhcmRBcmd1bWVudHMoQnl0
ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCmluZGV4IDQ2NDc4MWRjOTcyYzI4YjgwNDkyZWNlMTVhMTcwYzA5YjJjNTRjMjEuLjliNmJm
MDM1OTc4Nzk3YTNlMzNhNGM4NDk1MTQwMzE0MGM1MzFkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
QEAgLTI5NDAsMTEgKzI5NDAsMTEgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNl
IFB1dENsb3N1cmVWYXI6CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBHZXRQcm9taXNlSW50
ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CiAgICAgICAgIG1ha2VCeXRl
Y29kZVRvcEZvck5vZGUobm9kZSk7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBQdXRQcm9t
aXNlSW50ZXJuYWxGaWVsZDoKKyAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6CiAgICAgICAgIGJy
ZWFrOwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKaW5kZXggMGYzZmI3ZTZlYmJlZTA0MjExYTMwMWNiZWU3ODgzMWUwYTRmMTEyNi4uMmM4
MmIxZTkzYmQxZmQ1MmNlZDU1MDRhNDFiYWVjOWE1ZDliOTM5MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTcwNDksMTYgKzcwNDks
MTYgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAg
ICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX3RvX2luZGV4X3N0cmluZyk7CiAgICAgICAgIH0KIAot
ICAgICAgICBjYXNlIG9wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxkOiB7Ci0gICAgICAgICAg
ICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcEdldFByb21pc2VJbnRl
cm5hbEZpZWxkPigpOwotICAgICAgICAgICAgc2V0KGJ5dGVjb2RlLm1fZHN0LCBhZGRUb0dyYXBo
KEdldFByb21pc2VJbnRlcm5hbEZpZWxkLCBPcEluZm8oYnl0ZWNvZGUubV9pbmRleCksIE9wSW5m
byhnZXRQcmVkaWN0aW9uKCkpLCBnZXQoYnl0ZWNvZGUubV9iYXNlKSkpOwotICAgICAgICAgICAg
TkVYVF9PUENPREUob3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQpOworICAgICAgICBjYXNl
IG9wX2dldF9pbnRlcm5hbF9maWVsZDogeworICAgICAgICAgICAgYXV0byBieXRlY29kZSA9IGN1
cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BHZXRJbnRlcm5hbEZpZWxkPigpOworICAgICAgICAgICAg
c2V0KGJ5dGVjb2RlLm1fZHN0LCBhZGRUb0dyYXBoKEdldEludGVybmFsRmllbGQsIE9wSW5mbyhi
eXRlY29kZS5tX2luZGV4KSwgT3BJbmZvKGdldFByZWRpY3Rpb24oKSksIGdldChieXRlY29kZS5t
X2Jhc2UpKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9nZXRfaW50ZXJuYWxfZmllbGQp
OwogICAgICAgICB9CiAKLSAgICAgICAgY2FzZSBvcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVs
ZDogewotICAgICAgICAgICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8
T3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZD4oKTsKLSAgICAgICAgICAgIGFkZFRvR3JhcGgoUHV0
UHJvbWlzZUludGVybmFsRmllbGQsIE9wSW5mbyhieXRlY29kZS5tX2luZGV4KSwgZ2V0KGJ5dGVj
b2RlLm1fYmFzZSksIGdldChieXRlY29kZS5tX3ZhbHVlKSk7Ci0gICAgICAgICAgICBORVhUX09Q
Q09ERShvcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk7CisgICAgICAgIGNhc2Ugb3BfcHV0
X2ludGVybmFsX2ZpZWxkOiB7CisgICAgICAgICAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudElu
c3RydWN0aW9uLT5hczxPcFB1dEludGVybmFsRmllbGQ+KCk7CisgICAgICAgICAgICBhZGRUb0dy
YXBoKFB1dEludGVybmFsRmllbGQsIE9wSW5mbyhieXRlY29kZS5tX2luZGV4KSwgZ2V0KGJ5dGVj
b2RlLm1fYmFzZSksIGdldChieXRlY29kZS5tX3ZhbHVlKSk7CisgICAgICAgICAgICBORVhUX09Q
Q09ERShvcF9wdXRfaW50ZXJuYWxfZmllbGQpOwogICAgICAgICB9CiAgICAgICAgICAgICAKICAg
ICAgICAgY2FzZSBvcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWU6IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA1YWM3YzQyNzc2YmQ1
NTcxNmQ1YWUzMTZkMmFlOGY4YmU3YWI0YTIyLi5jMGVlOThhZWE4MzhkNzI1NmU2Yjc1NGI1NDU3
NGJiOGQ2ZTlmOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmls
aXRpZXMuY3BwCkBAIC0yNzUsOCArMjc1LDggQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlM
ZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIGNvbnN0IEkKICAg
ICBjYXNlIG9wX3Jlc29sdmVfc2NvcGU6CiAgICAgY2FzZSBvcF9yZXNvbHZlX3Njb3BlX2Zvcl9o
b2lzdGluZ19mdW5jX2RlY2xfaW5fZXZhbDoKICAgICBjYXNlIG9wX25ld19yZWdleHA6Ci0gICAg
Y2FzZSBvcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZDoKLSAgICBjYXNlIG9wX3B1dF9wcm9t
aXNlX2ludGVybmFsX2ZpZWxkOgorICAgIGNhc2Ugb3BfZ2V0X2ludGVybmFsX2ZpZWxkOgorICAg
IGNhc2Ugb3BfcHV0X2ludGVybmFsX2ZpZWxkOgogICAgIGNhc2Ugb3BfdW5yZWFjaGFibGU6CiAg
ICAgY2FzZSBvcF9zdXBlcl9zYW1wbGVyX2JlZ2luOgogICAgIGNhc2Ugb3Bfc3VwZXJfc2FtcGxl
cl9lbmQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJp
emUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDIy
ZGNmMzkyZTlhMzJkZWY0ZDE2NmRlYmYxODA0M2IzM2RlZmNjMmEuLmMxYjdhMGJjMjIxY2Y0ODQx
YzZkNDMxYWM0ZTVjZTVhZGExZjcxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2xvYmJlcml6ZS5oCkBAIC0xMzE3LDE0ICsxMzE3LDE0IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFw
aCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0
ZUZ1CiAgICAgICAgIGRlZihIZWFwTG9jYXRpb24oQ2xvc3VyZVZhcmlhYmxlTG9jLCBBYnN0cmFj
dEhlYXAoU2NvcGVQcm9wZXJ0aWVzLCBub2RlLT5zY29wZU9mZnNldCgpLm9mZnNldCgpKSwgbm9k
ZS0+Y2hpbGQxKCkpLCBMYXp5Tm9kZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpKTsKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY2FzZSBHZXRQcm9taXNlSW50ZXJuYWxGaWVsZDogeworICAgIGNhc2Ug
R2V0SW50ZXJuYWxGaWVsZDogewogICAgICAgICBBYnN0cmFjdEhlYXAgaGVhcChKU1Byb21pc2VG
aWVsZHMsIG5vZGUtPmludGVybmFsRmllbGRJbmRleCgpKTsKICAgICAgICAgcmVhZChoZWFwKTsK
ICAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihQcm9taXNlSW50ZXJuYWxGaWVsZExvYywgaGVhcCwg
bm9kZS0+Y2hpbGQxKCkpLCBMYXp5Tm9kZShub2RlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBjYXNlIFB1dFByb21pc2VJbnRlcm5hbEZpZWxkOiB7CisgICAgY2FzZSBQdXRJbnRl
cm5hbEZpZWxkOiB7CiAgICAgICAgIEFic3RyYWN0SGVhcCBoZWFwKEpTUHJvbWlzZUZpZWxkcywg
bm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4KCkpOwogICAgICAgICB3cml0ZShoZWFwKTsKICAgICAg
ICAgZGVmKEhlYXBMb2NhdGlvbihQcm9taXNlSW50ZXJuYWxGaWVsZExvYywgaGVhcCwgbm9kZS0+
Y2hpbGQxKCkpLCBMYXp5Tm9kZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA4OTM4ODA1NjNlODIxYmJhOGRhNDE0M2I1
OGZlZmYwNmIzMTAwYzFmLi5mYjMxMjJiN2MyNjVkM2I4ZWQxYTZhMDA2YjJkYzgyNGE1ZTU4ZDc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0xMjMsOCArMTIz
LDggQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgR2V0
R2xvYmFsVGhpczoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAgY2FzZSBQdXRDbG9zdXJl
VmFyOgotICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6Ci0gICAgY2FzZSBQdXRQcm9t
aXNlSW50ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgY2FzZSBQ
dXRJbnRlcm5hbEZpZWxkOgogICAgIGNhc2UgR2V0UmVnRXhwT2JqZWN0TGFzdEluZGV4OgogICAg
IGNhc2UgU2V0UmVnRXhwT2JqZWN0TGFzdEluZGV4OgogICAgIGNhc2UgUmVjb3JkUmVnRXhwQ2Fj
aGVkUmVzdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
aW5kZXggM2M3MzU2MzQyNDY4MDIyYTcxYWIwMjM3NDk4NmQwNGU3NDk4MTRmMS4uZTQ1YWM1YzFl
NjRjNzNmZTI2ODljNGUzOGU0ZWUyYjEyNWRjMzcxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNDg0LDE0ICsxNDg0LDE0IEBAIGNsYXNzIEZp
eHVwUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgR2V0
Q2xvc3VyZVZhcjoKICAgICAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgotICAgICAgICBjYXNl
IEdldFByb21pc2VJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVs
ZDogewogICAgICAgICAgICAgZml4RWRnZTxLbm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBQdXRDbG9zdXJl
VmFyOgogICAgICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgotICAgICAgICBjYXNlIFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVsZDogewogICAg
ICAgICAgICAgZml4RWRnZTxLbm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAg
ICAgIHNwZWN1bGF0ZUZvckJhcnJpZXIobm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAppbmRleCBmYjczZGU2
ZmQ0ZjEwNmNkMzc2MjhhMmRhZDAwMTY1ZWJiYTM2NDhhLi5mOGVlOTljMzY3NWYzMGUxNWUzODdj
MzRlNGYwMWY3NDMzYmZmMzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01heUV4aXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF5RXhp
dC5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCBFeGl0TW9kZSBtYXlFeGl0SW1wbChHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUsIFN0YXRlVHlwZSYgc3RhdGUpCiAgICAgY2FzZSBGZW5jZWRTdG9yZUJh
cnJpZXI6CiAgICAgY2FzZSBQdXRCeU9mZnNldDoKICAgICBjYXNlIFB1dENsb3N1cmVWYXI6Ci0g
ICAgY2FzZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDoKKyAgICBjYXNlIFB1dEludGVybmFsRmll
bGQ6CiAgICAgY2FzZSBSZWNvcmRSZWdFeHBDYWNoZWRSZXN1bHQ6CiAgICAgY2FzZSBOdWtlU3Ry
dWN0dXJlQW5kU2V0QnV0dGVyZmx5OgogICAgIGNhc2UgRmlsdGVyQ2FsbExpbmtTdGF0dXM6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDY5MDIwMjUwNzM5NTMwZDg3MDdiMzQz
NWEyMDVhODgwZDUwYmJkOGQuLjY5ZjA4YzE4NmQ0OGNlYmY2Yzc2Yjg5YTRkNWQ0ODQ0MDdkYjNk
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xMjg2LDcgKzEyODYsNyBA
QCBzdHJ1Y3QgTm9kZSB7CiAKICAgICB1bnNpZ25lZCBoYXNJbnRlcm5hbEZpZWxkSW5kZXgoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIG9wKCkgPT0gR2V0UHJvbWlzZUludGVybmFsRmllbGQgfHwg
b3AoKSA9PSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0g
R2V0SW50ZXJuYWxGaWVsZCB8fCBvcCgpID09IFB1dEludGVybmFsRmllbGQ7CiAgICAgfQogCiAg
ICAgdW5zaWduZWQgaW50ZXJuYWxGaWVsZEluZGV4KCkKQEAgLTE2OTksNyArMTY5OSw3IEBAIHN0
cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKICAgICAgICAgY2FzZSBNdWx0
aUdldEJ5T2Zmc2V0OgogICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6Ci0gICAgICAgIGNhc2Ug
R2V0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVsZDoK
ICAgICAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgogICAgICAgICBjYXNlIEdldEFyZ3VtZW50
OgogICAgICAgICBjYXNlIEFycmF5UG9wOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCmluZGV4IGRkNGVmY2RkMjg5YTM1NTNjNDZhZDhjOWZhMzBlYzQ0YTQwYTYyZjUuLjRk
NzE1ODJlMTdhNjkxYTA1OGE4MzQ3MjI4NGY2MDE5Zjk3ZDgwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTQwMSw4ICs0MDEsOCBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oU2V0RnVuY3Rpb25OYW1lLCBOb2RlTXVzdEdl
bmVyYXRlKSBcCiAgICAgbWFjcm8oSGFzT3duUHJvcGVydHksIE5vZGVSZXN1bHRCb29sZWFuKSBc
CiAgICAgXAotICAgIG1hY3JvKEdldFByb21pc2VJbnRlcm5hbEZpZWxkLCBOb2RlUmVzdWx0SlMp
IFwKLSAgICBtYWNybyhQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgTm9kZU11c3RHZW5lcmF0ZSkg
XAorICAgIG1hY3JvKEdldEludGVybmFsRmllbGQsIE5vZGVSZXN1bHRKUykgXAorICAgIG1hY3Jv
KFB1dEludGVybmFsRmllbGQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgbWFjcm8o
Q3JlYXRlQWN0aXZhdGlvbiwgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUHVzaFdpdGhTY29w
ZSwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cAppbmRleCAzMzdjOGI0MzlmODNjYmQ0MTVkY2JhMGY4ZTQzMDRlMGYxNDVhZTZhLi40OGE0MWIz
MDcyYjc2NzYzNjE5MTA0NTNhNGRlNGY1YWFlYjU0YmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cApAQCAtODI3LDcgKzgyNyw3IEBAIGNsYXNzIFByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlIDog
cHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBHZXRHbG9iYWxWYXI6CiAgICAgICAgIGNhc2Ug
R2V0R2xvYmFsTGV4aWNhbFZhcmlhYmxlOgogICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6Ci0g
ICAgICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgICAgIGNhc2UgR2V0SW50
ZXJuYWxGaWVsZDoKICAgICAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgogICAgICAgICBjYXNl
IExvYWRLZXlGcm9tTWFwQnVja2V0OgogICAgICAgICBjYXNlIExvYWRWYWx1ZUZyb21NYXBCdWNr
ZXQ6CkBAIC0xMjcwLDcgKzEyNzAsNyBAQCBjbGFzcyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFz
ZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIGNhc2UgUHV0QnlJZFdpdGhUaGlzOgogICAgICAg
ICBjYXNlIFB1dEJ5VmFsOgogICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6Ci0gICAgICAgIGNh
c2UgUHV0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVs
ZDoKICAgICAgICAgY2FzZSBQdXRUb0FyZ3VtZW50czoKICAgICAgICAgY2FzZSBSZXR1cm46CiAg
ICAgICAgIGNhc2UgVGhyb3c6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCmluZGV4IDA1NjBlZWNlOTg5NjAzNjRhOTlmZTkyNTY4ZThkNTY4ZDcyNTMzMGEu
LmNhOGFlYTMwYTM1MjY2YzY3NTQ1OWI5YjVlZjU0NTJjNTMxNzZkNWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yODMsOCArMjgzLDggQEAg
Ym9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlLCBib29sIGlnbm8KICAgICBjYXNlIEdldEdsb2JhbFZhcjoKICAgICBjYXNl
IEdldEdsb2JhbExleGljYWxWYXJpYWJsZToKICAgICBjYXNlIFB1dEdsb2JhbFZhcmlhYmxlOgot
ICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6Ci0gICAgY2FzZSBQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgY2FzZSBQdXRJbnRl
cm5hbEZpZWxkOgogICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgog
ICAgIGNhc2UgQ2hlY2tOb3RFbXB0eToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggNzNlZWRjMzBlOTBjZmEyOWYzOTJjNTE0MzQxOWQz
N2NhZGEyMWNiMC4uYzNmZTVhNDliMDAzMGM2NDAwMTM3MzBjMWIzMGRlNWQwZmQ5NGRlYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAg
LTExMjcwLDcgKzExMjcwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dENsb3N1
cmVWYXIoTm9kZSogbm9kZSkKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKE5vZGUqIG5vZGUpCit2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0SW50ZXJuYWxGaWVsZChOb2RlKiBub2RlKQogewog
ICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAg
IEpTVmFsdWVSZWdzVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKQEAgLTExMjc4LDExICsxMTI3OCwx
MSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQo
Tm9kZSogbm9kZSkKICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7CiAgICAgSlNWYWx1
ZVJlZ3MgcmVzdWx0UmVncyA9IHJlc3VsdC5yZWdzKCk7CiAKLSAgICBtX2ppdC5sb2FkVmFsdWUo
SklUQ29tcGlsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFs
RmllbGQobm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4KCkpKSwgcmVzdWx0UmVncyk7CisgICAgbV9q
aXQubG9hZFZhbHVlKEpJVENvbXBpbGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTSW50ZXJuYWxGaWVs
ZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKG5vZGUtPmludGVybmFsRmllbGRJ
bmRleCgpKSksIHJlc3VsdFJlZ3MpOwogICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0UmVncywgbm9k
ZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRQcm9taXNlSW50ZXJuYWxG
aWVsZChOb2RlKiBub2RlKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEludGVybmFs
RmllbGQoTm9kZSogbm9kZSkKIHsKICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMs
IG5vZGUtPmNoaWxkMSgpKTsKICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CkBAIC0xMTI5MCw3ICsxMTI5MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVQdXRQcm9taXNlSW50ZXJuYWxGaWVsZChOb2RlKiBub2RlKQogICAgIEdQUlJlZyBiYXNl
R1BSID0gYmFzZS5ncHIoKTsKICAgICBKU1ZhbHVlUmVncyB2YWx1ZVJlZ3MgPSB2YWx1ZS5qc1Zh
bHVlUmVncygpOwogCi0gICAgbV9qaXQuc3RvcmVWYWx1ZSh2YWx1ZVJlZ3MsIEpJVENvbXBpbGVy
OjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKG5vZGUt
PmludGVybmFsRmllbGRJbmRleCgpKSkpOworICAgIG1faml0LnN0b3JlVmFsdWUodmFsdWVSZWdz
LCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlR1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBs
PD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChub2RlLT5pbnRlcm5hbEZpZWxkSW5kZXgoKSkpKTsK
ICAgICBub1Jlc3VsdChub2RlKTsKIH0KIApAQCAtMTI3NTksOCArMTI3NTksOCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQ3JlYXRlUHJvbWlzZShOb2RlKiBub2RlKQogICAgICAgICBl
bWl0QWxsb2NhdGVKU09iamVjdFdpdGhLbm93blNpemU8SlNJbnRlcm5hbFByb21pc2U+KHJlc3Vs
dEdQUiwgc3RydWN0dXJlR1BSLCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwg
c2xvd0Nhc2VzLCBzaXplb2YoSlNJbnRlcm5hbFByb21pc2UpKTsKICAgICBlbHNlCiAgICAgICAg
IGVtaXRBbGxvY2F0ZUpTT2JqZWN0V2l0aEtub3duU2l6ZTxKU1Byb21pc2U+KHJlc3VsdEdQUiwg
c3RydWN0dXJlR1BSLCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2xvd0Nh
c2VzLCBzaXplb2YoSlNQcm9taXNlKSk7Ci0gICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNO
dW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSks
IENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRl
cm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncykp
KSk7Ci0gICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFsRmllbGQo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0
KSkpKTsKKyAgICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc051bWJlcihzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKHJlc3VsdEdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVy
bmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKSkp
KTsKKyAgICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNl
dE9mSW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6
UmVhY3Rpb25zT3JSZXN1bHQpKSkpOwogICAgIG1faml0Lm11dGF0b3JGZW5jZShtX2ppdC52bSgp
KTsKIAogICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChzbG93Q2FzZXMsIHRo
aXMsIG5vZGUtPmlzSW50ZXJuYWxQcm9taXNlKCkgPyBvcGVyYXRpb25DcmVhdGVJbnRlcm5hbFBy
b21pc2UgOiBvcGVyYXRpb25DcmVhdGVQcm9taXNlLCByZXN1bHRHUFIsIGNhbGxlZUdQUiwgVHJ1
c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9qaXQuZ3JhcGgoKSwgZ2xvYmFsT2JqZWN0KSkpOwpA
QCAtMTI4MTUsOCArMTI4MTUsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3UHJv
bWlzZShOb2RlKiBub2RlKQogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdFdpdGhLbm93blNp
emU8SlNJbnRlcm5hbFByb21pc2U+KHJlc3VsdEdQUiwgVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUp
LCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2xvd0Nhc2VzLCBzaXplb2Yo
SlNJbnRlcm5hbFByb21pc2UpKTsKICAgICBlbHNlCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2Jq
ZWN0V2l0aEtub3duU2l6ZTxKU1Byb21pc2U+KHJlc3VsdEdQUiwgVHJ1c3RlZEltbVB0cihzdHJ1
Y3R1cmUpLCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2xvd0Nhc2VzLCBz
aXplb2YoSlNQcm9taXNlKSk7Ci0gICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNOdW1iZXIo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSksIENDYWxs
SGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZp
ZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncykpKSk7Ci0g
ICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKHJlc3VsdEdQUiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFsRmllbGQoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KSkpKTsK
KyAgICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHJl
c3VsdEdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVybmFsRmll
bGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKSkpKTsKKyAg
ICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50
ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rp
b25zT3JSZXN1bHQpKSkpOwogICAgIG1faml0Lm11dGF0b3JGZW5jZShtX2ppdC52bSgpKTsKIAog
ICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChzbG93Q2FzZXMsIHRoaXMsIG5v
ZGUtPmlzSW50ZXJuYWxQcm9taXNlKCkgPyBvcGVyYXRpb25OZXdJbnRlcm5hbFByb21pc2UgOiBv
cGVyYXRpb25OZXdQcm9taXNlLCByZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4
IDE0ZDQ3ZjJkYTBjYjA2NDg0MTU0YzgxZDg4NWQyMTM1Yjc5NTNlNjMuLmY5OTFkZDIwMTYyNGU2
MDNiMjFlZDczZGQwM2M1M2MzYjczMWFkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTE0NDgsOCArMTQ0OCw4IEBAIGNsYXNzIFNwZWN1
bGF0aXZlSklUIHsKICAgICB2b2lkIGNvbXBpbGVQdXREeW5hbWljVmFyKE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVHZXRDbG9zdXJlVmFyKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVQdXRDbG9z
dXJlVmFyKE5vZGUqKTsKLSAgICB2b2lkIGNvbXBpbGVHZXRQcm9taXNlSW50ZXJuYWxGaWVsZChO
b2RlKik7Ci0gICAgdm9pZCBjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmllbGQoTm9kZSopOwor
ICAgIHZvaWQgY29tcGlsZUdldEludGVybmFsRmllbGQoTm9kZSopOworICAgIHZvaWQgY29tcGls
ZVB1dEludGVybmFsRmllbGQoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNvbXBhcmVFcVB0cihO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlRGVmaW5lRGF0YVByb3BlcnR5KE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVEZWZpbmVBY2Nlc3NvclByb3BlcnR5KE5vZGUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGMz
ZGEwOGIxN2U5NTNiZGQ1YjAxNTU5NTE3YjhmMjkzZDJmNGUyODIuLjA5Y2YwOTg0Njk4YjlmNzkz
NzZmMDU2NDE3ZTU3MTYwMzlhZTU2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMzI1NywxMyArMzI1NywxMyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6IHsKLSAgICAgICAg
Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKG5vZGUpOworICAgIGNhc2UgR2V0SW50ZXJu
YWxGaWVsZDogeworICAgICAgICBjb21waWxlR2V0SW50ZXJuYWxGaWVsZChub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDogewot
ICAgICAgICBjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmllbGQobm9kZSk7CisgICAgY2FzZSBQ
dXRJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgIGNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKG5vZGUp
OwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IGM5ZTI5ZjRjM2E3NTE0YzZhZWU3YTZj
MmViYTM1ZWJjYjk0NzY2YmQuLmYxZjA0YzNjOTg3NWE2MzE2NWE2MjhmZjlmMWNlZGI1ZmM3MDZi
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcApAQCAtMzUzOCwxMyArMzUzOCwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgR2V0UHJv
bWlzZUludGVybmFsRmllbGQ6IHsKLSAgICAgICAgY29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZp
ZWxkKG5vZGUpOworICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVsZDogeworICAgICAgICBjb21waWxl
R2V0SW50ZXJuYWxGaWVsZChub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2Fz
ZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDogewotICAgICAgICBjb21waWxlUHV0UHJvbWlzZUlu
dGVybmFsRmllbGQobm9kZSk7CisgICAgY2FzZSBQdXRJbnRlcm5hbEZpZWxkOiB7CisgICAgICAg
IGNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZS5jcHAKaW5kZXggNGM3M2NmNjYwMzU5MjgxZmQwMGZkYTUyYmFiMjgw
Y2YzYjI3OGM2Yi4uMjRiNTVlNzg4ZDlkZTliNTA2OTk2NzU1NzUzNzczOGIzMzJiZTM1NyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZS5jcHAKQEAgLTI4Miw3ICsyODIsNyBAQCBjbGFzcyBTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICBjYXNlIFB1dENs
b3N1cmVWYXI6CiAgICAgICAgICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgogICAgICAgICAgICAg
Y2FzZSBTZXRSZWdFeHBPYmplY3RMYXN0SW5kZXg6Ci0gICAgICAgICAgICBjYXNlIFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgICAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6IHsK
ICAgICAgICAgICAgICAgICBjb25zaWRlckJhcnJpZXIobV9ub2RlLT5jaGlsZDEoKSwgbV9ub2Rl
LT5jaGlsZDIoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9y
eS5oCmluZGV4IGUyZWI4MTNhMTEzNTJlMDg2MmYyMDY5NTI5NTExZDBiZjVlMDk0MTMuLjdiMGM4
OWE5NGNhMzI4ZWU5NmVlZTBmNGI5NmZlMjI3Y2Q3ZDFkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCkBAIC0xNDks
NyArMTQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKERp
cmVjdEFyZ3VtZW50c19zdG9yYWdlLCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VPZmZzZXQoKSwg
c2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXAogICAgIG1hY3JvKEpTTGV4aWNhbEVudmlyb25tZW50
X3ZhcmlhYmxlcywgSlNMZXhpY2FsRW52aXJvbm1lbnQ6Om9mZnNldE9mVmFyaWFibGVzKCksIHNp
emVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKICAgICBtYWNybyhKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3JfY2FjaGVkUHJvcGVydHlOYW1lc1ZlY3RvckNvbnRlbnRzLCAwLCBzaXplb2YoV3JpdGVCYXJy
aWVyPEpTU3RyaW5nPikpIFwKLSAgICBtYWNybyhKU1Byb21pc2VfaW50ZXJuYWxGaWVsZHMsIEpT
UHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcygpLCBzaXplb2YoV3JpdGVCYXJyaWVyPFVu
a25vd24+KSkgXAorICAgIG1hY3JvKEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxG
aWVsZHMsIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxk
cygpLCBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KSkgXAogICAgIG1hY3JvKFNjb3BlZEFy
Z3VtZW50c19TdG9yYWdlX3N0b3JhZ2UsIDAsIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKICAg
ICBtYWNybyhXcml0ZUJhcnJpZXJCdWZmZXJfYnVmZmVyQ29udGVudHMsIDAsIHNpemVvZihKU0Nl
bGwqKSkgXAogICAgIG1hY3JvKGNoYXJhY3RlcnM4LCAwLCBzaXplb2YoTENoYXIpKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggNDNjOTY4
MzhmMTFjYTUwNGNkY2MzZDgwOGI1YWQxNzVlZTk0MmY2MS4uODQ1YzQxN2VjZGIxNGJmNTBhNDVm
NWU4ZTA5ZTNhZTIzOTlmOWQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcApAQCAtMTQyLDggKzE0Miw4IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2
ZWwgY2FuQ29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3JGdW5j
dGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgot
ICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6Ci0gICAgY2FzZSBQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgY2FzZSBQdXRJbnRl
cm5hbEZpZWxkOgogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgQ3Jl
YXRlU2NvcGVkQXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDY3NTY4
NjM4YWRjZTkzMTRmZmZlZmE1ZWVhZjdkYzliMzc0MDliNjQuLjRjMGI2YTQxMzQxZmVhOTJmZDg3
MmM3OTAzYjNmMmNiYjI3MjllNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAKQEAgLTExNzgsMTEgKzExNzgsMTEgQEAgY2xhc3MgTG93ZXJERkdU
b0IzIHsKICAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgogICAgICAgICAgICAgY29tcGlsZVB1
dENsb3N1cmVWYXIoKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEdldFByb21p
c2VJbnRlcm5hbEZpZWxkOgotICAgICAgICAgICAgY29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZp
ZWxkKCk7CisgICAgICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVsZDoKKyAgICAgICAgICAgIGNvbXBp
bGVHZXRJbnRlcm5hbEZpZWxkKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQ
dXRQcm9taXNlSW50ZXJuYWxGaWVsZDoKLSAgICAgICAgICAgIGNvbXBpbGVQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZCgpOworICAgICAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6CisgICAgICAgICAg
ICBjb21waWxlUHV0SW50ZXJuYWxGaWVsZCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICAgICAgICAgIGNvbXBpbGVHZXRGcm9tQXJndW1l
bnRzKCk7CkBAIC01OTEzLDggKzU5MTMsOCBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAg
ICAgICAgcHJvbWlzZSA9IGFsbG9jYXRlT2JqZWN0PEpTSW50ZXJuYWxQcm9taXNlPihtX25vZGUt
PnN0cnVjdHVyZSgpLCBtX291dC5pbnRQdHJaZXJvLCBzbG93Q2FzZSk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHByb21pc2UgPSBhbGxvY2F0ZU9iamVjdDxKU1Byb21pc2U+KG1fbm9kZS0+
c3RydWN0dXJlKCksIG1fb3V0LmludFB0clplcm8sIHNsb3dDYXNlKTsKLSAgICAgICAgbV9vdXQu
c3RvcmU2NChtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc051bWJlcihzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSkpLCBwcm9taXNlLCBt
X2hlYXBzLkpTUHJvbWlzZV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQ
cm9taXNlOjpGaWVsZDo6RmxhZ3MpXSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29u
c3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBwcm9taXNlLCBtX2hlYXBz
LkpTUHJvbWlzZV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNl
OjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7CisgICAgICAgIG1fb3V0LnN0b3JlNjQobV9v
dXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU0lu
dGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVk
PihKU1Byb21pc2U6OkZpZWxkOjpGbGFncyldKTsKKyAgICAgICAgbV9vdXQuc3RvcmU2NChtX291
dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHByb21pc2UsIG1f
aGVhcHMuSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7CiAgICAg
ICAgIG11dGF0b3JGZW5jZSgpOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0g
bV9vdXQuYW5jaG9yKHByb21pc2UpOwogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7
CkBAIC02MzIzLDggKzYzMjMsOCBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAg
cHJvbWlzZSA9IGFsbG9jYXRlT2JqZWN0PEpTSW50ZXJuYWxQcm9taXNlPihtX291dC5waGkocG9p
bnRlclR5cGUoKSwgcHJvbWlzZVN0cnVjdHVyZSwgZGVyaXZlZFN0cnVjdHVyZSksIG1fb3V0Lmlu
dFB0clplcm8sIHNsb3dDYXNlKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcHJvbWlzZSA9
IGFsbG9jYXRlT2JqZWN0PEpTUHJvbWlzZT4obV9vdXQucGhpKHBvaW50ZXJUeXBlKCksIHByb21p
c2VTdHJ1Y3R1cmUsIGRlcml2ZWRTdHJ1Y3R1cmUpLCBtX291dC5pbnRQdHJaZXJvLCBzbG93Q2Fz
ZSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNv
ZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5k
aW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU1Byb21pc2VfaW50ZXJuYWxGaWVsZHNbc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKV0pOwotICAgICAgICBtX291
dC5zdG9yZTY0KG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
KSwgcHJvbWlzZSwgbV9oZWFwcy5KU1Byb21pc2VfaW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KV0pOworICAgICAg
ICBtX291dC5zdG9yZTY0KG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVy
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpKSksIHBy
b21pc2UsIG1faGVhcHMuSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6RmxhZ3MpXSk7CisgICAgICAg
IG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSkpLCBwcm9taXNlLCBtX2hlYXBzLkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJu
YWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9u
c09yUmVzdWx0KV0pOwogICAgICAgICBtdXRhdG9yRmVuY2UoKTsKICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihwcm9taXNlKTsKICAgICAgICAgbV9vdXQu
anVtcChjb250aW51YXRpb24pOwpAQCAtNzUwNCwyMCArNzUwNCwyMCBAQCBjbGFzcyBMb3dlckRG
R1RvQjMgewogICAgICAgICAgICAgbV9oZWFwcy5KU0xleGljYWxFbnZpcm9ubWVudF92YXJpYWJs
ZXNbbV9ub2RlLT5zY29wZU9mZnNldCgpLm9mZnNldCgpXSk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgY29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKCkKKyAgICB2b2lkIGNvbXBpbGVHZXRJ
bnRlcm5hbEZpZWxkKCkKICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUoCiAgICAgICAgICAgICBt
X291dC5sb2FkNjQoCiAgICAgICAgICAgICAgICAgbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKSwK
LSAgICAgICAgICAgICAgICBtX2hlYXBzLkpTUHJvbWlzZV9pbnRlcm5hbEZpZWxkc1ttX25vZGUt
PmludGVybmFsRmllbGRJbmRleCgpXSkpOworICAgICAgICAgICAgICAgIG1faGVhcHMuSlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1ttX25vZGUtPmludGVybmFsRmllbGRJ
bmRleCgpXSkpOwogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZVB1dFByb21pc2VJbnRlcm5hbEZp
ZWxkKCkKKyAgICB2b2lkIGNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKCkKICAgICB7CiAgICAgICAg
IG1fb3V0LnN0b3JlNjQoCiAgICAgICAgICAgICBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkp
LAogICAgICAgICAgICAgbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKSwKLSAgICAgICAgICAgIG1f
aGVhcHMuSlNQcm9taXNlX2ludGVybmFsRmllbGRzW21fbm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4
KCldKTsKKyAgICAgICAgICAgIG1faGVhcHMuSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRl
cm5hbEZpZWxkc1ttX25vZGUtPmludGVybmFsRmllbGRJbmRleCgpXSk7CiAgICAgfQogCiAgICAg
dm9pZCBjb21waWxlR2V0RnJvbUFyZ3VtZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAK
aW5kZXggYjk5ZGRkZjhkOWFkY2NiNDJkODcxMzlhYmU0MTk2MzM2Mjg3MWVjOS4uMzZkZTUzYTBi
YzNhNzJmNTU1OGQxOWVkYTY0NzZhZjA0OTQ2ZWM2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmNwcApAQCAtNDI0LDggKzQyNCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KCkKICAgICAgICAgREVGSU5FX09QKG9wX3B1dF9nZXR0ZXJfYnlfdmFsKQogICAgICAgICBERUZJ
TkVfT1Aob3BfcHV0X3NldHRlcl9ieV92YWwpCiAKLSAgICAgICAgREVGSU5FX09QKG9wX2dldF9w
cm9taXNlX2ludGVybmFsX2ZpZWxkKQotICAgICAgICBERUZJTkVfT1Aob3BfcHV0X3Byb21pc2Vf
aW50ZXJuYWxfZmllbGQpCisgICAgICAgIERFRklORV9PUChvcF9nZXRfaW50ZXJuYWxfZmllbGQp
CisgICAgICAgIERFRklORV9PUChvcF9wdXRfaW50ZXJuYWxfZmllbGQpCiAKICAgICAgICAgREVG
SU5FX09QKG9wX3JldCkKICAgICAgICAgREVGSU5FX09QKG9wX3JzaGlmdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCmluZGV4IDIwMTg2MzgwYTBhZmFhNjg2OTljYjJjYzg4NjM5ZmI4ODI2ZDc2ZjUu
LjQyN2U5YWVkZjU5ODZhNDZkZDFmYmQ0NWFmMDUyZWRiMjc5MzU1MWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaApAQCAtNjM2LDggKzYzNiw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
b2lkIGVtaXRfb3BfZ2V0X2RpcmVjdF9wbmFtZShjb25zdCBJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfZW51bWVyYXRvcl9zdHJ1Y3R1cmVfcG5hbWUoY29uc3QgSW5zdHJ1Y3Rp
b24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFtZShjb25z
dCBJbnN0cnVjdGlvbiopOwotICAgICAgICB2b2lkIGVtaXRfb3BfZ2V0X3Byb21pc2VfaW50ZXJu
YWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKLSAgICAgICAgdm9pZCBlbWl0X29wX3B1dF9w
cm9taXNlX2ludGVybmFsX2ZpZWxkKGNvbnN0IEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQg
ZW1pdF9vcF9nZXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAg
dm9pZCBlbWl0X29wX3B1dF9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlKGNvbnN0IEluc3Ry
dWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbChj
b25zdCBJbnN0cnVjdGlvbiopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4IDZhODA2NDFmNTgyYWM4ZWM1OTI2MWMxY2FmOTc2NWVi
MTIzZWM2ZTEuLjQwNzU4ZTdmMzBhY2M0ZDcyODJlYjg1MzVjYjRkMzFiYzhjMGU3NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC0x
MjM2LDkgKzEyMzYsOSBAQCB2b2lkIEpJVDo6ZW1pdFdyaXRlQmFycmllcihKU0NlbGwqIG93bmVy
LCB1bnNpZ25lZCB2YWx1ZSwgV3JpdGVCYXJyaWVyTW9kZSBtb2RlKQogICAgICAgICB2YWx1ZU5v
dENlbGwubGluayh0aGlzKTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50
ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3ZvaWQg
SklUOjplbWl0X29wX2dldF9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewotICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24t
PmFzPE9wR2V0UHJvbWlzZUludGVybmFsRmllbGQ+KCk7CisgICAgYXV0byBieXRlY29kZSA9IGN1
cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BHZXRJbnRlcm5hbEZpZWxkPigpOwogICAgIGF1dG8mIG1l
dGFkYXRhID0gYnl0ZWNvZGUubWV0YWRhdGEobV9jb2RlQmxvY2spOwogICAgIGludCBkc3QgPSBi
eXRlY29kZS5tX2RzdC5vZmZzZXQoKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2RlLm1fYmFzZS5v
ZmZzZXQoKTsKQEAgLTEyNDYsMTUgKzEyNDYsMTUgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3By
b21pc2VfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGkK
ICAgICBBU1NFUlQoaW5kZXggPCBKU1Byb21pc2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOwog
CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihiYXNlLCByZWdUMSk7Ci0gICAgbG9hZFB0cihB
ZGRyZXNzKHJlZ1QxLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkpLCBy
ZWdUMCk7CisgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QxLCBKU0ludGVybmFsRmllbGRPYmplY3RJ
bXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkpLCByZWdUMCk7CiAKICAgICBlbWl0
VmFsdWVQcm9maWxpbmdTaXRlKG1ldGFkYXRhKTsKICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVy
KGRzdCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxk
KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdF9v
cF9wdXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKIHsKLSAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcFB1dFBy
b21pc2VJbnRlcm5hbEZpZWxkPigpOworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1
Y3Rpb24tPmFzPE9wUHV0SW50ZXJuYWxGaWVsZD4oKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2Rl
Lm1fYmFzZS5vZmZzZXQoKTsKICAgICBpbnQgdmFsdWUgPSBieXRlY29kZS5tX3ZhbHVlLm9mZnNl
dCgpOwogICAgIHVuc2lnbmVkIGluZGV4ID0gYnl0ZWNvZGUubV9pbmRleDsKQEAgLTEyNjIsNyAr
MTI2Miw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3RpCiAKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGJhc2UsIHJlZ1QwKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCBy
ZWdUMSk7Ci0gICAgc3RvcmVQdHIocmVnVDEsIEFkZHJlc3MocmVnVDAsIEpTUHJvbWlzZTo6b2Zm
c2V0T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSkpOworICAgIHN0b3JlUHRyKHJlZ1QxLCBBZGRyZXNz
KHJlZ1QwLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVs
ZChpbmRleCkpKTsKICAgICBlbWl0V3JpdGVCYXJyaWVyKGJhc2UsIHZhbHVlLCBTaG91bGRGaWx0
ZXJWYWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4IGJmZjhiOWUxOWM4YzM5ZTA2YjlkZmY4YTI1Njk4
ZTE5MzcwZDIwNDcuLjUyMTM0MzEzODFhZTcyMzc3NjFiYTE3MzgzNzA4NDBkYjZhMTA3MjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMy
XzY0LmNwcApAQCAtMTIwMyw5ICsxMjAzLDkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcHV0X3RvX2Fy
Z3VtZW50cyhjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHN0b3Jl
MzIocmVnVDIsIEFkZHJlc3MocmVnVDAsIERpcmVjdEFyZ3VtZW50czo6c3RvcmFnZU9mZnNldCgp
ICsgaW5kZXggKiBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KSArIFBheWxvYWRPZmZzZXQp
KTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQoY29u
c3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3ZvaWQgSklUOjplbWl0X29wX2dl
dF9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQog
ewotICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wR2V0UHJvbWlz
ZUludGVybmFsRmllbGQ+KCk7CisgICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlv
bi0+YXM8T3BHZXRJbnRlcm5hbEZpZWxkPigpOwogICAgIGF1dG8mIG1ldGFkYXRhID0gYnl0ZWNv
ZGUubWV0YWRhdGEobV9jb2RlQmxvY2spOwogICAgIGludCBkc3QgPSBieXRlY29kZS5tX2RzdC5v
ZmZzZXQoKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2RlLm1fYmFzZS5vZmZzZXQoKTsKQEAgLTEy
MTMsMTUgKzEyMTMsMTUgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxf
ZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGkKICAgICBBU1NFUlQoaW5k
ZXggPCBKU1Byb21pc2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOwogCiAgICAgZW1pdExvYWRQ
YXlsb2FkKGJhc2UsIHJlZ1QyKTsKLSAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMiwgSlNQcm9taXNl
OjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpICsgVGFnT2Zmc2V0KSwgcmVnVDEpOwotICAg
IGxvYWQzMihBZGRyZXNzKHJlZ1QyLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChp
bmRleCkgKyBQYXlsb2FkT2Zmc2V0KSwgcmVnVDApOworICAgIGxvYWQzMihBZGRyZXNzKHJlZ1Qy
LCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRl
eCkgKyBUYWdPZmZzZXQpLCByZWdUMSk7CisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDIsIEpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSArIFBh
eWxvYWRPZmZzZXQpLCByZWdUMCk7CiAgICAgZW1pdFZhbHVlUHJvZmlsaW5nU2l0ZShieXRlY29k
ZS5tZXRhZGF0YShtX2NvZGVCbG9jaykpOwogICAgIGVtaXRTdG9yZShkc3QsIHJlZ1QxLCByZWdU
MCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdF9vcF9w
dXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikK
IHsKLSAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkPigpOworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rp
b24tPmFzPE9wUHV0SW50ZXJuYWxGaWVsZD4oKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2RlLm1f
YmFzZS5vZmZzZXQoKTsKICAgICBpbnQgdmFsdWUgPSBieXRlY29kZS5tX3ZhbHVlLm9mZnNldCgp
OwogICAgIHVuc2lnbmVkIGluZGV4ID0gYnl0ZWNvZGUubV9pbmRleDsKQEAgLTEyMjksOCArMTIy
OSw4IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNvbnN0
IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3RpCiAKICAgICBlbWl0TG9hZFBheWxvYWQoYmFz
ZSwgcmVnVDApOwogICAgIGVtaXRMb2FkKHZhbHVlLCByZWdUMSwgcmVnVDIpOwotICAgIHN0b3Jl
MzIocmVnVDEsIEFkZHJlc3MocmVnVDAsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxk
KGluZGV4KSArIFRhZ09mZnNldCkpOwotICAgIHN0b3JlMzIocmVnVDIsIEFkZHJlc3MocmVnVDAs
IEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSArIFBheWxvYWRPZmZzZXQp
KTsKKyAgICBzdG9yZTMyKHJlZ1QxLCBBZGRyZXNzKHJlZ1QwLCBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkgKyBUYWdPZmZzZXQpKTsKKyAg
ICBzdG9yZTMyKHJlZ1QyLCBBZGRyZXNzKHJlZ1QwLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBs
PD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkgKyBQYXlsb2FkT2Zmc2V0KSk7CiAgICAg
ZW1pdFdyaXRlQmFycmllcihiYXNlLCB2YWx1ZSwgU2hvdWxkRmlsdGVyVmFsdWUpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0
b3IuY3BwCmluZGV4IGIxODVjZTkzOGIwZWY5MWVmMGVjNTMzMDY2NjIxYTU2OWI4ZThlMTMuLmEy
NWY5ODRhYmRhYzdjNDcxNjJjNTA2ZDk0MTdkNzUwOTM4NzJkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0b3IuY3BwCkBAIC00
NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiSlNDYXN0LmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbC5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVk
ZSAiSlNNb2R1bGVSZWNvcmQuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgpAQCAtNzYsNiArNzcs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvciB7CiAgICAg
Ly8gVGhlc2UgdHlwZXMgYXJlIHVzZWZ1bCBzaW5jZSB3ZSBjYW4ndCB1c2UgJzwuLi4+JyBzeW50
YXggaW4gTExJbnQgb2Zmc2V0cyBleHRyYWN0aW9uLiBlLmcuIFZlY3RvcjxpbnQ+OjptX2RhdGEK
ICAgICB1c2luZyBWZWN0b3IgPSBXVEY6OlZlY3RvcjxpbnQ+OworICAgIHVzaW5nIEpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGwgPSBKU0M6OkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8PjsKICAg
ICB1c2luZyBSZWZDb3VudGVkQXJyYXkgPSBXVEY6OlJlZkNvdW50ZWRBcnJheTxpbnQ+OwogCiBw
dWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20KaW5kZXggYWNkN2U0YzJjYzYxOGM0NDcyYzYyNDI4YzZhMTE3ZTQyZjg4NzYz
My4uNzQzZTJhYjFiZTkxY2RlYjJmYzVhOWE2YjhiNTliNzc3YmZkMzE4MiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAt
MTY1LDYgKzE2NSw3IEBAIGVuZAogCiBjb25zdCBKU0xleGljYWxFbnZpcm9ubWVudF92YXJpYWJs
ZXMgPSAoc2l6ZW9mIEpTTGV4aWNhbEVudmlyb25tZW50ICsgU2xvdFNpemUgLSAxKSAmIH4oU2xv
dFNpemUgLSAxKQogY29uc3QgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UgPSAoc2l6ZW9mIERpcmVj
dEFyZ3VtZW50cyArIFNsb3RTaXplIC0gMSkgJiB+KFNsb3RTaXplIC0gMSkKK2NvbnN0IEpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHMgPSBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsOjptX2ludGVybmFsRmllbGRzCiAKIGNvbnN0IFN0YWNrQWxpZ25tZW50ID0gY29uc3Rl
eHByIChzdGFja0FsaWdubWVudEJ5dGVzKCkpCiBjb25zdCBTdGFja0FsaWdubWVudFNsb3RzID0g
Y29uc3RleHByIChzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRl
eCAxNWIxMmQ0ZTM3YTkzYTQxYjY3NzNiNTgyODhkZmQwNDVhMzVlNmRmLi41MWQ5NGU2YjZjMWUw
NWE5MTY0NzA1MjAxNTk5MDRiODkzODY0NzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtMjUyMSwy
MyArMjUyMSwyMyBAQCBsbGludE9wV2l0aFJldHVybihvcF9nZXRfcmVzdF9sZW5ndGgsIE9wR2V0
UmVzdExlbmd0aCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0YwogZW5kKQogCiAKLWxsaW50T3BX
aXRoUHJvZmlsZShvcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCwgT3BHZXRQcm9taXNlSW50
ZXJuYWxGaWVsZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKK2xsaW50T3BX
aXRoUHJvZmlsZShvcF9nZXRfaW50ZXJuYWxfZmllbGQsIE9wR2V0SW50ZXJuYWxGaWVsZCwgbWFj
cm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKICAgICBnZXQobV9iYXNlLCB0MCkKICAg
ICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAotICAgIGdldHUoc2l6ZSwgT3BH
ZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCi0gICAgbG9hZGkgSlNQcm9taXNl
OjptX2ludGVybmFsRmllbGRzICsgVGFnT2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVdLCB0MgotICAg
IGxvYWRpIEpTUHJvbWlzZTo6bV9pbnRlcm5hbEZpZWxkcyArIFBheWxvYWRPZmZzZXRbdDAsIHQx
LCBTbG90U2l6ZV0sIHQzCisgICAgZ2V0dShzaXplLCBPcEdldEludGVybmFsRmllbGQsIG1faW5k
ZXgsIHQxKQorICAgIGxvYWRpIEpTSW50ZXJuYWxGaWVsZE9iamVjdF9pbnRlcm5hbEZpZWxkcyAr
IFRhZ09mZnNldFt0MCwgdDEsIFNsb3RTaXplXSwgdDIKKyAgICBsb2FkaSBKU0ludGVybmFsRmll
bGRPYmplY3RfaW50ZXJuYWxGaWVsZHMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVd
LCB0MwogICAgIHJldHVybih0MiwgdDMpCiBlbmQpCiAKLWxsaW50T3Aob3BfcHV0X3Byb21pc2Vf
aW50ZXJuYWxfZmllbGQsIE9wUHV0UHJvbWlzZUludGVybmFsRmllbGQsIG1hY3JvIChzaXplLCBn
ZXQsIGRpc3BhdGNoKQorbGxpbnRPcChvcF9wdXRfaW50ZXJuYWxfZmllbGQsIE9wUHV0SW50ZXJu
YWxGaWVsZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gpCiAgICAgZ2V0KG1fYmFzZSwgdDAp
CiAgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKICAgICBnZXQobV92YWx1
ZSwgdDEpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MSwgdDIsIHQzKQotICAg
IGdldHUoc2l6ZSwgT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCi0gICAg
c3RvcmVpIHQyLCBKU1Byb21pc2U6Om1faW50ZXJuYWxGaWVsZHMgKyBUYWdPZmZzZXRbdDAsIHQx
LCBTbG90U2l6ZV0KLSAgICBzdG9yZWkgdDMsIEpTUHJvbWlzZTo6bV9pbnRlcm5hbEZpZWxkcyAr
IFBheWxvYWRPZmZzZXRbdDAsIHQxLCBTbG90U2l6ZV0KKyAgICBnZXR1KHNpemUsIE9wUHV0SW50
ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCisgICAgc3RvcmVpIHQyLCBKU0ludGVybmFsRmllbGRP
YmplY3RfaW50ZXJuYWxGaWVsZHMgKyBUYWdPZmZzZXRbdDAsIHQxLCBTbG90U2l6ZV0KKyAgICBz
dG9yZWkgdDMsIEpTSW50ZXJuYWxGaWVsZE9iamVjdF9pbnRlcm5hbEZpZWxkcyArIFBheWxvYWRP
ZmZzZXRbdDAsIHQxLCBTbG90U2l6ZV0KICAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoc2l6ZSwg
Z2V0LCBtX2Jhc2UpCiAgICAgZGlzcGF0Y2goKQogZW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQppbmRleCA3MmQ0ZGNl
ZjQxMmVlMTQ0MzkyZjkyODQwMzY2MDcwMWE5MjllOTlhLi44ZDcxY2VkYWZiYWQxNTVkNjdlMDhj
ZGVmNzcwOGNhNDRmNDMwNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQpAQCAtMjU4NiwxOSArMjU4NiwxOSBAQCBs
bGludE9wV2l0aFJldHVybihvcF9nZXRfcmVzdF9sZW5ndGgsIE9wR2V0UmVzdExlbmd0aCwgbWFj
cm8gKHNpemUsIGdldCwgZGlzcGF0YwogZW5kKQogCiAKLWxsaW50T3BXaXRoUHJvZmlsZShvcF9n
ZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCwgT3BHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbWFj
cm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKK2xsaW50T3BXaXRoUHJvZmlsZShvcF9n
ZXRfaW50ZXJuYWxfZmllbGQsIE9wR2V0SW50ZXJuYWxGaWVsZCwgbWFjcm8gKHNpemUsIGdldCwg
ZGlzcGF0Y2gsIHJldHVybikKICAgICBsb2FkVmFyaWFibGUoZ2V0LCBtX2Jhc2UsIHQxKQotICAg
IGdldHUoc2l6ZSwgT3BHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDIpCi0gICAg
bG9hZHEgSlNQcm9taXNlOjptX2ludGVybmFsRmllbGRzW3QxLCB0MiwgU2xvdFNpemVdLCB0MAor
ICAgIGdldHUoc2l6ZSwgT3BHZXRJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0MikKKyAgICBsb2Fk
cSBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzW3QxLCB0MiwgU2xvdFNp
emVdLCB0MAogICAgIHJldHVybih0MCkKIGVuZCkKIAotbGxpbnRPcChvcF9wdXRfcHJvbWlzZV9p
bnRlcm5hbF9maWVsZCwgT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbWFjcm8gKHNpemUsIGdl
dCwgZGlzcGF0Y2gpCitsbGludE9wKG9wX3B1dF9pbnRlcm5hbF9maWVsZCwgT3BQdXRJbnRlcm5h
bEZpZWxkLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCkKICAgICBsb2FkVmFyaWFibGUoZ2V0
LCBtX2Jhc2UsIHQwKQogICAgIGdldChtX3ZhbHVlLCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHNpemUsIHQxLCB0MikKLSAgICBnZXR1KHNpemUsIE9wUHV0UHJvbWlzZUludGVybmFs
RmllbGQsIG1faW5kZXgsIHQxKQotICAgIHN0b3JlcSB0MiwgSlNQcm9taXNlOjptX2ludGVybmFs
RmllbGRzW3QwLCB0MSwgU2xvdFNpemVdCisgICAgZ2V0dShzaXplLCBPcFB1dEludGVybmFsRmll
bGQsIG1faW5kZXgsIHQxKQorICAgIHN0b3JlcSB0MiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1w
bF9pbnRlcm5hbEZpZWxkc1t0MCwgdDEsIFNsb3RTaXplXQogICAgIHdyaXRlQmFycmllck9uQ2Vs
bEFuZFZhbHVlV2l0aFJlbG9hZCh0MCwgdDIsIG1hY3JvKCkgZW5kKQogICAgIGRpc3BhdGNoKCkK
IGVuZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDhkMWRmYzg5MjFiOTIzMTNhMzJk
NWJiMzA5ODc1NzRjMWZiN2NhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbC5oCkBAIC0wLDAgKzEsNzMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBKU0MgeworCisvLyBUaGlzIGlzIHVzZWQgZm9yIHNoYXJpbmcgaW50ZXJmYWNlIGFu
ZCBpbXBsZW1lbnRhdGlvbi4gSXQgc2hvdWxkIG5vdCBoYXZlIGl0cyBvd24gY2xhc3NJbmZvLgor
dGVtcGxhdGU8dW5zaWduZWQgcGFzc2VkTnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyA9IDE+CitjbGFz
cyBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qgewor
cHVibGljOgorICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CisKKyAgICB1
c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2ln
bmVkIG51bWJlck9mSW50ZXJuYWxGaWVsZHMgPSBwYXNzZWROdW1iZXJPZkludGVybmFsRmllbGRz
OworCisgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShDaGVja2VkPHNpemVfdD4gaW5s
aW5lQ2FwYWNpdHkpCisgICAgeworICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNhcGFjaXR5
LCAhaW5saW5lQ2FwYWNpdHkpOworICAgICAgICByZXR1cm4gc2l6ZW9mKEpTSW50ZXJuYWxGaWVs
ZE9iamVjdEltcGwpOworICAgIH0KKworICAgIGNvbnN0IFdyaXRlQmFycmllcjxVbmtub3duPiYg
aW50ZXJuYWxGaWVsZCh1bnNpZ25lZCBpbmRleCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VS
VChpbmRleCA8IG51bWJlck9mSW50ZXJuYWxGaWVsZHMpOworICAgICAgICByZXR1cm4gbV9pbnRl
cm5hbEZpZWxkc1tpbmRleF07CisgICAgfQorCisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+JiBp
bnRlcm5hbEZpZWxkKHVuc2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4
IDwgbnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyk7CisgICAgICAgIHJldHVybiBtX2ludGVybmFsRmll
bGRzW2luZGV4XTsKKyAgICB9CisKKyAgICBzdGF0aWMgcHRyZGlmZl90IG9mZnNldE9mSW50ZXJu
YWxGaWVsZHMoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNJbnRlcm5hbEZpZWxkT2JqZWN0
SW1wbCwgbV9pbnRlcm5hbEZpZWxkcyk7IH0KKyAgICBzdGF0aWMgcHRyZGlmZl90IG9mZnNldE9m
SW50ZXJuYWxGaWVsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpT
SW50ZXJuYWxGaWVsZE9iamVjdEltcGwsIG1faW50ZXJuYWxGaWVsZHMpICsgaW5kZXggKiBzaXpl
b2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsgfQorCitwcm90ZWN0ZWQ6CisgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworCisgICAgSlNJbnRlcm5h
bEZpZWxkT2JqZWN0SW1wbChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgICAgICA6
IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICB7CisgICAgfQorCisgICAgV3JpdGVCYXJyaWVyPFVu
a25vd24+IG1faW50ZXJuYWxGaWVsZHNbbnVtYmVyT2ZJbnRlcm5hbEZpZWxkc10geyB9OworfTsK
KworfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsSW5saW5lcy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44ZjAzYzhhNmRiMWJkNTc1MGU2ODU5OGUyMWM5YWUxYjMxM2M4NWUxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbElubGluZXMuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJKU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmgiCisKK25hbWVz
cGFjZSBKU0MgeworCit0ZW1wbGF0ZTx1bnNpZ25lZCBwYXNzZWROdW1iZXJPZkludGVybmFsRmll
bGRzPgordm9pZCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPHBhc3NlZE51bWJlck9mSW50ZXJu
YWxGaWVsZHM+Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCit7CisgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0
LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7
CisgICAgdmlzaXRvci5hcHBlbmRWYWx1ZXModGhpc09iamVjdC0+bV9pbnRlcm5hbEZpZWxkcywg
bnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKaW5kZXggM2I5NzBhNjkwMGM0
NTcwZDlmNWM4NWViMWU3MWUwZDg1ZGIwODJjYS4uMzk5YzkzNjA2YmZjYjc1ZjVmMzI2YmFmMzJh
ZjJlYzc4OGY0NDZjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21p
c2UuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCiAjaW5j
bHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaCIKICNpbmNsdWRlICJKU1Byb21pc2VDb25zdHJ1
Y3Rvci5oIgogI2luY2x1ZGUgIk1pY3JvdGFzay5oIgogCkBAIC01Niw4ICs1Nyw4IEBAIEpTUHJv
bWlzZTo6SlNQcm9taXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB2b2lkIEpTUHJv
bWlzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKLSAgICBtX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6
RmxhZ3MpXS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihTdGF0
dXM6OlBlbmRpbmcpKSk7Ci0gICAgbV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oRmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KV0uc2V0KHZtLCB0aGlzLCBqc1VuZGVmaW5lZCgp
KTsKKyAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3Mp
KS5zZXQodm0sIHRoaXMsIGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihTdGF0dXM6OlBl
bmRpbmcpKSk7CisgICAgaW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6
OlJlYWN0aW9uc09yUmVzdWx0KSkuc2V0KHZtLCB0aGlzLCBqc1VuZGVmaW5lZCgpKTsKIH0KIAog
dm9pZCBKU1Byb21pc2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKQEAgLTY1LDEyICs2NiwxMSBAQCB2b2lkIEpTUHJvbWlzZTo6dmlzaXRDaGlsZHJl
bihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIGF1dG8qIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8SlNQcm9taXNlKj4oY2VsbCk7CiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhF
UklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOwogICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09i
amVjdCwgdmlzaXRvcik7Ci0gICAgdmlzaXRvci5hcHBlbmRWYWx1ZXModGhpc09iamVjdC0+bV9p
bnRlcm5hbEZpZWxkcywgbnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyk7CiB9CiAKIGF1dG8gSlNQcm9t
aXNlOjpzdGF0dXMoVk0mKSBjb25zdCAtPiBTdGF0dXMKIHsKLSAgICBKU1ZhbHVlIHZhbHVlID0g
bV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKV0uZ2V0
KCk7CisgICAgSlNWYWx1ZSB2YWx1ZSA9IGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEZpZWxkOjpGbGFncykpLmdldCgpOwogICAgIHVpbnQzMl90IGZsYWdzID0gdmFsdWUuYXNV
SW50MzJBc0FueUludCgpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdGF0dXM+KGZsYWdzICYg
c3RhdGVNYXNrKTsKIH0KQEAgLTgwLDEyICs4MCwxMiBAQCBKU1ZhbHVlIEpTUHJvbWlzZTo6cmVz
dWx0KFZNJiB2bSkgY29uc3QKICAgICBTdGF0dXMgc3RhdHVzID0gdGhpcy0+c3RhdHVzKHZtKTsK
ICAgICBpZiAoc3RhdHVzID09IFN0YXR1czo6UGVuZGluZykKICAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7Ci0gICAgcmV0dXJuIG1faW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCldLmdldCgpOworICAgIHJldHVybiBpbnRlcm5h
bEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpKS5n
ZXQoKTsKIH0KIAogYm9vbCBKU1Byb21pc2U6OmlzSGFuZGxlZChWTSYpIGNvbnN0CiB7Ci0gICAg
SlNWYWx1ZSB2YWx1ZSA9IG1faW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZp
ZWxkOjpGbGFncyldLmdldCgpOworICAgIEpTVmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpKS5nZXQoKTsKICAgICB1aW50MzJfdCBm
bGFncyA9IHZhbHVlLmFzVUludDMyQXNBbnlJbnQoKTsKICAgICByZXR1cm4gZmxhZ3MgJiBpc0hh
bmRsZWRGbGFnOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNQcm9taXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2UuaApp
bmRleCBkNmQ2NTZlYmRmZDFjYTExNGIxZTQ2NjA1YmQ1NTI5YjZmMDg4ZDM4Li4wY2YxOTc0OTBj
MTJmZmIyMzNmZWEyZGJiMmJmZGM2MTUzOGIwNjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1Byb21pc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2UuaApAQCAtMjUsMjAgKzI1LDEzIEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJKU0ludGVybmFsRmllbGRPYmplY3RJ
bXBsLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU1Byb21pc2UgOiBwdWJsaWMgSlNO
b25GaW5hbE9iamVjdCB7CitjbGFzcyBKU1Byb21pc2UgOiBwdWJsaWMgSlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbDwyPiB7CiBwdWJsaWM6Ci0gICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4
dHJhY3RvcjsKLSAgICB1c2luZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKLQotICAgIHN0YXRp
YyBzaXplX3QgYWxsb2NhdGlvblNpemUoQ2hlY2tlZDxzaXplX3Q+IGlubGluZUNhcGFjaXR5KQot
ICAgIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFj
aXR5KTsKLSAgICAgICAgcmV0dXJuIHNpemVvZihKU1Byb21pc2UpOwotICAgIH0KKyAgICB1c2lu
ZyBCYXNlID0gSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDwyPjsKIAogICAgIHN0YXRpYyBKU1By
b21pc2UqIGNyZWF0ZShWTSYsIFN0cnVjdHVyZSopOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CkBAIC01OCw3ICs1
MSw3IEBAIGNsYXNzIEpTUHJvbWlzZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICAg
ICAgRmxhZ3MgPSAwLAogICAgICAgICBSZWFjdGlvbnNPclJlc3VsdCA9IDEsCiAgICAgfTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mSW50ZXJuYWxGaWVsZHMgPSAyOwor
ICAgIHN0YXRpY19hc3NlcnQobnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyA9PSAyKTsKIAogICAgIEpT
X0VYUE9SVF9QUklWQVRFIFN0YXR1cyBzdGF0dXMoVk0mKSBjb25zdDsKICAgICBKU19FWFBPUlRf
UFJJVkFURSBKU1ZhbHVlIHJlc3VsdChWTSYpIGNvbnN0OwpAQCAtNjgsMTQgKzYxLDkgQEAgY2xh
c3MgSlNQcm9taXNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogCiAgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogCi0gICAgc3RhdGljIHB0
cmRpZmZfdCBvZmZzZXRPZkludGVybmFsRmllbGRzKCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9G
KEpTUHJvbWlzZSwgbV9pbnRlcm5hbEZpZWxkcyk7IH0KLSAgICBzdGF0aWMgcHRyZGlmZl90IG9m
ZnNldE9mSW50ZXJuYWxGaWVsZCh1bnNpZ25lZCBpbmRleCkgeyByZXR1cm4gT0JKRUNUX09GRlNF
VE9GKEpTUHJvbWlzZSwgbV9pbnRlcm5hbEZpZWxkcykgKyBpbmRleCAqIHNpemVvZihXcml0ZUJh
cnJpZXI8VW5rbm93bj4pOyB9Ci0KIHByb3RlY3RlZDoKICAgICBKU1Byb21pc2UoVk0mLCBTdHJ1
Y3R1cmUqKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Ci0KLSAgICBXcml0ZUJhcnJp
ZXI8VW5rbm93bj4gbV9pbnRlcm5hbEZpZWxkc1tudW1iZXJPZkludGVybmFsRmllbGRzXSB7IH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378114</attachid>
            <date>2019-09-05 13:45:50 -0700</date>
            <delta_ts>2019-09-05 13:57:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201513-20190905134549.patch</filename>
            <type>text/plain</type>
            <size>65707</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MzY4ZDQyZDQxNzE3ZjM0MjIyOTNlNDM1MDNmYWE3MmQ5ODYwYWI2Li5jNWE3MDliMmU2NDg2ZDBi
Zjk0YzE5ZDMzZTQ5ZGFiZTMwMTk1MWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTktMDktMDUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBHZW5lcmFsaXplIEdldC9QdXRQcm9taXNlSW50ZXJuYWxGaWVs
ZCBmb3IgSW50ZXJuYWxGaWVsZE9iamVjdEltcGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTUxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZXh0cmFjdHMgSlNQcm9taXNlJ3MgaW50
ZXJuYWwgZmllbGRzIG1lY2hhbmlzbSBhcyBKU0ludGVybmFsRmllbGRzT2JqZWN0SW1wbCwgYW5k
IG1ha2UgaXQgcmV1c2FibGUgZm9yIHRoZSBvdGhlciBvYmplY3RzLgorICAgICAgICBJdCBpcyBw
cmVwYXJhdGlvbiBmb3IgdXNpbmcgdGhpcyBpbnRlcm5hbCBmaWVsZHMgbWVjaGFuaXNtIGZvciBn
ZW5lcmF0b3JzLCBhc3luYyBmdW5jdGlvbnMsIGFzeW5jIGdlbmVyYXRvcnMsIGFycmF5IGl0ZXJh
dG9ycyBhbmQgc28gb24uCisKKyAgICAgICAgVGhlIHByb2ZpbGVyIGlzIHRlbGxpbmcgbWFueSBy
ZWNvbXBpbGF0aW9uIG9mIEdlbmVyYXRvcidzIHJlc3VtZSBmdW5jdGlvbiAoaW5jbHVkaW5nIGFz
eW5jIGdlbmVyYXRvcidzIG9uZSkuIFRoaXMgaXMgd2UgYXJlIHVzaW5nIHByb3BlcnRpZXMKKyAg
ICAgICAgd2l0aCBwcml2YXRlLXN5bWJvbHMgYXMgYSBzdG9yYWdlIGZvciBpbnRlcm5hbCBzdGF0
ZSBvZiBnZW5lcmF0b3JzLiBIb3dldmVyLCB0aGUgc3BlYyBkZWZpbmVzIHRoYXQgZWFjaCBnZW5l
cmF0b3IgZnJvbSBkaWZmZXJlbnQgZ2VuZXJhdG9yLWZ1bmN0aW9ucworICAgICAgICBoYXMgZGlm
ZmVyZW50IFtbUHJvdG90eXBlXV0uIFdoaWxlIHdlIG5lZWQgdG8gc2hhcmUgb25lIEdlbmVyYXRv
ci5wcm90b3R5cGUubmV4dCBmdW5jdGlvbiwgZ2VuZXJhdG9ycyB0ZW5kIHRvIGhhdmUgZGlmZmVy
ZW50IFN0cnVjdHVyZXMgZHVlIHRvCisgICAgICAgIGRpZmZlcmVudCBbW1Byb3RvdHlwZV1dIGFu
ZCBhY2Nlc3NpbmcgaW50ZXJuYWwgZmllbGRzIHdpdGggYGdldF9ieV9pZF9kaXJlY3RgIHNhZGx5
IGJlY29tZXMgc3VwZXIgbWVnYW1vcnBoaWMgd2hpbGUgaXQgaXMgbm90IG5lY2Vzc2FyeS4KKyAg
ICAgICAgQW5kIGV2ZXJ5IHRpbWUgbmV3IFN0cnVjdHVyZSBmb3IgbmV3IGdlbmVyYXRvciBwb3Bz
IHVwLCBERkcvRlRMIGNvZGUgZm9yIGdlbmVyYXRvciByZXN1bWUgZnVuY3Rpb24gZ2V0cyBPU1Ig
ZXhpdCBvciBldmVudHVhbGx5IHRoaXMgZnVuY3Rpb24gZ2V0cworICAgICAgICBlbWl0cyBzdXBl
ciBnZW5lcmljIGNvZGUgdW5mb3J0dW5hdGVseS4gQnkgdXNpbmcgaW50ZXJuYWwgZmllbGRzIGZv
ciBzdG9yaW5nIHRoZXNlIHN0YXRlLCB3ZSBjYW4gYXZvaWQgdGhpcyBwZXJmb3JtYW5jZSBwcm9i
bGVtLgorCisgICAgICAgIEJ5dGVjb2RlcyBhbmQgY29ycmVzcG9uZGluZyBERkcgbm9kZXMgYXJl
IGp1c3QgcmVuYW1lZC4gSlNQcm9taXNlIGlzIG5vdyBpbmhlcml0aW5nIEpTSW50ZXJuYWxGaWVs
ZHNPYmplY3RJbXBsLCB3aGljaCBjYW4gaG9sZHMgc3BlY2lmaWVkCisgICAgICAgIG51bWJlciBv
ZiBpbnRlcm5hbCBmaWVsZHMuIEFuZCBvcF9nZXRfaW50ZXJuYWxfZmllbGQgLyBvcF9wdXRfaW50
ZXJuYWxfZmllbGQgY2FuIGFjY2VzcyB0aGVzZSBpbnRlcm5hbCBmaWVsZHMuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYjoKKyAgICAg
ICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpjb21wdXRlVXNl
c0ZvckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6Y29tcHV0ZURlZnNGb3JCeXRlY29k
ZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvT3Bjb2Rl
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRJbnRlcm5hbEZpZWxkKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQdXRJbnRlcm5hbEZpZWxkKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCk6
IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0UHJvbWlz
ZUludGVybmFsRmllbGQpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjpCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX2dldFBy
b21pc2VJbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVJbnRyaW5zaWNOb2Rl
OjplbWl0X2ludHJpbnNpY19wdXRQcm9taXNlSW50ZXJuYWxGaWVsZCk6CisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVz
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGRm
Zy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAg
ICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAg
ICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQ
aGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTWF5RXhpdC5jcHA6CisgICAgICAg
ICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNJbnRlcm5hbEZp
ZWxkSW5kZXgpOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc0hlYXBQcmVkaWN0aW9uKToK
KyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6
CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUdldEludGVybmFsRmllbGQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
Ojpjb21waWxlUHV0SW50ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVDcmVhdGVQcm9taXNlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU5ld1Byb21pc2UpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmll
bGQpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAg
ICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAg
ICAgICAgKiBkZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwOgorICAgICAgICAq
IGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICog
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRG
R1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9C
Mzo6Y29tcGlsZU5ld1Byb21pc2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlQ3JlYXRlUHJvbWlzZSk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dl
ckRGR1RvQjM6OmNvbXBpbGVHZXRJbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1dEludGVybmFsRmllbGQpOgorICAgICAgICAoSlND
OjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxl
UHV0UHJvbWlzZUludGVybmFsRmllbGQpOiBEZWxldGVkLgorICAgICAgICAqIGppdC9KSVQuY3Bw
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAq
IGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2ludGVybmFsX2ZpZWxkKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0X29wX3B1dF9pbnRlcm5hbF9maWVsZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRfb3BfZ2V0X2ludGVybmFsX2ZpZWxkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X3B1dF9pbnRlcm5hbF9maWVsZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9nZXRfcHJv
bWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk6IERlbGV0ZWQuCisgICAgICAgICogbGxpbnQv
TExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
OgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisgICAgICAgICog
cnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oLgorICAgICAgICAoSlNDOjpKU0ludGVy
bmFsRmllbGRPYmplY3RJbXBsOjphbGxvY2F0aW9uU2l6ZSk6CisgICAgICAgIChKU0M6OkpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGw6OmludGVybmFsRmllbGQgY29uc3QpOgorICAgICAgICAoSlND
OjpKU0ludGVybmFsRmllbGRPYmplY3RJbXBsOjppbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpT
Qzo6SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcyk6Cisg
ICAgICAgIChKU0M6OkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw6Om9mZnNldE9mSW50ZXJuYWxG
aWVsZCk6CisgICAgICAgIChKU0M6OkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw6OkpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvSlNJbnRlcm5hbEZpZWxkT2Jq
ZWN0SW1wbElubGluZXMuaDogQWRkZWQuCisgICAgICAgIChKU0M6OkpTSW50ZXJuYWxGaWVsZE9i
amVjdEltcGw8cGFzc2VkTnVtYmVyT2ZJbnRlcm5hbEZpZWxkcz46OnZpc2l0Q2hpbGRyZW4pOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNQcm9taXNl
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZTo6dmlzaXRDaGlsZHJl
bik6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZTo6c3RhdHVzIGNvbnN0KToKKyAgICAgICAgKEpT
Qzo6SlNQcm9taXNlOjpyZXN1bHQgY29uc3QpOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6Omlz
SGFuZGxlZCBjb25zdCk6CisgICAgICAgICogcnVudGltZS9KU1Byb21pc2UuaDoKKyAgICAgICAg
KEpTQzo6SlNQcm9taXNlOjphbGxvY2F0aW9uU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OkpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcyk6IERlbGV0ZWQuCisgICAgICAgIChK
U0M6OkpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKTogRGVsZXRlZC4KKyAgICAgICAg
KCk6IERlbGV0ZWQuCisKIDIwMTktMDktMDUgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTGF6eUNsYXNzU3RydWN0dXJlOjpzZXRDb25zdHJ1Y3RvciBzaG91
bGQgbm90IHN0b3JlIHRoZSBjb25zdHJ1Y3RvciB0byB0aGUgZ2xvYmFsIG9iamVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDNlNmE0OTc2MzhhYWJmZTJjMmRjMGNlYWEx
ZjI3NGE3Mzg4MWNhYzQuLmQ5OTQwZmY1Y2M5NmUyMjBiNzNmOGQ2NTUxY2QxNjQ4OGQxMGVmYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTg2NSw2ICs4NjUsNyBAQCBz
ZXQoSmF2YVNjcmlwdENvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHJ1bnRpbWUv
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaAogICAgIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RJbmxp
bmVzLmgKICAgICBydW50aW1lL0pTSW1tdXRhYmxlQnV0dGVyZmx5LmgKKyAgICBydW50aW1lL0pT
SW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaAogICAgIHJ1bnRpbWUvSlNJbnRlcm5hbFByb21pc2Uu
aAogICAgIHJ1bnRpbWUvSlNJbnRlcm5hbFByb21pc2VEZWZlcnJlZC5oCiAgICAgcnVudGltZS9K
U01pY3JvdGFzay5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDVkYWZlNjQwOWU4
ZmExOWY1NWIwMjZiZGQ1YjllM2U4MTVmNjVhMjkuLjBkODhiNTQ0Y2FjMWY3OGY4ZThlNjk3NmVm
MDIwYmMzYWVkZjg3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzg2LDkg
KzE3ODYsMTEgQEAKIAkJRTMyOERBRTkxRDM4RDAwNTAwMUEyNTI5IC8qIEJ5dGVjb2RlR3JhcGgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRDI2NDI4
MUQzOEMwNDIwMDBCRTE3NCAvKiBCeXRlY29kZUdyYXBoLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyOERBRUIxRDM4RDAwNTAwMUEyNTI5IC8q
IEJ5dGVjb2RlUmV3cml0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEUzRDI2NDJBMUQzOEMwNDIwMDBCRTE3NCAvKiBCeXRlY29kZVJld3JpdGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTMyQUIy
NDQxRENENzVGNDAwRDc1MzNBIC8qIE1hY3JvQXNzZW1ibGVySGVscGVycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4MEE3NkIxRENENzE5NTAwMEY4
OUU2IC8qIE1hY3JvQXNzZW1ibGVySGVscGVycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzMzA5NUREMjMyMTBBMUIwMEVCNzg1NiAvKiBKU0lu
dGVybmFsRmllbGRPYmplY3RJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzMwOTVEQzIzMjEwQTE0MDBFQjc4NTYgLyogSlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUUzMzRDQkI1MjFGRDk2QTkwMDBFQjE3OCAvKiBSZWdFeHBHbG9iYWxEYXRhLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzM0Q0JCMzIxRkQ5
NkE5MDAwRUIxNzggLyogUmVnRXhwR2xvYmFsRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMzYzN0E2MUI2MzIyMDIwMEVFMDg0MCAvKiBS
ZWZsZWN0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzM2MzdBNDFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMzdCOTY3MjI0MzI0
RUEwMDkzQTgyMCAvKiBXYXNtQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzM3Qjk2NjIyNDMyNEU1MDA5M0E4MjAgLyogV2FzbUNh
cGFiaWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUUzMzk3MDA1MjMyMTBFMEIwMEIwQUUyMSAvKiBKU0ludGVybmFsRmllbGRPYmplY3RJ
bXBsSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTMzOTcwMDQyMzIxMEUwQTAwQjBBRTIxIC8qIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJ
bmxpbmVzLmggKi87IH07CiAJCUUzM0E5NDk2MjI1NTMyMzAwMEQ0MkIwNiAvKiBSYW5kb21pemlu
Z0Z1enplckFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzNBOTQ5NDIyNTUzMjI5MDBENDJCMDYgLyogUmFuZG9taXppbmdGdXp6ZXJBZ2VudC5o
ICovOyB9OwogCQlFMzNBOTQ5NzIyNTUzMjMzMDBENDJCMDYgLyogRnV6emVyQWdlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzM0E5NDkyMjI1NTMy
MjkwMEQ0MkIwNiAvKiBGdXp6ZXJBZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUzM0IzRTI2MUI3QUJENzUwMDQ4REIyRSAvKiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25PYmplY3QubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzNCM0UyNTFCN0FCRDc1MDA0OERCMkUgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uT2JqZWN0Lmx1dC5oICovOyB9OwpAQCAtNDg2NywxMSArNDg2OSwxMyBA
QAogCQlFMzMwNUZCMDIwQjBGNzg3MDBDRUI4MkIgLyogSW5CeUlkVmFyaWFudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbkJ5SWRWYXJpYW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzMDVGQjEyMEIwRjc4ODAwQ0VCODJCIC8qIEluQnlJ
ZFZhcmlhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5CeUlkVmFyaWFu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzMwNUZCMjIwQjBGNzg4MDBDRUI4
MkIgLyogSW5CeUlkU3RhdHVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEluQnlJZFN0YXR1cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUzMzA5
NURDMjMyMTBBMTQwMEVCNzg1NiAvKiBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTMzNENCQjIyMUZEOTZBODAwMEVCMTc4IC8qIFJlZ0V4cEdsb2JhbERhdGEu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwR2xvYmFsRGF0
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzRDQkIzMjFGRDk2QTkwMDBF
QjE3OCAvKiBSZWdFeHBHbG9iYWxEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlZ0V4cEdsb2JhbERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMz
NjM3QTMxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmbGVjdE9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzMzYzN0E0MUI2MzIyMDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZmxlY3RPYmplY3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzN0I5NjYyMjQzMjRFNTAwOTNBODIwIC8qIFdh
c21DYXBhYmlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbUNhcGFiaWxpdGllcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzM5NzAwNDIzMjEwRTBBMDBCMEFFMjEgLyogSlNJ
bnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTMzQTk0OTIyMjU1MzIyOTAwRDQyQjA2IC8qIEZ1enplckFnZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEZ1enplckFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUzM0E5NDkzMjI1NTMyMjkwMEQ0MkIwNiAvKiBSYW5kb21pemluZ0Z1enplckFnZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJhbmRvbWl6aW5nRnV6emVyQWdlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzNBOTQ5NDIyNTUzMjI5MDBENDJCMDYgLyogUmFu
ZG9taXppbmdGdXp6ZXJBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSYW5kb21pemluZ0Z1enplckFn
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MTg5LDYgKzcxOTMsOCBAQAog
CQkJCTBGMkI2NkNBMTdCNkI1QUIwMEE3QUUzRiAvKiBKU0ludDE2QXJyYXkuaCAqLywKIAkJCQkw
RjJCNjZDQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQzMkFycmF5LmggKi8sCiAJCQkJMEYyQjY2
QzkxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50OEFycmF5LmggKi8sCisJCQkJRTMzMDk1REMyMzIx
MEExNDAwRUI3ODU2IC8qIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaCAqLywKKwkJCQlFMzM5
NzAwNDIzMjEwRTBBMDBCMEFFMjEgLyogSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMu
aCAqLywKIAkJCQlFMzNGNTA3RTFCODQyOUE0MDA0MTM4NTYgLyogSlNJbnRlcm5hbFByb21pc2Uu
Y3BwICovLAogCQkJCUUzM0Y1MDdGMUI4NDI5QTQwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlz
ZS5oICovLAogCQkJCUUzM0Y1MDc2MUI4NDIyNTcwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlz
ZUNvbnN0cnVjdG9yLmNwcCAqLywKQEAgLTk2NTEsNiArOTY1Nyw4IEBACiAJCQkJMEYyQjY2Rjkx
N0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYy
QjY2RjcxN0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50OEFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNzZDNTE3NjExODI3NDhEMDA3MTVCMDUgLyogSlNJbnRlcmZhY2VKSVQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUUzMzA5NUREMjMyMTBBMUIwMEVCNzg1NiAvKiBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzM5NzAwNTIzMjEwRTBCMDBCMEFFMjEgLyog
SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUz
M0Y1MDgxMUI4NDI5QTQwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTMzRjUwNzkxQjg0MjI1NzAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlQ29u
c3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzM0Y1MDg3MUI4NDQ5RUYwMDQxMzg1NiAv
KiBKU0ludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYgppbmRleCA2NThl
MTFlOGIzZDA1NWYwNTc4YzY2NWYwM2M1YjU2ZWI0YjE0Yzc3Li4zYjM5OThhYjUwY2Q2MjAzMDli
YWM2ZDY3ZmQ2OTE4ZmY0YTAxYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVMaXN0LnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QucmIKQEAgLTExMjksNyArMTEyOSw3IEBACiAgICAgICAgIHByb3Bl
cnR5OiB1bnNpZ25lZCwKICAgICB9CiAKLW9wIDpnZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCwK
K29wIDpnZXRfaW50ZXJuYWxfZmllbGQsCiAgICAgYXJnczogewogICAgICAgICBkc3Q6IFZpcnR1
YWxSZWdpc3RlciwKICAgICAgICAgYmFzZTogVmlydHVhbFJlZ2lzdGVyLApAQCAtMTEzOSw3ICsx
MTM5LDcgQEAKICAgICAgICAgcHJvZmlsZTogVmFsdWVQcm9maWxlLAogICAgIH0KIAotb3AgOnB1
dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkLAorb3AgOnB1dF9pbnRlcm5hbF9maWVsZCwKICAgICBh
cmdzOiB7CiAgICAgICAgIGJhc2U6IFZpcnR1YWxSZWdpc3RlciwKICAgICAgICAgaW5kZXg6IHVu
c2lnbmVkLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VE
ZWYuaAppbmRleCA3M2I1YTU4MDQ4YzdlNDI3YTQ3NDNkMjI1N2U3M2E4Y2NhNjFhODIxLi5iZTA4
NTk2NDBmYjEwN2RlOGI3ODJiY2ZhNTA4MWJjN2QxYzc5YmMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMjU0LDggKzI1NCw4IEBA
IHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldChCbG9jayogY29kZUJsb2NrLCBPcGNv
ZGVJRCBvcGNvZGVJRCwgY29uc3QgSW5zCiAgICAgVVNFUyhPcFN3aXRjaENoYXIsIHNjcnV0aW5l
ZSkKICAgICBVU0VTKE9wU3dpdGNoSW1tLCBzY3J1dGluZWUpCiAKLSAgICBVU0VTKE9wR2V0UHJv
bWlzZUludGVybmFsRmllbGQsIGJhc2UpCi0gICAgVVNFUyhPcFB1dFByb21pc2VJbnRlcm5hbEZp
ZWxkLCBiYXNlLCB2YWx1ZSkKKyAgICBVU0VTKE9wR2V0SW50ZXJuYWxGaWVsZCwgYmFzZSkKKyAg
ICBVU0VTKE9wUHV0SW50ZXJuYWxGaWVsZCwgYmFzZSwgdmFsdWUpCiAKICAgICBVU0VTKE9wWWll
bGQsIGdlbmVyYXRvciwgYXJndW1lbnQpCiAKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIGNvbXB1
dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQgb3Bjb2Rl
SUQsIGNvbnN0IElucwogICAgIGNhc2Ugb3BfcHV0X3NldHRlcl9ieV92YWw6CiAgICAgY2FzZSBv
cF9wdXRfYnlfdmFsOgogICAgIGNhc2Ugb3BfcHV0X2J5X3ZhbF9kaXJlY3Q6Ci0gICAgY2FzZSBv
cF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZDoKKyAgICBjYXNlIG9wX3B1dF9pbnRlcm5hbF9m
aWVsZDoKICAgICBjYXNlIG9wX2RlZmluZV9kYXRhX3Byb3BlcnR5OgogICAgIGNhc2Ugb3BfZGVm
aW5lX2FjY2Vzc29yX3Byb3BlcnR5OgogICAgIGNhc2Ugb3BfcHJvZmlsZV90eXBlOgpAQCAtNDc3
LDcgKzQ3Nyw3IEBAIHZvaWQgY29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChCbG9jayogY29k
ZUJsb2NrLCBPcGNvZGVJRCBvcGNvZGVJRCwgY29uc3QgSW5zCiAgICAgREVGUyhPcEdldEFyZ3Vt
ZW50LCBkc3QpCiAgICAgREVGUyhPcENyZWF0ZVJlc3QsIGRzdCkKICAgICBERUZTKE9wR2V0UmVz
dExlbmd0aCwgZHN0KQotICAgIERFRlMoT3BHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgZHN0KQor
ICAgIERFRlMoT3BHZXRJbnRlcm5hbEZpZWxkLCBkc3QpCiAKICAgICBERUZTKE9wQ2F0Y2gsIGV4
Y2VwdGlvbiwgdGhyb3duVmFsdWUpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAKaW5kZXggYmYzN2IwZjU5MWIxYWRjODlmNGU3NjI0ZGEwOTMwOGE1YWFi
MWM4Zi4uMjk0M2IyYjEwMDNjNWY4ZjFhMzBjZTU2NTI2ODRkNDQzNmU3OGVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTU0MCw3ICs1NDAs
NyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRh
YmxlKiBvd25lckV4ZWN1dGFibGUsIFVubGluawogICAgICAgICBMSU5LKE9wVG9OdW1iZXIsIHBy
b2ZpbGUpCiAgICAgICAgIExJTksoT3BUb09iamVjdCwgcHJvZmlsZSkKICAgICAgICAgTElOSyhP
cEdldEFyZ3VtZW50LCBwcm9maWxlKQotICAgICAgICBMSU5LKE9wR2V0UHJvbWlzZUludGVybmFs
RmllbGQsIHByb2ZpbGUpCisgICAgICAgIExJTksoT3BHZXRJbnRlcm5hbEZpZWxkLCBwcm9maWxl
KQogICAgICAgICBMSU5LKE9wVG9UaGlzLCBwcm9maWxlKQogICAgICAgICBMSU5LKE9wQml0YW5k
LCBwcm9maWxlKQogICAgICAgICBMSU5LKE9wQml0b3IsIHByb2ZpbGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggZGNiZWI4YWQ2NGQwM2Q5ZjI4MmUyMjg3MTY1
ZmUwODIzMmE0OTkwMi4uNDJhNTZmYjMyNThhY2M1NjIwYTdhNmFkNTEwYmRlZWFhOGI5OTljOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaApAQCAtOTcsNyArOTcsNyBA
QCBleHRlcm4gY29uc3QgdW5zaWduZWQgb3Bjb2RlTGVuZ3Roc1tdOwogICAgIG1hY3JvKE9wVG9O
dW1iZXIpIFwKICAgICBtYWNybyhPcFRvT2JqZWN0KSBcCiAgICAgbWFjcm8oT3BHZXRBcmd1bWVu
dCkgXAotICAgIG1hY3JvKE9wR2V0UHJvbWlzZUludGVybmFsRmllbGQpIFwKKyAgICBtYWNybyhP
cEdldEludGVybmFsRmllbGQpIFwKICAgICBtYWNybyhPcFRvVGhpcykgXAogICAgIG1hY3JvKE9w
Q2FsbCkgXAogICAgIG1hY3JvKE9wVGFpbENhbGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggN2Y2
N2Q2NjQ5YWViOGQ2ODVjMTcxNWQ0OTNmMGI4NmEyZWVhZTg0MS4uZWE3YTRhYzQ2MDg3NGY4OWYw
OWZjNTY5NDBhNDFiMGIxNjExMjYxNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTI4MDgsMTUgKzI4
MDgsMTUgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXREZWxldGVCeVZhbChS
ZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UKICAgICByZXR1cm4gZHN0OwogfQogCi1S
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldFByb21pc2VJbnRlcm5hbEZpZWxk
KFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogYmFzZSwgdW5zaWduZWQgaW5kZXgpCitSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEdldEludGVybmFsRmllbGQoUmVnaXN0ZXJJ
RCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCkKIHsKLSAgICBPcEdldFBy
b21pc2VJbnRlcm5hbEZpZWxkOjplbWl0KHRoaXMsIGRzdCwgYmFzZSwgaW5kZXgpOworICAgIE9w
R2V0SW50ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBkc3QsIGJhc2UsIGluZGV4KTsKICAgICByZXR1
cm4gZHN0OwogfQogCi1SZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkKFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGluZGV4LCBSZWdpc3Rl
cklEKiB2YWx1ZSkKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0SW50ZXJu
YWxGaWVsZChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwgUmVnaXN0ZXJJRCogdmFs
dWUpCiB7Ci0gICAgT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBiYXNlLCBp
bmRleCwgdmFsdWUpOworICAgIE9wUHV0SW50ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBiYXNlLCBp
bmRleCwgdmFsdWUpOwogICAgIHJldHVybiB2YWx1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGJi
MDRjZWU0MjRlNTI0MWI3NzJhYTAzYWFkNGIzYmY0MTE0YWE1NjAuLjk0ZWViMTMyNjEwNmZmNmRk
Y2Q3NDkzMWRlYTBhYjI5MTk0ZGRjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTc3Niw4ICs3NzYsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdERpcmVjdFB1dEJ5VmFs
KFJlZ2lzdGVySUQqIGJhc2UsIFJlZ2lzdGVySUQqIHByb3BlcnR5LCBSZWdpc3RlcklEKiB2YWx1
ZSk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXREZWxldGVCeVZhbChSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIGJhc2UsIFJlZ2lzdGVySUQqIHByb3BlcnR5KTsKIAotICAgICAgICBSZWdp
c3RlcklEKiBlbWl0R2V0UHJvbWlzZUludGVybmFsRmllbGQoUmVnaXN0ZXJJRCogZHN0LCBSZWdp
c3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCk7Ci0gICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQ
dXRQcm9taXNlSW50ZXJuYWxGaWVsZChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwg
UmVnaXN0ZXJJRCogdmFsdWUpOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0R2V0SW50ZXJuYWxG
aWVsZChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGluZGV4KTsK
KyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFB1dEludGVybmFsRmllbGQoUmVnaXN0ZXJJRCogYmFz
ZSwgdW5zaWduZWQgaW5kZXgsIFJlZ2lzdGVySUQqIHZhbHVlKTsKIAogICAgICAgICB2b2lkIGVt
aXRTdXBlclNhbXBsZXJCZWdpbigpOwogICAgICAgICB2b2lkIGVtaXRTdXBlclNhbXBsZXJFbmQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcAppbmRleCAyYzgzMjM2NjIzZWViZDUzMTVmMzY1ZTNiY2M5NWZmNDhlMTYzNGE3Li40
ODkwOWVmOWIwNGQxNWFkYzRhMDJkMjZjNzVmOGNjNWM5YzE1M2IxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xMDMw
LDcgKzEwMzAsNyBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50
cmluc2ljX2dldFByb21pc2VJbnRlcm5hbEZpZWxkKEJ5dGVjbwogICAgIEFTU0VSVChpbmRleCA8
IEpTUHJvbWlzZTo6bnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyk7CiAgICAgQVNTRVJUKCFub2RlLT5t
X25leHQpOwogCi0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0R2V0UHJvbWlzZUludGVybmFsRmll
bGQoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgYmFzZS5nZXQoKSwgaW5kZXgpOwor
ICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEludGVybmFsRmllbGQoZ2VuZXJhdG9yLmZpbmFs
RGVzdGluYXRpb24oZHN0KSwgYmFzZS5nZXQoKSwgaW5kZXgpOwogfQogCiBSZWdpc3RlcklEKiBC
eXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX2FyZ3VtZW50KEJ5dGVjb2RlR2Vu
ZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKQEAgLTExMTUsNyArMTExNSw3IEBA
IFJlZ2lzdGVySUQqIEJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9pbnRyaW5zaWNfcHV0UHJv
bWlzZUludGVybmFsRmllbGQoQnl0ZWNvCiAKICAgICBBU1NFUlQoIW5vZGUtPm1fbmV4dCk7CiAK
LSAgICByZXR1cm4gZ2VuZXJhdG9yLm1vdmUoZHN0LCBnZW5lcmF0b3IuZW1pdFB1dFByb21pc2VJ
bnRlcm5hbEZpZWxkKGJhc2UuZ2V0KCksIGluZGV4LCB2YWx1ZS5nZXQoKSkpOworICAgIHJldHVy
biBnZW5lcmF0b3IubW92ZShkc3QsIGdlbmVyYXRvci5lbWl0UHV0SW50ZXJuYWxGaWVsZChiYXNl
LmdldCgpLCBpbmRleCwgdmFsdWUuZ2V0KCkpKTsKIH0KIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJ
bnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY190YWlsQ2FsbEZvcndhcmRBcmd1bWVudHMoQnl0
ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCmluZGV4IDQ2NDc4MWRjOTcyYzI4YjgwNDkyZWNlMTVhMTcwYzA5YjJjNTRjMjEuLjliNmJm
MDM1OTc4Nzk3YTNlMzNhNGM4NDk1MTQwMzE0MGM1MzFkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
QEAgLTI5NDAsMTEgKzI5NDAsMTEgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNl
IFB1dENsb3N1cmVWYXI6CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBHZXRQcm9taXNlSW50
ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CiAgICAgICAgIG1ha2VCeXRl
Y29kZVRvcEZvck5vZGUobm9kZSk7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBQdXRQcm9t
aXNlSW50ZXJuYWxGaWVsZDoKKyAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6CiAgICAgICAgIGJy
ZWFrOwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKaW5kZXggMGYzZmI3ZTZlYmJlZTA0MjExYTMwMWNiZWU3ODgzMWUwYTRmMTEyNi4uMmM4
MmIxZTkzYmQxZmQ1MmNlZDU1MDRhNDFiYWVjOWE1ZDliOTM5MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTcwNDksMTYgKzcwNDks
MTYgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAg
ICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX3RvX2luZGV4X3N0cmluZyk7CiAgICAgICAgIH0KIAot
ICAgICAgICBjYXNlIG9wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxkOiB7Ci0gICAgICAgICAg
ICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcEdldFByb21pc2VJbnRl
cm5hbEZpZWxkPigpOwotICAgICAgICAgICAgc2V0KGJ5dGVjb2RlLm1fZHN0LCBhZGRUb0dyYXBo
KEdldFByb21pc2VJbnRlcm5hbEZpZWxkLCBPcEluZm8oYnl0ZWNvZGUubV9pbmRleCksIE9wSW5m
byhnZXRQcmVkaWN0aW9uKCkpLCBnZXQoYnl0ZWNvZGUubV9iYXNlKSkpOwotICAgICAgICAgICAg
TkVYVF9PUENPREUob3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQpOworICAgICAgICBjYXNl
IG9wX2dldF9pbnRlcm5hbF9maWVsZDogeworICAgICAgICAgICAgYXV0byBieXRlY29kZSA9IGN1
cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BHZXRJbnRlcm5hbEZpZWxkPigpOworICAgICAgICAgICAg
c2V0KGJ5dGVjb2RlLm1fZHN0LCBhZGRUb0dyYXBoKEdldEludGVybmFsRmllbGQsIE9wSW5mbyhi
eXRlY29kZS5tX2luZGV4KSwgT3BJbmZvKGdldFByZWRpY3Rpb24oKSksIGdldChieXRlY29kZS5t
X2Jhc2UpKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9nZXRfaW50ZXJuYWxfZmllbGQp
OwogICAgICAgICB9CiAKLSAgICAgICAgY2FzZSBvcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVs
ZDogewotICAgICAgICAgICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8
T3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZD4oKTsKLSAgICAgICAgICAgIGFkZFRvR3JhcGgoUHV0
UHJvbWlzZUludGVybmFsRmllbGQsIE9wSW5mbyhieXRlY29kZS5tX2luZGV4KSwgZ2V0KGJ5dGVj
b2RlLm1fYmFzZSksIGdldChieXRlY29kZS5tX3ZhbHVlKSk7Ci0gICAgICAgICAgICBORVhUX09Q
Q09ERShvcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCk7CisgICAgICAgIGNhc2Ugb3BfcHV0
X2ludGVybmFsX2ZpZWxkOiB7CisgICAgICAgICAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudElu
c3RydWN0aW9uLT5hczxPcFB1dEludGVybmFsRmllbGQ+KCk7CisgICAgICAgICAgICBhZGRUb0dy
YXBoKFB1dEludGVybmFsRmllbGQsIE9wSW5mbyhieXRlY29kZS5tX2luZGV4KSwgZ2V0KGJ5dGVj
b2RlLm1fYmFzZSksIGdldChieXRlY29kZS5tX3ZhbHVlKSk7CisgICAgICAgICAgICBORVhUX09Q
Q09ERShvcF9wdXRfaW50ZXJuYWxfZmllbGQpOwogICAgICAgICB9CiAgICAgICAgICAgICAKICAg
ICAgICAgY2FzZSBvcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWU6IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA1YWM3YzQyNzc2YmQ1
NTcxNmQ1YWUzMTZkMmFlOGY4YmU3YWI0YTIyLi5jMGVlOThhZWE4MzhkNzI1NmU2Yjc1NGI1NDU3
NGJiOGQ2ZTlmOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmls
aXRpZXMuY3BwCkBAIC0yNzUsOCArMjc1LDggQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlM
ZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIGNvbnN0IEkKICAg
ICBjYXNlIG9wX3Jlc29sdmVfc2NvcGU6CiAgICAgY2FzZSBvcF9yZXNvbHZlX3Njb3BlX2Zvcl9o
b2lzdGluZ19mdW5jX2RlY2xfaW5fZXZhbDoKICAgICBjYXNlIG9wX25ld19yZWdleHA6Ci0gICAg
Y2FzZSBvcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZDoKLSAgICBjYXNlIG9wX3B1dF9wcm9t
aXNlX2ludGVybmFsX2ZpZWxkOgorICAgIGNhc2Ugb3BfZ2V0X2ludGVybmFsX2ZpZWxkOgorICAg
IGNhc2Ugb3BfcHV0X2ludGVybmFsX2ZpZWxkOgogICAgIGNhc2Ugb3BfdW5yZWFjaGFibGU6CiAg
ICAgY2FzZSBvcF9zdXBlcl9zYW1wbGVyX2JlZ2luOgogICAgIGNhc2Ugb3Bfc3VwZXJfc2FtcGxl
cl9lbmQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJp
emUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDIy
ZGNmMzkyZTlhMzJkZWY0ZDE2NmRlYmYxODA0M2IzM2RlZmNjMmEuLmMxYjdhMGJjMjIxY2Y0ODQx
YzZkNDMxYWM0ZTVjZTVhZGExZjcxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2xvYmJlcml6ZS5oCkBAIC0xMzE3LDE0ICsxMzE3LDE0IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFw
aCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0
ZUZ1CiAgICAgICAgIGRlZihIZWFwTG9jYXRpb24oQ2xvc3VyZVZhcmlhYmxlTG9jLCBBYnN0cmFj
dEhlYXAoU2NvcGVQcm9wZXJ0aWVzLCBub2RlLT5zY29wZU9mZnNldCgpLm9mZnNldCgpKSwgbm9k
ZS0+Y2hpbGQxKCkpLCBMYXp5Tm9kZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpKTsKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY2FzZSBHZXRQcm9taXNlSW50ZXJuYWxGaWVsZDogeworICAgIGNhc2Ug
R2V0SW50ZXJuYWxGaWVsZDogewogICAgICAgICBBYnN0cmFjdEhlYXAgaGVhcChKU1Byb21pc2VG
aWVsZHMsIG5vZGUtPmludGVybmFsRmllbGRJbmRleCgpKTsKICAgICAgICAgcmVhZChoZWFwKTsK
ICAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihQcm9taXNlSW50ZXJuYWxGaWVsZExvYywgaGVhcCwg
bm9kZS0+Y2hpbGQxKCkpLCBMYXp5Tm9kZShub2RlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBjYXNlIFB1dFByb21pc2VJbnRlcm5hbEZpZWxkOiB7CisgICAgY2FzZSBQdXRJbnRl
cm5hbEZpZWxkOiB7CiAgICAgICAgIEFic3RyYWN0SGVhcCBoZWFwKEpTUHJvbWlzZUZpZWxkcywg
bm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4KCkpOwogICAgICAgICB3cml0ZShoZWFwKTsKICAgICAg
ICAgZGVmKEhlYXBMb2NhdGlvbihQcm9taXNlSW50ZXJuYWxGaWVsZExvYywgaGVhcCwgbm9kZS0+
Y2hpbGQxKCkpLCBMYXp5Tm9kZShub2RlLT5jaGlsZDIoKS5ub2RlKCkpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA4OTM4ODA1NjNlODIxYmJhOGRhNDE0M2I1
OGZlZmYwNmIzMTAwYzFmLi5mYjMxMjJiN2MyNjVkM2I4ZWQxYTZhMDA2YjJkYzgyNGE1ZTU4ZDc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0xMjMsOCArMTIz
LDggQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgR2V0
R2xvYmFsVGhpczoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAgY2FzZSBQdXRDbG9zdXJl
VmFyOgotICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6Ci0gICAgY2FzZSBQdXRQcm9t
aXNlSW50ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgY2FzZSBQ
dXRJbnRlcm5hbEZpZWxkOgogICAgIGNhc2UgR2V0UmVnRXhwT2JqZWN0TGFzdEluZGV4OgogICAg
IGNhc2UgU2V0UmVnRXhwT2JqZWN0TGFzdEluZGV4OgogICAgIGNhc2UgUmVjb3JkUmVnRXhwQ2Fj
aGVkUmVzdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
aW5kZXggM2M3MzU2MzQyNDY4MDIyYTcxYWIwMjM3NDk4NmQwNGU3NDk4MTRmMS4uZTQ1YWM1YzFl
NjRjNzNmZTI2ODljNGUzOGU0ZWUyYjEyNWRjMzcxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNDg0LDE0ICsxNDg0LDE0IEBAIGNsYXNzIEZp
eHVwUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgR2V0
Q2xvc3VyZVZhcjoKICAgICAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgotICAgICAgICBjYXNl
IEdldFByb21pc2VJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVs
ZDogewogICAgICAgICAgICAgZml4RWRnZTxLbm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBQdXRDbG9zdXJl
VmFyOgogICAgICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgotICAgICAgICBjYXNlIFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVsZDogewogICAg
ICAgICAgICAgZml4RWRnZTxLbm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAg
ICAgIHNwZWN1bGF0ZUZvckJhcnJpZXIobm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAppbmRleCBmYjczZGU2
ZmQ0ZjEwNmNkMzc2MjhhMmRhZDAwMTY1ZWJiYTM2NDhhLi5mOGVlOTljMzY3NWYzMGUxNWUzODdj
MzRlNGYwMWY3NDMzYmZmMzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01heUV4aXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF5RXhp
dC5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCBFeGl0TW9kZSBtYXlFeGl0SW1wbChHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUsIFN0YXRlVHlwZSYgc3RhdGUpCiAgICAgY2FzZSBGZW5jZWRTdG9yZUJh
cnJpZXI6CiAgICAgY2FzZSBQdXRCeU9mZnNldDoKICAgICBjYXNlIFB1dENsb3N1cmVWYXI6Ci0g
ICAgY2FzZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDoKKyAgICBjYXNlIFB1dEludGVybmFsRmll
bGQ6CiAgICAgY2FzZSBSZWNvcmRSZWdFeHBDYWNoZWRSZXN1bHQ6CiAgICAgY2FzZSBOdWtlU3Ry
dWN0dXJlQW5kU2V0QnV0dGVyZmx5OgogICAgIGNhc2UgRmlsdGVyQ2FsbExpbmtTdGF0dXM6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDY5MDIwMjUwNzM5NTMwZDg3MDdiMzQz
NWEyMDVhODgwZDUwYmJkOGQuLjY5ZjA4YzE4NmQ0OGNlYmY2Yzc2Yjg5YTRkNWQ0ODQ0MDdkYjNk
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xMjg2LDcgKzEyODYsNyBA
QCBzdHJ1Y3QgTm9kZSB7CiAKICAgICB1bnNpZ25lZCBoYXNJbnRlcm5hbEZpZWxkSW5kZXgoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIG9wKCkgPT0gR2V0UHJvbWlzZUludGVybmFsRmllbGQgfHwg
b3AoKSA9PSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDsKKyAgICAgICAgcmV0dXJuIG9wKCkgPT0g
R2V0SW50ZXJuYWxGaWVsZCB8fCBvcCgpID09IFB1dEludGVybmFsRmllbGQ7CiAgICAgfQogCiAg
ICAgdW5zaWduZWQgaW50ZXJuYWxGaWVsZEluZGV4KCkKQEAgLTE2OTksNyArMTY5OSw3IEBAIHN0
cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBHZXRCeU9mZnNldDoKICAgICAgICAgY2FzZSBNdWx0
aUdldEJ5T2Zmc2V0OgogICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6Ci0gICAgICAgIGNhc2Ug
R2V0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVsZDoK
ICAgICAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgogICAgICAgICBjYXNlIEdldEFyZ3VtZW50
OgogICAgICAgICBjYXNlIEFycmF5UG9wOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCmluZGV4IGRkNGVmY2RkMjg5YTM1NTNjNDZhZDhjOWZhMzBlYzQ0YTQwYTYyZjUuLjRk
NzE1ODJlMTdhNjkxYTA1OGE4MzQ3MjI4NGY2MDE5Zjk3ZDgwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTQwMSw4ICs0MDEsOCBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oU2V0RnVuY3Rpb25OYW1lLCBOb2RlTXVzdEdl
bmVyYXRlKSBcCiAgICAgbWFjcm8oSGFzT3duUHJvcGVydHksIE5vZGVSZXN1bHRCb29sZWFuKSBc
CiAgICAgXAotICAgIG1hY3JvKEdldFByb21pc2VJbnRlcm5hbEZpZWxkLCBOb2RlUmVzdWx0SlMp
IFwKLSAgICBtYWNybyhQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgTm9kZU11c3RHZW5lcmF0ZSkg
XAorICAgIG1hY3JvKEdldEludGVybmFsRmllbGQsIE5vZGVSZXN1bHRKUykgXAorICAgIG1hY3Jv
KFB1dEludGVybmFsRmllbGQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgbWFjcm8o
Q3JlYXRlQWN0aXZhdGlvbiwgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUHVzaFdpdGhTY29w
ZSwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cAppbmRleCAzMzdjOGI0MzlmODNjYmQ0MTVkY2JhMGY4ZTQzMDRlMGYxNDVhZTZhLi40OGE0MWIz
MDcyYjc2NzYzNjE5MTA0NTNhNGRlNGY1YWFlYjU0YmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cApAQCAtODI3LDcgKzgyNyw3IEBAIGNsYXNzIFByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlIDog
cHVibGljIFBoYXNlIHsKICAgICAgICAgY2FzZSBHZXRHbG9iYWxWYXI6CiAgICAgICAgIGNhc2Ug
R2V0R2xvYmFsTGV4aWNhbFZhcmlhYmxlOgogICAgICAgICBjYXNlIEdldENsb3N1cmVWYXI6Ci0g
ICAgICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgICAgIGNhc2UgR2V0SW50
ZXJuYWxGaWVsZDoKICAgICAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgogICAgICAgICBjYXNl
IExvYWRLZXlGcm9tTWFwQnVja2V0OgogICAgICAgICBjYXNlIExvYWRWYWx1ZUZyb21NYXBCdWNr
ZXQ6CkBAIC0xMjcwLDcgKzEyNzAsNyBAQCBjbGFzcyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFz
ZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIGNhc2UgUHV0QnlJZFdpdGhUaGlzOgogICAgICAg
ICBjYXNlIFB1dEJ5VmFsOgogICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6Ci0gICAgICAgIGNh
c2UgUHV0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVs
ZDoKICAgICAgICAgY2FzZSBQdXRUb0FyZ3VtZW50czoKICAgICAgICAgY2FzZSBSZXR1cm46CiAg
ICAgICAgIGNhc2UgVGhyb3c6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCmluZGV4IDA1NjBlZWNlOTg5NjAzNjRhOTlmZTkyNTY4ZThkNTY4ZDcyNTMzMGEu
LmNhOGFlYTMwYTM1MjY2YzY3NTQ1OWI5YjVlZjU0NTJjNTMxNzZkNWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yODMsOCArMjgzLDggQEAg
Ym9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlLCBib29sIGlnbm8KICAgICBjYXNlIEdldEdsb2JhbFZhcjoKICAgICBjYXNl
IEdldEdsb2JhbExleGljYWxWYXJpYWJsZToKICAgICBjYXNlIFB1dEdsb2JhbFZhcmlhYmxlOgot
ICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6Ci0gICAgY2FzZSBQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgY2FzZSBQdXRJbnRl
cm5hbEZpZWxkOgogICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgog
ICAgIGNhc2UgQ2hlY2tOb3RFbXB0eToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggNzNlZWRjMzBlOTBjZmEyOWYzOTJjNTE0MzQxOWQz
N2NhZGEyMWNiMC4uYzNmZTVhNDliMDAzMGM2NDAwMTM3MzBjMWIzMGRlNWQwZmQ5NGRlYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAg
LTExMjcwLDcgKzExMjcwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dENsb3N1
cmVWYXIoTm9kZSogbm9kZSkKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKE5vZGUqIG5vZGUpCit2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0SW50ZXJuYWxGaWVsZChOb2RlKiBub2RlKQogewog
ICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAg
IEpTVmFsdWVSZWdzVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKQEAgLTExMjc4LDExICsxMTI3OCwx
MSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQo
Tm9kZSogbm9kZSkKICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7CiAgICAgSlNWYWx1
ZVJlZ3MgcmVzdWx0UmVncyA9IHJlc3VsdC5yZWdzKCk7CiAKLSAgICBtX2ppdC5sb2FkVmFsdWUo
SklUQ29tcGlsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFs
RmllbGQobm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4KCkpKSwgcmVzdWx0UmVncyk7CisgICAgbV9q
aXQubG9hZFZhbHVlKEpJVENvbXBpbGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTSW50ZXJuYWxGaWVs
ZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKG5vZGUtPmludGVybmFsRmllbGRJ
bmRleCgpKSksIHJlc3VsdFJlZ3MpOwogICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0UmVncywgbm9k
ZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRQcm9taXNlSW50ZXJuYWxG
aWVsZChOb2RlKiBub2RlKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEludGVybmFs
RmllbGQoTm9kZSogbm9kZSkKIHsKICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMs
IG5vZGUtPmNoaWxkMSgpKTsKICAgICBKU1ZhbHVlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CkBAIC0xMTI5MCw3ICsxMTI5MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVQdXRQcm9taXNlSW50ZXJuYWxGaWVsZChOb2RlKiBub2RlKQogICAgIEdQUlJlZyBiYXNl
R1BSID0gYmFzZS5ncHIoKTsKICAgICBKU1ZhbHVlUmVncyB2YWx1ZVJlZ3MgPSB2YWx1ZS5qc1Zh
bHVlUmVncygpOwogCi0gICAgbV9qaXQuc3RvcmVWYWx1ZSh2YWx1ZVJlZ3MsIEpJVENvbXBpbGVy
OjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKG5vZGUt
PmludGVybmFsRmllbGRJbmRleCgpKSkpOworICAgIG1faml0LnN0b3JlVmFsdWUodmFsdWVSZWdz
LCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlR1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBs
PD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChub2RlLT5pbnRlcm5hbEZpZWxkSW5kZXgoKSkpKTsK
ICAgICBub1Jlc3VsdChub2RlKTsKIH0KIApAQCAtMTI3NTksOCArMTI3NTksOCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQ3JlYXRlUHJvbWlzZShOb2RlKiBub2RlKQogICAgICAgICBl
bWl0QWxsb2NhdGVKU09iamVjdFdpdGhLbm93blNpemU8SlNJbnRlcm5hbFByb21pc2U+KHJlc3Vs
dEdQUiwgc3RydWN0dXJlR1BSLCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwg
c2xvd0Nhc2VzLCBzaXplb2YoSlNJbnRlcm5hbFByb21pc2UpKTsKICAgICBlbHNlCiAgICAgICAg
IGVtaXRBbGxvY2F0ZUpTT2JqZWN0V2l0aEtub3duU2l6ZTxKU1Byb21pc2U+KHJlc3VsdEdQUiwg
c3RydWN0dXJlR1BSLCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2xvd0Nh
c2VzLCBzaXplb2YoSlNQcm9taXNlKSk7Ci0gICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNO
dW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSks
IENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRl
cm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncykp
KSk7Ci0gICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFsRmllbGQo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0
KSkpKTsKKyAgICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc051bWJlcihzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKHJlc3VsdEdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVy
bmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKSkp
KTsKKyAgICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNl
dE9mSW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6
UmVhY3Rpb25zT3JSZXN1bHQpKSkpOwogICAgIG1faml0Lm11dGF0b3JGZW5jZShtX2ppdC52bSgp
KTsKIAogICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChzbG93Q2FzZXMsIHRo
aXMsIG5vZGUtPmlzSW50ZXJuYWxQcm9taXNlKCkgPyBvcGVyYXRpb25DcmVhdGVJbnRlcm5hbFBy
b21pc2UgOiBvcGVyYXRpb25DcmVhdGVQcm9taXNlLCByZXN1bHRHUFIsIGNhbGxlZUdQUiwgVHJ1
c3RlZEltbVB0cjo6d2Vha1BvaW50ZXIobV9qaXQuZ3JhcGgoKSwgZ2xvYmFsT2JqZWN0KSkpOwpA
QCAtMTI4MTUsOCArMTI4MTUsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3UHJv
bWlzZShOb2RlKiBub2RlKQogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdFdpdGhLbm93blNp
emU8SlNJbnRlcm5hbFByb21pc2U+KHJlc3VsdEdQUiwgVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUp
LCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2xvd0Nhc2VzLCBzaXplb2Yo
SlNJbnRlcm5hbFByb21pc2UpKTsKICAgICBlbHNlCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2Jq
ZWN0V2l0aEtub3duU2l6ZTxKU1Byb21pc2U+KHJlc3VsdEdQUiwgVHJ1c3RlZEltbVB0cihzdHJ1
Y3R1cmUpLCBidXR0ZXJmbHksIHNjcmF0Y2gxR1BSLCBzY3JhdGNoMkdQUiwgc2xvd0Nhc2VzLCBz
aXplb2YoSlNQcm9taXNlKSk7Ci0gICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNOdW1iZXIo
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSksIENDYWxs
SGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZp
ZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncykpKSk7Ci0g
ICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKHJlc3VsdEdQUiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFsRmllbGQoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KSkpKTsK
KyAgICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc051bWJlcihzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHJl
c3VsdEdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVybmFsRmll
bGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKSkpKTsKKyAg
ICBtX2ppdC5zdG9yZVRydXN0ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MocmVzdWx0R1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50
ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rp
b25zT3JSZXN1bHQpKSkpOwogICAgIG1faml0Lm11dGF0b3JGZW5jZShtX2ppdC52bSgpKTsKIAog
ICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChzbG93Q2FzZXMsIHRoaXMsIG5v
ZGUtPmlzSW50ZXJuYWxQcm9taXNlKCkgPyBvcGVyYXRpb25OZXdJbnRlcm5hbFByb21pc2UgOiBv
cGVyYXRpb25OZXdQcm9taXNlLCByZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4
IDE0ZDQ3ZjJkYTBjYjA2NDg0MTU0YzgxZDg4NWQyMTM1Yjc5NTNlNjMuLmY5OTFkZDIwMTYyNGU2
MDNiMjFlZDczZGQwM2M1M2MzYjczMWFkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTE0NDgsOCArMTQ0OCw4IEBAIGNsYXNzIFNwZWN1
bGF0aXZlSklUIHsKICAgICB2b2lkIGNvbXBpbGVQdXREeW5hbWljVmFyKE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVHZXRDbG9zdXJlVmFyKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVQdXRDbG9z
dXJlVmFyKE5vZGUqKTsKLSAgICB2b2lkIGNvbXBpbGVHZXRQcm9taXNlSW50ZXJuYWxGaWVsZChO
b2RlKik7Ci0gICAgdm9pZCBjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmllbGQoTm9kZSopOwor
ICAgIHZvaWQgY29tcGlsZUdldEludGVybmFsRmllbGQoTm9kZSopOworICAgIHZvaWQgY29tcGls
ZVB1dEludGVybmFsRmllbGQoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNvbXBhcmVFcVB0cihO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlRGVmaW5lRGF0YVByb3BlcnR5KE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVEZWZpbmVBY2Nlc3NvclByb3BlcnR5KE5vZGUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGMz
ZGEwOGIxN2U5NTNiZGQ1YjAxNTU5NTE3YjhmMjkzZDJmNGUyODIuLjA5Y2YwOTg0Njk4YjlmNzkz
NzZmMDU2NDE3ZTU3MTYwMzlhZTU2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMzI1NywxMyArMzI1NywxMyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6IHsKLSAgICAgICAg
Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKG5vZGUpOworICAgIGNhc2UgR2V0SW50ZXJu
YWxGaWVsZDogeworICAgICAgICBjb21waWxlR2V0SW50ZXJuYWxGaWVsZChub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDogewot
ICAgICAgICBjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmllbGQobm9kZSk7CisgICAgY2FzZSBQ
dXRJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgIGNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKG5vZGUp
OwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IGM5ZTI5ZjRjM2E3NTE0YzZhZWU3YTZj
MmViYTM1ZWJjYjk0NzY2YmQuLmYxZjA0YzNjOTg3NWE2MzE2NWE2MjhmZjlmMWNlZGI1ZmM3MDZi
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcApAQCAtMzUzOCwxMyArMzUzOCwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgR2V0UHJv
bWlzZUludGVybmFsRmllbGQ6IHsKLSAgICAgICAgY29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZp
ZWxkKG5vZGUpOworICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVsZDogeworICAgICAgICBjb21waWxl
R2V0SW50ZXJuYWxGaWVsZChub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2Fz
ZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDogewotICAgICAgICBjb21waWxlUHV0UHJvbWlzZUlu
dGVybmFsRmllbGQobm9kZSk7CisgICAgY2FzZSBQdXRJbnRlcm5hbEZpZWxkOiB7CisgICAgICAg
IGNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZS5jcHAKaW5kZXggNGM3M2NmNjYwMzU5MjgxZmQwMGZkYTUyYmFiMjgw
Y2YzYjI3OGM2Yi4uMjRiNTVlNzg4ZDlkZTliNTA2OTk2NzU1NzUzNzczOGIzMzJiZTM1NyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZS5jcHAKQEAgLTI4Miw3ICsyODIsNyBAQCBjbGFzcyBTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICBjYXNlIFB1dENs
b3N1cmVWYXI6CiAgICAgICAgICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgogICAgICAgICAgICAg
Y2FzZSBTZXRSZWdFeHBPYmplY3RMYXN0SW5kZXg6Ci0gICAgICAgICAgICBjYXNlIFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkOiB7CisgICAgICAgICAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6IHsK
ICAgICAgICAgICAgICAgICBjb25zaWRlckJhcnJpZXIobV9ub2RlLT5jaGlsZDEoKSwgbV9ub2Rl
LT5jaGlsZDIoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9y
eS5oCmluZGV4IGUyZWI4MTNhMTEzNTJlMDg2MmYyMDY5NTI5NTExZDBiZjVlMDk0MTMuLjdiMGM4
OWE5NGNhMzI4ZWU5NmVlZTBmNGI5NmZlMjI3Y2Q3ZDFkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCkBAIC0xNDks
NyArMTQ5LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKERp
cmVjdEFyZ3VtZW50c19zdG9yYWdlLCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VPZmZzZXQoKSwg
c2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXAogICAgIG1hY3JvKEpTTGV4aWNhbEVudmlyb25tZW50
X3ZhcmlhYmxlcywgSlNMZXhpY2FsRW52aXJvbm1lbnQ6Om9mZnNldE9mVmFyaWFibGVzKCksIHNp
emVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKICAgICBtYWNybyhKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3JfY2FjaGVkUHJvcGVydHlOYW1lc1ZlY3RvckNvbnRlbnRzLCAwLCBzaXplb2YoV3JpdGVCYXJy
aWVyPEpTU3RyaW5nPikpIFwKLSAgICBtYWNybyhKU1Byb21pc2VfaW50ZXJuYWxGaWVsZHMsIEpT
UHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcygpLCBzaXplb2YoV3JpdGVCYXJyaWVyPFVu
a25vd24+KSkgXAorICAgIG1hY3JvKEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxG
aWVsZHMsIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxk
cygpLCBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KSkgXAogICAgIG1hY3JvKFNjb3BlZEFy
Z3VtZW50c19TdG9yYWdlX3N0b3JhZ2UsIDAsIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKICAg
ICBtYWNybyhXcml0ZUJhcnJpZXJCdWZmZXJfYnVmZmVyQ29udGVudHMsIDAsIHNpemVvZihKU0Nl
bGwqKSkgXAogICAgIG1hY3JvKGNoYXJhY3RlcnM4LCAwLCBzaXplb2YoTENoYXIpKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggNDNjOTY4
MzhmMTFjYTUwNGNkY2MzZDgwOGI1YWQxNzVlZTk0MmY2MS4uODQ1YzQxN2VjZGIxNGJmNTBhNDVm
NWU4ZTA5ZTNhZTIzOTlmOWQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcApAQCAtMTQyLDggKzE0Miw4IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2
ZWwgY2FuQ29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgTmV3QXN5bmNHZW5lcmF0b3JGdW5j
dGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgot
ICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6Ci0gICAgY2FzZSBQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZDoKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgY2FzZSBQdXRJbnRl
cm5hbEZpZWxkOgogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgQ3Jl
YXRlU2NvcGVkQXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDY3NTY4
NjM4YWRjZTkzMTRmZmZlZmE1ZWVhZjdkYzliMzc0MDliNjQuLjRjMGI2YTQxMzQxZmVhOTJmZDg3
MmM3OTAzYjNmMmNiYjI3MjllNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAKQEAgLTExNzgsMTEgKzExNzgsMTEgQEAgY2xhc3MgTG93ZXJERkdU
b0IzIHsKICAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgogICAgICAgICAgICAgY29tcGlsZVB1
dENsb3N1cmVWYXIoKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEdldFByb21p
c2VJbnRlcm5hbEZpZWxkOgotICAgICAgICAgICAgY29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZp
ZWxkKCk7CisgICAgICAgIGNhc2UgR2V0SW50ZXJuYWxGaWVsZDoKKyAgICAgICAgICAgIGNvbXBp
bGVHZXRJbnRlcm5hbEZpZWxkKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQ
dXRQcm9taXNlSW50ZXJuYWxGaWVsZDoKLSAgICAgICAgICAgIGNvbXBpbGVQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZCgpOworICAgICAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6CisgICAgICAgICAg
ICBjb21waWxlUHV0SW50ZXJuYWxGaWVsZCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICAgICAgICAgIGNvbXBpbGVHZXRGcm9tQXJndW1l
bnRzKCk7CkBAIC01OTEzLDggKzU5MTMsOCBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAg
ICAgICAgcHJvbWlzZSA9IGFsbG9jYXRlT2JqZWN0PEpTSW50ZXJuYWxQcm9taXNlPihtX25vZGUt
PnN0cnVjdHVyZSgpLCBtX291dC5pbnRQdHJaZXJvLCBzbG93Q2FzZSk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHByb21pc2UgPSBhbGxvY2F0ZU9iamVjdDxKU1Byb21pc2U+KG1fbm9kZS0+
c3RydWN0dXJlKCksIG1fb3V0LmludFB0clplcm8sIHNsb3dDYXNlKTsKLSAgICAgICAgbV9vdXQu
c3RvcmU2NChtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc051bWJlcihzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSkpLCBwcm9taXNlLCBt
X2hlYXBzLkpTUHJvbWlzZV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQ
cm9taXNlOjpGaWVsZDo6RmxhZ3MpXSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29u
c3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBwcm9taXNlLCBtX2hlYXBz
LkpTUHJvbWlzZV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNl
OjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7CisgICAgICAgIG1fb3V0LnN0b3JlNjQobV9v
dXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU0lu
dGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVk
PihKU1Byb21pc2U6OkZpZWxkOjpGbGFncyldKTsKKyAgICAgICAgbV9vdXQuc3RvcmU2NChtX291
dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHByb21pc2UsIG1f
aGVhcHMuSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXSk7CiAgICAg
ICAgIG11dGF0b3JGZW5jZSgpOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0g
bV9vdXQuYW5jaG9yKHByb21pc2UpOwogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7
CkBAIC02MzIzLDggKzYzMjMsOCBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAg
cHJvbWlzZSA9IGFsbG9jYXRlT2JqZWN0PEpTSW50ZXJuYWxQcm9taXNlPihtX291dC5waGkocG9p
bnRlclR5cGUoKSwgcHJvbWlzZVN0cnVjdHVyZSwgZGVyaXZlZFN0cnVjdHVyZSksIG1fb3V0Lmlu
dFB0clplcm8sIHNsb3dDYXNlKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcHJvbWlzZSA9
IGFsbG9jYXRlT2JqZWN0PEpTUHJvbWlzZT4obV9vdXQucGhpKHBvaW50ZXJUeXBlKCksIHByb21p
c2VTdHJ1Y3R1cmUsIGRlcml2ZWRTdHJ1Y3R1cmUpLCBtX291dC5pbnRQdHJaZXJvLCBzbG93Q2Fz
ZSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNv
ZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5k
aW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU1Byb21pc2VfaW50ZXJuYWxGaWVsZHNbc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKV0pOwotICAgICAgICBtX291
dC5zdG9yZTY0KG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
KSwgcHJvbWlzZSwgbV9oZWFwcy5KU1Byb21pc2VfaW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KV0pOworICAgICAg
ICBtX291dC5zdG9yZTY0KG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVy
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpKSksIHBy
b21pc2UsIG1faGVhcHMuSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6RmxhZ3MpXSk7CisgICAgICAg
IG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSkpLCBwcm9taXNlLCBtX2hlYXBzLkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJu
YWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9u
c09yUmVzdWx0KV0pOwogICAgICAgICBtdXRhdG9yRmVuY2UoKTsKICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihwcm9taXNlKTsKICAgICAgICAgbV9vdXQu
anVtcChjb250aW51YXRpb24pOwpAQCAtNzUwNCwyMCArNzUwNCwyMCBAQCBjbGFzcyBMb3dlckRG
R1RvQjMgewogICAgICAgICAgICAgbV9oZWFwcy5KU0xleGljYWxFbnZpcm9ubWVudF92YXJpYWJs
ZXNbbV9ub2RlLT5zY29wZU9mZnNldCgpLm9mZnNldCgpXSk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgY29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKCkKKyAgICB2b2lkIGNvbXBpbGVHZXRJ
bnRlcm5hbEZpZWxkKCkKICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUoCiAgICAgICAgICAgICBt
X291dC5sb2FkNjQoCiAgICAgICAgICAgICAgICAgbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKSwK
LSAgICAgICAgICAgICAgICBtX2hlYXBzLkpTUHJvbWlzZV9pbnRlcm5hbEZpZWxkc1ttX25vZGUt
PmludGVybmFsRmllbGRJbmRleCgpXSkpOworICAgICAgICAgICAgICAgIG1faGVhcHMuSlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1ttX25vZGUtPmludGVybmFsRmllbGRJ
bmRleCgpXSkpOwogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZVB1dFByb21pc2VJbnRlcm5hbEZp
ZWxkKCkKKyAgICB2b2lkIGNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKCkKICAgICB7CiAgICAgICAg
IG1fb3V0LnN0b3JlNjQoCiAgICAgICAgICAgICBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkp
LAogICAgICAgICAgICAgbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKSwKLSAgICAgICAgICAgIG1f
aGVhcHMuSlNQcm9taXNlX2ludGVybmFsRmllbGRzW21fbm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4
KCldKTsKKyAgICAgICAgICAgIG1faGVhcHMuSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRl
cm5hbEZpZWxkc1ttX25vZGUtPmludGVybmFsRmllbGRJbmRleCgpXSk7CiAgICAgfQogCiAgICAg
dm9pZCBjb21waWxlR2V0RnJvbUFyZ3VtZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAK
aW5kZXggYjk5ZGRkZjhkOWFkY2NiNDJkODcxMzlhYmU0MTk2MzM2Mjg3MWVjOS4uMzZkZTUzYTBi
YzNhNzJmNTU1OGQxOWVkYTY0NzZhZjA0OTQ2ZWM2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmNwcApAQCAtNDI0LDggKzQyNCw4IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KCkKICAgICAgICAgREVGSU5FX09QKG9wX3B1dF9nZXR0ZXJfYnlfdmFsKQogICAgICAgICBERUZJ
TkVfT1Aob3BfcHV0X3NldHRlcl9ieV92YWwpCiAKLSAgICAgICAgREVGSU5FX09QKG9wX2dldF9w
cm9taXNlX2ludGVybmFsX2ZpZWxkKQotICAgICAgICBERUZJTkVfT1Aob3BfcHV0X3Byb21pc2Vf
aW50ZXJuYWxfZmllbGQpCisgICAgICAgIERFRklORV9PUChvcF9nZXRfaW50ZXJuYWxfZmllbGQp
CisgICAgICAgIERFRklORV9PUChvcF9wdXRfaW50ZXJuYWxfZmllbGQpCiAKICAgICAgICAgREVG
SU5FX09QKG9wX3JldCkKICAgICAgICAgREVGSU5FX09QKG9wX3JzaGlmdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCmluZGV4IDIwMTg2MzgwYTBhZmFhNjg2OTljYjJjYzg4NjM5ZmI4ODI2ZDc2ZjUu
LjQyN2U5YWVkZjU5ODZhNDZkZDFmYmQ0NWFmMDUyZWRiMjc5MzU1MWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaApAQCAtNjM2LDggKzYzNiw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
b2lkIGVtaXRfb3BfZ2V0X2RpcmVjdF9wbmFtZShjb25zdCBJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfZW51bWVyYXRvcl9zdHJ1Y3R1cmVfcG5hbWUoY29uc3QgSW5zdHJ1Y3Rp
b24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFtZShjb25z
dCBJbnN0cnVjdGlvbiopOwotICAgICAgICB2b2lkIGVtaXRfb3BfZ2V0X3Byb21pc2VfaW50ZXJu
YWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKLSAgICAgICAgdm9pZCBlbWl0X29wX3B1dF9w
cm9taXNlX2ludGVybmFsX2ZpZWxkKGNvbnN0IEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQg
ZW1pdF9vcF9nZXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAg
dm9pZCBlbWl0X29wX3B1dF9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlKGNvbnN0IEluc3Ry
dWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbChj
b25zdCBJbnN0cnVjdGlvbiopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4IDZhODA2NDFmNTgyYWM4ZWM1OTI2MWMxY2FmOTc2NWVi
MTIzZWM2ZTEuLjQwNzU4ZTdmMzBhY2M0ZDcyODJlYjg1MzVjYjRkMzFiYzhjMGU3NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC0x
MjM2LDkgKzEyMzYsOSBAQCB2b2lkIEpJVDo6ZW1pdFdyaXRlQmFycmllcihKU0NlbGwqIG93bmVy
LCB1bnNpZ25lZCB2YWx1ZSwgV3JpdGVCYXJyaWVyTW9kZSBtb2RlKQogICAgICAgICB2YWx1ZU5v
dENlbGwubGluayh0aGlzKTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50
ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3ZvaWQg
SklUOjplbWl0X29wX2dldF9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewotICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24t
PmFzPE9wR2V0UHJvbWlzZUludGVybmFsRmllbGQ+KCk7CisgICAgYXV0byBieXRlY29kZSA9IGN1
cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BHZXRJbnRlcm5hbEZpZWxkPigpOwogICAgIGF1dG8mIG1l
dGFkYXRhID0gYnl0ZWNvZGUubWV0YWRhdGEobV9jb2RlQmxvY2spOwogICAgIGludCBkc3QgPSBi
eXRlY29kZS5tX2RzdC5vZmZzZXQoKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2RlLm1fYmFzZS5v
ZmZzZXQoKTsKQEAgLTEyNDYsMTUgKzEyNDYsMTUgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3By
b21pc2VfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGkK
ICAgICBBU1NFUlQoaW5kZXggPCBKU1Byb21pc2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOwog
CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihiYXNlLCByZWdUMSk7Ci0gICAgbG9hZFB0cihB
ZGRyZXNzKHJlZ1QxLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkpLCBy
ZWdUMCk7CisgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QxLCBKU0ludGVybmFsRmllbGRPYmplY3RJ
bXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkpLCByZWdUMCk7CiAKICAgICBlbWl0
VmFsdWVQcm9maWxpbmdTaXRlKG1ldGFkYXRhKTsKICAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVy
KGRzdCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxk
KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdF9v
cF9wdXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKIHsKLSAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcFB1dFBy
b21pc2VJbnRlcm5hbEZpZWxkPigpOworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1
Y3Rpb24tPmFzPE9wUHV0SW50ZXJuYWxGaWVsZD4oKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2Rl
Lm1fYmFzZS5vZmZzZXQoKTsKICAgICBpbnQgdmFsdWUgPSBieXRlY29kZS5tX3ZhbHVlLm9mZnNl
dCgpOwogICAgIHVuc2lnbmVkIGluZGV4ID0gYnl0ZWNvZGUubV9pbmRleDsKQEAgLTEyNjIsNyAr
MTI2Miw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3RpCiAKICAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGJhc2UsIHJlZ1QwKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCBy
ZWdUMSk7Ci0gICAgc3RvcmVQdHIocmVnVDEsIEFkZHJlc3MocmVnVDAsIEpTUHJvbWlzZTo6b2Zm
c2V0T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSkpOworICAgIHN0b3JlUHRyKHJlZ1QxLCBBZGRyZXNz
KHJlZ1QwLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVs
ZChpbmRleCkpKTsKICAgICBlbWl0V3JpdGVCYXJyaWVyKGJhc2UsIHZhbHVlLCBTaG91bGRGaWx0
ZXJWYWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
UHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFBy
b3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4IGJmZjhiOWUxOWM4YzM5ZTA2YjlkZmY4YTI1Njk4
ZTE5MzcwZDIwNDcuLjUyMTM0MzEzODFhZTcyMzc3NjFiYTE3MzgzNzA4NDBkYjZhMTA3MjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82
NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMy
XzY0LmNwcApAQCAtMTIwMyw5ICsxMjAzLDkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcHV0X3RvX2Fy
Z3VtZW50cyhjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHN0b3Jl
MzIocmVnVDIsIEFkZHJlc3MocmVnVDAsIERpcmVjdEFyZ3VtZW50czo6c3RvcmFnZU9mZnNldCgp
ICsgaW5kZXggKiBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KSArIFBheWxvYWRPZmZzZXQp
KTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQoY29u
c3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3ZvaWQgSklUOjplbWl0X29wX2dl
dF9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQog
ewotICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wR2V0UHJvbWlz
ZUludGVybmFsRmllbGQ+KCk7CisgICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlv
bi0+YXM8T3BHZXRJbnRlcm5hbEZpZWxkPigpOwogICAgIGF1dG8mIG1ldGFkYXRhID0gYnl0ZWNv
ZGUubWV0YWRhdGEobV9jb2RlQmxvY2spOwogICAgIGludCBkc3QgPSBieXRlY29kZS5tX2RzdC5v
ZmZzZXQoKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2RlLm1fYmFzZS5vZmZzZXQoKTsKQEAgLTEy
MTMsMTUgKzEyMTMsMTUgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxf
ZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGkKICAgICBBU1NFUlQoaW5k
ZXggPCBKU1Byb21pc2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOwogCiAgICAgZW1pdExvYWRQ
YXlsb2FkKGJhc2UsIHJlZ1QyKTsKLSAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMiwgSlNQcm9taXNl
OjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpICsgVGFnT2Zmc2V0KSwgcmVnVDEpOwotICAg
IGxvYWQzMihBZGRyZXNzKHJlZ1QyLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChp
bmRleCkgKyBQYXlsb2FkT2Zmc2V0KSwgcmVnVDApOworICAgIGxvYWQzMihBZGRyZXNzKHJlZ1Qy
LCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRl
eCkgKyBUYWdPZmZzZXQpLCByZWdUMSk7CisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDIsIEpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSArIFBh
eWxvYWRPZmZzZXQpLCByZWdUMCk7CiAgICAgZW1pdFZhbHVlUHJvZmlsaW5nU2l0ZShieXRlY29k
ZS5tZXRhZGF0YShtX2NvZGVCbG9jaykpOwogICAgIGVtaXRTdG9yZShkc3QsIHJlZ1QxLCByZWdU
MCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdF9vcF9w
dXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikK
IHsKLSAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcFB1dFByb21p
c2VJbnRlcm5hbEZpZWxkPigpOworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rp
b24tPmFzPE9wUHV0SW50ZXJuYWxGaWVsZD4oKTsKICAgICBpbnQgYmFzZSA9IGJ5dGVjb2RlLm1f
YmFzZS5vZmZzZXQoKTsKICAgICBpbnQgdmFsdWUgPSBieXRlY29kZS5tX3ZhbHVlLm9mZnNldCgp
OwogICAgIHVuc2lnbmVkIGluZGV4ID0gYnl0ZWNvZGUubV9pbmRleDsKQEAgLTEyMjksOCArMTIy
OSw4IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNvbnN0
IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3RpCiAKICAgICBlbWl0TG9hZFBheWxvYWQoYmFz
ZSwgcmVnVDApOwogICAgIGVtaXRMb2FkKHZhbHVlLCByZWdUMSwgcmVnVDIpOwotICAgIHN0b3Jl
MzIocmVnVDEsIEFkZHJlc3MocmVnVDAsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxk
KGluZGV4KSArIFRhZ09mZnNldCkpOwotICAgIHN0b3JlMzIocmVnVDIsIEFkZHJlc3MocmVnVDAs
IEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSArIFBheWxvYWRPZmZzZXQp
KTsKKyAgICBzdG9yZTMyKHJlZ1QxLCBBZGRyZXNzKHJlZ1QwLCBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkgKyBUYWdPZmZzZXQpKTsKKyAg
ICBzdG9yZTMyKHJlZ1QyLCBBZGRyZXNzKHJlZ1QwLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBs
PD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkgKyBQYXlsb2FkT2Zmc2V0KSk7CiAgICAg
ZW1pdFdyaXRlQmFycmllcihiYXNlLCB2YWx1ZSwgU2hvdWxkRmlsdGVyVmFsdWUpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0
b3IuY3BwCmluZGV4IGIxODVjZTkzOGIwZWY5MWVmMGVjNTMzMDY2NjIxYTU2OWI4ZThlMTMuLmEy
NWY5ODRhYmRhYzdjNDcxNjJjNTA2ZDk0MTdkNzUwOTM4NzJkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0b3IuY3BwCkBAIC00
NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiSlNDYXN0LmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbC5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVk
ZSAiSlNNb2R1bGVSZWNvcmQuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgpAQCAtNzYsNiArNzcs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvciB7CiAgICAg
Ly8gVGhlc2UgdHlwZXMgYXJlIHVzZWZ1bCBzaW5jZSB3ZSBjYW4ndCB1c2UgJzwuLi4+JyBzeW50
YXggaW4gTExJbnQgb2Zmc2V0cyBleHRyYWN0aW9uLiBlLmcuIFZlY3RvcjxpbnQ+OjptX2RhdGEK
ICAgICB1c2luZyBWZWN0b3IgPSBXVEY6OlZlY3RvcjxpbnQ+OworICAgIHVzaW5nIEpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGwgPSBKU0M6OkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8PjsKICAg
ICB1c2luZyBSZWZDb3VudGVkQXJyYXkgPSBXVEY6OlJlZkNvdW50ZWRBcnJheTxpbnQ+OwogCiBw
dWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20KaW5kZXggYWNkN2U0YzJjYzYxOGM0NDcyYzYyNDI4YzZhMTE3ZTQyZjg4NzYz
My4uNzQzZTJhYjFiZTkxY2RlYjJmYzVhOWE2YjhiNTliNzc3YmZkMzE4MiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAt
MTY1LDYgKzE2NSw3IEBAIGVuZAogCiBjb25zdCBKU0xleGljYWxFbnZpcm9ubWVudF92YXJpYWJs
ZXMgPSAoc2l6ZW9mIEpTTGV4aWNhbEVudmlyb25tZW50ICsgU2xvdFNpemUgLSAxKSAmIH4oU2xv
dFNpemUgLSAxKQogY29uc3QgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UgPSAoc2l6ZW9mIERpcmVj
dEFyZ3VtZW50cyArIFNsb3RTaXplIC0gMSkgJiB+KFNsb3RTaXplIC0gMSkKK2NvbnN0IEpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHMgPSBKU0ludGVybmFsRmllbGRPYmpl
Y3RJbXBsOjptX2ludGVybmFsRmllbGRzCiAKIGNvbnN0IFN0YWNrQWxpZ25tZW50ID0gY29uc3Rl
eHByIChzdGFja0FsaWdubWVudEJ5dGVzKCkpCiBjb25zdCBTdGFja0FsaWdubWVudFNsb3RzID0g
Y29uc3RleHByIChzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRl
eCAxNWIxMmQ0ZTM3YTkzYTQxYjY3NzNiNTgyODhkZmQwNDVhMzVlNmRmLi42NWY5MjRmYmQ1MDU0
ODNmMjAyZTEyZjljNDVlNDM2ZWJjMjRjYzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtMjUyMSwy
MyArMjUyMSwyMyBAQCBsbGludE9wV2l0aFJldHVybihvcF9nZXRfcmVzdF9sZW5ndGgsIE9wR2V0
UmVzdExlbmd0aCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0YwogZW5kKQogCiAKLWxsaW50T3BX
aXRoUHJvZmlsZShvcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZCwgT3BHZXRQcm9taXNlSW50
ZXJuYWxGaWVsZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKK2xsaW50T3BX
aXRoUHJvZmlsZShvcF9nZXRfaW50ZXJuYWxfZmllbGQsIE9wR2V0SW50ZXJuYWxGaWVsZCwgbWFj
cm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKICAgICBnZXQobV9iYXNlLCB0MCkKICAg
ICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAotICAgIGdldHUoc2l6ZSwgT3BH
ZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCi0gICAgbG9hZGkgSlNQcm9taXNl
OjptX2ludGVybmFsRmllbGRzICsgVGFnT2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVdLCB0MgotICAg
IGxvYWRpIEpTUHJvbWlzZTo6bV9pbnRlcm5hbEZpZWxkcyArIFBheWxvYWRPZmZzZXRbdDAsIHQx
LCBTbG90U2l6ZV0sIHQzCisgICAgZ2V0dShzaXplLCBPcEdldEludGVybmFsRmllbGQsIG1faW5k
ZXgsIHQxKQorICAgIGxvYWRpIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVs
ZHMgKyBUYWdPZmZzZXRbdDAsIHQxLCBTbG90U2l6ZV0sIHQyCisgICAgbG9hZGkgSlNJbnRlcm5h
bEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkcyArIFBheWxvYWRPZmZzZXRbdDAsIHQxLCBT
bG90U2l6ZV0sIHQzCiAgICAgcmV0dXJuKHQyLCB0MykKIGVuZCkKIAotbGxpbnRPcChvcF9wdXRf
cHJvbWlzZV9pbnRlcm5hbF9maWVsZCwgT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbWFjcm8g
KHNpemUsIGdldCwgZGlzcGF0Y2gpCitsbGludE9wKG9wX3B1dF9pbnRlcm5hbF9maWVsZCwgT3BQ
dXRJbnRlcm5hbEZpZWxkLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCkKICAgICBnZXQobV9i
YXNlLCB0MCkKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAogICAgIGdl
dChtX3ZhbHVlLCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHNpemUsIHQxLCB0Miwg
dDMpCi0gICAgZ2V0dShzaXplLCBPcFB1dFByb21pc2VJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0
MSkKLSAgICBzdG9yZWkgdDIsIEpTUHJvbWlzZTo6bV9pbnRlcm5hbEZpZWxkcyArIFRhZ09mZnNl
dFt0MCwgdDEsIFNsb3RTaXplXQotICAgIHN0b3JlaSB0MywgSlNQcm9taXNlOjptX2ludGVybmFs
RmllbGRzICsgUGF5bG9hZE9mZnNldFt0MCwgdDEsIFNsb3RTaXplXQorICAgIGdldHUoc2l6ZSwg
T3BQdXRJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0MSkKKyAgICBzdG9yZWkgdDIsIEpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHMgKyBUYWdPZmZzZXRbdDAsIHQxLCBTbG90
U2l6ZV0KKyAgICBzdG9yZWkgdDMsIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxG
aWVsZHMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVdCiAgICAgd3JpdGVCYXJyaWVy
T25PcGVyYW5kKHNpemUsIGdldCwgbV9iYXNlKQogICAgIGRpc3BhdGNoKCkKIGVuZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20KaW5kZXggNzJkNGRjZWY0MTJlZTE0NDM5MmY5Mjg0MDM2NjA3MDFhOTI5ZTk5YS4uOGQ3MWNl
ZGFmYmFkMTU1ZDY3ZTA4Y2RlZjc3MDhjYTQ0ZjQzMDVmMyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAgLTI1ODYs
MTkgKzI1ODYsMTkgQEAgbGxpbnRPcFdpdGhSZXR1cm4ob3BfZ2V0X3Jlc3RfbGVuZ3RoLCBPcEdl
dFJlc3RMZW5ndGgsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGMKIGVuZCkKIAogCi1sbGludE9w
V2l0aFByb2ZpbGUob3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQsIE9wR2V0UHJvbWlzZUlu
dGVybmFsRmllbGQsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCitsbGludE9w
V2l0aFByb2ZpbGUob3BfZ2V0X2ludGVybmFsX2ZpZWxkLCBPcEdldEludGVybmFsRmllbGQsIG1h
Y3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCiAgICAgbG9hZFZhcmlhYmxlKGdldCwg
bV9iYXNlLCB0MSkKLSAgICBnZXR1KHNpemUsIE9wR2V0UHJvbWlzZUludGVybmFsRmllbGQsIG1f
aW5kZXgsIHQyKQotICAgIGxvYWRxIEpTUHJvbWlzZTo6bV9pbnRlcm5hbEZpZWxkc1t0MSwgdDIs
IFNsb3RTaXplXSwgdDAKKyAgICBnZXR1KHNpemUsIE9wR2V0SW50ZXJuYWxGaWVsZCwgbV9pbmRl
eCwgdDIpCisgICAgbG9hZHEgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxk
c1t0MSwgdDIsIFNsb3RTaXplXSwgdDAKICAgICByZXR1cm4odDApCiBlbmQpCiAKLWxsaW50T3Ao
b3BfcHV0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQsIE9wUHV0UHJvbWlzZUludGVybmFsRmllbGQs
IG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoKQorbGxpbnRPcChvcF9wdXRfaW50ZXJuYWxfZmll
bGQsIE9wUHV0SW50ZXJuYWxGaWVsZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gpCiAgICAg
bG9hZFZhcmlhYmxlKGdldCwgbV9iYXNlLCB0MCkKICAgICBnZXQobV92YWx1ZSwgdDEpCiAgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MSwgdDIpCi0gICAgZ2V0dShzaXplLCBPcFB1
dFByb21pc2VJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0MSkKLSAgICBzdG9yZXEgdDIsIEpTUHJv
bWlzZTo6bV9pbnRlcm5hbEZpZWxkc1t0MCwgdDEsIFNsb3RTaXplXQorICAgIGdldHUoc2l6ZSwg
T3BQdXRJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0MSkKKyAgICBzdG9yZXEgdDIsIEpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHNbdDAsIHQxLCBTbG90U2l6ZV0KICAgICB3
cml0ZUJhcnJpZXJPbkNlbGxBbmRWYWx1ZVdpdGhSZWxvYWQodDAsIHQyLCBtYWNybygpIGVuZCkK
ICAgICBkaXNwYXRjaCgpCiBlbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQ4ZDFk
ZmM4OTIxYjkyMzEzYTMyZDViYjMwOTg3NTc0YzFmYjdjYQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaApA
QCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJK
U09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworLy8gVGhpcyBpcyB1c2VkIGZvciBzaGFy
aW5nIGludGVyZmFjZSBhbmQgaW1wbGVtZW50YXRpb24uIEl0IHNob3VsZCBub3QgaGF2ZSBpdHMg
b3duIGNsYXNzSW5mby4KK3RlbXBsYXRlPHVuc2lnbmVkIHBhc3NlZE51bWJlck9mSW50ZXJuYWxG
aWVsZHMgPSAxPgorY2xhc3MgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbCA6IHB1YmxpYyBKU05v
bkZpbmFsT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0
cmFjdG9yOworCisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisgICAgc3RhdGlj
IGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZkludGVybmFsRmllbGRzID0gcGFzc2VkTnVtYmVy
T2ZJbnRlcm5hbEZpZWxkczsKKworICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoQ2hl
Y2tlZDxzaXplX3Q+IGlubGluZUNhcGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVv
ZihKU0ludGVybmFsRmllbGRPYmplY3RJbXBsKTsKKyAgICB9CisKKyAgICBjb25zdCBXcml0ZUJh
cnJpZXI8VW5rbm93bj4mIGludGVybmFsRmllbGQodW5zaWduZWQgaW5kZXgpIGNvbnN0CisgICAg
eworICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1iZXJPZkludGVybmFsRmllbGRzKTsKKyAgICAg
ICAgcmV0dXJuIG1faW50ZXJuYWxGaWVsZHNbaW5kZXhdOworICAgIH0KKworICAgIFdyaXRlQmFy
cmllcjxVbmtub3duPiYgaW50ZXJuYWxGaWVsZCh1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAg
ICAgIEFTU0VSVChpbmRleCA8IG51bWJlck9mSW50ZXJuYWxGaWVsZHMpOworICAgICAgICByZXR1
cm4gbV9pbnRlcm5hbEZpZWxkc1tpbmRleF07CisgICAgfQorCisgICAgc3RhdGljIHB0cmRpZmZf
dCBvZmZzZXRPZkludGVybmFsRmllbGRzKCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGwsIG1faW50ZXJuYWxGaWVsZHMpOyB9CisgICAgc3RhdGljIHB0
cmRpZmZfdCBvZmZzZXRPZkludGVybmFsRmllbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0dXJuIE9C
SkVDVF9PRkZTRVRPRihKU0ludGVybmFsRmllbGRPYmplY3RJbXBsLCBtX2ludGVybmFsRmllbGRz
KSArIGluZGV4ICogc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7IH0KKworcHJvdGVjdGVk
OgorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
KworICAgIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKworICAg
IFdyaXRlQmFycmllcjxVbmtub3duPiBtX2ludGVybmFsRmllbGRzW251bWJlck9mSW50ZXJuYWxG
aWVsZHNdIHsgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGluZXMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxGaWVsZE9iamVjdElt
cGxJbmxpbmVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGYwM2M4YTZkYjFiZDU3NTBlNjg1OThlMjFjOWFlMWIz
MTNjODVlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJbmxpbmVzLmgKQEAgLTAsMCArMSw0MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSlNJbnRlcm5hbEZpZWxkT2JqZWN0
SW1wbC5oIgorCituYW1lc3BhY2UgSlNDIHsKKwordGVtcGxhdGU8dW5zaWduZWQgcGFzc2VkTnVt
YmVyT2ZJbnRlcm5hbEZpZWxkcz4KK3ZvaWQgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDxwYXNz
ZWROdW1iZXJPZkludGVybmFsRmllbGRzPjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNJ
bnRlcm5hbEZpZWxkT2JqZWN0SW1wbCo+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5I
RVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNP
YmplY3QsIHZpc2l0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVzKHRoaXNPYmplY3QtPm1f
aW50ZXJuYWxGaWVsZHMsIG51bWJlck9mSW50ZXJuYWxGaWVsZHMpOworfQorCit9IC8vIG5hbWVz
cGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
bWlzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2UuY3BwCmlu
ZGV4IDNiOTcwYTY5MDBjNDU3MGQ5ZjVjODVlYjFlNzFlMGQ4NWRiMDgyY2EuLjM5OWM5MzYwNmJm
Y2I3NWY1ZjMyNmJhZjMyYWYyZWM3ODhmNDQ2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNQcm9taXNlLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkJ1aWx0
aW5OYW1lcy5oIgogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgor
I2luY2x1ZGUgIkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJbmxpbmVzLmgiCiAjaW5jbHVkZSAi
SlNQcm9taXNlQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJNaWNyb3Rhc2suaCIKIApAQCAtNTYs
OCArNTcsOCBAQCBKU1Byb21pc2U6OkpTUHJvbWlzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQogdm9pZCBKU1Byb21pc2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIHsKICAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgbV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oRmllbGQ6OkZsYWdzKV0uc2V0KHZtLCB0aGlzLCBqc051bWJlcihzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oU3RhdHVzOjpQZW5kaW5nKSkpOwotICAgIG1faW50ZXJuYWxGaWVsZHNbc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCldLnNldCh2bSwgdGhp
cywganNVbmRlZmluZWQoKSk7CisgICAgaW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oRmllbGQ6OkZsYWdzKSkuc2V0KHZtLCB0aGlzLCBqc051bWJlcihzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oU3RhdHVzOjpQZW5kaW5nKSkpOworICAgIGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpLnNldCh2bSwgdGhpcywganNVbmRl
ZmluZWQoKSk7CiB9CiAKIHZvaWQgSlNQcm9taXNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2Vs
bCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC02NSwxMiArNjYsMTEgQEAgdm9pZCBKU1Byb21p
c2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAg
ICBhdXRvKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTUHJvbWlzZSo+KGNlbGwpOwogICAgIEFTU0VS
VF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKICAgICBCYXNlOjp2aXNp
dENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwotICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVz
KHRoaXNPYmplY3QtPm1faW50ZXJuYWxGaWVsZHMsIG51bWJlck9mSW50ZXJuYWxGaWVsZHMpOwog
fQogCiBhdXRvIEpTUHJvbWlzZTo6c3RhdHVzKFZNJikgY29uc3QgLT4gU3RhdHVzCiB7Ci0gICAg
SlNWYWx1ZSB2YWx1ZSA9IG1faW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZp
ZWxkOjpGbGFncyldLmdldCgpOworICAgIEpTVmFsdWUgdmFsdWUgPSBpbnRlcm5hbEZpZWxkKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpKS5nZXQoKTsKICAgICB1aW50MzJfdCBm
bGFncyA9IHZhbHVlLmFzVUludDMyQXNBbnlJbnQoKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RhdHVzPihmbGFncyAmIHN0YXRlTWFzayk7CiB9CkBAIC04MCwxMiArODAsMTIgQEAgSlNWYWx1
ZSBKU1Byb21pc2U6OnJlc3VsdChWTSYgdm0pIGNvbnN0CiAgICAgU3RhdHVzIHN0YXR1cyA9IHRo
aXMtPnN0YXR1cyh2bSk7CiAgICAgaWYgKHN0YXR1cyA9PSBTdGF0dXM6OlBlbmRpbmcpCiAgICAg
ICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwotICAgIHJldHVybiBtX2ludGVybmFsRmllbGRzW3N0
YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXS5nZXQoKTsKKyAg
ICByZXR1cm4gaW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6OlJlYWN0
aW9uc09yUmVzdWx0KSkuZ2V0KCk7CiB9CiAKIGJvb2wgSlNQcm9taXNlOjppc0hhbmRsZWQoVk0m
KSBjb25zdAogewotICAgIEpTVmFsdWUgdmFsdWUgPSBtX2ludGVybmFsRmllbGRzW3N0YXRpY19j
YXN0PHVuc2lnbmVkPihGaWVsZDo6RmxhZ3MpXS5nZXQoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0g
aW50ZXJuYWxGaWVsZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKSkuZ2V0KCk7
CiAgICAgdWludDMyX3QgZmxhZ3MgPSB2YWx1ZS5hc1VJbnQzMkFzQW55SW50KCk7CiAgICAgcmV0
dXJuIGZsYWdzICYgaXNIYW5kbGVkRmxhZzsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9taXNlLmgKaW5kZXggZDZkNjU2ZWJkZmQxY2ExMTRiMWU0NjYwNWJkNTUyOWI2ZjA4
OGQzOC4uMGNmMTk3NDkwYzEyZmZiMjMzZmVhMmRiYjJiZmRjNjE1MzhiMDY2OCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmgKQEAgLTI1LDIwICsyNSwxMyBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgSlNQcm9t
aXNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgeworY2xhc3MgSlNQcm9taXNlIDogcHVibGlj
IEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Mj4gewogcHVibGljOgotICAgIGZyaWVuZCBjbGFz
cyBMTEludE9mZnNldHNFeHRyYWN0b3I7Ci0gICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7Ci0KLSAgICBzdGF0aWMgc2l6ZV90IGFsbG9jYXRpb25TaXplKENoZWNrZWQ8c2l6ZV90PiBp
bmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQoaW5saW5lQ2FwYWNp
dHksICFpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIHJldHVybiBzaXplb2YoSlNQcm9taXNlKTsK
LSAgICB9CisgICAgdXNpbmcgQmFzZSA9IEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Mj47CiAK
ICAgICBzdGF0aWMgSlNQcm9taXNlKiBjcmVhdGUoVk0mLCBTdHJ1Y3R1cmUqKTsKICAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFs
dWUpOwpAQCAtNTgsNyArNTEsNyBAQCBjbGFzcyBKU1Byb21pc2UgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiAgICAgICAgIEZsYWdzID0gMCwKICAgICAgICAgUmVhY3Rpb25zT3JSZXN1bHQg
PSAxLAogICAgIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZkludGVy
bmFsRmllbGRzID0gMjsKKyAgICBzdGF0aWNfYXNzZXJ0KG51bWJlck9mSW50ZXJuYWxGaWVsZHMg
PT0gMik7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdGF0dXMgc3RhdHVzKFZNJikgY29uc3Q7
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSByZXN1bHQoVk0mKSBjb25zdDsKQEAgLTY4
LDE0ICs2MSw5IEBAIGNsYXNzIEpTUHJvbWlzZSA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsK
IAogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
IAotICAgIHN0YXRpYyBwdHJkaWZmX3Qgb2Zmc2V0T2ZJbnRlcm5hbEZpZWxkcygpIHsgcmV0dXJu
IE9CSkVDVF9PRkZTRVRPRihKU1Byb21pc2UsIG1faW50ZXJuYWxGaWVsZHMpOyB9Ci0gICAgc3Rh
dGljIHB0cmRpZmZfdCBvZmZzZXRPZkludGVybmFsRmllbGQodW5zaWduZWQgaW5kZXgpIHsgcmV0
dXJuIE9CSkVDVF9PRkZTRVRPRihKU1Byb21pc2UsIG1faW50ZXJuYWxGaWVsZHMpICsgaW5kZXgg
KiBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsgfQotCiBwcm90ZWN0ZWQ6CiAgICAgSlNQ
cm9taXNlKFZNJiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwot
Ci0gICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1faW50ZXJuYWxGaWVsZHNbbnVtYmVyT2ZJbnRl
cm5hbEZpZWxkc10geyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378116</attachid>
            <date>2019-09-05 13:57:19 -0700</date>
            <delta_ts>2019-09-05 14:01:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201513-20190905135718.patch</filename>
            <type>text/plain</type>
            <size>65699</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5NTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MzY4ZDQyZDQxNzE3ZjM0MjIyOTNlNDM1MDNmYWE3MmQ5ODYwYWI2Li45NDVlZmU2M2FhNDcwNDdj
Mjc2NmE4YWMzMjk5NzZjODZmYzI0MDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTktMDktMDUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBHZW5lcmFsaXplIEdldC9QdXRQcm9taXNlSW50ZXJuYWxGaWVs
ZCBmb3IgSW50ZXJuYWxGaWVsZE9iamVjdEltcGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTUxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZXh0cmFjdHMgSlNQcm9taXNlJ3MgaW50
ZXJuYWwgZmllbGRzIG1lY2hhbmlzbSBhcyBKU0ludGVybmFsRmllbGRzT2JqZWN0SW1wbCwgYW5k
IG1ha2UgaXQgcmV1c2FibGUgZm9yIHRoZSBvdGhlciBvYmplY3RzLgorICAgICAgICBJdCBpcyBw
cmVwYXJhdGlvbiBmb3IgdXNpbmcgdGhpcyBpbnRlcm5hbCBmaWVsZHMgbWVjaGFuaXNtIGZvciBn
ZW5lcmF0b3JzLCBhc3luYyBmdW5jdGlvbnMsIGFzeW5jIGdlbmVyYXRvcnMsIGFycmF5IGl0ZXJh
dG9ycyBhbmQgc28gb24uCisKKyAgICAgICAgVGhlIHByb2ZpbGVyIGlzIHRlbGxpbmcgbWFueSBy
ZWNvbXBpbGF0aW9uIG9mIEdlbmVyYXRvcidzIHJlc3VtZSBmdW5jdGlvbiAoaW5jbHVkaW5nIGFz
eW5jIGdlbmVyYXRvcidzIG9uZSkuIFdlIGFyZSB1c2luZyBwcm9wZXJ0aWVzCisgICAgICAgIHdp
dGggcHJpdmF0ZS1zeW1ib2xzIGFzIGEgc3RvcmFnZSBmb3IgaW50ZXJuYWwgc3RhdGUgb2YgZ2Vu
ZXJhdG9ycy4gSG93ZXZlciwgdGhlIHNwZWMgZGVmaW5lcyB0aGF0IGVhY2ggZ2VuZXJhdG9yIGZy
b20gZGlmZmVyZW50IGdlbmVyYXRvci1mdW5jdGlvbnMKKyAgICAgICAgaGFzIGRpZmZlcmVudCBb
W1Byb3RvdHlwZV1dLiBXaGlsZSB3ZSBuZWVkIHRvIHNoYXJlIG9uZSBHZW5lcmF0b3IucHJvdG90
eXBlLm5leHQgZnVuY3Rpb24sIGdlbmVyYXRvcnMgdGVuZCB0byBoYXZlIGRpZmZlcmVudCBTdHJ1
Y3R1cmVzIGR1ZSB0bworICAgICAgICBkaWZmZXJlbnQgW1tQcm90b3R5cGVdXSBhbmQgYWNjZXNz
aW5nIGludGVybmFsIGZpZWxkcyB3aXRoIGBnZXRfYnlfaWRfZGlyZWN0YCBzYWRseSBiZWNvbWVz
IHN1cGVyIG1lZ2Ftb3JwaGljIHdoaWxlIGl0IGlzIG5vdCBuZWNlc3NhcnkuCisgICAgICAgIEFu
ZCBldmVyeSB0aW1lIG5ldyBTdHJ1Y3R1cmUgZm9yIG5ldyBnZW5lcmF0b3IgcG9wcyB1cCwgREZH
L0ZUTCBjb2RlIGZvciBnZW5lcmF0b3IgcmVzdW1lIGZ1bmN0aW9uIGdldHMgT1NSIGV4aXQgb3Ig
ZXZlbnR1YWxseSB0aGlzIGZ1bmN0aW9uIGdldHMKKyAgICAgICAgZW1pdHMgc3VwZXIgZ2VuZXJp
YyBjb2RlIHVuZm9ydHVuYXRlbHkuIEJ5IHVzaW5nIGludGVybmFsIGZpZWxkcyBmb3Igc3Rvcmlu
ZyB0aGVzZSBzdGF0ZSwgd2UgY2FuIGF2b2lkIHRoaXMgcGVyZm9ybWFuY2UgcHJvYmxlbS4KKwor
ICAgICAgICBCeXRlY29kZXMgYW5kIGNvcnJlc3BvbmRpbmcgREZHIG5vZGVzIGFyZSBqdXN0IHJl
bmFtZWQuIEpTUHJvbWlzZSBpcyBub3cgaW5oZXJpdGluZyBKU0ludGVybmFsRmllbGRzT2JqZWN0
SW1wbCwgd2hpY2ggY2FuIGhvbGRzIHNwZWNpZmllZAorICAgICAgICBudW1iZXIgb2YgaW50ZXJu
YWwgZmllbGRzLiBBbmQgb3BfZ2V0X2ludGVybmFsX2ZpZWxkIC8gb3BfcHV0X2ludGVybmFsX2Zp
ZWxkIGNhbiBhY2Nlc3MgdGhlc2UgaW50ZXJuYWwgZmllbGRzLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QucmI6CisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6Y29tcHV0ZVVzZXNGb3JCeXRl
Y29kZU9mZnNldCk6CisgICAgICAgIChKU0M6OmNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQp
OgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAg
ICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0R2V0SW50ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0SW50ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6
OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0R2V0UHJvbWlzZUludGVybmFsRmllbGQpOiBEZWxldGVk
LgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dFByb21pc2VJbnRlcm5h
bEZpZWxkKTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19nZXRQcm9taXNlSW50
ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlSW50cmluc2ljTm9kZTo6ZW1pdF9p
bnRyaW5zaWNfcHV0UHJvbWlzZUludGVybmFsRmllbGQpOgorICAgICAgICAqIGRmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50
ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAgICAgICog
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBkZmcvREZHQ2xv
YmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAgICAqIGRm
Zy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAgICAgICog
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZp
eHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR01heUV4aXQuY3BwOgorICAgICAgICAqIGRmZy9E
RkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzSW50ZXJuYWxGaWVsZEluZGV4
KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNIZWFwUHJlZGljdGlvbik6CisgICAgICAg
ICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdh
dGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAg
ICAoSlNDOjpERkc6OnNhZmVUb0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRJ
bnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZVB1dEludGVybmFsRmllbGQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
b21waWxlQ3JlYXRlUHJvbWlzZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVOZXdQcm9taXNlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6
REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dFByb21pc2VJbnRlcm5hbEZpZWxkKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICog
ZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBmdGwvRlRM
QWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExM
b3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpj
b21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBp
bGVOZXdQcm9taXNlKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29t
cGlsZUNyZWF0ZVByb21pc2UpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0Iz
Ojpjb21waWxlR2V0SW50ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dl
ckRGR1RvQjM6OmNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKTogRGVsZXRl
ZC4KKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1dFByb21p
c2VJbnRlcm5hbEZpZWxkKTogRGVsZXRlZC4KKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklU
Lmg6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0X29wX2dldF9pbnRlcm5hbF9maWVsZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9wdXRfaW50ZXJuYWxfZmllbGQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0
X3Byb21pc2VfaW50ZXJuYWxfZmllbGQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRfb3BfcHV0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQpOiBEZWxldGVkLgorICAgICAgICAqIGpp
dC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X2dldF9pbnRlcm5hbF9maWVsZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9wdXRfaW50
ZXJuYWxfZmllbGQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X3Byb21pc2VfaW50
ZXJuYWxfZmllbGQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcHV0X3By
b21pc2VfaW50ZXJuYWxfZmllbGQpOiBEZWxldGVkLgorICAgICAgICAqIGxsaW50L0xMSW50T2Zm
c2V0c0V4dHJhY3Rvci5jcHA6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbToKKyAgICAg
ICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgorICAgICAgICAqIHJ1bnRpbWUv
SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb21pc2UuaC4KKyAgICAgICAgKEpTQzo6SlNJbnRlcm5hbEZpZWxk
T2JqZWN0SW1wbDo6YWxsb2NhdGlvblNpemUpOgorICAgICAgICAoSlNDOjpKU0ludGVybmFsRmll
bGRPYmplY3RJbXBsOjppbnRlcm5hbEZpZWxkIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbDo6aW50ZXJuYWxGaWVsZCk6CisgICAgICAgIChKU0M6OkpTSW50
ZXJuYWxGaWVsZE9iamVjdEltcGw6Om9mZnNldE9mSW50ZXJuYWxGaWVsZHMpOgorICAgICAgICAo
SlNDOjpKU0ludGVybmFsRmllbGRPYmplY3RJbXBsOjpvZmZzZXRPZkludGVybmFsRmllbGQpOgor
ICAgICAgICAoSlNDOjpKU0ludGVybmFsRmllbGRPYmplY3RJbXBsOjpKU0ludGVybmFsRmllbGRP
YmplY3RJbXBsKToKKyAgICAgICAgKiBydW50aW1lL0pTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJ
bmxpbmVzLmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpKU0ludGVybmFsRmllbGRPYmplY3RJbXBs
PHBhc3NlZE51bWJlck9mSW50ZXJuYWxGaWVsZHM+Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAg
KiBydW50aW1lL0pTUHJvbWlzZS5jcHA6CisgICAgICAgIChKU0M6OkpTUHJvbWlzZTo6ZmluaXNo
Q3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU1Byb21pc2U6OnZpc2l0Q2hpbGRyZW4pOgorICAg
ICAgICAoSlNDOjpKU1Byb21pc2U6OnN0YXR1cyBjb25zdCk6CisgICAgICAgIChKU0M6OkpTUHJv
bWlzZTo6cmVzdWx0IGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNQcm9taXNlOjppc0hhbmRsZWQg
Y29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNQcm9taXNlLmg6CisgICAgICAgIChKU0M6OkpT
UHJvbWlzZTo6YWxsb2NhdGlvblNpemUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU1Byb21p
c2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZHMpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU1By
b21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZCk6IERlbGV0ZWQuCisgICAgICAgICgpOiBEZWxl
dGVkLgorCiAyMDE5LTA5LTA1ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgog
CiAgICAgICAgIExhenlDbGFzc1N0cnVjdHVyZTo6c2V0Q29uc3RydWN0b3Igc2hvdWxkIG5vdCBz
dG9yZSB0aGUgY29uc3RydWN0b3IgdG8gdGhlIGdsb2JhbCBvYmplY3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAzZTZhNDk3NjM4YWFiZmUyYzJkYzBjZWFhMWYyNzRhNzM4
ODFjYWM0Li5kOTk0MGZmNWNjOTZlMjIwYjczZjhkNjU1MWNkMTY0ODhkMTBlZmExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04NjUsNiArODY1LDcgQEAgc2V0KEphdmFT
Y3JpcHRDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBydW50aW1lL0pTR2xvYmFs
T2JqZWN0RnVuY3Rpb25zLmgKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0SW5saW5lcy5oCiAg
ICAgcnVudGltZS9KU0ltbXV0YWJsZUJ1dHRlcmZseS5oCisgICAgcnVudGltZS9KU0ludGVybmFs
RmllbGRPYmplY3RJbXBsLmgKICAgICBydW50aW1lL0pTSW50ZXJuYWxQcm9taXNlLmgKICAgICBy
dW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaAogICAgIHJ1bnRpbWUvSlNNaWNyb3Rh
c2suaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1ZGFmZTY0MDllOGZhMTlmNTVi
MDI2YmRkNWI5ZTNlODE1ZjY1YTI5Li4wZDg4YjU0NGNhYzFmNzhmOGU4ZTY5NzZlZjAyMGJjM2Fl
ZGY4N2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTc4Niw5ICsxNzg2LDEx
IEBACiAJCUUzMjhEQUU5MUQzOEQwMDUwMDFBMjUyOSAvKiBCeXRlY29kZUdyYXBoLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0QyNjQyODFEMzhDMDQy
MDAwQkUxNzQgLyogQnl0ZWNvZGVHcmFwaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUzMjhEQUVCMUQzOEQwMDUwMDFBMjUyOSAvKiBCeXRlY29k
ZVJld3JpdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFM0QyNjQyQTFEMzhDMDQyMDAwQkUxNzQgLyogQnl0ZWNvZGVSZXdyaXRlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzMkFCMjQ0MURDRDc1
RjQwMEQ3NTMzQSAvKiBNYWNyb0Fzc2VtYmxlckhlbHBlcnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzODBBNzZCMURDRDcxOTUwMDBGODlFNiAvKiBN
YWNyb0Fzc2VtYmxlckhlbHBlcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlFMzMwOTVERDIzMjEwQTFCMDBFQjc4NTYgLyogSlNJbnRlcm5hbEZp
ZWxkT2JqZWN0SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTMzMDk1REMyMzIxMEExNDAwRUI3ODU2IC8qIEpTSW50ZXJuYWxGaWVsZE9iamVjdElt
cGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlF
MzM0Q0JCNTIxRkQ5NkE5MDAwRUIxNzggLyogUmVnRXhwR2xvYmFsRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzNENCQjMyMUZEOTZBOTAwMEVC
MTc4IC8qIFJlZ0V4cEdsb2JhbERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzM2MzdBNjFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9i
amVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMz
NjM3QTQxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzM3Qjk2NzIyNDMyNEVBMDA5M0E4
MjAgLyogV2FzbUNhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTMzN0I5NjYyMjQzMjRFNTAwOTNBODIwIC8qIFdhc21DYXBhYmlsaXRp
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlF
MzM5NzAwNTIzMjEwRTBCMDBCMEFFMjEgLyogSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbElubGlu
ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMzk3
MDA0MjMyMTBFMEEwMEIwQUUyMSAvKiBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsSW5saW5lcy5o
ICovOyB9OwogCQlFMzNBOTQ5NjIyNTUzMjMwMDBENDJCMDYgLyogUmFuZG9taXppbmdGdXp6ZXJB
Z2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMz
QTk0OTQyMjU1MzIyOTAwRDQyQjA2IC8qIFJhbmRvbWl6aW5nRnV6emVyQWdlbnQuaCAqLzsgfTsK
IAkJRTMzQTk0OTcyMjU1MzIzMzAwRDQyQjA2IC8qIEZ1enplckFnZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzNBOTQ5MjIyNTUzMjI5MDBENDJC
MDYgLyogRnV6emVyQWdlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFMzNCM0UyNjFCN0FCRDc1MDA0OERCMkUgLyogSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uT2JqZWN0Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTMzQjNFMjUxQjdBQkQ3NTAwNDhEQjJFIC8qIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbk9iamVjdC5sdXQuaCAqLzsgfTsKQEAgLTQ4NjcsMTEgKzQ4NjksMTMgQEAKIAkJRTMz
MDVGQjAyMEIwRjc4NzAwQ0VCODJCIC8qIEluQnlJZFZhcmlhbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5CeUlkVmFyaWFudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUzMzA1RkIxMjBCMEY3ODgwMENFQjgyQiAvKiBJbkJ5SWRWYXJpYW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluQnlJZFZhcmlhbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTMzMDVGQjIyMEIwRjc4ODAwQ0VCODJCIC8qIElu
QnlJZFN0YXR1cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbkJ5
SWRTdGF0dXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzMwOTVEQzIzMjEw
QTE0MDBFQjc4NTYgLyogSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUzMzRDQkIyMjFGRDk2QTgwMDBFQjE3OCAvKiBSZWdFeHBHbG9iYWxEYXRhLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cEdsb2JhbERhdGEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzM0Q0JCMzIxRkQ5NkE5MDAwRUIxNzggLyog
UmVnRXhwR2xvYmFsRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdF
eHBHbG9iYWxEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzMzYzN0EzMUI2
MzIyMDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlZmxlY3RPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzM2MzdBNDFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWZsZWN0T2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUzMzdCOTY2MjI0MzI0RTUwMDkzQTgyMCAvKiBXYXNtQ2FwYWJp
bGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21DYXBhYmlsaXRpZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRTMzOTcwMDQyMzIxMEUwQTAwQjBBRTIxIC8qIEpTSW50ZXJuYWxG
aWVsZE9iamVjdEltcGxJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzM0E5NDkyMjI1NTMyMjkwMEQ0MkIwNiAvKiBGdXp6ZXJBZ2VudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGdXp6ZXJBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MzNBOTQ5MzIyNTUzMjI5MDBENDJCMDYgLyogUmFuZG9taXppbmdGdXp6ZXJBZ2VudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSYW5kb21pemluZ0Z1enplckFnZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTMzQTk0OTQyMjU1MzIyOTAwRDQyQjA2IC8qIFJhbmRvbWl6aW5n
RnV6emVyQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmFuZG9taXppbmdGdXp6ZXJBZ2VudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzE4OSw2ICs3MTkzLDggQEAKIAkJCQkwRjJC
NjZDQTE3QjZCNUFCMDBBN0FFM0YgLyogSlNJbnQxNkFycmF5LmggKi8sCiAJCQkJMEYyQjY2Q0Ix
N0I2QjVBQjAwQTdBRTNGIC8qIEpTSW50MzJBcnJheS5oICovLAogCQkJCTBGMkI2NkM5MTdCNkI1
QUIwMEE3QUUzRiAvKiBKU0ludDhBcnJheS5oICovLAorCQkJCUUzMzA5NURDMjMyMTBBMTQwMEVC
Nzg1NiAvKiBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmggKi8sCisJCQkJRTMzOTcwMDQyMzIx
MEUwQTAwQjBBRTIxIC8qIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJbmxpbmVzLmggKi8sCiAJ
CQkJRTMzRjUwN0UxQjg0MjlBNDAwNDEzODU2IC8qIEpTSW50ZXJuYWxQcm9taXNlLmNwcCAqLywK
IAkJCQlFMzNGNTA3RjFCODQyOUE0MDA0MTM4NTYgLyogSlNJbnRlcm5hbFByb21pc2UuaCAqLywK
IAkJCQlFMzNGNTA3NjFCODQyMjU3MDA0MTM4NTYgLyogSlNJbnRlcm5hbFByb21pc2VDb25zdHJ1
Y3Rvci5jcHAgKi8sCkBAIC05NjUxLDYgKzk2NTcsOCBAQAogCQkJCTBGMkI2NkY5MTdCNkI1QUIw
MEE3QUUzRiAvKiBKU0ludDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkI2NkY3MTdC
NkI1QUIwMEE3QUUzRiAvKiBKU0ludDhBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc2QzUx
NzYxMTgyNzQ4RDAwNzE1QjA1IC8qIEpTSW50ZXJmYWNlSklULmggaW4gSGVhZGVycyAqLywKKwkJ
CQlFMzMwOTVERDIzMjEwQTFCMDBFQjc4NTYgLyogSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRTMzOTcwMDUyMzIxMEUwQjAwQjBBRTIxIC8qIEpTSW50ZXJu
YWxGaWVsZE9iamVjdEltcGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzNGNTA4MTFC
ODQyOUE0MDA0MTM4NTYgLyogSlNJbnRlcm5hbFByb21pc2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzM0Y1MDc5MUI4NDIyNTcwMDQxMzg1NiAvKiBKU0ludGVybmFsUHJvbWlzZUNvbnN0cnVjdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzNGNTA4NzFCODQ0OUVGMDA0MTM4NTYgLyogSlNJbnRl
cm5hbFByb21pc2VDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5yYiBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QucmIKaW5kZXggNjU4ZTExZThiM2Qw
NTVmMDU3OGM2NjVmMDNjNWI1NmViNGIxNGM3Ny4uM2IzOTk4YWI1MGNkNjIwMzA5YmFjNmQ2N2Zk
NjkxOGZmNGEwMWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlTGlzdC5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0LnJiCkBAIC0xMTI5LDcgKzExMjksNyBAQAogICAgICAgICBwcm9wZXJ0eTogdW5z
aWduZWQsCiAgICAgfQogCi1vcCA6Z2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQsCitvcCA6Z2V0
X2ludGVybmFsX2ZpZWxkLAogICAgIGFyZ3M6IHsKICAgICAgICAgZHN0OiBWaXJ0dWFsUmVnaXN0
ZXIsCiAgICAgICAgIGJhc2U6IFZpcnR1YWxSZWdpc3RlciwKQEAgLTExMzksNyArMTEzOSw3IEBA
CiAgICAgICAgIHByb2ZpbGU6IFZhbHVlUHJvZmlsZSwKICAgICB9CiAKLW9wIDpwdXRfcHJvbWlz
ZV9pbnRlcm5hbF9maWVsZCwKK29wIDpwdXRfaW50ZXJuYWxfZmllbGQsCiAgICAgYXJnczogewog
ICAgICAgICBiYXNlOiBWaXJ0dWFsUmVnaXN0ZXIsCiAgICAgICAgIGluZGV4OiB1bnNpZ25lZCwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURl
Zi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5k
ZXggNzNiNWE1ODA0OGM3ZTQyN2E0NzQzZDIyNTdlNzNhOGNjYTYxYTgyMS4uYmUwODU5NjQwZmIx
MDdkZThiNzgyYmNmYTUwODFiYzdkMWM3OWJjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTI1NCw4ICsyNTQsOCBAQCB2b2lkIGNv
bXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQgb3Bj
b2RlSUQsIGNvbnN0IElucwogICAgIFVTRVMoT3BTd2l0Y2hDaGFyLCBzY3J1dGluZWUpCiAgICAg
VVNFUyhPcFN3aXRjaEltbSwgc2NydXRpbmVlKQogCi0gICAgVVNFUyhPcEdldFByb21pc2VJbnRl
cm5hbEZpZWxkLCBiYXNlKQotICAgIFVTRVMoT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgYmFz
ZSwgdmFsdWUpCisgICAgVVNFUyhPcEdldEludGVybmFsRmllbGQsIGJhc2UpCisgICAgVVNFUyhP
cFB1dEludGVybmFsRmllbGQsIGJhc2UsIHZhbHVlKQogCiAgICAgVVNFUyhPcFlpZWxkLCBnZW5l
cmF0b3IsIGFyZ3VtZW50KQogCkBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBjb21wdXRlRGVmc0Zv
ckJ5dGVjb2RlT2Zmc2V0KEJsb2NrKiBjb2RlQmxvY2ssIE9wY29kZUlEIG9wY29kZUlELCBjb25z
dCBJbnMKICAgICBjYXNlIG9wX3B1dF9zZXR0ZXJfYnlfdmFsOgogICAgIGNhc2Ugb3BfcHV0X2J5
X3ZhbDoKICAgICBjYXNlIG9wX3B1dF9ieV92YWxfZGlyZWN0OgotICAgIGNhc2Ugb3BfcHV0X3By
b21pc2VfaW50ZXJuYWxfZmllbGQ6CisgICAgY2FzZSBvcF9wdXRfaW50ZXJuYWxfZmllbGQ6CiAg
ICAgY2FzZSBvcF9kZWZpbmVfZGF0YV9wcm9wZXJ0eToKICAgICBjYXNlIG9wX2RlZmluZV9hY2Nl
c3Nvcl9wcm9wZXJ0eToKICAgICBjYXNlIG9wX3Byb2ZpbGVfdHlwZToKQEAgLTQ3Nyw3ICs0Nzcs
NyBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQmxvY2sqIGNvZGVCbG9jaywg
T3Bjb2RlSUQgb3Bjb2RlSUQsIGNvbnN0IElucwogICAgIERFRlMoT3BHZXRBcmd1bWVudCwgZHN0
KQogICAgIERFRlMoT3BDcmVhdGVSZXN0LCBkc3QpCiAgICAgREVGUyhPcEdldFJlc3RMZW5ndGgs
IGRzdCkKLSAgICBERUZTKE9wR2V0UHJvbWlzZUludGVybmFsRmllbGQsIGRzdCkKKyAgICBERUZT
KE9wR2V0SW50ZXJuYWxGaWVsZCwgZHN0KQogCiAgICAgREVGUyhPcENhdGNoLCBleGNlcHRpb24s
IHRocm93blZhbHVlKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCmluZGV4IGJmMzdiMGY1OTFiMWFkYzg5ZjRlNzYyNGRhMDkzMDhhNWFhYjFjOGYuLjI5
NDNiMmIxMDAzYzVmOGYxYTMwY2U1NjUyNjg0ZDQ0MzZlNzhlYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC01NDAsNyArNTQwLDcgQEAgYm9v
bCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0YWJsZSogb3du
ZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAgICAgICAgTElOSyhPcFRvTnVtYmVyLCBwcm9maWxlKQog
ICAgICAgICBMSU5LKE9wVG9PYmplY3QsIHByb2ZpbGUpCiAgICAgICAgIExJTksoT3BHZXRBcmd1
bWVudCwgcHJvZmlsZSkKLSAgICAgICAgTElOSyhPcEdldFByb21pc2VJbnRlcm5hbEZpZWxkLCBw
cm9maWxlKQorICAgICAgICBMSU5LKE9wR2V0SW50ZXJuYWxGaWVsZCwgcHJvZmlsZSkKICAgICAg
ICAgTElOSyhPcFRvVGhpcywgcHJvZmlsZSkKICAgICAgICAgTElOSyhPcEJpdGFuZCwgcHJvZmls
ZSkKICAgICAgICAgTElOSyhPcEJpdG9yLCBwcm9maWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09wY29kZS5oCmluZGV4IGRjYmViOGFkNjRkMDNkOWYyODJlMjI4NzE2NWZlMDgyMzJh
NDk5MDIuLjQyYTU2ZmIzMjU4YWNjNTYyMGE3YTZhZDUxMGJkZWVhYThiOTk5YzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKQEAgLTk3LDcgKzk3LDcgQEAgZXh0ZXJu
IGNvbnN0IHVuc2lnbmVkIG9wY29kZUxlbmd0aHNbXTsKICAgICBtYWNybyhPcFRvTnVtYmVyKSBc
CiAgICAgbWFjcm8oT3BUb09iamVjdCkgXAogICAgIG1hY3JvKE9wR2V0QXJndW1lbnQpIFwKLSAg
ICBtYWNybyhPcEdldFByb21pc2VJbnRlcm5hbEZpZWxkKSBcCisgICAgbWFjcm8oT3BHZXRJbnRl
cm5hbEZpZWxkKSBcCiAgICAgbWFjcm8oT3BUb1RoaXMpIFwKICAgICBtYWNybyhPcENhbGwpIFwK
ICAgICBtYWNybyhPcFRhaWxDYWxsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDdmNjdkNjY0OWFl
YjhkNjg1YzE3MTVkNDkzZjBiODZhMmVlYWU4NDEuLmVhN2E0YWM0NjA4NzRmODlmMDlmYzU2OTQw
YTQxYjBiMTYxMTI2MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yODA4LDE1ICsyODA4LDE1IEBA
IFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0RGVsZXRlQnlWYWwoUmVnaXN0ZXJJ
RCogZHN0LCBSZWdpc3RlcklEKiBiYXNlCiAgICAgcmV0dXJuIGRzdDsKIH0KIAotUmVnaXN0ZXJJ
RCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRQcm9taXNlSW50ZXJuYWxGaWVsZChSZWdpc3Rl
cklEKiBkc3QsIFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGluZGV4KQorUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRHZXRJbnRlcm5hbEZpZWxkKFJlZ2lzdGVySUQqIGRzdCwg
UmVnaXN0ZXJJRCogYmFzZSwgdW5zaWduZWQgaW5kZXgpCiB7Ci0gICAgT3BHZXRQcm9taXNlSW50
ZXJuYWxGaWVsZDo6ZW1pdCh0aGlzLCBkc3QsIGJhc2UsIGluZGV4KTsKKyAgICBPcEdldEludGVy
bmFsRmllbGQ6OmVtaXQodGhpcywgZHN0LCBiYXNlLCBpbmRleCk7CiAgICAgcmV0dXJuIGRzdDsK
IH0KIAotUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRQdXRQcm9taXNlSW50ZXJu
YWxGaWVsZChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwgUmVnaXN0ZXJJRCogdmFs
dWUpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1dEludGVybmFsRmllbGQo
UmVnaXN0ZXJJRCogYmFzZSwgdW5zaWduZWQgaW5kZXgsIFJlZ2lzdGVySUQqIHZhbHVlKQogewot
ICAgIE9wUHV0UHJvbWlzZUludGVybmFsRmllbGQ6OmVtaXQodGhpcywgYmFzZSwgaW5kZXgsIHZh
bHVlKTsKKyAgICBPcFB1dEludGVybmFsRmllbGQ6OmVtaXQodGhpcywgYmFzZSwgaW5kZXgsIHZh
bHVlKTsKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCBiYjA0Y2VlNDI0
ZTUyNDFiNzcyYWEwM2FhZDRiM2JmNDExNGFhNTYwLi45NGVlYjEzMjYxMDZmZjZkZGNkNzQ5MzFk
ZWEwYWIyOTE5NGRkY2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC03NzYsOCArNzc2LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXREaXJlY3RQdXRCeVZhbChSZWdpc3Rl
cklEKiBiYXNlLCBSZWdpc3RlcklEKiBwcm9wZXJ0eSwgUmVnaXN0ZXJJRCogdmFsdWUpOwogICAg
ICAgICBSZWdpc3RlcklEKiBlbWl0RGVsZXRlQnlWYWwoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3Rl
cklEKiBiYXNlLCBSZWdpc3RlcklEKiBwcm9wZXJ0eSk7CiAKLSAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEdldFByb21pc2VJbnRlcm5hbEZpZWxkKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCog
YmFzZSwgdW5zaWduZWQgaW5kZXgpOwotICAgICAgICBSZWdpc3RlcklEKiBlbWl0UHV0UHJvbWlz
ZUludGVybmFsRmllbGQoUmVnaXN0ZXJJRCogYmFzZSwgdW5zaWduZWQgaW5kZXgsIFJlZ2lzdGVy
SUQqIHZhbHVlKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEdldEludGVybmFsRmllbGQoUmVn
aXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCk7CisgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXRQdXRJbnRlcm5hbEZpZWxkKFJlZ2lzdGVySUQqIGJhc2UsIHVuc2ln
bmVkIGluZGV4LCBSZWdpc3RlcklEKiB2YWx1ZSk7CiAKICAgICAgICAgdm9pZCBlbWl0U3VwZXJT
YW1wbGVyQmVnaW4oKTsKICAgICAgICAgdm9pZCBlbWl0U3VwZXJTYW1wbGVyRW5kKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAK
aW5kZXggMmM4MzIzNjYyM2VlYmQ1MzE1ZjM2NWUzYmNjOTVmZjQ4ZTE2MzRhNy4uNDg5MDllZjli
MDRkMTVhZGM0YTAyZDI2Yzc1ZjhjYzVjOWMxNTNiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTAzMCw3ICsxMDMw
LDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVJbnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19n
ZXRQcm9taXNlSW50ZXJuYWxGaWVsZChCeXRlY28KICAgICBBU1NFUlQoaW5kZXggPCBKU1Byb21p
c2U6Om51bWJlck9mSW50ZXJuYWxGaWVsZHMpOwogICAgIEFTU0VSVCghbm9kZS0+bV9uZXh0KTsK
IAotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldFByb21pc2VJbnRlcm5hbEZpZWxkKGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIGJhc2UuZ2V0KCksIGluZGV4KTsKKyAgICByZXR1
cm4gZ2VuZXJhdG9yLmVtaXRHZXRJbnRlcm5hbEZpZWxkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCksIGJhc2UuZ2V0KCksIGluZGV4KTsKIH0KIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVJ
bnRyaW5zaWNOb2RlOjplbWl0X2ludHJpbnNpY19hcmd1bWVudChCeXRlY29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCkBAIC0xMTE1LDcgKzExMTUsNyBAQCBSZWdpc3Rl
cklEKiBCeXRlY29kZUludHJpbnNpY05vZGU6OmVtaXRfaW50cmluc2ljX3B1dFByb21pc2VJbnRl
cm5hbEZpZWxkKEJ5dGVjbwogCiAgICAgQVNTRVJUKCFub2RlLT5tX25leHQpOwogCi0gICAgcmV0
dXJuIGdlbmVyYXRvci5tb3ZlKGRzdCwgZ2VuZXJhdG9yLmVtaXRQdXRQcm9taXNlSW50ZXJuYWxG
aWVsZChiYXNlLmdldCgpLCBpbmRleCwgdmFsdWUuZ2V0KCkpKTsKKyAgICByZXR1cm4gZ2VuZXJh
dG9yLm1vdmUoZHN0LCBnZW5lcmF0b3IuZW1pdFB1dEludGVybmFsRmllbGQoYmFzZS5nZXQoKSwg
aW5kZXgsIHZhbHVlLmdldCgpKSk7CiB9CiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlSW50cmluc2lj
Tm9kZTo6ZW1pdF9pbnRyaW5zaWNfdGFpbENhbGxGb3J3YXJkQXJndW1lbnRzKEJ5dGVjb2RlR2Vu
ZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRl
eCA0NjQ3ODFkYzk3MmMyOGI4MDQ5MmVjZTE1YTE3MGMwOWIyYzU0YzIxLi45YjZiZjAzNTk3ODc5
N2EzZTMzYTRjODQ5NTE0MDMxNDBjNTMxZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0yOTQw
LDExICsyOTQwLDExIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlw
ZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgY2FzZSBQdXRDbG9z
dXJlVmFyOgogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmll
bGQ6CisgICAgY2FzZSBHZXRJbnRlcm5hbEZpZWxkOgogICAgICAgICBtYWtlQnl0ZWNvZGVUb3BG
b3JOb2RlKG5vZGUpOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgUHV0UHJvbWlzZUludGVy
bmFsRmllbGQ6CisgICAgY2FzZSBQdXRJbnRlcm5hbEZpZWxkOgogICAgICAgICBicmVhazsKIAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmlu
ZGV4IDBmM2ZiN2U2ZWJiZWUwNDIxMWEzMDFjYmVlNzg4MzFlMGE0ZjExMjYuLjJjODJiMWU5M2Jk
MWZkNTJjZWQ1NTA0YTQxYmFlYzlhNWQ5YjkzOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC03MDQ5LDE2ICs3MDQ5LDE2IEBAIHZv
aWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAg
ICBORVhUX09QQ09ERShvcF90b19pbmRleF9zdHJpbmcpOwogICAgICAgICB9CiAKLSAgICAgICAg
Y2FzZSBvcF9nZXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZDogewotICAgICAgICAgICAgYXV0byBi
eXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BHZXRQcm9taXNlSW50ZXJuYWxGaWVs
ZD4oKTsKLSAgICAgICAgICAgIHNldChieXRlY29kZS5tX2RzdCwgYWRkVG9HcmFwaChHZXRQcm9t
aXNlSW50ZXJuYWxGaWVsZCwgT3BJbmZvKGJ5dGVjb2RlLm1faW5kZXgpLCBPcEluZm8oZ2V0UHJl
ZGljdGlvbigpKSwgZ2V0KGJ5dGVjb2RlLm1fYmFzZSkpKTsKLSAgICAgICAgICAgIE5FWFRfT1BD
T0RFKG9wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKTsKKyAgICAgICAgY2FzZSBvcF9nZXRf
aW50ZXJuYWxfZmllbGQ6IHsKKyAgICAgICAgICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5z
dHJ1Y3Rpb24tPmFzPE9wR2V0SW50ZXJuYWxGaWVsZD4oKTsKKyAgICAgICAgICAgIHNldChieXRl
Y29kZS5tX2RzdCwgYWRkVG9HcmFwaChHZXRJbnRlcm5hbEZpZWxkLCBPcEluZm8oYnl0ZWNvZGUu
bV9pbmRleCksIE9wSW5mbyhnZXRQcmVkaWN0aW9uKCkpLCBnZXQoYnl0ZWNvZGUubV9iYXNlKSkp
OworICAgICAgICAgICAgTkVYVF9PUENPREUob3BfZ2V0X2ludGVybmFsX2ZpZWxkKTsKICAgICAg
ICAgfQogCi0gICAgICAgIGNhc2Ugb3BfcHV0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQ6IHsKLSAg
ICAgICAgICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wUHV0UHJv
bWlzZUludGVybmFsRmllbGQ+KCk7Ci0gICAgICAgICAgICBhZGRUb0dyYXBoKFB1dFByb21pc2VJ
bnRlcm5hbEZpZWxkLCBPcEluZm8oYnl0ZWNvZGUubV9pbmRleCksIGdldChieXRlY29kZS5tX2Jh
c2UpLCBnZXQoYnl0ZWNvZGUubV92YWx1ZSkpOwotICAgICAgICAgICAgTkVYVF9PUENPREUob3Bf
cHV0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQpOworICAgICAgICBjYXNlIG9wX3B1dF9pbnRlcm5h
bF9maWVsZDogeworICAgICAgICAgICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlv
bi0+YXM8T3BQdXRJbnRlcm5hbEZpZWxkPigpOworICAgICAgICAgICAgYWRkVG9HcmFwaChQdXRJ
bnRlcm5hbEZpZWxkLCBPcEluZm8oYnl0ZWNvZGUubV9pbmRleCksIGdldChieXRlY29kZS5tX2Jh
c2UpLCBnZXQoYnl0ZWNvZGUubV92YWx1ZSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3Bf
cHV0X2ludGVybmFsX2ZpZWxkKTsKICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGNh
c2Ugb3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggNWFjN2M0Mjc3NmJkNTU3MTZkNWFl
MzE2ZDJhZThmOGJlN2FiNGEyMi4uYzBlZTk4YWVhODM4ZDcyNTZlNmI3NTRiNTQ1NzRiYjhkNmU5
ZjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNw
cApAQCAtMjc1LDggKzI3NSw4IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bj
b2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBjb25zdCBJCiAgICAgY2FzZSBv
cF9yZXNvbHZlX3Njb3BlOgogICAgIGNhc2Ugb3BfcmVzb2x2ZV9zY29wZV9mb3JfaG9pc3Rpbmdf
ZnVuY19kZWNsX2luX2V2YWw6CiAgICAgY2FzZSBvcF9uZXdfcmVnZXhwOgotICAgIGNhc2Ugb3Bf
Z2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQ6Ci0gICAgY2FzZSBvcF9wdXRfcHJvbWlzZV9pbnRl
cm5hbF9maWVsZDoKKyAgICBjYXNlIG9wX2dldF9pbnRlcm5hbF9maWVsZDoKKyAgICBjYXNlIG9w
X3B1dF9pbnRlcm5hbF9maWVsZDoKICAgICBjYXNlIG9wX3VucmVhY2hhYmxlOgogICAgIGNhc2Ug
b3Bfc3VwZXJfc2FtcGxlcl9iZWdpbjoKICAgICBjYXNlIG9wX3N1cGVyX3NhbXBsZXJfZW5kOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCAyMmRjZjM5MmU5
YTMyZGVmNGQxNjZkZWJmMTgwNDNiMzNkZWZjYzJhLi5jMWI3YTBiYzIyMWNmNDg0MWM2ZDQzMWFj
NGU1Y2U1YWRhMWY3MWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJp
emUuaApAQCAtMTMxNywxNCArMTMxNywxNCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAg
ICAgICBkZWYoSGVhcExvY2F0aW9uKENsb3N1cmVWYXJpYWJsZUxvYywgQWJzdHJhY3RIZWFwKFNj
b3BlUHJvcGVydGllcywgbm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKSksIG5vZGUtPmNoaWxk
MSgpKSwgTGF6eU5vZGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKSk7CiAgICAgICAgIHJldHVybjsK
IAotICAgIGNhc2UgR2V0UHJvbWlzZUludGVybmFsRmllbGQ6IHsKKyAgICBjYXNlIEdldEludGVy
bmFsRmllbGQ6IHsKICAgICAgICAgQWJzdHJhY3RIZWFwIGhlYXAoSlNQcm9taXNlRmllbGRzLCBu
b2RlLT5pbnRlcm5hbEZpZWxkSW5kZXgoKSk7CiAgICAgICAgIHJlYWQoaGVhcCk7CiAgICAgICAg
IGRlZihIZWFwTG9jYXRpb24oUHJvbWlzZUludGVybmFsRmllbGRMb2MsIGhlYXAsIG5vZGUtPmNo
aWxkMSgpKSwgTGF6eU5vZGUobm9kZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
Y2FzZSBQdXRQcm9taXNlSW50ZXJuYWxGaWVsZDogeworICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVs
ZDogewogICAgICAgICBBYnN0cmFjdEhlYXAgaGVhcChKU1Byb21pc2VGaWVsZHMsIG5vZGUtPmlu
dGVybmFsRmllbGRJbmRleCgpKTsKICAgICAgICAgd3JpdGUoaGVhcCk7CiAgICAgICAgIGRlZihI
ZWFwTG9jYXRpb24oUHJvbWlzZUludGVybmFsRmllbGRMb2MsIGhlYXAsIG5vZGUtPmNoaWxkMSgp
KSwgTGF6eU5vZGUobm9kZS0+Y2hpbGQyKCkubm9kZSgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXggODkzODgwNTYzZTgyMWJiYThkYTQxNDNiNThmZWZmMDZi
MzEwMGMxZi4uZmIzMTIyYjdjMjY1ZDNiOGVkMWE2YTAwNmIyZGM4MjRhNWU1OGQ3NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMTIzLDggKzEyMyw4IEBAIGJv
b2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEdldEdsb2JhbFRo
aXM6CiAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgogICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKLSAg
ICBjYXNlIEdldFByb21pc2VJbnRlcm5hbEZpZWxkOgotICAgIGNhc2UgUHV0UHJvbWlzZUludGVy
bmFsRmllbGQ6CisgICAgY2FzZSBHZXRJbnRlcm5hbEZpZWxkOgorICAgIGNhc2UgUHV0SW50ZXJu
YWxGaWVsZDoKICAgICBjYXNlIEdldFJlZ0V4cE9iamVjdExhc3RJbmRleDoKICAgICBjYXNlIFNl
dFJlZ0V4cE9iamVjdExhc3RJbmRleDoKICAgICBjYXNlIFJlY29yZFJlZ0V4cENhY2hlZFJlc3Vs
dDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDNj
NzM1NjM0MjQ2ODAyMmE3MWFiMDIzNzQ5ODZkMDRlNzQ5ODE0ZjEuLmU0NWFjNWMxZTY0YzczZmUy
Njg5YzRlMzhlNGVlMmIxMjVkYzM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcApAQCAtMTQ4NCwxNCArMTQ4NCwxNCBAQCBjbGFzcyBGaXh1cFBoYXNl
IDogcHVibGljIFBoYXNlIHsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEdldENsb3N1cmVW
YXI6CiAgICAgICAgIGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKLSAgICAgICAgY2FzZSBHZXRQcm9t
aXNlSW50ZXJuYWxGaWVsZDogeworICAgICAgICBjYXNlIEdldEludGVybmFsRmllbGQ6IHsKICAg
ICAgICAgICAgIGZpeEVkZ2U8S25vd25DZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogCiAgICAgICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKICAg
ICAgICAgY2FzZSBQdXRUb0FyZ3VtZW50czoKLSAgICAgICAgY2FzZSBQdXRQcm9taXNlSW50ZXJu
YWxGaWVsZDogeworICAgICAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6IHsKICAgICAgICAgICAg
IGZpeEVkZ2U8S25vd25DZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBzcGVj
dWxhdGVGb3JCYXJyaWVyKG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAKaW5kZXggZmI3M2RlNmZkNGYxMDZj
ZDM3NjI4YTJkYWQwMDE2NWViYmEzNjQ4YS4uZjhlZTk5YzM2NzVmMzBlMTVlMzg3YzM0ZTRmMDFm
NzQzM2JmZjM0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlF
eGl0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCkBA
IC0xMDEsNyArMTAxLDcgQEAgRXhpdE1vZGUgbWF5RXhpdEltcGwoR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlLCBTdGF0ZVR5cGUmIHN0YXRlKQogICAgIGNhc2UgRmVuY2VkU3RvcmVCYXJyaWVyOgog
ICAgIGNhc2UgUHV0QnlPZmZzZXQ6CiAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgotICAgIGNhc2Ug
UHV0UHJvbWlzZUludGVybmFsRmllbGQ6CisgICAgY2FzZSBQdXRJbnRlcm5hbEZpZWxkOgogICAg
IGNhc2UgUmVjb3JkUmVnRXhwQ2FjaGVkUmVzdWx0OgogICAgIGNhc2UgTnVrZVN0cnVjdHVyZUFu
ZFNldEJ1dHRlcmZseToKICAgICBjYXNlIEZpbHRlckNhbGxMaW5rU3RhdHVzOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAppbmRleCA2OTAyMDI1MDczOTUzMGQ4NzA3YjM0MzVhMjA1YTg4
MGQ1MGJiZDhkLi42OWYwOGMxODZkNDhjZWJmNmM3NmI4OWE0ZDVkNDg0NDA3ZGIzZDBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTI4Niw3ICsxMjg2LDcgQEAgc3RydWN0
IE5vZGUgewogCiAgICAgdW5zaWduZWQgaGFzSW50ZXJuYWxGaWVsZEluZGV4KCkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBvcCgpID09IEdldFByb21pc2VJbnRlcm5hbEZpZWxkIHx8IG9wKCkgPT0g
UHV0UHJvbWlzZUludGVybmFsRmllbGQ7CisgICAgICAgIHJldHVybiBvcCgpID09IEdldEludGVy
bmFsRmllbGQgfHwgb3AoKSA9PSBQdXRJbnRlcm5hbEZpZWxkOwogICAgIH0KIAogICAgIHVuc2ln
bmVkIGludGVybmFsRmllbGRJbmRleCgpCkBAIC0xNjk5LDcgKzE2OTksNyBAQCBzdHJ1Y3QgTm9k
ZSB7CiAgICAgICAgIGNhc2UgR2V0QnlPZmZzZXQ6CiAgICAgICAgIGNhc2UgTXVsdGlHZXRCeU9m
ZnNldDoKICAgICAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgotICAgICAgICBjYXNlIEdldFByb21p
c2VJbnRlcm5hbEZpZWxkOgorICAgICAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CiAgICAgICAg
IGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICAgICAgY2FzZSBHZXRBcmd1bWVudDoKICAgICAg
ICAgY2FzZSBBcnJheVBvcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaApp
bmRleCBkZDRlZmNkZDI4OWEzNTUzYzQ2YWQ4YzlmYTMwZWM0NGE0MGE2MmY1Li40ZDcxNTgyZTE3
YTY5MWEwNThhODM0NzIyODRmNjAxOWY5N2Q4MDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oCkBAIC00MDEsOCArNDAxLDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBERkcgewogICAgIG1hY3JvKFNldEZ1bmN0aW9uTmFtZSwgTm9kZU11c3RHZW5lcmF0ZSkg
XAogICAgIG1hY3JvKEhhc093blByb3BlcnR5LCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIFwK
LSAgICBtYWNybyhHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgTm9kZVJlc3VsdEpTKSBcCi0gICAg
bWFjcm8oUHV0UHJvbWlzZUludGVybmFsRmllbGQsIE5vZGVNdXN0R2VuZXJhdGUpIFwKKyAgICBt
YWNybyhHZXRJbnRlcm5hbEZpZWxkLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNybyhQdXRJbnRl
cm5hbEZpZWxkLCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgXAogICAgIG1hY3JvKENyZWF0ZUFj
dGl2YXRpb24sIE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKFB1c2hXaXRoU2NvcGUsIE5vZGVS
ZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXgg
MzM3YzhiNDM5ZjgzY2JkNDE1ZGNiYTBmOGU0MzA0ZTBmMTQ1YWU2YS4uNDhhNDFiMzA3MmI3Njc2
MzYxOTEwNDUzYTRkZTRmNWFhZWI1NGJhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTgy
Nyw3ICs4MjcsNyBAQCBjbGFzcyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQ
aGFzZSB7CiAgICAgICAgIGNhc2UgR2V0R2xvYmFsVmFyOgogICAgICAgICBjYXNlIEdldEdsb2Jh
bExleGljYWxWYXJpYWJsZToKICAgICAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgotICAgICAgICBj
YXNlIEdldFByb21pc2VJbnRlcm5hbEZpZWxkOgorICAgICAgICBjYXNlIEdldEludGVybmFsRmll
bGQ6CiAgICAgICAgIGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICAgICAgY2FzZSBMb2FkS2V5
RnJvbU1hcEJ1Y2tldDoKICAgICAgICAgY2FzZSBMb2FkVmFsdWVGcm9tTWFwQnVja2V0OgpAQCAt
MTI3MCw3ICsxMjcwLDcgQEAgY2xhc3MgUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UgOiBwdWJs
aWMgUGhhc2UgewogICAgICAgICBjYXNlIFB1dEJ5SWRXaXRoVGhpczoKICAgICAgICAgY2FzZSBQ
dXRCeVZhbDoKICAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgotICAgICAgICBjYXNlIFB1dFBy
b21pc2VJbnRlcm5hbEZpZWxkOgorICAgICAgICBjYXNlIFB1dEludGVybmFsRmllbGQ6CiAgICAg
ICAgIGNhc2UgUHV0VG9Bcmd1bWVudHM6CiAgICAgICAgIGNhc2UgUmV0dXJuOgogICAgICAgICBj
YXNlIFRocm93OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZl
VG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUu
aAppbmRleCAwNTYwZWVjZTk4OTYwMzY0YTk5ZmU5MjU2OGU4ZDU2OGQ3MjUzMzBhLi5jYThhZWEz
MGEzNTI2NmM2NzU0NTliOWI1ZWY1NDUyYzUzMTc2ZDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtMjgzLDggKzI4Myw4IEBAIGJvb2wgc2Fm
ZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSog
bm9kZSwgYm9vbCBpZ25vCiAgICAgY2FzZSBHZXRHbG9iYWxWYXI6CiAgICAgY2FzZSBHZXRHbG9i
YWxMZXhpY2FsVmFyaWFibGU6CiAgICAgY2FzZSBQdXRHbG9iYWxWYXJpYWJsZToKLSAgICBjYXNl
IEdldFByb21pc2VJbnRlcm5hbEZpZWxkOgotICAgIGNhc2UgUHV0UHJvbWlzZUludGVybmFsRmll
bGQ6CisgICAgY2FzZSBHZXRJbnRlcm5hbEZpZWxkOgorICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVs
ZDoKICAgICBjYXNlIENoZWNrQ2VsbDoKICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKICAgICBjYXNl
IENoZWNrTm90RW1wdHk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCmluZGV4IDczZWVkYzMwZTkwY2ZhMjlmMzkyYzUxNDM0MTlkMzdjYWRhMjFj
YjAuLmMzZmU1YTQ5YjAwMzBjNjQwMDEzNzMwYzFiMzBkZTVkMGZkOTRkZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0xMTI3MCw3
ICsxMTI3MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRDbG9zdXJlVmFyKE5v
ZGUqIG5vZGUpCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVHZXRQcm9taXNlSW50ZXJuYWxGaWVsZChOb2RlKiBub2RlKQordm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldEludGVybmFsRmllbGQoTm9kZSogbm9kZSkKIHsKICAgICBTcGVj
dWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICBKU1ZhbHVl
UmVnc1RlbXBvcmFyeSByZXN1bHQodGhpcyk7CkBAIC0xMTI3OCwxMSArMTEyNzgsMTEgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldFByb21pc2VJbnRlcm5hbEZpZWxkKE5vZGUqIG5v
ZGUpCiAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOwogICAgIEpTVmFsdWVSZWdzIHJl
c3VsdFJlZ3MgPSByZXN1bHQucmVncygpOwogCi0gICAgbV9qaXQubG9hZFZhbHVlKEpJVENvbXBp
bGVyOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKG5v
ZGUtPmludGVybmFsRmllbGRJbmRleCgpKSksIHJlc3VsdFJlZ3MpOworICAgIG1faml0LmxvYWRW
YWx1ZShKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlR1BSLCBKU0ludGVybmFsRmllbGRPYmplY3RJ
bXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChub2RlLT5pbnRlcm5hbEZpZWxkSW5kZXgoKSkp
LCByZXN1bHRSZWdzKTsKICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3MsIG5vZGUpOwogfQog
Ci12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmllbGQoTm9k
ZSogbm9kZSkKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRJbnRlcm5hbEZpZWxkKE5v
ZGUqIG5vZGUpCiB7CiAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5j
aGlsZDEoKSk7CiAgICAgSlNWYWx1ZU9wZXJhbmQgdmFsdWUodGhpcywgbm9kZS0+Y2hpbGQyKCkp
OwpAQCAtMTEyOTAsNyArMTEyOTAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0
UHJvbWlzZUludGVybmFsRmllbGQoTm9kZSogbm9kZSkKICAgICBHUFJSZWcgYmFzZUdQUiA9IGJh
c2UuZ3ByKCk7CiAgICAgSlNWYWx1ZVJlZ3MgdmFsdWVSZWdzID0gdmFsdWUuanNWYWx1ZVJlZ3Mo
KTsKIAotICAgIG1faml0LnN0b3JlVmFsdWUodmFsdWVSZWdzLCBKSVRDb21waWxlcjo6QWRkcmVz
cyhiYXNlR1BSLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChub2RlLT5pbnRlcm5h
bEZpZWxkSW5kZXgoKSkpKTsKKyAgICBtX2ppdC5zdG9yZVZhbHVlKHZhbHVlUmVncywgSklUQ29t
cGlsZXI6OkFkZHJlc3MoYmFzZUdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZz
ZXRPZkludGVybmFsRmllbGQobm9kZS0+aW50ZXJuYWxGaWVsZEluZGV4KCkpKSk7CiAgICAgbm9S
ZXN1bHQobm9kZSk7CiB9CiAKQEAgLTEyNzU5LDggKzEyNzU5LDggQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUNyZWF0ZVByb21pc2UoTm9kZSogbm9kZSkKICAgICAgICAgZW1pdEFsbG9j
YXRlSlNPYmplY3RXaXRoS25vd25TaXplPEpTSW50ZXJuYWxQcm9taXNlPihyZXN1bHRHUFIsIHN0
cnVjdHVyZUdQUiwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNl
cywgc2l6ZW9mKEpTSW50ZXJuYWxQcm9taXNlKSk7CiAgICAgZWxzZQogICAgICAgICBlbWl0QWxs
b2NhdGVKU09iamVjdFdpdGhLbm93blNpemU8SlNQcm9taXNlPihyZXN1bHRHUFIsIHN0cnVjdHVy
ZUdQUiwgYnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNlcywgc2l6
ZW9mKEpTUHJvbWlzZSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVlKGpzTnVtYmVyKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpLCBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MocmVzdWx0R1BSLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVs
ZChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6RmxhZ3MpKSkpOwotICAg
IG1faml0LnN0b3JlVHJ1c3RlZFZhbHVlKGpzVW5kZWZpbmVkKCksIENDYWxsSGVscGVyczo6QWRk
cmVzcyhyZXN1bHRHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpKSk7Cisg
ICAgbV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSksIENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1
bHRHUFIsIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxk
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncykpKSk7CisgICAg
bV9qaXQuc3RvcmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKHJlc3VsdEdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVy
bmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9u
c09yUmVzdWx0KSkpKTsKICAgICBtX2ppdC5tdXRhdG9yRmVuY2UobV9qaXQudm0oKSk7CiAKICAg
ICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoc2xvd0Nhc2VzLCB0aGlzLCBub2Rl
LT5pc0ludGVybmFsUHJvbWlzZSgpID8gb3BlcmF0aW9uQ3JlYXRlSW50ZXJuYWxQcm9taXNlIDog
b3BlcmF0aW9uQ3JlYXRlUHJvbWlzZSwgcmVzdWx0R1BSLCBjYWxsZWVHUFIsIFRydXN0ZWRJbW1Q
dHI6OndlYWtQb2ludGVyKG1faml0LmdyYXBoKCksIGdsb2JhbE9iamVjdCkpKTsKQEAgLTEyODE1
LDggKzEyODE1LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld1Byb21pc2UoTm9k
ZSogbm9kZSkKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3RXaXRoS25vd25TaXplPEpTSW50
ZXJuYWxQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwgYnV0dGVy
Zmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNlcywgc2l6ZW9mKEpTSW50ZXJu
YWxQcm9taXNlKSk7CiAgICAgZWxzZQogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdFdpdGhL
bm93blNpemU8SlNQcm9taXNlPihyZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwg
YnV0dGVyZmx5LCBzY3JhdGNoMUdQUiwgc2NyYXRjaDJHUFIsIHNsb3dDYXNlcywgc2l6ZW9mKEpT
UHJvbWlzZSkpOwotICAgIG1faml0LnN0b3JlVHJ1c3RlZFZhbHVlKGpzTnVtYmVyKHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpLCBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MocmVzdWx0R1BSLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpGaWVsZDo6RmxhZ3MpKSkpOwotICAgIG1faml0
LnN0b3JlVHJ1c3RlZFZhbHVlKGpzVW5kZWZpbmVkKCksIENDYWxsSGVscGVyczo6QWRkcmVzcyhy
ZXN1bHRHUFIsIEpTUHJvbWlzZTo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCkpKSk7CisgICAgbV9q
aXQuc3RvcmVUcnVzdGVkVmFsdWUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJv
bWlzZTo6U3RhdHVzOjpQZW5kaW5nKSksIENDYWxsSGVscGVyczo6QWRkcmVzcyhyZXN1bHRHUFIs
IEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8Pjo6b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncykpKSk7CisgICAgbV9qaXQu
c3RvcmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHJl
c3VsdEdQUiwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVybmFsRmll
bGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVz
dWx0KSkpKTsKICAgICBtX2ppdC5tdXRhdG9yRmVuY2UobV9qaXQudm0oKSk7CiAKICAgICBhZGRT
bG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoc2xvd0Nhc2VzLCB0aGlzLCBub2RlLT5pc0lu
dGVybmFsUHJvbWlzZSgpID8gb3BlcmF0aW9uTmV3SW50ZXJuYWxQcm9taXNlIDogb3BlcmF0aW9u
TmV3UHJvbWlzZSwgcmVzdWx0R1BSLCBUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAppbmRleCAxNGQ0N2Yy
ZGEwY2IwNjQ4NDE1NGM4MWQ4ODVkMjEzNWI3OTUzZTYzLi5mOTkxZGQyMDE2MjRlNjAzYjIxZWQ3
M2RkMDNjNTNjM2I3MzFhZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCkBAIC0xNDQ4LDggKzE0NDgsOCBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJ
VCB7CiAgICAgdm9pZCBjb21waWxlUHV0RHluYW1pY1ZhcihOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlR2V0Q2xvc3VyZVZhcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlUHV0Q2xvc3VyZVZhcihO
b2RlKik7Ci0gICAgdm9pZCBjb21waWxlR2V0UHJvbWlzZUludGVybmFsRmllbGQoTm9kZSopOwot
ICAgIHZvaWQgY29tcGlsZVB1dFByb21pc2VJbnRlcm5hbEZpZWxkKE5vZGUqKTsKKyAgICB2b2lk
IGNvbXBpbGVHZXRJbnRlcm5hbEZpZWxkKE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVQdXRJbnRl
cm5hbEZpZWxkKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVDb21wYXJlRXFQdHIoTm9kZSopOwog
ICAgIHZvaWQgY29tcGlsZURlZmluZURhdGFQcm9wZXJ0eShOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlRGVmaW5lQWNjZXNzb3JQcm9wZXJ0eShOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCBjM2RhMDhiMTdl
OTUzYmRkNWIwMTU1OTUxN2I4ZjI5M2QyZjRlMjgyLi4wOWNmMDk4NDY5OGI5Zjc5Mzc2ZjA1NjQx
N2U1NzE2MDM5YWU1NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTMyNTcsMTMgKzMyNTcsMTMgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9
CiAKLSAgICBjYXNlIEdldFByb21pc2VJbnRlcm5hbEZpZWxkOiB7Ci0gICAgICAgIGNvbXBpbGVH
ZXRQcm9taXNlSW50ZXJuYWxGaWVsZChub2RlKTsKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6
IHsKKyAgICAgICAgY29tcGlsZUdldEludGVybmFsRmllbGQobm9kZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAotICAgIGNhc2UgUHV0UHJvbWlzZUludGVybmFsRmllbGQ6IHsKLSAgICAgICAg
Y29tcGlsZVB1dFByb21pc2VJbnRlcm5hbEZpZWxkKG5vZGUpOworICAgIGNhc2UgUHV0SW50ZXJu
YWxGaWVsZDogeworICAgICAgICBjb21waWxlUHV0SW50ZXJuYWxGaWVsZChub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCBjOWUyOWY0YzNhNzUxNGM2YWVlN2E2YzJlYmEzNWVi
Y2I5NDc2NmJkLi5mMWYwNGMzYzk4NzVhNjMxNjVhNjI4ZmY5ZjFjZWRiNWZjNzA2YjM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAK
QEAgLTM1MzgsMTMgKzM1MzgsMTMgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBjYXNlIEdldFByb21pc2VJbnRl
cm5hbEZpZWxkOiB7Ci0gICAgICAgIGNvbXBpbGVHZXRQcm9taXNlSW50ZXJuYWxGaWVsZChub2Rl
KTsKKyAgICBjYXNlIEdldEludGVybmFsRmllbGQ6IHsKKyAgICAgICAgY29tcGlsZUdldEludGVy
bmFsRmllbGQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgUHV0UHJv
bWlzZUludGVybmFsRmllbGQ6IHsKLSAgICAgICAgY29tcGlsZVB1dFByb21pc2VJbnRlcm5hbEZp
ZWxkKG5vZGUpOworICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVsZDogeworICAgICAgICBjb21waWxl
UHV0SW50ZXJuYWxGaWVsZChub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlvblBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0
aW9uUGhhc2UuY3BwCmluZGV4IDRjNzNjZjY2MDM1OTI4MWZkMDBmZGE1MmJhYjI4MGNmM2IyNzhj
NmIuLjI0YjU1ZTc4OGQ5ZGU5YjUwNjk5Njc1NTc1Mzc3MzhiMzMyYmUzNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0
aW9uUGhhc2UuY3BwCkBAIC0yODIsNyArMjgyLDcgQEAgY2xhc3MgU3RvcmVCYXJyaWVySW5zZXJ0
aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFy
OgogICAgICAgICAgICAgY2FzZSBQdXRUb0FyZ3VtZW50czoKICAgICAgICAgICAgIGNhc2UgU2V0
UmVnRXhwT2JqZWN0TGFzdEluZGV4OgotICAgICAgICAgICAgY2FzZSBQdXRQcm9taXNlSW50ZXJu
YWxGaWVsZDogeworICAgICAgICAgICAgY2FzZSBQdXRJbnRlcm5hbEZpZWxkOiB7CiAgICAgICAg
ICAgICAgICAgY29uc2lkZXJCYXJyaWVyKG1fbm9kZS0+Y2hpbGQxKCksIG1fbm9kZS0+Y2hpbGQy
KCkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAppbmRl
eCBlMmViODEzYTExMzUyZTA4NjJmMjA2OTUyOTUxMWQwYmY1ZTA5NDEzLi43YjBjODlhOTRjYTMy
OGVlOTZlZWUwZjRiOTZmZTIyN2NkN2QxZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaApAQCAtMTQ5LDcgKzE0OSw3
IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhEaXJlY3RBcmd1
bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1lbnRzOjpzdG9yYWdlT2Zmc2V0KCksIHNpemVvZihF
bmNvZGVkSlNWYWx1ZSkpIFwKICAgICBtYWNybyhKU0xleGljYWxFbnZpcm9ubWVudF92YXJpYWJs
ZXMsIEpTTGV4aWNhbEVudmlyb25tZW50OjpvZmZzZXRPZlZhcmlhYmxlcygpLCBzaXplb2YoRW5j
b2RlZEpTVmFsdWUpKSBcCiAgICAgbWFjcm8oSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yX2NhY2hl
ZFByb3BlcnR5TmFtZXNWZWN0b3JDb250ZW50cywgMCwgc2l6ZW9mKFdyaXRlQmFycmllcjxKU1N0
cmluZz4pKSBcCi0gICAgbWFjcm8oSlNQcm9taXNlX2ludGVybmFsRmllbGRzLCBKU1Byb21pc2U6
Om9mZnNldE9mSW50ZXJuYWxGaWVsZHMoKSwgc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPikp
IFwKKyAgICBtYWNybyhKU0ludGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzLCBK
U0ludGVybmFsRmllbGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZHMoKSwgc2l6
ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPikpIFwKICAgICBtYWNybyhTY29wZWRBcmd1bWVudHNf
U3RvcmFnZV9zdG9yYWdlLCAwLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBcCiAgICAgbWFjcm8o
V3JpdGVCYXJyaWVyQnVmZmVyX2J1ZmZlckNvbnRlbnRzLCAwLCBzaXplb2YoSlNDZWxsKikpIFwK
ICAgICBtYWNybyhjaGFyYWN0ZXJzOCwgMCwgc2l6ZW9mKExDaGFyKSkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDQzYzk2ODM4ZjExY2E1
MDRjZGNjM2Q4MDhiNWFkMTc1ZWU5NDJmNjEuLjg0NWM0MTdlY2RiMTRiZjUwYTQ1ZjVlOGUwOWUz
YWUyMzk5ZjlkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2Fw
YWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxp
dGllcy5jcHAKQEAgLTE0Miw4ICsxNDIsOCBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIE5ld0FzeW5jR2VuZXJhdG9yRnVuY3Rpb246CiAg
ICAgY2FzZSBHZXRDbG9zdXJlVmFyOgogICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKLSAgICBjYXNl
IEdldFByb21pc2VJbnRlcm5hbEZpZWxkOgotICAgIGNhc2UgUHV0UHJvbWlzZUludGVybmFsRmll
bGQ6CisgICAgY2FzZSBHZXRJbnRlcm5hbEZpZWxkOgorICAgIGNhc2UgUHV0SW50ZXJuYWxGaWVs
ZDoKICAgICBjYXNlIENyZWF0ZURpcmVjdEFyZ3VtZW50czoKICAgICBjYXNlIENyZWF0ZVNjb3Bl
ZEFyZ3VtZW50czoKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCA2NzU2ODYzOGFkY2U5
MzE0ZmZmZWZhNWVlYWY3ZGM5YjM3NDA5YjY0Li40YzBiNmE0MTM0MWZlYTkyZmQ4NzJjNzkwM2Iz
ZjJjYmIyNzI5ZTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCkBAIC0xMTc4LDExICsxMTc4LDExIEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAg
ICAgICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKICAgICAgICAgICAgIGNvbXBpbGVQdXRDbG9zdXJl
VmFyKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBHZXRQcm9taXNlSW50ZXJu
YWxGaWVsZDoKLSAgICAgICAgICAgIGNvbXBpbGVHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCgpOwor
ICAgICAgICBjYXNlIEdldEludGVybmFsRmllbGQ6CisgICAgICAgICAgICBjb21waWxlR2V0SW50
ZXJuYWxGaWVsZCgpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUHV0UHJvbWlz
ZUludGVybmFsRmllbGQ6Ci0gICAgICAgICAgICBjb21waWxlUHV0UHJvbWlzZUludGVybmFsRmll
bGQoKTsKKyAgICAgICAgY2FzZSBQdXRJbnRlcm5hbEZpZWxkOgorICAgICAgICAgICAgY29tcGls
ZVB1dEludGVybmFsRmllbGQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdl
dEZyb21Bcmd1bWVudHM6CiAgICAgICAgICAgICBjb21waWxlR2V0RnJvbUFyZ3VtZW50cygpOwpA
QCAtNTkxMyw4ICs1OTEzLDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgICAgIHBy
b21pc2UgPSBhbGxvY2F0ZU9iamVjdDxKU0ludGVybmFsUHJvbWlzZT4obV9ub2RlLT5zdHJ1Y3R1
cmUoKSwgbV9vdXQuaW50UHRyWmVybywgc2xvd0Nhc2UpOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBwcm9taXNlID0gYWxsb2NhdGVPYmplY3Q8SlNQcm9taXNlPihtX25vZGUtPnN0cnVjdHVy
ZSgpLCBtX291dC5pbnRQdHJaZXJvLCBzbG93Q2FzZSk7Ci0gICAgICAgIG1fb3V0LnN0b3JlNjQo
bV9vdXQuY29uc3RJbnQ2NChKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTUHJvbWlzZTo6U3RhdHVzOjpQZW5kaW5nKSkpKSwgcHJvbWlzZSwgbV9oZWFwcy5K
U1Byb21pc2VfaW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6
RmllbGQ6OkZsYWdzKV0pOwotICAgICAgICBtX291dC5zdG9yZTY0KG1fb3V0LmNvbnN0SW50NjQo
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwgcHJvbWlzZSwgbV9oZWFwcy5KU1Byb21p
c2VfaW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6
OlJlYWN0aW9uc09yUmVzdWx0KV0pOworICAgICAgICBtX291dC5zdG9yZTY0KG1fb3V0LmNvbnN0
SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1By
b21pc2U6OlN0YXR1czo6UGVuZGluZykpKSksIHByb21pc2UsIG1faGVhcHMuSlNJbnRlcm5hbEZp
ZWxkT2JqZWN0SW1wbF9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNQcm9t
aXNlOjpGaWVsZDo6RmxhZ3MpXSk7CisgICAgICAgIG1fb3V0LnN0b3JlNjQobV9vdXQuY29uc3RJ
bnQ2NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBwcm9taXNlLCBtX2hlYXBzLkpT
SW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KV0pOwogICAgICAgICBtdXRh
dG9yRmVuY2UoKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFu
Y2hvcihwcm9taXNlKTsKICAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwpAQCAtNjMy
Myw4ICs2MzIzLDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgICAgIHByb21pc2Ug
PSBhbGxvY2F0ZU9iamVjdDxKU0ludGVybmFsUHJvbWlzZT4obV9vdXQucGhpKHBvaW50ZXJUeXBl
KCksIHByb21pc2VTdHJ1Y3R1cmUsIGRlcml2ZWRTdHJ1Y3R1cmUpLCBtX291dC5pbnRQdHJaZXJv
LCBzbG93Q2FzZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHByb21pc2UgPSBhbGxvY2F0
ZU9iamVjdDxKU1Byb21pc2U+KG1fb3V0LnBoaShwb2ludGVyVHlwZSgpLCBwcm9taXNlU3RydWN0
dXJlLCBkZXJpdmVkU3RydWN0dXJlKSwgbV9vdXQuaW50UHRyWmVybywgc2xvd0Nhc2UpOwotICAg
ICAgICBtX291dC5zdG9yZTY0KG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzTnVt
YmVyKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OlN0YXR1czo6UGVuZGluZykpKSks
IHByb21pc2UsIG1faGVhcHMuSlNQcm9taXNlX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVu
c2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpGbGFncyldKTsKLSAgICAgICAgbV9vdXQuc3RvcmU2
NChtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHByb21p
c2UsIG1faGVhcHMuSlNQcm9taXNlX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVk
PihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3VsdCldKTsKKyAgICAgICAgbV9vdXQu
c3RvcmU2NChtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc051bWJlcihzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNQcm9taXNlOjpTdGF0dXM6OlBlbmRpbmcpKSkpLCBwcm9taXNlLCBt
X2hlYXBzLkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTUHJvbWlzZTo6RmllbGQ6OkZsYWdzKV0pOworICAgICAgICBtX291dC5z
dG9yZTY0KG1fb3V0LmNvbnN0SW50NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwg
cHJvbWlzZSwgbV9oZWFwcy5KU0ludGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRz
W3N0YXRpY19jYXN0PHVuc2lnbmVkPihKU1Byb21pc2U6OkZpZWxkOjpSZWFjdGlvbnNPclJlc3Vs
dCldKTsKICAgICAgICAgbXV0YXRvckZlbmNlKCk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGZh
c3RSZXN1bHQgPSBtX291dC5hbmNob3IocHJvbWlzZSk7CiAgICAgICAgIG1fb3V0Lmp1bXAoY29u
dGludWF0aW9uKTsKQEAgLTc1MDQsMjAgKzc1MDQsMjAgQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsK
ICAgICAgICAgICAgIG1faGVhcHMuSlNMZXhpY2FsRW52aXJvbm1lbnRfdmFyaWFibGVzW21fbm9k
ZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKV0pOwogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBp
bGVHZXRQcm9taXNlSW50ZXJuYWxGaWVsZCgpCisgICAgdm9pZCBjb21waWxlR2V0SW50ZXJuYWxG
aWVsZCgpCiAgICAgewogICAgICAgICBzZXRKU1ZhbHVlKAogICAgICAgICAgICAgbV9vdXQubG9h
ZDY0KAogICAgICAgICAgICAgICAgIGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSksCi0gICAgICAg
ICAgICAgICAgbV9oZWFwcy5KU1Byb21pc2VfaW50ZXJuYWxGaWVsZHNbbV9ub2RlLT5pbnRlcm5h
bEZpZWxkSW5kZXgoKV0pKTsKKyAgICAgICAgICAgICAgICBtX2hlYXBzLkpTSW50ZXJuYWxGaWVs
ZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHNbbV9ub2RlLT5pbnRlcm5hbEZpZWxkSW5kZXgoKV0p
KTsKICAgICB9CiAKLSAgICB2b2lkIGNvbXBpbGVQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCgpCisg
ICAgdm9pZCBjb21waWxlUHV0SW50ZXJuYWxGaWVsZCgpCiAgICAgewogICAgICAgICBtX291dC5z
dG9yZTY0KAogICAgICAgICAgICAgbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKSwKICAgICAg
ICAgICAgIGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSksCi0gICAgICAgICAgICBtX2hlYXBzLkpT
UHJvbWlzZV9pbnRlcm5hbEZpZWxkc1ttX25vZGUtPmludGVybmFsRmllbGRJbmRleCgpXSk7Cisg
ICAgICAgICAgICBtX2hlYXBzLkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVs
ZHNbbV9ub2RlLT5pbnRlcm5hbEZpZWxkSW5kZXgoKV0pOwogICAgIH0KIAogICAgIHZvaWQgY29t
cGlsZUdldEZyb21Bcmd1bWVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IGI5
OWRkZGY4ZDlhZGNjYjQyZDg3MTM5YWJlNDE5NjMzNjI4NzFlYzkuLjM2ZGU1M2EwYmMzYTcyZjU1
NThkMTllZGE2NDc2YWYwNDk0NmVjNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAg
LTQyNCw4ICs0MjQsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAg
ICAgIERFRklORV9PUChvcF9wdXRfZ2V0dGVyX2J5X3ZhbCkKICAgICAgICAgREVGSU5FX09QKG9w
X3B1dF9zZXR0ZXJfYnlfdmFsKQogCi0gICAgICAgIERFRklORV9PUChvcF9nZXRfcHJvbWlzZV9p
bnRlcm5hbF9maWVsZCkKLSAgICAgICAgREVGSU5FX09QKG9wX3B1dF9wcm9taXNlX2ludGVybmFs
X2ZpZWxkKQorICAgICAgICBERUZJTkVfT1Aob3BfZ2V0X2ludGVybmFsX2ZpZWxkKQorICAgICAg
ICBERUZJTkVfT1Aob3BfcHV0X2ludGVybmFsX2ZpZWxkKQogCiAgICAgICAgIERFRklORV9PUChv
cF9yZXQpCiAgICAgICAgIERFRklORV9PUChvcF9yc2hpZnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
aAppbmRleCAyMDE4NjM4MGEwYWZhYTY4Njk5Y2IyY2M4ODYzOWZiODgyNmQ3NmY1Li40MjdlOWFl
ZGY1OTg2YTQ2ZGQxZmJkNDVhZjA1MmVkYjI3OTM1NTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKQEAgLTYzNiw4ICs2MzYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0
X29wX2dldF9kaXJlY3RfcG5hbWUoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX2VudW1lcmF0b3Jfc3RydWN0dXJlX3BuYW1lKGNvbnN0IEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9lbnVtZXJhdG9yX2dlbmVyaWNfcG5hbWUoY29uc3QgSW5zdHJ1
Y3Rpb24qKTsKLSAgICAgICAgdm9pZCBlbWl0X29wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxk
KGNvbnN0IEluc3RydWN0aW9uKik7Ci0gICAgICAgIHZvaWQgZW1pdF9vcF9wdXRfcHJvbWlzZV9p
bnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3Bf
Z2V0X2ludGVybmFsX2ZpZWxkKGNvbnN0IEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1p
dF9vcF9wdXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9p
ZCBlbWl0X29wX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZShjb25zdCBJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWwoY29uc3QgSW5z
dHJ1Y3Rpb24qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcAppbmRleCA2YTgwNjQxZjU4MmFjOGVjNTkyNjFjMWNhZjk3NjVlYjEyM2VjNmUx
Li40MDc1OGU3ZjMwYWNjNGQ3MjgyZWI4NTM1Y2I0ZDMxYmM4YzBlNzQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMTIzNiw5ICsx
MjM2LDkgQEAgdm9pZCBKSVQ6OmVtaXRXcml0ZUJhcnJpZXIoSlNDZWxsKiBvd25lciwgdW5zaWdu
ZWQgdmFsdWUsIFdyaXRlQmFycmllck1vZGUgbW9kZSkKICAgICAgICAgdmFsdWVOb3RDZWxsLmxp
bmsodGhpcyk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX2dldF9wcm9taXNlX2ludGVybmFsX2Zp
ZWxkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1p
dF9vcF9nZXRfaW50ZXJuYWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKIHsKLSAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcEdl
dFByb21pc2VJbnRlcm5hbEZpZWxkPigpOworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5z
dHJ1Y3Rpb24tPmFzPE9wR2V0SW50ZXJuYWxGaWVsZD4oKTsKICAgICBhdXRvJiBtZXRhZGF0YSA9
IGJ5dGVjb2RlLm1ldGFkYXRhKG1fY29kZUJsb2NrKTsKICAgICBpbnQgZHN0ID0gYnl0ZWNvZGUu
bV9kc3Qub2Zmc2V0KCk7CiAgICAgaW50IGJhc2UgPSBieXRlY29kZS5tX2Jhc2Uub2Zmc2V0KCk7
CkBAIC0xMjQ2LDE1ICsxMjQ2LDE1IEBAIHZvaWQgSklUOjplbWl0X29wX2dldF9wcm9taXNlX2lu
dGVybmFsX2ZpZWxkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3RpCiAgICAgQVNT
RVJUKGluZGV4IDwgSlNQcm9taXNlOjpudW1iZXJPZkludGVybmFsRmllbGRzKTsKIAogICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYmFzZSwgcmVnVDEpOwotICAgIGxvYWRQdHIoQWRkcmVzcyhy
ZWdUMSwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpKSwgcmVnVDApOwor
ICAgIGxvYWRQdHIoQWRkcmVzcyhyZWdUMSwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+Ojpv
ZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpKSwgcmVnVDApOwogCiAgICAgZW1pdFZhbHVlUHJv
ZmlsaW5nU2l0ZShtZXRhZGF0YSk7CiAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihkc3QpOwog
fQogCi12b2lkIEpJVDo6ZW1pdF9vcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZChjb25zdCBJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQordm9pZCBKSVQ6OmVtaXRfb3BfcHV0X2lu
dGVybmFsX2ZpZWxkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7Ci0g
ICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BQdXRQcm9taXNlSW50
ZXJuYWxGaWVsZD4oKTsKKyAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5h
czxPcFB1dEludGVybmFsRmllbGQ+KCk7CiAgICAgaW50IGJhc2UgPSBieXRlY29kZS5tX2Jhc2Uu
b2Zmc2V0KCk7CiAgICAgaW50IHZhbHVlID0gYnl0ZWNvZGUubV92YWx1ZS5vZmZzZXQoKTsKICAg
ICB1bnNpZ25lZCBpbmRleCA9IGJ5dGVjb2RlLm1faW5kZXg7CkBAIC0xMjYyLDcgKzEyNjIsNyBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aQogCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihi
YXNlLCByZWdUMCk7CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcih2YWx1ZSwgcmVnVDEpOwot
ICAgIHN0b3JlUHRyKHJlZ1QxLCBBZGRyZXNzKHJlZ1QwLCBKU1Byb21pc2U6Om9mZnNldE9mSW50
ZXJuYWxGaWVsZChpbmRleCkpKTsKKyAgICBzdG9yZVB0cihyZWdUMSwgQWRkcmVzcyhyZWdUMCwg
SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgp
KSk7CiAgICAgZW1pdFdyaXRlQmFycmllcihiYXNlLCB2YWx1ZSwgU2hvdWxkRmlsdGVyVmFsdWUp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFj
Y2VzczMyXzY0LmNwcAppbmRleCBiZmY4YjllMTljOGMzOWUwNmI5ZGZmOGEyNTY5OGUxOTM3MGQy
MDQ3Li41MjEzNDMxMzgxYWU3MjM3NzYxYmExNzM4MzcwODQwZGI2YTEwNzIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAK
QEAgLTEyMDMsOSArMTIwMyw5IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF90b19hcmd1bWVudHMo
Y29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBzdG9yZTMyKHJlZ1Qy
LCBBZGRyZXNzKHJlZ1QwLCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VPZmZzZXQoKSArIGluZGV4
ICogc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPikgKyBQYXlsb2FkT2Zmc2V0KSk7CiB9CiAK
LXZvaWQgSklUOjplbWl0X29wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNvbnN0IEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfaW50ZXJu
YWxfZmllbGQoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKLSAgICBh
dXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxPcEdldFByb21pc2VJbnRlcm5h
bEZpZWxkPigpOworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9w
R2V0SW50ZXJuYWxGaWVsZD4oKTsKICAgICBhdXRvJiBtZXRhZGF0YSA9IGJ5dGVjb2RlLm1ldGFk
YXRhKG1fY29kZUJsb2NrKTsKICAgICBpbnQgZHN0ID0gYnl0ZWNvZGUubV9kc3Qub2Zmc2V0KCk7
CiAgICAgaW50IGJhc2UgPSBieXRlY29kZS5tX2Jhc2Uub2Zmc2V0KCk7CkBAIC0xMjEzLDE1ICsx
MjEzLDE1IEBAIHZvaWQgSklUOjplbWl0X29wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxkKGNv
bnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3RpCiAgICAgQVNTRVJUKGluZGV4IDwgSlNQ
cm9taXNlOjpudW1iZXJPZkludGVybmFsRmllbGRzKTsKIAogICAgIGVtaXRMb2FkUGF5bG9hZChi
YXNlLCByZWdUMik7Ci0gICAgbG9hZDMyKEFkZHJlc3MocmVnVDIsIEpTUHJvbWlzZTo6b2Zmc2V0
T2ZJbnRlcm5hbEZpZWxkKGluZGV4KSArIFRhZ09mZnNldCksIHJlZ1QxKTsKLSAgICBsb2FkMzIo
QWRkcmVzcyhyZWdUMiwgSlNQcm9taXNlOjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpICsg
UGF5bG9hZE9mZnNldCksIHJlZ1QwKTsKKyAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMiwgSlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpICsgVGFn
T2Zmc2V0KSwgcmVnVDEpOworICAgIGxvYWQzMihBZGRyZXNzKHJlZ1QyLCBKU0ludGVybmFsRmll
bGRPYmplY3RJbXBsPD46Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkgKyBQYXlsb2FkT2Zm
c2V0KSwgcmVnVDApOwogICAgIGVtaXRWYWx1ZVByb2ZpbGluZ1NpdGUoYnl0ZWNvZGUubWV0YWRh
dGEobV9jb2RlQmxvY2spKTsKICAgICBlbWl0U3RvcmUoZHN0LCByZWdUMSwgcmVnVDApOwogfQog
Ci12b2lkIEpJVDo6ZW1pdF9vcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQordm9pZCBKSVQ6OmVtaXRfb3BfcHV0X2ludGVy
bmFsX2ZpZWxkKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7Ci0gICAg
YXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BQdXRQcm9taXNlSW50ZXJu
YWxGaWVsZD4oKTsKKyAgICBhdXRvIGJ5dGVjb2RlID0gY3VycmVudEluc3RydWN0aW9uLT5hczxP
cFB1dEludGVybmFsRmllbGQ+KCk7CiAgICAgaW50IGJhc2UgPSBieXRlY29kZS5tX2Jhc2Uub2Zm
c2V0KCk7CiAgICAgaW50IHZhbHVlID0gYnl0ZWNvZGUubV92YWx1ZS5vZmZzZXQoKTsKICAgICB1
bnNpZ25lZCBpbmRleCA9IGJ5dGVjb2RlLm1faW5kZXg7CkBAIC0xMjI5LDggKzEyMjksOCBAQCB2
b2lkIEpJVDo6ZW1pdF9vcF9wdXRfcHJvbWlzZV9pbnRlcm5hbF9maWVsZChjb25zdCBJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aQogCiAgICAgZW1pdExvYWRQYXlsb2FkKGJhc2UsIHJlZ1Qw
KTsKICAgICBlbWl0TG9hZCh2YWx1ZSwgcmVnVDEsIHJlZ1QyKTsKLSAgICBzdG9yZTMyKHJlZ1Qx
LCBBZGRyZXNzKHJlZ1QwLCBKU1Byb21pc2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkg
KyBUYWdPZmZzZXQpKTsKLSAgICBzdG9yZTMyKHJlZ1QyLCBBZGRyZXNzKHJlZ1QwLCBKU1Byb21p
c2U6Om9mZnNldE9mSW50ZXJuYWxGaWVsZChpbmRleCkgKyBQYXlsb2FkT2Zmc2V0KSk7CisgICAg
c3RvcmUzMihyZWdUMSwgQWRkcmVzcyhyZWdUMCwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+
OjpvZmZzZXRPZkludGVybmFsRmllbGQoaW5kZXgpICsgVGFnT2Zmc2V0KSk7CisgICAgc3RvcmUz
MihyZWdUMiwgQWRkcmVzcyhyZWdUMCwgSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDw+OjpvZmZz
ZXRPZkludGVybmFsRmllbGQoaW5kZXgpICsgUGF5bG9hZE9mZnNldCkpOwogICAgIGVtaXRXcml0
ZUJhcnJpZXIoYmFzZSwgdmFsdWUsIFNob3VsZEZpbHRlclZhbHVlKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2Zmc2V0c0V4dHJhY3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcApp
bmRleCBiMTg1Y2U5MzhiMGVmOTFlZjBlYzUzMzA2NjYyMWE1NjliOGU4ZTEzLi5hMjVmOTg0YWJk
YWM3YzQ3MTYyYzUwNmQ5NDE3ZDc1MDkzODcyZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcApAQCAtNDUsNiArNDUs
NyBAQAogI2luY2x1ZGUgIkpTQ2FzdC5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNs
dWRlICJKU0dsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxGaWVsZE9iamVjdElt
cGwuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTW9k
dWxlUmVjb3JkLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTc2LDYgKzc3LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3IgewogICAgIC8vIFRoZXNl
IHR5cGVzIGFyZSB1c2VmdWwgc2luY2Ugd2UgY2FuJ3QgdXNlICc8Li4uPicgc3ludGF4IGluIExM
SW50IG9mZnNldHMgZXh0cmFjdGlvbi4gZS5nLiBWZWN0b3I8aW50Pjo6bV9kYXRhCiAgICAgdXNp
bmcgVmVjdG9yID0gV1RGOjpWZWN0b3I8aW50PjsKKyAgICB1c2luZyBKU0ludGVybmFsRmllbGRP
YmplY3RJbXBsID0gSlNDOjpKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPD47CiAgICAgdXNpbmcg
UmVmQ291bnRlZEFycmF5ID0gV1RGOjpSZWZDb3VudGVkQXJyYXk8aW50PjsKIAogcHVibGljOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtCmluZGV4IGFjZDdlNGMyY2M2MThjNDQ3MmM2MjQyOGM2YTExN2U0MmY4ODc2MzMuLjc0M2Uy
YWIxYmU5MWNkZWIyZmM1YTlhNmI4YjU5Yjc3N2JmZDMxODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTE2NSw2ICsx
NjUsNyBAQCBlbmQKIAogY29uc3QgSlNMZXhpY2FsRW52aXJvbm1lbnRfdmFyaWFibGVzID0gKHNp
emVvZiBKU0xleGljYWxFbnZpcm9ubWVudCArIFNsb3RTaXplIC0gMSkgJiB+KFNsb3RTaXplIC0g
MSkKIGNvbnN0IERpcmVjdEFyZ3VtZW50c19zdG9yYWdlID0gKHNpemVvZiBEaXJlY3RBcmd1bWVu
dHMgKyBTbG90U2l6ZSAtIDEpICYgfihTbG90U2l6ZSAtIDEpCitjb25zdCBKU0ludGVybmFsRmll
bGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzID0gSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbDo6
bV9pbnRlcm5hbEZpZWxkcwogCiBjb25zdCBTdGFja0FsaWdubWVudCA9IGNvbnN0ZXhwciAoc3Rh
Y2tBbGlnbm1lbnRCeXRlcygpKQogY29uc3QgU3RhY2tBbGlnbm1lbnRTbG90cyA9IGNvbnN0ZXhw
ciAoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggMTViMTJk
NGUzN2E5M2E0MWI2NzczYjU4Mjg4ZGZkMDQ1YTM1ZTZkZi4uNjVmOTI0ZmJkNTA1NDgzZjIwMmUx
MmY5YzQ1ZTQzNmViYzI0Y2M4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTI1MjEsMjMgKzI1MjEs
MjMgQEAgbGxpbnRPcFdpdGhSZXR1cm4ob3BfZ2V0X3Jlc3RfbGVuZ3RoLCBPcEdldFJlc3RMZW5n
dGgsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGMKIGVuZCkKIAogCi1sbGludE9wV2l0aFByb2Zp
bGUob3BfZ2V0X3Byb21pc2VfaW50ZXJuYWxfZmllbGQsIE9wR2V0UHJvbWlzZUludGVybmFsRmll
bGQsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCitsbGludE9wV2l0aFByb2Zp
bGUob3BfZ2V0X2ludGVybmFsX2ZpZWxkLCBPcEdldEludGVybmFsRmllbGQsIG1hY3JvIChzaXpl
LCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCiAgICAgZ2V0KG1fYmFzZSwgdDApCiAgICAgbG9hZGkg
UGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKLSAgICBnZXR1KHNpemUsIE9wR2V0UHJvbWlz
ZUludGVybmFsRmllbGQsIG1faW5kZXgsIHQxKQotICAgIGxvYWRpIEpTUHJvbWlzZTo6bV9pbnRl
cm5hbEZpZWxkcyArIFRhZ09mZnNldFt0MCwgdDEsIFNsb3RTaXplXSwgdDIKLSAgICBsb2FkaSBK
U1Byb21pc2U6Om1faW50ZXJuYWxGaWVsZHMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgU2xvdFNp
emVdLCB0MworICAgIGdldHUoc2l6ZSwgT3BHZXRJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0MSkK
KyAgICBsb2FkaSBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzICsgVGFn
T2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVdLCB0MgorICAgIGxvYWRpIEpTSW50ZXJuYWxGaWVsZE9i
amVjdEltcGxfaW50ZXJuYWxGaWVsZHMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVd
LCB0MwogICAgIHJldHVybih0MiwgdDMpCiBlbmQpCiAKLWxsaW50T3Aob3BfcHV0X3Byb21pc2Vf
aW50ZXJuYWxfZmllbGQsIE9wUHV0UHJvbWlzZUludGVybmFsRmllbGQsIG1hY3JvIChzaXplLCBn
ZXQsIGRpc3BhdGNoKQorbGxpbnRPcChvcF9wdXRfaW50ZXJuYWxfZmllbGQsIE9wUHV0SW50ZXJu
YWxGaWVsZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gpCiAgICAgZ2V0KG1fYmFzZSwgdDAp
CiAgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKICAgICBnZXQobV92YWx1
ZSwgdDEpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MSwgdDIsIHQzKQotICAg
IGdldHUoc2l6ZSwgT3BQdXRQcm9taXNlSW50ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCi0gICAg
c3RvcmVpIHQyLCBKU1Byb21pc2U6Om1faW50ZXJuYWxGaWVsZHMgKyBUYWdPZmZzZXRbdDAsIHQx
LCBTbG90U2l6ZV0KLSAgICBzdG9yZWkgdDMsIEpTUHJvbWlzZTo6bV9pbnRlcm5hbEZpZWxkcyAr
IFBheWxvYWRPZmZzZXRbdDAsIHQxLCBTbG90U2l6ZV0KKyAgICBnZXR1KHNpemUsIE9wUHV0SW50
ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCisgICAgc3RvcmVpIHQyLCBKU0ludGVybmFsRmllbGRP
YmplY3RJbXBsX2ludGVybmFsRmllbGRzICsgVGFnT2Zmc2V0W3QwLCB0MSwgU2xvdFNpemVdCisg
ICAgc3RvcmVpIHQzLCBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsX2ludGVybmFsRmllbGRzICsg
UGF5bG9hZE9mZnNldFt0MCwgdDEsIFNsb3RTaXplXQogICAgIHdyaXRlQmFycmllck9uT3BlcmFu
ZChzaXplLCBnZXQsIG1fYmFzZSkKICAgICBkaXNwYXRjaCgpCiBlbmQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCmluZGV4
IDcyZDRkY2VmNDEyZWUxNDQzOTJmOTI4NDAzNjYwNzAxYTkyOWU5OWEuLjhkNzFjZWRhZmJhZDE1
NWQ2N2UwOGNkZWY3NzA4Y2E0NGY0MzA1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCkBAIC0yNTg2LDE5ICsyNTg2
LDE5IEBAIGxsaW50T3BXaXRoUmV0dXJuKG9wX2dldF9yZXN0X2xlbmd0aCwgT3BHZXRSZXN0TGVu
Z3RoLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjCiBlbmQpCiAKIAotbGxpbnRPcFdpdGhQcm9m
aWxlKG9wX2dldF9wcm9taXNlX2ludGVybmFsX2ZpZWxkLCBPcEdldFByb21pc2VJbnRlcm5hbEZp
ZWxkLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgcmV0dXJuKQorbGxpbnRPcFdpdGhQcm9m
aWxlKG9wX2dldF9pbnRlcm5hbF9maWVsZCwgT3BHZXRJbnRlcm5hbEZpZWxkLCBtYWNybyAoc2l6
ZSwgZ2V0LCBkaXNwYXRjaCwgcmV0dXJuKQogICAgIGxvYWRWYXJpYWJsZShnZXQsIG1fYmFzZSwg
dDEpCi0gICAgZ2V0dShzaXplLCBPcEdldFByb21pc2VJbnRlcm5hbEZpZWxkLCBtX2luZGV4LCB0
MikKLSAgICBsb2FkcSBKU1Byb21pc2U6Om1faW50ZXJuYWxGaWVsZHNbdDEsIHQyLCBTbG90U2l6
ZV0sIHQwCisgICAgZ2V0dShzaXplLCBPcEdldEludGVybmFsRmllbGQsIG1faW5kZXgsIHQyKQor
ICAgIGxvYWRxIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxfaW50ZXJuYWxGaWVsZHNbdDEsIHQy
LCBTbG90U2l6ZV0sIHQwCiAgICAgcmV0dXJuKHQwKQogZW5kKQogCi1sbGludE9wKG9wX3B1dF9w
cm9taXNlX2ludGVybmFsX2ZpZWxkLCBPcFB1dFByb21pc2VJbnRlcm5hbEZpZWxkLCBtYWNybyAo
c2l6ZSwgZ2V0LCBkaXNwYXRjaCkKK2xsaW50T3Aob3BfcHV0X2ludGVybmFsX2ZpZWxkLCBPcFB1
dEludGVybmFsRmllbGQsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoKQogICAgIGxvYWRWYXJp
YWJsZShnZXQsIG1fYmFzZSwgdDApCiAgICAgZ2V0KG1fdmFsdWUsIHQxKQogICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGUoc2l6ZSwgdDEsIHQyKQotICAgIGdldHUoc2l6ZSwgT3BQdXRQcm9taXNl
SW50ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCi0gICAgc3RvcmVxIHQyLCBKU1Byb21pc2U6Om1f
aW50ZXJuYWxGaWVsZHNbdDAsIHQxLCBTbG90U2l6ZV0KKyAgICBnZXR1KHNpemUsIE9wUHV0SW50
ZXJuYWxGaWVsZCwgbV9pbmRleCwgdDEpCisgICAgc3RvcmVxIHQyLCBKU0ludGVybmFsRmllbGRP
YmplY3RJbXBsX2ludGVybmFsRmllbGRzW3QwLCB0MSwgU2xvdFNpemVdCiAgICAgd3JpdGVCYXJy
aWVyT25DZWxsQW5kVmFsdWVXaXRoUmVsb2FkKHQwLCB0MiwgbWFjcm8oKSBlbmQpCiAgICAgZGlz
cGF0Y2goKQogZW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0OGQxZGZjODkyMWI5
MjMxM2EzMmQ1YmIzMDk4NzU3NGMxZmI3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsLmgKQEAgLTAsMCAr
MSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKKy8vIFRoaXMgaXMgdXNlZCBmb3Igc2hhcmluZyBpbnRl
cmZhY2UgYW5kIGltcGxlbWVudGF0aW9uLiBJdCBzaG91bGQgbm90IGhhdmUgaXRzIG93biBjbGFz
c0luZm8uCit0ZW1wbGF0ZTx1bnNpZ25lZCBwYXNzZWROdW1iZXJPZkludGVybmFsRmllbGRzID0g
MT4KK2NsYXNzIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwgOiBwdWJsaWMgSlNOb25GaW5hbE9i
amVjdCB7CitwdWJsaWM6CisgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsK
KworICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OworICAgIHN0YXRpYyBjb25zdGV4
cHIgdW5zaWduZWQgbnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyA9IHBhc3NlZE51bWJlck9mSW50ZXJu
YWxGaWVsZHM7CisKKyAgICBzdGF0aWMgc2l6ZV90IGFsbG9jYXRpb25TaXplKENoZWNrZWQ8c2l6
ZV90PiBpbmxpbmVDYXBhY2l0eSkKKyAgICB7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoaW5saW5l
Q2FwYWNpdHksICFpbmxpbmVDYXBhY2l0eSk7CisgICAgICAgIHJldHVybiBzaXplb2YoSlNJbnRl
cm5hbEZpZWxkT2JqZWN0SW1wbCk7CisgICAgfQorCisgICAgY29uc3QgV3JpdGVCYXJyaWVyPFVu
a25vd24+JiBpbnRlcm5hbEZpZWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdAorICAgIHsKKyAgICAg
ICAgQVNTRVJUKGluZGV4IDwgbnVtYmVyT2ZJbnRlcm5hbEZpZWxkcyk7CisgICAgICAgIHJldHVy
biBtX2ludGVybmFsRmllbGRzW2luZGV4XTsKKyAgICB9CisKKyAgICBXcml0ZUJhcnJpZXI8VW5r
bm93bj4mIGludGVybmFsRmllbGQodW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBBU1NF
UlQoaW5kZXggPCBudW1iZXJPZkludGVybmFsRmllbGRzKTsKKyAgICAgICAgcmV0dXJuIG1faW50
ZXJuYWxGaWVsZHNbaW5kZXhdOworICAgIH0KKworICAgIHN0YXRpYyBwdHJkaWZmX3Qgb2Zmc2V0
T2ZJbnRlcm5hbEZpZWxkcygpIHsgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0ludGVybmFsRmll
bGRPYmplY3RJbXBsLCBtX2ludGVybmFsRmllbGRzKTsgfQorICAgIHN0YXRpYyBwdHJkaWZmX3Qg
b2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBPQkpFQ1RfT0ZG
U0VUT0YoSlNJbnRlcm5hbEZpZWxkT2JqZWN0SW1wbCwgbV9pbnRlcm5hbEZpZWxkcykgKyBpbmRl
eCAqIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOyB9CisKK3Byb3RlY3RlZDoKKyAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisKKyAgICBK
U0ludGVybmFsRmllbGRPYmplY3RJbXBsKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisg
ICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIHsKKyAgICB9CisKKyAgICBXcml0ZUJh
cnJpZXI8VW5rbm93bj4gbV9pbnRlcm5hbEZpZWxkc1tudW1iZXJPZkludGVybmFsRmllbGRzXSB7
IH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTSW50ZXJuYWxGaWVsZE9iamVjdEltcGxJbmxpbmVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ludGVybmFsRmllbGRPYmplY3RJbXBsSW5saW5l
cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhmMDNjOGE2ZGIxYmQ1NzUwZTY4NTk4ZTIxYzlhZTFiMzEzYzg1ZTEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ludGVy
bmFsRmllbGRPYmplY3RJbXBsSW5saW5lcy5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGwuaCIK
KworbmFtZXNwYWNlIEpTQyB7CisKK3RlbXBsYXRlPHVuc2lnbmVkIHBhc3NlZE51bWJlck9mSW50
ZXJuYWxGaWVsZHM+Cit2b2lkIEpTSW50ZXJuYWxGaWVsZE9iamVjdEltcGw8cGFzc2VkTnVtYmVy
T2ZJbnRlcm5hbEZpZWxkcz46OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKK3sKKyAgICBhdXRvKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTSW50ZXJuYWxG
aWVsZE9iamVjdEltcGwqPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRo
aXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2
aXNpdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZFZhbHVlcyh0aGlzT2JqZWN0LT5tX2ludGVybmFs
RmllbGRzLCBudW1iZXJPZkludGVybmFsRmllbGRzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb21pc2UuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9taXNlLmNwcAppbmRleCAzYjk3
MGE2OTAwYzQ1NzBkOWY1Yzg1ZWIxZTcxZTBkODVkYjA4MmNhLi4zOTljOTM2MDZiZmNiNzVmNWYz
MjZiYWYzMmFmMmVjNzg4ZjQ0NmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTUHJvbWlzZS5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJCdWlsdGluTmFtZXMu
aCIKICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRl
ICJKU0ludGVybmFsRmllbGRPYmplY3RJbXBsSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTUHJvbWlz
ZUNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiTWljcm90YXNrLmgiCiAKQEAgLTU2LDggKzU3LDgg
QEAgSlNQcm9taXNlOjpKU1Byb21pc2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHZv
aWQgSlNQcm9taXNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiB7CiAgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0pOwotICAgIG1faW50ZXJuYWxGaWVsZHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEZpZWxkOjpGbGFncyldLnNldCh2bSwgdGhpcywganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFN0YXR1czo6UGVuZGluZykpKTsKLSAgICBtX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0
PHVuc2lnbmVkPihGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpXS5zZXQodm0sIHRoaXMsIGpzVW5k
ZWZpbmVkKCkpOworICAgIGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxk
OjpGbGFncykpLnNldCh2bSwgdGhpcywganNOdW1iZXIoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFN0
YXR1czo6UGVuZGluZykpKTsKKyAgICBpbnRlcm5hbEZpZWxkKHN0YXRpY19jYXN0PHVuc2lnbmVk
PihGaWVsZDo6UmVhY3Rpb25zT3JSZXN1bHQpKS5zZXQodm0sIHRoaXMsIGpzVW5kZWZpbmVkKCkp
OwogfQogCiB2b2lkIEpTUHJvbWlzZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQpAQCAtNjUsMTIgKzY2LDExIEBAIHZvaWQgSlNQcm9taXNlOjp2aXNp
dENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgYXV0byog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU1Byb21pc2UqPihjZWxsKTsKICAgICBBU1NFUlRfR0NfT0JK
RUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CiAgICAgQmFzZTo6dmlzaXRDaGlsZHJl
bih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKLSAgICB2aXNpdG9yLmFwcGVuZFZhbHVlcyh0aGlzT2Jq
ZWN0LT5tX2ludGVybmFsRmllbGRzLCBudW1iZXJPZkludGVybmFsRmllbGRzKTsKIH0KIAogYXV0
byBKU1Byb21pc2U6OnN0YXR1cyhWTSYpIGNvbnN0IC0+IFN0YXR1cwogewotICAgIEpTVmFsdWUg
dmFsdWUgPSBtX2ludGVybmFsRmllbGRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihGaWVsZDo6Rmxh
Z3MpXS5nZXQoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gaW50ZXJuYWxGaWVsZChzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oRmllbGQ6OkZsYWdzKSkuZ2V0KCk7CiAgICAgdWludDMyX3QgZmxhZ3MgPSB2
YWx1ZS5hc1VJbnQzMkFzQW55SW50KCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0YXR1cz4o
ZmxhZ3MgJiBzdGF0ZU1hc2spOwogfQpAQCAtODAsMTIgKzgwLDEyIEBAIEpTVmFsdWUgSlNQcm9t
aXNlOjpyZXN1bHQoVk0mIHZtKSBjb25zdAogICAgIFN0YXR1cyBzdGF0dXMgPSB0aGlzLT5zdGF0
dXModm0pOwogICAgIGlmIChzdGF0dXMgPT0gU3RhdHVzOjpQZW5kaW5nKQogICAgICAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKLSAgICByZXR1cm4gbV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oRmllbGQ6OlJlYWN0aW9uc09yUmVzdWx0KV0uZ2V0KCk7CisgICAgcmV0dXJu
IGludGVybmFsRmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpSZWFjdGlvbnNPclJl
c3VsdCkpLmdldCgpOwogfQogCiBib29sIEpTUHJvbWlzZTo6aXNIYW5kbGVkKFZNJikgY29uc3QK
IHsKLSAgICBKU1ZhbHVlIHZhbHVlID0gbV9pbnRlcm5hbEZpZWxkc1tzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oRmllbGQ6OkZsYWdzKV0uZ2V0KCk7CisgICAgSlNWYWx1ZSB2YWx1ZSA9IGludGVybmFs
RmllbGQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZpZWxkOjpGbGFncykpLmdldCgpOwogICAgIHVp
bnQzMl90IGZsYWdzID0gdmFsdWUuYXNVSW50MzJBc0FueUludCgpOwogICAgIHJldHVybiBmbGFn
cyAmIGlzSGFuZGxlZEZsYWc7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb21pc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
bWlzZS5oCmluZGV4IGQ2ZDY1NmViZGZkMWNhMTE0YjFlNDY2MDViZDU1MjliNmYwODhkMzguLjBj
ZjE5NzQ5MGMxMmZmYjIzM2ZlYTJkYmIyYmZkYzYxNTM4YjA2NjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJvbWlzZS5oCkBAIC0yNSwyMCArMjUsMTMgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxGaWVs
ZE9iamVjdEltcGwuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTUHJvbWlzZSA6IHB1
YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKK2NsYXNzIEpTUHJvbWlzZSA6IHB1YmxpYyBKU0ludGVy
bmFsRmllbGRPYmplY3RJbXBsPDI+IHsKIHB1YmxpYzoKLSAgICBmcmllbmQgY2xhc3MgTExJbnRP
ZmZzZXRzRXh0cmFjdG9yOwotICAgIHVzaW5nIEJhc2UgPSBKU05vbkZpbmFsT2JqZWN0OwotCi0g
ICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShDaGVja2VkPHNpemVfdD4gaW5saW5lQ2Fw
YWNpdHkpCi0gICAgewotICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNhcGFjaXR5LCAhaW5s
aW5lQ2FwYWNpdHkpOwotICAgICAgICByZXR1cm4gc2l6ZW9mKEpTUHJvbWlzZSk7Ci0gICAgfQor
ICAgIHVzaW5nIEJhc2UgPSBKU0ludGVybmFsRmllbGRPYmplY3RJbXBsPDI+OwogCiAgICAgc3Rh
dGljIEpTUHJvbWlzZSogY3JlYXRlKFZNJiwgU3RydWN0dXJlKik7CiAgICAgc3RhdGljIFN0cnVj
dHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKQEAg
LTU4LDcgKzUxLDcgQEAgY2xhc3MgSlNQcm9taXNlIDogcHVibGljIEpTTm9uRmluYWxPYmplY3Qg
ewogICAgICAgICBGbGFncyA9IDAsCiAgICAgICAgIFJlYWN0aW9uc09yUmVzdWx0ID0gMSwKICAg
ICB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZJbnRlcm5hbEZpZWxk
cyA9IDI7CisgICAgc3RhdGljX2Fzc2VydChudW1iZXJPZkludGVybmFsRmllbGRzID09IDIpOwog
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RhdHVzIHN0YXR1cyhWTSYpIGNvbnN0OwogICAgIEpT
X0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgcmVzdWx0KFZNJikgY29uc3Q7CkBAIC02OCwxNCArNjEs
OSBAQCBjbGFzcyBKU1Byb21pc2UgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKLSAgICBz
dGF0aWMgcHRyZGlmZl90IG9mZnNldE9mSW50ZXJuYWxGaWVsZHMoKSB7IHJldHVybiBPQkpFQ1Rf
T0ZGU0VUT0YoSlNQcm9taXNlLCBtX2ludGVybmFsRmllbGRzKTsgfQotICAgIHN0YXRpYyBwdHJk
aWZmX3Qgb2Zmc2V0T2ZJbnRlcm5hbEZpZWxkKHVuc2lnbmVkIGluZGV4KSB7IHJldHVybiBPQkpF
Q1RfT0ZGU0VUT0YoSlNQcm9taXNlLCBtX2ludGVybmFsRmllbGRzKSArIGluZGV4ICogc2l6ZW9m
KFdyaXRlQmFycmllcjxVbmtub3duPik7IH0KLQogcHJvdGVjdGVkOgogICAgIEpTUHJvbWlzZShW
TSYsIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKLQotICAgIFdy
aXRlQmFycmllcjxVbmtub3duPiBtX2ludGVybmFsRmllbGRzW251bWJlck9mSW50ZXJuYWxGaWVs
ZHNdIHsgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwo=
</data>
<flag name="review"
          id="393774"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
      

    </bug>

</bugzilla>