<?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>190800</bug_id>
          
          <creation_ts>2018-10-22 11:52:08 -0700</creation_ts>
          <short_desc>[JSC] Implement BigInt64Array and BigUint64Array</short_desc>
          <delta_ts>2021-02-01 12:57:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>179001</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Lima">ticaiolima</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>annulen</cc>
    
    <cc>chi187</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hao.x.li</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>johann.hemmann</cc>
    
    <cc>keith_miller</cc>
    
    <cc>lars.sonchocky-helldorf</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>puurtuur</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sarah</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1471283</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2018-10-22 11:52:08 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649144</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-05 03:46:26 -0700</bug_when>
    <thetext>Because we need to view contiguous int64_t* / uint64_t* memory region via this view, the storage should be just byte sequence. And [] access should wrap the result with JSBigInt when it is accessed from JS world.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653165</commentid>
    <comment_count>2</comment_count>
    <who name="">lars.sonchocky-helldorf</who>
    <bug_when>2020-05-15 13:56:53 -0700</bug_when>
    <thetext>This would be nice to have for that: https://github.com/takahirox/riscv-rust/issues/115</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663805</commentid>
    <comment_count>3</comment_count>
    <who name="Hao Li">hao.x.li</who>
    <bug_when>2020-06-17 22:47:59 -0700</bug_when>
    <thetext>We also have the requirement for BigUint64Array in WebGPU: https://github.com/gpuweb/gpuweb/issues/866</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1664336</commentid>
    <comment_count>4</comment_count>
    <who name="">johann.hemmann</who>
    <bug_when>2020-06-19 06:57:25 -0700</bug_when>
    <thetext>Generally it would be helpful for all projects using wasm_bindgen (https://github.com/rustwasm/wasm-bindgen), so also for the jsapi of the rav1e (https://github.com/xiph/rav1e/tree/master/rav1e_js).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711961</commentid>
    <comment_count>5</comment_count>
    <who name="Slim Lim">sarah</who>
    <bug_when>2020-12-03 23:40:38 -0800</bug_when>
    <thetext>Echoing the previous comment, lack of BigUint64Array support means that applications using wasm-bindgen cannot run at all in Safari. This is especially problematic for targeting the iPad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724018</commentid>
    <comment_count>6</comment_count>
      <attachid>418810</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-30 00:35:08 -0800</bug_when>
    <thetext>Created attachment 418810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724019</commentid>
    <comment_count>7</comment_count>
      <attachid>418811</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-30 00:44:23 -0800</bug_when>
    <thetext>Created attachment 418811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724023</commentid>
    <comment_count>8</comment_count>
      <attachid>418812</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-30 01:01:36 -0800</bug_when>
    <thetext>Created attachment 418812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724024</commentid>
    <comment_count>9</comment_count>
      <attachid>418813</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-30 01:47:10 -0800</bug_when>
    <thetext>Created attachment 418813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724025</commentid>
    <comment_count>10</comment_count>
      <attachid>418814</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-30 02:29:08 -0800</bug_when>
    <thetext>Created attachment 418814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724070</commentid>
    <comment_count>11</comment_count>
      <attachid>418821</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-31 00:35:41 -0800</bug_when>
    <thetext>Created attachment 418821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724326</commentid>
    <comment_count>12</comment_count>
      <attachid>418821</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-02-01 11:22:35 -0800</bug_when>
    <thetext>Comment on attachment 418821
Patch

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

r=me, this is awesome!

&gt; Source/JavaScriptCore/runtime/AtomicsObject.h:65
&gt; +JSArrayBufferView* validateTypedArray(JSGlobalObject*, JSValue);

This seems kind of weird? AtomicsObject.cpp needs to include JSArrayBufferView.h anyway, doesn&apos;t it?

&gt; Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:98
&gt; +    using Adaptor = PassedAdaptor;

What&apos;s the purpose of this alias?

&gt; Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h:462
&gt; +    if constexpr (Adaptor::canConvertToJSQuickly)

Cool!

&gt; JSTests/test262/expectations.yaml:831
&gt; +test/built-ins/TypedArray/prototype/filter/BigInt/callbackfn-detachbuffer.js:
&gt; +  default: &apos;TypeError: Invalid argument type in ToBigInt operation (Testing with BigInt64Array.)&apos;
&gt; +  strict mode: &apos;TypeError: Invalid argument type in ToBigInt operation (Testing with BigInt64Array.)&apos;
&gt; +test/built-ins/TypedArray/prototype/findIndex/BigInt/predicate-may-detach-buffer.js:
&gt; +  default: &apos;Test262Error: throws a TypeError getting a value from the detached buffer Expected a TypeError to be thrown but no exception was thrown at all (Testing with BigInt64Array.)&apos;
&gt; +  strict mode: &apos;Test262Error: throws a TypeError getting a value from the detached buffer Expected a TypeError to be thrown but no exception was thrown at all (Testing with BigInt64Array.)&apos;

Do you want to submit the patch for these or would you prefer that I do it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724369</commentid>
    <comment_count>13</comment_count>
      <attachid>418821</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-01 12:44:29 -0800</bug_when>
    <thetext>Comment on attachment 418821
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/AtomicsObject.h:65
&gt;&gt; +JSArrayBufferView* validateTypedArray(JSGlobalObject*, JSValue);
&gt; 
&gt; This seems kind of weird? AtomicsObject.cpp needs to include JSArrayBufferView.h anyway, doesn&apos;t it?

Right! I&apos;ll remove it.

&gt;&gt; Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:98
&gt;&gt; +    using Adaptor = PassedAdaptor;
&gt; 
&gt; What&apos;s the purpose of this alias?

Because we would like to access ViewClass::Adaptor.

&gt;&gt; JSTests/test262/expectations.yaml:831
&gt;&gt; +  strict mode: &apos;Test262Error: throws a TypeError getting a value from the detached buffer Expected a TypeError to be thrown but no exception was thrown at all (Testing with BigInt64Array.)&apos;
&gt; 
&gt; Do you want to submit the patch for these or would you prefer that I do it?

I&apos;ll quickly do that after landing this patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724376</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-01 12:56:58 -0800</bug_when>
    <thetext>Committed r272170: &lt;https://trac.webkit.org/changeset/272170&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724377</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-01 12:57:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/73842238&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418810</attachid>
            <date>2021-01-30 00:35:08 -0800</date>
            <delta_ts>2021-01-30 00:48:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190800-20210130003507.patch</filename>
            <type>text/plain</type>
            <size>139268</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YTljMjI5YmI3ZmViZjJkZGJmZTNiZDI1Njg1OTAxZDYyYjAyMzZhLi44NmQzMGUzMzFlMTk5N2U2
NTAwMTcyYTAxMmEwNmQxZDgzMjgxZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNDkgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
QVBJL0pTVHlwZWRBcnJheS5jcHA6CisgICAgICAgICh0b0pTVHlwZWRBcnJheVR5cGUpOgorICAg
ICAgICAodG9UeXBlZEFycmF5VHlwZSk6CisgICAgICAgIChjcmVhdGVUeXBlZEFycmF5KToKKyAg
ICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5oOgorICAgICAgICAqIEFQSS90ZXN0cy9UeXBlZEFycmF5
Q1Rlc3QuY3BwOgorICAgICAgICAoZm9yRWFjaFR5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAq
IGJ1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChmaWxsKToKKyAgICAg
ICAgKG1hcCk6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJv
ZmlsZS5jcHA6CisgICAgICAgIChKU0M6OmR1bXBBcnJheU1vZGVzKToKKyAgICAgICAgKiBieXRl
Y29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9CeVZhbEluZm8uaDoKKyAg
ICAgICAgKEpTQzo6aml0QXJyYXlNb2RlRm9yQ2xhc3NJbmZvKToKKyAgICAgICAgKEpTQzo6aml0
QXJyYXlNb2RlUGVybWl0c1B1dCk6CisgICAgICAgIChKU0M6OnR5cGVkQXJyYXlUeXBlRm9ySklU
QXJyYXlNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9MaW5rVGltZUNvbnN0YW50Lmg6CisgICAg
ICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAoSlNDOjpkdW1wU3Bl
Y3VsYXRpb24pOgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcp
OgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZSk6CisgICAgICAg
IChKU0M6OnR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3Bl
Y3VsYXRpb25Gcm9tU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5o
OgorICAgICAgICAoSlNDOjppc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChK
U0M6OmlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzRGlyZWN0
QXJndW1lbnRzU3BlY3VsYXRpb24pOgorICAgICAgICAoSlNDOjppc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjppc0FjdGlvbmFibGVGbG9hdE11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxl
VHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Omlz
QWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6aXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1v
ZGU6OmZyb21PYnNlcnZlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjpyZWZpbmUg
Y29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQgY29u
c3QpOgorICAgICAgICAoSlNDOjpERkc6OmFycmF5VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKEpT
Qzo6REZHOjp0b1R5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjp0b0FycmF5VHlw
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6cGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBcnJheU1vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6
OnN1cHBvcnRzU2VsZkxlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2Rl
OjphcnJheU1vZGVzVGhhdFBhc3NGaWx0ZXJpbmcgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdD
bG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICog
ZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpTQ19ERUZJTkVfSklU
X09QRVJBVElPTik6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aFNpemVGb3JUeXBlKToKKyAgICAgICAg
KEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aE9uZUFyZ3VtZW50Rm9yVHlwZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUdl
dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1
dEJ5VmFsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0luamVjdGVkU2NyaXB0SG9zdDo6c3VidHlwZSk6CisgICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZVB1dEJ5VmFsKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAg
IChKU0M6OnRyeUNhY2hlQXJyYXlHZXRCeVZhbCk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcDoKKyAg
ICAgICAgKiBydW50aW1lL0F0b21pY3NPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0JpZ0lu
dDY0QXJyYXkuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcC4KKyAgICAgICAgKiBydW50aW1lL0JpZ1VpbnQ2NEFy
cmF5Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy5jcHAuCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmll
dy5jcHA6CisgICAgICAgIChKU0M6OmVsZW1lbnRTaXplKToKKyAgICAgICAgKEpTQzo6dmFsaWRh
dGVUeXBlZEFycmF5KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0JpZ0ludC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6
CisgICAgICAgICogcnVudGltZS9KU0RhdGFWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0Rh
dGFWaWV3UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0RGF0YSk6CisgICAgICAgIChK
U0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0R2VuZXJp
Y1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyk6CisgICAgICAgICogcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld0lubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNHZW5lcmljVHlwZWRB
cnJheVZpZXc8QWRhcHRvcj46OnNldFdpdGhTcGVjaWZpY1R5cGUpOgorICAgICAgICAoSlNDOjpK
U0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6c2V0KToKKyAgICAgICAgKEpTQzo6SlNH
ZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5j
dGlvbnMuaDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9p
bik6CisgICAgICAgIChKU0M6OmdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY1NsaWNlKToK
KyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNy
ZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAg
ICogcnVudGltZS9KU1R5cGUuY3BwOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAg
ICAgICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5
Q29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHA6Cisg
ICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmg6CisgICAgICAgICogcnVu
dGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RF
RklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5cy5oOgorICAgICAgICAqIHJ1bnRpbWUvVG9OYXRpdmVG
cm9tVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6dG9OYXRpdmVGcm9tVmFsdWUpOgorICAgICAgICAo
SlNDOjp0b05hdGl2ZUZyb21WYWx1ZVdpdGhvdXRDb2VyY2lvbik6CisgICAgICAgICogcnVudGlt
ZS9UeXBlZEFycmF5QWRhcHRvcnMuaDoKKyAgICAgICAgKEpTQzo6SW50ZWdyYWxUeXBlZEFycmF5
QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6RmxvYXRUeXBlZEFycmF5QWRhcHRv
cjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OnRv
SlNWYWx1ZSk6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b0RvdWJs
ZSk6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05hdGl2ZUZyb21J
bnQzMik6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05hdGl2ZUZy
b21VaW50MzIpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjo6dG9OYXRp
dmVGcm9tRG91YmxlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OmNv
bnZlcnRUbyk6CisgICAgICAgIChKU0M6OlVpbnQ4Q2xhbXBlZEFkYXB0b3I6OnRvSlNWYWx1ZSk6
CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHA6CisgICAgICAgIChKU0M6OmNv
bnN0cnVjdG9yQ2xhc3NJbmZvRm9yVHlwZSk6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwp
OgorICAgICAgICAqIHJ1bnRpbWUvVHlwZWRBcnJheVR5cGUuaDoKKyAgICAgICAgKEpTQzo6aXNC
aWdJbnRUeXBlZFZpZXcpOgorICAgICAgICAoSlNDOjpsb2dFbGVtZW50U2l6ZSk6CisgICAgICAg
IChKU0M6OmlzQmlnSW50KToKKyAgICAgICAgKEpTQzo6aXNTaWduZWQpOgorICAgICAgICAoSlND
Ojpjb250ZW50VHlwZSk6CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5cy5oOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAyMS0wMS0y
OSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGUgc2hvdWxkIGJlIGEgbWVtYmVyIG9mIHRoZSBKU0M6OlBhcnNlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwCmluZGV4IDY4OWZlOWU2Zjg3NzQy
YTgxZGNjNjEwM2IxMjQ3ZWRhYWFmYTc4YzYuLjQzNjg1MTliZDQ1NTJjOWJjOTk2MWI1YWJhNzI4
ZmY0NGMwYjIzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNUeXBl
ZEFycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVHlwZWRBcnJheS5j
cHAKQEAgLTY0LDYgKzY0LDEwIEBAIGlubGluZSBKU1R5cGVkQXJyYXlUeXBlIHRvSlNUeXBlZEFy
cmF5VHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJh
eVR5cGVGbG9hdDMyQXJyYXk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgcmV0dXJu
IGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ0ludDY0Ogor
ICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5OworICAgIGNhc2Ug
VHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIGtKU1R5cGVkQXJyYXlUeXBlQmlnVWludDY0
QXJyYXk7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC05
Miw2ICs5NiwxMCBAQCBpbmxpbmUgVHlwZWRBcnJheVR5cGUgdG9UeXBlZEFycmF5VHlwZShKU1R5
cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQzMjsKICAgICBjYXNl
IGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gVHlwZUZsb2F0
NjQ7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXk6CisgICAgICAgIHJl
dHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFy
cmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICB9CiAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KQEAgLTEyMyw2ICsxMzEsMTAgQEAgc3RhdGljIEpTT2Jq
ZWN0KiBjcmVhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVHlw
ZWRBcnJheVR5cGUKICAgICAgICAgcmV0dXJuIEpTRmxvYXQzMkFycmF5OjpjcmVhdGUoZ2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlwZUZsb2F0MzIpLCBX
VEZNb3ZlKGJ1ZmZlciksIG9mZnNldCwgbGVuZ3RoKTsKICAgICBjYXNlIGtKU1R5cGVkQXJyYXlU
eXBlRmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gSlNGbG9hdDY0QXJyYXk6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJheVN0cnVjdHVyZShUeXBlRmxvYXQ2
NCksIFdURk1vdmUoYnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgpOworICAgIGNhc2Uga0pTVHlwZWRB
cnJheVR5cGVCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gSlNCaWdJbnQ2NEFycmF5Ojpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlw
ZUJpZ0ludDY0KSwgV1RGTW92ZShidWZmZXIpLCBvZmZzZXQsIGxlbmd0aCk7CisgICAgY2FzZSBr
SlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gSlNCaWdVaW50
NjRBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT50eXBlZEFycmF5U3Ry
dWN0dXJlKFR5cGVCaWdVaW50NjQpLCBXVEZNb3ZlKGJ1ZmZlciksIG9mZnNldCwgbGVuZ3RoKTsK
ICAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXI6CiAgICAgY2FzZSBrSlNUeXBl
ZEFycmF5VHlwZU5vbmU6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5oCmluZGV4IDkxMWI0YmZjNGRmMTlhMDQ3
ZGNlYTA4NDhkNGQ1MmMyOGU3Nzg3ZGYuLjJhOTA3OWFlMDAwNjUxOTQ5NzA0YWFhNGNjYTQ4OWFm
ODA2ZmNmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJl
Zi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5oCkBAIC02Niw2
ICs2Niw4IEBAIHR5cGVkZWYgZW51bSB7CiAgQGNvbnN0YW50ICAgICBrSlNUeXBlZEFycmF5VHlw
ZVVpbnQzMkFycmF5ICAgICAgICAgIFVpbnQzMkFycmF5CiAgQGNvbnN0YW50ICAgICBrSlNUeXBl
ZEFycmF5VHlwZUZsb2F0MzJBcnJheSAgICAgICAgIEZsb2F0MzJBcnJheQogIEBjb25zdGFudCAg
ICAga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXkgICAgICAgICBGbG9hdDY0QXJyYXkKKyBA
Y29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlQmlnSW50NjRBcnJheSAgICAgICAgQmlnSW50
NjRBcnJheQorIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheSAg
ICAgICBCaWdVaW50NjRBcnJheQogIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVBcnJh
eUJ1ZmZlciAgICAgICAgICBBcnJheUJ1ZmZlcgogIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJh
eVR5cGVOb25lICAgICAgICAgICAgICAgICBOb3QgYSBUeXBlZCBBcnJheQogCkBAIC04Miw2ICs4
NCw4IEBAIHR5cGVkZWYgZW51bSB7CiAgICAga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXks
CiAgICAga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlciwKICAgICBrSlNUeXBlZEFycmF5VHlw
ZU5vbmUsCisgICAga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5LAorICAgIGtKU1R5cGVk
QXJyYXlUeXBlQmlnVWludDY0QXJyYXksCiB9IEpTVHlwZWRBcnJheVR5cGUgSlNDX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRBcnJheUNUZXN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRBcnJheUNUZXN0LmNw
cAppbmRleCAyMzdiZDQ2NTg2ZjJmZjYwNjM5YzYzNjc3NjExYThiNTBiNjgwMjdjLi43NWY1NzA3
ZTUyMTY3M2UxOTI5YzVkNzMzY2YwMjc4ZWRkMWE5M2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJyYXlDVGVzdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwCkBAIC00OSw3ICs0OSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsZW5ndGhzW251bUxlbmd0aHNdID0KICAgICAxMCwK
IH07CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBieXRlU2l6ZXNba0pTVHlwZWRBcnJheVR5cGVB
cnJheUJ1ZmZlcl0gPQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGJ5dGVTaXplc1tdID0KIHsKICAg
ICAxLCAvLyBrSlNUeXBlZEFycmF5VHlwZUludDhBcnJheQogICAgIDIsIC8vIGtKU1R5cGVkQXJy
YXlUeXBlSW50MTZBcnJheQpAQCAtNjAsOSArNjAsMTMgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGJ5dGVTaXplc1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CiAgICAgNCwgLy8ga0pT
VHlwZWRBcnJheVR5cGVVaW50MzJBcnJheQogICAgIDQsIC8vIGtKU1R5cGVkQXJyYXlUeXBlRmxv
YXQzMkFycmF5CiAgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXkKKyAgICAw
LCAvLyBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyCisgICAgMCwgLy8ga0pTVHlwZWRBcnJh
eVR5cGVOb25lCisgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5CisgICAg
OCwgLy8ga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheQogfTsKIAotc3RhdGljIGNvbnN0
IGNoYXIqIHR5cGVUb1N0cmluZ1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CitzdGF0
aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW10gPQogewogICAgICJrSlNUeXBlZEFycmF5VHlw
ZUludDhBcnJheSIsCiAgICAgImtKU1R5cGVkQXJyYXlUeXBlSW50MTZBcnJheSIsCkBAIC03Myw2
ICs3NywxMCBAQCBzdGF0aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW2tKU1R5cGVkQXJyYXlU
eXBlQXJyYXlCdWZmZXJdID0KICAgICAia0pTVHlwZWRBcnJheVR5cGVVaW50MzJBcnJheSIsCiAg
ICAgImtKU1R5cGVkQXJyYXlUeXBlRmxvYXQzMkFycmF5IiwKICAgICAia0pTVHlwZWRBcnJheVR5
cGVGbG9hdDY0QXJyYXkiLAorICAgICJrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyIiwKKyAg
ICAia0pTVHlwZWRBcnJheVR5cGVOb25lIiwKKyAgICAia0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2
NEFycmF5IiwKKyAgICAia0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheSIsCiB9OwogCiBp
bmxpbmUgaW50IHVuZXhwZWN0ZWRFeGNlcHRpb24oY29uc3QgY2hhciogbmFtZSkKQEAgLTIxMiw4
ICsyMjAsMTAgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+CiBzdGF0aWMgaW50IGZvckVh
Y2hUeXBlZEFycmF5VHlwZShjb25zdCBGdW5jdG9yJiBmdW5jdG9yKQogewogICAgIGludCBmYWls
ZWQgPSAwOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBrSlNUeXBlZEFycmF5VHlwZUFy
cmF5QnVmZmVyOyBpKyspCi0gICAgICAgIGZhaWxlZCA9IGZhaWxlZCB8fCBmdW5jdG9yKHN0YXRp
Y19jYXN0PEpTVHlwZWRBcnJheVR5cGU+KGkpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcjsgaSsrKSB7CisgICAgICAgIGlmIChpICE9
IGtKU1R5cGVkQXJyYXlUeXBlTm9uZSAmJiBpICE9IGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZm
ZXIpCisgICAgICAgICAgICBmYWlsZWQgPSBmYWlsZWQgfHwgZnVuY3RvcihzdGF0aWNfY2FzdDxK
U1R5cGVkQXJyYXlUeXBlPihpKSk7CisgICAgfQogICAgIHJldHVybiBmYWlsZWQ7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNjRhMzY1NDJhZWY5NWExMDk4M2Fm
OGQ5OTRhZWViZTNmZGJkYWUxLi40ZGY4YTI1MGMwYzliZDIyM2U1Njg2YWQ3YzVmNjdmOWEwMTBl
NzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04MjIsOCArODIyLDEw
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcnVu
dGltZS9BdXhpbGlhcnlCYXJyaWVySW5saW5lcy5oCiAgICAgcnVudGltZS9CYXNpY0Jsb2NrTG9j
YXRpb24uaAogICAgIHJ1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorICAgIHJ1
bnRpbWUvQmlnSW50NjRBcnJheS5oCiAgICAgcnVudGltZS9CaWdJbnRPYmplY3QuaAogICAgIHJ1
bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKKyAgICBydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKICAg
ICBydW50aW1lL0Jvb2xlYW5PYmplY3QuaAogICAgIHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5o
CiAgICAgcnVudGltZS9CdXR0ZXJmbHkuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA4M2RlNzliODQxZjliMWZhMzk1MzcyNWQyNWUyMTE5NWIwZDAwNDU4Li5kNjJhNGY0NDFkODhk
M2ExMzgyOWNmNmNmZjJmMTlhMjg2ZTMzNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTg0OCw2ICsxODQ4LDggQEAKIAkJRTM1QTBCOUQyMjBBRDg3QTAwQUM0NDc0IC8qIEV4
ZWN1dGFibGVCYXNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM1QTBCOUMyMjBBRDg3QTAwQUM0NDc0IC8qIEV4ZWN1dGFibGVCYXNlSW5s
aW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNUNBMTU0MURCQzNBNUMwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUNBMTUyMURCQzNBNTYwMEY4
MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzVDQTE1NjFEQkMzQTVGMDBGODM1MTYgLyogRE9NSklUQWJz
dHJhY3RIZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzVDQTE1MDFEQkMzQTU2MDBGODM1MTYgLyogRE9NSklUQWJzdHJhY3RIZWFwLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM1RTg5RkQyNUM1
MEY4NzAwNzFFRTFFIC8qIEJpZ0ludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUU4OUZCMjVDNTBGODYwMDcxRUUxRSAvKiBCaWdJbnQ2
NEFycmF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRTM1RTg5RkUyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ1VpbnQ2NEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVFODlGQzI1QzUwRjg3MDA3
MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzYzN0VFOTIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVD
b25zdGFudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM2MzdFRTcyMzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzY1RjMzQTI0QUE2MjM5
MDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM2NUYzMzkyNEFBNjIxMjAwQzk5
MUIyIC8qIEludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5sdXQuaCAqLzsgfTsKIAkJRTM2NUYz
M0IyNEFBNjIzQjAwQzk5MUIyIC8qIEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY1RjMzODI0QUE2
MjExMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc1Byb3RvdHlwZS5sdXQuaCAqLzsgfTsKQEAg
LTUwNjEsNiArNTA2Myw4IEBACiAJCUUzNUNBMTUwMURCQzNBNTYwMEY4MzUxNiAvKiBET01KSVRB
YnN0cmFjdEhlYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUQWJz
dHJhY3RIZWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUNBMTUxMURCQzNB
NTYwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRE9NSklUSGVhcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM1Q0ExNTIxREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRIZWFwUmFuZ2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM1RTg5RkIyNUM1MEY4NjAwNzFFRTFFIC8qIEJpZ0lu
dDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmlnSW50NjRBcnJh
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVFODlGQzI1QzUwRjg3MDA3MUVF
MUUgLyogQmlnVWludDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QmlnVWludDY0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM2MzdFRTcy
MzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTGlua1RpbWVDb25zdGFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzYzN0VFODIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVDb25zdGFudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaW5rVGltZUNvbnN0YW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM2NUYzMzgyNEFBNjIxMTAwQzk5MUIy
IC8qIEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03MTM2LDYgKzcxNDAsNyBAQAogCQkJCTUyNjc4RjhDMUEwMzEw
MDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovLAogCQkJCTUyNjc4RjhEMUEw
MzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCAqLywKIAkJCQkxNDdCODNBQTBF
NkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCAqLywKKwkJCQlF
MzVFODlGQjI1QzUwRjg2MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5oICovLAogCQkJCTg2OTc2
RTU4MUZBMzc1NkQwMEU3QzRFMSAvKiBCaWdJbnRDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJODY5
NzZFNTcxRkEzNzU0MDAwRTdDNEUxIC8qIEJpZ0ludENvbnN0cnVjdG9yLmggKi8sCiAJCQkJODY2
NzM5RDAxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCAqLywKQEAgLTcxNDMsNiArNzE0
OCw3IEBACiAJCQkJODYxODE2NzYxRkI3OTIyRjAwRUNDNEVDIC8qIEJpZ0ludE9iamVjdC5oICov
LAogCQkJCTg2OTc2RTVCMUZBMzc1QTgwMEU3QzRFMSAvKiBCaWdJbnRQcm90b3R5cGUuY3BwICov
LAogCQkJCTg2OTc2RTVBMUZBMzc1OEEwMEU3QzRFMSAvKiBCaWdJbnRQcm90b3R5cGUuaCAqLywK
KwkJCQlFMzVFODlGQzI1QzUwRjg3MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCAqLywKIAkJ
CQlCQzc5NTIzMjBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCAqLywK
IAkJCQlCQzc5NTIzMzBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmggKi8s
CiAJCQkJRjY5MkE4NTAwMjU1NTk3RDAxRkY2MEY3IC8qIEJvb2xlYW5PYmplY3QuY3BwICovLApA
QCAtOTI1NSwxMCArOTI2MSwxMiBAQAogCQkJCTBGMkM2M0IyMUU2MEFFNDcwMEMxMzgzOSAvKiBC
M1dpZHRoLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MjY3OEY4RjFBMDMxMDA5MDA2QTMwNkQgLyog
QmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDdCODNBQzBFNkRCOEM5
MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzNUU4OUZEMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdJbnQ2NEFycmF5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4Njk3NkU1RjFGQTNFOEJDMDBFN0M0RTEgLyogQmlnSW50Q29uc3RydWN0b3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg2NjczOUQyMTNCRkRFNzEwMDIzRDg3QyAvKiBCaWdJbnRl
Z2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjE4MTY3NzFGQjc5MjQyMDBFQ0M0RUMgLyogQmln
SW50T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4Njk3NkU1RTFGQTNFOEI2MDBFN0M0RTEg
LyogQmlnSW50UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzVFODlGRTI1QzUwRjg3
MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjRCMjcy
MUE3ODRCQUYwMDZFNEU2NiAvKiBCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCUMy
QjkxNkMyMTREQTAxNEUwMENCQUM4NiAvKiBCbG9ja0RpcmVjdG9yeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTM4NjUyRTMyMzdDQTBDOTAwRTFENUVFIC8qIEJsb2NrRGlyZWN0b3J5Qml0cy5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5h
bWVzLmgKaW5kZXggNDRjNmIyMzVlZmVjZDM1MDQ2YzcxZjdhYmU5ZDJiM2Y3NWQzOWY5MS4uM2I5
NDkzNzE1ODY1M2NiNzYwNWY0NGI1ZGM4MjAwNDBjZDA2NDMzOCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaApAQCAtNzAsNiArNzAsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICBtYWNybyhTZXQpIFwKICAgICBtYWNybyh0aHJvd1R5cGVFcnJvckZ1
bmN0aW9uKSBcCiAgICAgbWFjcm8odHlwZWRBcnJheUxlbmd0aCkgXAorICAgIG1hY3JvKHR5cGVk
QXJyYXlDb250ZW50VHlwZSkgXAogICAgIG1hY3JvKHR5cGVkQXJyYXlTb3J0KSBcCiAgICAgbWFj
cm8odHlwZWRBcnJheUdldE9yaWdpbmFsQ29uc3RydWN0b3IpIFwKICAgICBtYWNybyh0eXBlZEFy
cmF5U3ViYXJyYXlDcmVhdGUpIFwKQEAgLTk4LDYgKzk5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgbWFjcm8oVWludDMyQXJyYXkpIFwKICAgICBtYWNybyhGbG9hdDMyQXJyYXkpIFwKICAgICBt
YWNybyhGbG9hdDY0QXJyYXkpIFwKKyAgICBtYWNybyhCaWdJbnQ2NEFycmF5KSBcCisgICAgbWFj
cm8oQmlnVWludDY0QXJyYXkpIFwKICAgICBtYWNybyhleGVjKSBcCiAgICAgbWFjcm8oZ2VuZXJh
dG9yKSBcCiAgICAgbWFjcm8oZ2VuZXJhdG9yTmV4dCkgXApAQCAtMTczLDcgKzE3Niw5IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIG1hY3JvKHdlYkFzc2VtYmx5SW5zdGFudGlhdGVTdHJlYW1pbmdJ
bnRlcm5hbCkgXAogICAgIG1hY3JvKGluc3RhbmNlRmllbGRJbml0aWFsaXplcikgXAogICAgIG1h
Y3JvKGhhc093blByb3BlcnR5RnVuY3Rpb24pIFwKLSAgICBtYWNybyhjcmVhdGVQcml2YXRlU3lt
Ym9sKQorICAgIG1hY3JvKGNyZWF0ZVByaXZhdGVTeW1ib2wpIFwKKyAgICBtYWNybyh0b0JpZ0lu
dCkgXAorICAgIG1hY3JvKGlzQmlnSW50VHlwZWRBcnJheVZpZXcpCiAKIG5hbWVzcGFjZSBTeW1i
b2xzIHsKICNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xTKG5hbWUpIGV4dGVy
biBKU19FWFBPUlRfUFJJVkFURSBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIG5hbWUjI1N5
bWJvbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFy
cmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlQcm90b3R5cGUuanMKaW5kZXggNWJmYzYwODBjZGEyZTgyOTI3ZTVlZmYwYmJjYjU0YjBlMjFm
NzVlMy4uMmQ1MmFmMjRmZDBmNjFhYzgzNGVkODljYTg4OGNjOTYwNmVhNTg4ZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUu
anMKQEAgLTkxLDcgKzkxLDEwIEBAIGZ1bmN0aW9uIGZpbGwodmFsdWUgLyogWywgc3RhcnQgWywg
ZW5kXV0gKi8pCiAKICAgICB2YXIgbGVuZ3RoID0gQHR5cGVkQXJyYXlMZW5ndGgodGhpcyk7CiAK
LSAgICB2YXIgbnVtYmVyID0gQHRvTnVtYmVyKHZhbHVlKTsKKyAgICBpZiAoQGlzQmlnSW50VHlw
ZWRBcnJheVZpZXcodGhpcykpCisgICAgICAgIHZhciBudW1iZXIgPSBAdG9CaWdJbnQodmFsdWUp
OworICAgIGVsc2UKKyAgICAgICAgdmFyIG51bWJlciA9IEB0b051bWJlcih2YWx1ZSk7CiAKICAg
ICB2YXIgc3RhcnQgPSBAdHlwZWRBcnJheUNsYW1wQXJndW1lbnRUb1N0YXJ0T3JFbmQoQGFyZ3Vt
ZW50KDEpLCBsZW5ndGgsIDApOwogICAgIHZhciBlbmQgPSBAdHlwZWRBcnJheUNsYW1wQXJndW1l
bnRUb1N0YXJ0T3JFbmQoQGFyZ3VtZW50KDIpLCBsZW5ndGgsIGxlbmd0aCk7CkBAIC0zMzUsNiAr
MzM4LDggQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKQogICAgIHZhciBy
ZXN1bHQgPSBuZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKICAgICBpZiAoQHR5cGVkQXJyYXlMZW5n
dGgocmVzdWx0KSA8IGxlbmd0aCkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5
LnByb3RvdHlwZS5tYXAgY29uc3RydWN0ZWQgdHlwZWQgYXJyYXkgb2YgaW5zdWZmaWNpZW50IGxl
bmd0aCIpOworICAgIGlmIChAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHRoaXMpICE9PSBAdHlwZWRB
cnJheUNvbnRlbnRUeXBlKHJlc3VsdCkpCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRB
cnJheS5wcm90b3R5cGUubWFwIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5IG9mIGRpZmZlcmVudCBj
b250ZW50IHR5cGUgZnJvbSB8dGhpc3wiKTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVu
Z3RoOyBpKyspIHsKICAgICAgICAgdmFyIG1hcHBlZFZhbHVlID0gY2FsbGJhY2suQGNhbGwodGhp
c0FyZywgdGhpc1tpXSwgaSwgdGhpcyk7CkBAIC0zNjYsNiArMzcxLDggQEAgZnVuY3Rpb24gZmls
dGVyKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKQogICAgIHZhciByZXN1bHQgPSBuZXcgY29uc3Ry
dWN0b3IobGVuZ3RoKTsKICAgICBpZiAoQHR5cGVkQXJyYXlMZW5ndGgocmVzdWx0KSA8IGxlbmd0
aCkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5LnByb3RvdHlwZS5maWx0ZXIg
Y29uc3RydWN0ZWQgdHlwZWQgYXJyYXkgb2YgaW5zdWZmaWNpZW50IGxlbmd0aCIpOworICAgIGlm
IChAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHRoaXMpICE9PSBAdHlwZWRBcnJheUNvbnRlbnRUeXBl
KHJlc3VsdCkpCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUu
ZmlsdGVyIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5IG9mIGRpZmZlcmVudCBjb250ZW50IHR5cGUg
ZnJvbSB8dGhpc3wiKTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCiAg
ICAgICAgIHJlc3VsdFtpXSA9IGtlcHRbaV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BcnJheVByb2ZpbGUuY3BwCmluZGV4IDFmYzc2Nzg1MWVlZTg5ZDE3NGE4MDA5MTBj
NTNhOGU4ZDMwMjU3MDAuLjk0NWVhODlhOWRkOGYyNGNmODc5ZTU1YjJhNDk0MjhjYWYxY2RhMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3Bw
CkBAIC00NCw2ICs0NCw4IEBAIGNvbnN0IEFycmF5TW9kZXMgdHlwZWRBcnJheU1vZGVzW051bWJl
ck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXddID0gewogICAgIFVpbnQzMkFycmF5
TW9kZSwKICAgICBGbG9hdDMyQXJyYXlNb2RlLAogICAgIEZsb2F0NjRBcnJheU1vZGUsCisgICAg
QmlnSW50NjRBcnJheU1vZGUsCisgICAgQmlnVWludDY0QXJyYXlNb2RlLAogfTsKIAogdm9pZCBk
dW1wQXJyYXlNb2RlcyhQcmludFN0cmVhbSYgb3V0LCBBcnJheU1vZGVzIGFycmF5TW9kZXMpCkBA
IC0xMTAsNiArMTEyLDEwIEBAIHZvaWQgZHVtcEFycmF5TW9kZXMoUHJpbnRTdHJlYW0mIG91dCwg
QXJyYXlNb2RlcyBhcnJheU1vZGVzKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJGbG9hdDMy
QXJyYXlNb2RlIik7CiAgICAgaWYgKGFycmF5TW9kZXMgJiBGbG9hdDY0QXJyYXlNb2RlKQogICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJGbG9hdDY0QXJyYXlNb2RlIik7CisgICAgaWYgKGFycmF5
TW9kZXMgJiBCaWdJbnQ2NEFycmF5TW9kZSkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQmln
SW50NjRBcnJheU1vZGUiKTsKKyAgICBpZiAoYXJyYXlNb2RlcyAmIEJpZ1VpbnQ2NEFycmF5TW9k
ZSkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQmlnVWludDY0QXJyYXlNb2RlIik7CiB9CiAK
IHZvaWQgQXJyYXlQcm9maWxlOjpjb21wdXRlVXBkYXRlZFByZWRpY3Rpb24oY29uc3QgQ29uY3Vy
cmVudEpTTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogY29kZUJsb2NrKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCmluZGV4IDk0MjY1N2M2MmYwNzQ5
Y2EwNWM0ZWVlNGQ2N2I5NWZlNjQ1NWQ5ZTcuLjM4Njc3MWNkNzZmYWNmOTlhODQwZTZiYTc0OWY4
MjhhNGY1ZDFkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9B
cnJheVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQ
cm9maWxlLmgKQEAgLTU2LDYgKzU2LDggQEAgY29uc3QgQXJyYXlNb2RlcyBVaW50MTZBcnJheU1v
ZGUgPSAxIDw8IDI2OwogY29uc3QgQXJyYXlNb2RlcyBVaW50MzJBcnJheU1vZGUgPSAxIDw8IDI3
OwogY29uc3QgQXJyYXlNb2RlcyBGbG9hdDMyQXJyYXlNb2RlID0gMSA8PCAyODsKIGNvbnN0IEFy
cmF5TW9kZXMgRmxvYXQ2NEFycmF5TW9kZSA9IDEgPDwgMjk7Citjb25zdCBBcnJheU1vZGVzIEJp
Z0ludDY0QXJyYXlNb2RlID0gMSA8PCAzMDsKK2NvbnN0IEFycmF5TW9kZXMgQmlnVWludDY0QXJy
YXlNb2RlID0gMSA8PCAzMTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIGNvbnN0IEFycmF5
TW9kZXMgdHlwZWRBcnJheU1vZGVzW051bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0
YVZpZXddOwogCkBAIC03NCw2ICs3Niw4IEBAIGNvbnN0ZXhwciBBcnJheU1vZGVzIGFzQXJyYXlN
b2Rlc0lnbm9yaW5nVHlwZWRBcnJheXMoSW5kZXhpbmdUeXBlIGluZGV4aW5nTW9kZSkKICAgICB8
IFVpbnQzMkFycmF5TW9kZSAgICAgICAgIFwKICAgICB8IEZsb2F0MzJBcnJheU1vZGUgICAgICAg
IFwKICAgICB8IEZsb2F0NjRBcnJheU1vZGUgICAgICAgIFwKKyAgICB8IEJpZ0ludDY0QXJyYXlN
b2RlICAgICAgIFwKKyAgICB8IEJpZ1VpbnQ2NEFycmF5TW9kZSAgICAgIFwKICAgICApCiAKICNk
ZWZpbmUgQUxMX05PTl9BUlJBWV9BUlJBWV9NT0RFUyAgICAgICAgICAgICAgICAgICAgICAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCmluZGV4IDAzYmI4ODkx
NThhOGI4MjhhMGJlYzc5YWZkYzUxMDE4MTc5YWNmMDYuLjU0OTc0NTNjOTg5MWMwMmE1YjQwNWNh
NDMzYzI4MWVjODM1YjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeVZhbEluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlW
YWxJbmZvLmgKQEAgLTU2LDcgKzU2LDkgQEAgZW51bSBKSVRBcnJheU1vZGUgOiB1aW50OF90IHsK
ICAgICBKSVRVaW50MTZBcnJheSwKICAgICBKSVRVaW50MzJBcnJheSwKICAgICBKSVRGbG9hdDMy
QXJyYXksCi0gICAgSklURmxvYXQ2NEFycmF5CisgICAgSklURmxvYXQ2NEFycmF5LAorICAgIEpJ
VEJpZ0ludDY0QXJyYXksCisgICAgSklUQmlnVWludDY0QXJyYXksCiB9OwogCiBpbmxpbmUgYm9v
bCBpc09wdGltaXphYmxlSW5kZXhpbmdUeXBlKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCkBA
IC0xNDYsNiArMTQ4LDEwIEBAIGlubGluZSBKSVRBcnJheU1vZGUgaml0QXJyYXlNb2RlRm9yQ2xh
c3NJbmZvKGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKQogICAgICAgICByZXR1cm4gSklURmxv
YXQzMkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBKSVRGbG9h
dDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBKSVRCaWdJ
bnQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpJVEJp
Z1VpbnQ2NEFycmF5OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIENSQVNIKCk7CiAgICAgICAgIHJl
dHVybiBKSVRDb250aWd1b3VzOwpAQCAtMTU3LDYgKzE2Myw4IEBAIGlubGluZSBib29sIGppdEFy
cmF5TW9kZVBlcm1pdHNQdXQoSklUQXJyYXlNb2RlIG1vZGUpCiAgICAgc3dpdGNoIChtb2RlKSB7
CiAgICAgY2FzZSBKSVREaXJlY3RBcmd1bWVudHM6CiAgICAgY2FzZSBKSVRTY29wZWRBcmd1bWVu
dHM6CisgICAgY2FzZSBKSVRCaWdJbnQ2NEFycmF5OgorICAgIGNhc2UgSklUQmlnVWludDY0QXJy
YXk6CiAgICAgICAgIC8vIFdlIGNvdWxkIHN1cHBvcnQgcHV0X2J5X3ZhbCBvbiB0aGVzZSBhdCBz
b21lIHBvaW50LCBidXQgaXQncyBqdXN0IG5vdCB0aGF0IHByb2ZpdGFibGUKICAgICAgICAgLy8g
YXQgdGhlIG1vbWVudC4KICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjA2LDYgKzIxNCwxMCBA
QCBpbmxpbmUgVHlwZWRBcnJheVR5cGUgdHlwZWRBcnJheVR5cGVGb3JKSVRBcnJheU1vZGUoSklU
QXJyYXlNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQzMjsKICAgICBjYXNlIEpJ
VEZsb2F0NjRBcnJheToKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDY0OworICAgIGNhc2UgSklU
QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdJbnQ2NDsKKyAgICBjYXNlIEpJ
VEJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICBkZWZh
dWx0OgogICAgICAgICBDUkFTSCgpOwogICAgICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCmlu
ZGV4IGVmYWQ0MGRkZDQxZjI0ZTI0NWQ3YTY1ZGI1ZTA5MWFlYjU4OWYwODIuLjZiODk5MjIzZjE2
ODA3ZmRmMTc0ODFlMTNmYzZkNjBlNjQ4Nzg5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFz
cyBKU0dsb2JhbE9iamVjdDsKICAgICB2KG1ha2VUeXBlRXJyb3IsIG51bGxwdHIpIFwKICAgICB2
KEFnZ3JlZ2F0ZUVycm9yLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFycmF5TGVuZ3RoLCBudWxs
cHRyKSBcCisgICAgdih0eXBlZEFycmF5Q29udGVudFR5cGUsIG51bGxwdHIpIFwKICAgICB2KHR5
cGVkQXJyYXlHZXRPcmlnaW5hbENvbnN0cnVjdG9yLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFy
cmF5U29ydCwgbnVsbHB0cikgXAogICAgIHYoaXNUeXBlZEFycmF5VmlldywgbnVsbHB0cikgXApA
QCAtMTEwLDYgKzExMSw4IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogICAgIHYoY2FsbEZ1bmN0
aW9uLCBudWxscHRyKSBcCiAgICAgdihoYXNPd25Qcm9wZXJ0eUZ1bmN0aW9uLCBudWxscHRyKSBc
CiAgICAgdihjcmVhdGVQcml2YXRlU3ltYm9sLCBudWxscHRyKSBcCisgICAgdih0b0JpZ0ludCwg
bnVsbHB0cikgXAorICAgIHYoaXNCaWdJbnRUeXBlZEFycmF5VmlldywgbnVsbHB0cikgXAogCiAK
ICNkZWZpbmUgREVDTEFSRV9MSU5LX1RJTUVfQ09OU1RBTlQobmFtZSwgY29kZSkgbmFtZSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCmlu
ZGV4IDc1NjBiMzk5ODdmZTgxMWYyZjI3NGNhYzg2NWQ1NWQwYmFlMjY2YzMuLmJlOWFjNjZlZTNh
N2EwOGFhMzU2NjA4YzU1NDgxYTY3ZWVkZGVlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcApAQCAtMTQ4LDcgKzE0OCwxNyBAQCB2
b2lkIGR1bXBTcGVjdWxhdGlvbihQcmludFN0cmVhbSYgb3V0U3RyZWFtLCBTcGVjdWxhdGVkVHlw
ZSB2YWx1ZSkKICAgICAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkZsb2F0NjRBcnJheSIpOwog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7Ci0gICAgCisK
KyAgICAgICAgICAgIGlmICh2YWx1ZSAmIFNwZWNCaWdJbnQ2NEFycmF5KQorICAgICAgICAgICAg
ICAgIHN0ck91dC5wcmludCgiQmlnSW50NjRBcnJheSIpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZSAmIFNw
ZWNCaWdVaW50NjRBcnJheSkKKyAgICAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkJpZ1VpbnQ2
NEFycmF5Iik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaXNUb3AgPSBmYWxz
ZTsKKwogICAgICAgICAgICAgaWYgKHZhbHVlICYgU3BlY0Z1bmN0aW9uKQogICAgICAgICAgICAg
ICAgIHN0ck91dC5wcmludCgiRnVuY3Rpb24iKTsKICAgICAgICAgICAgIGVsc2UKQEAgLTM1OSw2
ICszNjksMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHNwZWN1bGF0aW9uVG9BYmJyZXZpYXRlZFN0
cmluZyhTcGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9uKQogICAgICAgICByZXR1cm4gIjxGbG9hdDMy
YXJyYXk+IjsKICAgICBpZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkK
ICAgICAgICAgcmV0dXJuICI8RmxvYXQ2NGFycmF5PiI7CisgICAgaWYgKGlzQmlnSW50NjRBcnJh
eVNwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQorICAgICAgICByZXR1cm4gIjxCaWdJbnQ2NGFycmF5
PiI7CisgICAgaWYgKGlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKKyAg
ICAgICAgcmV0dXJuICI8QmlnVWludDY0YXJyYXk+IjsKICAgICBpZiAoaXNEaXJlY3RBcmd1bWVu
dHNTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKICAgICAgICAgcmV0dXJuICI8RGlyZWN0QXJndW1l
bnRzPiI7CiAgICAgaWYgKGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24ocHJlZGljdGlvbikp
CkBAIC00MjQsNiArNDM4LDEwIEBAIFNwZWN1bGF0ZWRUeXBlIHNwZWN1bGF0aW9uRnJvbVR5cGVk
QXJyYXlUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBTcGVjRmxvYXQz
MkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBTcGVjRmxvYXQ2
NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gU3BlY0JpZ0lu
dDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gU3BlY0Jp
Z1VpbnQ2NEFycmF5OwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRh
VmlldzoKICAgICAgICAgYnJlYWs7CkBAIC02NTYsNiArNjc0LDEyIEBAIFR5cGVkQXJyYXlUeXBl
IHR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHR5cGUpCiAgICAg
ICAgIAogICAgIGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQogICAgICAgICBy
ZXR1cm4gVHlwZUZsb2F0NjQ7CisKKyAgICBpZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24o
dHlwZSkpCisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisKKyAgICBpZiAoaXNCaWdVaW50
NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsK
ICAgICAKICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKIH0KQEAgLTkwMiw2ICs5MjYsMTAgQEAg
U3BlY3VsYXRlZFR5cGUgc3BlY3VsYXRpb25Gcm9tU3RyaW5nKGNvbnN0IGNoYXIqIHNwZWN1bGF0
aW9uKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0MzJBcnJheTsKICAgICBpZiAoIXN0cm5jbXAo
c3BlY3VsYXRpb24sICJTcGVjRmxvYXQ2NEFycmF5Iiwgc3RybGVuKCJTcGVjRmxvYXQ2NEFycmF5
IikpKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0NjRBcnJheTsKKyAgICBpZiAoIXN0cm5jbXAo
c3BlY3VsYXRpb24sICJTcGVjQmlnSW50NjRBcnJheSIsIHN0cmxlbigiU3BlY0JpZ0ludDY0QXJy
YXkiKSkpCisgICAgICAgIHJldHVybiBTcGVjQmlnSW50NjRBcnJheTsKKyAgICBpZiAoIXN0cm5j
bXAoc3BlY3VsYXRpb24sICJTcGVjQmlnVWludDY0QXJyYXkiLCBzdHJsZW4oIlNwZWNCaWdVaW50
NjRBcnJheSIpKSkKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdVaW50NjRBcnJheTsKICAgICBpZiAo
IXN0cm5jbXAoc3BlY3VsYXRpb24sICJTcGVjVHlwZWRBcnJheVZpZXciLCBzdHJsZW4oIlNwZWNU
eXBlZEFycmF5VmlldyIpKSkKICAgICAgICAgcmV0dXJuIFNwZWNUeXBlZEFycmF5VmlldzsKICAg
ICBpZiAoIXN0cm5jbXAoc3BlY3VsYXRpb24sICJTcGVjRGlyZWN0QXJndW1lbnRzIiwgc3RybGVu
KCJTcGVjRGlyZWN0QXJndW1lbnRzIikpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAppbmRleCA4M2U2ODM1Y2QxYzFjYzhjNWJmZWFmZDM4NjJk
NWZkMTU1MDY0ODg5Li5kNTkwNmY1NzllMWJlYzNmZDRiMTNiMzYxNjc4N2E1YzdlYzFhYWU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaApA
QCAtNTEsNDAgKzUxLDQyIEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Vp
bnQ4QXJyYXkgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwKIHN0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1VpbnQ4Q2xhbXBlZEFycmF5ICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgODsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIFVpbnQ4Q2xhbXBlZEFycmF5IG9yIG9u
ZSBvZiBpdHMgc3ViY2xhc3Nlcy4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y1VpbnQxNkFycmF5ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgOTsgLy8gSXQncyBk
ZWZpbml0ZWx5IGFuIFVpbnQxNkFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KIHN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1VpbnQzMkFycmF5ICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMTA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50MzJBcnJheSBv
ciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBl
IFNwZWNGbG9hdDMyQXJyYXkgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDExOyAvLyBJ
dCdzIGRlZmluaXRlbHkgYW4gVWludDE2QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgot
c3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRmxvYXQ2NEFycmF5ICAgICAgICAg
ICAgICAgICAgICAgID0gMXVsbCA8PCAxMjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIFVpbnQxNkFy
cmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY1R5cGVkQXJyYXlWaWV3ICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQ4QXJy
YXkgfCBTcGVjSW50MTZBcnJheSB8IFNwZWNJbnQzMkFycmF5IHwgU3BlY1VpbnQ4QXJyYXkgfCBT
cGVjVWludDhDbGFtcGVkQXJyYXkgfCBTcGVjVWludDE2QXJyYXkgfCBTcGVjVWludDMyQXJyYXkg
fCBTcGVjRmxvYXQzMkFycmF5IHwgU3BlY0Zsb2F0NjRBcnJheTsKLXN0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0RpcmVjdEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMTM7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERpcmVjdEFyZ3VtZW50cyBvYmplY3QuCi1z
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTY29wZWRBcmd1bWVudHMgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDE0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTY29wZWRBcmd1
bWVudHMgb2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5n
T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNTsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgU3RyaW5nT2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
UmVnRXhwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNjsgLy8gSXQncyBk
ZWZpbml0ZWx5IGEgUmVnRXhwT2JqZWN0IChhbmQgbm90IGFueSBzdWJjbGFzcyBvZiBSZWdFeHBP
YmplY3QpLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGF0ZU9iamVjdCAg
ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNzsgLy8gSXQncyBkZWZpbml0ZWx5IGEg
RGF0ZSBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjUHJvbWlzZU9iamVjdCAgICAgICAgICAgICAgICAgICAgID0gMXVs
bCA8PCAxODsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJvbWlzZSBvYmplY3Qgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjTWFwT2Jq
ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxOTsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgTWFwIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTZXRPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDIwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTZXQgb2JqZWN0IG9yIG9uZSBvZiBp
dHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtN
YXBPYmplY3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjE7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIFdlYWtNYXAgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtTZXRPYmplY3QgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMjI7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFdlYWtTZXQgb2JqZWN0IG9y
IG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
U3BlY1Byb3h5T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjM7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIFByb3h5IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1z
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEZXJpdmVkQXJyYXkgICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDI0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBEZXJpdmVkQXJy
YXkgb2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT2JqZWN0T3Ro
ZXIgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNTsgLy8gSXQncyBkZWZpbml0ZWx5
IGFuIG9iamVjdCBidXQgbm90IEpTRmluYWxPYmplY3QsIEpTQXJyYXksIG9yIEpTRnVuY3Rpb24u
Ci1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdJZGVudCAgICAgICAg
ICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmlu
ZywgYW5kIGl0J3MgYW4gaWRlbnRpZmllci4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY1N0cmluZ1ZhciAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjc7IC8v
IEl0J3MgZGVmaW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBub3QgYW4gaWRlbnRpZmllci4K
K3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Zsb2F0MzJBcnJheSAgICAgICAg
ICAgICAgICAgICAgICA9IDF1bGwgPDwgMTE7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBGbG9hdDMy
QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRmxvYXQ2NEFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAx
MjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEZsb2F0NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNs
YXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQ2NEFycmF5
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEzOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
QmlnSW50NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdVaW50NjRBcnJheSAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDE0OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gQmlnVWludDY0QXJyYXkgb3Igb25lIG9m
IGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVHlw
ZWRBcnJheVZpZXcgICAgICAgICAgICAgICAgICAgID0gU3BlY0ludDhBcnJheSB8IFNwZWNJbnQx
NkFycmF5IHwgU3BlY0ludDMyQXJyYXkgfCBTcGVjVWludDhBcnJheSB8IFNwZWNVaW50OENsYW1w
ZWRBcnJheSB8IFNwZWNVaW50MTZBcnJheSB8IFNwZWNVaW50MzJBcnJheSB8IFNwZWNGbG9hdDMy
QXJyYXkgfCBTcGVjRmxvYXQ2NEFycmF5IHwgU3BlY0JpZ0ludDY0QXJyYXkgfCBTcGVjQmlnVWlu
dDY0QXJyYXk7CitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEaXJlY3RBcmd1
bWVudHMgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE1OyAvLyBJdCdzIGRlZmluaXRlbHkg
YSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0Lgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjU2NvcGVkQXJndW1lbnRzICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNjsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgU2NvcGVkQXJndW1lbnRzIG9iamVjdC4KK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0cmluZ09iamVjdCAgICAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMTc7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN0cmluZ09iamVjdC4KK3N0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1JlZ0V4cE9iamVjdCAgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMTg7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFJlZ0V4cE9iamVjdCAoYW5k
IG5vdCBhbnkgc3ViY2xhc3Mgb2YgUmVnRXhwT2JqZWN0KS4KK3N0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY0RhdGVPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgMTk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERhdGUgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3Vi
Y2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Byb21pc2VPYmpl
Y3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjA7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IFByb21pc2Ugb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01hcE9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMjE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIE1hcCBvYmplY3Qgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU2V0T2Jq
ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyMjsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNXZWFrTWFwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDIzOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFrTWFwIG9iamVjdCBvciBvbmUg
b2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNX
ZWFrU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI0OyAvLyBJdCdzIGRl
ZmluaXRlbHkgYSBXZWFrU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm94eU9iamVjdCAgICAgICAgICAgICAg
ICAgICAgICAgPSAxdWxsIDw8IDI1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBQcm94eSBvYmplY3Qg
b3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjRGVyaXZlZEFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNjsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgRGVyaXZlZEFycmF5IG9iamVjdC4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY09iamVjdE90aGVyICAgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMjc7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBvYmplY3QgYnV0IG5vdCBKU0ZpbmFsT2Jq
ZWN0LCBKU0FycmF5LCBvciBKU0Z1bmN0aW9uLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjU3RyaW5nSWRlbnQgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyODsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdzIGFuIGlkZW50aWZpZXIuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdWYXIgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDI5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZywg
YW5kIGl0J3Mgbm90IGFuIGlkZW50aWZpZXIuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNTdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjU3RyaW5nSWRl
bnQgfCBTcGVjU3RyaW5nVmFyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZy4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N5bWJvbCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjg7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN5bWJvbC4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0NlbGxPdGhlciAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbCBidXQgbm90
IGEgc3ViY2xhc3Mgb2YgSlNPYmplY3QgYW5kIGRlZmluaXRlbHkgbm90IGEgSlNTdHJpbmcsIEJp
Z0ludCwgb3IgU3ltYm9sLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQm9v
bEludDMyICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzMDsgLy8gSXQncyBkZWZp
bml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgMCBvciAxLgotc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjTm9uQm9vbEludDMyICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCAzMTsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgb3RoZXIgdGhhbiAw
IG9yIDEuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTeW1ib2wgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBT
eW1ib2wuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3RoZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBK
U0NlbGwgYnV0IG5vdCBhIHN1YmNsYXNzIG9mIEpTT2JqZWN0IGFuZCBkZWZpbml0ZWx5IG5vdCBh
IEpTU3RyaW5nLCBCaWdJbnQsIG9yIFN5bWJvbC4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY0Jvb2xJbnQzMiAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzI7
IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVlIDAgb3IgMS4KK3N0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkJvb2xJbnQzMiAgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMzM7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVl
IG90aGVyIHRoYW4gMCBvciAxLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
SW50MzJPbmx5ICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0Jvb2xJbnQzMiB8IFNwZWNO
b25Cb29sSW50MzI7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMi4KIAotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50MzJBc0ludDUyICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAzMjsgLy8gSXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuIGZpdCBpbiBhbiBpbnQz
Mi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludDMyQXNJbnQ1MiAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzM7IC8vIEl0J3MgYW4gSW50NTIgYW5kIGl0IGNh
bid0IGZpdCBpbiBhbiBpbnQzMi4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0ludDMyQXNJbnQ1MiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzQ7IC8vIEl0J3Mg
YW4gSW50NTIgYW5kIGl0IGNhbiBmaXQgaW4gYW4gaW50MzIuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnQzMkFzSW50NTIgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDM1OyAvLyBJdCdzIGFuIEludDUyIGFuZCBpdCBjYW4ndCBmaXQgaW4gYW4gaW50MzIuCiBz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnQ1MkFueSAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSBTcGVjSW50MzJBc0ludDUyIHwgU3BlY05vbkludDMyQXNJbnQ1MjsgLy8g
SXQncyBhbnkga2luZCBvZiBJbnQ1Mi4KIAotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjQW55SW50QXNEb3VibGUgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNDsgLy8g
SXQncyBkZWZpbml0ZWx5IGFuIEludDUyIGFuZCBpdCdzIGluc2lkZSBhIGRvdWJsZS4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludEFzRG91YmxlICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMzU7IC8vIEl0J3MgZGVmaW5pdGVseSBub3QgYW4gSW50NTIgYnV0
IGl0J3MgYSByZWFsIG51bWJlciBhbmQgaXQncyBhIGRvdWJsZS4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0FueUludEFzRG91YmxlICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMzY7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQ1MiBhbmQgaXQncyBpbnNpZGUgYSBk
b3VibGUuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnRBc0RvdWJs
ZSAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM3OyAvLyBJdCdzIGRlZmluaXRlbHkgbm90
IGFuIEludDUyIGJ1dCBpdCdzIGEgcmVhbCBudW1iZXIgYW5kIGl0J3MgYSBkb3VibGUuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVSZWFsICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjTm9uSW50QXNEb3VibGUgfCBTcGVjQW55SW50QXNEb3VibGU7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIG5vbi1OYU4gZG91YmxlLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRG91YmxlUHVyZU5hTiAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAz
NjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgc2FmZSB0byB0YWcgKGkuZS4gcHVy
ZSkuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVJbXB1cmVOYU4g
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM3OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4g
dGhhdCBpcyB1bnNhZmUgdG8gdGFnIChpLmUuIGltcHVyZSkuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVQdXJlTmFOICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDM4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4gdGhhdCBpcyBzYWZlIHRvIHRhZyAoaS5l
LiBwdXJlKS4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZUltcHVy
ZU5hTiAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzk7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IE5hTiB0aGF0IGlzIHVuc2FmZSB0byB0YWcgKGkuZS4gaW1wdXJlKS4KIHN0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZU5hTiAgICAgICAgICAgICAgICAgICAgICAgICA9
IFNwZWNEb3VibGVQdXJlTmFOIHwgU3BlY0RvdWJsZUltcHVyZU5hTjsgLy8gSXQncyBkZWZpbml0
ZWx5IHNvbWUga2luZCBvZiBOYU4uCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNCeXRlY29kZURvdWJsZSAgICAgICAgICAgICAgICAgICAgPSBTcGVjRG91YmxlUmVhbCB8IFNw
ZWNEb3VibGVQdXJlTmFOOyAvLyBJdCdzIGVpdGhlciBhIG5vbi1OYU4gb3IgYSBOYU4gZG91Ymxl
LCBidXQgaXQncyBkZWZpbml0ZWx5IG5vdCBpbXB1cmUgTmFOLgogc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjRnVsbERvdWJsZSAgICAgICAgICAgICAgICAgICAgICAgID0gU3Bl
Y0RvdWJsZVJlYWwgfCBTcGVjRG91YmxlTmFOOyAvLyBJdCdzIGVpdGhlciBhIG5vbi1OYU4gb3Ig
YSBOYU4gZG91YmxlLgpAQCAtOTQsMTkgKzk2LDE5IEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY0J5dGVjb2RlTnVtYmVyICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQz
CiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnRBbnlGb3JtYXQgICAgICAg
ICAgICAgICAgICAgICAgPSBTcGVjSW50NTJBbnkgfCBTcGVjSW50MzJPbmx5IHwgU3BlY0FueUlu
dEFzRG91YmxlOwogCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxsTnVt
YmVyICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50QW55Rm9ybWF0IHwgU3BlY0Z1bGxE
b3VibGU7IC8vIEl0J3MgZWl0aGVyIGFuIEludDMyLCBJbnQ1Miwgb3IgYSBEb3VibGUsIGFuZCB0
aGUgRG91YmxlIGNhbiBiZSBpbXB1cmUgTmFOLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjQm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzODsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgQm9vbGVhbi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY090aGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzk7
IC8vIEl0J3MgZGVmaW5pdGVseSBlaXRoZXIgTnVsbCBvciBVbmRlZmluZWQuCitzdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCb29sZWFuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDQwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCb29sZWFuLgorc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT3RoZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCA0MTsgLy8gSXQncyBkZWZpbml0ZWx5IGVpdGhlciBOdWxsIG9yIFVuZGVm
aW5lZC4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01pc2MgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IFNwZWNCb29sZWFuIHwgU3BlY090aGVyOyAvLyBJdCdzIGRl
ZmluaXRlbHkgZWl0aGVyIGEgYm9vbGVhbiwgTnVsbCwgb3IgVW5kZWZpbmVkLgotc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRW1wdHkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCA0MDsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIGVtcHR5IHZhbHVlIG1hcmtl
ci4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0hlYXBCaWdJbnQgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEJpZ0lu
dCB0aGF0IGlzIGFsbG9jYXRlZCBvbiB0aGUgaGVhcAotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjQmlnSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA0
MjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgc21hbGwgQmlnSW50IHRoYXQgaXMgaW5saW5lIHRoZSBK
U1ZhbHVlCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNFbXB0eSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQyOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
ZW1wdHkgdmFsdWUgbWFya2VyLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
SGVhcEJpZ0ludCAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA0MzsgLy8gSXQncyBk
ZWZpbml0ZWx5IGEgQmlnSW50IHRoYXQgaXMgYWxsb2NhdGVkIG9uIHRoZSBoZWFwCitzdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQzMiAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQ0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBzbWFsbCBCaWdJbnQgdGhh
dCBpcyBpbmxpbmUgdGhlIEpTVmFsdWUKICNpZiBVU0UoQklHSU5UMzIpCiBzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSBTcGVjQmlnSW50MzIgfCBTcGVjSGVhcEJpZ0ludDsKICNlbHNlCiAvLyBXZSBzaG91bGQgbm90
IGluY2x1ZGUgU3BlY0JpZ0ludDMyLiBXZSBhcmUgdXNpbmcgU3BlY0JpZ0ludCBpbiB2YXJpb3Vz
IHBsYWNlcyBsaWtlIHByZWRpY3Rpb24uIElmIHRoaXMgaW5jbHVkZXMgU3BlY0JpZ0ludDMyLCBm
aXh1cCBwaGFzZSBpcyBjb25mdXNlZCBpZiAhVVNFKEJJR0lOVDMyKSBzaW5jZSBpdCBpcyBub3Qg
dXNpbmcgQW55QmlnSW50VXNlLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
QmlnSW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0hlYXBCaWdJbnQ7CiAjZW5k
aWYKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RhdGFWaWV3T2JqZWN0ICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDM7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTRGF0
YVZpZXcuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEYXRhVmlld09iamVj
dCAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQ1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBK
U0RhdGFWaWV3Lgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJpbWl0aXZl
ICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY1N0cmluZyB8IFNwZWNTeW1ib2wgfCBTcGVj
Qnl0ZWNvZGVOdW1iZXIgfCBTcGVjTWlzYyB8IFNwZWNCaWdJbnQ7IC8vIEl0J3MgYW55IG5vbi1P
YmplY3QgSlNWYWx1ZS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY09iamVj
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNGaW5hbE9iamVjdCB8IFNwZWNBcnJh
eSB8IFNwZWNGdW5jdGlvbiB8IFNwZWNUeXBlZEFycmF5VmlldyB8IFNwZWNEaXJlY3RBcmd1bWVu
dHMgfCBTcGVjU2NvcGVkQXJndW1lbnRzIHwgU3BlY1N0cmluZ09iamVjdCB8IFNwZWNSZWdFeHBP
YmplY3QgfCBTcGVjRGF0ZU9iamVjdCB8IFNwZWNQcm9taXNlT2JqZWN0IHwgU3BlY01hcE9iamVj
dCB8IFNwZWNTZXRPYmplY3QgfCBTcGVjV2Vha01hcE9iamVjdCB8IFNwZWNXZWFrU2V0T2JqZWN0
IHwgU3BlY1Byb3h5T2JqZWN0IHwgU3BlY0Rlcml2ZWRBcnJheSB8IFNwZWNPYmplY3RPdGhlciB8
IFNwZWNEYXRhVmlld09iamVjdDsgLy8gQml0bWFzayB1c2VkIGZvciB0ZXN0aW5nIGZvciBhbnkg
a2luZCBvZiBvYmplY3QgcHJlZGljdGlvbi4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY0NlbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNPYmplY3QgfCBT
cGVjU3RyaW5nIHwgU3BlY1N5bWJvbCB8IFNwZWNDZWxsT3RoZXIgfCBTcGVjSGVhcEJpZ0ludDsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgSlNDZWxsLgpAQCAtMjg3LDUxICsyODksMjQgQEAgaW5saW5l
IGJvb2wgaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKICAg
ICByZXR1cm4gdmFsdWUgPT0gU3BlY0Zsb2F0NjRBcnJheTsKIH0KIAotaW5saW5lIGJvb2wgaXNE
aXJlY3RBcmd1bWVudHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGluZSBi
b29sIGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogewot
ICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjRGlyZWN0QXJndW1lbnRzOworICAgIHJldHVybiB2YWx1
ZSA9PSBTcGVjQmlnSW50NjRBcnJheTsKIH0KIAotaW5saW5lIGJvb2wgaXNTY29wZWRBcmd1bWVu
dHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGluZSBib29sIGlzQmlnVWlu
dDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4g
dmFsdWUgPT0gU3BlY1Njb3BlZEFyZ3VtZW50czsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0Jp
Z1VpbnQ2NEFycmF5OwogfQogCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVJbnRNdXRhYmxlQXJy
YXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKLXsKLSAgICByZXR1cm4gaXNJbnQ4
QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNJbnQxNkFycmF5U3BlY3VsYXRp
b24odmFsdWUpCi0gICAgICAgIHx8IGlzSW50MzJBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAg
ICAgICB8fCBpc1VpbnQ4QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNVaW50
OENsYW1wZWRBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc1VpbnQxNkFycmF5
U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzVWludDMyQXJyYXlTcGVjdWxhdGlvbih2
YWx1ZSk7Ci19Ci0KLWlubGluZSBib29sIGlzQWN0aW9uYWJsZUZsb2F0TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGlzRmxvYXQzMkFy
cmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzRmxvYXQ2NEFycmF5U3BlY3VsYXRp
b24odmFsdWUpOwotfQotCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVUeXBlZE11dGFibGVBcnJh
eVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQotewotICAgIHJldHVybiBpc0FjdGlv
bmFibGVJbnRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNBY3Rp
b25hYmxlRmxvYXRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSk7Ci19Ci0KLWlubGluZSBi
b29sIGlzQWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZh
bHVlKQoraW5saW5lIGJvb2wgaXNEaXJlY3RBcmd1bWVudHNTcGVjdWxhdGlvbihTcGVjdWxhdGVk
VHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4gaXNBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAg
ICAgICB8fCBpc0FjdGlvbmFibGVUeXBlZE11dGFibGVBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsK
KyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0RpcmVjdEFyZ3VtZW50czsKIH0KIAotaW5saW5lIGJv
b2wgaXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lu
bGluZSBib29sIGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFs
dWUpCiB7Ci0gICAgcmV0dXJuIGlzU3RyaW5nU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8
IGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzU2NvcGVk
QXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzQWN0aW9uYWJsZU11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY1Njb3Bl
ZEFyZ3VtZW50czsKIH0KIAogaW5saW5lIGJvb2wgaXNBcnJheU9yT3RoZXJTcGVjdWxhdGlvbihT
cGVjdWxhdGVkVHlwZSB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA3YjViNjg0NTg4NWE0
NWQzMmNmOTAyMmMwOTBlYWFmZWU4NzNkNmJkLi5lODQ4MmJkYmE5N2UyMjAzYjBjYmVhODE0MTlk
MGJkNjQ1ZmVkNjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zNjQ3LDYgKzM2NDcsMTIgQEAg
Ym9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5
OgogICAgICAgICAgICAgZmlsdGVyKG5vZGUtPmNoaWxkMSgpLCBTcGVjRmxvYXQ2NEFycmF5IHwg
YWRtaXR0ZWRUeXBlcyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcnJheTo6
QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY0Jp
Z0ludDY0QXJyYXkgfCBhZG1pdHRlZFR5cGVzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgICAgIGZpbHRlcihub2RlLT5j
aGlsZDEoKSwgU3BlY0JpZ1VpbnQ2NEFycmF5IHwgYWRtaXR0ZWRUeXBlcyk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAgICAg
IGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY1R5cGVkQXJyYXlWaWV3IHwgYWRtaXR0ZWRUeXBl
cyk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJy
YXlNb2RlLmNwcAppbmRleCBjNzljZGE0NGY5ODRiM2I0Y2RmYWEwZWRlZWNhYWI1NGFhODc4NTIx
Li45ZGIxNGI1YTIxNDVhMzczMjNlNTY4MmQ3YzYyOGM5YjBlYmQ3MjA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCkBAIC0xNDUsNiArMTQ1LDEyIEBAIEFy
cmF5TW9kZSBBcnJheU1vZGU6OmZyb21PYnNlcnZlZChjb25zdCBDb25jdXJyZW50SlNMb2NrZXIm
IGxvY2tlciwgQXJyYXlQcm9maWxlCiAgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkZs
b2F0MzJBcnJheSwgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxlKGxv
Y2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOwogICAgIGNhc2UgRmxvYXQ2NEFycmF5TW9kZToKICAg
ICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6RmxvYXQ2NEFycmF5LCBub25BcnJheSwgQXJy
YXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2FmZSk7
CisgICAgLy8gRklYTUU6IEFkZCBCaWdJbnQ2NEFycmF5IC8gQmlnVWludDY0QXJyYXkgc3VwcG9y
dC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMTcy
CisgICAgY2FzZSBCaWdJbnQ2NEFycmF5TW9kZToKKyAgICAgICAgcmV0dXJuIEFycmF5TW9kZShB
cnJheTo6R2VuZXJpYywgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxl
KGxvY2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOworICAgIGNhc2UgQmlnVWludDY0QXJyYXlNb2Rl
OgorICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub25BcnJheSwgQXJy
YXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2FmZSk7
CiAKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBJZiB3ZSBoYXZlIHNlZW4gbXVsdGlwbGUgVHlw
ZWRBcnJheSB0eXBlcywgb3IgYSBUeXBlZEFycmF5IGFuZCBub24tdHlwZWQgYXJyYXksIGl0IGRv
ZXNuJ3QgbWFrZSBzZW5zZSB0byB0cnkgdG8gY29udmVydCB0aGUgb2JqZWN0IHNpbmNlIHlvdSBj
YW4ndCBjb252ZXJ0IHR5cGVkIGFycmF5cy4KQEAgLTI5Myw2ICsyOTksMTMgQEAgQXJyYXlNb2Rl
IEFycmF5TW9kZTo6cmVmaW5lKAogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlZEFycmF5UmVz
dWx0KHdpdGhTcGVjdWxhdGlvbihBcnJheTo6T3V0T2ZCb3VuZHMpKTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdCh3aXRoU3BlY3VsYXRpb24oQXJyYXk6OkluQm91
bmRzKSk7CisKKyAgICAvLyBGSVhNRTogQWRkIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJh
eSBzdXBwb3J0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjExNzIKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgIGNhc2UgQXJyYXk6
OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmlj
LCBhY3Rpb24oKSk7CisKICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgogICAgIGNhc2UgQXJy
YXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6IHsKICAgICAgICAgYmFzZSAmPSB+U3BlY090aGVy
OwpAQCAtMzU0LDYgKzM2NywxNSBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpyZWZpbmUoCiAgICAg
ICAgIGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKGJhc2UpKQogICAgICAgICAgICAgcmV0
dXJuIHR5cGVkQXJyYXlSZXN1bHQocmVzdWx0LndpdGhUeXBlKEFycmF5OjpGbG9hdDY0QXJyYXkp
KTsKIAorICAgICAgICAvLyBGSVhNRTogQWRkIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJh
eSBzdXBwb3J0LgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIxMTcyCisKKyAgICAgICAgaWYgKGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKGJh
c2UpKQorICAgICAgICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6R2VuZXJpYywgYWN0aW9u
KCkpOworCisgICAgICAgIGlmIChpc0JpZ1VpbnQ2NEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCisg
ICAgICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBhY3Rpb24oKSk7CisK
ICAgICAgICAgaWYgKHR5cGUoKSA9PSBBcnJheTo6VW5wcm9maWxlZCkKICAgICAgICAgICAgIHJl
dHVybiBBcnJheU1vZGUoQXJyYXk6OkZvcmNlRXhpdCwgYWN0aW9uKCkpOwogICAgICAgICByZXR1
cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBhY3Rpb24oKSk7CkBAIC02MDUsNiArNjI3LDEy
IEBAIGJvb2wgQXJyYXlNb2RlOjphbHJlYWR5Q2hlY2tlZChHcmFwaCYgZ3JhcGgsIE5vZGUqIG5v
ZGUsIGNvbnN0IEFic3RyYWN0VmFsdWUmIHZhCiAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5
OgogICAgICAgICByZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY0Zs
b2F0NjRBcnJheSk7CiAKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBy
ZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY0JpZ0ludDY0QXJyYXkp
OworCisgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBzcGVj
dWxhdGlvbkNoZWNrZWQodmFsdWUubV90eXBlLCBTcGVjQmlnVWludDY0QXJyYXkpOworCiAgICAg
Y2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uQ2hl
Y2tlZCh2YWx1ZS5tX3R5cGUsIFNwZWNUeXBlZEFycmF5Vmlldyk7CiAKQEAgLTY3OSw2ICs3MDcs
MTAgQEAgY29uc3QgY2hhciogYXJyYXlUeXBlVG9TdHJpbmcoQXJyYXk6OlR5cGUgdHlwZSkKICAg
ICAgICAgcmV0dXJuICJGbG9hdDMyQXJyYXkiOwogICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJh
eToKICAgICAgICAgcmV0dXJuICJGbG9hdDY0QXJyYXkiOworICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgIHJldHVybiAiQmlnSW50NjRBcnJheSI7CisgICAgY2FzZSBBcnJh
eTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiAiQmlnVWludDY0QXJyYXkiOwogICAg
IGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAgICAgIHJldHVybiAiQW55VHlwZWRBcnJh
eSI7CiAgICAgZGVmYXVsdDoKQEAgLTc4MSw2ICs4MTMsMTAgQEAgVHlwZWRBcnJheVR5cGUgdG9U
eXBlZEFycmF5VHlwZShBcnJheTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gVHlwZUZsb2F0
MzI7CiAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gVHlwZUZs
b2F0NjQ7CisgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5
cGVCaWdJbnQ2NDsKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgcmV0
dXJuIFR5cGVCaWdVaW50NjQ7CiAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIE5vdFR5cGVk
QXJyYXk7CkBAIC04MTAsNiArODQ2LDEwIEBAIEFycmF5OjpUeXBlIHRvQXJyYXlUeXBlKFR5cGVk
QXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBBcnJheTo6RmxvYXQzMkFycmF5OwogICAg
IGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBBcnJheTo6RmxvYXQ2NEFycmF5Owor
ICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gQXJyYXk6OkJpZ0ludDY0QXJy
YXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gQXJyYXk6OkJpZ1Vp
bnQ2NEFycmF5OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBBcnJheTo6R2VuZXJpYzsK
ICAgICB9CkBAIC04NDUsNiArODg1LDggQEAgYm9vbCBwZXJtaXRzQm91bmRzQ2hlY2tMb3dlcmlu
ZyhBcnJheTo6VHlwZSB0eXBlKQogICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAgIGNh
c2UgQXJyYXk6OkZsb2F0MzJBcnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6Cisg
ICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRB
cnJheToKICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBcnJheU1vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgK
aW5kZXggMWM1NjMyYTMxZmJkZTE5MDM1YzVkMjU2MzczNGE2MzA5YjdkYjAxZC4uMTExMWY4OWY5
ZDdiNWI5Nzc3OGMxNmM4ZDU0NjQwYmVhMzc0NDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0FycmF5TW9kZS5oCkBAIC03Niw2ICs3Niw4IEBAIGVudW0gVHlwZSA6IHVpbnQ4X3Qg
ewogICAgIFVpbnQzMkFycmF5LAogICAgIEZsb2F0MzJBcnJheSwKICAgICBGbG9hdDY0QXJyYXks
CisgICAgQmlnSW50NjRBcnJheSwKKyAgICBCaWdVaW50NjRBcnJheSwKICAgICBBbnlUeXBlZEFy
cmF5CiB9OwogCkBAIC0zOTMsNiArMzk1LDggQEAgY2xhc3MgQXJyYXlNb2RlIHsKICAgICAgICAg
Y2FzZSBBcnJheTo6VWludDMyQXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0MzJBcnJh
eToKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5
OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAg
ICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKQEAgLTQ3Nyw2ICs0ODEsMTAgQEAgY2xhc3MgQXJyYXlN
b2RlIHsKICAgICAgICAgICAgIHJldHVybiBGbG9hdDMyQXJyYXlNb2RlOwogICAgICAgICBjYXNl
IEFycmF5OjpGbG9hdDY0QXJyYXk6CiAgICAgICAgICAgICByZXR1cm4gRmxvYXQ2NEFycmF5TW9k
ZTsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIHJldHVy
biBCaWdJbnQ2NEFycmF5TW9kZTsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6
CisgICAgICAgICAgICByZXR1cm4gQmlnVWludDY0QXJyYXlNb2RlOwogICAgICAgICBjYXNlIEFy
cmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICAgICAgcmV0dXJuIEFMTF9UWVBFRF9BUlJBWV9N
T0RFUzsKICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggNTRlMzVlN2M1NjhhNTA2MTk2ZjEzZmE1OTY3NDgzZmU3YWU4NDYwNi4u
ZTc2NzIzZTc1ZGY5YWU5NDY0M2ZhYzAzYjllZWIyOTg4NGY4OWZlYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTkxNCw2ICs5MTQsOCBAQCB2b2lkIGNs
b2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVh
ZCwgY29uc3QgV3JpdGVGdQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCiAgICAg
ICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJy
YXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAgY2xv
YmJlclRvcCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCkBAIC0xMDUxLDYg
KzEwNTMsOCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25z
dCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6CisgICAgICAgIGNhc2Ug
QXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5
OgogICAgICAgICAgICAgY2xvYmJlclRvcCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAppbmRl
eCA1Mjk2YzY4NTY0MjE4YjRjZjdiODlkZmI2MTY5N2JmYTk2ZDM1ZTg2Li41MGRlZTlkYmMyZDQ1
YzYxNzUyOGU5MGJlZDlhYzBjMDAyZmVmYTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTE5NDIsNiArMTk0MiwzOCBAQCBKU0NfREVGSU5FX0pJ
VF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFy
KiwgKEpTR2xvYgogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihjb25zdHJ1Y3RH
ZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTRmxvYXQ2NEFycmF5PihnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgZW5jb2RlZFZhbHVlLCAwLCBXVEY6Om51bGxvcHQpKTsKIH0KIAor
SlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0JpZ0ludDY0QXJyYXlXaXRoU2l6
ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgaW50MzJfdCBsZW5ndGgsIGNoYXIqIHZlY3RvcikpCit7CisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworICAgIENhbGxGcmFtZSogY2FsbEZyYW1lID0gREVDTEFSRV9DQUxM
X0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRpb25Qcm9sb2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0dXJuIG5ld1R5cGVkQXJyYXlXaXRoU2l6ZTxKU0Jp
Z0ludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3Ip
OworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50NjRBcnJh
eVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK3sKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUg
PSBERUNMQVJFX0NBTExfRlJBTUUodm0pOworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcih2bSwgY2FsbEZyYW1lKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjaGFyKj4oY29uc3RydWN0R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50czxK
U0JpZ0ludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBlbmNvZGVkVmFsdWUsIDAs
IFdURjo6bnVsbG9wdCkpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TmV3QmlnVWludDY0QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgaW50MzJfdCBsZW5ndGgsIGNoYXIqIHZlY3Rv
cikpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIENhbGxGcmFtZSog
Y2FsbEZyYW1lID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRpb25Qcm9s
b2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0dXJuIG5l
d1R5cGVkQXJyYXlXaXRoU2l6ZTxKU0JpZ1VpbnQ2NEFycmF5PihnbG9iYWxPYmplY3QsIHZtLCBz
dHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yKTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9O
KG9wZXJhdGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFyKiwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IERFQ0xBUkVfQ0FMTF9GUkFNRSh2bSk7CisgICAg
SklUT3BlcmF0aW9uUHJvbG9ndWVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBjYWxsRnJhbWUp
OworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihjb25zdHJ1Y3RHZW5lcmljVHlw
ZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTQmlnVWludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBlbmNvZGVkVmFsdWUsIDAsIFdURjo6bnVsbG9wdCkpOworfQorCiBKU0NfREVG
SU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QXJyYXlJdGVyYXRvciwgSlNDZWxsKiwgKFZN
KiB2bVBvaW50ZXIsIFN0cnVjdHVyZSogc3RydWN0dXJlKSkKIHsKICAgICBWTSYgdm0gPSAqdm1Q
b2ludGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAppbmRleCA5
MDllNTkxNzFmMmVlZWRlZGIyNzU2ZjJjYmVkMDhhNjY5N2MwZTg3Li4yMjFiNGM0Mjc3YWZiOGYw
ZGYyOTZjNTUwYmY0M2UyMjQwM2EzZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09wZXJhdGlvbnMuaApAQCAtMTMwLDYgKzEzMCwxMCBAQCBKU0NfREVDTEFSRV9KSVRfT1BFUkFU
SU9OKG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2Jq
ZQogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRo
T25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVk
SlNWYWx1ZSkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdGbG9hdDY0
QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIGludDMy
X3QsIGNoYXIqKSk7CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0
NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSosIEVuY29kZWRKU1ZhbHVlKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlv
bk5ld0JpZ0ludDY0QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIGludDMyX3QsIGNoYXIqKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJh
dGlvbk5ld0JpZ0ludDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkpOworSlNDX0RFQ0xBUkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciopKTsKK0pTQ19ERUNMQVJFX0pJVF9P
UEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIq
LCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkpOwogSlNDX0RF
Q0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdBcnJheUl0ZXJhdG9yLCBKU0NlbGwqLCAo
Vk0qLCBTdHJ1Y3R1cmUqKSk7CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5l
d01hcEl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qLCBTdHJ1Y3R1cmUqKSk7CiBKU0NfREVDTEFSRV9K
SVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld1NldEl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qLCBTdHJ1
Y3R1cmUqKSk7CkBAIC0zNjEsNiArMzY1LDEwIEBAIGlubGluZSBhdXRvIG9wZXJhdGlvbk5ld1R5
cGVkQXJyYXlXaXRoU2l6ZUZvclR5cGUoVHlwZWRBcnJheVR5cGUgdHlwZSkgLT4gZGVjbHR5CiAg
ICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRoU2l6ZTsKICAgICBjYXNl
IFR5cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4gb3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0
aFNpemU7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25O
ZXdCaWdJbnQ2NEFycmF5V2l0aFNpemU7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAg
ICByZXR1cm4gb3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoU2l6ZTsKICAgICBjYXNlIE5v
dFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgIGJyZWFrOwpAQCAt
MzkwLDYgKzM5OCwxMCBAQCBpbmxpbmUgYXV0byBvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aE9u
ZUFyZ3VtZW50Rm9yVHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKSAtPgogICAgICAgICByZXR1cm4g
b3BlcmF0aW9uTmV3RmxvYXQzMkFycmF5V2l0aE9uZUFyZ3VtZW50OwogICAgIGNhc2UgVHlwZUZs
b2F0NjQ6CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoT25lQXJn
dW1lbnQ7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25O
ZXdCaWdJbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoK
KyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50
OwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAg
ICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAppbmRleCA5YTk3NzI4MWNjN2Q4ZmU3Yjk4NDMyNzg4MTVlYTE0ZDQ2OGZkYmM5
Li5iZmVmYjNkMzY3OWY5YjU4YTY5YmY3ZGU2MTU2NmU4OWFmN2VlYzg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTI2NDgs
NiArMjY0OCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxl
ZEV4cGxpY2l0bHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2Fz
ZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJy
YXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6IHsKICAgICAgICAgICAgIGlmIChtX2dy
YXBoLm1fc2xvd0dldEJ5VmFsLmNvbnRhaW5zKG5vZGUpKSB7CiAgICAgICAgICAgICAgICAgaWYg
KG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkudXNlS2luZCgpID09IE9iamVjdFVzZSkgewpA
QCAtMjk4MCw2ICsyOTgyLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBu
b2RlKQogICAgICAgICBjYXNlIEFycmF5OjpGb3JjZUV4aXQ6CiAgICAgICAgICAgICBERkdfQ1JB
U0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkJhZCBhcnJheSBtb2RlIHR5cGUiKTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBj
YXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzog
ewogICAgICAgICAgICAgREZHX0FTU0VSVChtX2ppdC5ncmFwaCgpLCBub2RlLCBub2RlLT5vcCgp
ID09IFB1dEJ5VmFsIHx8IG5vZGUtPm9wKCkgPT0gUHV0QnlWYWxEaXJlY3QsIG5vZGUtPm9wKCkp
OwogCkBAIC0zMjEwLDYgKzMyMTQsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6CiAg
ICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICAgICAgY2FzZSBBcnJheTo6VW5wcm9m
aWxlZDoKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBB
cnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IGVhMWYzNzIzOWMyODlkZjEyY2NkMzFi
ZWY0ZjU1OWRiYTdmNjEwNWMuLjFjZjgyOTNhNGQzNGU3ZDMwZjdhNmZiNzcyZDA3MzdkZGZiYTU2
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
QEAgLTUwNjMsNiArNTA2Myw4IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgICAgIAorICAgICAgICBjYXNlIEFycmF5OjpCaWdJ
bnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAg
Y2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9zbG93R2V0
QnlWYWwuY29udGFpbnMobV9ub2RlKSkgewogICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLnZh
ckFyZ0NoaWxkKG1fbm9kZSwgMCkudXNlS2luZCgpID09IE9iamVjdFVzZSkgewpAQCAtNTM1OCw2
ICs1MzYwLDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgCiAgICAgICAgIEFycmF5
TW9kZSBhcnJheU1vZGUgPSBtX25vZGUtPmFycmF5TW9kZSgpLm1vZGVGb3JQdXQoKTsKICAgICAg
ICAgc3dpdGNoIChhcnJheU1vZGUudHlwZSgpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICBj
YXNlIEFycmF5OjpHZW5lcmljOiB7CiAgICAgICAgICAgICBpZiAoY2hpbGQxLnVzZUtpbmQoKSA9
PSBDZWxsVXNlKSB7CiAgICAgICAgICAgICAgICAgVl9KSVRPcGVyYXRpb25fR0NDSiBvcGVyYXRp
b24gPSBudWxscHRyOwpAQCAtNTY0Nyw2ICs1NjUxLDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsK
ICAgICAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9uczoKICAgICAgICAgY2Fz
ZSBBcnJheTo6VW5kZWNpZGVkOgogICAgICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgorICAg
ICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdV
aW50NjRBcnJheToKICAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQg
YXJyYXkgdHlwZSIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5j
cHAKaW5kZXggYmNhMThhMjY0MjM5ZWJkMzcwMGRhNGJiNTRhZGUxOTRiYTQ3MjYxZC4uYTk4YmQ4
NmJkNjA3ZTIyYjQ4ZGQwMTJkNmM4NmQ3Nzc3NjQxOGNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAg
LTIyOCw3ICsyMjgsOSBAQCBKU1ZhbHVlIEpTSW5qZWN0ZWRTY3JpcHRIb3N0OjpzdWJ0eXBlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogYwogICAgICAgICAgICAgfHwg
b2JqZWN0LT5pbmhlcml0czxKU1VpbnQxNkFycmF5Pih2bSkKICAgICAgICAgICAgIHx8IG9iamVj
dC0+aW5oZXJpdHM8SlNVaW50MzJBcnJheT4odm0pCiAgICAgICAgICAgICB8fCBvYmplY3QtPmlu
aGVyaXRzPEpTRmxvYXQzMkFycmF5Pih2bSkKLSAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJp
dHM8SlNGbG9hdDY0QXJyYXk+KHZtKSkKKyAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8
SlNGbG9hdDY0QXJyYXk+KHZtKQorICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0Jp
Z0ludDY0QXJyYXk+KHZtKQorICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0JpZ1Vp
bnQ2NEFycmF5Pih2bSkpCiAgICAgICAgICAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKHZt
LCAiYXJyYXkiX3MpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCAwYmQ5ZmM2M2FhOThlMGY0OWFmNjllNjA4Nzg0MTc2
NTc2NjdhNDNkLi43NjNkNWJkYjY5YjYyMjNlMjY3NWM4ODdjYTBjOGUyMTkyNGQ5ZGEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAt
MTQ5Myw4ICsxNDkzLDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5VmFsKGNvbnN0
IENvbmN1cnJlbnRKU0xvY2tlciYsIEJ5VmFsSW5mbyogYnlWYWxJbmZvCiAgICAgICAgIFR5cGVk
QXJyYXlUeXBlIHR5cGUgPSB0eXBlZEFycmF5VHlwZUZvckpJVEFycmF5TW9kZShhcnJheU1vZGUp
OwogICAgICAgICBpZiAoaXNJbnQodHlwZSkpCiAgICAgICAgICAgICBzbG93Q2FzZXMgPSBlbWl0
SW50VHlwZWRBcnJheVB1dEJ5VmFsKGJ5dGVjb2RlLCBiYWRUeXBlLCB0eXBlKTsKLSAgICAgICAg
ZWxzZSAKKyAgICAgICAgZWxzZSBpZiAoaXNGbG9hdCh0eXBlKSkKICAgICAgICAgICAgIHNsb3dD
YXNlcyA9IGVtaXRGbG9hdFR5cGVkQXJyYXlQdXRCeVZhbChieXRlY29kZSwgYmFkVHlwZSwgdHlw
ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNsb3dDYXNlcyA9IGp1bXAoKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
aW5kZXggNTdiNmMxMzNmOGYyN2QzYmQzMGQ1Y2EzOTQxN2NkYzk5MjI1YmMxOC4uYzllNzE3ZjAw
Y2MyZDg2ZDEyMjg4OTdjYjBmODk3NWVhMzVlYmJlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCkBAIC00OTUsNiArNDk1LDEwIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUFycmF5R2V0QnlWYWwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ29k
CiAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICAgICAgICAgIGFjY2Vzc1R5
cGUgPSBBY2Nlc3NDYXNlOjpJbmRleGVkVHlwZWRBcnJheUZsb2F0NjRMb2FkOwogICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20KaW5kZXggMjU1MmIyNjI5MDRkZGVlNjlkMzlkNmQzODFjZTc4NDA3
MWY0Nzk1ZC4uMzViODYwOGY5ZjY4OGMyYTcwM2M2OWYwMTU0MmM5NWY5MGJmZDU2YiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQpAQCAtNTU2LDYgKzU1Niw3IEBAIGNvbnN0IEZsb2F0NjRBcnJheVR5cGUgPSBjb25zdGV4cHIg
RmxvYXQ2NEFycmF5VHlwZQogCiBjb25zdCBGaXJzdFR5cGVkQXJyYXlUeXBlID0gY29uc3RleHBy
IEZpcnN0VHlwZWRBcnJheVR5cGUKIGNvbnN0IE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVk
aW5nRGF0YVZpZXcgPSBjb25zdGV4cHIgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdE
YXRhVmlldworY29uc3QgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdCaWdJbnRBcnJh
eXNBbmREYXRhVmlldyA9IGNvbnN0ZXhwciBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGlu
Z0JpZ0ludEFycmF5c0FuZERhdGFWaWV3CiAKICMgVHlwZSBmbGFncyBjb25zdGFudHMuCiBjb25z
dCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gY29uc3RleHByIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQKQEAgLTEyMzMsNyArMTIzNCw3IEBAIG1hY3JvIGdldEJ5VmFsVHlwZWRBcnJheShiYXNlLCBp
bmRleCwgZmluaXNoSW50R2V0QnlWYWwsIGZpbmlzaERvdWJsZUdldEJ5VmFsLCBzCiAgICAgIyBG
aXJzdCBsZXRzIGNoZWNrIGlmIHdlIGV2ZW4gaGF2ZSBhIHR5cGVkIGFycmF5LiBUaGlzIGxldHMg
dXMgZG8gc29tZSBib2lsZXJwbGF0ZSB1cCBmcm9udC4KICAgICBsb2FkYiBKU0NlbGw6Om1fdHlw
ZVtiYXNlXSwgdDIKICAgICBzdWJpIEZpcnN0VHlwZWRBcnJheVR5cGUsIHQyCi0gICAgYmlhZXEg
dDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXcsIHNsb3dQYXRoCisg
ICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlz
QW5kRGF0YVZpZXcsIHNsb3dQYXRoCiAgICAgCiAgICAgIyBTd2VldCwgbm93IHdlIGtub3cgdGhh
dCB3ZSBoYXZlIGEgdHlwZWQgYXJyYXkuIERvIHNvbWUgYmFzaWMgdGhpbmdzIG5vdy4KIApAQCAt
MTI2MCw2ICsxMjYxLDggQEAgbWFjcm8gZ2V0QnlWYWxUeXBlZEFycmF5KGJhc2UsIGluZGV4LCBm
aW5pc2hJbnRHZXRCeVZhbCwgZmluaXNoRG91YmxlR2V0QnlWYWwsIHMKICAgICAjICAgIFVpbnQz
MkFycmF5VHlwZSwKICAgICAjICAgIEZsb2F0MzJBcnJheVR5cGUsCiAgICAgIyAgICBGbG9hdDY0
QXJyYXlUeXBlLAorICAgICMKKyAgICAjIFlldCwgd2UgYXJlIG5vdCBzdXBwb3J0aW5nIEJpdElu
dDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFycmF5LgogCiAgICAgYmlhIHQyLCBVaW50MTZBcnJheVR5
cGUgLSBGaXJzdFR5cGVkQXJyYXlUeXBlLCAub3BHZXRCeVZhbEFib3ZlVWludDE2QXJyYXkKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcAppbmRl
eCBmMDdlM2FlYjc1NTJhNDA2YmE0NTZhODQyNTUzZjJiZWQxZjBjOGQ1Li4wYWRmYjBkMzU4ZjI4
MDcyMDVlYjJhYmY0ZGMxNDczMzAyYjAzZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcApAQCAtMTI3LDMwICsxMjcsNiBAQCBzdGF0aWMg
dW5zaWduZWQgdmFsaWRhdGVBdG9taWNBY2Nlc3MoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0FycgogICAgIHJldHVybiBhY2Nlc3NJbmRleDsKIH0KIAotc3RhdGljIEpT
QXJyYXlCdWZmZXJWaWV3KiB2YWxpZGF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSB0eXBlZEFycmF5VmFsdWUpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
LQotICAgIGlmICghdHlwZWRBcnJheVZhbHVlLmlzQ2VsbCgpKSB7Ci0gICAgICAgIHRocm93VHlw
ZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCBuZWVkcyB0byBiZSBhIHR5cGVk
IGFycmF5LiJfcyk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIEpTQ2Vs
bCogdHlwZWRBcnJheUNlbGwgPSB0eXBlZEFycmF5VmFsdWUuYXNDZWxsKCk7Ci0gICAgaWYgKCFp
c1R5cGVkVmlldyh0eXBlZEFycmF5Q2VsbC0+Y2xhc3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3Jh
Z2VUeXBlKSkgewotICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAi
QXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBhcnJheS4iX3MpOwotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICB9Ci0KLSAgICBKU0FycmF5QnVmZmVyVmlldyogdHlwZWRBcnJheSA9IGpz
Q2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHR5cGVkQXJyYXlDZWxsKTsKLSAgICBpZiAodHlwZWRB
cnJheS0+aXNEZXRhY2hlZCgpKSB7Ci0gICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVj
dCwgc2NvcGUsICJBcmd1bWVudCB0eXBlZCBhcnJheSBpcyBkZXRhY2hlZC4iX3MpOwotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgcmV0dXJuIHR5cGVkQXJyYXk7Ci19Ci0KIGVu
dW0gY2xhc3MgVHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgeyBSZWFkLCBXcml0ZSB9OwogdGVtcGxh
dGU8VHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgbW9kZT4KIGlubGluZSBKU0FycmF5QnVmZmVyVmll
dyogdmFsaWRhdGVJbnRlZ2VyVHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU1ZhbHVlIHR5cGVkQXJyYXlWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0F0b21pY3NPYmplY3QuaAppbmRleCA1YThiZWY5NGY2MTAxOWU1NjZhOGYwNWY0YzM0Nzhk
MmRiOWViZTFlLi4xYTZhZDdkZjJlMGIzNjgyZjQyODk5N2U4MzU2M2IzZjY3YWQ5MmExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCkBAIC02Miw1
ICs2Miw3IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uQXRvbWljc1N0b3Jl
LCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFU
SU9OKG9wZXJhdGlvbkF0b21pY3NTdWIsIEVuY29kZWRKU1ZhbHVlLCAoSlNHbG9iYWxPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSBpbmRleCwgRW5jb2RlZEpTVmFs
dWUgb3BlcmFuZCkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25BdG9taWNz
WG9yLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFz
ZSwgRW5jb2RlZEpTVmFsdWUgaW5kZXgsIEVuY29kZWRKU1ZhbHVlIG9wZXJhbmQpKTsKIAorSlNB
cnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlVHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCosIEpTVmFs
dWUpOworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQmlnSW50NjRBcnJheS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyNmUzYTljNWFhNWQ3YjcyMWE3YTQx
ZDQ3YTU5MGUxNmI3MzllODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdJbnQ2NEFycmF5OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnVWludDY0QXJyYXkuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUz
YzlhZmMyZWI5ZmU5NmJjZGMxYzIzMTBjNGFiZWNiOTY4MGQzNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKQEAgLTAsMCAr
MSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdV
aW50NjRBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlCdWZmZXJWaWV3LmNwcAppbmRleCAyZjA2ZTYyYTY2ZmU2NDhjMjEyN2NkNzBiOTk0Y2I3Y2Zj
M2M3MWNmLi4xZWFlMGQyY2RmOTJhYzVjOGRhZDI2YjQ2MGI2NWRlNTIzMTEzZTY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3Bw
CkBAIC0yNDMsNyArMjQzLDcgQEAgRk9SX0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdf
REFUQV9WSUVXKEZBQ1RPUlkpCiBzdGF0aWMgaW5saW5lIHNpemVfdCBlbGVtZW50U2l6ZShKU1R5
cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSA+PSBJbnQ4QXJyYXlUeXBlICYmIHR5cGUgPD0g
RGF0YVZpZXdUeXBlKTsKLSAgICBzdGF0aWNfYXNzZXJ0KEZsb2F0NjRBcnJheVR5cGUgKyAxID09
IERhdGFWaWV3VHlwZSk7CisgICAgc3RhdGljX2Fzc2VydChCaWdVaW50NjRBcnJheVR5cGUgKyAx
ID09IERhdGFWaWV3VHlwZSk7CiAgICAgcmV0dXJuIEVsZW1lbnRTaXplRGF0YVt0eXBlIC0gSW50
OEFycmF5VHlwZV07CiB9CiAKQEAgLTM0MCw2ICszNDAsMzAgQEAgUmVmUHRyPEFycmF5QnVmZmVy
Vmlldz4gSlNBcnJheUJ1ZmZlclZpZXc6OnBvc3NpYmx5U2hhcmVkSW1wbCgpCiAgICAgfQogfQog
CitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgdHlwZWRBcnJheVZhbHVlKQoreworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisKKyAgICBpZiAoIXR5cGVkQXJyYXlWYWx1ZS5pc0NlbGwoKSkgeworICAgICAgICB0aHJv
d1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0
eXBlZCBhcnJheS4iX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBK
U0NlbGwqIHR5cGVkQXJyYXlDZWxsID0gdHlwZWRBcnJheVZhbHVlLmFzQ2VsbCgpOworICAgIGlm
ICghaXNUeXBlZFZpZXcodHlwZWRBcnJheUNlbGwtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlT
dG9yYWdlVHlwZSkpIHsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSwgIkFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdHlwZWQgYXJyYXkuIl9zKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgSlNBcnJheUJ1ZmZlclZpZXcqIHR5cGVkQXJyYXkg
PSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih0eXBlZEFycmF5Q2VsbCk7CisgICAgaWYgKHR5
cGVkQXJyYXktPmlzRGV0YWNoZWQoKSkgeworICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxP
YmplY3QsIHNjb3BlLCAiQXJndW1lbnQgdHlwZWQgYXJyYXkgaXMgZGV0YWNoZWQuIl9zKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiB0eXBlZEFycmF5OworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaAppbmRleCBkNjg0ODcwZTc3
Zjg2NWY4OTE4ODhlNWQ5ZTMxNzFmMTQ5ZWJkNDU1Li5mNjEzNDU4ZDFmYjIzYTJmMDkyODBiNzI2
MDQ5YTRiNThmMGIwNmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTIyNCw2ICsyMjQsOCBAQCBjbGFzcyBKU0FycmF5QnVm
ZmVyVmlldyA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBUeXBlZEFycmF5TW9kZSBt
X21vZGU7CiB9OwogCitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2Ug
V1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4IDJjNDE2
Yzg3Mzg2YjgyNjI2NTE3NTU1YTkzMDQzNTk5MDNhOTU3Y2UuLjBjNDZmN2IzYjVjNDc1NTc5OWEy
M2JmOTdiNTRmODI1MDM1YzZhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
aWdJbnQuaApAQCAtMTAyLDYgKzEwMiwxNSBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgICAgICByZXR1cm4gSlNCaWdJbnQ6OmNyZWF0ZUZyb20oZ2xvYmFsT2Jq
ZWN0LCB2YWx1ZSk7CiAgICAgfQogCisgICAgc3RhdGljIEpTVmFsdWUgbWFrZUhlYXBCaWdJbnRP
ckJpZ0ludDMyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVpbnQ2NF90IHZhbHVlKQor
ICAgIHsKKyNpZiBVU0UoQklHSU5UMzIpCisgICAgICAgIGlmICh2YWx1ZSA8PSBJTlRfTUFYKQor
ICAgICAgICAgICAgcmV0dXJuIGpzQmlnSW50MzIoc3RhdGljX2Nhc3Q8aW50MzJfdD4odmFsdWUp
KTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gSlNCaWdJbnQ6OmNyZWF0ZUZyb20oZ2xvYmFsT2Jq
ZWN0LCB2YWx1ZSk7CisgICAgfQorCiAgICAgc3RhdGljIEpTVmFsdWUgbWFrZUhlYXBCaWdJbnRP
ckJpZ0ludDMyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGRvdWJsZSB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChpc0ludGVnZXIodmFsdWUpKTsKQEAgLTQzMCw3ICs0MzksNyBA
QCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4g
dG9CaWdVSW50NjRIZWFwKGJpZ0ludC5hc0hlYXBCaWdJbnQoKSk7CiAgICAgfQogCi0gICAgc3Rh
dGljIHVpbnQ2NF90IHRvQmlnSW50NjQoSlNWYWx1ZSBiaWdJbnQpCisgICAgc3RhdGljIGludDY0
X3QgdG9CaWdJbnQ2NChKU1ZhbHVlIGJpZ0ludCkKICAgICB7CiAgICAgICAgIEFTU0VSVChiaWdJ
bnQuaXNCaWdJbnQoKSk7CiAjaWYgVVNFKEJJR0lOVDMyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuaAppbmRleCBhNjBiYzAzNmYyODIzMDBiOTZkM2FlZDcwMmQ0Y2Y1NWM4OTg0
ZDU1Li40OGY2NTgxMjRmNWE3NTk1YWM1MzBjZDJhZTkwYzVmODY0OGU0OTRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjMzLDcgKzIzMyw3IEBAIGNsYXNzIEpT
Q2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7CiAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0Yo
SlNDZWxsLCBtX2NlbGxTdGF0ZSk7CiAgICAgfQogICAgIAotICAgIHN0YXRpYyBjb25zdCBUeXBl
ZEFycmF5VHlwZSBUeXBlZEFycmF5U3RvcmFnZVR5cGUgPSBOb3RUeXBlZEFycmF5OworICAgIHN0
YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gTm90
VHlwZWRBcnJheTsKIAogICAgIHZvaWQgc2V0UGVyQ2VsbEJpdChib29sKTsKICAgICBib29sIHBl
ckNlbGxCaXQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRGF0YVZpZXcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZp
ZXcuaAppbmRleCA1ZGFhNjI2M2E5NTA3OWY3MzFkOTU4YWMyMzFkMDg1MDlmZTZmYzk1Li4yYzc4
NWU0NzYxMWE5ZTNmMjI4ZGUyOGI4YWU2MDhiNWU3NmMyZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlldy5oCkBAIC0zNyw2ICszNyw4IEBAIGNsYXNzIEpTRGF0
YVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogCiAgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBlbGVtZW50U2l6ZSA9IDE7CiAKKyAgICBzdGF0aWMgY29uc3RleHBy
IFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IFR5cGVkQXJyYXlDb250ZW50VHlw
ZTo6Tm9uZTsKKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlPgogICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQogICAg
IHsKQEAgLTY0LDcgKzY2LDcgQEAgY2xhc3MgSlNEYXRhVmlldyBmaW5hbCA6IHB1YmxpYyBKU0Fy
cmF5QnVmZmVyVmlldyB7CiAgICAgUmVmUHRyPERhdGFWaWV3PiBwb3NzaWJseVNoYXJlZFR5cGVk
SW1wbCgpOwogICAgIFJlZlB0cjxEYXRhVmlldz4gdW5zaGFyZWRUeXBlZEltcGwoKTsKICAgICAK
LSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0g
VHlwZURhdGFWaWV3OworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgVHlwZWRB
cnJheVN0b3JhZ2VUeXBlID0gVHlwZURhdGFWaWV3OwogCiAgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFW
aWV3UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZp
ZXdQcm90b3R5cGUuY3BwCmluZGV4IGY3MzRmNTZiODdiNzJlZGNhYTI5ZTc5Mzg1MDJiMDAwNjZj
NTNkMzguLmM3M2E4NjdlM2U2MDYxNjQ5NmNhMWU3OWViNWFiOGNhNmVmMjFiNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUu
Y3BwCkBAIC00NSw2ICs0NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICBnZXRVaW50MzIgICAgICAg
ICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRVaW50MzIgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0
aW9uICAgICAgIDEgIERhdGFWaWV3R2V0VWludDMyCiAgIGdldEZsb2F0MzIgICAgICAgICAgICBk
YXRhVmlld1Byb3RvRnVuY0dldEZsb2F0MzIgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAg
ICAgMSAgRGF0YVZpZXdHZXRGbG9hdDMyCiAgIGdldEZsb2F0NjQgICAgICAgICAgICBkYXRhVmll
d1Byb3RvRnVuY0dldEZsb2F0NjQgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMSAg
RGF0YVZpZXdHZXRGbG9hdDY0CisgIGdldEJpZ0ludDY0ICAgICAgICAgICBkYXRhVmlld1Byb3Rv
RnVuY0dldEJpZ0ludDY0ICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMQorICBnZXRC
aWdVaW50NjQgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdVaW50NjQgICAgICAgIERv
bnRFbnVtfEZ1bmN0aW9uICAgICAgIDEKICAgc2V0SW50OCAgICAgICAgICAgICAgIGRhdGFWaWV3
UHJvdG9GdW5jU2V0SW50OCAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBE
YXRhVmlld1NldEludDgKICAgc2V0VWludDggICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5j
U2V0VWludDggICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1Nl
dFVpbnQ4CiAgIHNldEludDE2ICAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldEludDE2
ICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRJbnQxNgpA
QCAtNTMsNiArNTUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgc2V0VWludDMyICAgICAgICAgICAg
IGRhdGFWaWV3UHJvdG9GdW5jU2V0VWludDMyICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAg
ICAgICAyICBEYXRhVmlld1NldFVpbnQzMgogICBzZXRGbG9hdDMyICAgICAgICAgICAgZGF0YVZp
ZXdQcm90b0Z1bmNTZXRGbG9hdDMyICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIg
IERhdGFWaWV3U2V0RmxvYXQzMgogICBzZXRGbG9hdDY0ICAgICAgICAgICAgZGF0YVZpZXdQcm90
b0Z1bmNTZXRGbG9hdDY0ICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIgIERhdGFW
aWV3U2V0RmxvYXQ2NAorICBzZXRCaWdJbnQ2NCAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNT
ZXRCaWdJbnQ2NCAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIKKyAgc2V0QmlnVWlu
dDY0ICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0QmlnVWludDY0ICAgICAgICBEb250RW51
bXxGdW5jdGlvbiAgICAgICAyCiAgIGJ1ZmZlciAgICAgICAgICAgICAgICBkYXRhVmlld1Byb3Rv
R2V0dGVyQnVmZmVyICAgICAgICAgICAgRG9udEVudW18QWNjZXNzb3IgICAgICAgMAogICBieXRl
TGVuZ3RoICAgICAgICAgICAgZGF0YVZpZXdQcm90b0dldHRlckJ5dGVMZW5ndGggICAgICAgIERv
bnRFbnVtfEFjY2Vzc29yICAgICAgIDAKICAgYnl0ZU9mZnNldCAgICAgICAgICAgIGRhdGFWaWV3
UHJvdG9HZXR0ZXJCeXRlT2Zmc2V0ICAgICAgICBEb250RW51bXxBY2Nlc3NvciAgICAgICAwCkBA
IC02Nyw2ICs3MSw4IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3
UHJvdG9GdW5jR2V0VWludDE2KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRh
dGFWaWV3UHJvdG9GdW5jR2V0VWludDMyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0RmxvYXQzMik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0NjQpOworc3RhdGljIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCk7CitzdGF0aWMg
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEJpZ1VpbnQ2NCk7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldElu
dDgpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNT
ZXRJbnQxNik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY1NldEludDMyKTsKQEAgLTc1LDYgKzgxLDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1Rf
RlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRVaW50MTYpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRVaW50MzIpOwogc3RhdGljIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9hdDMyKTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCk7
CitzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJp
Z0ludDY0KTsKK3N0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9G
dW5jU2V0QmlnVWludDY0KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFW
aWV3UHJvdG9HZXR0ZXJCdWZmZXIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04o
ZGF0YVZpZXdQcm90b0dldHRlckJ5dGVMZW5ndGgpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1Rf
RlVOQ1RJT04oZGF0YVZpZXdQcm90b0dldHRlckJ5dGVPZmZzZXQpOwpAQCAtMTYxLDcgKzE2OSw3
IEBAIEVuY29kZWRKU1ZhbHVlIGdldERhdGEoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgICAgICAgICB1LnJhd0J5dGVzW2ldID0gKmRhdGFQ
dHIrKzsKICAgICB9CiAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEFkYXB0b3I6OnRvSlNW
YWx1ZSh1LnZhbHVlKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjpl
bmNvZGUoQWRhcHRvcjo6dG9KU1ZhbHVlKGdsb2JhbE9iamVjdCwgdS52YWx1ZSkpKTsKIH0KIAog
dGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KQEAgLTI5NSw2ICszMDMsMTYgQEAgSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0RmxvYXQ2NCwgKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmoKICAgICByZXR1cm4gZ2V0RGF0YTxGbG9hdDY0QWRhcHRvcj4oZ2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUpOwogfQogCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZp
ZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICByZXR1cm4gZ2V0RGF0YTxCaWdJbnQ2NEFkYXB0
b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKworSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0QmlnVWludDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBnZXREYXRhPEJp
Z1VpbnQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKwogSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0SW50OCwgKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICByZXR1cm4gc2V0
RGF0YTxJbnQ4QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOwpAQCAtMzM0LDYgKzM1
MiwxNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9h
dDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogewogICAgIHJldHVybiBzZXREYXRhPEZs
b2F0NjRBZGFwdG9yPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7CiB9CisKK0pTQ19ERUZJTkVf
SE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJpZ0ludDY0LCAoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBz
ZXREYXRhPEJpZ0ludDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOworfQorCitK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdVaW50NjQsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7Cisg
ICAgcmV0dXJuIHNldERhdGE8QmlnVWludDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUpOworfQogSUdOT1JFX0NMQU5HX1dBUk5JTkdTX0VORAogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBl
ZEFycmF5Vmlldy5oCmluZGV4IDc0Zjg5YWE4YTRkYzk0ZGZjNGU0N2RlZWU4MDBlMjMzMzM1ZmNh
YWMuLjM0MWEyNGM5MTk1ZDQ5ZTBjNDdjNTMzY2JhYjJiMDZmZGFjM2M1MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXcuaApAQCAtNDAsNiArNDAsOCBAQCBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8q
IGdldFVpbnQxNkFycmF5Q2xhc3NJbmZvKCk7CiBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFz
c0luZm8qIGdldFVpbnQzMkFycmF5Q2xhc3NJbmZvKCk7CiBKU19FWFBPUlRfUFJJVkFURSBjb25z
dCBDbGFzc0luZm8qIGdldEZsb2F0MzJBcnJheUNsYXNzSW5mbygpOwogSlNfRVhQT1JUX1BSSVZB
VEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRGbG9hdDY0QXJyYXlDbGFzc0luZm8oKTsKK0pTX0VYUE9S
VF9QUklWQVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOwor
SlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRCaWdVaW50NjRBcnJheUNsYXNz
SW5mbygpOwogCiAvLyBBIHR5cGVkIGFycmF5IHZpZXcgaXMgb3VyIHJlcHJlc2VudGF0aW9uIG9m
IGEgdHlwZWQgYXJyYXkgb2JqZWN0IGFzIHNlZW4KIC8vIGZyb20gSmF2YVNjcmlwdC4gRm9yIGV4
YW1wbGU6CkBAIC05MCwxMSArOTIsMTMgQEAgZW51bSBjbGFzcyBDb3B5VHlwZSB7CiAKIGV4dGVy
biBjb25zdCBBU0NJSUxpdGVyYWwgdHlwZWRBcnJheUJ1ZmZlckhhc0JlZW5EZXRhY2hlZEVycm9y
TWVzc2FnZTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KK3RlbXBsYXRlPHR5cGVuYW1l
IFBhc3NlZEFkYXB0b3I+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1
YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTQXJy
YXlCdWZmZXJWaWV3OwotICAgIHR5cGVkZWYgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSBFbGVtZW50
VHlwZTsKKyAgICB1c2luZyBBZGFwdG9yID0gUGFzc2VkQWRhcHRvcjsKKyAgICB1c2luZyBFbGVt
ZW50VHlwZSA9IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBU
eXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5cGUgPSBBZGFwdG9yOjpjb250ZW50VHlwZTsK
IAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5TmFtZXMgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2
ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvOwogCkBAIC0xMTksMTUgKzEyMywyMCBAQCBjbGFzcyBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAg
ICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8dHlwZW5hbWUgQWRhcHRvcjo6VHlwZSo+KHZlY3Rv
cigpKTsKICAgICB9CiAKKyAgICBib29sIGluQm91bmRzKHVuc2lnbmVkIGkpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgIH0KKwogICAgIC8vIFRoZXNlIG1l
dGhvZHMgYXJlIG1lYW50IHRvIG1hdGNoIGluZGV4ZWQgYWNjZXNzIG1ldGhvZHMgdGhhdCBKU09i
amVjdAogICAgIC8vIHN1cHBvcnRzIC0gaGVuY2UgdGhlIHNsaWdodCByZWR1bmRhbmN5LgogICAg
IGJvb2wgY2FuR2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAg
ICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgICAgICByZXR1cm4gaW5Cb3VuZHMoaSkgJiYgQWRh
cHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICBib29sIGNhblNldEluZGV4
UXVpY2tseSh1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlKSBjb25zdAogICAgIHsKLSAgICAgICAg
cmV0dXJuIGkgPCBtX2xlbmd0aCAmJiB2YWx1ZS5pc051bWJlcigpOworICAgICAgICByZXR1cm4g
aSA8IG1fbGVuZ3RoICYmIHZhbHVlLmlzTnVtYmVyKCkgJiYgQWRhcHRvcjo6Y2FuQ29udmVydFRv
SlNRdWlja2x5OwogICAgIH0KICAgICAKICAgICB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIGdldElu
ZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUodW5zaWduZWQgaSkgY29uc3QKQEAgLTEzNiwxNCArMTQ1
LDkgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJh
eUJ1ZmZlclZpZXcgewogICAgICAgICByZXR1cm4gdHlwZWRWZWN0b3IoKVtpXTsKICAgICB9CiAg
ICAgCi0gICAgZG91YmxlIGdldEluZGV4UXVpY2tseUFzRG91YmxlKHVuc2lnbmVkIGkpCi0gICAg
ewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9Eb3VibGUoZ2V0SW5kZXhRdWlja2x5QXNOYXRp
dmVWYWx1ZShpKSk7Ci0gICAgfQotICAgIAogICAgIEpTVmFsdWUgZ2V0SW5kZXhRdWlja2x5KHVu
c2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9KU1ZhbHVl
KGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOworICAgICAgICByZXR1cm4gQWRhcHRv
cjo6dG9KU1ZhbHVlKG51bGxwdHIsIGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOwog
ICAgIH0KICAgICAKICAgICB2b2lkIHNldEluZGV4UXVpY2tseVRvTmF0aXZlVmFsdWUodW5zaWdu
ZWQgaSwgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB2YWx1ZSkKQEAgLTE1MiwxMSArMTU2LDYgQEAg
Y2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZl
clZpZXcgewogICAgICAgICB0eXBlZFZlY3RvcigpW2ldID0gdmFsdWU7CiAgICAgfQogICAgIAot
ICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5VG9Eb3VibGUodW5zaWduZWQgaSwgZG91YmxlIHZhbHVl
KQotICAgIHsKLSAgICAgICAgc2V0SW5kZXhRdWlja2x5VG9OYXRpdmVWYWx1ZShpLCB0b05hdGl2
ZUZyb21WYWx1ZTxBZGFwdG9yPihqc051bWJlcih2YWx1ZSkpKTsKLSAgICB9Ci0gICAgCiAgICAg
dm9pZCBzZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAg
ICAgICAgIEFTU0VSVCghdmFsdWUuaXNPYmplY3QoKSk7CkBAIC0yNDcsNiArMjQ2LDEwIEBAIGNs
YXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlCdWZmZXJW
aWV3IHsKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDMyQXJyYXlDbGFzc0luZm8oKTsKICAg
ICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDY0QXJy
YXlDbGFzc0luZm8oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICBy
ZXR1cm4gZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOworICAgICAgICBjYXNlIFR5cGVCaWdV
aW50NjQ6CisgICAgICAgICAgICByZXR1cm4gZ2V0QmlnVWludDY0QXJyYXlDbGFzc0luZm8oKTsK
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI3NSw2ICsyNzgsMTAgQEAgY2xh
c3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZp
ZXcgewogICAgICAgICAgICAgcmV0dXJuIHZtLmZsb2F0MzJBcnJheVNwYWNlPG1vZGU+KCk7CiAg
ICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1cm4gdm0uZmxvYXQ2NEFy
cmF5U3BhY2U8bW9kZT4oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAg
ICByZXR1cm4gdm0uYmlnSW50NjRBcnJheVNwYWNlPG1vZGU+KCk7CisgICAgICAgIGNhc2UgVHlw
ZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiB2bS5iaWdVaW50NjRBcnJheVNwYWNlPG1v
ZGU+KCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yODMsNyArMjkwLDcg
QEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1
ZmZlclZpZXcgewogICAgIAogICAgIEFycmF5QnVmZmVyKiBleGlzdGluZ0J1ZmZlcigpOwogCi0g
ICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFk
YXB0b3I6OnR5cGVWYWx1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIFR5
cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsKIAogICAgIC8vIFRoaXMg
aXMgdGhlIGRlZmF1bHQgRE9NIHVud3JhcHBpbmcuIEl0IGNhbGxzIHRvVW5zaGFyZWROYXRpdmVU
eXBlZFZpZXcoKS4KICAgICBzdGF0aWMgUmVmUHRyPHR5cGVuYW1lIEFkYXB0b3I6OlZpZXdUeXBl
PiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0
b3IuaAppbmRleCA1ZjQ1YTYxZTNlMjBlYmE0ZjZkNTY4YTVhNTUzMDhhZGEyZGMyYWVjLi42OTIy
NWU1MGUxNGM1NGU5YmJhN2Y0ZGE2MjM0NTY4NzcwNDQzYmJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw4IEBAIEpTX0VYUE9SVF9QUklWQVRFIEpT
Q19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQxNkFycmF5KTsKIEpTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQzMkFycmF5KTsKIEpTX0VYUE9S
VF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbEZsb2F0MzJBcnJheSk7CiBK
U19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNhbGxGbG9hdDY0QXJy
YXkpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjYWxsQmln
SW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGNhbGxCaWdVaW50NjRBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGNhbGxEYXRhVmlldyk7CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oY29uc3RydWN0SW50OEFycmF5KTsKQEAgLTQ5LDYgKzUxLDggQEAgSlNf
RVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RVaW50MTZB
cnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNvbnN0
cnVjdFVpbnQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oY29uc3RydWN0RmxvYXQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RmxvYXQ2NEFycmF5KTsKK0pTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0QmlnSW50NjRBcnJheSk7CitK
U19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEJpZ1Vp
bnQ2NEFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04o
Y29uc3RydWN0RGF0YVZpZXcpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaWV3Q2xhc3M+CkBAIC04
Nyw2ICs5MSwxMCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZp
bmFsIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgICAgICAgICAgcmV0dXJuIGNhbGxG
bG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1
cm4gY2FsbEZsb2F0NjRBcnJheTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAg
ICAgICByZXR1cm4gY2FsbEJpZ0ludDY0QXJyYXk7CisgICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2
NDoKKyAgICAgICAgICAgIHJldHVybiBjYWxsQmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2Ug
VHlwZURhdGFWaWV3OgogICAgICAgICAgICAgcmV0dXJuIGNhbGxEYXRhVmlldzsKICAgICAgICAg
ZGVmYXVsdDoKQEAgLTExNiw2ICsxMjQsMTAgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAgICAg
ICAgIHJldHVybiBjb25zdHJ1Y3RGbG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0
NjQ6CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0RmxvYXQ2NEFycmF5OworICAgICAgICBj
YXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RCaWdJbnQ2NEFy
cmF5OworICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICByZXR1cm4gY29u
c3RydWN0QmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAg
ICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGFWaWV3OwogICAgICAgICBkZWZhdWx0OgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3RvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKaW5kZXggYTA5ZTMyYTZm
ZWZmZDJkODE2YWRmMGZjYTA5MzliODI1NzZiMWE2NC4uNzg2NTUyYTJiODYwOTcyYjZkZmM3NzUy
Y2IxMDgxNWYzNzcyYWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9ySW5saW5lcy5oCkBAIC0xOTMsNiArMTkzLDExIEBAIGlubGluZSBKU09iamVjdCogY29uc3Ry
dWN0R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyhKU0dsb2JhbE9iamVjdCogZ2xv
CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICB9CiAKKyAgICAg
ICAgICAgIGlmIChjb250ZW50VHlwZShvYmplY3QtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlT
dG9yYWdlVHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkgeworICAgICAgICAgICAgICAg
IHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNv
dXJjZSBhbmQgbmV3IHR5cGVkIGFycmF5IGFyZSBkaWZmZXJlbnQiX3MpOworICAgICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBsZW5ndGgg
PSB2aWV3LT5sZW5ndGgoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFRoaXMg
Z2V0UHJvcGVydHlTbG90IG9wZXJhdGlvbiBzaG91bGQgbm90IGJlIG9ic2VydmVkIGJ5IHRoZSBQ
cm94eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKaW5kZXggM2NkYTYzN2VlZjc3ZWFmODk1
NjFmNzYwZmQ2NmIwZjMxODI3NzYyYS4uNmEyMTVlNWQxNzEzZGNlZTY3Mzk0YjM0YTRhZjA1N2E5
MmRkZDBjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKQEAgLTE2Miw2ICsxNjIsOSBA
QCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXRXaXRoU3BlY2lmaWNU
eXBlKAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2lnbmVkIG9mZnNldCwg
SlNHZW5lcmljVHlwZWRBcnJheVZpZXc8T3RoZXJBZGFwdG9yPiogb3RoZXIsCiAgICAgdW5zaWdu
ZWQgb3RoZXJPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCwgQ29weVR5cGUgdHlwZSkKIHsKKyAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworCiAgICAgLy8gSGFuZGxlIHRoZSBoaWxhcmlvdXMgY2FzZTogdGhlIGFj
dCBvZiBnZXR0aW5nIHRoZSBsZW5ndGggY291bGQgaGF2ZSByZXN1bHRlZAogICAgIC8vIGluIGRl
dGFjaGluZy4gV2VsbCwgbm8uIFRoYXQnbGwgbmV2ZXIgaGFwcGVuIGJlY2F1c2UgdGhlcmUgY2Fu
bm90IGJlCiAgICAgLy8gc2lkZS1lZmZlY3RzIG9uIGdldHRpbmcgdGhlIGxlbmd0aCBvZiBhIHR5
cGVkIGFycmF5LiBCdXQgcHJlZGljdGluZyB3aGVyZSB0aGVyZQpAQCAtMTcxLDggKzE3NCwxNSBA
QCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXRXaXRoU3BlY2lmaWNU
eXBlKAogICAgIGxlbmd0aCA9IHN0ZDo6bWluKGxlbmd0aCwgb3RoZXItPmxlbmd0aCgpKTsKIAog
ICAgIFJFTEVBU0VfQVNTRVJUKG90aGVyLT5jYW5BY2Nlc3NSYW5nZVF1aWNrbHkob3RoZXJPZmZz
ZXQsIGxlbmd0aCkpOwotICAgIGlmICghdmFsaWRhdGVSYW5nZShnbG9iYWxPYmplY3QsIG9mZnNl
dCwgbGVuZ3RoKSkKKyAgICBib29sIHN1Y2Nlc3MgPSB2YWxpZGF0ZVJhbmdlKGdsb2JhbE9iamVj
dCwgb2Zmc2V0LCBsZW5ndGgpOworICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlv
bigpID09IHN1Y2Nlc3MpOworICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgY29uc3RleHByIChBZGFwdG9yOjpjb250ZW50VHlwZSAhPSBPdGhlckFkYXB0
b3I6OmNvbnRlbnRUeXBlKSB7CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwg
c2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdHlwZWQgYXJy
YXlzIGFyZSBkaWZmZXJlbnQiX3MpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAg
IAogICAgIC8vIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBjb3B5aW5nIGJldHdlZW4gdGhl
IHNhbWUgYXJyYXkuIE5vdGUgdGhhdAogICAgIC8vIHNldCgpIHdpbGwgb25seSBjYWxsIHRoaXMg
aWYgdGhlIHR5cGVzIGRpZmZlciwgd2hpY2ggaW1wbGljaXRseSBndWFyYW50ZWVzCkBAIC0yODks
NiArMjk5LDEyIEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OnNldCgK
ICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUs
IHNldFdpdGhTcGVjaWZpY1R5cGU8RmxvYXQ2NEFkYXB0b3I+KAogICAgICAgICAgICAgZ2xvYmFs
T2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0Zsb2F0NjRBcnJheSo+KG9iamVjdCksIG9iamVjdE9m
ZnNldCwgbGVuZ3RoLCB0eXBlKSk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIFJF
TEVBU0VfQU5EX1JFVFVSTihzY29wZSwgc2V0V2l0aFNwZWNpZmljVHlwZTxCaWdJbnQ2NEFkYXB0
b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ0ludDY0
QXJyYXkqPihvYmplY3QpLCBvYmplY3RPZmZzZXQsIGxlbmd0aCwgdHlwZSkpOworICAgIGNhc2Ug
VHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBzZXRXaXRo
U3BlY2lmaWNUeXBlPEJpZ1VpbnQ2NEFkYXB0b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0
LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ1VpbnQ2NEFycmF5Kj4ob2JqZWN0KSwgb2JqZWN0T2Zmc2V0
LCBsZW5ndGgsIHR5cGUpKTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBl
RGF0YVZpZXc6IHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gdmFsaWRhdGVSYW5nZShnbG9iYWxP
YmplY3QsIG9mZnNldCwgbGVuZ3RoKTsKQEAgLTQzMywxNCArNDQ5LDI0IEBAIGJvb2wgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmRlbGV0ZVByb3BlcnR5KAogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBBZGFwdG9yPgogYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6
Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCgKLSAgICBKU09iamVjdCogb2JqZWN0LCBKU0dsb2Jh
bE9iamVjdCosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorICAg
IEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogeworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNHZW5l
cmljVHlwZWRBcnJheVZpZXcqPihvYmplY3QpOwogCi0gICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0
YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+Y2FuR2V0SW5kZXhRdWlja2x5KHByb3BlcnR5TmFtZSkp
CisgICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+aW5Cb3Vu
ZHMocHJvcGVydHlOYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2xvdC5zZXRW
YWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
Ok5vbmUpLCB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJvcGVydHlOYW1lKSk7CisgICAg
SlNWYWx1ZSB2YWx1ZTsKKyAgICBpZiBjb25zdGV4cHIgKEFkYXB0b3I6OmNhbkNvbnZlcnRUb0pT
UXVpY2tseSkKKyAgICAgICAgdmFsdWUgPSB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJv
cGVydHlOYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHRoaXNP
YmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUocHJvcGVydHlOYW1lKTsKKyAgICAg
ICAgdmFsdWUgPSBBZGFwdG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7
CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICB9CisgICAg
c2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlB
dHRyaWJ1dGU6Ok5vbmUpLCB2YWx1ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
UHJvdG90eXBlRnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dl
bmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCmluZGV4IDJlMGE3ODIwMTc3
Yzg0NmRiNDc3MjQwYjE2NjU5NTkzYjQwNGI5MWUuLjhjOTQxMjkzOTdlOGFiYTQxNDA3MmViN2E5
YjAwOGFlYzQ2MjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVG
dW5jdGlvbnMuaApAQCAtMjcyLDExICsyNzIsMTkgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNW
YWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKFZNJiB2bSwgSlNHbG9iYWwK
ICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqZWN0LT5sZW5ndGgoKTsKICAgICBhdXRvIGpv
aW5XaXRoU2VwYXJhdG9yID0gWyZdIChTdHJpbmdWaWV3IHNlcGFyYXRvcikgLT4gRW5jb2RlZEpT
VmFsdWUgewogICAgICAgICBKU1N0cmluZ0pvaW5lciBqb2luZXIoZ2xvYmFsT2JqZWN0LCBzZXBh
cmF0b3IsIGxlbmd0aCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwog
ICAgICAgICBpZiAoIXRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSkgewogICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgam9p
bmVyLmFwcGVuZChnbG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShpKSk7
Ci0gICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFs
dWUoKSk7CisgICAgICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKKyAgICAgICAgICAgICAgICBp
ZiBjb25zdGV4cHIgKFZpZXdDbGFzczo6QWRhcHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5KQor
ICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShp
KTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBuYXRp
dmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSk7Cisg
ICAgICAgICAgICAgICAgICAgIHZhbHVlID0gVmlld0NsYXNzOjpBZGFwdG9yOjp0b0pTVmFsdWUo
Z2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGpvaW5lci5hcHBlbmQoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkr
KykKQEAgLTI5MiwxMCArMzAwLDEwIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgZ2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9pbihWTSYgdm0sIEpTR2xvYmFsCiAgICAgfQog
CiAgICAgSlNTdHJpbmcqIHNlcGFyYXRvclN0cmluZyA9IHNlcGFyYXRvclZhbHVlLnRvU3RyaW5n
KGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpT
VmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgIGF1
dG8gdmlld1dpdGhTdHJpbmcgPSBzZXBhcmF0b3JTdHJpbmctPnZpZXdXaXRoVW5kZXJseWluZ1N0
cmluZyhnbG9iYWxPYmplY3QpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAg
cmV0dXJuIGpvaW5XaXRoU2VwYXJhdG9yKHZpZXdXaXRoU3RyaW5nLnZpZXcpOwogfQogCkBAIC00
NTQsNiArNDYyLDExIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgZ2VuZXJpY1R5cGVk
QXJyYXlWaWV3UHJvdG9GdW5jU2xpY2UoVk0mIHZtLCBKU0dsb2JhCiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgQVNTRVJUKCFyZXN1bHQtPmlz
RGV0YWNoZWQoKSk7CiAKKyAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jdHlwZWRhcnJh
eS1zcGVjaWVzLWNyZWF0ZQorICAgIC8vIElmIHJlc3VsdC5bW0NvbnRlbnRUeXBlXV0g4omgIGV4
ZW1wbGFyLltbQ29udGVudFR5cGVdXSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAg
IGlmIChjb250ZW50VHlwZShyZXN1bHQtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdl
VHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1U
eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkNvbnRlbnQgdHlwZXMgb2Ygc291cmNlIGFu
ZCBjcmVhdGVkIHR5cGVkIGFycmF5cyBhcmUgZGlmZmVyZW50Il9zKTsKKwogICAgIC8vIFdlIHJl
dHVybiBlYXJseSBoZXJlIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIGEgYmFja2luZyBzdG9yZSBp
ZiBsZW5ndGggaXMgMCBhbmQgbWVtbW92ZSBkb2VzIG5vdCBsaWtlIG51bGxwdHJzCiAgICAgaWYg
KCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKQEAgLTUw
Miw2ICs1MTUsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRB
cnJheVZpZXdQcm90b0Z1bmNTbGljZShWTSYgdm0sIEpTR2xvYmEKICAgICAgICAgc2NvcGUucmVs
ZWFzZSgpOwogICAgICAgICBqc0Nhc3Q8SlNGbG9hdDY0QXJyYXkqPihyZXN1bHQpLT5zZXQoZ2xv
YmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBDb3B5VHlwZTo6TGVmdFRv
UmlnaHQpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgY2Fz
ZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0
PEpTQmlnSW50NjRBcnJheSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmplY3QsIDAsIHRoaXNPYmpl
Y3QsIGJlZ2luLCBsZW5ndGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7CisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAg
ICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0PEpTQmlnVWludDY0QXJyYXkqPihy
ZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBD
b3B5VHlwZTo6TGVmdFRvUmlnaHQpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICB9CkBAIC01NDMsNyArNTY0LDcgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1
ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYKICAg
ICBSZWZQdHI8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyID0gdGhpc09iamVjdC0+cG9zc2libHlT
aGFyZWRCdWZmZXIoKTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVmZmVyKSkgewogICAgICAg
ICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSk7Ci0gICAgICAgIHJl
dHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICBS
RUxFQVNFX0FTU0VSVCh0aGlzTGVuZ3RoID09IHRoaXNPYmplY3QtPmxlbmd0aCgpKTsKIApAQCAt
NTY3LDEzICs1ODgsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlw
ZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYKICAgICBBU1NFUlQoIWFy
Z3MuaGFzT3ZlcmZsb3dlZCgpKTsKIAogICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3Qo
Z2xvYmFsT2JqZWN0LCBzcGVjaWVzLCBhcmdzLCAic3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciIpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwor
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHZtLCByZXN1bHQpKQotICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgSlNBcnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlZCA9
IHZhbGlkYXRlVHlwZWRBcnJheShnbG9iYWxPYmplY3QsIHJlc3VsdCk7CisgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICBpZiAoY29udGVudFR5cGUodmFsaWRhdGVkLT5j
bGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpICE9IFZpZXdDbGFzczo6Y29udGVu
dFR5cGUpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2Nv
cGUsICJUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheSBjb25zdHJ1Y3RlZCB0eXBlZCBhcnJh
eSBvZiBkaWZmZXJlbnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8Il9zKTsKIAotICAgIHRocm93
VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJzcGVjaWVzIGNvbnN0cnVjdG9yIGRpZCBu
b3QgcmV0dXJuIGEgVHlwZWRBcnJheSBWaWV3Il9zKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh2YWxpZGF0ZWQpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA4NWM3NjNjNTRlMDI5ZDE1ZDlmZDQ5YmI4ZjJh
ZTJiN2RkYjBhOTRkLi43NTBhZDUxZWRkNmM5OTg5Nzg0YWUwZDQyNWExMmM1OGJkOWMyOTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CkBAIC00NTcsNiArNDU3LDggQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNHbG9i
YWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7CiAgIFVpbnQzMkFycmF5ICAg
ICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5VWludDMyICAgICAgICAgICBEb250
RW51bXxDbGFzc1N0cnVjdHVyZQogICBGbG9hdDMyQXJyYXkgICAgICAgICAgSlNHbG9iYWxPYmpl
Y3Q6Om1fdHlwZWRBcnJheUZsb2F0MzIgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUK
ICAgRmxvYXQ2NEFycmF5ICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlGbG9h
dDY0ICAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCisgIEJpZ0ludDY0QXJyYXkgICAg
ICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5QmlnSW50NjQgICAgICAgICBEb250RW51
bXxDbGFzc1N0cnVjdHVyZQorICBCaWdVaW50NjRBcnJheSAgICAgICAgSlNHbG9iYWxPYmplY3Q6
Om1fdHlwZWRBcnJheUJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKICAg
RGF0YVZpZXcgICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlEYXRhVmll
dyAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIERhdGUgICAgICAgICAgICAgICAg
ICBKU0dsb2JhbE9iamVjdDo6bV9kYXRlU3RydWN0dXJlICAgICAgICAgICAgICBEb250RW51bXxD
bGFzc1N0cnVjdHVyZQogICBFcnJvciAgICAgICAgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6Om1f
ZXJyb3JTdHJ1Y3R1cmUgICAgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKQEAgLTEy
MDcsMTIgKzEyMDksMTggQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAj
IyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1l
Q29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0eXBlZEFy
cmF5R2V0T3JpZ2luYWxDb25zdHJ1Y3RvcildLmluaXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6
ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3Jl
YXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJp
bmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0dldE9yaWdpbmFsQ29uc3RydWN0b3IpKTsK
ICAgICAgICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheUNvbnRlbnRUeXBlKV0uaW5pdExhdGVyKFtd
IChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CisgICAgICAgICAgICBpbml0LnNl
dChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5p
dC5vd25lciksIDAsIFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jQ29udGVudFR5
cGUpKTsKKyAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheVNvcnQpXS5pbml0TGF0ZXIoW10g
KGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0
KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0
Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTb3J0KSk7CiAg
ICAgICAgIH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KExpbmtUaW1lQ29uc3RhbnQ6OmlzVHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0
IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVu
Y3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVy
KSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVkQXJyYXlWaWV3
LCBJc1R5cGVkQXJyYXlWaWV3SW50cmluc2ljKSk7CiAgICAgICAgIH0pOworICAgIG1fbGlua1Rp
bWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzQmln
SW50VHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2Vs
bD4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0
LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5
cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc0JpZ0ludFR5cGVkQXJyYXlWaWV3KSk7CisgICAgICAg
IH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtU
aW1lQ29uc3RhbnQ6OmlzU2hhcmVkVHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0
IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVu
Y3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVy
KSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJy
YXlWaWV3KSk7CiAgICAgICAgIH0pOwpAQCAtMTIzNCw2ICsxMjQyLDkgQEAgY2FwaXRhbE5hbWUg
IyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8g
Y2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVk
PihMaW5rVGltZUNvbnN0YW50OjppbnN0YW5jZU9mKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0
aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9u
OjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAs
IFN0cmluZygpLCBvYmplY3RQcml2YXRlRnVuY0luc3RhbmNlT2YpKTsKICAgICAgICAgfSk7Cisg
ICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25z
dGFudDo6dG9CaWdJbnQpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4m
IGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZt
LCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIGdsb2Jh
bEZ1bmNUb0JpZ0ludCkpOworICAgICAgICB9KTsKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0
YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjpCdWlsdGluTG9nKV0uaW5pdExh
dGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBp
bml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0
Kj4oaW5pdC5vd25lciksIDEsIFN0cmluZygpLCBnbG9iYWxGdW5jQnVpbHRpbkxvZykpOwogICAg
ICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAppbmRleCBkNGRmMDMzZTljMzFhNTQ4MzAzY2M5NTNj
YTU5MjlmMWFjZGVmZDJlLi4yYzZkYTk2NGNjZmI4NTYzMzRmYjdjMmM4YTE5NmRlZWQ2OTJhNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC05NjcsNCArOTY3LDkgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGdsb2JhbEZ1bmNEYXRlVGltZUZvcm1hdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShk
YXRlVGltZUZvcm1hdC0+Zm9ybWF0KGdsb2JhbE9iamVjdCwgdmFsdWUpKSk7CiB9CiAKK0pTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jVG9CaWdJbnQsIChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjYWxsRnJhbWUtPmFyZ3VtZW50KDApLnRvQmlnSW50KGdsb2JhbE9iamVjdCkp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCmluZGV4IDRkZmI3ZWY2ZDZk
ZGYwMTZkMzBkYWRjNjQxZWZiM2I3NWJiZTRlMDUuLmNjOGFmYmM0NmM3MzgyYmQ4MjdiYTVmM2M0
YTk1ZjJlMjdkMmMyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaApAQCAtNTksNiArNTksNyBAQCBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUpOwogSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFibGUpOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jQ29weURhdGFQcm9wZXJ0aWVzKTsKIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY0RhdGVUaW1lRm9ybWF0KTsKK0pTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1RvQmlnSW50KTsKIAogSlNfRVhQT1JUX1BSSVZBVEUg
ZG91YmxlIGpzVG9OdW1iZXIoU3RyaW5nVmlldyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGUuY3BwCmluZGV4IDQ2MmYzZWRlMzI1ZDZkNDY0ZTZkNjNlM2Q1ZDcwZWE4YWVj
YjBlMjQuLmZjYjY5N2MyZDA5ZThiZjc1MzA2ODQ4ZTNiYzE4MDNkMTc3ODUzODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmNwcApAQCAtODQsNiArODQsOCBAQCB2b2lk
IHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5cGUgdHlwZSkKICAgICBD
QVNFKFVpbnQzMkFycmF5VHlwZSkKICAgICBDQVNFKEZsb2F0MzJBcnJheVR5cGUpCiAgICAgQ0FT
RShGbG9hdDY0QXJyYXlUeXBlKQorICAgIENBU0UoQmlnSW50NjRBcnJheVR5cGUpCisgICAgQ0FT
RShCaWdVaW50NjRBcnJheVR5cGUpCiAgICAgQ0FTRShEYXRhVmlld1R5cGUpCiAgICAgQ0FTRShH
ZXR0ZXJTZXR0ZXJUeXBlKQogICAgIENBU0UoR2xvYmFsT2JqZWN0VHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKaW5kZXggMzZiMTc0YzVmNTg0Y2FmZTFkZTIwYjIwNjNm
YmE4YjJkNWZhNmQ5Ny4uMDFhZjkzZTg1MjJmNjI4MTc3OTRmNGI2OWE1ZjM1NGYwMjk3MjM1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAgLTg3LDYgKzg3LDggQEAg
ZW51bSBKU1R5cGUgOiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheVR5cGUsCiAgICAgRmxvYXQz
MkFycmF5VHlwZSwKICAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgIEJpZ0ludDY0QXJyYXlUeXBl
LAorICAgIEJpZ1VpbnQ2NEFycmF5VHlwZSwKICAgICBEYXRhVmlld1R5cGUsCiAgICAgLy8gRW5k
IEpTQXJyYXlCdWZmZXJWaWV3IHR5cGVzLgogCkBAIC0xNDEsNiArMTQzLDcgQEAgc3RhdGljIGNv
bnN0ZXhwciB1aW50MzJfdCBMYXN0T2JqZWN0VHlwZSA9IE1heEpTVHlwZTsKIAogc3RhdGljIGNv
bnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyA9IExhc3RUeXBlZEFycmF5
VHlwZSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyAxOwogc3RhdGljIGNvbnN0ZXhwciB1aW50MzJf
dCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3ID0gTnVtYmVyT2ZUeXBl
ZEFycmF5VHlwZXMgLSAxOworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVk
QXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3ID0gTnVtYmVyT2ZUeXBl
ZEFycmF5VHlwZXMgLSAzOwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihKU1R5cGUpID09IHNpemVv
Zih1aW50OF90KSwgInNpemVvZihKU1R5cGUpIGlzIG9uZSBieXRlLiIpOwogc3RhdGljX2Fzc2Vy
dChMYXN0SlNDT2JqZWN0VHlwZSA8IDBiMTExMDAwMDAsICJFbWJlZGRlciBjYW4gdXNlIDBiMTEx
MDAwMDAgb3IgdXBwZXIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcAppbmRleCA4NGU2NTExMjZmNDI4
ZGNhOGVkZGE0Mzk0NmRkNzBjMWUxNzg0MmVlLi45NWFiZWM1NDA5YTMxZWE3ODMxM2QzYzVmMzlh
ZGI0NTg1YjhmYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAKQEAgLTQzLDYgKzQzLDggQEAgTUFL
RV9TX0lORk8oVWludDE2QXJyYXkpOwogTUFLRV9TX0lORk8oVWludDMyQXJyYXkpOwogTUFLRV9T
X0lORk8oRmxvYXQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0NjRBcnJheSk7CitNQUtFX1Nf
SU5GTyhCaWdJbnQ2NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NEFycmF5KTsKIE1BS0Vf
U19JTkZPKERhdGFWaWV3KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCmlu
ZGV4IDAxOTIwYTQxZTA5YWEzNzM0MTJiZjZiOTBkZDg3M2I3YmU1NzE4ZGMuLjA2NDU1MzA5MjI4
YTBlYmU5ZGExM2E3NDA4NDgxMTNhMzIzZjE5MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCkBAIC00MCw2
ICs0MCw4IEBAIHVzaW5nIEpTVWludDE2QXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Q29uc3RydWN0b3I8SlNVaW50MTZBcnJhCiB1c2luZyBKU1VpbnQzMkFycmF5Q29u
c3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTVWludDMyQXJy
YXk+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDMyQXJyYXk+OwogdXNpbmcgSlNGbG9hdDY0QXJyYXlD
b25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDY0
QXJyYXk+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTQmlnSW50NjRBcnJheT47Cit1c2luZyBKU0JpZ1VpbnQ2
NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpT
QmlnVWludDY0QXJyYXk+OwogdXNpbmcgSlNEYXRhVmlld0NvbnN0cnVjdG9yID0gSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxKU0RhdGFWaWV3PjsKIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEpTSW50OEFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rp
b24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNJbnQxNkFycmF5Q29u
c3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwpAQCAtNTAsNiArNTIsOCBAQCBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1VpbnQxNkFycmF5Q29uc3RydWN0b3IsIEludGVy
bmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNVaW50
MzJBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEpTRmxvYXQzMkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVu
Y3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNGbG9hdDY0QXJy
YXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlv
bik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0JpZ1VpbnQ2NEFycmF5
Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSlNEYXRhVmlld0NvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCmluZGV4IDJiYjE0NTI1ZjViZDExNjhj
ZjQ2NzMxNzM5OTMyNzY4NzgxMDkwNTYuLmJhODE4ZWEzMDgyZmY0MDRjOWQ0YTdmMTQxODFlYzk3
N2I4MTkzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlw
ZWRBcnJheVByb3RvdHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCkBAIC00Nyw2ICs0Nyw4IEBAIE1BS0VfU19JTkZP
KFVpbnQxNkFycmF5KTsKIE1BS0VfU19JTkZPKFVpbnQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZs
b2F0MzJBcnJheSk7CiBNQUtFX1NfSU5GTyhGbG9hdDY0QXJyYXkpOworTUFLRV9TX0lORk8oQmln
SW50NjRBcnJheSk7CitNQUtFX1NfSU5GTyhCaWdVaW50NjRBcnJheSk7CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5
cGVkQXJyYXlQcm90b3R5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5
cGVkQXJyYXlQcm90b3R5cGVzLmgKaW5kZXggMDdiOTY4NjkzZTgwZjQ1ODU4NmNjMTJiYzVkYWZm
ZWZhNDFlMzU5OS4uNTExYjExMjg4Nzg4NWNjNTdhODE4MzIzZjIzYWFlNDJkMWFhOWY4NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90
eXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVBy
b3RvdHlwZXMuaApAQCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlW
aWV3UHJvdG90eXBlPEpTVWludDE2QXJyYXk+IEpTVWludDE2QXJyYXlQcm90b3R5cGU7CiB0eXBl
ZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWludDMyQXJyYXk+IEpTVWlu
dDMyQXJyYXlQcm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90
eXBlPEpTRmxvYXQzMkFycmF5PiBKU0Zsb2F0MzJBcnJheVByb3RvdHlwZTsKIHR5cGVkZWYgSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNGbG9hdDY0QXJyYXk+IEpTRmxvYXQ2NEFy
cmF5UHJvdG90eXBlOwordHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTxK
U0JpZ0ludDY0QXJyYXk+IEpTQmlnSW50NjRBcnJheVByb3RvdHlwZTsKK3R5cGVkZWYgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNCaWdVaW50NjRBcnJheT4gSlNCaWdVaW50NjRB
cnJheVByb3RvdHlwZTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3Bw
CmluZGV4IGVmMmM5MTBjZGI0Y2VkZGY3MzM1YjA1NTdjZGVmNjhlOTAwMmI3OTcuLjM2YTVhMTA2
YzIyYjYyYjVmNWUzZmFjYWIwMzU4ZjMzMzE3ZTJiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3Bw
CkBAIC03Miw2ICs3MiwxMCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBl
ZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY1RvU3RyaW5nVGFnKTsKICAgICAgICAgcmV0dXJuIGZ1
bmN0aW9uTmFtZTxKU0ludDE2QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVVaW50MTY6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU1VpbnQxNkFycmF5Pih2bSwg
Z2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBj
YXNlIFR5cGVCaWdJbnQ2NDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0
aW9uTmFtZTxKU0JpZ0ludDY0QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ1VpbnQ2NEFycmF5Pih2bSwg
Z2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IE5vdFR5cGVkQXJyYXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVEYXRhVmlldzog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFs
T2JqZWN0LCBzY29wZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKQEAgLTg2LDYgKzkwLDEyIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jSXNUeXBlZEFycmF5VmlldywgKEpTR2xvYmFsT2JqCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odmFsdWUuaXNDZWxsKCkgJiYgaXNUeXBlZFZpZXco
dmFsdWUuYXNDZWxsKCktPmNsYXNzSW5mbyhnbG9iYWxPYmplY3QtPnZtKCkpLT50eXBlZEFycmF5
U3RvcmFnZVR5cGUpKSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5VmlldywgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBKU1ZhbHVlIHZhbHVl
ID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzQm9vbGVhbih2YWx1ZS5pc0NlbGwoKSAmJiBpc0JpZ0ludFR5cGVkVmlldyh2YWx1
ZS5hc0NlbGwoKS0+Y2xhc3NJbmZvKGdsb2JhbE9iamVjdC0+dm0oKSktPnR5cGVkQXJyYXlTdG9y
YWdlVHlwZSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3
UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3LCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpTVmFsdWUgdmFsdWUgPSBj
YWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApOwpAQCAtMTcxLDYgKzE4MSwxNiBAQCBKU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0xlbmd0aCwgKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
dGhpc09iamVjdC0+bGVuZ3RoKCkpKTsKIH0KIAorSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5
cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxP
YmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwor
ICAgIEpTVmFsdWUgYXJndW1lbnQgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgIGlmICgh
YXJndW1lbnQuaXNDZWxsKCkgfHwgIWlzVHlwZWRWaWV3KGFyZ3VtZW50LmFzQ2VsbCgpLT5jbGFz
c0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKQorICAgICAgICByZXR1cm4gdGhyb3dW
TVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiUmVjZWl2ZXIgc2hvdWxkIGJlIGEgdHlw
ZWQgYXJyYXkgdmlldyJfcyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihz
dGF0aWNfY2FzdDxpbnQzMl90Pihjb250ZW50VHlwZShhcmd1bWVudC5hc0NlbGwoKS0+Y2xhc3NJ
bmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNHZXRPcmlnaW5hbENvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQog
ewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTM4OCw2ICs0MDgsMTAgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJvdG9HZXR0ZXJGdW5jVG9T
dHJpbmdUYWcsIChKU0dsb2JhbE9iamUKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c05vbnRyaXZpYWxTdHJpbmcodm0sICJJbnQxNkFycmF5Il9zKSk7CiAgICAgY2FzZSBUeXBlVWlu
dDE2OgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlVpbnQxNkFycmF5Il9zKSk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKHZtLCAiQmlnSW50NjRBcnJh
eSJfcykpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmcodm0sICJCaWdVaW50NjRBcnJheSJfcykpOwogICAg
IGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaAppbmRl
eCBkMzUzMGZmNmQ2MTRlZmUwZDIyMTI3YzM4Zjk2OTBjMmNjZjIwZWY0Li5hMmE2NDMxNzZlZDJk
M2E4MDZjMTI1YmFjY2NkNzcwODZmYTMzYzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCkBAIC01Miwx
MSArNTIsMTMgQEAgY2xhc3MgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSBmaW5hbCA6IHB1Ymxp
YyBKU05vbkZpbmFsT2JqZWN0IHsKIH07CiAKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlw
ZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzVHlwZWRBcnJheVZpZXcpOworSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5Vmll
dyk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1NoYXJlZFR5cGVkQXJyYXlWaWV3KTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlwZWRB
cnJheVZpZXdQcml2YXRlRnVuY0lzRGV0YWNoZWQpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElP
Tih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jRGVmYXVsdENvbXBhcmF0b3IpOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jU29ydCk7CiBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNMZW5ndGgpOworSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jQ29udGVudFR5
cGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5j
R2V0T3JpZ2luYWxDb25zdHJ1Y3Rvcik7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVk
QXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNyZWF0ZSk7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCmluZGV4IDRiOWY5NWNmNjMx
YmRhNTM1NGU3NTFhZDQwMjkxNjJjZGE3ZjdiYzguLjkwYjMwNDU2NzBhZjBhYmUyZjZkMDI3ZWRl
OWQ4ODVmZmYwNGFmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZWRBcnJheXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheXMuY3BwCkBAIC02MSw2ICs2MSw4IEBAIE1BS0VfU19JTkZPKFVpbnQxNik7CiBN
QUtFX1NfSU5GTyhVaW50MzIpOwogTUFLRV9TX0lORk8oRmxvYXQzMik7CiBNQUtFX1NfSU5GTyhG
bG9hdDY0KTsKK01BS0VfU19JTkZPKEJpZ0ludDY0KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NCk7
CiAKIE1BS0VfQ09OU1RSVUNUT1JTKERhdGFWaWV3KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oCmluZGV4IGMzODEyOTg0YjRkN2I4N2JiMWUzMDFl
MjE5N2I4NjA1YzBmZWNhYzEuLmEzMDNhMDc4OGEwNDRhMGVmODY0NjhjMzA1ZDFlNmZlZjhhMjNh
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmgK
QEAgLTM5LDYgKzM5LDggQEAgdXNpbmcgSlNVaW50MTZBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3PFVpbnQxNkFkYXB0b3I+OwogdXNpbmcgSlNVaW50MzJBcnJheSA9IEpTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXkgPSBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDMyQWRhcHRvcj47CiB1c2luZyBKU0Zsb2F0NjRBcnJh
eSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmln
SW50NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRvcj47Cit1
c2luZyBKU0JpZ1VpbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnVWludDY0
QWRhcHRvcj47CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTVWludDhBcnJheSogY3JlYXRlVWludDhU
eXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUmVmUHRyPEFycmF5QnVmZmVy
PiYmLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVG9OYXRpdmVGcm9tVmFsdWUuaAppbmRleCAyNTMy
NmQ2MGQ2ZDU5NGNlMjU3OTc2NTg2MTQxNTU5ZTAzZmY4ZWJhLi43NDYwODk1ZjRiZjJlNzM3NmQw
MTMzMzcxNTM3NWYzYWI1OTQxM2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1RvTmF0aXZlRnJvbVZhbHVlLmgKQEAgLTI2LDEyICsyNiwxNCBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiVHlwZWRBcnJheUFkYXB0
b3JzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgog
dHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB0b05hdGl2ZUZyb21WYWx1ZShKU1ZhbHVlIHZhbHVlKQog
eworICAgIC8vIEZJWE1FOiBCaWdJbnQKICAgICBpZiAodmFsdWUuaXNJbnQzMigpKQogICAgICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tSW50MzIodmFsdWUuYXNJbnQzMigpKTsKICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlKHZhbHVlLmFzRG91YmxlKCkpOwpA
QCAtNDAsMjEgKzQyLDM3IEBAIHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUgdG9OYXRpdmVGcm9tVmFs
dWUoSlNWYWx1ZSB2YWx1ZSkKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CiB0eXBlbmFtZSBB
ZGFwdG9yOjpUeXBlIHRvTmF0aXZlRnJvbVZhbHVlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAg
cmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKHZhbHVlLmFzSW50MzIoKSk7Ci0gICAg
aWYgKHZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZy
b21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7Ci0gICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZl
RnJvbURvdWJsZSh2YWx1ZS50b051bWJlcihnbG9iYWxPYmplY3QpKTsKKyAgICBpZiBjb25zdGV4
cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4gfHwgc3RkOjppc19z
YW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsKKyAgICAgICAgaWYgY29uc3RleHBy
IChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAg
cmV0dXJuIHZhbHVlLnRvQmlnSW50NjQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQmlnVUludDY0KGdsb2JhbE9iamVjdCk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBB
ZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQzMih2YWx1ZS5hc0ludDMyKCkpOworICAgICAgICBpZiAo
dmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZy
b21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7CisgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05h
dGl2ZUZyb21Eb3VibGUodmFsdWUudG9OdW1iZXIoZ2xvYmFsT2JqZWN0KSk7CisgICAgfQogfQog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogT3B0aW9uYWw8dHlwZW5hbWUgQWRhcHRvcjo6
VHlwZT4gdG9OYXRpdmVGcm9tVmFsdWVXaXRob3V0Q29lcmNpb24oSlNWYWx1ZSB2YWx1ZSkKIHsK
LSAgICBpZiAoIXZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0
aXZlRnJvbUludDMyV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzSW50MzIoKSk7Ci0gICAgcmV0dXJu
IEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZVdpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0RvdWJs
ZSgpKTsKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0
QWRhcHRvcj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsK
KyAgICAgICAgaWYgKCF2YWx1ZS5pc0JpZ0ludCgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBC
aWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAgcmV0dXJuIEpTQmlnSW50Ojp0b0JpZ0ludDY0
KHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIEpTQmlnSW50Ojp0b0Jp
Z1VJbnQ2NCh2YWx1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCF2YWx1ZS5pc051bWJl
cigpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgaWYgKHZhbHVl
LmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQz
MldpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0ludDMyKCkpOworICAgICAgICByZXR1cm4gQWRhcHRv
cjo6dG9OYXRpdmVGcm9tRG91YmxlV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzRG91YmxlKCkpOwor
ICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5QWRhcHRvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCmluZGV4IGUzMjRkNDBhMjYzMTgyYjcy
M2IzNjdiYTI5MGMxMWYyZDYwMTA4ZjMuLmQ0YzFkN2E3YThmZjczYjY3YzRmYzI0OTk1ZGI0YTc5
YmU4ZTEwMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlBZGFwdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlBZGFwdG9ycy5oCkBAIC0zOSwxMSArMzksMTMgQEAgc3RydWN0IEludGVncmFsVHlwZWRB
cnJheUFkYXB0b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBlOwogICAgIHR5cGVkZWYgVmll
d1R5cGVBcmcgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7
Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFy
ZzsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51
bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNv
bnN0IFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgo
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVW
YWx1ZUFyZzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51
bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5
cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5ID0gdHJ1ZTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpT
Qzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1
ZShUeXBlIHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVj
dCosIFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Zs
b2F0aW5nX3BvaW50PFR5cGU+Ojp2YWx1ZSwgIiIpOwogICAgICAgICByZXR1cm4ganNOdW1iZXIo
dmFsdWUpOwpAQCAtMTE1LDExICsxMTcsMTMgQEAgc3RydWN0IEZsb2F0VHlwZWRBcnJheUFkYXB0
b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBlOwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcg
Vmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3Rh
dGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBj
b25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVB
cmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsK
KyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4
VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVu
dFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZh
bHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUg
dmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4ganNEb3VibGVOdW1iZXIocHVyaWZ5TmFOKHZh
bHVlKSk7CiAgICAgfQpAQCAtMTcyLDYgKzE3Niw1MiBAQCBzdHJ1Y3QgRmxvYXRUeXBlZEFycmF5
QWRhcHRvciB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8CisgICAgdHlwZW5hbWUgVHlwZUFyZywg
dHlwZW5hbWUgVmlld1R5cGVBcmcsIHR5cGVuYW1lIEpTVmlld1R5cGVBcmcsCisgICAgVHlwZWRB
cnJheVR5cGUgdHlwZVZhbHVlQXJnPgorc3RydWN0IEJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yIHsK
KyAgICB0eXBlZGVmIFR5cGVBcmcgVHlwZTsKKyAgICB0eXBlZGVmIFZpZXdUeXBlQXJnIFZpZXdU
eXBlOworICAgIHR5cGVkZWYgSlNWaWV3VHlwZUFyZyBKU1ZpZXdUeXBlOworICAgIHN0YXRpYyBj
b25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOworICAgIHN0
YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlw
ZUFyZz46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtYXhWYWx1ZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSBmYWxzZTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUo
dHlwZVZhbHVlKTsKKworICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUeXBlIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgIHJldHVybiBKU0JpZ0ludDo6bWFrZUhlYXBCaWdJbnRPckJpZ0lu
dDMyKGdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBkb3VibGUgdG9E
b3VibGUoVHlwZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxkb3Vi
bGU+KHZhbHVlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgVHlwZSB0b05hdGl2ZUZyb21JbnQzMihp
bnQzMl90IHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KHZh
bHVlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgVHlwZSB0b05hdGl2ZUZyb21VaW50MzIodWludDMy
X3QgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUp
OworICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbURvdWJsZShkb3VibGUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUpOworICAg
IH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIE90aGVyQWRhcHRvcj4KKyAgICBzdGF0aWMgdHlw
ZW5hbWUgT3RoZXJBZGFwdG9yOjpUeXBlIGNvbnZlcnRUbyhUeXBlIHZhbHVlKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHZhbHVlOworICAgIH0KK307CisKIHN0cnVjdCBJbnQ4QWRhcHRvcjsKIHN0
cnVjdCBJbnQxNkFkYXB0b3I7CiBzdHJ1Y3QgSW50MzJBZGFwdG9yOwpAQCAtMTgxLDYgKzIzMSw4
IEBAIHN0cnVjdCBVaW50MTZBZGFwdG9yOwogc3RydWN0IFVpbnQzMkFkYXB0b3I7CiBzdHJ1Y3Qg
RmxvYXQzMkFkYXB0b3I7CiBzdHJ1Y3QgRmxvYXQ2NEFkYXB0b3I7CitzdHJ1Y3QgQmlnSW50NjRB
ZGFwdG9yOworc3RydWN0IEJpZ1VpbnQ2NEFkYXB0b3I7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFk
YXB0b3I+IGNsYXNzIEdlbmVyaWNUeXBlZEFycmF5VmlldzsKIHR5cGVkZWYgR2VuZXJpY1R5cGVk
QXJyYXlWaWV3PEludDhBZGFwdG9yPiBJbnQ4QXJyYXk7CkBAIC0xOTIsNiArMjQ0LDggQEAgdHlw
ZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2QWRhcHRvcj4gVWludDE2QXJyYXk7CiB0
eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MzJBZGFwdG9yPiBVaW50MzJBcnJheTsK
IHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJBZGFwdG9yPiBGbG9hdDMyQXJy
YXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDY0QWRhcHRvcj4gRmxvYXQ2
NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnSW50NjRBZGFwdG9yPiBC
aWdJbnQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnVWludDY0QWRh
cHRvcj4gQmlnVWludDY0QXJyYXk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+IGNsYXNz
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3OwogdXNpbmcgSlNJbnQ4QXJyYXkgPSBKU0dlbmVyaWNU
eXBlZEFycmF5VmlldzxJbnQ4QWRhcHRvcj47CkBAIC0yMDMsNiArMjU3LDggQEAgdXNpbmcgSlNV
aW50MTZBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQxNkFkYXB0b3I+OwogdXNp
bmcgSlNVaW50MzJBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+
OwogdXNpbmcgSlNGbG9hdDMyQXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDMy
QWRhcHRvcj47CiB1c2luZyBKU0Zsb2F0NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
PEZsb2F0NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmlnSW50NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRvcj47Cit1c2luZyBKU0JpZ1VpbnQ2NEFycmF5ID0gSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnVWludDY0QWRhcHRvcj47CiAKIHN0cnVjdCBJbnQ4QWRh
cHRvciA6IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3I8aW50OF90LCBJbnQ4QXJyYXksIEpTSW50
OEFycmF5LCBUeXBlSW50OD4geyB9Owogc3RydWN0IEludDE2QWRhcHRvciA6IEludGVncmFsVHlw
ZWRBcnJheUFkYXB0b3I8aW50MTZfdCwgSW50MTZBcnJheSwgSlNJbnQxNkFycmF5LCBUeXBlSW50
MTY+IHsgfTsKQEAgLTIxMiwxNiArMjY4LDIwIEBAIHN0cnVjdCBVaW50MTZBZGFwdG9yIDogSW50
ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjx1aW50MTZfdCwgVWludDE2QXJyYXksIEpTVWludDE2CiBz
dHJ1Y3QgVWludDMyQWRhcHRvciA6IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3I8dWludDMyX3Qs
IFVpbnQzMkFycmF5LCBKU1VpbnQzMkFycmF5LCBUeXBlVWludDMyPiB7IH07CiBzdHJ1Y3QgRmxv
YXQzMkFkYXB0b3IgOiBGbG9hdFR5cGVkQXJyYXlBZGFwdG9yPGZsb2F0LCBGbG9hdDMyQXJyYXks
IEpTRmxvYXQzMkFycmF5LCBUeXBlRmxvYXQzMj4geyB9Owogc3RydWN0IEZsb2F0NjRBZGFwdG9y
IDogRmxvYXRUeXBlZEFycmF5QWRhcHRvcjxkb3VibGUsIEZsb2F0NjRBcnJheSwgSlNGbG9hdDY0
QXJyYXksIFR5cGVGbG9hdDY0PiB7IH07CitzdHJ1Y3QgQmlnSW50NjRBZGFwdG9yIDogQmlnSW50
VHlwZWRBcnJheUFkYXB0b3I8aW50NjRfdCwgQmlnSW50NjRBcnJheSwgSlNCaWdJbnQ2NEFycmF5
LCBUeXBlQmlnSW50NjQ+IHsgfTsKK3N0cnVjdCBCaWdVaW50NjRBZGFwdG9yIDogQmlnSW50VHlw
ZWRBcnJheUFkYXB0b3I8dWludDY0X3QsIEJpZ1VpbnQ2NEFycmF5LCBKU0JpZ1VpbnQ2NEFycmF5
LCBUeXBlQmlnVWludDY0PiB7IH07CiAKIHN0cnVjdCBVaW50OENsYW1wZWRBZGFwdG9yIHsKICAg
ICB0eXBlZGVmIHVpbnQ4X3QgVHlwZTsKICAgICB0eXBlZGVmIFVpbnQ4Q2xhbXBlZEFycmF5IFZp
ZXdUeXBlOwogICAgIHR5cGVkZWYgSlNVaW50OENsYW1wZWRBcnJheSBKU1ZpZXdUeXBlOwotICAg
IHN0YXRpYyBjb25zdCBUeXBlZEFycmF5VHlwZSB0eXBlVmFsdWUgPSBUeXBlVWludDhDbGFtcGVk
OwotICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgdWludDhfdCBtaW5WYWx1ZSA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDhfdD46Omxvd2VzdCgpOwotICAgIGNvbnN0ZXhwciBzdGF0aWMgY29u
c3QgdWludDhfdCBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDhfdD46Om1heCgp
OworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gVHlwZVVp
bnQ4Q2xhbXBlZDsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ4X3QgbWluVmFsdWUgPSBzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQ4X3Q+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IHVpbnQ4X3QgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ4X3Q+OjptYXgoKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5ID0gdHJ1ZTsK
KyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9
IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNW
YWx1ZSh1aW50OF90IHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2Jh
bE9iamVjdCosIHVpbnQ4X3QgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4ganNOdW1iZXIo
dmFsdWUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVkQXJyYXlUeXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlUeXBlLmNwcAppbmRleCBjMjQxODViODkyNGY2NjliMWQ3ZWE2OWZhYzUyNTU5YzFjYWEx
ZDMzLi5mMjk2ZTM3NDkyNWEyZjA5MGJjYWNkNjEzYWVlOTAzY2RiZTgyN2YyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuY3BwCkBAIC01Myw2
ICs1MywxMCBAQCBjb25zdCBDbGFzc0luZm8qIGNvbnN0cnVjdG9yQ2xhc3NJbmZvRm9yVHlwZShU
eXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gSlNGbG9hdDMyQXJyYXlDb25zdHJ1
Y3Rvcjo6aW5mbygpOwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBKU0Zs
b2F0NjRBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6Cisg
ICAgICAgIHJldHVybiBKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3Rvcjo6aW5mbygpOworICAgIGNh
c2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTQmlnVWludDY0QXJyYXlDb25zdHJ1
Y3Rvcjo6aW5mbygpOwogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICByZXR1cm4gSlNE
YXRhVmlld0NvbnN0cnVjdG9yOjppbmZvKCk7CiAgICAgfQpAQCAtOTksNiArMTAzLDEyIEBAIHZv
aWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBUeXBlZEFycmF5VHlwZSB0eXBlKQog
ICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIG91dC5wcmludCgiVHlwZUZsb2F0NjQiKTsK
ICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICBvdXQucHJp
bnQoIlR5cGVCaWdJbnQ2NCIpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBUeXBlQmlnVWlu
dDY0OgorICAgICAgICBvdXQucHJpbnQoIlR5cGVCaWdVaW50NjQiKTsKKyAgICAgICAgcmV0dXJu
OwogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBvdXQucHJpbnQoIlR5cGVEYXRhVmll
dyIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlZEFycmF5VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZWRBcnJheVR5cGUuaAppbmRleCAwN2QxNzUzYWI4Y2MyODBjOGQ2ZGRjOTEzN2I0MGE3NDc0
MzgyYjRmLi42ZjQwZTFjZjhmMDdhMGJmZmQyZDdjMmMyNDkwMjVjMmQ1MGQzNjQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmgKQEAgLTQyLDcg
KzQyLDkgQEAgc3RydWN0IENsYXNzSW5mbzsKICAgICBtYWNybyhJbnQzMikgXAogICAgIG1hY3Jv
KFVpbnQzMikgXAogICAgIG1hY3JvKEZsb2F0MzIpIFwKLSAgICBtYWNybyhGbG9hdDY0KQorICAg
IG1hY3JvKEZsb2F0NjQpIFwKKyAgICBtYWNybyhCaWdJbnQ2NCkgXAorICAgIG1hY3JvKEJpZ1Vp
bnQ2NCkKIAogI2RlZmluZSBGT1JfRUFDSF9UWVBFRF9BUlJBWV9UWVBFKG1hY3JvKSBcCiAgICAg
Rk9SX0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdfREFUQV9WSUVXKG1hY3JvKSBcCkBA
IC01NSw2ICs1NywxMiBAQCBlbnVtIFR5cGVkQXJyYXlUeXBlIHsKICN1bmRlZiBERUNMQVJFX1RZ
UEVEX0FSUkFZX1RZUEUKIH07CiAKK2VudW0gY2xhc3MgVHlwZWRBcnJheUNvbnRlbnRUeXBlIDog
dWludDhfdCB7CisgICAgTm9uZSwKKyAgICBOdW1iZXIsCisgICAgQmlnSW50LAorfTsKKwogI2Rl
ZmluZSBBU1NFUlRfVFlQRURfQVJSQVlfVFlQRShuYW1lKSBcCiAgICAgc3RhdGljX2Fzc2VydChz
dGF0aWNfY2FzdDx1aW50MzJfdD4oVHlwZSAjIyBuYW1lKSA9PSAoc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KG5hbWUgIyMgQXJyYXlUeXBlKSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4oVHlwZUludDgpKSwgIiIpOwogICAgIEZPUl9FQUNIX1RZUEVEX0FSUkFZX1RZ
UEVfRVhDTFVESU5HX0RBVEFfVklFVyhBU1NFUlRfVFlQRURfQVJSQVlfVFlQRSkKQEAgLTg1LDYg
KzkzLDE3IEBAIGlubGluZSBib29sIGlzVHlwZWRWaWV3KFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAg
ICAgfQogfQogCitpbmxpbmUgYm9vbCBpc0JpZ0ludFR5cGVkVmlldyhUeXBlZEFycmF5VHlwZSB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAg
IGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogaW5saW5lIHVuc2lnbmVkIGxvZ0Vs
ZW1lbnRTaXplKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBA
IC0xMDMsNiArMTIyLDggQEAgaW5saW5lIHVuc2lnbmVkIGxvZ0VsZW1lbnRTaXplKFR5cGVkQXJy
YXlUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlRmxvYXQzMjoKICAgICAgICAgcmV0dXJuIDI7CiAg
ICAgY2FzZSBUeXBlRmxvYXQ2NDoKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICBjYXNlIFR5
cGVCaWdVaW50NjQ6CiAgICAgICAgIHJldHVybiAzOwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTU5LDYgKzE4MCwxNyBAQCBpbmxpbmUgYm9vbCBpc0Zsb2F0
KFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgfQogfQogCitpbmxpbmUgYm9vbCBpc0JpZ0ludChU
eXBlZEFycmF5VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVHlw
ZUJpZ0ludDY0OgorICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogaW5saW5l
IGJvb2wgaXNTaWduZWQoVHlwZWRBcnJheVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUp
IHsKQEAgLTE2Nyw2ICsxOTksNyBAQCBpbmxpbmUgYm9vbCBpc1NpZ25lZChUeXBlZEFycmF5VHlw
ZSB0eXBlKQogICAgIGNhc2UgVHlwZUludDMyOgogICAgIGNhc2UgVHlwZUZsb2F0MzI6CiAgICAg
Y2FzZSBUeXBlRmxvYXQ2NDoKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTc4LDYgKzIx
MSwyOSBAQCBpbmxpbmUgYm9vbCBpc0NsYW1wZWQoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICBy
ZXR1cm4gdHlwZSA9PSBUeXBlVWludDhDbGFtcGVkOwogfQogCitpbmxpbmUgY29uc3RleHByIFR5
cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQorewor
ICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgIGNhc2UgVHlw
ZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIFR5cGVkQXJyYXlDb250ZW50VHlwZTo6QmlnSW50
OworICAgIGNhc2UgVHlwZUludDg6CisgICAgY2FzZSBUeXBlSW50MTY6CisgICAgY2FzZSBUeXBl
SW50MzI6CisgICAgY2FzZSBUeXBlVWludDg6CisgICAgY2FzZSBUeXBlVWludDE2OgorICAgIGNh
c2UgVHlwZVVpbnQzMjoKKyAgICBjYXNlIFR5cGVGbG9hdDMyOgorICAgIGNhc2UgVHlwZUZsb2F0
NjQ6CisgICAgY2FzZSBUeXBlVWludDhDbGFtcGVkOgorICAgICAgICByZXR1cm4gVHlwZWRBcnJh
eUNvbnRlbnRUeXBlOjpOdW1iZXI7CisgICAgY2FzZSBOb3RUeXBlZEFycmF5OgorICAgIGNhc2Ug
VHlwZURhdGFWaWV3OgorICAgICAgICByZXR1cm4gVHlwZWRBcnJheUNvbnRlbnRUeXBlOjpOb25l
OworICAgIH0KKyAgICByZXR1cm4gVHlwZWRBcnJheUNvbnRlbnRUeXBlOjpOb25lOworfQorCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVHlwZWRBcnJheXMuaAppbmRleCA4ZmU5YjM2Y2IyNzdmMjNkMGE5ODZkZjEz
ZjA5YzZkZWYyNTlhOWM5Li44MjcwMWY3ODBiN2EzNWIyMzliNTk0MDJkYjM2ZDE5MjcwNjljZWFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5cy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlzLmgKQEAgLTM5
LDUgKzM5LDcgQEAgdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2QWRhcHRvcj4g
VWludDE2QXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MzJBZGFwdG9y
PiBVaW50MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJBZGFw
dG9yPiBGbG9hdDMyQXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDY0
QWRhcHRvcj4gRmxvYXQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8Qmln
SW50NjRBZGFwdG9yPiBCaWdJbnQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZp
ZXc8QmlnVWludDY0QWRhcHRvcj4gQmlnVWludDY0QXJyYXk7CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IDg0MDNlMmM4MWM3MjY4MWMw
ZDUxMDg3OWE4YmU5ODBmNmUxZTBmOGMuLmU3MWEzY2VkNWYxODc0ZTQ5YTVkZDIwOTA5ZGY2Zjgy
MDgwYmY0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTE0NzEsNyAr
MTQ3MSw5IEBAIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcGlWYWx1
ZVdyYXBwZXJTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYXJyYXlCdWZmZXJTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQo
KSwgSlNBcnJheUJ1ZmZlcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
VyhhcnJheUl0ZXJhdG9yU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXJyYXlJdGVy
YXRvcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhc3luY0dlbmVy
YXRvclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FzeW5jR2VuZXJhdG9yKQorRFlO
QU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJpZ0ludDY0QXJyYXlTcGFjZSwg
Y2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNCaWdJbnQ2NEFycmF5KQogRFlOQU1JQ19JU09fU1VC
U1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJpZ0ludE9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBCaWdJbnRPYmplY3QpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSX1NMT1coYmlnVWludDY0QXJyYXlTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNC
aWdVaW50NjRBcnJheSkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhi
b29sZWFuT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJvb2xlYW5PYmplY3Qp
CiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm91bmRGdW5jdGlvblNw
YWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JvdW5kRnVuY3Rpb24pIC8vIEhhc2g6MHhk
NzkxNmQ0MQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGNhbGxiYWNr
Q29uc3RydWN0b3JTcGFjZSwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlwZS5nZXQoKSwg
SlNDYWxsYmFja0NvbnN0cnVjdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5kZXgg
MjdhYWZjMDMyNjZmZDM3YzI1YWEyYTQzMTIyZWI2YTEzZTY1OGM5Ny4uNzBhZTM2NTIzNmM3ZjE2
OGQ2YzlhNDU3NTQ3YmJmM2EwNTkwNjNjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5o
CkBAIC00OTMsNyArNDkzLDkgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5QnVmZmVyU3BhY2UpCiAgICAgRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcnJheUl0ZXJhdG9yU3BhY2UpCiAgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhc3luY0dlbmVyYXRvclNwYWNlKQorICAgIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50NjRBcnJheVNwYWNlKQogICAg
IERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50T2JqZWN0U3BhY2UpCisg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdVaW50NjRBcnJheVNwYWNl
KQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYm9vbGVhbk9iamVjdFNw
YWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYm91bmRGdW5jdGlv
blNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoY2FsbGJhY2tD
b25zdHJ1Y3RvclNwYWNlKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3Rz
L0NoYW5nZUxvZwppbmRleCA1NDg4YzA5MTJlNWE3YTljODM3YTNmOGFhOTI1NTIzMDQ1MDRkZTIy
Li45OTZkY2RmMTEzZmM4MmU4MjNlMWQ3ZDU3YWFhMDA5MjNmMTRhM2MxIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAxLTMwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0pTQ10gSW1wbGVtZW50IEJpZ0ludDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFycmF5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA4MDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3QyNjIvY29u
ZmlnLnlhbWw6CisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoKKwogMjAyMS0w
MS0yOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IEZpeCBXZWJBc3NlbWJseS5HbG9iYWwncyBlcnJvciBtZXNzYWdlIGFuZCBzdXBwb3J0ICJmdW5j
cmVmIgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sIGIvSlNUZXN0cy90
ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IDgzYTZhNzJkNGNmM2Y0YzFjOWNmOGFiNzE5OWNiZGZj
NGUwYzg4ZjYuLjA0Yzc3MTFlMDYzNjZmNWI0MmRjM2UyNWZjYjc3YjM3YWJiNGJmMDIgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
Y29uZmlnLnlhbWwKQEAgLTI4LDU0ICsyOCw2IEBAIHNraXA6CiAgICAgLSB0b3AtbGV2ZWwtYXdh
aXQKICAgICAtIEludGwuTGlzdEZvcm1hdAogICBwYXRoczoKLSAgICAtIHRlc3QvYnVpbHQtaW5z
L0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRCaWdJbnQ2NAotICAgIC0gdGVzdC9idWlsdC1pbnMvRGF0
YVZpZXcvcHJvdG90eXBlL2dldEJpZ1VpbnQ2NAotICAgIC0gdGVzdC9idWlsdC1pbnMvRGF0YVZp
ZXcvcHJvdG90eXBlL3NldEJpZ0ludDY0Ci0KLSAgICAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTA4MDAKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1RhZy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2J1ZmZlci9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2J5dGVMZW5ndGgvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlT2Zmc2V0L0JpZ0ludAotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvY29weVdpdGhpbi9CaWdJbnQKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2VudHJpZXMvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ldmVyeS9CaWdJbnQKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbGwvQmlnSW50Ci0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maWx0ZXIvQmlnSW50Ci0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maW5kL0JpZ0ludAotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZEluZGV4L0JpZ0ludAotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZm9yRWFjaC9CaWdJbnQKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVzL0JpZ0ludAotICAgIC0g
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5kZXhPZi9CaWdJbnQKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2pvaW4vQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9rZXlzL0JpZ0ludAotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGFzdEluZGV4T2YvQmlnSW50Ci0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sZW5ndGgvQmlnSW50Ci0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2UvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9CaWdJbnQKLSAg
ICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3JldmVyc2UvQmlnSW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQvQmlnSW50Ci0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0L0JpZ0ludAotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc3ViYXJyYXkvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9CaWdJbnQK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvU3RyaW5nL0JpZ0lu
dAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdmFsdWVzL0JpZ0lu
dAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9CaWdJbnQ2NEFy
cmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL0JpZ1VpbnQ2
NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2N0b3Jz
LWJpZ2ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9mcm9t
L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50Ci0gICAgLSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50Ci0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Q
cm9wZXJ0eS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvT3duUHJvcGVydHlLZXlzL0JpZ0ludAotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0Jp
Z0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9vZi9CaWdJ
bnQKLQogICAgIC0gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hZGQvYmlnaW50CiAgICAgLSB0ZXN0
L2J1aWx0LWlucy9BdG9taWNzL2FuZC9iaWdpbnQKICAgICAtIHRlc3QvYnVpbHQtaW5zL0F0b21p
Y3MvY29tcGFyZUV4Y2hhbmdlL2JpZ2ludApAQCAtMTAxLDQ2ICs1Myw2IEBAIHNraXA6CiAgICAg
LSB0ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUtMTMuMC4wLWVzY2FwZWQu
anMKICAgICAtIHRlc3QvbGFuZ3VhZ2UvaWRlbnRpZmllcnMvc3RhcnQtdW5pY29kZS0xMy4wLjAu
anMKIAotICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgw
MAotICAgIC0gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1iaWdpbnQ2NGFycmF5Lmpz
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ3VpbnQ2NGFycmF5Lmpz
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQvc3JjLXR5cGVk
YXJyYXktYmlnLXRocm93cy5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9jdG9ycy90eXBlZGFycmF5LWFyZy9zcmMtdHlwZWRhcnJheS1iaWctdGhyb3dzLmpz
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9T
eW1ib2wudG9TdHJpbmdUYWcvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvYmlnaW50LVN5bWJvbC5pdGVyYXRv
ci5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5
cGUvYnVmZmVyL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2J5dGVMZW5ndGgvYmlnaW50LWluaGVyaXRlZC5q
cwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUv
Ynl0ZU9mZnNldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9jb3B5V2l0aGluL2JpZ2ludC1pbmhlcml0ZWQu
anMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBl
L2VudHJpZXMvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZXZlcnkvYmlnaW50LWluaGVyaXRlZC5qcwotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZmlsbC9i
aWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL3Byb3RvdHlwZS9maWx0ZXIvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZmluZC9iaWdpbnQtaW5o
ZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3By
b3RvdHlwZS9maW5kSW5kZXgvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZm9yRWFjaC9iaWdpbnQtaW5oZXJp
dGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3Rv
dHlwZS9pbmRleE9mL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2pvaW4vYmlnaW50LWluaGVyaXRlZC5qcwot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUva2V5
cy9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9sZW5ndGgv
YmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9wcm90b3R5cGUvbWFwL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3JlZHVjZS9iaWdpbnQtaW5o
ZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3By
b3RvdHlwZS9yZWR1Y2VSaWdodC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9yZXZlcnNlL2JpZ2ludC1pbmhl
cml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJv
dG90eXBlL3NldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zbGljZS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zb21l
L2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvcHJvdG90eXBlL3NvcnQvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvc3ViYXJyYXkvYmlnaW50
LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdG9TdHJpbmcvYmln
aW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9wcm90b3R5cGUvdmFsdWVzL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmlnSW50
NjRBcnJheS5qcwotICAgIC0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9zdWJjbGFz
cy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwotICAgIC0gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLUJpZ0ludDY0QXJy
YXkuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy1idWls
dGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwotCiAgICAgIyByZXF1aXJlcyBJQ1UgNjUg
KGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9icm93c2UvSUNVLTIwNjU0KQogICAg
IC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2VuLXVz
LW51bWVyaWMtYXV0by5qcwogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9w
cm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9lbi11cy1udW1lcmljLWF1dG8uanMKQEAgLTIxMiwzICsx
MjQsNiBAQCBza2lwOgogICAgIC0gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUv
Zm9ybWF0VG9QYXJ0cy91bml0LmpzCiAgICAgLSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3By
b3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvY29tcGFjdERpc3BsYXkuanMKICAgICAtIHRlc3QvaW50
bDQwMi9OdW1iZXJGb3JtYXQvc3R5bGUtdW5pdC5qcworCisgICAgIyBOZXcgSUNVICg2Nn4pIHJh
aXNlcyBhIGRpZmZlcmVudCBmYWlsdXJlCisgICAgLSB0ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0
cnVjdG9yLW5vbi1pYW5hLWNhbm9uLmpzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvZXhw
ZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKaW5kZXgg
MzlkYmY4NTM0OTQxMTZiNDU0ZDVmNmVjMTNkYWY5NTkxOWZjZDBiZC4uZjY5Zjg5MmZkNTgwOTUy
MmUxZmI3NWVlYjI1MDc0ZmY1YTM4MmM3NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL2V4
cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbApA
QCAtODIzLDYgKzgyMywxMiBAQCB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMv
dS1sYXN0aW5kZXgtYWR2LmpzOgogdGVzdC9idWlsdC1pbnMvUmVnRXhwL3F1YW50aWZpZXItaW50
ZWdlci1saW1pdC5qczoKICAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIg
ZXhwcmVzc2lvbjogbnVtYmVyIHRvbyBsYXJnZSBpbiB7fSBxdWFudGlmaWVyJwogICBzdHJpY3Qg
bW9kZTogJ1N5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogbnVtYmVyIHRv
byBsYXJnZSBpbiB7fSBxdWFudGlmaWVyJwordGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvZmlsdGVyL0JpZ0ludC9jYWxsYmFja2ZuLWRldGFjaGJ1ZmZlci5qczoKKyAgZGVmYXVs
dDogJ1R5cGVFcnJvcjogSW52YWxpZCBhcmd1bWVudCB0eXBlIGluIFRvQmlnSW50IG9wZXJhdGlv
biAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJy
b3I6IEludmFsaWQgYXJndW1lbnQgdHlwZSBpbiBUb0JpZ0ludCBvcGVyYXRpb24gKFRlc3Rpbmcg
d2l0aCBCaWdJbnQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9maW5kSW5kZXgvQmlnSW50L3ByZWRpY2F0ZS1tYXktZGV0YWNoLWJ1ZmZlci5qczoKKyAgZGVm
YXVsdDogJ1Rlc3QyNjJFcnJvcjogdGhyb3dzIGEgVHlwZUVycm9yIGdldHRpbmcgYSB2YWx1ZSBm
cm9tIHRoZSBkZXRhY2hlZCBidWZmZXIgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBCaWdJbnQ2
NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiB0aHJvd3MgYSBUeXBlRXJy
b3IgZ2V0dGluZyBhIHZhbHVlIGZyb20gdGhlIGRldGFjaGVkIGJ1ZmZlciBFeHBlY3RlZCBhIFR5
cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCAo
VGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0UmFuZ2UvZW4tVVMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE54oCJ4oCT4oCJMS81LzIwMTnCuywgwqsx
LzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE54oCJ4oCT4oCJMS81LzIwMTnC
uywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1ZScKQEAgLTg2NSw5ICs4NzEs
NiBAQCB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWtl
eS13aXRoLWRpZ2l0LmpzOgogdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1hcHBseS1v
cHRpb25zLWNhbm9uaWNhbGl6ZXMtdHdpY2UuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3J1LUFybW4tU1XCuywgwqtydS1Bcm1uLUFNwrspIHRvIGJl
IHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUo
wqtydS1Bcm1uLVNVwrssIMKrcnUtQXJtbi1BTcK7KSB0byBiZSB0cnVlJwotdGVzdC9pbnRsNDAy
L0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5vbi5qczoKLSAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogbmV3IEludGwuTG9jYWxlKCJtbyIpLm1heGltaXplKCkudG9TdHJpbmcoKSByZXR1
cm5zICJyby1MYXRuLVJPIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtyb8K7LCDCq3JvLUxhdG4tUk/C
uykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxv
Y2FsZSgibW8iKS5tYXhpbWl6ZSgpLnRvU3RyaW5nKCkgcmV0dXJucyAicm8tTGF0bi1STyIgRXhw
ZWN0ZWQgU2FtZVZhbHVlKMKrcm/Cuywgwqtyby1MYXRuLVJPwrspIHRvIGJlIHRydWUnCiB0ZXN0
L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9yLW9wdGlvbnMtcmVnaW9uLXZhbGlkLmpzOgogICBk
ZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBuZXcgSW50bC5Mb2NhbGUoJ2VuJywge3JlZ2lvbjogXCI1
NTRcIn0pLnRvU3RyaW5nKCkgcmV0dXJucyBcImVuLU5aXCIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKr
ZW4tNTU0wrssIMKrZW4tTlrCuykgdG8gYmUgdHJ1ZSIKICAgc3RyaWN0IG1vZGU6ICJUZXN0MjYy
RXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgnZW4nLCB7cmVnaW9uOiBcIjU1NFwifSkudG9TdHJpbmco
KSByZXR1cm5zIFwiZW4tTlpcIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtlbi01NTTCuywgwqtlbi1O
WsK7KSB0byBiZSB0cnVlIgo=
</data>
<flag name="commit-queue"
          id="436881"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418811</attachid>
            <date>2021-01-30 00:44:23 -0800</date>
            <delta_ts>2021-01-30 01:25:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190800-20210130004422.patch</filename>
            <type>text/plain</type>
            <size>139448</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YTljMjI5YmI3ZmViZjJkZGJmZTNiZDI1Njg1OTAxZDYyYjAyMzZhLi44NmQzMGUzMzFlMTk5N2U2
NTAwMTcyYTAxMmEwNmQxZDgzMjgxZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNDkgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
QVBJL0pTVHlwZWRBcnJheS5jcHA6CisgICAgICAgICh0b0pTVHlwZWRBcnJheVR5cGUpOgorICAg
ICAgICAodG9UeXBlZEFycmF5VHlwZSk6CisgICAgICAgIChjcmVhdGVUeXBlZEFycmF5KToKKyAg
ICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5oOgorICAgICAgICAqIEFQSS90ZXN0cy9UeXBlZEFycmF5
Q1Rlc3QuY3BwOgorICAgICAgICAoZm9yRWFjaFR5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAq
IGJ1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChmaWxsKToKKyAgICAg
ICAgKG1hcCk6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJv
ZmlsZS5jcHA6CisgICAgICAgIChKU0M6OmR1bXBBcnJheU1vZGVzKToKKyAgICAgICAgKiBieXRl
Y29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9CeVZhbEluZm8uaDoKKyAg
ICAgICAgKEpTQzo6aml0QXJyYXlNb2RlRm9yQ2xhc3NJbmZvKToKKyAgICAgICAgKEpTQzo6aml0
QXJyYXlNb2RlUGVybWl0c1B1dCk6CisgICAgICAgIChKU0M6OnR5cGVkQXJyYXlUeXBlRm9ySklU
QXJyYXlNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9MaW5rVGltZUNvbnN0YW50Lmg6CisgICAg
ICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAoSlNDOjpkdW1wU3Bl
Y3VsYXRpb24pOgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcp
OgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZSk6CisgICAgICAg
IChKU0M6OnR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3Bl
Y3VsYXRpb25Gcm9tU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5o
OgorICAgICAgICAoSlNDOjppc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChK
U0M6OmlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzRGlyZWN0
QXJndW1lbnRzU3BlY3VsYXRpb24pOgorICAgICAgICAoSlNDOjppc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjppc0FjdGlvbmFibGVGbG9hdE11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxl
VHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Omlz
QWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6aXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1v
ZGU6OmZyb21PYnNlcnZlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjpyZWZpbmUg
Y29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQgY29u
c3QpOgorICAgICAgICAoSlNDOjpERkc6OmFycmF5VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKEpT
Qzo6REZHOjp0b1R5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjp0b0FycmF5VHlw
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6cGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBcnJheU1vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6
OnN1cHBvcnRzU2VsZkxlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2Rl
OjphcnJheU1vZGVzVGhhdFBhc3NGaWx0ZXJpbmcgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdD
bG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICog
ZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpTQ19ERUZJTkVfSklU
X09QRVJBVElPTik6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aFNpemVGb3JUeXBlKToKKyAgICAgICAg
KEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aE9uZUFyZ3VtZW50Rm9yVHlwZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUdl
dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1
dEJ5VmFsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0luamVjdGVkU2NyaXB0SG9zdDo6c3VidHlwZSk6CisgICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZVB1dEJ5VmFsKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAg
IChKU0M6OnRyeUNhY2hlQXJyYXlHZXRCeVZhbCk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcDoKKyAg
ICAgICAgKiBydW50aW1lL0F0b21pY3NPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0JpZ0lu
dDY0QXJyYXkuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcC4KKyAgICAgICAgKiBydW50aW1lL0JpZ1VpbnQ2NEFy
cmF5Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy5jcHAuCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmll
dy5jcHA6CisgICAgICAgIChKU0M6OmVsZW1lbnRTaXplKToKKyAgICAgICAgKEpTQzo6dmFsaWRh
dGVUeXBlZEFycmF5KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0JpZ0ludC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6
CisgICAgICAgICogcnVudGltZS9KU0RhdGFWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0Rh
dGFWaWV3UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0RGF0YSk6CisgICAgICAgIChK
U0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0R2VuZXJp
Y1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyk6CisgICAgICAgICogcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld0lubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNHZW5lcmljVHlwZWRB
cnJheVZpZXc8QWRhcHRvcj46OnNldFdpdGhTcGVjaWZpY1R5cGUpOgorICAgICAgICAoSlNDOjpK
U0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6c2V0KToKKyAgICAgICAgKEpTQzo6SlNH
ZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5j
dGlvbnMuaDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9p
bik6CisgICAgICAgIChKU0M6OmdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY1NsaWNlKToK
KyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNy
ZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAg
ICogcnVudGltZS9KU1R5cGUuY3BwOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAg
ICAgICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5
Q29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHA6Cisg
ICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmg6CisgICAgICAgICogcnVu
dGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RF
RklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5cy5oOgorICAgICAgICAqIHJ1bnRpbWUvVG9OYXRpdmVG
cm9tVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6dG9OYXRpdmVGcm9tVmFsdWUpOgorICAgICAgICAo
SlNDOjp0b05hdGl2ZUZyb21WYWx1ZVdpdGhvdXRDb2VyY2lvbik6CisgICAgICAgICogcnVudGlt
ZS9UeXBlZEFycmF5QWRhcHRvcnMuaDoKKyAgICAgICAgKEpTQzo6SW50ZWdyYWxUeXBlZEFycmF5
QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6RmxvYXRUeXBlZEFycmF5QWRhcHRv
cjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OnRv
SlNWYWx1ZSk6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b0RvdWJs
ZSk6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05hdGl2ZUZyb21J
bnQzMik6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05hdGl2ZUZy
b21VaW50MzIpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjo6dG9OYXRp
dmVGcm9tRG91YmxlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OmNv
bnZlcnRUbyk6CisgICAgICAgIChKU0M6OlVpbnQ4Q2xhbXBlZEFkYXB0b3I6OnRvSlNWYWx1ZSk6
CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHA6CisgICAgICAgIChKU0M6OmNv
bnN0cnVjdG9yQ2xhc3NJbmZvRm9yVHlwZSk6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwp
OgorICAgICAgICAqIHJ1bnRpbWUvVHlwZWRBcnJheVR5cGUuaDoKKyAgICAgICAgKEpTQzo6aXNC
aWdJbnRUeXBlZFZpZXcpOgorICAgICAgICAoSlNDOjpsb2dFbGVtZW50U2l6ZSk6CisgICAgICAg
IChKU0M6OmlzQmlnSW50KToKKyAgICAgICAgKEpTQzo6aXNTaWduZWQpOgorICAgICAgICAoSlND
Ojpjb250ZW50VHlwZSk6CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5cy5oOgorICAgICAg
ICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAyMS0wMS0y
OSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBTb3Vy
Y2VQYXJzZU1vZGUgc2hvdWxkIGJlIGEgbWVtYmVyIG9mIHRoZSBKU0M6OlBhcnNlcgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwCmluZGV4IDY4OWZlOWU2Zjg3NzQy
YTgxZGNjNjEwM2IxMjQ3ZWRhYWFmYTc4YzYuLjQzNjg1MTliZDQ1NTJjOWJjOTk2MWI1YWJhNzI4
ZmY0NGMwYjIzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNUeXBl
ZEFycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVHlwZWRBcnJheS5j
cHAKQEAgLTY0LDYgKzY0LDEwIEBAIGlubGluZSBKU1R5cGVkQXJyYXlUeXBlIHRvSlNUeXBlZEFy
cmF5VHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJh
eVR5cGVGbG9hdDMyQXJyYXk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgcmV0dXJu
IGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ0ludDY0Ogor
ICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5OworICAgIGNhc2Ug
VHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIGtKU1R5cGVkQXJyYXlUeXBlQmlnVWludDY0
QXJyYXk7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC05
Miw2ICs5NiwxMCBAQCBpbmxpbmUgVHlwZWRBcnJheVR5cGUgdG9UeXBlZEFycmF5VHlwZShKU1R5
cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQzMjsKICAgICBjYXNl
IGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gVHlwZUZsb2F0
NjQ7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXk6CisgICAgICAgIHJl
dHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFy
cmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICB9CiAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KQEAgLTEyMyw2ICsxMzEsMTAgQEAgc3RhdGljIEpTT2Jq
ZWN0KiBjcmVhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVHlw
ZWRBcnJheVR5cGUKICAgICAgICAgcmV0dXJuIEpTRmxvYXQzMkFycmF5OjpjcmVhdGUoZ2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlwZUZsb2F0MzIpLCBX
VEZNb3ZlKGJ1ZmZlciksIG9mZnNldCwgbGVuZ3RoKTsKICAgICBjYXNlIGtKU1R5cGVkQXJyYXlU
eXBlRmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gSlNGbG9hdDY0QXJyYXk6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJheVN0cnVjdHVyZShUeXBlRmxvYXQ2
NCksIFdURk1vdmUoYnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgpOworICAgIGNhc2Uga0pTVHlwZWRB
cnJheVR5cGVCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gSlNCaWdJbnQ2NEFycmF5Ojpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlw
ZUJpZ0ludDY0KSwgV1RGTW92ZShidWZmZXIpLCBvZmZzZXQsIGxlbmd0aCk7CisgICAgY2FzZSBr
SlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gSlNCaWdVaW50
NjRBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT50eXBlZEFycmF5U3Ry
dWN0dXJlKFR5cGVCaWdVaW50NjQpLCBXVEZNb3ZlKGJ1ZmZlciksIG9mZnNldCwgbGVuZ3RoKTsK
ICAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXI6CiAgICAgY2FzZSBrSlNUeXBl
ZEFycmF5VHlwZU5vbmU6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5oCmluZGV4IDkxMWI0YmZjNGRmMTlhMDQ3
ZGNlYTA4NDhkNGQ1MmMyOGU3Nzg3ZGYuLjJhOTA3OWFlMDAwNjUxOTQ5NzA0YWFhNGNjYTQ4OWFm
ODA2ZmNmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJl
Zi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5oCkBAIC02Niw2
ICs2Niw4IEBAIHR5cGVkZWYgZW51bSB7CiAgQGNvbnN0YW50ICAgICBrSlNUeXBlZEFycmF5VHlw
ZVVpbnQzMkFycmF5ICAgICAgICAgIFVpbnQzMkFycmF5CiAgQGNvbnN0YW50ICAgICBrSlNUeXBl
ZEFycmF5VHlwZUZsb2F0MzJBcnJheSAgICAgICAgIEZsb2F0MzJBcnJheQogIEBjb25zdGFudCAg
ICAga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXkgICAgICAgICBGbG9hdDY0QXJyYXkKKyBA
Y29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlQmlnSW50NjRBcnJheSAgICAgICAgQmlnSW50
NjRBcnJheQorIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheSAg
ICAgICBCaWdVaW50NjRBcnJheQogIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVBcnJh
eUJ1ZmZlciAgICAgICAgICBBcnJheUJ1ZmZlcgogIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJh
eVR5cGVOb25lICAgICAgICAgICAgICAgICBOb3QgYSBUeXBlZCBBcnJheQogCkBAIC04Miw2ICs4
NCw4IEBAIHR5cGVkZWYgZW51bSB7CiAgICAga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXks
CiAgICAga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlciwKICAgICBrSlNUeXBlZEFycmF5VHlw
ZU5vbmUsCisgICAga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5LAorICAgIGtKU1R5cGVk
QXJyYXlUeXBlQmlnVWludDY0QXJyYXksCiB9IEpTVHlwZWRBcnJheVR5cGUgSlNDX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRBcnJheUNUZXN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRBcnJheUNUZXN0LmNw
cAppbmRleCAyMzdiZDQ2NTg2ZjJmZjYwNjM5YzYzNjc3NjExYThiNTBiNjgwMjdjLi43NWY1NzA3
ZTUyMTY3M2UxOTI5YzVkNzMzY2YwMjc4ZWRkMWE5M2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJyYXlDVGVzdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwCkBAIC00OSw3ICs0OSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsZW5ndGhzW251bUxlbmd0aHNdID0KICAgICAxMCwK
IH07CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBieXRlU2l6ZXNba0pTVHlwZWRBcnJheVR5cGVB
cnJheUJ1ZmZlcl0gPQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGJ5dGVTaXplc1tdID0KIHsKICAg
ICAxLCAvLyBrSlNUeXBlZEFycmF5VHlwZUludDhBcnJheQogICAgIDIsIC8vIGtKU1R5cGVkQXJy
YXlUeXBlSW50MTZBcnJheQpAQCAtNjAsOSArNjAsMTMgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGJ5dGVTaXplc1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CiAgICAgNCwgLy8ga0pT
VHlwZWRBcnJheVR5cGVVaW50MzJBcnJheQogICAgIDQsIC8vIGtKU1R5cGVkQXJyYXlUeXBlRmxv
YXQzMkFycmF5CiAgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXkKKyAgICAw
LCAvLyBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyCisgICAgMCwgLy8ga0pTVHlwZWRBcnJh
eVR5cGVOb25lCisgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5CisgICAg
OCwgLy8ga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheQogfTsKIAotc3RhdGljIGNvbnN0
IGNoYXIqIHR5cGVUb1N0cmluZ1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CitzdGF0
aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW10gPQogewogICAgICJrSlNUeXBlZEFycmF5VHlw
ZUludDhBcnJheSIsCiAgICAgImtKU1R5cGVkQXJyYXlUeXBlSW50MTZBcnJheSIsCkBAIC03Myw2
ICs3NywxMCBAQCBzdGF0aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW2tKU1R5cGVkQXJyYXlU
eXBlQXJyYXlCdWZmZXJdID0KICAgICAia0pTVHlwZWRBcnJheVR5cGVVaW50MzJBcnJheSIsCiAg
ICAgImtKU1R5cGVkQXJyYXlUeXBlRmxvYXQzMkFycmF5IiwKICAgICAia0pTVHlwZWRBcnJheVR5
cGVGbG9hdDY0QXJyYXkiLAorICAgICJrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyIiwKKyAg
ICAia0pTVHlwZWRBcnJheVR5cGVOb25lIiwKKyAgICAia0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2
NEFycmF5IiwKKyAgICAia0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheSIsCiB9OwogCiBp
bmxpbmUgaW50IHVuZXhwZWN0ZWRFeGNlcHRpb24oY29uc3QgY2hhciogbmFtZSkKQEAgLTIxMiw4
ICsyMjAsMTAgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+CiBzdGF0aWMgaW50IGZvckVh
Y2hUeXBlZEFycmF5VHlwZShjb25zdCBGdW5jdG9yJiBmdW5jdG9yKQogewogICAgIGludCBmYWls
ZWQgPSAwOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBrSlNUeXBlZEFycmF5VHlwZUFy
cmF5QnVmZmVyOyBpKyspCi0gICAgICAgIGZhaWxlZCA9IGZhaWxlZCB8fCBmdW5jdG9yKHN0YXRp
Y19jYXN0PEpTVHlwZWRBcnJheVR5cGU+KGkpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcjsgaSsrKSB7CisgICAgICAgIGlmIChpICE9
IGtKU1R5cGVkQXJyYXlUeXBlTm9uZSAmJiBpICE9IGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZm
ZXIpCisgICAgICAgICAgICBmYWlsZWQgPSBmYWlsZWQgfHwgZnVuY3RvcihzdGF0aWNfY2FzdDxK
U1R5cGVkQXJyYXlUeXBlPihpKSk7CisgICAgfQogICAgIHJldHVybiBmYWlsZWQ7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNjRhMzY1NDJhZWY5NWExMDk4M2Fm
OGQ5OTRhZWViZTNmZGJkYWUxLi40ZGY4YTI1MGMwYzliZDIyM2U1Njg2YWQ3YzVmNjdmOWEwMTBl
NzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04MjIsOCArODIyLDEw
IEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcnVu
dGltZS9BdXhpbGlhcnlCYXJyaWVySW5saW5lcy5oCiAgICAgcnVudGltZS9CYXNpY0Jsb2NrTG9j
YXRpb24uaAogICAgIHJ1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorICAgIHJ1
bnRpbWUvQmlnSW50NjRBcnJheS5oCiAgICAgcnVudGltZS9CaWdJbnRPYmplY3QuaAogICAgIHJ1
bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKKyAgICBydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKICAg
ICBydW50aW1lL0Jvb2xlYW5PYmplY3QuaAogICAgIHJ1bnRpbWUvQm9vbGVhblByb3RvdHlwZS5o
CiAgICAgcnVudGltZS9CdXR0ZXJmbHkuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA4M2RlNzliODQxZjliMWZhMzk1MzcyNWQyNWUyMTE5NWIwZDAwNDU4Li5kNjJhNGY0NDFkODhk
M2ExMzgyOWNmNmNmZjJmMTlhMjg2ZTMzNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTg0OCw2ICsxODQ4LDggQEAKIAkJRTM1QTBCOUQyMjBBRDg3QTAwQUM0NDc0IC8qIEV4
ZWN1dGFibGVCYXNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM1QTBCOUMyMjBBRDg3QTAwQUM0NDc0IC8qIEV4ZWN1dGFibGVCYXNlSW5s
aW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUUzNUNBMTU0MURCQzNBNUMwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUNBMTUyMURCQzNBNTYwMEY4
MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzVDQTE1NjFEQkMzQTVGMDBGODM1MTYgLyogRE9NSklUQWJz
dHJhY3RIZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzVDQTE1MDFEQkMzQTU2MDBGODM1MTYgLyogRE9NSklUQWJzdHJhY3RIZWFwLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTM1RTg5RkQyNUM1
MEY4NzAwNzFFRTFFIC8qIEJpZ0ludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUU4OUZCMjVDNTBGODYwMDcxRUUxRSAvKiBCaWdJbnQ2
NEFycmF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRTM1RTg5RkUyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ1VpbnQ2NEFycmF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVFODlGQzI1QzUwRjg3MDA3
MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFMzYzN0VFOTIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVD
b25zdGFudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTM2MzdFRTcyMzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzY1RjMzQTI0QUE2MjM5
MDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM2NUYzMzkyNEFBNjIxMjAwQzk5
MUIyIC8qIEludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5sdXQuaCAqLzsgfTsKIAkJRTM2NUYz
M0IyNEFBNjIzQjAwQzk5MUIyIC8qIEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzY1RjMzODI0QUE2
MjExMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc1Byb3RvdHlwZS5sdXQuaCAqLzsgfTsKQEAg
LTUwNjEsNiArNTA2Myw4IEBACiAJCUUzNUNBMTUwMURCQzNBNTYwMEY4MzUxNiAvKiBET01KSVRB
YnN0cmFjdEhlYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSklUQWJz
dHJhY3RIZWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUNBMTUxMURCQzNB
NTYwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRE9NSklUSGVhcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTM1Q0ExNTIxREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRIZWFwUmFuZ2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM1RTg5RkIyNUM1MEY4NjAwNzFFRTFFIC8qIEJpZ0lu
dDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmlnSW50NjRBcnJh
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVFODlGQzI1QzUwRjg3MDA3MUVF
MUUgLyogQmlnVWludDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QmlnVWludDY0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM2MzdFRTcy
MzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTGlua1RpbWVDb25zdGFudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFMzYzN0VFODIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVDb25zdGFudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaW5rVGltZUNvbnN0YW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM2NUYzMzgyNEFBNjIxMTAwQzk5MUIy
IC8qIEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03MTM2LDYgKzcxNDAsNyBAQAogCQkJCTUyNjc4RjhDMUEwMzEw
MDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovLAogCQkJCTUyNjc4RjhEMUEw
MzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCAqLywKIAkJCQkxNDdCODNBQTBF
NkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCAqLywKKwkJCQlF
MzVFODlGQjI1QzUwRjg2MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5oICovLAogCQkJCTg2OTc2
RTU4MUZBMzc1NkQwMEU3QzRFMSAvKiBCaWdJbnRDb25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJODY5
NzZFNTcxRkEzNzU0MDAwRTdDNEUxIC8qIEJpZ0ludENvbnN0cnVjdG9yLmggKi8sCiAJCQkJODY2
NzM5RDAxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCAqLywKQEAgLTcxNDMsNiArNzE0
OCw3IEBACiAJCQkJODYxODE2NzYxRkI3OTIyRjAwRUNDNEVDIC8qIEJpZ0ludE9iamVjdC5oICov
LAogCQkJCTg2OTc2RTVCMUZBMzc1QTgwMEU3QzRFMSAvKiBCaWdJbnRQcm90b3R5cGUuY3BwICov
LAogCQkJCTg2OTc2RTVBMUZBMzc1OEEwMEU3QzRFMSAvKiBCaWdJbnRQcm90b3R5cGUuaCAqLywK
KwkJCQlFMzVFODlGQzI1QzUwRjg3MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCAqLywKIAkJ
CQlCQzc5NTIzMjBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCAqLywK
IAkJCQlCQzc5NTIzMzBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVjdG9yLmggKi8s
CiAJCQkJRjY5MkE4NTAwMjU1NTk3RDAxRkY2MEY3IC8qIEJvb2xlYW5PYmplY3QuY3BwICovLApA
QCAtOTI1NSwxMCArOTI2MSwxMiBAQAogCQkJCTBGMkM2M0IyMUU2MEFFNDcwMEMxMzgzOSAvKiBC
M1dpZHRoLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MjY3OEY4RjFBMDMxMDA5MDA2QTMwNkQgLyog
QmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDdCODNBQzBFNkRCOEM5
MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUUzNUU4OUZEMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdJbnQ2NEFycmF5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4Njk3NkU1RjFGQTNFOEJDMDBFN0M0RTEgLyogQmlnSW50Q29uc3RydWN0b3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg2NjczOUQyMTNCRkRFNzEwMDIzRDg3QyAvKiBCaWdJbnRl
Z2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjE4MTY3NzFGQjc5MjQyMDBFQ0M0RUMgLyogQmln
SW50T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4Njk3NkU1RTFGQTNFOEI2MDBFN0M0RTEg
LyogQmlnSW50UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzVFODlGRTI1QzUwRjg3
MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNjRCMjcy
MUE3ODRCQUYwMDZFNEU2NiAvKiBCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCUMy
QjkxNkMyMTREQTAxNEUwMENCQUM4NiAvKiBCbG9ja0RpcmVjdG9yeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTM4NjUyRTMyMzdDQTBDOTAwRTFENUVFIC8qIEJsb2NrRGlyZWN0b3J5Qml0cy5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5h
bWVzLmgKaW5kZXggNDRjNmIyMzVlZmVjZDM1MDQ2YzcxZjdhYmU5ZDJiM2Y3NWQzOWY5MS4uM2I5
NDkzNzE1ODY1M2NiNzYwNWY0NGI1ZGM4MjAwNDBjZDA2NDMzOCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaApAQCAtNzAsNiArNzAsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICBtYWNybyhTZXQpIFwKICAgICBtYWNybyh0aHJvd1R5cGVFcnJvckZ1
bmN0aW9uKSBcCiAgICAgbWFjcm8odHlwZWRBcnJheUxlbmd0aCkgXAorICAgIG1hY3JvKHR5cGVk
QXJyYXlDb250ZW50VHlwZSkgXAogICAgIG1hY3JvKHR5cGVkQXJyYXlTb3J0KSBcCiAgICAgbWFj
cm8odHlwZWRBcnJheUdldE9yaWdpbmFsQ29uc3RydWN0b3IpIFwKICAgICBtYWNybyh0eXBlZEFy
cmF5U3ViYXJyYXlDcmVhdGUpIFwKQEAgLTk4LDYgKzk5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgbWFjcm8oVWludDMyQXJyYXkpIFwKICAgICBtYWNybyhGbG9hdDMyQXJyYXkpIFwKICAgICBt
YWNybyhGbG9hdDY0QXJyYXkpIFwKKyAgICBtYWNybyhCaWdJbnQ2NEFycmF5KSBcCisgICAgbWFj
cm8oQmlnVWludDY0QXJyYXkpIFwKICAgICBtYWNybyhleGVjKSBcCiAgICAgbWFjcm8oZ2VuZXJh
dG9yKSBcCiAgICAgbWFjcm8oZ2VuZXJhdG9yTmV4dCkgXApAQCAtMTczLDcgKzE3Niw5IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIG1hY3JvKHdlYkFzc2VtYmx5SW5zdGFudGlhdGVTdHJlYW1pbmdJ
bnRlcm5hbCkgXAogICAgIG1hY3JvKGluc3RhbmNlRmllbGRJbml0aWFsaXplcikgXAogICAgIG1h
Y3JvKGhhc093blByb3BlcnR5RnVuY3Rpb24pIFwKLSAgICBtYWNybyhjcmVhdGVQcml2YXRlU3lt
Ym9sKQorICAgIG1hY3JvKGNyZWF0ZVByaXZhdGVTeW1ib2wpIFwKKyAgICBtYWNybyh0b0JpZ0lu
dCkgXAorICAgIG1hY3JvKGlzQmlnSW50VHlwZWRBcnJheVZpZXcpCiAKIG5hbWVzcGFjZSBTeW1i
b2xzIHsKICNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xTKG5hbWUpIGV4dGVy
biBKU19FWFBPUlRfUFJJVkFURSBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIG5hbWUjI1N5
bWJvbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFy
cmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlQcm90b3R5cGUuanMKaW5kZXggNWJmYzYwODBjZGEyZTgyOTI3ZTVlZmYwYmJjYjU0YjBlMjFm
NzVlMy4uMmQ1MmFmMjRmZDBmNjFhYzgzNGVkODljYTg4OGNjOTYwNmVhNTg4ZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUu
anMKQEAgLTkxLDcgKzkxLDEwIEBAIGZ1bmN0aW9uIGZpbGwodmFsdWUgLyogWywgc3RhcnQgWywg
ZW5kXV0gKi8pCiAKICAgICB2YXIgbGVuZ3RoID0gQHR5cGVkQXJyYXlMZW5ndGgodGhpcyk7CiAK
LSAgICB2YXIgbnVtYmVyID0gQHRvTnVtYmVyKHZhbHVlKTsKKyAgICBpZiAoQGlzQmlnSW50VHlw
ZWRBcnJheVZpZXcodGhpcykpCisgICAgICAgIHZhciBudW1iZXIgPSBAdG9CaWdJbnQodmFsdWUp
OworICAgIGVsc2UKKyAgICAgICAgdmFyIG51bWJlciA9IEB0b051bWJlcih2YWx1ZSk7CiAKICAg
ICB2YXIgc3RhcnQgPSBAdHlwZWRBcnJheUNsYW1wQXJndW1lbnRUb1N0YXJ0T3JFbmQoQGFyZ3Vt
ZW50KDEpLCBsZW5ndGgsIDApOwogICAgIHZhciBlbmQgPSBAdHlwZWRBcnJheUNsYW1wQXJndW1l
bnRUb1N0YXJ0T3JFbmQoQGFyZ3VtZW50KDIpLCBsZW5ndGgsIGxlbmd0aCk7CkBAIC0zMzUsNiAr
MzM4LDggQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKQogICAgIHZhciBy
ZXN1bHQgPSBuZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKICAgICBpZiAoQHR5cGVkQXJyYXlMZW5n
dGgocmVzdWx0KSA8IGxlbmd0aCkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5
LnByb3RvdHlwZS5tYXAgY29uc3RydWN0ZWQgdHlwZWQgYXJyYXkgb2YgaW5zdWZmaWNpZW50IGxl
bmd0aCIpOworICAgIGlmIChAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHRoaXMpICE9PSBAdHlwZWRB
cnJheUNvbnRlbnRUeXBlKHJlc3VsdCkpCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRB
cnJheS5wcm90b3R5cGUubWFwIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5IG9mIGRpZmZlcmVudCBj
b250ZW50IHR5cGUgZnJvbSB8dGhpc3wiKTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVu
Z3RoOyBpKyspIHsKICAgICAgICAgdmFyIG1hcHBlZFZhbHVlID0gY2FsbGJhY2suQGNhbGwodGhp
c0FyZywgdGhpc1tpXSwgaSwgdGhpcyk7CkBAIC0zNjYsNiArMzcxLDggQEAgZnVuY3Rpb24gZmls
dGVyKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKQogICAgIHZhciByZXN1bHQgPSBuZXcgY29uc3Ry
dWN0b3IobGVuZ3RoKTsKICAgICBpZiAoQHR5cGVkQXJyYXlMZW5ndGgocmVzdWx0KSA8IGxlbmd0
aCkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5LnByb3RvdHlwZS5maWx0ZXIg
Y29uc3RydWN0ZWQgdHlwZWQgYXJyYXkgb2YgaW5zdWZmaWNpZW50IGxlbmd0aCIpOworICAgIGlm
IChAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHRoaXMpICE9PSBAdHlwZWRBcnJheUNvbnRlbnRUeXBl
KHJlc3VsdCkpCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUu
ZmlsdGVyIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5IG9mIGRpZmZlcmVudCBjb250ZW50IHR5cGUg
ZnJvbSB8dGhpc3wiKTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCiAg
ICAgICAgIHJlc3VsdFtpXSA9IGtlcHRbaV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BcnJheVByb2ZpbGUuY3BwCmluZGV4IDFmYzc2Nzg1MWVlZTg5ZDE3NGE4MDA5MTBj
NTNhOGU4ZDMwMjU3MDAuLjk0NWVhODlhOWRkOGYyNGNmODc5ZTU1YjJhNDk0MjhjYWYxY2RhMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3Bw
CkBAIC00NCw2ICs0NCw4IEBAIGNvbnN0IEFycmF5TW9kZXMgdHlwZWRBcnJheU1vZGVzW051bWJl
ck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXddID0gewogICAgIFVpbnQzMkFycmF5
TW9kZSwKICAgICBGbG9hdDMyQXJyYXlNb2RlLAogICAgIEZsb2F0NjRBcnJheU1vZGUsCisgICAg
QmlnSW50NjRBcnJheU1vZGUsCisgICAgQmlnVWludDY0QXJyYXlNb2RlLAogfTsKIAogdm9pZCBk
dW1wQXJyYXlNb2RlcyhQcmludFN0cmVhbSYgb3V0LCBBcnJheU1vZGVzIGFycmF5TW9kZXMpCkBA
IC0xMTAsNiArMTEyLDEwIEBAIHZvaWQgZHVtcEFycmF5TW9kZXMoUHJpbnRTdHJlYW0mIG91dCwg
QXJyYXlNb2RlcyBhcnJheU1vZGVzKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJGbG9hdDMy
QXJyYXlNb2RlIik7CiAgICAgaWYgKGFycmF5TW9kZXMgJiBGbG9hdDY0QXJyYXlNb2RlKQogICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJGbG9hdDY0QXJyYXlNb2RlIik7CisgICAgaWYgKGFycmF5
TW9kZXMgJiBCaWdJbnQ2NEFycmF5TW9kZSkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQmln
SW50NjRBcnJheU1vZGUiKTsKKyAgICBpZiAoYXJyYXlNb2RlcyAmIEJpZ1VpbnQ2NEFycmF5TW9k
ZSkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQmlnVWludDY0QXJyYXlNb2RlIik7CiB9CiAK
IHZvaWQgQXJyYXlQcm9maWxlOjpjb21wdXRlVXBkYXRlZFByZWRpY3Rpb24oY29uc3QgQ29uY3Vy
cmVudEpTTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogY29kZUJsb2NrKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCmluZGV4IDk0MjY1N2M2MmYwNzQ5
Y2EwNWM0ZWVlNGQ2N2I5NWZlNjQ1NWQ5ZTcuLjM4Njc3MWNkNzZmYWNmOTlhODQwZTZiYTc0OWY4
MjhhNGY1ZDFkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9B
cnJheVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQ
cm9maWxlLmgKQEAgLTU2LDYgKzU2LDggQEAgY29uc3QgQXJyYXlNb2RlcyBVaW50MTZBcnJheU1v
ZGUgPSAxIDw8IDI2OwogY29uc3QgQXJyYXlNb2RlcyBVaW50MzJBcnJheU1vZGUgPSAxIDw8IDI3
OwogY29uc3QgQXJyYXlNb2RlcyBGbG9hdDMyQXJyYXlNb2RlID0gMSA8PCAyODsKIGNvbnN0IEFy
cmF5TW9kZXMgRmxvYXQ2NEFycmF5TW9kZSA9IDEgPDwgMjk7Citjb25zdCBBcnJheU1vZGVzIEJp
Z0ludDY0QXJyYXlNb2RlID0gMSA8PCAzMDsKK2NvbnN0IEFycmF5TW9kZXMgQmlnVWludDY0QXJy
YXlNb2RlID0gMSA8PCAzMTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIGNvbnN0IEFycmF5
TW9kZXMgdHlwZWRBcnJheU1vZGVzW051bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0
YVZpZXddOwogCkBAIC03NCw2ICs3Niw4IEBAIGNvbnN0ZXhwciBBcnJheU1vZGVzIGFzQXJyYXlN
b2Rlc0lnbm9yaW5nVHlwZWRBcnJheXMoSW5kZXhpbmdUeXBlIGluZGV4aW5nTW9kZSkKICAgICB8
IFVpbnQzMkFycmF5TW9kZSAgICAgICAgIFwKICAgICB8IEZsb2F0MzJBcnJheU1vZGUgICAgICAg
IFwKICAgICB8IEZsb2F0NjRBcnJheU1vZGUgICAgICAgIFwKKyAgICB8IEJpZ0ludDY0QXJyYXlN
b2RlICAgICAgIFwKKyAgICB8IEJpZ1VpbnQ2NEFycmF5TW9kZSAgICAgIFwKICAgICApCiAKICNk
ZWZpbmUgQUxMX05PTl9BUlJBWV9BUlJBWV9NT0RFUyAgICAgICAgICAgICAgICAgICAgICAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCmluZGV4IDAzYmI4ODkx
NThhOGI4MjhhMGJlYzc5YWZkYzUxMDE4MTc5YWNmMDYuLjU0OTc0NTNjOTg5MWMwMmE1YjQwNWNh
NDMzYzI4MWVjODM1YjQ0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeVZhbEluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlW
YWxJbmZvLmgKQEAgLTU2LDcgKzU2LDkgQEAgZW51bSBKSVRBcnJheU1vZGUgOiB1aW50OF90IHsK
ICAgICBKSVRVaW50MTZBcnJheSwKICAgICBKSVRVaW50MzJBcnJheSwKICAgICBKSVRGbG9hdDMy
QXJyYXksCi0gICAgSklURmxvYXQ2NEFycmF5CisgICAgSklURmxvYXQ2NEFycmF5LAorICAgIEpJ
VEJpZ0ludDY0QXJyYXksCisgICAgSklUQmlnVWludDY0QXJyYXksCiB9OwogCiBpbmxpbmUgYm9v
bCBpc09wdGltaXphYmxlSW5kZXhpbmdUeXBlKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCkBA
IC0xNDYsNiArMTQ4LDEwIEBAIGlubGluZSBKSVRBcnJheU1vZGUgaml0QXJyYXlNb2RlRm9yQ2xh
c3NJbmZvKGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKQogICAgICAgICByZXR1cm4gSklURmxv
YXQzMkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBKSVRGbG9h
dDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBKSVRCaWdJ
bnQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpJVEJp
Z1VpbnQ2NEFycmF5OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIENSQVNIKCk7CiAgICAgICAgIHJl
dHVybiBKSVRDb250aWd1b3VzOwpAQCAtMTU3LDYgKzE2Myw4IEBAIGlubGluZSBib29sIGppdEFy
cmF5TW9kZVBlcm1pdHNQdXQoSklUQXJyYXlNb2RlIG1vZGUpCiAgICAgc3dpdGNoIChtb2RlKSB7
CiAgICAgY2FzZSBKSVREaXJlY3RBcmd1bWVudHM6CiAgICAgY2FzZSBKSVRTY29wZWRBcmd1bWVu
dHM6CisgICAgY2FzZSBKSVRCaWdJbnQ2NEFycmF5OgorICAgIGNhc2UgSklUQmlnVWludDY0QXJy
YXk6CiAgICAgICAgIC8vIFdlIGNvdWxkIHN1cHBvcnQgcHV0X2J5X3ZhbCBvbiB0aGVzZSBhdCBz
b21lIHBvaW50LCBidXQgaXQncyBqdXN0IG5vdCB0aGF0IHByb2ZpdGFibGUKICAgICAgICAgLy8g
YXQgdGhlIG1vbWVudC4KICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjA2LDYgKzIxNCwxMCBA
QCBpbmxpbmUgVHlwZWRBcnJheVR5cGUgdHlwZWRBcnJheVR5cGVGb3JKSVRBcnJheU1vZGUoSklU
QXJyYXlNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQzMjsKICAgICBjYXNlIEpJ
VEZsb2F0NjRBcnJheToKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDY0OworICAgIGNhc2UgSklU
QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdJbnQ2NDsKKyAgICBjYXNlIEpJ
VEJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICBkZWZh
dWx0OgogICAgICAgICBDUkFTSCgpOwogICAgICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCmlu
ZGV4IGVmYWQ0MGRkZDQxZjI0ZTI0NWQ3YTY1ZGI1ZTA5MWFlYjU4OWYwODIuLjZiODk5MjIzZjE2
ODA3ZmRmMTc0ODFlMTNmYzZkNjBlNjQ4Nzg5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFz
cyBKU0dsb2JhbE9iamVjdDsKICAgICB2KG1ha2VUeXBlRXJyb3IsIG51bGxwdHIpIFwKICAgICB2
KEFnZ3JlZ2F0ZUVycm9yLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFycmF5TGVuZ3RoLCBudWxs
cHRyKSBcCisgICAgdih0eXBlZEFycmF5Q29udGVudFR5cGUsIG51bGxwdHIpIFwKICAgICB2KHR5
cGVkQXJyYXlHZXRPcmlnaW5hbENvbnN0cnVjdG9yLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFy
cmF5U29ydCwgbnVsbHB0cikgXAogICAgIHYoaXNUeXBlZEFycmF5VmlldywgbnVsbHB0cikgXApA
QCAtMTEwLDYgKzExMSw4IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogICAgIHYoY2FsbEZ1bmN0
aW9uLCBudWxscHRyKSBcCiAgICAgdihoYXNPd25Qcm9wZXJ0eUZ1bmN0aW9uLCBudWxscHRyKSBc
CiAgICAgdihjcmVhdGVQcml2YXRlU3ltYm9sLCBudWxscHRyKSBcCisgICAgdih0b0JpZ0ludCwg
bnVsbHB0cikgXAorICAgIHYoaXNCaWdJbnRUeXBlZEFycmF5VmlldywgbnVsbHB0cikgXAogCiAK
ICNkZWZpbmUgREVDTEFSRV9MSU5LX1RJTUVfQ09OU1RBTlQobmFtZSwgY29kZSkgbmFtZSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCmlu
ZGV4IDc1NjBiMzk5ODdmZTgxMWYyZjI3NGNhYzg2NWQ1NWQwYmFlMjY2YzMuLmJlOWFjNjZlZTNh
N2EwOGFhMzU2NjA4YzU1NDgxYTY3ZWVkZGVlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcApAQCAtMTQ4LDcgKzE0OCwxNyBAQCB2
b2lkIGR1bXBTcGVjdWxhdGlvbihQcmludFN0cmVhbSYgb3V0U3RyZWFtLCBTcGVjdWxhdGVkVHlw
ZSB2YWx1ZSkKICAgICAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkZsb2F0NjRBcnJheSIpOwog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7Ci0gICAgCisK
KyAgICAgICAgICAgIGlmICh2YWx1ZSAmIFNwZWNCaWdJbnQ2NEFycmF5KQorICAgICAgICAgICAg
ICAgIHN0ck91dC5wcmludCgiQmlnSW50NjRBcnJheSIpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZSAmIFNw
ZWNCaWdVaW50NjRBcnJheSkKKyAgICAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkJpZ1VpbnQ2
NEFycmF5Iik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaXNUb3AgPSBmYWxz
ZTsKKwogICAgICAgICAgICAgaWYgKHZhbHVlICYgU3BlY0Z1bmN0aW9uKQogICAgICAgICAgICAg
ICAgIHN0ck91dC5wcmludCgiRnVuY3Rpb24iKTsKICAgICAgICAgICAgIGVsc2UKQEAgLTM1OSw2
ICszNjksMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHNwZWN1bGF0aW9uVG9BYmJyZXZpYXRlZFN0
cmluZyhTcGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9uKQogICAgICAgICByZXR1cm4gIjxGbG9hdDMy
YXJyYXk+IjsKICAgICBpZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkK
ICAgICAgICAgcmV0dXJuICI8RmxvYXQ2NGFycmF5PiI7CisgICAgaWYgKGlzQmlnSW50NjRBcnJh
eVNwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQorICAgICAgICByZXR1cm4gIjxCaWdJbnQ2NGFycmF5
PiI7CisgICAgaWYgKGlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKKyAg
ICAgICAgcmV0dXJuICI8QmlnVWludDY0YXJyYXk+IjsKICAgICBpZiAoaXNEaXJlY3RBcmd1bWVu
dHNTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKICAgICAgICAgcmV0dXJuICI8RGlyZWN0QXJndW1l
bnRzPiI7CiAgICAgaWYgKGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24ocHJlZGljdGlvbikp
CkBAIC00MjQsNiArNDM4LDEwIEBAIFNwZWN1bGF0ZWRUeXBlIHNwZWN1bGF0aW9uRnJvbVR5cGVk
QXJyYXlUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBTcGVjRmxvYXQz
MkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBTcGVjRmxvYXQ2
NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gU3BlY0JpZ0lu
dDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gU3BlY0Jp
Z1VpbnQ2NEFycmF5OwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRh
VmlldzoKICAgICAgICAgYnJlYWs7CkBAIC02NTYsNiArNjc0LDEyIEBAIFR5cGVkQXJyYXlUeXBl
IHR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHR5cGUpCiAgICAg
ICAgIAogICAgIGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQogICAgICAgICBy
ZXR1cm4gVHlwZUZsb2F0NjQ7CisKKyAgICBpZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24o
dHlwZSkpCisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisKKyAgICBpZiAoaXNCaWdVaW50
NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsK
ICAgICAKICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKIH0KQEAgLTkwMiw2ICs5MjYsMTAgQEAg
U3BlY3VsYXRlZFR5cGUgc3BlY3VsYXRpb25Gcm9tU3RyaW5nKGNvbnN0IGNoYXIqIHNwZWN1bGF0
aW9uKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0MzJBcnJheTsKICAgICBpZiAoIXN0cm5jbXAo
c3BlY3VsYXRpb24sICJTcGVjRmxvYXQ2NEFycmF5Iiwgc3RybGVuKCJTcGVjRmxvYXQ2NEFycmF5
IikpKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0NjRBcnJheTsKKyAgICBpZiAoIXN0cm5jbXAo
c3BlY3VsYXRpb24sICJTcGVjQmlnSW50NjRBcnJheSIsIHN0cmxlbigiU3BlY0JpZ0ludDY0QXJy
YXkiKSkpCisgICAgICAgIHJldHVybiBTcGVjQmlnSW50NjRBcnJheTsKKyAgICBpZiAoIXN0cm5j
bXAoc3BlY3VsYXRpb24sICJTcGVjQmlnVWludDY0QXJyYXkiLCBzdHJsZW4oIlNwZWNCaWdVaW50
NjRBcnJheSIpKSkKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdVaW50NjRBcnJheTsKICAgICBpZiAo
IXN0cm5jbXAoc3BlY3VsYXRpb24sICJTcGVjVHlwZWRBcnJheVZpZXciLCBzdHJsZW4oIlNwZWNU
eXBlZEFycmF5VmlldyIpKSkKICAgICAgICAgcmV0dXJuIFNwZWNUeXBlZEFycmF5VmlldzsKICAg
ICBpZiAoIXN0cm5jbXAoc3BlY3VsYXRpb24sICJTcGVjRGlyZWN0QXJndW1lbnRzIiwgc3RybGVu
KCJTcGVjRGlyZWN0QXJndW1lbnRzIikpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAppbmRleCA4M2U2ODM1Y2QxYzFjYzhjNWJmZWFmZDM4NjJk
NWZkMTU1MDY0ODg5Li5kNTkwNmY1NzllMWJlYzNmZDRiMTNiMzYxNjc4N2E1YzdlYzFhYWU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaApA
QCAtNTEsNDAgKzUxLDQyIEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Vp
bnQ4QXJyYXkgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwKIHN0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1VpbnQ4Q2xhbXBlZEFycmF5ICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgODsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIFVpbnQ4Q2xhbXBlZEFycmF5IG9yIG9u
ZSBvZiBpdHMgc3ViY2xhc3Nlcy4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y1VpbnQxNkFycmF5ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgOTsgLy8gSXQncyBk
ZWZpbml0ZWx5IGFuIFVpbnQxNkFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KIHN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1VpbnQzMkFycmF5ICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMTA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50MzJBcnJheSBv
ciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBl
IFNwZWNGbG9hdDMyQXJyYXkgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDExOyAvLyBJ
dCdzIGRlZmluaXRlbHkgYW4gVWludDE2QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgot
c3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRmxvYXQ2NEFycmF5ICAgICAgICAg
ICAgICAgICAgICAgID0gMXVsbCA8PCAxMjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIFVpbnQxNkFy
cmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY1R5cGVkQXJyYXlWaWV3ICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQ4QXJy
YXkgfCBTcGVjSW50MTZBcnJheSB8IFNwZWNJbnQzMkFycmF5IHwgU3BlY1VpbnQ4QXJyYXkgfCBT
cGVjVWludDhDbGFtcGVkQXJyYXkgfCBTcGVjVWludDE2QXJyYXkgfCBTcGVjVWludDMyQXJyYXkg
fCBTcGVjRmxvYXQzMkFycmF5IHwgU3BlY0Zsb2F0NjRBcnJheTsKLXN0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0RpcmVjdEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMTM7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERpcmVjdEFyZ3VtZW50cyBvYmplY3QuCi1z
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTY29wZWRBcmd1bWVudHMgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDE0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTY29wZWRBcmd1
bWVudHMgb2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5n
T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNTsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgU3RyaW5nT2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
UmVnRXhwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNjsgLy8gSXQncyBk
ZWZpbml0ZWx5IGEgUmVnRXhwT2JqZWN0IChhbmQgbm90IGFueSBzdWJjbGFzcyBvZiBSZWdFeHBP
YmplY3QpLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGF0ZU9iamVjdCAg
ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNzsgLy8gSXQncyBkZWZpbml0ZWx5IGEg
RGF0ZSBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjUHJvbWlzZU9iamVjdCAgICAgICAgICAgICAgICAgICAgID0gMXVs
bCA8PCAxODsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJvbWlzZSBvYmplY3Qgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjTWFwT2Jq
ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxOTsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgTWFwIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTZXRPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDIwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTZXQgb2JqZWN0IG9yIG9uZSBvZiBp
dHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtN
YXBPYmplY3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjE7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIFdlYWtNYXAgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtTZXRPYmplY3QgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMjI7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFdlYWtTZXQgb2JqZWN0IG9y
IG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
U3BlY1Byb3h5T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjM7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIFByb3h5IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1z
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEZXJpdmVkQXJyYXkgICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDI0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBEZXJpdmVkQXJy
YXkgb2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT2JqZWN0T3Ro
ZXIgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNTsgLy8gSXQncyBkZWZpbml0ZWx5
IGFuIG9iamVjdCBidXQgbm90IEpTRmluYWxPYmplY3QsIEpTQXJyYXksIG9yIEpTRnVuY3Rpb24u
Ci1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdJZGVudCAgICAgICAg
ICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmlu
ZywgYW5kIGl0J3MgYW4gaWRlbnRpZmllci4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY1N0cmluZ1ZhciAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjc7IC8v
IEl0J3MgZGVmaW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBub3QgYW4gaWRlbnRpZmllci4K
K3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Zsb2F0MzJBcnJheSAgICAgICAg
ICAgICAgICAgICAgICA9IDF1bGwgPDwgMTE7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBGbG9hdDMy
QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRmxvYXQ2NEFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAx
MjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEZsb2F0NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNs
YXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQ2NEFycmF5
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEzOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
QmlnSW50NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdVaW50NjRBcnJheSAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDE0OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gQmlnVWludDY0QXJyYXkgb3Igb25lIG9m
IGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVHlw
ZWRBcnJheVZpZXcgICAgICAgICAgICAgICAgICAgID0gU3BlY0ludDhBcnJheSB8IFNwZWNJbnQx
NkFycmF5IHwgU3BlY0ludDMyQXJyYXkgfCBTcGVjVWludDhBcnJheSB8IFNwZWNVaW50OENsYW1w
ZWRBcnJheSB8IFNwZWNVaW50MTZBcnJheSB8IFNwZWNVaW50MzJBcnJheSB8IFNwZWNGbG9hdDMy
QXJyYXkgfCBTcGVjRmxvYXQ2NEFycmF5IHwgU3BlY0JpZ0ludDY0QXJyYXkgfCBTcGVjQmlnVWlu
dDY0QXJyYXk7CitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEaXJlY3RBcmd1
bWVudHMgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE1OyAvLyBJdCdzIGRlZmluaXRlbHkg
YSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0Lgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjU2NvcGVkQXJndW1lbnRzICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNjsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgU2NvcGVkQXJndW1lbnRzIG9iamVjdC4KK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0cmluZ09iamVjdCAgICAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMTc7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN0cmluZ09iamVjdC4KK3N0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1JlZ0V4cE9iamVjdCAgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMTg7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFJlZ0V4cE9iamVjdCAoYW5k
IG5vdCBhbnkgc3ViY2xhc3Mgb2YgUmVnRXhwT2JqZWN0KS4KK3N0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY0RhdGVPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgMTk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERhdGUgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3Vi
Y2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Byb21pc2VPYmpl
Y3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjA7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IFByb21pc2Ugb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01hcE9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMjE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIE1hcCBvYmplY3Qgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU2V0T2Jq
ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyMjsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNXZWFrTWFwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDIzOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFrTWFwIG9iamVjdCBvciBvbmUg
b2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNX
ZWFrU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI0OyAvLyBJdCdzIGRl
ZmluaXRlbHkgYSBXZWFrU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm94eU9iamVjdCAgICAgICAgICAgICAg
ICAgICAgICAgPSAxdWxsIDw8IDI1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBQcm94eSBvYmplY3Qg
b3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjRGVyaXZlZEFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNjsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgRGVyaXZlZEFycmF5IG9iamVjdC4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY09iamVjdE90aGVyICAgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMjc7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBvYmplY3QgYnV0IG5vdCBKU0ZpbmFsT2Jq
ZWN0LCBKU0FycmF5LCBvciBKU0Z1bmN0aW9uLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjU3RyaW5nSWRlbnQgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyODsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdzIGFuIGlkZW50aWZpZXIuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdWYXIgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDI5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZywg
YW5kIGl0J3Mgbm90IGFuIGlkZW50aWZpZXIuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNTdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjU3RyaW5nSWRl
bnQgfCBTcGVjU3RyaW5nVmFyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZy4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N5bWJvbCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjg7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN5bWJvbC4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0NlbGxPdGhlciAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbCBidXQgbm90
IGEgc3ViY2xhc3Mgb2YgSlNPYmplY3QgYW5kIGRlZmluaXRlbHkgbm90IGEgSlNTdHJpbmcsIEJp
Z0ludCwgb3IgU3ltYm9sLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQm9v
bEludDMyICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzMDsgLy8gSXQncyBkZWZp
bml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgMCBvciAxLgotc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjTm9uQm9vbEludDMyICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCAzMTsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgb3RoZXIgdGhhbiAw
IG9yIDEuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTeW1ib2wgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBT
eW1ib2wuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3RoZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBK
U0NlbGwgYnV0IG5vdCBhIHN1YmNsYXNzIG9mIEpTT2JqZWN0IGFuZCBkZWZpbml0ZWx5IG5vdCBh
IEpTU3RyaW5nLCBCaWdJbnQsIG9yIFN5bWJvbC4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY0Jvb2xJbnQzMiAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzI7
IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVlIDAgb3IgMS4KK3N0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkJvb2xJbnQzMiAgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMzM7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVl
IG90aGVyIHRoYW4gMCBvciAxLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
SW50MzJPbmx5ICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0Jvb2xJbnQzMiB8IFNwZWNO
b25Cb29sSW50MzI7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMi4KIAotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50MzJBc0ludDUyICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAzMjsgLy8gSXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuIGZpdCBpbiBhbiBpbnQz
Mi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludDMyQXNJbnQ1MiAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzM7IC8vIEl0J3MgYW4gSW50NTIgYW5kIGl0IGNh
bid0IGZpdCBpbiBhbiBpbnQzMi4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0ludDMyQXNJbnQ1MiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzQ7IC8vIEl0J3Mg
YW4gSW50NTIgYW5kIGl0IGNhbiBmaXQgaW4gYW4gaW50MzIuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnQzMkFzSW50NTIgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDM1OyAvLyBJdCdzIGFuIEludDUyIGFuZCBpdCBjYW4ndCBmaXQgaW4gYW4gaW50MzIuCiBz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnQ1MkFueSAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSBTcGVjSW50MzJBc0ludDUyIHwgU3BlY05vbkludDMyQXNJbnQ1MjsgLy8g
SXQncyBhbnkga2luZCBvZiBJbnQ1Mi4KIAotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjQW55SW50QXNEb3VibGUgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNDsgLy8g
SXQncyBkZWZpbml0ZWx5IGFuIEludDUyIGFuZCBpdCdzIGluc2lkZSBhIGRvdWJsZS4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludEFzRG91YmxlICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMzU7IC8vIEl0J3MgZGVmaW5pdGVseSBub3QgYW4gSW50NTIgYnV0
IGl0J3MgYSByZWFsIG51bWJlciBhbmQgaXQncyBhIGRvdWJsZS4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0FueUludEFzRG91YmxlICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMzY7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQ1MiBhbmQgaXQncyBpbnNpZGUgYSBk
b3VibGUuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnRBc0RvdWJs
ZSAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM3OyAvLyBJdCdzIGRlZmluaXRlbHkgbm90
IGFuIEludDUyIGJ1dCBpdCdzIGEgcmVhbCBudW1iZXIgYW5kIGl0J3MgYSBkb3VibGUuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVSZWFsICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjTm9uSW50QXNEb3VibGUgfCBTcGVjQW55SW50QXNEb3VibGU7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIG5vbi1OYU4gZG91YmxlLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRG91YmxlUHVyZU5hTiAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAz
NjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgc2FmZSB0byB0YWcgKGkuZS4gcHVy
ZSkuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVJbXB1cmVOYU4g
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM3OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4g
dGhhdCBpcyB1bnNhZmUgdG8gdGFnIChpLmUuIGltcHVyZSkuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVQdXJlTmFOICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDM4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4gdGhhdCBpcyBzYWZlIHRvIHRhZyAoaS5l
LiBwdXJlKS4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZUltcHVy
ZU5hTiAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzk7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IE5hTiB0aGF0IGlzIHVuc2FmZSB0byB0YWcgKGkuZS4gaW1wdXJlKS4KIHN0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZU5hTiAgICAgICAgICAgICAgICAgICAgICAgICA9
IFNwZWNEb3VibGVQdXJlTmFOIHwgU3BlY0RvdWJsZUltcHVyZU5hTjsgLy8gSXQncyBkZWZpbml0
ZWx5IHNvbWUga2luZCBvZiBOYU4uCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNCeXRlY29kZURvdWJsZSAgICAgICAgICAgICAgICAgICAgPSBTcGVjRG91YmxlUmVhbCB8IFNw
ZWNEb3VibGVQdXJlTmFOOyAvLyBJdCdzIGVpdGhlciBhIG5vbi1OYU4gb3IgYSBOYU4gZG91Ymxl
LCBidXQgaXQncyBkZWZpbml0ZWx5IG5vdCBpbXB1cmUgTmFOLgogc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjRnVsbERvdWJsZSAgICAgICAgICAgICAgICAgICAgICAgID0gU3Bl
Y0RvdWJsZVJlYWwgfCBTcGVjRG91YmxlTmFOOyAvLyBJdCdzIGVpdGhlciBhIG5vbi1OYU4gb3Ig
YSBOYU4gZG91YmxlLgpAQCAtOTQsMTkgKzk2LDE5IEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY0J5dGVjb2RlTnVtYmVyICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQz
CiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnRBbnlGb3JtYXQgICAgICAg
ICAgICAgICAgICAgICAgPSBTcGVjSW50NTJBbnkgfCBTcGVjSW50MzJPbmx5IHwgU3BlY0FueUlu
dEFzRG91YmxlOwogCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxsTnVt
YmVyICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50QW55Rm9ybWF0IHwgU3BlY0Z1bGxE
b3VibGU7IC8vIEl0J3MgZWl0aGVyIGFuIEludDMyLCBJbnQ1Miwgb3IgYSBEb3VibGUsIGFuZCB0
aGUgRG91YmxlIGNhbiBiZSBpbXB1cmUgTmFOLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjQm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzODsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgQm9vbGVhbi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY090aGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzk7
IC8vIEl0J3MgZGVmaW5pdGVseSBlaXRoZXIgTnVsbCBvciBVbmRlZmluZWQuCitzdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCb29sZWFuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDQwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCb29sZWFuLgorc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT3RoZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCA0MTsgLy8gSXQncyBkZWZpbml0ZWx5IGVpdGhlciBOdWxsIG9yIFVuZGVm
aW5lZC4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01pc2MgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IFNwZWNCb29sZWFuIHwgU3BlY090aGVyOyAvLyBJdCdzIGRl
ZmluaXRlbHkgZWl0aGVyIGEgYm9vbGVhbiwgTnVsbCwgb3IgVW5kZWZpbmVkLgotc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRW1wdHkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCA0MDsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIGVtcHR5IHZhbHVlIG1hcmtl
ci4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0hlYXBCaWdJbnQgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEJpZ0lu
dCB0aGF0IGlzIGFsbG9jYXRlZCBvbiB0aGUgaGVhcAotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjQmlnSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA0
MjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgc21hbGwgQmlnSW50IHRoYXQgaXMgaW5saW5lIHRoZSBK
U1ZhbHVlCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNFbXB0eSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQyOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
ZW1wdHkgdmFsdWUgbWFya2VyLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
SGVhcEJpZ0ludCAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA0MzsgLy8gSXQncyBk
ZWZpbml0ZWx5IGEgQmlnSW50IHRoYXQgaXMgYWxsb2NhdGVkIG9uIHRoZSBoZWFwCitzdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQzMiAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQ0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBzbWFsbCBCaWdJbnQgdGhh
dCBpcyBpbmxpbmUgdGhlIEpTVmFsdWUKICNpZiBVU0UoQklHSU5UMzIpCiBzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSBTcGVjQmlnSW50MzIgfCBTcGVjSGVhcEJpZ0ludDsKICNlbHNlCiAvLyBXZSBzaG91bGQgbm90
IGluY2x1ZGUgU3BlY0JpZ0ludDMyLiBXZSBhcmUgdXNpbmcgU3BlY0JpZ0ludCBpbiB2YXJpb3Vz
IHBsYWNlcyBsaWtlIHByZWRpY3Rpb24uIElmIHRoaXMgaW5jbHVkZXMgU3BlY0JpZ0ludDMyLCBm
aXh1cCBwaGFzZSBpcyBjb25mdXNlZCBpZiAhVVNFKEJJR0lOVDMyKSBzaW5jZSBpdCBpcyBub3Qg
dXNpbmcgQW55QmlnSW50VXNlLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
QmlnSW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0hlYXBCaWdJbnQ7CiAjZW5k
aWYKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RhdGFWaWV3T2JqZWN0ICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDM7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTRGF0
YVZpZXcuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEYXRhVmlld09iamVj
dCAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQ1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBK
U0RhdGFWaWV3Lgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJpbWl0aXZl
ICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY1N0cmluZyB8IFNwZWNTeW1ib2wgfCBTcGVj
Qnl0ZWNvZGVOdW1iZXIgfCBTcGVjTWlzYyB8IFNwZWNCaWdJbnQ7IC8vIEl0J3MgYW55IG5vbi1P
YmplY3QgSlNWYWx1ZS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY09iamVj
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNGaW5hbE9iamVjdCB8IFNwZWNBcnJh
eSB8IFNwZWNGdW5jdGlvbiB8IFNwZWNUeXBlZEFycmF5VmlldyB8IFNwZWNEaXJlY3RBcmd1bWVu
dHMgfCBTcGVjU2NvcGVkQXJndW1lbnRzIHwgU3BlY1N0cmluZ09iamVjdCB8IFNwZWNSZWdFeHBP
YmplY3QgfCBTcGVjRGF0ZU9iamVjdCB8IFNwZWNQcm9taXNlT2JqZWN0IHwgU3BlY01hcE9iamVj
dCB8IFNwZWNTZXRPYmplY3QgfCBTcGVjV2Vha01hcE9iamVjdCB8IFNwZWNXZWFrU2V0T2JqZWN0
IHwgU3BlY1Byb3h5T2JqZWN0IHwgU3BlY0Rlcml2ZWRBcnJheSB8IFNwZWNPYmplY3RPdGhlciB8
IFNwZWNEYXRhVmlld09iamVjdDsgLy8gQml0bWFzayB1c2VkIGZvciB0ZXN0aW5nIGZvciBhbnkg
a2luZCBvZiBvYmplY3QgcHJlZGljdGlvbi4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY0NlbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNPYmplY3QgfCBT
cGVjU3RyaW5nIHwgU3BlY1N5bWJvbCB8IFNwZWNDZWxsT3RoZXIgfCBTcGVjSGVhcEJpZ0ludDsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgSlNDZWxsLgpAQCAtMjg3LDUxICsyODksMjQgQEAgaW5saW5l
IGJvb2wgaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKICAg
ICByZXR1cm4gdmFsdWUgPT0gU3BlY0Zsb2F0NjRBcnJheTsKIH0KIAotaW5saW5lIGJvb2wgaXNE
aXJlY3RBcmd1bWVudHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGluZSBi
b29sIGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogewot
ICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjRGlyZWN0QXJndW1lbnRzOworICAgIHJldHVybiB2YWx1
ZSA9PSBTcGVjQmlnSW50NjRBcnJheTsKIH0KIAotaW5saW5lIGJvb2wgaXNTY29wZWRBcmd1bWVu
dHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGluZSBib29sIGlzQmlnVWlu
dDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4g
dmFsdWUgPT0gU3BlY1Njb3BlZEFyZ3VtZW50czsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0Jp
Z1VpbnQ2NEFycmF5OwogfQogCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVJbnRNdXRhYmxlQXJy
YXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKLXsKLSAgICByZXR1cm4gaXNJbnQ4
QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNJbnQxNkFycmF5U3BlY3VsYXRp
b24odmFsdWUpCi0gICAgICAgIHx8IGlzSW50MzJBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAg
ICAgICB8fCBpc1VpbnQ4QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNVaW50
OENsYW1wZWRBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc1VpbnQxNkFycmF5
U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzVWludDMyQXJyYXlTcGVjdWxhdGlvbih2
YWx1ZSk7Ci19Ci0KLWlubGluZSBib29sIGlzQWN0aW9uYWJsZUZsb2F0TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGlzRmxvYXQzMkFy
cmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzRmxvYXQ2NEFycmF5U3BlY3VsYXRp
b24odmFsdWUpOwotfQotCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVUeXBlZE11dGFibGVBcnJh
eVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQotewotICAgIHJldHVybiBpc0FjdGlv
bmFibGVJbnRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNBY3Rp
b25hYmxlRmxvYXRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSk7Ci19Ci0KLWlubGluZSBi
b29sIGlzQWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZh
bHVlKQoraW5saW5lIGJvb2wgaXNEaXJlY3RBcmd1bWVudHNTcGVjdWxhdGlvbihTcGVjdWxhdGVk
VHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4gaXNBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAg
ICAgICB8fCBpc0FjdGlvbmFibGVUeXBlZE11dGFibGVBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsK
KyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0RpcmVjdEFyZ3VtZW50czsKIH0KIAotaW5saW5lIGJv
b2wgaXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lu
bGluZSBib29sIGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFs
dWUpCiB7Ci0gICAgcmV0dXJuIGlzU3RyaW5nU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8
IGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzU2NvcGVk
QXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzQWN0aW9uYWJsZU11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY1Njb3Bl
ZEFyZ3VtZW50czsKIH0KIAogaW5saW5lIGJvb2wgaXNBcnJheU9yT3RoZXJTcGVjdWxhdGlvbihT
cGVjdWxhdGVkVHlwZSB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA3YjViNjg0NTg4NWE0
NWQzMmNmOTAyMmMwOTBlYWFmZWU4NzNkNmJkLi5lODQ4MmJkYmE5N2UyMjAzYjBjYmVhODE0MTlk
MGJkNjQ1ZmVkNjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zNjQ3LDYgKzM2NDcsMTIgQEAg
Ym9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5
OgogICAgICAgICAgICAgZmlsdGVyKG5vZGUtPmNoaWxkMSgpLCBTcGVjRmxvYXQ2NEFycmF5IHwg
YWRtaXR0ZWRUeXBlcyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcnJheTo6
QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY0Jp
Z0ludDY0QXJyYXkgfCBhZG1pdHRlZFR5cGVzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgICAgIGZpbHRlcihub2RlLT5j
aGlsZDEoKSwgU3BlY0JpZ1VpbnQ2NEFycmF5IHwgYWRtaXR0ZWRUeXBlcyk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAgICAg
IGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY1R5cGVkQXJyYXlWaWV3IHwgYWRtaXR0ZWRUeXBl
cyk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJy
YXlNb2RlLmNwcAppbmRleCBjNzljZGE0NGY5ODRiM2I0Y2RmYWEwZWRlZWNhYWI1NGFhODc4NTIx
Li45ZGIxNGI1YTIxNDVhMzczMjNlNTY4MmQ3YzYyOGM5YjBlYmQ3MjA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCkBAIC0xNDUsNiArMTQ1LDEyIEBAIEFy
cmF5TW9kZSBBcnJheU1vZGU6OmZyb21PYnNlcnZlZChjb25zdCBDb25jdXJyZW50SlNMb2NrZXIm
IGxvY2tlciwgQXJyYXlQcm9maWxlCiAgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkZs
b2F0MzJBcnJheSwgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxlKGxv
Y2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOwogICAgIGNhc2UgRmxvYXQ2NEFycmF5TW9kZToKICAg
ICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6RmxvYXQ2NEFycmF5LCBub25BcnJheSwgQXJy
YXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2FmZSk7
CisgICAgLy8gRklYTUU6IEFkZCBCaWdJbnQ2NEFycmF5IC8gQmlnVWludDY0QXJyYXkgc3VwcG9y
dC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMTcy
CisgICAgY2FzZSBCaWdJbnQ2NEFycmF5TW9kZToKKyAgICAgICAgcmV0dXJuIEFycmF5TW9kZShB
cnJheTo6R2VuZXJpYywgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxl
KGxvY2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOworICAgIGNhc2UgQmlnVWludDY0QXJyYXlNb2Rl
OgorICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub25BcnJheSwgQXJy
YXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2FmZSk7
CiAKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBJZiB3ZSBoYXZlIHNlZW4gbXVsdGlwbGUgVHlw
ZWRBcnJheSB0eXBlcywgb3IgYSBUeXBlZEFycmF5IGFuZCBub24tdHlwZWQgYXJyYXksIGl0IGRv
ZXNuJ3QgbWFrZSBzZW5zZSB0byB0cnkgdG8gY29udmVydCB0aGUgb2JqZWN0IHNpbmNlIHlvdSBj
YW4ndCBjb252ZXJ0IHR5cGVkIGFycmF5cy4KQEAgLTI5Myw2ICsyOTksMTMgQEAgQXJyYXlNb2Rl
IEFycmF5TW9kZTo6cmVmaW5lKAogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlZEFycmF5UmVz
dWx0KHdpdGhTcGVjdWxhdGlvbihBcnJheTo6T3V0T2ZCb3VuZHMpKTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdCh3aXRoU3BlY3VsYXRpb24oQXJyYXk6OkluQm91
bmRzKSk7CisKKyAgICAvLyBGSVhNRTogQWRkIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJh
eSBzdXBwb3J0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjExNzIKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgIGNhc2UgQXJyYXk6
OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmlj
LCBhY3Rpb24oKSk7CisKICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgogICAgIGNhc2UgQXJy
YXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6IHsKICAgICAgICAgYmFzZSAmPSB+U3BlY090aGVy
OwpAQCAtMzU0LDYgKzM2NywxNSBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpyZWZpbmUoCiAgICAg
ICAgIGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKGJhc2UpKQogICAgICAgICAgICAgcmV0
dXJuIHR5cGVkQXJyYXlSZXN1bHQocmVzdWx0LndpdGhUeXBlKEFycmF5OjpGbG9hdDY0QXJyYXkp
KTsKIAorICAgICAgICAvLyBGSVhNRTogQWRkIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJh
eSBzdXBwb3J0LgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIxMTcyCisKKyAgICAgICAgaWYgKGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKGJh
c2UpKQorICAgICAgICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6R2VuZXJpYywgYWN0aW9u
KCkpOworCisgICAgICAgIGlmIChpc0JpZ1VpbnQ2NEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCisg
ICAgICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBhY3Rpb24oKSk7CisK
ICAgICAgICAgaWYgKHR5cGUoKSA9PSBBcnJheTo6VW5wcm9maWxlZCkKICAgICAgICAgICAgIHJl
dHVybiBBcnJheU1vZGUoQXJyYXk6OkZvcmNlRXhpdCwgYWN0aW9uKCkpOwogICAgICAgICByZXR1
cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBhY3Rpb24oKSk7CkBAIC02MDUsNiArNjI3LDEy
IEBAIGJvb2wgQXJyYXlNb2RlOjphbHJlYWR5Q2hlY2tlZChHcmFwaCYgZ3JhcGgsIE5vZGUqIG5v
ZGUsIGNvbnN0IEFic3RyYWN0VmFsdWUmIHZhCiAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5
OgogICAgICAgICByZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY0Zs
b2F0NjRBcnJheSk7CiAKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBy
ZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY0JpZ0ludDY0QXJyYXkp
OworCisgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBzcGVj
dWxhdGlvbkNoZWNrZWQodmFsdWUubV90eXBlLCBTcGVjQmlnVWludDY0QXJyYXkpOworCiAgICAg
Y2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uQ2hl
Y2tlZCh2YWx1ZS5tX3R5cGUsIFNwZWNUeXBlZEFycmF5Vmlldyk7CiAKQEAgLTY3OSw2ICs3MDcs
MTAgQEAgY29uc3QgY2hhciogYXJyYXlUeXBlVG9TdHJpbmcoQXJyYXk6OlR5cGUgdHlwZSkKICAg
ICAgICAgcmV0dXJuICJGbG9hdDMyQXJyYXkiOwogICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJh
eToKICAgICAgICAgcmV0dXJuICJGbG9hdDY0QXJyYXkiOworICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgIHJldHVybiAiQmlnSW50NjRBcnJheSI7CisgICAgY2FzZSBBcnJh
eTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiAiQmlnVWludDY0QXJyYXkiOwogICAg
IGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAgICAgIHJldHVybiAiQW55VHlwZWRBcnJh
eSI7CiAgICAgZGVmYXVsdDoKQEAgLTc4MSw2ICs4MTMsMTAgQEAgVHlwZWRBcnJheVR5cGUgdG9U
eXBlZEFycmF5VHlwZShBcnJheTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gVHlwZUZsb2F0
MzI7CiAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gVHlwZUZs
b2F0NjQ7CisgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5
cGVCaWdJbnQ2NDsKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgcmV0
dXJuIFR5cGVCaWdVaW50NjQ7CiAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIE5vdFR5cGVk
QXJyYXk7CkBAIC04MTAsNiArODQ2LDEwIEBAIEFycmF5OjpUeXBlIHRvQXJyYXlUeXBlKFR5cGVk
QXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBBcnJheTo6RmxvYXQzMkFycmF5OwogICAg
IGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBBcnJheTo6RmxvYXQ2NEFycmF5Owor
ICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gQXJyYXk6OkJpZ0ludDY0QXJy
YXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gQXJyYXk6OkJpZ1Vp
bnQ2NEFycmF5OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBBcnJheTo6R2VuZXJpYzsK
ICAgICB9CkBAIC04NDUsNiArODg1LDggQEAgYm9vbCBwZXJtaXRzQm91bmRzQ2hlY2tMb3dlcmlu
ZyhBcnJheTo6VHlwZSB0eXBlKQogICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAgIGNh
c2UgQXJyYXk6OkZsb2F0MzJBcnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6Cisg
ICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRB
cnJheToKICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBcnJheU1vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgK
aW5kZXggMWM1NjMyYTMxZmJkZTE5MDM1YzVkMjU2MzczNGE2MzA5YjdkYjAxZC4uMTExMWY4OWY5
ZDdiNWI5Nzc3OGMxNmM4ZDU0NjQwYmVhMzc0NDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0FycmF5TW9kZS5oCkBAIC03Niw2ICs3Niw4IEBAIGVudW0gVHlwZSA6IHVpbnQ4X3Qg
ewogICAgIFVpbnQzMkFycmF5LAogICAgIEZsb2F0MzJBcnJheSwKICAgICBGbG9hdDY0QXJyYXks
CisgICAgQmlnSW50NjRBcnJheSwKKyAgICBCaWdVaW50NjRBcnJheSwKICAgICBBbnlUeXBlZEFy
cmF5CiB9OwogCkBAIC0zOTMsNiArMzk1LDggQEAgY2xhc3MgQXJyYXlNb2RlIHsKICAgICAgICAg
Y2FzZSBBcnJheTo6VWludDMyQXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0MzJBcnJh
eToKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5
OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAg
ICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKQEAgLTQ3Nyw2ICs0ODEsMTAgQEAgY2xhc3MgQXJyYXlN
b2RlIHsKICAgICAgICAgICAgIHJldHVybiBGbG9hdDMyQXJyYXlNb2RlOwogICAgICAgICBjYXNl
IEFycmF5OjpGbG9hdDY0QXJyYXk6CiAgICAgICAgICAgICByZXR1cm4gRmxvYXQ2NEFycmF5TW9k
ZTsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIHJldHVy
biBCaWdJbnQ2NEFycmF5TW9kZTsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6
CisgICAgICAgICAgICByZXR1cm4gQmlnVWludDY0QXJyYXlNb2RlOwogICAgICAgICBjYXNlIEFy
cmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICAgICAgcmV0dXJuIEFMTF9UWVBFRF9BUlJBWV9N
T0RFUzsKICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggNTRlMzVlN2M1NjhhNTA2MTk2ZjEzZmE1OTY3NDgzZmU3YWU4NDYwNi4u
ZTc2NzIzZTc1ZGY5YWU5NDY0M2ZhYzAzYjllZWIyOTg4NGY4OWZlYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTkxNCw2ICs5MTQsOCBAQCB2b2lkIGNs
b2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVh
ZCwgY29uc3QgV3JpdGVGdQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCiAgICAg
ICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJy
YXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAgY2xv
YmJlclRvcCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCkBAIC0xMDUxLDYg
KzEwNTMsOCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25z
dCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6CisgICAgICAgIGNhc2Ug
QXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5
OgogICAgICAgICAgICAgY2xvYmJlclRvcCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAppbmRl
eCA1Mjk2YzY4NTY0MjE4YjRjZjdiODlkZmI2MTY5N2JmYTk2ZDM1ZTg2Li41MGRlZTlkYmMyZDQ1
YzYxNzUyOGU5MGJlZDlhYzBjMDAyZmVmYTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTE5NDIsNiArMTk0MiwzOCBAQCBKU0NfREVGSU5FX0pJ
VF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFy
KiwgKEpTR2xvYgogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihjb25zdHJ1Y3RH
ZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTRmxvYXQ2NEFycmF5PihnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSwgZW5jb2RlZFZhbHVlLCAwLCBXVEY6Om51bGxvcHQpKTsKIH0KIAor
SlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0JpZ0ludDY0QXJyYXlXaXRoU2l6
ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgaW50MzJfdCBsZW5ndGgsIGNoYXIqIHZlY3RvcikpCit7CisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworICAgIENhbGxGcmFtZSogY2FsbEZyYW1lID0gREVDTEFSRV9DQUxM
X0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRpb25Qcm9sb2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0dXJuIG5ld1R5cGVkQXJyYXlXaXRoU2l6ZTxKU0Jp
Z0ludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3Ip
OworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50NjRBcnJh
eVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK3sKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUg
PSBERUNMQVJFX0NBTExfRlJBTUUodm0pOworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcih2bSwgY2FsbEZyYW1lKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjaGFyKj4oY29uc3RydWN0R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50czxK
U0JpZ0ludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBlbmNvZGVkVmFsdWUsIDAs
IFdURjo6bnVsbG9wdCkpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TmV3QmlnVWludDY0QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgaW50MzJfdCBsZW5ndGgsIGNoYXIqIHZlY3Rv
cikpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIENhbGxGcmFtZSog
Y2FsbEZyYW1lID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRpb25Qcm9s
b2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0dXJuIG5l
d1R5cGVkQXJyYXlXaXRoU2l6ZTxKU0JpZ1VpbnQ2NEFycmF5PihnbG9iYWxPYmplY3QsIHZtLCBz
dHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yKTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9O
KG9wZXJhdGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFyKiwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IERFQ0xBUkVfQ0FMTF9GUkFNRSh2bSk7CisgICAg
SklUT3BlcmF0aW9uUHJvbG9ndWVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBjYWxsRnJhbWUp
OworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihjb25zdHJ1Y3RHZW5lcmljVHlw
ZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTQmlnVWludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBlbmNvZGVkVmFsdWUsIDAsIFdURjo6bnVsbG9wdCkpOworfQorCiBKU0NfREVG
SU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QXJyYXlJdGVyYXRvciwgSlNDZWxsKiwgKFZN
KiB2bVBvaW50ZXIsIFN0cnVjdHVyZSogc3RydWN0dXJlKSkKIHsKICAgICBWTSYgdm0gPSAqdm1Q
b2ludGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaAppbmRleCA5
MDllNTkxNzFmMmVlZWRlZGIyNzU2ZjJjYmVkMDhhNjY5N2MwZTg3Li4yMjFiNGM0Mjc3YWZiOGYw
ZGYyOTZjNTUwYmY0M2UyMjQwM2EzZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09wZXJhdGlvbnMuaApAQCAtMTMwLDYgKzEzMCwxMCBAQCBKU0NfREVDTEFSRV9KSVRfT1BFUkFU
SU9OKG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2Jq
ZQogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRo
T25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVk
SlNWYWx1ZSkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdGbG9hdDY0
QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIGludDMy
X3QsIGNoYXIqKSk7CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0
NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSosIEVuY29kZWRKU1ZhbHVlKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlv
bk5ld0JpZ0ludDY0QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIGludDMyX3QsIGNoYXIqKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJh
dGlvbk5ld0JpZ0ludDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkpOworSlNDX0RFQ0xBUkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciopKTsKK0pTQ19ERUNMQVJFX0pJVF9P
UEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIq
LCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkpOwogSlNDX0RF
Q0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdBcnJheUl0ZXJhdG9yLCBKU0NlbGwqLCAo
Vk0qLCBTdHJ1Y3R1cmUqKSk7CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5l
d01hcEl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qLCBTdHJ1Y3R1cmUqKSk7CiBKU0NfREVDTEFSRV9K
SVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld1NldEl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qLCBTdHJ1
Y3R1cmUqKSk7CkBAIC0zNjEsNiArMzY1LDEwIEBAIGlubGluZSBhdXRvIG9wZXJhdGlvbk5ld1R5
cGVkQXJyYXlXaXRoU2l6ZUZvclR5cGUoVHlwZWRBcnJheVR5cGUgdHlwZSkgLT4gZGVjbHR5CiAg
ICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRoU2l6ZTsKICAgICBjYXNl
IFR5cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4gb3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0
aFNpemU7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25O
ZXdCaWdJbnQ2NEFycmF5V2l0aFNpemU7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAg
ICByZXR1cm4gb3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoU2l6ZTsKICAgICBjYXNlIE5v
dFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgIGJyZWFrOwpAQCAt
MzkwLDYgKzM5OCwxMCBAQCBpbmxpbmUgYXV0byBvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aE9u
ZUFyZ3VtZW50Rm9yVHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKSAtPgogICAgICAgICByZXR1cm4g
b3BlcmF0aW9uTmV3RmxvYXQzMkFycmF5V2l0aE9uZUFyZ3VtZW50OwogICAgIGNhc2UgVHlwZUZs
b2F0NjQ6CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoT25lQXJn
dW1lbnQ7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25O
ZXdCaWdJbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoK
KyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50
OwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAg
ICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAppbmRleCA5YTk3NzI4MWNjN2Q4ZmU3Yjk4NDMyNzg4MTVlYTE0ZDQ2OGZkYmM5
Li5iZmVmYjNkMzY3OWY5YjU4YTY5YmY3ZGU2MTU2NmU4OWFmN2VlYzg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTI2NDgs
NiArMjY0OCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxl
ZEV4cGxpY2l0bHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2Fz
ZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJy
YXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6IHsKICAgICAgICAgICAgIGlmIChtX2dy
YXBoLm1fc2xvd0dldEJ5VmFsLmNvbnRhaW5zKG5vZGUpKSB7CiAgICAgICAgICAgICAgICAgaWYg
KG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCkudXNlS2luZCgpID09IE9iamVjdFVzZSkgewpA
QCAtMjk4MCw2ICsyOTgyLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBu
b2RlKQogICAgICAgICBjYXNlIEFycmF5OjpGb3JjZUV4aXQ6CiAgICAgICAgICAgICBERkdfQ1JB
U0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkJhZCBhcnJheSBtb2RlIHR5cGUiKTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBj
YXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzog
ewogICAgICAgICAgICAgREZHX0FTU0VSVChtX2ppdC5ncmFwaCgpLCBub2RlLCBub2RlLT5vcCgp
ID09IFB1dEJ5VmFsIHx8IG5vZGUtPm9wKCkgPT0gUHV0QnlWYWxEaXJlY3QsIG5vZGUtPm9wKCkp
OwogCkBAIC0zMjEwLDYgKzMyMTQsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6CiAg
ICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICAgICAgY2FzZSBBcnJheTo6VW5wcm9m
aWxlZDoKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBB
cnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IGVhMWYzNzIzOWMyODlkZjEyY2NkMzFi
ZWY0ZjU1OWRiYTdmNjEwNWMuLjFjZjgyOTNhNGQzNGU3ZDMwZjdhNmZiNzcyZDA3MzdkZGZiYTU2
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
QEAgLTUwNjMsNiArNTA2Myw4IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgICAgIAorICAgICAgICBjYXNlIEFycmF5OjpCaWdJ
bnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAg
Y2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9zbG93R2V0
QnlWYWwuY29udGFpbnMobV9ub2RlKSkgewogICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLnZh
ckFyZ0NoaWxkKG1fbm9kZSwgMCkudXNlS2luZCgpID09IE9iamVjdFVzZSkgewpAQCAtNTM1OCw2
ICs1MzYwLDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgCiAgICAgICAgIEFycmF5
TW9kZSBhcnJheU1vZGUgPSBtX25vZGUtPmFycmF5TW9kZSgpLm1vZGVGb3JQdXQoKTsKICAgICAg
ICAgc3dpdGNoIChhcnJheU1vZGUudHlwZSgpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICBj
YXNlIEFycmF5OjpHZW5lcmljOiB7CiAgICAgICAgICAgICBpZiAoY2hpbGQxLnVzZUtpbmQoKSA9
PSBDZWxsVXNlKSB7CiAgICAgICAgICAgICAgICAgVl9KSVRPcGVyYXRpb25fR0NDSiBvcGVyYXRp
b24gPSBudWxscHRyOwpAQCAtNTY0Nyw2ICs1NjUxLDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsK
ICAgICAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9uczoKICAgICAgICAgY2Fz
ZSBBcnJheTo6VW5kZWNpZGVkOgogICAgICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgorICAg
ICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdV
aW50NjRBcnJheToKICAgICAgICAgICAgIERGR19DUkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQg
YXJyYXkgdHlwZSIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5j
cHAKaW5kZXggYmNhMThhMjY0MjM5ZWJkMzcwMGRhNGJiNTRhZGUxOTRiYTQ3MjYxZC4uYTk4YmQ4
NmJkNjA3ZTIyYjQ4ZGQwMTJkNmM4NmQ3Nzc3NjQxOGNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAg
LTIyOCw3ICsyMjgsOSBAQCBKU1ZhbHVlIEpTSW5qZWN0ZWRTY3JpcHRIb3N0OjpzdWJ0eXBlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogYwogICAgICAgICAgICAgfHwg
b2JqZWN0LT5pbmhlcml0czxKU1VpbnQxNkFycmF5Pih2bSkKICAgICAgICAgICAgIHx8IG9iamVj
dC0+aW5oZXJpdHM8SlNVaW50MzJBcnJheT4odm0pCiAgICAgICAgICAgICB8fCBvYmplY3QtPmlu
aGVyaXRzPEpTRmxvYXQzMkFycmF5Pih2bSkKLSAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJp
dHM8SlNGbG9hdDY0QXJyYXk+KHZtKSkKKyAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8
SlNGbG9hdDY0QXJyYXk+KHZtKQorICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0Jp
Z0ludDY0QXJyYXk+KHZtKQorICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0JpZ1Vp
bnQ2NEFycmF5Pih2bSkpCiAgICAgICAgICAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKHZt
LCAiYXJyYXkiX3MpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCAwYmQ5ZmM2M2FhOThlMGY0OWFmNjllNjA4Nzg0MTc2
NTc2NjdhNDNkLi43NjNkNWJkYjY5YjYyMjNlMjY3NWM4ODdjYTBjOGUyMTkyNGQ5ZGEwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAt
MTQ5Myw4ICsxNDkzLDEwIEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5VmFsKGNvbnN0
IENvbmN1cnJlbnRKU0xvY2tlciYsIEJ5VmFsSW5mbyogYnlWYWxJbmZvCiAgICAgICAgIFR5cGVk
QXJyYXlUeXBlIHR5cGUgPSB0eXBlZEFycmF5VHlwZUZvckpJVEFycmF5TW9kZShhcnJheU1vZGUp
OwogICAgICAgICBpZiAoaXNJbnQodHlwZSkpCiAgICAgICAgICAgICBzbG93Q2FzZXMgPSBlbWl0
SW50VHlwZWRBcnJheVB1dEJ5VmFsKGJ5dGVjb2RlLCBiYWRUeXBlLCB0eXBlKTsKLSAgICAgICAg
ZWxzZSAKKyAgICAgICAgZWxzZSBpZiAoaXNGbG9hdCh0eXBlKSkKICAgICAgICAgICAgIHNsb3dD
YXNlcyA9IGVtaXRGbG9hdFR5cGVkQXJyYXlQdXRCeVZhbChieXRlY29kZSwgYmFkVHlwZSwgdHlw
ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNsb3dDYXNlcyA9IGp1bXAoKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
aW5kZXggNTdiNmMxMzNmOGYyN2QzYmQzMGQ1Y2EzOTQxN2NkYzk5MjI1YmMxOC4uYzllNzE3ZjAw
Y2MyZDg2ZDEyMjg4OTdjYjBmODk3NWVhMzVlYmJlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCkBAIC00OTUsNiArNDk1LDEwIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUFycmF5R2V0QnlWYWwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ29k
CiAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICAgICAgICAgIGFjY2Vzc1R5
cGUgPSBBY2Nlc3NDYXNlOjpJbmRleGVkVHlwZWRBcnJheUZsb2F0NjRMb2FkOwogICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20KaW5kZXggMjU1MmIyNjI5MDRkZGVlNjlkMzlkNmQzODFjZTc4NDA3
MWY0Nzk1ZC4uMzViODYwOGY5ZjY4OGMyYTcwM2M2OWYwMTU0MmM5NWY5MGJmZDU2YiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQpAQCAtNTU2LDYgKzU1Niw3IEBAIGNvbnN0IEZsb2F0NjRBcnJheVR5cGUgPSBjb25zdGV4cHIg
RmxvYXQ2NEFycmF5VHlwZQogCiBjb25zdCBGaXJzdFR5cGVkQXJyYXlUeXBlID0gY29uc3RleHBy
IEZpcnN0VHlwZWRBcnJheVR5cGUKIGNvbnN0IE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVk
aW5nRGF0YVZpZXcgPSBjb25zdGV4cHIgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdE
YXRhVmlldworY29uc3QgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdCaWdJbnRBcnJh
eXNBbmREYXRhVmlldyA9IGNvbnN0ZXhwciBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGlu
Z0JpZ0ludEFycmF5c0FuZERhdGFWaWV3CiAKICMgVHlwZSBmbGFncyBjb25zdGFudHMuCiBjb25z
dCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gY29uc3RleHByIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQKQEAgLTEyMzMsNyArMTIzNCw3IEBAIG1hY3JvIGdldEJ5VmFsVHlwZWRBcnJheShiYXNlLCBp
bmRleCwgZmluaXNoSW50R2V0QnlWYWwsIGZpbmlzaERvdWJsZUdldEJ5VmFsLCBzCiAgICAgIyBG
aXJzdCBsZXRzIGNoZWNrIGlmIHdlIGV2ZW4gaGF2ZSBhIHR5cGVkIGFycmF5LiBUaGlzIGxldHMg
dXMgZG8gc29tZSBib2lsZXJwbGF0ZSB1cCBmcm9udC4KICAgICBsb2FkYiBKU0NlbGw6Om1fdHlw
ZVtiYXNlXSwgdDIKICAgICBzdWJpIEZpcnN0VHlwZWRBcnJheVR5cGUsIHQyCi0gICAgYmlhZXEg
dDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXcsIHNsb3dQYXRoCisg
ICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlz
QW5kRGF0YVZpZXcsIHNsb3dQYXRoCiAgICAgCiAgICAgIyBTd2VldCwgbm93IHdlIGtub3cgdGhh
dCB3ZSBoYXZlIGEgdHlwZWQgYXJyYXkuIERvIHNvbWUgYmFzaWMgdGhpbmdzIG5vdy4KIApAQCAt
MTI2MCw2ICsxMjYxLDggQEAgbWFjcm8gZ2V0QnlWYWxUeXBlZEFycmF5KGJhc2UsIGluZGV4LCBm
aW5pc2hJbnRHZXRCeVZhbCwgZmluaXNoRG91YmxlR2V0QnlWYWwsIHMKICAgICAjICAgIFVpbnQz
MkFycmF5VHlwZSwKICAgICAjICAgIEZsb2F0MzJBcnJheVR5cGUsCiAgICAgIyAgICBGbG9hdDY0
QXJyYXlUeXBlLAorICAgICMKKyAgICAjIFlldCwgd2UgYXJlIG5vdCBzdXBwb3J0aW5nIEJpdElu
dDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFycmF5LgogCiAgICAgYmlhIHQyLCBVaW50MTZBcnJheVR5
cGUgLSBGaXJzdFR5cGVkQXJyYXlUeXBlLCAub3BHZXRCeVZhbEFib3ZlVWludDE2QXJyYXkKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcAppbmRl
eCBmMDdlM2FlYjc1NTJhNDA2YmE0NTZhODQyNTUzZjJiZWQxZjBjOGQ1Li4wYWRmYjBkMzU4ZjI4
MDcyMDVlYjJhYmY0ZGMxNDczMzAyYjAzZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcApAQCAtMTI3LDMwICsxMjcsNiBAQCBzdGF0aWMg
dW5zaWduZWQgdmFsaWRhdGVBdG9taWNBY2Nlc3MoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0FycgogICAgIHJldHVybiBhY2Nlc3NJbmRleDsKIH0KIAotc3RhdGljIEpT
QXJyYXlCdWZmZXJWaWV3KiB2YWxpZGF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSB0eXBlZEFycmF5VmFsdWUpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
LQotICAgIGlmICghdHlwZWRBcnJheVZhbHVlLmlzQ2VsbCgpKSB7Ci0gICAgICAgIHRocm93VHlw
ZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCBuZWVkcyB0byBiZSBhIHR5cGVk
IGFycmF5LiJfcyk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIEpTQ2Vs
bCogdHlwZWRBcnJheUNlbGwgPSB0eXBlZEFycmF5VmFsdWUuYXNDZWxsKCk7Ci0gICAgaWYgKCFp
c1R5cGVkVmlldyh0eXBlZEFycmF5Q2VsbC0+Y2xhc3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3Jh
Z2VUeXBlKSkgewotICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAi
QXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBhcnJheS4iX3MpOwotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICB9Ci0KLSAgICBKU0FycmF5QnVmZmVyVmlldyogdHlwZWRBcnJheSA9IGpz
Q2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHR5cGVkQXJyYXlDZWxsKTsKLSAgICBpZiAodHlwZWRB
cnJheS0+aXNEZXRhY2hlZCgpKSB7Ci0gICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVj
dCwgc2NvcGUsICJBcmd1bWVudCB0eXBlZCBhcnJheSBpcyBkZXRhY2hlZC4iX3MpOwotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgcmV0dXJuIHR5cGVkQXJyYXk7Ci19Ci0KIGVu
dW0gY2xhc3MgVHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgeyBSZWFkLCBXcml0ZSB9OwogdGVtcGxh
dGU8VHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgbW9kZT4KIGlubGluZSBKU0FycmF5QnVmZmVyVmll
dyogdmFsaWRhdGVJbnRlZ2VyVHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU1ZhbHVlIHR5cGVkQXJyYXlWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0F0b21pY3NPYmplY3QuaAppbmRleCA1YThiZWY5NGY2MTAxOWU1NjZhOGYwNWY0YzM0Nzhk
MmRiOWViZTFlLi4xYTZhZDdkZjJlMGIzNjgyZjQyODk5N2U4MzU2M2IzZjY3YWQ5MmExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCkBAIC02Miw1
ICs2Miw3IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uQXRvbWljc1N0b3Jl
LCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFU
SU9OKG9wZXJhdGlvbkF0b21pY3NTdWIsIEVuY29kZWRKU1ZhbHVlLCAoSlNHbG9iYWxPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSBpbmRleCwgRW5jb2RlZEpTVmFs
dWUgb3BlcmFuZCkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25BdG9taWNz
WG9yLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFz
ZSwgRW5jb2RlZEpTVmFsdWUgaW5kZXgsIEVuY29kZWRKU1ZhbHVlIG9wZXJhbmQpKTsKIAorSlNB
cnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlVHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCosIEpTVmFs
dWUpOworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQmlnSW50NjRBcnJheS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyNmUzYTljNWFhNWQ3YjcyMWE3YTQx
ZDQ3YTU5MGUxNmI3MzllODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdJbnQ2NEFycmF5OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnVWludDY0QXJyYXkuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUz
YzlhZmMyZWI5ZmU5NmJjZGMxYzIzMTBjNGFiZWNiOTY4MGQzNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKQEAgLTAsMCAr
MSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdV
aW50NjRBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlCdWZmZXJWaWV3LmNwcAppbmRleCAyZjA2ZTYyYTY2ZmU2NDhjMjEyN2NkNzBiOTk0Y2I3Y2Zj
M2M3MWNmLi4xZWFlMGQyY2RmOTJhYzVjOGRhZDI2YjQ2MGI2NWRlNTIzMTEzZTY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3Bw
CkBAIC0yNDMsNyArMjQzLDcgQEAgRk9SX0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdf
REFUQV9WSUVXKEZBQ1RPUlkpCiBzdGF0aWMgaW5saW5lIHNpemVfdCBlbGVtZW50U2l6ZShKU1R5
cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSA+PSBJbnQ4QXJyYXlUeXBlICYmIHR5cGUgPD0g
RGF0YVZpZXdUeXBlKTsKLSAgICBzdGF0aWNfYXNzZXJ0KEZsb2F0NjRBcnJheVR5cGUgKyAxID09
IERhdGFWaWV3VHlwZSk7CisgICAgc3RhdGljX2Fzc2VydChCaWdVaW50NjRBcnJheVR5cGUgKyAx
ID09IERhdGFWaWV3VHlwZSk7CiAgICAgcmV0dXJuIEVsZW1lbnRTaXplRGF0YVt0eXBlIC0gSW50
OEFycmF5VHlwZV07CiB9CiAKQEAgLTM0MCw2ICszNDAsMzAgQEAgUmVmUHRyPEFycmF5QnVmZmVy
Vmlldz4gSlNBcnJheUJ1ZmZlclZpZXc6OnBvc3NpYmx5U2hhcmVkSW1wbCgpCiAgICAgfQogfQog
CitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgdHlwZWRBcnJheVZhbHVlKQoreworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisKKyAgICBpZiAoIXR5cGVkQXJyYXlWYWx1ZS5pc0NlbGwoKSkgeworICAgICAgICB0aHJv
d1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0
eXBlZCBhcnJheS4iX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBK
U0NlbGwqIHR5cGVkQXJyYXlDZWxsID0gdHlwZWRBcnJheVZhbHVlLmFzQ2VsbCgpOworICAgIGlm
ICghaXNUeXBlZFZpZXcodHlwZWRBcnJheUNlbGwtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlT
dG9yYWdlVHlwZSkpIHsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSwgIkFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdHlwZWQgYXJyYXkuIl9zKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgSlNBcnJheUJ1ZmZlclZpZXcqIHR5cGVkQXJyYXkg
PSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih0eXBlZEFycmF5Q2VsbCk7CisgICAgaWYgKHR5
cGVkQXJyYXktPmlzRGV0YWNoZWQoKSkgeworICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxP
YmplY3QsIHNjb3BlLCAiQXJndW1lbnQgdHlwZWQgYXJyYXkgaXMgZGV0YWNoZWQuIl9zKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiB0eXBlZEFycmF5OworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaAppbmRleCBkNjg0ODcwZTc3
Zjg2NWY4OTE4ODhlNWQ5ZTMxNzFmMTQ5ZWJkNDU1Li5mNjEzNDU4ZDFmYjIzYTJmMDkyODBiNzI2
MDQ5YTRiNThmMGIwNmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTIyNCw2ICsyMjQsOCBAQCBjbGFzcyBKU0FycmF5QnVm
ZmVyVmlldyA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBUeXBlZEFycmF5TW9kZSBt
X21vZGU7CiB9OwogCitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2Ug
V1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4IDJjNDE2
Yzg3Mzg2YjgyNjI2NTE3NTU1YTkzMDQzNTk5MDNhOTU3Y2UuLjBjNDZmN2IzYjVjNDc1NTc5OWEy
M2JmOTdiNTRmODI1MDM1YzZhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
aWdJbnQuaApAQCAtMTAyLDYgKzEwMiwxNSBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1Ymxp
YyBKU0NlbGwgewogICAgICAgICByZXR1cm4gSlNCaWdJbnQ6OmNyZWF0ZUZyb20oZ2xvYmFsT2Jq
ZWN0LCB2YWx1ZSk7CiAgICAgfQogCisgICAgc3RhdGljIEpTVmFsdWUgbWFrZUhlYXBCaWdJbnRP
ckJpZ0ludDMyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVpbnQ2NF90IHZhbHVlKQor
ICAgIHsKKyNpZiBVU0UoQklHSU5UMzIpCisgICAgICAgIGlmICh2YWx1ZSA8PSBJTlRfTUFYKQor
ICAgICAgICAgICAgcmV0dXJuIGpzQmlnSW50MzIoc3RhdGljX2Nhc3Q8aW50MzJfdD4odmFsdWUp
KTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gSlNCaWdJbnQ6OmNyZWF0ZUZyb20oZ2xvYmFsT2Jq
ZWN0LCB2YWx1ZSk7CisgICAgfQorCiAgICAgc3RhdGljIEpTVmFsdWUgbWFrZUhlYXBCaWdJbnRP
ckJpZ0ludDMyKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGRvdWJsZSB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChpc0ludGVnZXIodmFsdWUpKTsKQEAgLTQzMCw3ICs0MzksNyBA
QCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4g
dG9CaWdVSW50NjRIZWFwKGJpZ0ludC5hc0hlYXBCaWdJbnQoKSk7CiAgICAgfQogCi0gICAgc3Rh
dGljIHVpbnQ2NF90IHRvQmlnSW50NjQoSlNWYWx1ZSBiaWdJbnQpCisgICAgc3RhdGljIGludDY0
X3QgdG9CaWdJbnQ2NChKU1ZhbHVlIGJpZ0ludCkKICAgICB7CiAgICAgICAgIEFTU0VSVChiaWdJ
bnQuaXNCaWdJbnQoKSk7CiAjaWYgVVNFKEJJR0lOVDMyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NlbGwuaAppbmRleCBhNjBiYzAzNmYyODIzMDBiOTZkM2FlZDcwMmQ0Y2Y1NWM4OTg0
ZDU1Li40OGY2NTgxMjRmNWE3NTk1YWM1MzBjZDJhZTkwYzVmODY0OGU0OTRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjMzLDcgKzIzMyw3IEBAIGNsYXNzIEpT
Q2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7CiAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0Yo
SlNDZWxsLCBtX2NlbGxTdGF0ZSk7CiAgICAgfQogICAgIAotICAgIHN0YXRpYyBjb25zdCBUeXBl
ZEFycmF5VHlwZSBUeXBlZEFycmF5U3RvcmFnZVR5cGUgPSBOb3RUeXBlZEFycmF5OworICAgIHN0
YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gTm90
VHlwZWRBcnJheTsKIAogICAgIHZvaWQgc2V0UGVyQ2VsbEJpdChib29sKTsKICAgICBib29sIHBl
ckNlbGxCaXQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRGF0YVZpZXcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZp
ZXcuaAppbmRleCA1ZGFhNjI2M2E5NTA3OWY3MzFkOTU4YWMyMzFkMDg1MDlmZTZmYzk1Li4yYzc4
NWU0NzYxMWE5ZTNmMjI4ZGUyOGI4YWU2MDhiNWU3NmMyZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlldy5oCkBAIC0zNyw2ICszNyw4IEBAIGNsYXNzIEpTRGF0
YVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogCiAgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBlbGVtZW50U2l6ZSA9IDE7CiAKKyAgICBzdGF0aWMgY29uc3RleHBy
IFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IFR5cGVkQXJyYXlDb250ZW50VHlw
ZTo6Tm9uZTsKKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2Vz
cyBtb2RlPgogICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQogICAg
IHsKQEAgLTY0LDcgKzY2LDcgQEAgY2xhc3MgSlNEYXRhVmlldyBmaW5hbCA6IHB1YmxpYyBKU0Fy
cmF5QnVmZmVyVmlldyB7CiAgICAgUmVmUHRyPERhdGFWaWV3PiBwb3NzaWJseVNoYXJlZFR5cGVk
SW1wbCgpOwogICAgIFJlZlB0cjxEYXRhVmlldz4gdW5zaGFyZWRUeXBlZEltcGwoKTsKICAgICAK
LSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0g
VHlwZURhdGFWaWV3OworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgVHlwZWRB
cnJheVN0b3JhZ2VUeXBlID0gVHlwZURhdGFWaWV3OwogCiAgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFW
aWV3UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZp
ZXdQcm90b3R5cGUuY3BwCmluZGV4IGY3MzRmNTZiODdiNzJlZGNhYTI5ZTc5Mzg1MDJiMDAwNjZj
NTNkMzguLmM3M2E4NjdlM2U2MDYxNjQ5NmNhMWU3OWViNWFiOGNhNmVmMjFiNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUu
Y3BwCkBAIC00NSw2ICs0NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICBnZXRVaW50MzIgICAgICAg
ICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRVaW50MzIgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0
aW9uICAgICAgIDEgIERhdGFWaWV3R2V0VWludDMyCiAgIGdldEZsb2F0MzIgICAgICAgICAgICBk
YXRhVmlld1Byb3RvRnVuY0dldEZsb2F0MzIgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAg
ICAgMSAgRGF0YVZpZXdHZXRGbG9hdDMyCiAgIGdldEZsb2F0NjQgICAgICAgICAgICBkYXRhVmll
d1Byb3RvRnVuY0dldEZsb2F0NjQgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMSAg
RGF0YVZpZXdHZXRGbG9hdDY0CisgIGdldEJpZ0ludDY0ICAgICAgICAgICBkYXRhVmlld1Byb3Rv
RnVuY0dldEJpZ0ludDY0ICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMQorICBnZXRC
aWdVaW50NjQgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdVaW50NjQgICAgICAgIERv
bnRFbnVtfEZ1bmN0aW9uICAgICAgIDEKICAgc2V0SW50OCAgICAgICAgICAgICAgIGRhdGFWaWV3
UHJvdG9GdW5jU2V0SW50OCAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBE
YXRhVmlld1NldEludDgKICAgc2V0VWludDggICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5j
U2V0VWludDggICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1Nl
dFVpbnQ4CiAgIHNldEludDE2ICAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldEludDE2
ICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRJbnQxNgpA
QCAtNTMsNiArNTUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgc2V0VWludDMyICAgICAgICAgICAg
IGRhdGFWaWV3UHJvdG9GdW5jU2V0VWludDMyICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAg
ICAgICAyICBEYXRhVmlld1NldFVpbnQzMgogICBzZXRGbG9hdDMyICAgICAgICAgICAgZGF0YVZp
ZXdQcm90b0Z1bmNTZXRGbG9hdDMyICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIg
IERhdGFWaWV3U2V0RmxvYXQzMgogICBzZXRGbG9hdDY0ICAgICAgICAgICAgZGF0YVZpZXdQcm90
b0Z1bmNTZXRGbG9hdDY0ICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIgIERhdGFW
aWV3U2V0RmxvYXQ2NAorICBzZXRCaWdJbnQ2NCAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNT
ZXRCaWdJbnQ2NCAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIKKyAgc2V0QmlnVWlu
dDY0ICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0QmlnVWludDY0ICAgICAgICBEb250RW51
bXxGdW5jdGlvbiAgICAgICAyCiAgIGJ1ZmZlciAgICAgICAgICAgICAgICBkYXRhVmlld1Byb3Rv
R2V0dGVyQnVmZmVyICAgICAgICAgICAgRG9udEVudW18QWNjZXNzb3IgICAgICAgMAogICBieXRl
TGVuZ3RoICAgICAgICAgICAgZGF0YVZpZXdQcm90b0dldHRlckJ5dGVMZW5ndGggICAgICAgIERv
bnRFbnVtfEFjY2Vzc29yICAgICAgIDAKICAgYnl0ZU9mZnNldCAgICAgICAgICAgIGRhdGFWaWV3
UHJvdG9HZXR0ZXJCeXRlT2Zmc2V0ICAgICAgICBEb250RW51bXxBY2Nlc3NvciAgICAgICAwCkBA
IC02Nyw2ICs3MSw4IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3
UHJvdG9GdW5jR2V0VWludDE2KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRh
dGFWaWV3UHJvdG9GdW5jR2V0VWludDMyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0RmxvYXQzMik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0NjQpOworc3RhdGljIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCk7CitzdGF0aWMg
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEJpZ1VpbnQ2NCk7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldElu
dDgpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNT
ZXRJbnQxNik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY1NldEludDMyKTsKQEAgLTc1LDYgKzgxLDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1Rf
RlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRVaW50MTYpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRVaW50MzIpOwogc3RhdGljIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9hdDMyKTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCk7
CitzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJp
Z0ludDY0KTsKK3N0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9G
dW5jU2V0QmlnVWludDY0KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFW
aWV3UHJvdG9HZXR0ZXJCdWZmZXIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04o
ZGF0YVZpZXdQcm90b0dldHRlckJ5dGVMZW5ndGgpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1Rf
RlVOQ1RJT04oZGF0YVZpZXdQcm90b0dldHRlckJ5dGVPZmZzZXQpOwpAQCAtMTYxLDcgKzE2OSw3
IEBAIEVuY29kZWRKU1ZhbHVlIGdldERhdGEoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgICAgICAgICB1LnJhd0J5dGVzW2ldID0gKmRhdGFQ
dHIrKzsKICAgICB9CiAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEFkYXB0b3I6OnRvSlNW
YWx1ZSh1LnZhbHVlKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjpl
bmNvZGUoQWRhcHRvcjo6dG9KU1ZhbHVlKGdsb2JhbE9iamVjdCwgdS52YWx1ZSkpKTsKIH0KIAog
dGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KQEAgLTI5NSw2ICszMDMsMTYgQEAgSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0RmxvYXQ2NCwgKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmoKICAgICByZXR1cm4gZ2V0RGF0YTxGbG9hdDY0QWRhcHRvcj4oZ2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUpOwogfQogCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZp
ZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICByZXR1cm4gZ2V0RGF0YTxCaWdJbnQ2NEFkYXB0
b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKworSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0QmlnVWludDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBnZXREYXRhPEJp
Z1VpbnQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKwogSlNDX0RFRklO
RV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0SW50OCwgKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICByZXR1cm4gc2V0
RGF0YTxJbnQ4QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOwpAQCAtMzM0LDYgKzM1
MiwxNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9h
dDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iagogewogICAgIHJldHVybiBzZXREYXRhPEZs
b2F0NjRBZGFwdG9yPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7CiB9CisKK0pTQ19ERUZJTkVf
SE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJpZ0ludDY0LCAoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBz
ZXREYXRhPEJpZ0ludDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOworfQorCitK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdVaW50NjQsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7Cisg
ICAgcmV0dXJuIHNldERhdGE8QmlnVWludDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUpOworfQogSUdOT1JFX0NMQU5HX1dBUk5JTkdTX0VORAogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBl
ZEFycmF5Vmlldy5oCmluZGV4IDc0Zjg5YWE4YTRkYzk0ZGZjNGU0N2RlZWU4MDBlMjMzMzM1ZmNh
YWMuLjM0MWEyNGM5MTk1ZDQ5ZTBjNDdjNTMzY2JhYjJiMDZmZGFjM2M1MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXcuaApAQCAtNDAsNiArNDAsOCBAQCBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8q
IGdldFVpbnQxNkFycmF5Q2xhc3NJbmZvKCk7CiBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFz
c0luZm8qIGdldFVpbnQzMkFycmF5Q2xhc3NJbmZvKCk7CiBKU19FWFBPUlRfUFJJVkFURSBjb25z
dCBDbGFzc0luZm8qIGdldEZsb2F0MzJBcnJheUNsYXNzSW5mbygpOwogSlNfRVhQT1JUX1BSSVZB
VEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRGbG9hdDY0QXJyYXlDbGFzc0luZm8oKTsKK0pTX0VYUE9S
VF9QUklWQVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOwor
SlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRCaWdVaW50NjRBcnJheUNsYXNz
SW5mbygpOwogCiAvLyBBIHR5cGVkIGFycmF5IHZpZXcgaXMgb3VyIHJlcHJlc2VudGF0aW9uIG9m
IGEgdHlwZWQgYXJyYXkgb2JqZWN0IGFzIHNlZW4KIC8vIGZyb20gSmF2YVNjcmlwdC4gRm9yIGV4
YW1wbGU6CkBAIC05MCwxMSArOTIsMTMgQEAgZW51bSBjbGFzcyBDb3B5VHlwZSB7CiAKIGV4dGVy
biBjb25zdCBBU0NJSUxpdGVyYWwgdHlwZWRBcnJheUJ1ZmZlckhhc0JlZW5EZXRhY2hlZEVycm9y
TWVzc2FnZTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KK3RlbXBsYXRlPHR5cGVuYW1l
IFBhc3NlZEFkYXB0b3I+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1
YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTQXJy
YXlCdWZmZXJWaWV3OwotICAgIHR5cGVkZWYgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSBFbGVtZW50
VHlwZTsKKyAgICB1c2luZyBBZGFwdG9yID0gUGFzc2VkQWRhcHRvcjsKKyAgICB1c2luZyBFbGVt
ZW50VHlwZSA9IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBU
eXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5cGUgPSBBZGFwdG9yOjpjb250ZW50VHlwZTsK
IAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5TmFtZXMgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2
ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvOwogCkBAIC0xMTksMTUgKzEyMywyMCBAQCBjbGFzcyBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAg
ICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8dHlwZW5hbWUgQWRhcHRvcjo6VHlwZSo+KHZlY3Rv
cigpKTsKICAgICB9CiAKKyAgICBib29sIGluQm91bmRzKHVuc2lnbmVkIGkpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgIH0KKwogICAgIC8vIFRoZXNlIG1l
dGhvZHMgYXJlIG1lYW50IHRvIG1hdGNoIGluZGV4ZWQgYWNjZXNzIG1ldGhvZHMgdGhhdCBKU09i
amVjdAogICAgIC8vIHN1cHBvcnRzIC0gaGVuY2UgdGhlIHNsaWdodCByZWR1bmRhbmN5LgogICAg
IGJvb2wgY2FuR2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAg
ICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgICAgICByZXR1cm4gaW5Cb3VuZHMoaSkgJiYgQWRh
cHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICBib29sIGNhblNldEluZGV4
UXVpY2tseSh1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlKSBjb25zdAogICAgIHsKLSAgICAgICAg
cmV0dXJuIGkgPCBtX2xlbmd0aCAmJiB2YWx1ZS5pc051bWJlcigpOworICAgICAgICByZXR1cm4g
aSA8IG1fbGVuZ3RoICYmIHZhbHVlLmlzTnVtYmVyKCkgJiYgQWRhcHRvcjo6Y2FuQ29udmVydFRv
SlNRdWlja2x5OwogICAgIH0KICAgICAKICAgICB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIGdldElu
ZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUodW5zaWduZWQgaSkgY29uc3QKQEAgLTEzNiwxNCArMTQ1
LDkgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJh
eUJ1ZmZlclZpZXcgewogICAgICAgICByZXR1cm4gdHlwZWRWZWN0b3IoKVtpXTsKICAgICB9CiAg
ICAgCi0gICAgZG91YmxlIGdldEluZGV4UXVpY2tseUFzRG91YmxlKHVuc2lnbmVkIGkpCi0gICAg
ewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9Eb3VibGUoZ2V0SW5kZXhRdWlja2x5QXNOYXRp
dmVWYWx1ZShpKSk7Ci0gICAgfQotICAgIAogICAgIEpTVmFsdWUgZ2V0SW5kZXhRdWlja2x5KHVu
c2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9KU1ZhbHVl
KGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOworICAgICAgICByZXR1cm4gQWRhcHRv
cjo6dG9KU1ZhbHVlKG51bGxwdHIsIGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOwog
ICAgIH0KICAgICAKICAgICB2b2lkIHNldEluZGV4UXVpY2tseVRvTmF0aXZlVmFsdWUodW5zaWdu
ZWQgaSwgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB2YWx1ZSkKQEAgLTE1MiwxMSArMTU2LDYgQEAg
Y2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZl
clZpZXcgewogICAgICAgICB0eXBlZFZlY3RvcigpW2ldID0gdmFsdWU7CiAgICAgfQogICAgIAot
ICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5VG9Eb3VibGUodW5zaWduZWQgaSwgZG91YmxlIHZhbHVl
KQotICAgIHsKLSAgICAgICAgc2V0SW5kZXhRdWlja2x5VG9OYXRpdmVWYWx1ZShpLCB0b05hdGl2
ZUZyb21WYWx1ZTxBZGFwdG9yPihqc051bWJlcih2YWx1ZSkpKTsKLSAgICB9Ci0gICAgCiAgICAg
dm9pZCBzZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAg
ICAgICAgIEFTU0VSVCghdmFsdWUuaXNPYmplY3QoKSk7CkBAIC0yNDcsNiArMjQ2LDEwIEBAIGNs
YXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlCdWZmZXJW
aWV3IHsKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDMyQXJyYXlDbGFzc0luZm8oKTsKICAg
ICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDY0QXJy
YXlDbGFzc0luZm8oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICBy
ZXR1cm4gZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOworICAgICAgICBjYXNlIFR5cGVCaWdV
aW50NjQ6CisgICAgICAgICAgICByZXR1cm4gZ2V0QmlnVWludDY0QXJyYXlDbGFzc0luZm8oKTsK
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI3NSw2ICsyNzgsMTAgQEAgY2xh
c3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZp
ZXcgewogICAgICAgICAgICAgcmV0dXJuIHZtLmZsb2F0MzJBcnJheVNwYWNlPG1vZGU+KCk7CiAg
ICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1cm4gdm0uZmxvYXQ2NEFy
cmF5U3BhY2U8bW9kZT4oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAg
ICByZXR1cm4gdm0uYmlnSW50NjRBcnJheVNwYWNlPG1vZGU+KCk7CisgICAgICAgIGNhc2UgVHlw
ZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiB2bS5iaWdVaW50NjRBcnJheVNwYWNlPG1v
ZGU+KCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yODMsNyArMjkwLDcg
QEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1
ZmZlclZpZXcgewogICAgIAogICAgIEFycmF5QnVmZmVyKiBleGlzdGluZ0J1ZmZlcigpOwogCi0g
ICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFk
YXB0b3I6OnR5cGVWYWx1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIFR5
cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsKIAogICAgIC8vIFRoaXMg
aXMgdGhlIGRlZmF1bHQgRE9NIHVud3JhcHBpbmcuIEl0IGNhbGxzIHRvVW5zaGFyZWROYXRpdmVU
eXBlZFZpZXcoKS4KICAgICBzdGF0aWMgUmVmUHRyPHR5cGVuYW1lIEFkYXB0b3I6OlZpZXdUeXBl
PiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0
b3IuaAppbmRleCA1ZjQ1YTYxZTNlMjBlYmE0ZjZkNTY4YTVhNTUzMDhhZGEyZGMyYWVjLi42OTIy
NWU1MGUxNGM1NGU5YmJhN2Y0ZGE2MjM0NTY4NzcwNDQzYmJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw4IEBAIEpTX0VYUE9SVF9QUklWQVRFIEpT
Q19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQxNkFycmF5KTsKIEpTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQzMkFycmF5KTsKIEpTX0VYUE9S
VF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbEZsb2F0MzJBcnJheSk7CiBK
U19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNhbGxGbG9hdDY0QXJy
YXkpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjYWxsQmln
SW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGNhbGxCaWdVaW50NjRBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGNhbGxEYXRhVmlldyk7CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oY29uc3RydWN0SW50OEFycmF5KTsKQEAgLTQ5LDYgKzUxLDggQEAgSlNf
RVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RVaW50MTZB
cnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNvbnN0
cnVjdFVpbnQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oY29uc3RydWN0RmxvYXQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RmxvYXQ2NEFycmF5KTsKK0pTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0QmlnSW50NjRBcnJheSk7CitK
U19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEJpZ1Vp
bnQ2NEFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04o
Y29uc3RydWN0RGF0YVZpZXcpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaWV3Q2xhc3M+CkBAIC04
Nyw2ICs5MSwxMCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZp
bmFsIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgICAgICAgICAgcmV0dXJuIGNhbGxG
bG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1
cm4gY2FsbEZsb2F0NjRBcnJheTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAg
ICAgICByZXR1cm4gY2FsbEJpZ0ludDY0QXJyYXk7CisgICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2
NDoKKyAgICAgICAgICAgIHJldHVybiBjYWxsQmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2Ug
VHlwZURhdGFWaWV3OgogICAgICAgICAgICAgcmV0dXJuIGNhbGxEYXRhVmlldzsKICAgICAgICAg
ZGVmYXVsdDoKQEAgLTExNiw2ICsxMjQsMTAgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAgICAg
ICAgIHJldHVybiBjb25zdHJ1Y3RGbG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0
NjQ6CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0RmxvYXQ2NEFycmF5OworICAgICAgICBj
YXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RCaWdJbnQ2NEFy
cmF5OworICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICByZXR1cm4gY29u
c3RydWN0QmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAg
ICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGFWaWV3OwogICAgICAgICBkZWZhdWx0OgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3RvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKaW5kZXggYTA5ZTMyYTZm
ZWZmZDJkODE2YWRmMGZjYTA5MzliODI1NzZiMWE2NC4uNzg2NTUyYTJiODYwOTcyYjZkZmM3NzUy
Y2IxMDgxNWYzNzcyYWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9ySW5saW5lcy5oCkBAIC0xOTMsNiArMTkzLDExIEBAIGlubGluZSBKU09iamVjdCogY29uc3Ry
dWN0R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyhKU0dsb2JhbE9iamVjdCogZ2xv
CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICB9CiAKKyAgICAg
ICAgICAgIGlmIChjb250ZW50VHlwZShvYmplY3QtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlT
dG9yYWdlVHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkgeworICAgICAgICAgICAgICAg
IHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNv
dXJjZSBhbmQgbmV3IHR5cGVkIGFycmF5IGFyZSBkaWZmZXJlbnQiX3MpOworICAgICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBsZW5ndGgg
PSB2aWV3LT5sZW5ndGgoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFRoaXMg
Z2V0UHJvcGVydHlTbG90IG9wZXJhdGlvbiBzaG91bGQgbm90IGJlIG9ic2VydmVkIGJ5IHRoZSBQ
cm94eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKaW5kZXggM2NkYTYzN2VlZjc3ZWFmODk1
NjFmNzYwZmQ2NmIwZjMxODI3NzYyYS4uNmEyMTVlNWQxNzEzZGNlZTY3Mzk0YjM0YTRhZjA1N2E5
MmRkZDBjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKQEAgLTE2Miw2ICsxNjIsOSBA
QCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXRXaXRoU3BlY2lmaWNU
eXBlKAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2lnbmVkIG9mZnNldCwg
SlNHZW5lcmljVHlwZWRBcnJheVZpZXc8T3RoZXJBZGFwdG9yPiogb3RoZXIsCiAgICAgdW5zaWdu
ZWQgb3RoZXJPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCwgQ29weVR5cGUgdHlwZSkKIHsKKyAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworCiAgICAgLy8gSGFuZGxlIHRoZSBoaWxhcmlvdXMgY2FzZTogdGhlIGFj
dCBvZiBnZXR0aW5nIHRoZSBsZW5ndGggY291bGQgaGF2ZSByZXN1bHRlZAogICAgIC8vIGluIGRl
dGFjaGluZy4gV2VsbCwgbm8uIFRoYXQnbGwgbmV2ZXIgaGFwcGVuIGJlY2F1c2UgdGhlcmUgY2Fu
bm90IGJlCiAgICAgLy8gc2lkZS1lZmZlY3RzIG9uIGdldHRpbmcgdGhlIGxlbmd0aCBvZiBhIHR5
cGVkIGFycmF5LiBCdXQgcHJlZGljdGluZyB3aGVyZSB0aGVyZQpAQCAtMTcxLDggKzE3NCwxNSBA
QCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXRXaXRoU3BlY2lmaWNU
eXBlKAogICAgIGxlbmd0aCA9IHN0ZDo6bWluKGxlbmd0aCwgb3RoZXItPmxlbmd0aCgpKTsKIAog
ICAgIFJFTEVBU0VfQVNTRVJUKG90aGVyLT5jYW5BY2Nlc3NSYW5nZVF1aWNrbHkob3RoZXJPZmZz
ZXQsIGxlbmd0aCkpOwotICAgIGlmICghdmFsaWRhdGVSYW5nZShnbG9iYWxPYmplY3QsIG9mZnNl
dCwgbGVuZ3RoKSkKKyAgICBib29sIHN1Y2Nlc3MgPSB2YWxpZGF0ZVJhbmdlKGdsb2JhbE9iamVj
dCwgb2Zmc2V0LCBsZW5ndGgpOworICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlv
bigpID09IHN1Y2Nlc3MpOworICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgY29uc3RleHByIChBZGFwdG9yOjpjb250ZW50VHlwZSAhPSBPdGhlckFkYXB0
b3I6OmNvbnRlbnRUeXBlKSB7CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwg
c2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdHlwZWQgYXJy
YXlzIGFyZSBkaWZmZXJlbnQiX3MpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAg
IAogICAgIC8vIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBjb3B5aW5nIGJldHdlZW4gdGhl
IHNhbWUgYXJyYXkuIE5vdGUgdGhhdAogICAgIC8vIHNldCgpIHdpbGwgb25seSBjYWxsIHRoaXMg
aWYgdGhlIHR5cGVzIGRpZmZlciwgd2hpY2ggaW1wbGljaXRseSBndWFyYW50ZWVzCkBAIC0yODks
NiArMjk5LDEyIEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OnNldCgK
ICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUs
IHNldFdpdGhTcGVjaWZpY1R5cGU8RmxvYXQ2NEFkYXB0b3I+KAogICAgICAgICAgICAgZ2xvYmFs
T2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0Zsb2F0NjRBcnJheSo+KG9iamVjdCksIG9iamVjdE9m
ZnNldCwgbGVuZ3RoLCB0eXBlKSk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIFJF
TEVBU0VfQU5EX1JFVFVSTihzY29wZSwgc2V0V2l0aFNwZWNpZmljVHlwZTxCaWdJbnQ2NEFkYXB0
b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ0ludDY0
QXJyYXkqPihvYmplY3QpLCBvYmplY3RPZmZzZXQsIGxlbmd0aCwgdHlwZSkpOworICAgIGNhc2Ug
VHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBzZXRXaXRo
U3BlY2lmaWNUeXBlPEJpZ1VpbnQ2NEFkYXB0b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0
LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ1VpbnQ2NEFycmF5Kj4ob2JqZWN0KSwgb2JqZWN0T2Zmc2V0
LCBsZW5ndGgsIHR5cGUpKTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBl
RGF0YVZpZXc6IHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gdmFsaWRhdGVSYW5nZShnbG9iYWxP
YmplY3QsIG9mZnNldCwgbGVuZ3RoKTsKQEAgLTQzMywxNCArNDQ5LDI0IEBAIGJvb2wgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmRlbGV0ZVByb3BlcnR5KAogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBBZGFwdG9yPgogYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6
Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCgKLSAgICBKU09iamVjdCogb2JqZWN0LCBKU0dsb2Jh
bE9iamVjdCosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorICAg
IEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogeworICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7
CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNHZW5l
cmljVHlwZWRBcnJheVZpZXcqPihvYmplY3QpOwogCi0gICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0
YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+Y2FuR2V0SW5kZXhRdWlja2x5KHByb3BlcnR5TmFtZSkp
CisgICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+aW5Cb3Vu
ZHMocHJvcGVydHlOYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2xvdC5zZXRW
YWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
Ok5vbmUpLCB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJvcGVydHlOYW1lKSk7CisgICAg
SlNWYWx1ZSB2YWx1ZTsKKyAgICBpZiBjb25zdGV4cHIgKEFkYXB0b3I6OmNhbkNvbnZlcnRUb0pT
UXVpY2tseSkKKyAgICAgICAgdmFsdWUgPSB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJv
cGVydHlOYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHRoaXNP
YmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUocHJvcGVydHlOYW1lKTsKKyAgICAg
ICAgdmFsdWUgPSBBZGFwdG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7
CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICB9CisgICAg
c2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlB
dHRyaWJ1dGU6Ok5vbmUpLCB2YWx1ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
UHJvdG90eXBlRnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dl
bmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCmluZGV4IDJlMGE3ODIwMTc3
Yzg0NmRiNDc3MjQwYjE2NjU5NTkzYjQwNGI5MWUuLjhjOTQxMjkzOTdlOGFiYTQxNDA3MmViN2E5
YjAwOGFlYzQ2MjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVG
dW5jdGlvbnMuaApAQCAtMjcyLDExICsyNzIsMTkgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNW
YWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKFZNJiB2bSwgSlNHbG9iYWwK
ICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqZWN0LT5sZW5ndGgoKTsKICAgICBhdXRvIGpv
aW5XaXRoU2VwYXJhdG9yID0gWyZdIChTdHJpbmdWaWV3IHNlcGFyYXRvcikgLT4gRW5jb2RlZEpT
VmFsdWUgewogICAgICAgICBKU1N0cmluZ0pvaW5lciBqb2luZXIoZ2xvYmFsT2JqZWN0LCBzZXBh
cmF0b3IsIGxlbmd0aCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwog
ICAgICAgICBpZiAoIXRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSkgewogICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgam9p
bmVyLmFwcGVuZChnbG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShpKSk7
Ci0gICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFs
dWUoKSk7CisgICAgICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKKyAgICAgICAgICAgICAgICBp
ZiBjb25zdGV4cHIgKFZpZXdDbGFzczo6QWRhcHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5KQor
ICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShp
KTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBuYXRp
dmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSk7Cisg
ICAgICAgICAgICAgICAgICAgIHZhbHVlID0gVmlld0NsYXNzOjpBZGFwdG9yOjp0b0pTVmFsdWUo
Z2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGpvaW5lci5hcHBlbmQoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkr
KykKQEAgLTI5MiwxMCArMzAwLDEwIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgZ2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9pbihWTSYgdm0sIEpTR2xvYmFsCiAgICAgfQog
CiAgICAgSlNTdHJpbmcqIHNlcGFyYXRvclN0cmluZyA9IHNlcGFyYXRvclZhbHVlLnRvU3RyaW5n
KGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpT
VmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgIGF1
dG8gdmlld1dpdGhTdHJpbmcgPSBzZXBhcmF0b3JTdHJpbmctPnZpZXdXaXRoVW5kZXJseWluZ1N0
cmluZyhnbG9iYWxPYmplY3QpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAg
cmV0dXJuIGpvaW5XaXRoU2VwYXJhdG9yKHZpZXdXaXRoU3RyaW5nLnZpZXcpOwogfQogCkBAIC00
NTQsNiArNDYyLDExIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgZ2VuZXJpY1R5cGVk
QXJyYXlWaWV3UHJvdG9GdW5jU2xpY2UoVk0mIHZtLCBKU0dsb2JhCiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgQVNTRVJUKCFyZXN1bHQtPmlz
RGV0YWNoZWQoKSk7CiAKKyAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jdHlwZWRhcnJh
eS1zcGVjaWVzLWNyZWF0ZQorICAgIC8vIElmIHJlc3VsdC5bW0NvbnRlbnRUeXBlXV0g4omgIGV4
ZW1wbGFyLltbQ29udGVudFR5cGVdXSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAg
IGlmIChjb250ZW50VHlwZShyZXN1bHQtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdl
VHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1U
eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkNvbnRlbnQgdHlwZXMgb2Ygc291cmNlIGFu
ZCBjcmVhdGVkIHR5cGVkIGFycmF5cyBhcmUgZGlmZmVyZW50Il9zKTsKKwogICAgIC8vIFdlIHJl
dHVybiBlYXJseSBoZXJlIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIGEgYmFja2luZyBzdG9yZSBp
ZiBsZW5ndGggaXMgMCBhbmQgbWVtbW92ZSBkb2VzIG5vdCBsaWtlIG51bGxwdHJzCiAgICAgaWYg
KCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKQEAgLTUw
Miw2ICs1MTUsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRB
cnJheVZpZXdQcm90b0Z1bmNTbGljZShWTSYgdm0sIEpTR2xvYmEKICAgICAgICAgc2NvcGUucmVs
ZWFzZSgpOwogICAgICAgICBqc0Nhc3Q8SlNGbG9hdDY0QXJyYXkqPihyZXN1bHQpLT5zZXQoZ2xv
YmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBDb3B5VHlwZTo6TGVmdFRv
UmlnaHQpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgY2Fz
ZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0
PEpTQmlnSW50NjRBcnJheSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmplY3QsIDAsIHRoaXNPYmpl
Y3QsIGJlZ2luLCBsZW5ndGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7CisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAg
ICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0PEpTQmlnVWludDY0QXJyYXkqPihy
ZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBD
b3B5VHlwZTo6TGVmdFRvUmlnaHQpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICB9CkBAIC01NDMsNyArNTY0LDcgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1
ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYKICAg
ICBSZWZQdHI8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyID0gdGhpc09iamVjdC0+cG9zc2libHlT
aGFyZWRCdWZmZXIoKTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVmZmVyKSkgewogICAgICAg
ICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSk7Ci0gICAgICAgIHJl
dHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICBS
RUxFQVNFX0FTU0VSVCh0aGlzTGVuZ3RoID09IHRoaXNPYmplY3QtPmxlbmd0aCgpKTsKIApAQCAt
NTY3LDEzICs1ODgsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlw
ZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYKICAgICBBU1NFUlQoIWFy
Z3MuaGFzT3ZlcmZsb3dlZCgpKTsKIAogICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3Qo
Z2xvYmFsT2JqZWN0LCBzcGVjaWVzLCBhcmdzLCAic3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciIpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwor
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHZtLCByZXN1bHQpKQotICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgSlNBcnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlZCA9
IHZhbGlkYXRlVHlwZWRBcnJheShnbG9iYWxPYmplY3QsIHJlc3VsdCk7CisgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICBpZiAoY29udGVudFR5cGUodmFsaWRhdGVkLT5j
bGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpICE9IFZpZXdDbGFzczo6Y29udGVu
dFR5cGUpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2Nv
cGUsICJUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheSBjb25zdHJ1Y3RlZCB0eXBlZCBhcnJh
eSBvZiBkaWZmZXJlbnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8Il9zKTsKIAotICAgIHRocm93
VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJzcGVjaWVzIGNvbnN0cnVjdG9yIGRpZCBu
b3QgcmV0dXJuIGEgVHlwZWRBcnJheSBWaWV3Il9zKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh2YWxpZGF0ZWQpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA4NWM3NjNjNTRlMDI5ZDE1ZDlmZDQ5YmI4ZjJh
ZTJiN2RkYjBhOTRkLi43NTBhZDUxZWRkNmM5OTg5Nzg0YWUwZDQyNWExMmM1OGJkOWMyOTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CkBAIC00NTcsNiArNDU3LDggQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNHbG9i
YWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7CiAgIFVpbnQzMkFycmF5ICAg
ICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5VWludDMyICAgICAgICAgICBEb250
RW51bXxDbGFzc1N0cnVjdHVyZQogICBGbG9hdDMyQXJyYXkgICAgICAgICAgSlNHbG9iYWxPYmpl
Y3Q6Om1fdHlwZWRBcnJheUZsb2F0MzIgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUK
ICAgRmxvYXQ2NEFycmF5ICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlGbG9h
dDY0ICAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCisgIEJpZ0ludDY0QXJyYXkgICAg
ICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5QmlnSW50NjQgICAgICAgICBEb250RW51
bXxDbGFzc1N0cnVjdHVyZQorICBCaWdVaW50NjRBcnJheSAgICAgICAgSlNHbG9iYWxPYmplY3Q6
Om1fdHlwZWRBcnJheUJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKICAg
RGF0YVZpZXcgICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlEYXRhVmll
dyAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIERhdGUgICAgICAgICAgICAgICAg
ICBKU0dsb2JhbE9iamVjdDo6bV9kYXRlU3RydWN0dXJlICAgICAgICAgICAgICBEb250RW51bXxD
bGFzc1N0cnVjdHVyZQogICBFcnJvciAgICAgICAgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6Om1f
ZXJyb3JTdHJ1Y3R1cmUgICAgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKQEAgLTEy
MDcsMTIgKzEyMDksMTggQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAj
IyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1l
Q29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0eXBlZEFy
cmF5R2V0T3JpZ2luYWxDb25zdHJ1Y3RvcildLmluaXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6
ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3Jl
YXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJp
bmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0dldE9yaWdpbmFsQ29uc3RydWN0b3IpKTsK
ICAgICAgICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheUNvbnRlbnRUeXBlKV0uaW5pdExhdGVyKFtd
IChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CisgICAgICAgICAgICBpbml0LnNl
dChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5p
dC5vd25lciksIDAsIFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jQ29udGVudFR5
cGUpKTsKKyAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheVNvcnQpXS5pbml0TGF0ZXIoW10g
KGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0
KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0
Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTb3J0KSk7CiAg
ICAgICAgIH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KExpbmtUaW1lQ29uc3RhbnQ6OmlzVHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0
IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVu
Y3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVy
KSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVkQXJyYXlWaWV3
LCBJc1R5cGVkQXJyYXlWaWV3SW50cmluc2ljKSk7CiAgICAgICAgIH0pOworICAgIG1fbGlua1Rp
bWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzQmln
SW50VHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2Vs
bD4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0
LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5
cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc0JpZ0ludFR5cGVkQXJyYXlWaWV3KSk7CisgICAgICAg
IH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtU
aW1lQ29uc3RhbnQ6OmlzU2hhcmVkVHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0
IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVu
Y3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVy
KSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJy
YXlWaWV3KSk7CiAgICAgICAgIH0pOwpAQCAtMTIzNCw2ICsxMjQyLDkgQEAgY2FwaXRhbE5hbWUg
IyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8g
Y2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVk
PihMaW5rVGltZUNvbnN0YW50OjppbnN0YW5jZU9mKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0
aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9u
OjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAs
IFN0cmluZygpLCBvYmplY3RQcml2YXRlRnVuY0luc3RhbmNlT2YpKTsKICAgICAgICAgfSk7Cisg
ICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25z
dGFudDo6dG9CaWdJbnQpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4m
IGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZt
LCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIGdsb2Jh
bEZ1bmNUb0JpZ0ludCkpOworICAgICAgICB9KTsKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0
YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjpCdWlsdGluTG9nKV0uaW5pdExh
dGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBp
bml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0
Kj4oaW5pdC5vd25lciksIDEsIFN0cmluZygpLCBnbG9iYWxGdW5jQnVpbHRpbkxvZykpOwogICAg
ICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAppbmRleCBkNGRmMDMzZTljMzFhNTQ4MzAzY2M5NTNj
YTU5MjlmMWFjZGVmZDJlLi4yYzZkYTk2NGNjZmI4NTYzMzRmYjdjMmM4YTE5NmRlZWQ2OTJhNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC05NjcsNCArOTY3LDkgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKGdsb2JhbEZ1bmNEYXRlVGltZUZvcm1hdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShk
YXRlVGltZUZvcm1hdC0+Zm9ybWF0KGdsb2JhbE9iamVjdCwgdmFsdWUpKSk7CiB9CiAKK0pTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jVG9CaWdJbnQsIChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjYWxsRnJhbWUtPmFyZ3VtZW50KDApLnRvQmlnSW50KGdsb2JhbE9iamVjdCkp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCmluZGV4IDRkZmI3ZWY2ZDZk
ZGYwMTZkMzBkYWRjNjQxZWZiM2I3NWJiZTRlMDUuLmNjOGFmYmM0NmM3MzgyYmQ4MjdiYTVmM2M0
YTk1ZjJlMjdkMmMyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaApAQCAtNTksNiArNTksNyBAQCBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUpOwogSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFibGUpOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jQ29weURhdGFQcm9wZXJ0aWVzKTsKIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY0RhdGVUaW1lRm9ybWF0KTsKK0pTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1RvQmlnSW50KTsKIAogSlNfRVhQT1JUX1BSSVZBVEUg
ZG91YmxlIGpzVG9OdW1iZXIoU3RyaW5nVmlldyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGUuY3BwCmluZGV4IDQ2MmYzZWRlMzI1ZDZkNDY0ZTZkNjNlM2Q1ZDcwZWE4YWVj
YjBlMjQuLmZjYjY5N2MyZDA5ZThiZjc1MzA2ODQ4ZTNiYzE4MDNkMTc3ODUzODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmNwcApAQCAtODQsNiArODQsOCBAQCB2b2lk
IHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5cGUgdHlwZSkKICAgICBD
QVNFKFVpbnQzMkFycmF5VHlwZSkKICAgICBDQVNFKEZsb2F0MzJBcnJheVR5cGUpCiAgICAgQ0FT
RShGbG9hdDY0QXJyYXlUeXBlKQorICAgIENBU0UoQmlnSW50NjRBcnJheVR5cGUpCisgICAgQ0FT
RShCaWdVaW50NjRBcnJheVR5cGUpCiAgICAgQ0FTRShEYXRhVmlld1R5cGUpCiAgICAgQ0FTRShH
ZXR0ZXJTZXR0ZXJUeXBlKQogICAgIENBU0UoR2xvYmFsT2JqZWN0VHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKaW5kZXggMzZiMTc0YzVmNTg0Y2FmZTFkZTIwYjIwNjNm
YmE4YjJkNWZhNmQ5Ny4uMDFhZjkzZTg1MjJmNjI4MTc3OTRmNGI2OWE1ZjM1NGYwMjk3MjM1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAgLTg3LDYgKzg3LDggQEAg
ZW51bSBKU1R5cGUgOiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheVR5cGUsCiAgICAgRmxvYXQz
MkFycmF5VHlwZSwKICAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgIEJpZ0ludDY0QXJyYXlUeXBl
LAorICAgIEJpZ1VpbnQ2NEFycmF5VHlwZSwKICAgICBEYXRhVmlld1R5cGUsCiAgICAgLy8gRW5k
IEpTQXJyYXlCdWZmZXJWaWV3IHR5cGVzLgogCkBAIC0xNDEsNiArMTQzLDcgQEAgc3RhdGljIGNv
bnN0ZXhwciB1aW50MzJfdCBMYXN0T2JqZWN0VHlwZSA9IE1heEpTVHlwZTsKIAogc3RhdGljIGNv
bnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyA9IExhc3RUeXBlZEFycmF5
VHlwZSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyAxOwogc3RhdGljIGNvbnN0ZXhwciB1aW50MzJf
dCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3ID0gTnVtYmVyT2ZUeXBl
ZEFycmF5VHlwZXMgLSAxOworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVk
QXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3ID0gTnVtYmVyT2ZUeXBl
ZEFycmF5VHlwZXMgLSAzOwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihKU1R5cGUpID09IHNpemVv
Zih1aW50OF90KSwgInNpemVvZihKU1R5cGUpIGlzIG9uZSBieXRlLiIpOwogc3RhdGljX2Fzc2Vy
dChMYXN0SlNDT2JqZWN0VHlwZSA8IDBiMTExMDAwMDAsICJFbWJlZGRlciBjYW4gdXNlIDBiMTEx
MDAwMDAgb3IgdXBwZXIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcAppbmRleCA4NGU2NTExMjZmNDI4
ZGNhOGVkZGE0Mzk0NmRkNzBjMWUxNzg0MmVlLi45NWFiZWM1NDA5YTMxZWE3ODMxM2QzYzVmMzlh
ZGI0NTg1YjhmYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAKQEAgLTQzLDYgKzQzLDggQEAgTUFL
RV9TX0lORk8oVWludDE2QXJyYXkpOwogTUFLRV9TX0lORk8oVWludDMyQXJyYXkpOwogTUFLRV9T
X0lORk8oRmxvYXQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0NjRBcnJheSk7CitNQUtFX1Nf
SU5GTyhCaWdJbnQ2NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NEFycmF5KTsKIE1BS0Vf
U19JTkZPKERhdGFWaWV3KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCmlu
ZGV4IDAxOTIwYTQxZTA5YWEzNzM0MTJiZjZiOTBkZDg3M2I3YmU1NzE4ZGMuLjA2NDU1MzA5MjI4
YTBlYmU5ZGExM2E3NDA4NDgxMTNhMzIzZjE5MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCkBAIC00MCw2
ICs0MCw4IEBAIHVzaW5nIEpTVWludDE2QXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Q29uc3RydWN0b3I8SlNVaW50MTZBcnJhCiB1c2luZyBKU1VpbnQzMkFycmF5Q29u
c3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTVWludDMyQXJy
YXk+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDMyQXJyYXk+OwogdXNpbmcgSlNGbG9hdDY0QXJyYXlD
b25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDY0
QXJyYXk+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTQmlnSW50NjRBcnJheT47Cit1c2luZyBKU0JpZ1VpbnQ2
NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpT
QmlnVWludDY0QXJyYXk+OwogdXNpbmcgSlNEYXRhVmlld0NvbnN0cnVjdG9yID0gSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxKU0RhdGFWaWV3PjsKIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEpTSW50OEFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rp
b24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNJbnQxNkFycmF5Q29u
c3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwpAQCAtNTAsNiArNTIsOCBAQCBTVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1VpbnQxNkFycmF5Q29uc3RydWN0b3IsIEludGVy
bmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNVaW50
MzJBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIFNUQVRJQ19BU1NFUlRfSVNP
X1NVQlNQQUNFX1NIQVJBQkxFKEpTRmxvYXQzMkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVu
Y3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNGbG9hdDY0QXJy
YXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlv
bik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0JpZ1VpbnQ2NEFycmF5
Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSlNEYXRhVmlld0NvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCmluZGV4IDJiYjE0NTI1ZjViZDExNjhj
ZjQ2NzMxNzM5OTMyNzY4NzgxMDkwNTYuLmJhODE4ZWEzMDgyZmY0MDRjOWQ0YTdmMTQxODFlYzk3
N2I4MTkzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlw
ZWRBcnJheVByb3RvdHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCkBAIC00Nyw2ICs0Nyw4IEBAIE1BS0VfU19JTkZP
KFVpbnQxNkFycmF5KTsKIE1BS0VfU19JTkZPKFVpbnQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZs
b2F0MzJBcnJheSk7CiBNQUtFX1NfSU5GTyhGbG9hdDY0QXJyYXkpOworTUFLRV9TX0lORk8oQmln
SW50NjRBcnJheSk7CitNQUtFX1NfSU5GTyhCaWdVaW50NjRBcnJheSk7CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5
cGVkQXJyYXlQcm90b3R5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5
cGVkQXJyYXlQcm90b3R5cGVzLmgKaW5kZXggMDdiOTY4NjkzZTgwZjQ1ODU4NmNjMTJiYzVkYWZm
ZWZhNDFlMzU5OS4uNTExYjExMjg4Nzg4NWNjNTdhODE4MzIzZjIzYWFlNDJkMWFhOWY4NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90
eXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVBy
b3RvdHlwZXMuaApAQCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlW
aWV3UHJvdG90eXBlPEpTVWludDE2QXJyYXk+IEpTVWludDE2QXJyYXlQcm90b3R5cGU7CiB0eXBl
ZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWludDMyQXJyYXk+IEpTVWlu
dDMyQXJyYXlQcm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90
eXBlPEpTRmxvYXQzMkFycmF5PiBKU0Zsb2F0MzJBcnJheVByb3RvdHlwZTsKIHR5cGVkZWYgSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNGbG9hdDY0QXJyYXk+IEpTRmxvYXQ2NEFy
cmF5UHJvdG90eXBlOwordHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTxK
U0JpZ0ludDY0QXJyYXk+IEpTQmlnSW50NjRBcnJheVByb3RvdHlwZTsKK3R5cGVkZWYgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNCaWdVaW50NjRBcnJheT4gSlNCaWdVaW50NjRB
cnJheVByb3RvdHlwZTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3Bw
CmluZGV4IGVmMmM5MTBjZGI0Y2VkZGY3MzM1YjA1NTdjZGVmNjhlOTAwMmI3OTcuLjM2YTVhMTA2
YzIyYjYyYjVmNWUzZmFjYWIwMzU4ZjMzMzE3ZTJiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3Bw
CkBAIC03Miw2ICs3MiwxMCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBl
ZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY1RvU3RyaW5nVGFnKTsKICAgICAgICAgcmV0dXJuIGZ1
bmN0aW9uTmFtZTxKU0ludDE2QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVVaW50MTY6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU1VpbnQxNkFycmF5Pih2bSwg
Z2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBj
YXNlIFR5cGVCaWdJbnQ2NDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0
aW9uTmFtZTxKU0JpZ0ludDY0QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ1VpbnQ2NEFycmF5Pih2bSwg
Z2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IE5vdFR5cGVkQXJyYXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVEYXRhVmlldzog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFs
T2JqZWN0LCBzY29wZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKQEAgLTg2LDYgKzkwLDEyIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jSXNUeXBlZEFycmF5VmlldywgKEpTR2xvYmFsT2JqCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odmFsdWUuaXNDZWxsKCkgJiYgaXNUeXBlZFZpZXco
dmFsdWUuYXNDZWxsKCktPmNsYXNzSW5mbyhnbG9iYWxPYmplY3QtPnZtKCkpLT50eXBlZEFycmF5
U3RvcmFnZVR5cGUpKSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5VmlldywgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBKU1ZhbHVlIHZhbHVl
ID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzQm9vbGVhbih2YWx1ZS5pc0NlbGwoKSAmJiBpc0JpZ0ludFR5cGVkVmlldyh2YWx1
ZS5hc0NlbGwoKS0+Y2xhc3NJbmZvKGdsb2JhbE9iamVjdC0+dm0oKSktPnR5cGVkQXJyYXlTdG9y
YWdlVHlwZSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3
UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3LCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpTVmFsdWUgdmFsdWUgPSBj
YWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApOwpAQCAtMTcxLDYgKzE4MSwxNiBAQCBKU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0xlbmd0aCwgKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
dGhpc09iamVjdC0+bGVuZ3RoKCkpKTsKIH0KIAorSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5
cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxP
YmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwor
ICAgIEpTVmFsdWUgYXJndW1lbnQgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgIGlmICgh
YXJndW1lbnQuaXNDZWxsKCkgfHwgIWlzVHlwZWRWaWV3KGFyZ3VtZW50LmFzQ2VsbCgpLT5jbGFz
c0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKQorICAgICAgICByZXR1cm4gdGhyb3dW
TVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiUmVjZWl2ZXIgc2hvdWxkIGJlIGEgdHlw
ZWQgYXJyYXkgdmlldyJfcyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihz
dGF0aWNfY2FzdDxpbnQzMl90Pihjb250ZW50VHlwZShhcmd1bWVudC5hc0NlbGwoKS0+Y2xhc3NJ
bmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNHZXRPcmlnaW5hbENvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQog
ewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTM4OCw2ICs0MDgsMTAgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJvdG9HZXR0ZXJGdW5jVG9T
dHJpbmdUYWcsIChKU0dsb2JhbE9iamUKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c05vbnRyaXZpYWxTdHJpbmcodm0sICJJbnQxNkFycmF5Il9zKSk7CiAgICAgY2FzZSBUeXBlVWlu
dDE2OgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgIlVpbnQxNkFycmF5Il9zKSk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKHZtLCAiQmlnSW50NjRBcnJh
eSJfcykpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmcodm0sICJCaWdVaW50NjRBcnJheSJfcykpOwogICAg
IGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaAppbmRl
eCBkMzUzMGZmNmQ2MTRlZmUwZDIyMTI3YzM4Zjk2OTBjMmNjZjIwZWY0Li5hMmE2NDMxNzZlZDJk
M2E4MDZjMTI1YmFjY2NkNzcwODZmYTMzYzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCkBAIC01Miwx
MSArNTIsMTMgQEAgY2xhc3MgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSBmaW5hbCA6IHB1Ymxp
YyBKU05vbkZpbmFsT2JqZWN0IHsKIH07CiAKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlw
ZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzVHlwZWRBcnJheVZpZXcpOworSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5Vmll
dyk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1NoYXJlZFR5cGVkQXJyYXlWaWV3KTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlwZWRB
cnJheVZpZXdQcml2YXRlRnVuY0lzRGV0YWNoZWQpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElP
Tih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jRGVmYXVsdENvbXBhcmF0b3IpOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jU29ydCk7CiBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNMZW5ndGgpOworSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jQ29udGVudFR5
cGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5j
R2V0T3JpZ2luYWxDb25zdHJ1Y3Rvcik7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVk
QXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNyZWF0ZSk7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCmluZGV4IDRiOWY5NWNmNjMx
YmRhNTM1NGU3NTFhZDQwMjkxNjJjZGE3ZjdiYzguLjkwYjMwNDU2NzBhZjBhYmUyZjZkMDI3ZWRl
OWQ4ODVmZmYwNGFmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZWRBcnJheXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
VHlwZWRBcnJheXMuY3BwCkBAIC02MSw2ICs2MSw4IEBAIE1BS0VfU19JTkZPKFVpbnQxNik7CiBN
QUtFX1NfSU5GTyhVaW50MzIpOwogTUFLRV9TX0lORk8oRmxvYXQzMik7CiBNQUtFX1NfSU5GTyhG
bG9hdDY0KTsKK01BS0VfU19JTkZPKEJpZ0ludDY0KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NCk7
CiAKIE1BS0VfQ09OU1RSVUNUT1JTKERhdGFWaWV3KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oCmluZGV4IGMzODEyOTg0YjRkN2I4N2JiMWUzMDFl
MjE5N2I4NjA1YzBmZWNhYzEuLmEzMDNhMDc4OGEwNDRhMGVmODY0NjhjMzA1ZDFlNmZlZjhhMjNh
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmgK
QEAgLTM5LDYgKzM5LDggQEAgdXNpbmcgSlNVaW50MTZBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3PFVpbnQxNkFkYXB0b3I+OwogdXNpbmcgSlNVaW50MzJBcnJheSA9IEpTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXkgPSBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDMyQWRhcHRvcj47CiB1c2luZyBKU0Zsb2F0NjRBcnJh
eSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmln
SW50NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRvcj47Cit1
c2luZyBKU0JpZ1VpbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnVWludDY0
QWRhcHRvcj47CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTVWludDhBcnJheSogY3JlYXRlVWludDhU
eXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUmVmUHRyPEFycmF5QnVmZmVy
PiYmLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVG9OYXRpdmVGcm9tVmFsdWUuaAppbmRleCAyNTMy
NmQ2MGQ2ZDU5NGNlMjU3OTc2NTg2MTQxNTU5ZTAzZmY4ZWJhLi43NDYwODk1ZjRiZjJlNzM3NmQw
MTMzMzcxNTM3NWYzYWI1OTQxM2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1RvTmF0aXZlRnJvbVZhbHVlLmgKQEAgLTI2LDEyICsyNiwxNCBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiVHlwZWRBcnJheUFkYXB0
b3JzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgog
dHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB0b05hdGl2ZUZyb21WYWx1ZShKU1ZhbHVlIHZhbHVlKQog
eworICAgIC8vIEZJWE1FOiBCaWdJbnQKICAgICBpZiAodmFsdWUuaXNJbnQzMigpKQogICAgICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tSW50MzIodmFsdWUuYXNJbnQzMigpKTsKICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlKHZhbHVlLmFzRG91YmxlKCkpOwpA
QCAtNDAsMjEgKzQyLDM3IEBAIHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUgdG9OYXRpdmVGcm9tVmFs
dWUoSlNWYWx1ZSB2YWx1ZSkKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CiB0eXBlbmFtZSBB
ZGFwdG9yOjpUeXBlIHRvTmF0aXZlRnJvbVZhbHVlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAg
cmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKHZhbHVlLmFzSW50MzIoKSk7Ci0gICAg
aWYgKHZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZy
b21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7Ci0gICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZl
RnJvbURvdWJsZSh2YWx1ZS50b051bWJlcihnbG9iYWxPYmplY3QpKTsKKyAgICBpZiBjb25zdGV4
cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4gfHwgc3RkOjppc19z
YW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsKKyAgICAgICAgaWYgY29uc3RleHBy
IChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAg
cmV0dXJuIHZhbHVlLnRvQmlnSW50NjQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQmlnVUludDY0KGdsb2JhbE9iamVjdCk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBB
ZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQzMih2YWx1ZS5hc0ludDMyKCkpOworICAgICAgICBpZiAo
dmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZy
b21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7CisgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05h
dGl2ZUZyb21Eb3VibGUodmFsdWUudG9OdW1iZXIoZ2xvYmFsT2JqZWN0KSk7CisgICAgfQogfQog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogT3B0aW9uYWw8dHlwZW5hbWUgQWRhcHRvcjo6
VHlwZT4gdG9OYXRpdmVGcm9tVmFsdWVXaXRob3V0Q29lcmNpb24oSlNWYWx1ZSB2YWx1ZSkKIHsK
LSAgICBpZiAoIXZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0
aXZlRnJvbUludDMyV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzSW50MzIoKSk7Ci0gICAgcmV0dXJu
IEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZVdpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0RvdWJs
ZSgpKTsKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0
QWRhcHRvcj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsK
KyAgICAgICAgaWYgKCF2YWx1ZS5pc0JpZ0ludCgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBC
aWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAgcmV0dXJuIEpTQmlnSW50Ojp0b0JpZ0ludDY0
KHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIEpTQmlnSW50Ojp0b0Jp
Z1VJbnQ2NCh2YWx1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCF2YWx1ZS5pc051bWJl
cigpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgaWYgKHZhbHVl
LmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQz
MldpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0ludDMyKCkpOworICAgICAgICByZXR1cm4gQWRhcHRv
cjo6dG9OYXRpdmVGcm9tRG91YmxlV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzRG91YmxlKCkpOwor
ICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5QWRhcHRvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCmluZGV4IGUzMjRkNDBhMjYzMTgyYjcy
M2IzNjdiYTI5MGMxMWYyZDYwMTA4ZjMuLjY5MzRiMTc4NmUzZGVjMzc3YzZhNTY3MDVkMTNjMzQ3
Nzg2NWU3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlBZGFwdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlBZGFwdG9ycy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiSlNCaWdJbnQuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTWF0
aENvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVkQXJyYXlUeXBlLmgiCkBAIC0zOSwxMSArNDAsMTMg
QEAgc3RydWN0IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3IgewogICAgIHR5cGVkZWYgVHlwZUFy
ZyBUeXBlOwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBK
U1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBl
IHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5
cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsK
LSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVy
aWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJy
YXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5
cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsK
KyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVy
dFRvSlNRdWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250
ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAg
IHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVl
IHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICBz
dGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFR5cGU+Ojp2YWx1ZSwgIiIpOwog
ICAgICAgICByZXR1cm4ganNOdW1iZXIodmFsdWUpOwpAQCAtMTE1LDExICsxMTgsMTMgQEAgc3Ry
dWN0IEZsb2F0VHlwZWRBcnJheUFkYXB0b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBlOwog
ICAgIHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBl
QXJnIEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1
ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWlu
VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBjb25z
dGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRz
PFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIHR5
cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWlu
VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0
aWMgY29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVB
cmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlj
a2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBj
b250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBK
U1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1
ZShKU0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4ganNE
b3VibGVOdW1iZXIocHVyaWZ5TmFOKHZhbHVlKSk7CiAgICAgfQpAQCAtMTcyLDYgKzE3Nyw1MiBA
QCBzdHJ1Y3QgRmxvYXRUeXBlZEFycmF5QWRhcHRvciB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8
CisgICAgdHlwZW5hbWUgVHlwZUFyZywgdHlwZW5hbWUgVmlld1R5cGVBcmcsIHR5cGVuYW1lIEpT
Vmlld1R5cGVBcmcsCisgICAgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlQXJnPgorc3RydWN0IEJp
Z0ludFR5cGVkQXJyYXlBZGFwdG9yIHsKKyAgICB0eXBlZGVmIFR5cGVBcmcgVHlwZTsKKyAgICB0
eXBlZGVmIFZpZXdUeXBlQXJnIFZpZXdUeXBlOworICAgIHR5cGVkZWYgSlNWaWV3VHlwZUFyZyBK
U1ZpZXdUeXBlOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVl
ID0gdHlwZVZhbHVlQXJnOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtaW5WYWx1ZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgVHlwZUFyZyBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Om1h
eCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSBm
YWxzZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50
VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKKworICAgIHN0YXRpYyBKU1ZhbHVl
IHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUeXBlIHZhbHVlKQorICAg
IHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBKU0JpZ0lu
dDo6bWFrZUhlYXBCaWdJbnRPckJpZ0ludDMyKGdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgIH0K
KworICAgIHN0YXRpYyBkb3VibGUgdG9Eb3VibGUoVHlwZSB2YWx1ZSkKKyAgICB7CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxkb3VibGU+KHZhbHVlKTsKKyAgICB9CisKKyAgICBzdGF0aWMg
VHlwZSB0b05hdGl2ZUZyb21JbnQzMihpbnQzMl90IHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFR5cGU+KHZhbHVlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgVHlwZSB0
b05hdGl2ZUZyb21VaW50MzIodWludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0
aXZlRnJvbURvdWJsZShkb3VibGUgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VHlwZT4odmFsdWUpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIE90aGVy
QWRhcHRvcj4KKyAgICBzdGF0aWMgdHlwZW5hbWUgT3RoZXJBZGFwdG9yOjpUeXBlIGNvbnZlcnRU
byhUeXBlIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHR5cGVuYW1l
IE90aGVyQWRhcHRvcjo6VHlwZT4odmFsdWUpOworICAgIH0KK307CisKIHN0cnVjdCBJbnQ4QWRh
cHRvcjsKIHN0cnVjdCBJbnQxNkFkYXB0b3I7CiBzdHJ1Y3QgSW50MzJBZGFwdG9yOwpAQCAtMTgx
LDYgKzIzMiw4IEBAIHN0cnVjdCBVaW50MTZBZGFwdG9yOwogc3RydWN0IFVpbnQzMkFkYXB0b3I7
CiBzdHJ1Y3QgRmxvYXQzMkFkYXB0b3I7CiBzdHJ1Y3QgRmxvYXQ2NEFkYXB0b3I7CitzdHJ1Y3Qg
QmlnSW50NjRBZGFwdG9yOworc3RydWN0IEJpZ1VpbnQ2NEFkYXB0b3I7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIEFkYXB0b3I+IGNsYXNzIEdlbmVyaWNUeXBlZEFycmF5VmlldzsKIHR5cGVkZWYgR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3PEludDhBZGFwdG9yPiBJbnQ4QXJyYXk7CkBAIC0xOTIsNiArMjQ1
LDggQEAgdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2QWRhcHRvcj4gVWludDE2
QXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MzJBZGFwdG9yPiBVaW50
MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJBZGFwdG9yPiBG
bG9hdDMyQXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDY0QWRhcHRv
cj4gRmxvYXQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnSW50NjRB
ZGFwdG9yPiBCaWdJbnQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8Qmln
VWludDY0QWRhcHRvcj4gQmlnVWludDY0QXJyYXk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0
b3I+IGNsYXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3OwogdXNpbmcgSlNJbnQ4QXJyYXkgPSBK
U0dlbmVyaWNUeXBlZEFycmF5VmlldzxJbnQ4QWRhcHRvcj47CkBAIC0yMDMsNiArMjU4LDggQEAg
dXNpbmcgSlNVaW50MTZBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQxNkFkYXB0
b3I+OwogdXNpbmcgSlNVaW50MzJBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQz
MkFkYXB0b3I+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmll
dzxGbG9hdDMyQWRhcHRvcj47CiB1c2luZyBKU0Zsb2F0NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmlnSW50NjRBcnJheSA9IEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRvcj47Cit1c2luZyBKU0JpZ1VpbnQ2NEFy
cmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnVWludDY0QWRhcHRvcj47CiAKIHN0cnVj
dCBJbnQ4QWRhcHRvciA6IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3I8aW50OF90LCBJbnQ4QXJy
YXksIEpTSW50OEFycmF5LCBUeXBlSW50OD4geyB9Owogc3RydWN0IEludDE2QWRhcHRvciA6IElu
dGVncmFsVHlwZWRBcnJheUFkYXB0b3I8aW50MTZfdCwgSW50MTZBcnJheSwgSlNJbnQxNkFycmF5
LCBUeXBlSW50MTY+IHsgfTsKQEAgLTIxMiwxNiArMjY5LDIwIEBAIHN0cnVjdCBVaW50MTZBZGFw
dG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjx1aW50MTZfdCwgVWludDE2QXJyYXksIEpT
VWludDE2CiBzdHJ1Y3QgVWludDMyQWRhcHRvciA6IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3I8
dWludDMyX3QsIFVpbnQzMkFycmF5LCBKU1VpbnQzMkFycmF5LCBUeXBlVWludDMyPiB7IH07CiBz
dHJ1Y3QgRmxvYXQzMkFkYXB0b3IgOiBGbG9hdFR5cGVkQXJyYXlBZGFwdG9yPGZsb2F0LCBGbG9h
dDMyQXJyYXksIEpTRmxvYXQzMkFycmF5LCBUeXBlRmxvYXQzMj4geyB9Owogc3RydWN0IEZsb2F0
NjRBZGFwdG9yIDogRmxvYXRUeXBlZEFycmF5QWRhcHRvcjxkb3VibGUsIEZsb2F0NjRBcnJheSwg
SlNGbG9hdDY0QXJyYXksIFR5cGVGbG9hdDY0PiB7IH07CitzdHJ1Y3QgQmlnSW50NjRBZGFwdG9y
IDogQmlnSW50VHlwZWRBcnJheUFkYXB0b3I8aW50NjRfdCwgQmlnSW50NjRBcnJheSwgSlNCaWdJ
bnQ2NEFycmF5LCBUeXBlQmlnSW50NjQ+IHsgfTsKK3N0cnVjdCBCaWdVaW50NjRBZGFwdG9yIDog
QmlnSW50VHlwZWRBcnJheUFkYXB0b3I8dWludDY0X3QsIEJpZ1VpbnQ2NEFycmF5LCBKU0JpZ1Vp
bnQ2NEFycmF5LCBUeXBlQmlnVWludDY0PiB7IH07CiAKIHN0cnVjdCBVaW50OENsYW1wZWRBZGFw
dG9yIHsKICAgICB0eXBlZGVmIHVpbnQ4X3QgVHlwZTsKICAgICB0eXBlZGVmIFVpbnQ4Q2xhbXBl
ZEFycmF5IFZpZXdUeXBlOwogICAgIHR5cGVkZWYgSlNVaW50OENsYW1wZWRBcnJheSBKU1ZpZXdU
eXBlOwotICAgIHN0YXRpYyBjb25zdCBUeXBlZEFycmF5VHlwZSB0eXBlVmFsdWUgPSBUeXBlVWlu
dDhDbGFtcGVkOwotICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgdWludDhfdCBtaW5WYWx1ZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDhfdD46Omxvd2VzdCgpOwotICAgIGNvbnN0ZXhwciBz
dGF0aWMgY29uc3QgdWludDhfdCBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDhf
dD46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVl
ID0gVHlwZVVpbnQ4Q2xhbXBlZDsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ4X3QgbWluVmFs
dWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ4X3Q+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIHVpbnQ4X3QgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ4X3Q+
OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5
ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250
ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1Zh
bHVlIHRvSlNWYWx1ZSh1aW50OF90IHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1
ZShKU0dsb2JhbE9iamVjdCosIHVpbnQ4X3QgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4g
anNOdW1iZXIodmFsdWUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVkQXJyYXlUeXBlLmNwcAppbmRleCBjMjQxODViODkyNGY2NjliMWQ3ZWE2OWZhYzUy
NTU5YzFjYWExZDMzLi5mMjk2ZTM3NDkyNWEyZjA5MGJjYWNkNjEzYWVlOTAzY2RiZTgyN2YyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuY3Bw
CkBAIC01Myw2ICs1MywxMCBAQCBjb25zdCBDbGFzc0luZm8qIGNvbnN0cnVjdG9yQ2xhc3NJbmZv
Rm9yVHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gSlNGbG9hdDMyQXJy
YXlDb25zdHJ1Y3Rvcjo6aW5mbygpOwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJl
dHVybiBKU0Zsb2F0NjRBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CisgICAgY2FzZSBUeXBlQmln
SW50NjQ6CisgICAgICAgIHJldHVybiBKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3Rvcjo6aW5mbygp
OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTQmlnVWludDY0QXJy
YXlDb25zdHJ1Y3Rvcjo6aW5mbygpOwogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBy
ZXR1cm4gSlNEYXRhVmlld0NvbnN0cnVjdG9yOjppbmZvKCk7CiAgICAgfQpAQCAtOTksNiArMTAz
LDEyIEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBUeXBlZEFycmF5VHlw
ZSB0eXBlKQogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIG91dC5wcmludCgiVHlwZUZs
b2F0NjQiKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAg
ICBvdXQucHJpbnQoIlR5cGVCaWdJbnQ2NCIpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBU
eXBlQmlnVWludDY0OgorICAgICAgICBvdXQucHJpbnQoIlR5cGVCaWdVaW50NjQiKTsKKyAgICAg
ICAgcmV0dXJuOwogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBvdXQucHJpbnQoIlR5
cGVEYXRhVmlldyIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuaAppbmRleCAwN2QxNzUzYWI4Y2MyODBjOGQ2ZGRjOTEz
N2I0MGE3NDc0MzgyYjRmLi42ZjQwZTFjZjhmMDdhMGJmZmQyZDdjMmMyNDkwMjVjMmQ1MGQzNjQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlw
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmgK
QEAgLTQyLDcgKzQyLDkgQEAgc3RydWN0IENsYXNzSW5mbzsKICAgICBtYWNybyhJbnQzMikgXAog
ICAgIG1hY3JvKFVpbnQzMikgXAogICAgIG1hY3JvKEZsb2F0MzIpIFwKLSAgICBtYWNybyhGbG9h
dDY0KQorICAgIG1hY3JvKEZsb2F0NjQpIFwKKyAgICBtYWNybyhCaWdJbnQ2NCkgXAorICAgIG1h
Y3JvKEJpZ1VpbnQ2NCkKIAogI2RlZmluZSBGT1JfRUFDSF9UWVBFRF9BUlJBWV9UWVBFKG1hY3Jv
KSBcCiAgICAgRk9SX0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdfREFUQV9WSUVXKG1h
Y3JvKSBcCkBAIC01NSw2ICs1NywxMiBAQCBlbnVtIFR5cGVkQXJyYXlUeXBlIHsKICN1bmRlZiBE
RUNMQVJFX1RZUEVEX0FSUkFZX1RZUEUKIH07CiAKK2VudW0gY2xhc3MgVHlwZWRBcnJheUNvbnRl
bnRUeXBlIDogdWludDhfdCB7CisgICAgTm9uZSwKKyAgICBOdW1iZXIsCisgICAgQmlnSW50LAor
fTsKKwogI2RlZmluZSBBU1NFUlRfVFlQRURfQVJSQVlfVFlQRShuYW1lKSBcCiAgICAgc3RhdGlj
X2Fzc2VydChzdGF0aWNfY2FzdDx1aW50MzJfdD4oVHlwZSAjIyBuYW1lKSA9PSAoc3RhdGljX2Nh
c3Q8dWludDMyX3Q+KG5hbWUgIyMgQXJyYXlUeXBlKSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyBz
dGF0aWNfY2FzdDx1aW50MzJfdD4oVHlwZUludDgpKSwgIiIpOwogICAgIEZPUl9FQUNIX1RZUEVE
X0FSUkFZX1RZUEVfRVhDTFVESU5HX0RBVEFfVklFVyhBU1NFUlRfVFlQRURfQVJSQVlfVFlQRSkK
QEAgLTg1LDYgKzkzLDE3IEBAIGlubGluZSBib29sIGlzVHlwZWRWaWV3KFR5cGVkQXJyYXlUeXBl
IHR5cGUpCiAgICAgfQogfQogCitpbmxpbmUgYm9vbCBpc0JpZ0ludFR5cGVkVmlldyhUeXBlZEFy
cmF5VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVHlwZUJpZ0lu
dDY0OgorICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogaW5saW5lIHVuc2ln
bmVkIGxvZ0VsZW1lbnRTaXplKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0
eXBlKSB7CkBAIC0xMDMsNiArMTIyLDggQEAgaW5saW5lIHVuc2lnbmVkIGxvZ0VsZW1lbnRTaXpl
KFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlRmxvYXQzMjoKICAgICAgICAgcmV0
dXJuIDI7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAg
ICBjYXNlIFR5cGVCaWdVaW50NjQ6CiAgICAgICAgIHJldHVybiAzOwogICAgIH0KICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTU5LDYgKzE4MCwxNyBAQCBpbmxpbmUgYm9v
bCBpc0Zsb2F0KFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgfQogfQogCitpbmxpbmUgYm9vbCBp
c0JpZ0ludChUeXBlZEFycmF5VHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAg
IGNhc2UgVHlwZUJpZ0ludDY0OgorICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30K
KwogaW5saW5lIGJvb2wgaXNTaWduZWQoVHlwZWRBcnJheVR5cGUgdHlwZSkKIHsKICAgICBzd2l0
Y2ggKHR5cGUpIHsKQEAgLTE2Nyw2ICsxOTksNyBAQCBpbmxpbmUgYm9vbCBpc1NpZ25lZChUeXBl
ZEFycmF5VHlwZSB0eXBlKQogICAgIGNhc2UgVHlwZUludDMyOgogICAgIGNhc2UgVHlwZUZsb2F0
MzI6CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAt
MTc4LDYgKzIxMSwyOSBAQCBpbmxpbmUgYm9vbCBpc0NsYW1wZWQoVHlwZWRBcnJheVR5cGUgdHlw
ZSkKICAgICByZXR1cm4gdHlwZSA9PSBUeXBlVWludDhDbGFtcGVkOwogfQogCitpbmxpbmUgY29u
c3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZShUeXBlZEFycmF5VHlwZSB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAg
IGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIFR5cGVkQXJyYXlDb250ZW50VHlw
ZTo6QmlnSW50OworICAgIGNhc2UgVHlwZUludDg6CisgICAgY2FzZSBUeXBlSW50MTY6CisgICAg
Y2FzZSBUeXBlSW50MzI6CisgICAgY2FzZSBUeXBlVWludDg6CisgICAgY2FzZSBUeXBlVWludDE2
OgorICAgIGNhc2UgVHlwZVVpbnQzMjoKKyAgICBjYXNlIFR5cGVGbG9hdDMyOgorICAgIGNhc2Ug
VHlwZUZsb2F0NjQ6CisgICAgY2FzZSBUeXBlVWludDhDbGFtcGVkOgorICAgICAgICByZXR1cm4g
VHlwZWRBcnJheUNvbnRlbnRUeXBlOjpOdW1iZXI7CisgICAgY2FzZSBOb3RUeXBlZEFycmF5Ogor
ICAgIGNhc2UgVHlwZURhdGFWaWV3OgorICAgICAgICByZXR1cm4gVHlwZWRBcnJheUNvbnRlbnRU
eXBlOjpOb25lOworICAgIH0KKyAgICByZXR1cm4gVHlwZWRBcnJheUNvbnRlbnRUeXBlOjpOb25l
OworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5cy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheXMuaAppbmRleCA4ZmU5YjM2Y2IyNzdmMjNk
MGE5ODZkZjEzZjA5YzZkZWYyNTlhOWM5Li44MjcwMWY3ODBiN2EzNWIyMzliNTk0MDJkYjM2ZDE5
MjcwNjljZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBl
ZEFycmF5cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlz
LmgKQEAgLTM5LDUgKzM5LDcgQEAgdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2
QWRhcHRvcj4gVWludDE2QXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50
MzJBZGFwdG9yPiBVaW50MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZs
b2F0MzJBZGFwdG9yPiBGbG9hdDMyQXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5Vmll
dzxGbG9hdDY0QWRhcHRvcj4gRmxvYXQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlwZWRBcnJh
eVZpZXc8QmlnSW50NjRBZGFwdG9yPiBCaWdJbnQ2NEFycmF5OwordHlwZWRlZiBHZW5lcmljVHlw
ZWRBcnJheVZpZXc8QmlnVWludDY0QWRhcHRvcj4gQmlnVWludDY0QXJyYXk7CiAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IDg0MDNlMmM4
MWM3MjY4MWMwZDUxMDg3OWE4YmU5ODBmNmUxZTBmOGMuLmU3MWEzY2VkNWYxODc0ZTQ5YTVkZDIw
OTA5ZGY2ZjgyMDgwYmY0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAg
LTE0NzEsNyArMTQ3MSw5IEBAIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
VyhhcGlWYWx1ZVdyYXBwZXJTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nCiBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXJyYXlCdWZmZXJTcGFjZSwgY2VsbEhlYXBDZWxs
VHlwZS5nZXQoKSwgSlNBcnJheUJ1ZmZlcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyhhcnJheUl0ZXJhdG9yU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpT
QXJyYXlJdGVyYXRvcikKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhh
c3luY0dlbmVyYXRvclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FzeW5jR2VuZXJh
dG9yKQorRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJpZ0ludDY0QXJy
YXlTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNCaWdJbnQ2NEFycmF5KQogRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJpZ0ludE9iamVjdFNwYWNlLCBjZWxs
SGVhcENlbGxUeXBlLmdldCgpLCBCaWdJbnRPYmplY3QpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYmlnVWludDY0QXJyYXlTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5n
ZXQoKSwgSlNCaWdVaW50NjRBcnJheSkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1C
RVJfU0xPVyhib29sZWFuT2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJvb2xl
YW5PYmplY3QpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm91bmRG
dW5jdGlvblNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JvdW5kRnVuY3Rpb24pIC8v
IEhhc2g6MHhkNzkxNmQ0MQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9X
KGNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZSwgY2FsbGJhY2tDb25zdHJ1Y3RvckhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNDYWxsYmFja0NvbnN0cnVjdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmgKaW5kZXggMjdhYWZjMDMyNjZmZDM3YzI1YWEyYTQzMTIyZWI2YTEzZTY1OGM5Ny4uNzBhZTM2
NTIzNmM3ZjE2OGQ2YzlhNDU3NTQ3YmJmM2EwNTkwNjNjZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCkBAIC00OTMsNyArNDkzLDkgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBE
WU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5QnVmZmVyU3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcnJheUl0ZXJhdG9yU3BhY2UpCiAg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhc3luY0dlbmVyYXRvclNwYWNl
KQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50NjRBcnJheVNw
YWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYmlnSW50T2JqZWN0
U3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdVaW50NjRB
cnJheVNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYm9vbGVh
bk9iamVjdFNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYm91
bmRGdW5jdGlvblNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIo
Y2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cg
Yi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA1NDg4YzA5MTJlNWE3YTljODM3YTNmOGFhOTI1NTIz
MDQ1MDRkZTIyLi45OTZkY2RmMTEzZmM4MmU4MjNlMWQ3ZDU3YWFhMDA5MjNmMTRhM2MxIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDIxLTAxLTMwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CisKKyAgICAgICAgW0pTQ10gSW1wbGVtZW50IEJpZ0ludDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFy
cmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA4
MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRl
c3QyNjIvY29uZmlnLnlhbWw6CisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoK
KwogMjAyMS0wMS0yOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIEZpeCBXZWJBc3NlbWJseS5HbG9iYWwncyBlcnJvciBtZXNzYWdlIGFuZCBzdXBw
b3J0ICJmdW5jcmVmIgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sIGIv
SlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IDgzYTZhNzJkNGNmM2Y0YzFjOWNmOGFi
NzE5OWNiZGZjNGUwYzg4ZjYuLjA0Yzc3MTFlMDYzNjZmNWI0MmRjM2UyNWZjYjc3YjM3YWJiNGJm
MDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTI4LDU0ICsyOCw2IEBAIHNraXA6CiAgICAgLSB0b3At
bGV2ZWwtYXdhaXQKICAgICAtIEludGwuTGlzdEZvcm1hdAogICBwYXRoczoKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRCaWdJbnQ2NAotICAgIC0gdGVzdC9idWls
dC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ1VpbnQ2NAotICAgIC0gdGVzdC9idWlsdC1p
bnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEJpZ0ludDY0Ci0KLSAgICAjIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA4MDAKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1RhZy9CaWdJbnQKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2J1ZmZlci9CaWdJbnQKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2J5dGVMZW5ndGgvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlT2Zmc2V0L0JpZ0ludAotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvY29weVdpdGhpbi9CaWdJbnQK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2VudHJpZXMvQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ldmVyeS9CaWdJbnQK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbGwvQmlnSW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maWx0ZXIvQmlnSW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maW5kL0JpZ0ludAotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZEluZGV4L0JpZ0ludAot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZm9yRWFjaC9CaWdJbnQK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVzL0JpZ0lu
dAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5kZXhPZi9CaWdJ
bnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2pvaW4vQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9rZXlzL0JpZ0ludAot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGFzdEluZGV4T2YvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sZW5ndGgvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAvQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2UvQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9C
aWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3JldmVyc2Uv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJ
bnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0L0JpZ0ludAot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc3ViYXJyYXkvQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90b0xvY2FsZVN0cmlu
Zy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvU3Ry
aW5nL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdmFs
dWVzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9C
aWdJbnQ2NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L0JpZ1VpbnQ2NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2N0b3JzLWJpZ2ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9mcm9tL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50Ci0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9HZXRPd25Qcm9wZXJ0eS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludAotICAgIC0gdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvT3duUHJvcGVydHlLZXlzL0Jp
Z0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvU2V0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9vZi9CaWdJbnQKLQogICAgIC0gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hZGQvYmlnaW50CiAg
ICAgLSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL2FuZC9iaWdpbnQKICAgICAtIHRlc3QvYnVpbHQt
aW5zL0F0b21pY3MvY29tcGFyZUV4Y2hhbmdlL2JpZ2ludApAQCAtMTAxLDQ2ICs1Myw2IEBAIHNr
aXA6CiAgICAgLSB0ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUtMTMuMC4w
LWVzY2FwZWQuanMKICAgICAtIHRlc3QvbGFuZ3VhZ2UvaWRlbnRpZmllcnMvc3RhcnQtdW5pY29k
ZS0xMy4wLjAuanMKIAotICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MDgwMAotICAgIC0gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1iaWdpbnQ2
NGFycmF5LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ3VpbnQ2
NGFycmF5LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQv
c3JjLXR5cGVkYXJyYXktYmlnLXRocm93cy5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9jdG9ycy90eXBlZGFycmF5LWFyZy9zcmMtdHlwZWRhcnJheS1iaWct
dGhyb3dzLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3By
b3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvYmlnaW50LVN5bWJv
bC5pdGVyYXRvci5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9wcm90b3R5cGUvYnVmZmVyL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2J5dGVMZW5ndGgvYmlnaW50LWlu
aGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9w
cm90b3R5cGUvYnl0ZU9mZnNldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9jb3B5V2l0aGluL2JpZ2ludC1p
bmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
cHJvdG90eXBlL2VudHJpZXMvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZXZlcnkvYmlnaW50LWluaGVyaXRl
ZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5
cGUvZmlsbC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maWx0ZXIvYmlnaW50LWluaGVyaXRlZC5qcwotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZmluZC9i
aWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL3Byb3RvdHlwZS9maW5kSW5kZXgvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZm9yRWFjaC9iaWdp
bnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL3Byb3RvdHlwZS9pbmRleE9mL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2pvaW4vYmlnaW50LWluaGVy
aXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90
b3R5cGUva2V5cy9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9iaWdpbnQtaW5oZXJpdGVk
LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlw
ZS9sZW5ndGgvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvbWFwL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3JlZHVjZS9i
aWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9yZXZlcnNlL2Jp
Z2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvcHJvdG90eXBlL3NldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zbGljZS9iaWdpbnQtaW5oZXJp
dGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3Rv
dHlwZS9zb21lL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3NvcnQvYmlnaW50LWluaGVyaXRlZC5qcwotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvc3ViYXJy
YXkvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvYmlnaW50LWluaGVyaXRlZC5qcwot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdG9T
dHJpbmcvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdmFsdWVzL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAt
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xh
c3MtQmlnSW50NjRBcnJheS5qcwotICAgIC0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwotICAgIC0gdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLUJp
Z0ludDY0QXJyYXkuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJj
bGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwotCiAgICAgIyByZXF1aXJl
cyBJQ1UgNjUgKGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9icm93c2UvSUNVLTIw
NjU0KQogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9y
bWF0L2VuLXVzLW51bWVyaWMtYXV0by5qcwogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGlt
ZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9lbi11cy1udW1lcmljLWF1dG8uanMKQEAg
LTIxMiwzICsxMjQsNiBAQCBza2lwOgogICAgIC0gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9w
cm90b3R5cGUvZm9ybWF0VG9QYXJ0cy91bml0LmpzCiAgICAgLSB0ZXN0L2ludGw0MDIvTnVtYmVy
Rm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvY29tcGFjdERpc3BsYXkuanMKICAgICAt
IHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvc3R5bGUtdW5pdC5qcworCisgICAgIyBOZXcgSUNV
ICg2Nn4pIHJhaXNlcyBhIGRpZmZlcmVudCBmYWlsdXJlCisgICAgLSB0ZXN0L2ludGw0MDIvTG9j
YWxlL2NvbnN0cnVjdG9yLW5vbi1pYW5hLWNhbm9uLmpzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlh
bWwKaW5kZXggMzlkYmY4NTM0OTQxMTZiNDU0ZDVmNmVjMTNkYWY5NTkxOWZjZDBiZC4uZjY5Zjg5
MmZkNTgwOTUyMmUxZmI3NWVlYjI1MDc0ZmY1YTM4MmM3NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlv
bnMueWFtbApAQCAtODIzLDYgKzgyMywxMiBAQCB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL2V4ZWMvdS1sYXN0aW5kZXgtYWR2LmpzOgogdGVzdC9idWlsdC1pbnMvUmVnRXhwL3F1YW50
aWZpZXItaW50ZWdlci1saW1pdC5qczoKICAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBJbnZhbGlk
IHJlZ3VsYXIgZXhwcmVzc2lvbjogbnVtYmVyIHRvbyBsYXJnZSBpbiB7fSBxdWFudGlmaWVyJwog
ICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjog
bnVtYmVyIHRvbyBsYXJnZSBpbiB7fSBxdWFudGlmaWVyJwordGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheS9wcm90b3R5cGUvZmlsdGVyL0JpZ0ludC9jYWxsYmFja2ZuLWRldGFjaGJ1ZmZlci5qczoK
KyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogSW52YWxpZCBhcmd1bWVudCB0eXBlIGluIFRvQmlnSW50
IG9wZXJhdGlvbiAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6
ICdUeXBlRXJyb3I6IEludmFsaWQgYXJndW1lbnQgdHlwZSBpbiBUb0JpZ0ludCBvcGVyYXRpb24g
KFRlc3Rpbmcgd2l0aCBCaWdJbnQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9maW5kSW5kZXgvQmlnSW50L3ByZWRpY2F0ZS1tYXktZGV0YWNoLWJ1ZmZlci5q
czoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogdGhyb3dzIGEgVHlwZUVycm9yIGdldHRpbmcg
YSB2YWx1ZSBmcm9tIHRoZSBkZXRhY2hlZCBidWZmZXIgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0
aCBCaWdJbnQ2NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiB0aHJvd3Mg
YSBUeXBlRXJyb3IgZ2V0dGluZyBhIHZhbHVlIGZyb20gdGhlIGRldGFjaGVkIGJ1ZmZlciBFeHBl
Y3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3du
IGF0IGFsbCAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKIHRlc3QvaW50bDQwMi9EYXRl
VGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2UvZW4tVVMuanM6CiAgIGRlZmF1bHQ6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE54oCJ4oCT4oCJMS81LzIw
MTnCuywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1v
ZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE54oCJ4oCT4oCJ
MS81LzIwMTnCuywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1ZScKQEAgLTg2
NSw5ICs4NzEsNiBAQCB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNv
ZGUtZXh0LWtleS13aXRoLWRpZ2l0LmpzOgogdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rv
ci1hcHBseS1vcHRpb25zLWNhbm9uaWNhbGl6ZXMtdHdpY2UuanM6CiAgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3J1LUFybW4tU1XCuywgwqtydS1Bcm1uLUFN
wrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUowqtydS1Bcm1uLVNVwrssIMKrcnUtQXJtbi1BTcK7KSB0byBiZSB0cnVlJwotdGVz
dC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5vbi5qczoKLSAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogbmV3IEludGwuTG9jYWxlKCJtbyIpLm1heGltaXplKCkudG9TdHJp
bmcoKSByZXR1cm5zICJyby1MYXRuLVJPIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtyb8K7LCDCq3Jv
LUxhdG4tUk/CuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IG5l
dyBJbnRsLkxvY2FsZSgibW8iKS5tYXhpbWl6ZSgpLnRvU3RyaW5nKCkgcmV0dXJucyAicm8tTGF0
bi1STyIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrcm/Cuywgwqtyby1MYXRuLVJPwrspIHRvIGJlIHRy
dWUnCiB0ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9yLW9wdGlvbnMtcmVnaW9uLXZhbGlk
LmpzOgogICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBuZXcgSW50bC5Mb2NhbGUoJ2VuJywge3Jl
Z2lvbjogXCI1NTRcIn0pLnRvU3RyaW5nKCkgcmV0dXJucyBcImVuLU5aXCIgRXhwZWN0ZWQgU2Ft
ZVZhbHVlKMKrZW4tNTU0wrssIMKrZW4tTlrCuykgdG8gYmUgdHJ1ZSIKICAgc3RyaWN0IG1vZGU6
ICJUZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgnZW4nLCB7cmVnaW9uOiBcIjU1NFwifSku
dG9TdHJpbmcoKSByZXR1cm5zIFwiZW4tTlpcIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtlbi01NTTC
uywgwqtlbi1OWsK7KSB0byBiZSB0cnVlIgo=
</data>
<flag name="commit-queue"
          id="436882"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418812</attachid>
            <date>2021-01-30 01:01:36 -0800</date>
            <delta_ts>2021-01-30 01:45:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190800-20210130010136.patch</filename>
            <type>text/plain</type>
            <size>142029</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YTljMjI5YmI3ZmViZjJkZGJmZTNiZDI1Njg1OTAxZDYyYjAyMzZhLi5jNjk2ZjUxNDFlMWVjNDU1
YmQ2MDQ5NWRmM2I3ZTRkNzg2ZWIzZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNTEgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
QVBJL0pTVHlwZWRBcnJheS5jcHA6CisgICAgICAgICh0b0pTVHlwZWRBcnJheVR5cGUpOgorICAg
ICAgICAodG9UeXBlZEFycmF5VHlwZSk6CisgICAgICAgIChjcmVhdGVUeXBlZEFycmF5KToKKyAg
ICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5oOgorICAgICAgICAqIEFQSS90ZXN0cy9UeXBlZEFycmF5
Q1Rlc3QuY3BwOgorICAgICAgICAoZm9yRWFjaFR5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAq
IGJ1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChmaWxsKToKKyAgICAg
ICAgKG1hcCk6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJv
ZmlsZS5jcHA6CisgICAgICAgIChKU0M6OmR1bXBBcnJheU1vZGVzKToKKyAgICAgICAgKiBieXRl
Y29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9CeVZhbEluZm8uaDoKKyAg
ICAgICAgKEpTQzo6aml0QXJyYXlNb2RlRm9yQ2xhc3NJbmZvKToKKyAgICAgICAgKEpTQzo6aml0
QXJyYXlNb2RlUGVybWl0c1B1dCk6CisgICAgICAgIChKU0M6OnR5cGVkQXJyYXlUeXBlRm9ySklU
QXJyYXlNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9MaW5rVGltZUNvbnN0YW50Lmg6CisgICAg
ICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAoSlNDOjpkdW1wU3Bl
Y3VsYXRpb24pOgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcp
OgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZSk6CisgICAgICAg
IChKU0M6OnR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3Bl
Y3VsYXRpb25Gcm9tU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5o
OgorICAgICAgICAoSlNDOjppc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChK
U0M6OmlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzRGlyZWN0
QXJndW1lbnRzU3BlY3VsYXRpb24pOgorICAgICAgICAoSlNDOjppc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjppc0FjdGlvbmFibGVGbG9hdE11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxl
VHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Omlz
QWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6aXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1v
ZGU6OmZyb21PYnNlcnZlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjpyZWZpbmUg
Y29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQgY29u
c3QpOgorICAgICAgICAoSlNDOjpERkc6OmFycmF5VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKEpT
Qzo6REZHOjp0b1R5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjp0b0FycmF5VHlw
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6cGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBcnJheU1vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6
OnN1cHBvcnRzU2VsZkxlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2Rl
OjphcnJheU1vZGVzVGhhdFBhc3NGaWx0ZXJpbmcgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdD
bG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICog
ZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpTQ19ERUZJTkVfSklU
X09QRVJBVElPTik6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aFNpemVGb3JUeXBlKToKKyAgICAgICAg
KEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aE9uZUFyZ3VtZW50Rm9yVHlwZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUdl
dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1
dEJ5VmFsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwOgor
ICAgICAgICAoSW5zcGVjdG9yOjpKU0luamVjdGVkU2NyaXB0SG9zdDo6c3VidHlwZSk6CisgICAg
ICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZVB1dEJ5VmFsKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAg
IChKU0M6OnRyeUNhY2hlQXJyYXlHZXRCeVZhbCk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcDoKKyAg
ICAgICAgKiBydW50aW1lL0F0b21pY3NPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0JpZ0lu
dDY0QXJyYXkuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcC4KKyAgICAgICAgKiBydW50aW1lL0JpZ1VpbnQ2NEFy
cmF5Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy5jcHAuCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmll
dy5jcHA6CisgICAgICAgIChKU0M6OmVsZW1lbnRTaXplKToKKyAgICAgICAgKEpTQzo6dmFsaWRh
dGVUeXBlZEFycmF5KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3Lmg6Cisg
ICAgICAgICogcnVudGltZS9KU0JpZ0ludC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6
CisgICAgICAgICogcnVudGltZS9KU0RhdGFWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0Rh
dGFWaWV3UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0RGF0YSk6CisgICAgICAgIChK
U0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlldy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0R2VuZXJp
Y1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyk6CisgICAgICAgICogcnVudGltZS9KU0dlbmVy
aWNUeXBlZEFycmF5Vmlld0lubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNHZW5lcmljVHlwZWRB
cnJheVZpZXc8QWRhcHRvcj46OnNldFdpdGhTcGVjaWZpY1R5cGUpOgorICAgICAgICAoSlNDOjpK
U0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6c2V0KToKKyAgICAgICAgKEpTQzo6SlNH
ZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5j
dGlvbnMuaDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9p
bik6CisgICAgICAgIChKU0M6OmdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY1NsaWNlKToK
KyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNy
ZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmg6CisgICAgICAg
ICogcnVudGltZS9KU1R5cGUuY3BwOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAg
ICAgICAgKiBydW50aW1lL0pTVHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5
Q29uc3RydWN0b3JzLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHA6Cisg
ICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmg6CisgICAgICAgICogcnVu
dGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDX0RF
RklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5cy5oOgorICAgICAgICAqIHJ1bnRpbWUvVG9OYXRpdmVG
cm9tVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6dG9OYXRpdmVGcm9tVmFsdWUpOgorICAgICAgICAo
SlNDOjp0b05hdGl2ZUZyb21WYWx1ZVdpdGhvdXRDb2VyY2lvbik6CisgICAgICAgICogcnVudGlt
ZS9UeXBlZEFycmF5QWRhcHRvcnMuaDoKKyAgICAgICAgKEpTQzo6SW50ZWdyYWxUeXBlZEFycmF5
QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6RmxvYXRUeXBlZEFycmF5QWRhcHRv
cjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OnRv
SlNWYWx1ZSk6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05hdGl2
ZUZyb21JbnQzMik6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05h
dGl2ZUZyb21VaW50MzIpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjo6
dG9OYXRpdmVGcm9tRG91YmxlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0
b3I6OmNvbnZlcnRUbyk6CisgICAgICAgIChKU0M6OlVpbnQ4Q2xhbXBlZEFkYXB0b3I6OnRvSlNW
YWx1ZSk6CisgICAgICAgIChKU0M6OkludGVncmFsVHlwZWRBcnJheUFkYXB0b3I6OnRvRG91Ymxl
KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RmxvYXRUeXBlZEFycmF5QWRhcHRvcjo6dG9Eb3Vi
bGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpVaW50OENsYW1wZWRBZGFwdG9yOjp0b0RvdWJs
ZSk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHA6CisgICAg
ICAgIChKU0M6OmNvbnN0cnVjdG9yQ2xhc3NJbmZvRm9yVHlwZSk6CisgICAgICAgIChXVEY6OnBy
aW50SW50ZXJuYWwpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZWRBcnJheVR5cGUuaDoKKyAgICAg
ICAgKEpTQzo6aXNCaWdJbnRUeXBlZFZpZXcpOgorICAgICAgICAoSlNDOjpsb2dFbGVtZW50U2l6
ZSk6CisgICAgICAgIChKU0M6OmlzQmlnSW50KToKKyAgICAgICAgKEpTQzo6aXNTaWduZWQpOgor
ICAgICAgICAoSlNDOjpjb250ZW50VHlwZSk6CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5
cy5oOgorICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoK
KwogMjAyMS0wMS0yOSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTb3VyY2VQYXJzZU1vZGUgc2hvdWxkIGJlIGEgbWVtYmVyIG9mIHRoZSBKU0M6OlBh
cnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXku
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwCmluZGV4IDY4
OWZlOWU2Zjg3NzQyYTgxZGNjNjEwM2IxMjQ3ZWRhYWFmYTc4YzYuLjQzNjg1MTliZDQ1NTJjOWJj
OTk2MWI1YWJhNzI4ZmY0NGMwYjIzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNUeXBlZEFycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VHlwZWRBcnJheS5jcHAKQEAgLTY0LDYgKzY0LDEwIEBAIGlubGluZSBKU1R5cGVkQXJyYXlUeXBl
IHRvSlNUeXBlZEFycmF5VHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4g
a0pTVHlwZWRBcnJheVR5cGVGbG9hdDMyQXJyYXk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAg
ICAgICAgcmV0dXJuIGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OworICAgIGNhc2UgVHlw
ZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5
OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIGtKU1R5cGVkQXJyYXlU
eXBlQmlnVWludDY0QXJyYXk7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiB9CkBAIC05Miw2ICs5NiwxMCBAQCBpbmxpbmUgVHlwZWRBcnJheVR5cGUgdG9UeXBlZEFy
cmF5VHlwZShKU1R5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQz
MjsKICAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1
cm4gVHlwZUZsb2F0NjQ7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXk6
CisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlw
ZUJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICB9CiAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KQEAgLTEyMyw2ICsxMzEsMTAgQEAg
c3RhdGljIEpTT2JqZWN0KiBjcmVhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTVHlwZWRBcnJheVR5cGUKICAgICAgICAgcmV0dXJuIEpTRmxvYXQzMkFycmF5Ojpj
cmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlw
ZUZsb2F0MzIpLCBXVEZNb3ZlKGJ1ZmZlciksIG9mZnNldCwgbGVuZ3RoKTsKICAgICBjYXNlIGtK
U1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gSlNGbG9hdDY0QXJy
YXk6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJheVN0cnVjdHVy
ZShUeXBlRmxvYXQ2NCksIFdURk1vdmUoYnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgpOworICAgIGNh
c2Uga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gSlNCaWdJ
bnQ2NEFycmF5OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPnR5cGVkQXJyYXlT
dHJ1Y3R1cmUoVHlwZUJpZ0ludDY0KSwgV1RGTW92ZShidWZmZXIpLCBvZmZzZXQsIGxlbmd0aCk7
CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1
cm4gSlNCaWdVaW50NjRBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT50
eXBlZEFycmF5U3RydWN0dXJlKFR5cGVCaWdVaW50NjQpLCBXVEZNb3ZlKGJ1ZmZlciksIG9mZnNl
dCwgbGVuZ3RoKTsKICAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXI6CiAgICAg
Y2FzZSBrSlNUeXBlZEFycmF5VHlwZU5vbmU6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVS
ZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5oCmluZGV4IDkxMWI0
YmZjNGRmMTlhMDQ3ZGNlYTA4NDhkNGQ1MmMyOGU3Nzg3ZGYuLjJhOTA3OWFlMDAwNjUxOTQ5NzA0
YWFhNGNjYTQ4OWFmODA2ZmNmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNWYWx1ZVJlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJl
Zi5oCkBAIC02Niw2ICs2Niw4IEBAIHR5cGVkZWYgZW51bSB7CiAgQGNvbnN0YW50ICAgICBrSlNU
eXBlZEFycmF5VHlwZVVpbnQzMkFycmF5ICAgICAgICAgIFVpbnQzMkFycmF5CiAgQGNvbnN0YW50
ICAgICBrSlNUeXBlZEFycmF5VHlwZUZsb2F0MzJBcnJheSAgICAgICAgIEZsb2F0MzJBcnJheQog
IEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXkgICAgICAgICBGbG9h
dDY0QXJyYXkKKyBAY29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlQmlnSW50NjRBcnJheSAg
ICAgICAgQmlnSW50NjRBcnJheQorIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVCaWdV
aW50NjRBcnJheSAgICAgICBCaWdVaW50NjRBcnJheQogIEBjb25zdGFudCAgICAga0pTVHlwZWRB
cnJheVR5cGVBcnJheUJ1ZmZlciAgICAgICAgICBBcnJheUJ1ZmZlcgogIEBjb25zdGFudCAgICAg
a0pTVHlwZWRBcnJheVR5cGVOb25lICAgICAgICAgICAgICAgICBOb3QgYSBUeXBlZCBBcnJheQog
CkBAIC04Miw2ICs4NCw4IEBAIHR5cGVkZWYgZW51bSB7CiAgICAga0pTVHlwZWRBcnJheVR5cGVG
bG9hdDY0QXJyYXksCiAgICAga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlciwKICAgICBrSlNU
eXBlZEFycmF5VHlwZU5vbmUsCisgICAga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2NEFycmF5LAor
ICAgIGtKU1R5cGVkQXJyYXlUeXBlQmlnVWludDY0QXJyYXksCiB9IEpTVHlwZWRBcnJheVR5cGUg
SlNDX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkpOwogCiAjaWZkZWYgX19j
cGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlw
ZWRBcnJheUNUZXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRB
cnJheUNUZXN0LmNwcAppbmRleCAyMzdiZDQ2NTg2ZjJmZjYwNjM5YzYzNjc3NjExYThiNTBiNjgw
MjdjLi43NWY1NzA3ZTUyMTY3M2UxOTI5YzVkNzMzY2YwMjc4ZWRkMWE5M2ExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJyYXlDVGVzdC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwCkBA
IC00OSw3ICs0OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsZW5ndGhzW251bUxlbmd0aHNd
ID0KICAgICAxMCwKIH07CiAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBieXRlU2l6ZXNba0pTVHlw
ZWRBcnJheVR5cGVBcnJheUJ1ZmZlcl0gPQorc3RhdGljIGNvbnN0IHVuc2lnbmVkIGJ5dGVTaXpl
c1tdID0KIHsKICAgICAxLCAvLyBrSlNUeXBlZEFycmF5VHlwZUludDhBcnJheQogICAgIDIsIC8v
IGtKU1R5cGVkQXJyYXlUeXBlSW50MTZBcnJheQpAQCAtNjAsOSArNjAsMTMgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGJ5dGVTaXplc1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CiAg
ICAgNCwgLy8ga0pTVHlwZWRBcnJheVR5cGVVaW50MzJBcnJheQogICAgIDQsIC8vIGtKU1R5cGVk
QXJyYXlUeXBlRmxvYXQzMkFycmF5CiAgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0
QXJyYXkKKyAgICAwLCAvLyBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyCisgICAgMCwgLy8g
a0pTVHlwZWRBcnJheVR5cGVOb25lCisgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVCaWdJbnQ2
NEFycmF5CisgICAgOCwgLy8ga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheQogfTsKIAot
c3RhdGljIGNvbnN0IGNoYXIqIHR5cGVUb1N0cmluZ1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVm
ZmVyXSA9CitzdGF0aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW10gPQogewogICAgICJrSlNU
eXBlZEFycmF5VHlwZUludDhBcnJheSIsCiAgICAgImtKU1R5cGVkQXJyYXlUeXBlSW50MTZBcnJh
eSIsCkBAIC03Myw2ICs3NywxMCBAQCBzdGF0aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW2tK
U1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXJdID0KICAgICAia0pTVHlwZWRBcnJheVR5cGVVaW50
MzJBcnJheSIsCiAgICAgImtKU1R5cGVkQXJyYXlUeXBlRmxvYXQzMkFycmF5IiwKICAgICAia0pT
VHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXkiLAorICAgICJrSlNUeXBlZEFycmF5VHlwZUFycmF5
QnVmZmVyIiwKKyAgICAia0pTVHlwZWRBcnJheVR5cGVOb25lIiwKKyAgICAia0pTVHlwZWRBcnJh
eVR5cGVCaWdJbnQ2NEFycmF5IiwKKyAgICAia0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJh
eSIsCiB9OwogCiBpbmxpbmUgaW50IHVuZXhwZWN0ZWRFeGNlcHRpb24oY29uc3QgY2hhciogbmFt
ZSkKQEAgLTIxMiw4ICsyMjAsMTAgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+CiBzdGF0
aWMgaW50IGZvckVhY2hUeXBlZEFycmF5VHlwZShjb25zdCBGdW5jdG9yJiBmdW5jdG9yKQogewog
ICAgIGludCBmYWlsZWQgPSAwOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBrSlNUeXBl
ZEFycmF5VHlwZUFycmF5QnVmZmVyOyBpKyspCi0gICAgICAgIGZhaWxlZCA9IGZhaWxlZCB8fCBm
dW5jdG9yKHN0YXRpY19jYXN0PEpTVHlwZWRBcnJheVR5cGU+KGkpKTsKKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcjsgaSsrKSB7CisgICAg
ICAgIGlmIChpICE9IGtKU1R5cGVkQXJyYXlUeXBlTm9uZSAmJiBpICE9IGtKU1R5cGVkQXJyYXlU
eXBlQXJyYXlCdWZmZXIpCisgICAgICAgICAgICBmYWlsZWQgPSBmYWlsZWQgfHwgZnVuY3Rvcihz
dGF0aWNfY2FzdDxKU1R5cGVkQXJyYXlUeXBlPihpKSk7CisgICAgfQogICAgIHJldHVybiBmYWls
ZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNjRhMzY1NDJh
ZWY5NWExMDk4M2FmOGQ5OTRhZWViZTNmZGJkYWUxLi40ZGY4YTI1MGMwYzliZDIyM2U1Njg2YWQ3
YzVmNjdmOWEwMTBlNzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04
MjIsOCArODIyLDEwIEBAIHNldChKYXZhU2NyaXB0Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFE
RVJTCiAgICAgcnVudGltZS9BdXhpbGlhcnlCYXJyaWVySW5saW5lcy5oCiAgICAgcnVudGltZS9C
YXNpY0Jsb2NrTG9jYXRpb24uaAogICAgIHJ1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6
ZXIuaAorICAgIHJ1bnRpbWUvQmlnSW50NjRBcnJheS5oCiAgICAgcnVudGltZS9CaWdJbnRPYmpl
Y3QuaAogICAgIHJ1bnRpbWUvQmlnSW50UHJvdG90eXBlLmgKKyAgICBydW50aW1lL0JpZ1VpbnQ2
NEFycmF5LmgKICAgICBydW50aW1lL0Jvb2xlYW5PYmplY3QuaAogICAgIHJ1bnRpbWUvQm9vbGVh
blByb3RvdHlwZS5oCiAgICAgcnVudGltZS9CdXR0ZXJmbHkuaApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA4M2RlNzliODQxZjliMWZhMzk1MzcyNWQyNWUyMTE5NWIwZDAwNDU4Li5k
NjJhNGY0NDFkODhkM2ExMzgyOWNmNmNmZjJmMTlhMjg2ZTMzNjZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTg0OCw2ICsxODQ4LDggQEAKIAkJRTM1QTBCOUQyMjBBRDg3QTAw
QUM0NDc0IC8qIEV4ZWN1dGFibGVCYXNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1QTBCOUMyMjBBRDg3QTAwQUM0NDc0IC8qIEV4ZWN1
dGFibGVCYXNlSW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUUzNUNBMTU0MURCQzNBNUMwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUNBMTUy
MURCQzNBNTYwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzVDQTE1NjFEQkMzQTVGMDBGODM1MTYg
LyogRE9NSklUQWJzdHJhY3RIZWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzVDQTE1MDFEQkMzQTU2MDBGODM1MTYgLyogRE9NSklUQWJzdHJhY3RI
ZWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RTM1RTg5RkQyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ0ludDY0QXJyYXkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUU4OUZCMjVDNTBGODYwMDcxRUUx
RSAvKiBCaWdJbnQ2NEFycmF5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJRTM1RTg5RkUyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ1VpbnQ2NEFycmF5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVFODlG
QzI1QzUwRjg3MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzYzN0VFOTIzNkU1NkIwMDA5NkJEMEEg
LyogTGlua1RpbWVDb25zdGFudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTM2MzdFRTcyMzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzY1
RjMzQTI0QUE2MjM5MDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc0NvbnN0cnVjdG9yLmx1dC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM2NUYzMzky
NEFBNjIxMjAwQzk5MUIyIC8qIEludGxEaXNwbGF5TmFtZXNDb25zdHJ1Y3Rvci5sdXQuaCAqLzsg
fTsKIAkJRTM2NUYzM0IyNEFBNjIzQjAwQzk5MUIyIC8qIEludGxEaXNwbGF5TmFtZXNQcm90b3R5
cGUubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MzY1RjMzODI0QUE2MjExMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc1Byb3RvdHlwZS5sdXQu
aCAqLzsgfTsKQEAgLTUwNjEsNiArNTA2Myw4IEBACiAJCUUzNUNBMTUwMURCQzNBNTYwMEY4MzUx
NiAvKiBET01KSVRBYnN0cmFjdEhlYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NSklUQWJzdHJhY3RIZWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUz
NUNBMTUxMURCQzNBNTYwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NSklUSGVhcFJhbmdlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM1Q0ExNTIxREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhl
YXBSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01KSVRIZWFwUmFu
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTM1RTg5RkIyNUM1MEY4NjAwNzFF
RTFFIC8qIEJpZ0ludDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QmlnSW50NjRBcnJheS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVFODlGQzI1
QzUwRjg3MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQmlnVWludDY0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTM2MzdFRTcyMzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlua1RpbWVDb25zdGFudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzYzN0VFODIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVD
b25zdGFudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMaW5rVGlt
ZUNvbnN0YW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM2NUYzMzgyNEFB
NjIxMTAwQzk5MUIyIC8qIEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGxEaXNwbGF5TmFtZXNQcm90b3R5cGUubHV0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MTM2LDYgKzcxNDAsNyBAQAogCQkJCTUy
Njc4RjhDMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICovLAogCQkJ
CTUyNjc4RjhEMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCAqLywKIAkJ
CQkxNDdCODNBQTBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIu
aCAqLywKKwkJCQlFMzVFODlGQjI1QzUwRjg2MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5oICov
LAogCQkJCTg2OTc2RTU4MUZBMzc1NkQwMEU3QzRFMSAvKiBCaWdJbnRDb25zdHJ1Y3Rvci5jcHAg
Ki8sCiAJCQkJODY5NzZFNTcxRkEzNzU0MDAwRTdDNEUxIC8qIEJpZ0ludENvbnN0cnVjdG9yLmgg
Ki8sCiAJCQkJODY2NzM5RDAxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCAqLywKQEAg
LTcxNDMsNiArNzE0OCw3IEBACiAJCQkJODYxODE2NzYxRkI3OTIyRjAwRUNDNEVDIC8qIEJpZ0lu
dE9iamVjdC5oICovLAogCQkJCTg2OTc2RTVCMUZBMzc1QTgwMEU3QzRFMSAvKiBCaWdJbnRQcm90
b3R5cGUuY3BwICovLAogCQkJCTg2OTc2RTVBMUZBMzc1OEEwMEU3QzRFMSAvKiBCaWdJbnRQcm90
b3R5cGUuaCAqLywKKwkJCQlFMzVFODlGQzI1QzUwRjg3MDA3MUVFMUUgLyogQmlnVWludDY0QXJy
YXkuaCAqLywKIAkJCQlCQzc5NTIzMjBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0cnVj
dG9yLmNwcCAqLywKIAkJCQlCQzc5NTIzMzBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0
cnVjdG9yLmggKi8sCiAJCQkJRjY5MkE4NTAwMjU1NTk3RDAxRkY2MEY3IC8qIEJvb2xlYW5PYmpl
Y3QuY3BwICovLApAQCAtOTI1NSwxMCArOTI2MSwxMiBAQAogCQkJCTBGMkM2M0IyMUU2MEFFNDcw
MEMxMzgzOSAvKiBCM1dpZHRoLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MjY3OEY4RjFBMDMxMDA5
MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDdC
ODNBQzBFNkRCOEM5MDA0Nzc1QTQgLyogQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUUzNUU4OUZEMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdJbnQ2NEFycmF5
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4Njk3NkU1RjFGQTNFOEJDMDBFN0M0RTEgLyogQmlnSW50
Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2NjczOUQyMTNCRkRFNzEwMDIzRDg3
QyAvKiBCaWdJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjE4MTY3NzFGQjc5MjQyMDBF
Q0M0RUMgLyogQmlnSW50T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4Njk3NkU1RTFGQTNF
OEI2MDBFN0M0RTEgLyogQmlnSW50UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzVF
ODlGRTI1QzUwRjg3MDA3MUVFMUUgLyogQmlnVWludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGNjRCMjcyMUE3ODRCQUYwMDZFNEU2NiAvKiBCaW5hcnlTd2l0Y2guaCBpbiBIZWFkZXJz
ICovLAogCQkJCUMyQjkxNkMyMTREQTAxNEUwMENCQUM4NiAvKiBCbG9ja0RpcmVjdG9yeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTM4NjUyRTMyMzdDQTBDOTAwRTFENUVFIC8qIEJsb2NrRGlyZWN0
b3J5Qml0cy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvQnVpbHRpbk5hbWVzLmgKaW5kZXggNDRjNmIyMzVlZmVjZDM1MDQ2YzcxZjdhYmU5ZDJiM2Y3
NWQzOWY5MS4uM2I5NDkzNzE1ODY1M2NiNzYwNWY0NGI1ZGM4MjAwNDBjZDA2NDMzOCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaApAQCAtNzAsNiAr
NzAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBtYWNybyhTZXQpIFwKICAgICBtYWNybyh0aHJv
d1R5cGVFcnJvckZ1bmN0aW9uKSBcCiAgICAgbWFjcm8odHlwZWRBcnJheUxlbmd0aCkgXAorICAg
IG1hY3JvKHR5cGVkQXJyYXlDb250ZW50VHlwZSkgXAogICAgIG1hY3JvKHR5cGVkQXJyYXlTb3J0
KSBcCiAgICAgbWFjcm8odHlwZWRBcnJheUdldE9yaWdpbmFsQ29uc3RydWN0b3IpIFwKICAgICBt
YWNybyh0eXBlZEFycmF5U3ViYXJyYXlDcmVhdGUpIFwKQEAgLTk4LDYgKzk5LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgbWFjcm8oVWludDMyQXJyYXkpIFwKICAgICBtYWNybyhGbG9hdDMyQXJy
YXkpIFwKICAgICBtYWNybyhGbG9hdDY0QXJyYXkpIFwKKyAgICBtYWNybyhCaWdJbnQ2NEFycmF5
KSBcCisgICAgbWFjcm8oQmlnVWludDY0QXJyYXkpIFwKICAgICBtYWNybyhleGVjKSBcCiAgICAg
bWFjcm8oZ2VuZXJhdG9yKSBcCiAgICAgbWFjcm8oZ2VuZXJhdG9yTmV4dCkgXApAQCAtMTczLDcg
KzE3Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1hY3JvKHdlYkFzc2VtYmx5SW5zdGFudGlh
dGVTdHJlYW1pbmdJbnRlcm5hbCkgXAogICAgIG1hY3JvKGluc3RhbmNlRmllbGRJbml0aWFsaXpl
cikgXAogICAgIG1hY3JvKGhhc093blByb3BlcnR5RnVuY3Rpb24pIFwKLSAgICBtYWNybyhjcmVh
dGVQcml2YXRlU3ltYm9sKQorICAgIG1hY3JvKGNyZWF0ZVByaXZhdGVTeW1ib2wpIFwKKyAgICBt
YWNybyh0b0JpZ0ludCkgXAorICAgIG1hY3JvKGlzQmlnSW50VHlwZWRBcnJheVZpZXcpCiAKIG5h
bWVzcGFjZSBTeW1ib2xzIHsKICNkZWZpbmUgREVDTEFSRV9CVUlMVElOX1NUQVRJQ19TWU1CT0xT
KG5hbWUpIGV4dGVybiBKU19FWFBPUlRfUFJJVkFURSBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJ
bXBsIG5hbWUjI1N5bWJvbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9UeXBlZEFycmF5UHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMKaW5kZXggNWJmYzYwODBjZGEyZTgyOTI3ZTVlZmYw
YmJjYjU0YjBlMjFmNzVlMy4uMmQ1MmFmMjRmZDBmNjFhYzgzNGVkODljYTg4OGNjOTYwNmVhNTg4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQ
cm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlQcm90b3R5cGUuanMKQEAgLTkxLDcgKzkxLDEwIEBAIGZ1bmN0aW9uIGZpbGwodmFsdWUgLyog
Wywgc3RhcnQgWywgZW5kXV0gKi8pCiAKICAgICB2YXIgbGVuZ3RoID0gQHR5cGVkQXJyYXlMZW5n
dGgodGhpcyk7CiAKLSAgICB2YXIgbnVtYmVyID0gQHRvTnVtYmVyKHZhbHVlKTsKKyAgICBpZiAo
QGlzQmlnSW50VHlwZWRBcnJheVZpZXcodGhpcykpCisgICAgICAgIHZhciBudW1iZXIgPSBAdG9C
aWdJbnQodmFsdWUpOworICAgIGVsc2UKKyAgICAgICAgdmFyIG51bWJlciA9IEB0b051bWJlcih2
YWx1ZSk7CiAKICAgICB2YXIgc3RhcnQgPSBAdHlwZWRBcnJheUNsYW1wQXJndW1lbnRUb1N0YXJ0
T3JFbmQoQGFyZ3VtZW50KDEpLCBsZW5ndGgsIDApOwogICAgIHZhciBlbmQgPSBAdHlwZWRBcnJh
eUNsYW1wQXJndW1lbnRUb1N0YXJ0T3JFbmQoQGFyZ3VtZW50KDIpLCBsZW5ndGgsIGxlbmd0aCk7
CkBAIC0zMzUsNiArMzM4LDggQEAgZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCB0aGlzQXJnICov
KQogICAgIHZhciByZXN1bHQgPSBuZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKICAgICBpZiAoQHR5
cGVkQXJyYXlMZW5ndGgocmVzdWx0KSA8IGxlbmd0aCkKICAgICAgICAgQHRocm93VHlwZUVycm9y
KCJUeXBlZEFycmF5LnByb3RvdHlwZS5tYXAgY29uc3RydWN0ZWQgdHlwZWQgYXJyYXkgb2YgaW5z
dWZmaWNpZW50IGxlbmd0aCIpOworICAgIGlmIChAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHRoaXMp
ICE9PSBAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHJlc3VsdCkpCisgICAgICAgIEB0aHJvd1R5cGVF
cnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUubWFwIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5IG9m
IGRpZmZlcmVudCBjb250ZW50IHR5cGUgZnJvbSB8dGhpc3wiKTsKIAogICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgdmFyIG1hcHBlZFZhbHVlID0gY2FsbGJh
Y2suQGNhbGwodGhpc0FyZywgdGhpc1tpXSwgaSwgdGhpcyk7CkBAIC0zNjYsNiArMzcxLDggQEAg
ZnVuY3Rpb24gZmlsdGVyKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKQogICAgIHZhciByZXN1bHQg
PSBuZXcgY29uc3RydWN0b3IobGVuZ3RoKTsKICAgICBpZiAoQHR5cGVkQXJyYXlMZW5ndGgocmVz
dWx0KSA8IGxlbmd0aCkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5LnByb3Rv
dHlwZS5maWx0ZXIgY29uc3RydWN0ZWQgdHlwZWQgYXJyYXkgb2YgaW5zdWZmaWNpZW50IGxlbmd0
aCIpOworICAgIGlmIChAdHlwZWRBcnJheUNvbnRlbnRUeXBlKHRoaXMpICE9PSBAdHlwZWRBcnJh
eUNvbnRlbnRUeXBlKHJlc3VsdCkpCisgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRBcnJh
eS5wcm90b3R5cGUuZmlsdGVyIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5IG9mIGRpZmZlcmVudCBj
b250ZW50IHR5cGUgZnJvbSB8dGhpc3wiKTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVu
Z3RoOyBpKyspCiAgICAgICAgIHJlc3VsdFtpXSA9IGtlcHRbaV07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3BwCmluZGV4IDFmYzc2Nzg1MWVlZTg5
ZDE3NGE4MDA5MTBjNTNhOGU4ZDMwMjU3MDAuLjk0NWVhODlhOWRkOGYyNGNmODc5ZTU1YjJhNDk0
MjhjYWYxY2RhMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9B
cnJheVByb2ZpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJh
eVByb2ZpbGUuY3BwCkBAIC00NCw2ICs0NCw4IEBAIGNvbnN0IEFycmF5TW9kZXMgdHlwZWRBcnJh
eU1vZGVzW051bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXddID0gewogICAg
IFVpbnQzMkFycmF5TW9kZSwKICAgICBGbG9hdDMyQXJyYXlNb2RlLAogICAgIEZsb2F0NjRBcnJh
eU1vZGUsCisgICAgQmlnSW50NjRBcnJheU1vZGUsCisgICAgQmlnVWludDY0QXJyYXlNb2RlLAog
fTsKIAogdm9pZCBkdW1wQXJyYXlNb2RlcyhQcmludFN0cmVhbSYgb3V0LCBBcnJheU1vZGVzIGFy
cmF5TW9kZXMpCkBAIC0xMTAsNiArMTEyLDEwIEBAIHZvaWQgZHVtcEFycmF5TW9kZXMoUHJpbnRT
dHJlYW0mIG91dCwgQXJyYXlNb2RlcyBhcnJheU1vZGVzKQogICAgICAgICBvdXQucHJpbnQoY29t
bWEsICJGbG9hdDMyQXJyYXlNb2RlIik7CiAgICAgaWYgKGFycmF5TW9kZXMgJiBGbG9hdDY0QXJy
YXlNb2RlKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJGbG9hdDY0QXJyYXlNb2RlIik7Cisg
ICAgaWYgKGFycmF5TW9kZXMgJiBCaWdJbnQ2NEFycmF5TW9kZSkKKyAgICAgICAgb3V0LnByaW50
KGNvbW1hLCAiQmlnSW50NjRBcnJheU1vZGUiKTsKKyAgICBpZiAoYXJyYXlNb2RlcyAmIEJpZ1Vp
bnQ2NEFycmF5TW9kZSkKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQmlnVWludDY0QXJyYXlN
b2RlIik7CiB9CiAKIHZvaWQgQXJyYXlQcm9maWxlOjpjb21wdXRlVXBkYXRlZFByZWRpY3Rpb24o
Y29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogY29kZUJsb2NrKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCmluZGV4IDk0
MjY1N2M2MmYwNzQ5Y2EwNWM0ZWVlNGQ2N2I5NWZlNjQ1NWQ5ZTcuLjZkYzdiMGU1NDQ3ZmUwNjBk
YmNiZDI0ZDk5MDk3NTY1NzlmYzY1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQXJyYXlQcm9maWxlLmgKQEAgLTQ3LDE1ICs0NywxNyBAQCBjb25zdCBBcnJheU1vZGVz
IENvcHlPbldyaXRlQXJyYXlXaXRoSW50MzJBcnJheU1vZGUgPSAxIDw8IENvcHlPbldyaXRlQXJy
YXlXaXRoSQogY29uc3QgQXJyYXlNb2RlcyBDb3B5T25Xcml0ZUFycmF5V2l0aERvdWJsZUFycmF5
TW9kZSA9IDEgPDwgQ29weU9uV3JpdGVBcnJheVdpdGhEb3VibGU7CiBjb25zdCBBcnJheU1vZGVz
IENvcHlPbldyaXRlQXJyYXlXaXRoQ29udGlndW91c0FycmF5TW9kZSA9IDEgPDwgQ29weU9uV3Jp
dGVBcnJheVdpdGhDb250aWd1b3VzOwogCi1jb25zdCBBcnJheU1vZGVzIEludDhBcnJheU1vZGUg
PSAxIDw8IDE2OwotY29uc3QgQXJyYXlNb2RlcyBJbnQxNkFycmF5TW9kZSA9IDEgPDwgMTc7Ci1j
b25zdCBBcnJheU1vZGVzIEludDMyQXJyYXlNb2RlID0gMSA8PCAxODsKLWNvbnN0IEFycmF5TW9k
ZXMgVWludDhBcnJheU1vZGUgPSAxIDw8IDE5OwotY29uc3QgQXJyYXlNb2RlcyBVaW50OENsYW1w
ZWRBcnJheU1vZGUgPSAxIDw8IDIwOyAvLyAyMSAtIDI1IGFyZSB1c2VkIGZvciBDb1cgYXJyYXlz
LgotY29uc3QgQXJyYXlNb2RlcyBVaW50MTZBcnJheU1vZGUgPSAxIDw8IDI2OwotY29uc3QgQXJy
YXlNb2RlcyBVaW50MzJBcnJheU1vZGUgPSAxIDw8IDI3OwotY29uc3QgQXJyYXlNb2RlcyBGbG9h
dDMyQXJyYXlNb2RlID0gMSA8PCAyODsKLWNvbnN0IEFycmF5TW9kZXMgRmxvYXQ2NEFycmF5TW9k
ZSA9IDEgPDwgMjk7Citjb25zdCBBcnJheU1vZGVzIEludDhBcnJheU1vZGUgPSAxVSA8PCAxNjsK
K2NvbnN0IEFycmF5TW9kZXMgSW50MTZBcnJheU1vZGUgPSAxVSA8PCAxNzsKK2NvbnN0IEFycmF5
TW9kZXMgSW50MzJBcnJheU1vZGUgPSAxVSA8PCAxODsKK2NvbnN0IEFycmF5TW9kZXMgVWludDhB
cnJheU1vZGUgPSAxVSA8PCAxOTsKK2NvbnN0IEFycmF5TW9kZXMgVWludDhDbGFtcGVkQXJyYXlN
b2RlID0gMVUgPDwgMjA7IC8vIDIxIC0gMjUgYXJlIHVzZWQgZm9yIENvVyBhcnJheXMuCitjb25z
dCBBcnJheU1vZGVzIFVpbnQxNkFycmF5TW9kZSA9IDFVIDw8IDI2OworY29uc3QgQXJyYXlNb2Rl
cyBVaW50MzJBcnJheU1vZGUgPSAxVSA8PCAyNzsKK2NvbnN0IEFycmF5TW9kZXMgRmxvYXQzMkFy
cmF5TW9kZSA9IDFVIDw8IDI4OworY29uc3QgQXJyYXlNb2RlcyBGbG9hdDY0QXJyYXlNb2RlID0g
MVUgPDwgMjk7Citjb25zdCBBcnJheU1vZGVzIEJpZ0ludDY0QXJyYXlNb2RlID0gMVUgPDwgMzA7
Citjb25zdCBBcnJheU1vZGVzIEJpZ1VpbnQ2NEFycmF5TW9kZSA9IDFVIDw8IDMxOwogCiBKU19F
WFBPUlRfUFJJVkFURSBleHRlcm4gY29uc3QgQXJyYXlNb2RlcyB0eXBlZEFycmF5TW9kZXNbTnVt
YmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdEYXRhVmlld107CiAKQEAgLTc0LDYgKzc2LDgg
QEAgY29uc3RleHByIEFycmF5TW9kZXMgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhJ
bmRleGluZ1R5cGUgaW5kZXhpbmdNb2RlKQogICAgIHwgVWludDMyQXJyYXlNb2RlICAgICAgICAg
XAogICAgIHwgRmxvYXQzMkFycmF5TW9kZSAgICAgICAgXAogICAgIHwgRmxvYXQ2NEFycmF5TW9k
ZSAgICAgICAgXAorICAgIHwgQmlnSW50NjRBcnJheU1vZGUgICAgICAgXAorICAgIHwgQmlnVWlu
dDY0QXJyYXlNb2RlICAgICAgXAogICAgICkKIAogI2RlZmluZSBBTExfTk9OX0FSUkFZX0FSUkFZ
X01PREVTICAgICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnlWYWxJbmZvLmgKaW5kZXggMDNiYjg4OTE1OGE4YjgyOGEwYmVjNzlhZmRjNTEwMTgx
NzlhY2YwNi4uNTQ5NzQ1M2M5ODkxYzAyYTViNDA1Y2E0MzNjMjgxZWM4MzViNDQ3NiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeVZhbEluZm8uaApAQCAtNTYsNyArNTYsOSBA
QCBlbnVtIEpJVEFycmF5TW9kZSA6IHVpbnQ4X3QgewogICAgIEpJVFVpbnQxNkFycmF5LAogICAg
IEpJVFVpbnQzMkFycmF5LAogICAgIEpJVEZsb2F0MzJBcnJheSwKLSAgICBKSVRGbG9hdDY0QXJy
YXkKKyAgICBKSVRGbG9hdDY0QXJyYXksCisgICAgSklUQmlnSW50NjRBcnJheSwKKyAgICBKSVRC
aWdVaW50NjRBcnJheSwKIH07CiAKIGlubGluZSBib29sIGlzT3B0aW1pemFibGVJbmRleGluZ1R5
cGUoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKQEAgLTE0Niw2ICsxNDgsMTAgQEAgaW5saW5l
IEpJVEFycmF5TW9kZSBqaXRBcnJheU1vZGVGb3JDbGFzc0luZm8oY29uc3QgQ2xhc3NJbmZvKiBj
bGFzc0luZm8pCiAgICAgICAgIHJldHVybiBKSVRGbG9hdDMyQXJyYXk7CiAgICAgY2FzZSBUeXBl
RmxvYXQ2NDoKICAgICAgICAgcmV0dXJuIEpJVEZsb2F0NjRBcnJheTsKKyAgICBjYXNlIFR5cGVC
aWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpJVEJpZ0ludDY0QXJyYXk7CisgICAgY2FzZSBUeXBl
QmlnVWludDY0OgorICAgICAgICByZXR1cm4gSklUQmlnVWludDY0QXJyYXk7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgQ1JBU0goKTsKICAgICAgICAgcmV0dXJuIEpJVENvbnRpZ3VvdXM7CkBAIC0x
NTcsNiArMTYzLDggQEAgaW5saW5lIGJvb2wgaml0QXJyYXlNb2RlUGVybWl0c1B1dChKSVRBcnJh
eU1vZGUgbW9kZSkKICAgICBzd2l0Y2ggKG1vZGUpIHsKICAgICBjYXNlIEpJVERpcmVjdEFyZ3Vt
ZW50czoKICAgICBjYXNlIEpJVFNjb3BlZEFyZ3VtZW50czoKKyAgICBjYXNlIEpJVEJpZ0ludDY0
QXJyYXk6CisgICAgY2FzZSBKSVRCaWdVaW50NjRBcnJheToKICAgICAgICAgLy8gV2UgY291bGQg
c3VwcG9ydCBwdXRfYnlfdmFsIG9uIHRoZXNlIGF0IHNvbWUgcG9pbnQsIGJ1dCBpdCdzIGp1c3Qg
bm90IHRoYXQgcHJvZml0YWJsZQogICAgICAgICAvLyBhdCB0aGUgbW9tZW50LgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC0yMDYsNiArMjE0LDEwIEBAIGlubGluZSBUeXBlZEFycmF5VHlwZSB0
eXBlZEFycmF5VHlwZUZvckpJVEFycmF5TW9kZShKSVRBcnJheU1vZGUgbW9kZSkKICAgICAgICAg
cmV0dXJuIFR5cGVGbG9hdDMyOwogICAgIGNhc2UgSklURmxvYXQ2NEFycmF5OgogICAgICAgICBy
ZXR1cm4gVHlwZUZsb2F0NjQ7CisgICAgY2FzZSBKSVRCaWdJbnQ2NEFycmF5OgorICAgICAgICBy
ZXR1cm4gVHlwZUJpZ0ludDY0OworICAgIGNhc2UgSklUQmlnVWludDY0QXJyYXk6CisgICAgICAg
IHJldHVybiBUeXBlQmlnVWludDY0OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIENSQVNIKCk7CiAg
ICAgICAgIHJldHVybiBOb3RUeXBlZEFycmF5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50LmgKaW5kZXggZWZhZDQwZGRkNDFmMjRlMjQ1ZDdh
NjVkYjVlMDkxYWViNTg5ZjA4Mi4uNmI4OTkyMjNmMTY4MDdmZGYxNzQ4MWUxM2ZjNmQ2MGU2NDg3
ODk0NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1l
Q29uc3RhbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVD
b25zdGFudC5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogICAgIHYo
bWFrZVR5cGVFcnJvciwgbnVsbHB0cikgXAogICAgIHYoQWdncmVnYXRlRXJyb3IsIG51bGxwdHIp
IFwKICAgICB2KHR5cGVkQXJyYXlMZW5ndGgsIG51bGxwdHIpIFwKKyAgICB2KHR5cGVkQXJyYXlD
b250ZW50VHlwZSwgbnVsbHB0cikgXAogICAgIHYodHlwZWRBcnJheUdldE9yaWdpbmFsQ29uc3Ry
dWN0b3IsIG51bGxwdHIpIFwKICAgICB2KHR5cGVkQXJyYXlTb3J0LCBudWxscHRyKSBcCiAgICAg
dihpc1R5cGVkQXJyYXlWaWV3LCBudWxscHRyKSBcCkBAIC0xMTAsNiArMTExLDggQEAgY2xhc3Mg
SlNHbG9iYWxPYmplY3Q7CiAgICAgdihjYWxsRnVuY3Rpb24sIG51bGxwdHIpIFwKICAgICB2KGhh
c093blByb3BlcnR5RnVuY3Rpb24sIG51bGxwdHIpIFwKICAgICB2KGNyZWF0ZVByaXZhdGVTeW1i
b2wsIG51bGxwdHIpIFwKKyAgICB2KHRvQmlnSW50LCBudWxscHRyKSBcCisgICAgdihpc0JpZ0lu
dFR5cGVkQXJyYXlWaWV3LCBudWxscHRyKSBcCiAKIAogI2RlZmluZSBERUNMQVJFX0xJTktfVElN
RV9DT05TVEFOVChuYW1lLCBjb2RlKSBuYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKaW5kZXggNzU2MGIzOTk4N2ZlODExZjJmMjc0
Y2FjODY1ZDU1ZDBiYWUyNjZjMy4uYmU5YWM2NmVlM2E3YTA4YWEzNTY2MDhjNTU0ODFhNjdlZWRk
ZWVlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0
ZWRUeXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRl
ZFR5cGUuY3BwCkBAIC0xNDgsNyArMTQ4LDE3IEBAIHZvaWQgZHVtcFNwZWN1bGF0aW9uKFByaW50
U3RyZWFtJiBvdXRTdHJlYW0sIFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogICAgICAgICAgICAgICAg
IHN0ck91dC5wcmludCgiRmxvYXQ2NEFycmF5Iik7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgaXNUb3AgPSBmYWxzZTsKLSAgICAKKworICAgICAgICAgICAgaWYgKHZhbHVlICYg
U3BlY0JpZ0ludDY0QXJyYXkpCisgICAgICAgICAgICAgICAgc3RyT3V0LnByaW50KCJCaWdJbnQ2
NEFycmF5Iik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaXNUb3AgPSBmYWxz
ZTsKKworICAgICAgICAgICAgaWYgKHZhbHVlICYgU3BlY0JpZ1VpbnQ2NEFycmF5KQorICAgICAg
ICAgICAgICAgIHN0ck91dC5wcmludCgiQmlnVWludDY0QXJyYXkiKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBpc1RvcCA9IGZhbHNlOworCiAgICAgICAgICAgICBpZiAodmFs
dWUgJiBTcGVjRnVuY3Rpb24pCiAgICAgICAgICAgICAgICAgc3RyT3V0LnByaW50KCJGdW5jdGlv
biIpOwogICAgICAgICAgICAgZWxzZQpAQCAtMzU5LDYgKzM2OSwxMCBAQCBzdGF0aWMgY29uc3Qg
Y2hhciogc3BlY3VsYXRpb25Ub0FiYnJldmlhdGVkU3RyaW5nKFNwZWN1bGF0ZWRUeXBlIHByZWRp
Y3Rpb24pCiAgICAgICAgIHJldHVybiAiPEZsb2F0MzJhcnJheT4iOwogICAgIGlmIChpc0Zsb2F0
NjRBcnJheVNwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQogICAgICAgICByZXR1cm4gIjxGbG9hdDY0
YXJyYXk+IjsKKyAgICBpZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24ocHJlZGljdGlvbikp
CisgICAgICAgIHJldHVybiAiPEJpZ0ludDY0YXJyYXk+IjsKKyAgICBpZiAoaXNCaWdVaW50NjRB
cnJheVNwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQorICAgICAgICByZXR1cm4gIjxCaWdVaW50NjRh
cnJheT4iOwogICAgIGlmIChpc0RpcmVjdEFyZ3VtZW50c1NwZWN1bGF0aW9uKHByZWRpY3Rpb24p
KQogICAgICAgICByZXR1cm4gIjxEaXJlY3RBcmd1bWVudHM+IjsKICAgICBpZiAoaXNTY29wZWRB
cmd1bWVudHNTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKQEAgLTQyNCw2ICs0MzgsMTAgQEAgU3Bl
Y3VsYXRlZFR5cGUgc3BlY3VsYXRpb25Gcm9tVHlwZWRBcnJheVR5cGUoVHlwZWRBcnJheVR5cGUg
dHlwZSkKICAgICAgICAgcmV0dXJuIFNwZWNGbG9hdDMyQXJyYXk7CiAgICAgY2FzZSBUeXBlRmxv
YXQ2NDoKICAgICAgICAgcmV0dXJuIFNwZWNGbG9hdDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmln
SW50NjQ6CisgICAgICAgIHJldHVybiBTcGVjQmlnSW50NjRBcnJheTsKKyAgICBjYXNlIFR5cGVC
aWdVaW50NjQ6CisgICAgICAgIHJldHVybiBTcGVjQmlnVWludDY0QXJyYXk7CiAgICAgY2FzZSBO
b3RUeXBlZEFycmF5OgogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBicmVhazsKQEAg
LTY1Niw2ICs2NzQsMTIgQEAgVHlwZWRBcnJheVR5cGUgdHlwZWRBcnJheVR5cGVGcm9tU3BlY3Vs
YXRpb24oU3BlY3VsYXRlZFR5cGUgdHlwZSkKICAgICAgICAgCiAgICAgaWYgKGlzRmxvYXQ2NEFy
cmF5U3BlY3VsYXRpb24odHlwZSkpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQ2NDsKKworICAg
IGlmIChpc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbih0eXBlKSkKKyAgICAgICAgcmV0dXJuIFR5
cGVCaWdJbnQ2NDsKKworICAgIGlmIChpc0JpZ1VpbnQ2NEFycmF5U3BlY3VsYXRpb24odHlwZSkp
CisgICAgICAgIHJldHVybiBUeXBlQmlnVWludDY0OwogICAgIAogICAgIHJldHVybiBOb3RUeXBl
ZEFycmF5OwogfQpAQCAtOTAyLDYgKzkyNiwxMCBAQCBTcGVjdWxhdGVkVHlwZSBzcGVjdWxhdGlv
bkZyb21TdHJpbmcoY29uc3QgY2hhciogc3BlY3VsYXRpb24pCiAgICAgICAgIHJldHVybiBTcGVj
RmxvYXQzMkFycmF5OwogICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNwZWNGbG9hdDY0
QXJyYXkiLCBzdHJsZW4oIlNwZWNGbG9hdDY0QXJyYXkiKSkpCiAgICAgICAgIHJldHVybiBTcGVj
RmxvYXQ2NEFycmF5OworICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNwZWNCaWdJbnQ2
NEFycmF5Iiwgc3RybGVuKCJTcGVjQmlnSW50NjRBcnJheSIpKSkKKyAgICAgICAgcmV0dXJuIFNw
ZWNCaWdJbnQ2NEFycmF5OworICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNwZWNCaWdV
aW50NjRBcnJheSIsIHN0cmxlbigiU3BlY0JpZ1VpbnQ2NEFycmF5IikpKQorICAgICAgICByZXR1
cm4gU3BlY0JpZ1VpbnQ2NEFycmF5OwogICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlvbiwgIlNw
ZWNUeXBlZEFycmF5VmlldyIsIHN0cmxlbigiU3BlY1R5cGVkQXJyYXlWaWV3IikpKQogICAgICAg
ICByZXR1cm4gU3BlY1R5cGVkQXJyYXlWaWV3OwogICAgIGlmICghc3RybmNtcChzcGVjdWxhdGlv
biwgIlNwZWNEaXJlY3RBcmd1bWVudHMiLCBzdHJsZW4oIlNwZWNEaXJlY3RBcmd1bWVudHMiKSkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCmlu
ZGV4IDgzZTY4MzVjZDFjMWNjOGM1YmZlYWZkMzg2MmQ1ZmQxNTUwNjQ4ODkuLmQ1OTA2ZjU3OWUx
YmVjM2ZkNGIxM2IzNjE2Nzg3YTVjN2VjMWFhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oCkBAIC01MSw0MCArNTEsNDIgQEAgc3RhdGlj
IGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVWludDhBcnJheSAgICAgICAgICAgICAgICAg
ICAgICAgID0gMXVsbCA8PAogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVWlu
dDhDbGFtcGVkQXJyYXkgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA4OyAvLyBJdCdzIGRlZmlu
aXRlbHkgYW4gVWludDhDbGFtcGVkQXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgogc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVWludDE2QXJyYXkgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCA5OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gVWludDE2QXJyYXkg
b3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjVWludDMyQXJyYXkgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxMDsgLy8g
SXQncyBkZWZpbml0ZWx5IGFuIFVpbnQzMkFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4K
LXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Zsb2F0MzJBcnJheSAgICAgICAg
ICAgICAgICAgICAgICA9IDF1bGwgPDwgMTE7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50MTZB
cnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNGbG9hdDY0QXJyYXkgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEy
OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gVWludDE2QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFz
c2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVHlwZWRBcnJheVZpZXcg
ICAgICAgICAgICAgICAgICAgID0gU3BlY0ludDhBcnJheSB8IFNwZWNJbnQxNkFycmF5IHwgU3Bl
Y0ludDMyQXJyYXkgfCBTcGVjVWludDhBcnJheSB8IFNwZWNVaW50OENsYW1wZWRBcnJheSB8IFNw
ZWNVaW50MTZBcnJheSB8IFNwZWNVaW50MzJBcnJheSB8IFNwZWNGbG9hdDMyQXJyYXkgfCBTcGVj
RmxvYXQ2NEFycmF5Owotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGlyZWN0
QXJndW1lbnRzICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxMzsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgRGlyZWN0QXJndW1lbnRzIG9iamVjdC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY1Njb3BlZEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTQ7
IC8vIEl0J3MgZGVmaW5pdGVseSBhIFNjb3BlZEFyZ3VtZW50cyBvYmplY3QuCi1zdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdPYmplY3QgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDE1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTdHJpbmdPYmplY3QuCi1zdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNSZWdFeHBPYmplY3QgICAgICAgICAgICAg
ICAgICAgICAgPSAxdWxsIDw8IDE2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBSZWdFeHBPYmplY3Qg
KGFuZCBub3QgYW55IHN1YmNsYXNzIG9mIFJlZ0V4cE9iamVjdCkuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNEYXRlT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDE3OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBEYXRlIG9iamVjdCBvciBvbmUgb2YgaXRz
IHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm9taXNl
T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE4OyAvLyBJdCdzIGRlZmluaXRl
bHkgYSBQcm9taXNlIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNNYXBPYmplY3QgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDE5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBNYXAgb2JqZWN0IG9yIG9uZSBv
ZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Nl
dE9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjA7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIFNldCBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjV2Vha01hcE9iamVjdCAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCAyMTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgV2Vha01hcCBvYmplY3Qgb3Ig
b25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBT
cGVjV2Vha1NldE9iamVjdCAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyMjsgLy8gSXQn
cyBkZWZpbml0ZWx5IGEgV2Vha1NldCBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgot
c3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJveHlPYmplY3QgICAgICAgICAg
ICAgICAgICAgICAgID0gMXVsbCA8PCAyMzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJveHkgb2Jq
ZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY0Rlcml2ZWRBcnJheSAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjQ7
IC8vIEl0J3MgZGVmaW5pdGVseSBhIERlcml2ZWRBcnJheSBvYmplY3QuCi1zdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNPYmplY3RPdGhlciAgICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDI1OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gb2JqZWN0IGJ1dCBub3QgSlNGaW5h
bE9iamVjdCwgSlNBcnJheSwgb3IgSlNGdW5jdGlvbi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY1N0cmluZ0lkZW50ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwg
MjY7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBhbiBpZGVudGlmaWVy
Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5nVmFyICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJp
bmcsIGFuZCBpdCdzIG5vdCBhbiBpZGVudGlmaWVyLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRmxvYXQzMkFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAx
MTsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEZsb2F0MzJBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNs
YXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGbG9hdDY0QXJyYXkg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEyOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
RmxvYXQ2NEFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0JpZ0ludDY0QXJyYXkgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMTM7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBCaWdJbnQ2NEFycmF5IG9yIG9uZSBvZiBp
dHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0JpZ1Vp
bnQ2NEFycmF5ICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTQ7IC8vIEl0J3MgZGVmaW5p
dGVseSBhbiBCaWdVaW50NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNUeXBlZEFycmF5VmlldyAgICAgICAgICAgICAg
ICAgICAgPSBTcGVjSW50OEFycmF5IHwgU3BlY0ludDE2QXJyYXkgfCBTcGVjSW50MzJBcnJheSB8
IFNwZWNVaW50OEFycmF5IHwgU3BlY1VpbnQ4Q2xhbXBlZEFycmF5IHwgU3BlY1VpbnQxNkFycmF5
IHwgU3BlY1VpbnQzMkFycmF5IHwgU3BlY0Zsb2F0MzJBcnJheSB8IFNwZWNGbG9hdDY0QXJyYXkg
fCBTcGVjQmlnSW50NjRBcnJheSB8IFNwZWNCaWdVaW50NjRBcnJheTsKK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RpcmVjdEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMTU7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERpcmVjdEFyZ3VtZW50cyBvYmplY3Qu
CitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTY29wZWRBcmd1bWVudHMgICAg
ICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTY29wZWRB
cmd1bWVudHMgb2JqZWN0Lgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3Ry
aW5nT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNzsgLy8gSXQncyBkZWZp
bml0ZWx5IGEgU3RyaW5nT2JqZWN0Lgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBT
cGVjUmVnRXhwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxODsgLy8gSXQn
cyBkZWZpbml0ZWx5IGEgUmVnRXhwT2JqZWN0IChhbmQgbm90IGFueSBzdWJjbGFzcyBvZiBSZWdF
eHBPYmplY3QpLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGF0ZU9iamVj
dCAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxOTsgLy8gSXQncyBkZWZpbml0ZWx5
IGEgRGF0ZSBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhw
ciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJvbWlzZU9iamVjdCAgICAgICAgICAgICAgICAgICAgID0g
MXVsbCA8PCAyMDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJvbWlzZSBvYmplY3Qgb3Igb25lIG9m
IGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjTWFw
T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyMTsgLy8gSXQncyBkZWZp
bml0ZWx5IGEgTWFwIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTZXRPYmplY3QgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDIyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTZXQgb2JqZWN0IG9yIG9uZSBv
ZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dl
YWtNYXBPYmplY3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjM7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIFdlYWtNYXAgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtTZXRPYmplY3QgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjQ7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFdlYWtTZXQgb2JqZWN0
IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY1Byb3h5T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjU7IC8v
IEl0J3MgZGVmaW5pdGVseSBhIFByb3h5IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMu
CitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEZXJpdmVkQXJyYXkgICAgICAg
ICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBEZXJpdmVk
QXJyYXkgb2JqZWN0Lgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT2JqZWN0
T3RoZXIgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNzsgLy8gSXQncyBkZWZpbml0
ZWx5IGFuIG9iamVjdCBidXQgbm90IEpTRmluYWxPYmplY3QsIEpTQXJyYXksIG9yIEpTRnVuY3Rp
b24uCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdJZGVudCAgICAg
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0
cmluZywgYW5kIGl0J3MgYW4gaWRlbnRpZmllci4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY1N0cmluZ1ZhciAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjk7
IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBub3QgYW4gaWRlbnRpZmll
ci4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0cmluZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IFNwZWNTdHJpbmdJZGVudCB8IFNwZWNTdHJpbmdWYXI7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIEpTU3RyaW5nLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjU3ltYm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyODsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgU3ltYm9sLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjQ2VsbE90aGVyICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyOTsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgSlNDZWxsIGJ1dCBub3QgYSBzdWJjbGFzcyBvZiBKU09iamVjdCBh
bmQgZGVmaW5pdGVseSBub3QgYSBKU1N0cmluZywgQmlnSW50LCBvciBTeW1ib2wuCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCb29sSW50MzIgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDMwOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50MzIgd2l0aCB2YWx1
ZSAwIG9yIDEuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25Cb29sSW50
MzIgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMxOyAvLyBJdCdzIGRlZmluaXRlbHkg
YW4gSW50MzIgd2l0aCB2YWx1ZSBvdGhlciB0aGFuIDAgb3IgMS4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY1N5bWJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMzA7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN5bWJvbC4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0NlbGxPdGhlciAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMzE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbCBidXQgbm90IGEgc3ViY2xhc3Mg
b2YgSlNPYmplY3QgYW5kIGRlZmluaXRlbHkgbm90IGEgSlNTdHJpbmcsIEJpZ0ludCwgb3IgU3lt
Ym9sLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQm9vbEludDMyICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzMjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIElu
dDMyIHdpdGggdmFsdWUgMCBvciAxLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBT
cGVjTm9uQm9vbEludDMyICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzMzsgLy8gSXQn
cyBkZWZpbml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgb3RoZXIgdGhhbiAwIG9yIDEuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnQzMk9ubHkgICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjQm9vbEludDMyIHwgU3BlY05vbkJvb2xJbnQzMjsgLy8gSXQncyBkZWZp
bml0ZWx5IGFuIEludDMyLgogCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJ
bnQzMkFzSW50NTIgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMyOyAvLyBJdCdzIGFu
IEludDUyIGFuZCBpdCBjYW4gZml0IGluIGFuIGludDMyLgotc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjTm9uSW50MzJBc0ludDUyICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCAzMzsgLy8gSXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuJ3QgZml0IGluIGFuIGludDMyLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50MzJBc0ludDUyICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzNDsgLy8gSXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuIGZpdCBp
biBhbiBpbnQzMi4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludDMy
QXNJbnQ1MiAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzU7IC8vIEl0J3MgYW4gSW50NTIg
YW5kIGl0IGNhbid0IGZpdCBpbiBhbiBpbnQzMi4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY0ludDUyQW55ICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQzMkFz
SW50NTIgfCBTcGVjTm9uSW50MzJBc0ludDUyOyAvLyBJdCdzIGFueSBraW5kIG9mIEludDUyLgog
Ci1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNBbnlJbnRBc0RvdWJsZSAgICAg
ICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50NTIg
YW5kIGl0J3MgaW5zaWRlIGEgZG91YmxlLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjTm9uSW50QXNEb3VibGUgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNTsgLy8g
SXQncyBkZWZpbml0ZWx5IG5vdCBhbiBJbnQ1MiBidXQgaXQncyBhIHJlYWwgbnVtYmVyIGFuZCBp
dCdzIGEgZG91YmxlLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQW55SW50
QXNEb3VibGUgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNjsgLy8gSXQncyBkZWZpbml0
ZWx5IGFuIEludDUyIGFuZCBpdCdzIGluc2lkZSBhIGRvdWJsZS4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY05vbkludEFzRG91YmxlICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMzc7IC8vIEl0J3MgZGVmaW5pdGVseSBub3QgYW4gSW50NTIgYnV0IGl0J3MgYSByZWFs
IG51bWJlciBhbmQgaXQncyBhIGRvdWJsZS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY0RvdWJsZVJlYWwgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNOb25JbnRBc0Rv
dWJsZSB8IFNwZWNBbnlJbnRBc0RvdWJsZTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgbm9uLU5hTiBk
b3VibGUuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVQdXJlTmFO
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBO
YU4gdGhhdCBpcyBzYWZlIHRvIHRhZyAoaS5lLiBwdXJlKS4KLXN0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY0RvdWJsZUltcHVyZU5hTiAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgMzc7IC8vIEl0J3MgZGVmaW5pdGVseSBhIE5hTiB0aGF0IGlzIHVuc2FmZSB0byB0YWcgKGku
ZS4gaW1wdXJlKS4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZVB1
cmVOYU4gICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzg7IC8vIEl0J3MgZGVmaW5pdGVs
eSBhIE5hTiB0aGF0IGlzIHNhZmUgdG8gdGFnIChpLmUuIHB1cmUpLgorc3RhdGljIGNvbnN0ZXhw
ciBTcGVjdWxhdGVkVHlwZSBTcGVjRG91YmxlSW1wdXJlTmFOICAgICAgICAgICAgICAgICAgID0g
MXVsbCA8PCAzOTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgdW5zYWZlIHRvIHRh
ZyAoaS5lLiBpbXB1cmUpLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRG91
YmxlTmFOICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0RvdWJsZVB1cmVOYU4gfCBTcGVj
RG91YmxlSW1wdXJlTmFOOyAvLyBJdCdzIGRlZmluaXRlbHkgc29tZSBraW5kIG9mIE5hTi4KIHN0
YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0J5dGVjb2RlRG91YmxlICAgICAgICAg
ICAgICAgICAgICA9IFNwZWNEb3VibGVSZWFsIHwgU3BlY0RvdWJsZVB1cmVOYU47IC8vIEl0J3Mg
ZWl0aGVyIGEgbm9uLU5hTiBvciBhIE5hTiBkb3VibGUsIGJ1dCBpdCdzIGRlZmluaXRlbHkgbm90
IGltcHVyZSBOYU4uCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxsRG91
YmxlICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjRG91YmxlUmVhbCB8IFNwZWNEb3VibGVO
YU47IC8vIEl0J3MgZWl0aGVyIGEgbm9uLU5hTiBvciBhIE5hTiBkb3VibGUuCkBAIC05NCwxOSAr
OTYsMTkgQEAgc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQnl0ZWNvZGVOdW1i
ZXIgICAgICAgICAgICAgICAgICAgID0gU3BlY0ludDMKIHN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY0ludEFueUZvcm1hdCAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQ1
MkFueSB8IFNwZWNJbnQzMk9ubHkgfCBTcGVjQW55SW50QXNEb3VibGU7CiAKIHN0YXRpYyBjb25z
dGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Z1bGxOdW1iZXIgICAgICAgICAgICAgICAgICAgICAg
ICA9IFNwZWNJbnRBbnlGb3JtYXQgfCBTcGVjRnVsbERvdWJsZTsgLy8gSXQncyBlaXRoZXIgYW4g
SW50MzIsIEludDUyLCBvciBhIERvdWJsZSwgYW5kIHRoZSBEb3VibGUgY2FuIGJlIGltcHVyZSBO
YU4uCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCb29sZWFuICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCb29s
ZWFuLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT3RoZXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzOTsgLy8gSXQncyBkZWZpbml0ZWx5IGVpdGhl
ciBOdWxsIG9yIFVuZGVmaW5lZC4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0Jvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDA7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhIEJvb2xlYW4uCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNPdGhlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQxOyAvLyBJdCdz
IGRlZmluaXRlbHkgZWl0aGVyIE51bGwgb3IgVW5kZWZpbmVkLgogc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjTWlzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3Bl
Y0Jvb2xlYW4gfCBTcGVjT3RoZXI7IC8vIEl0J3MgZGVmaW5pdGVseSBlaXRoZXIgYSBib29sZWFu
LCBOdWxsLCBvciBVbmRlZmluZWQuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNFbXB0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQwOyAvLyBJdCdz
IGRlZmluaXRlbHkgYW4gZW1wdHkgdmFsdWUgbWFya2VyLgotc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjSGVhcEJpZ0ludCAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCA0MTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgQmlnSW50IHRoYXQgaXMgYWxsb2NhdGVkIG9uIHRo
ZSBoZWFwCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQzMiAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBz
bWFsbCBCaWdJbnQgdGhhdCBpcyBpbmxpbmUgdGhlIEpTVmFsdWUKK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0VtcHR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgNDI7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBlbXB0eSB2YWx1ZSBtYXJrZXIuCitzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNIZWFwQmlnSW50ICAgICAgICAgICAgICAg
ICAgICAgICAgPSAxdWxsIDw8IDQzOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCaWdJbnQgdGhhdCBp
cyBhbGxvY2F0ZWQgb24gdGhlIGhlYXAKK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
U3BlY0JpZ0ludDMyICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDQ7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIHNtYWxsIEJpZ0ludCB0aGF0IGlzIGlubGluZSB0aGUgSlNWYWx1ZQog
I2lmIFVTRShCSUdJTlQzMikKIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Jp
Z0ludCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNCaWdJbnQzMiB8IFNwZWNIZWFw
QmlnSW50OwogI2Vsc2UKIC8vIFdlIHNob3VsZCBub3QgaW5jbHVkZSBTcGVjQmlnSW50MzIuIFdl
IGFyZSB1c2luZyBTcGVjQmlnSW50IGluIHZhcmlvdXMgcGxhY2VzIGxpa2UgcHJlZGljdGlvbi4g
SWYgdGhpcyBpbmNsdWRlcyBTcGVjQmlnSW50MzIsIGZpeHVwIHBoYXNlIGlzIGNvbmZ1c2VkIGlm
ICFVU0UoQklHSU5UMzIpIHNpbmNlIGl0IGlzIG5vdCB1c2luZyBBbnlCaWdJbnRVc2UuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjSGVhcEJpZ0ludDsKICNlbmRpZgotc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjRGF0YVZpZXdPYmplY3QgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCA0MzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNEYXRhVmlldy4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0RhdGFWaWV3T2JqZWN0ICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgNDU7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTRGF0YVZpZXcuCiBzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcmltaXRpdmUgICAgICAgICAgICAgICAgICAgICAgICAg
PSBTcGVjU3RyaW5nIHwgU3BlY1N5bWJvbCB8IFNwZWNCeXRlY29kZU51bWJlciB8IFNwZWNNaXNj
IHwgU3BlY0JpZ0ludDsgLy8gSXQncyBhbnkgbm9uLU9iamVjdCBKU1ZhbHVlLgogc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gU3BlY0ZpbmFsT2JqZWN0IHwgU3BlY0FycmF5IHwgU3BlY0Z1bmN0aW9uIHwgU3BlY1R5
cGVkQXJyYXlWaWV3IHwgU3BlY0RpcmVjdEFyZ3VtZW50cyB8IFNwZWNTY29wZWRBcmd1bWVudHMg
fCBTcGVjU3RyaW5nT2JqZWN0IHwgU3BlY1JlZ0V4cE9iamVjdCB8IFNwZWNEYXRlT2JqZWN0IHwg
U3BlY1Byb21pc2VPYmplY3QgfCBTcGVjTWFwT2JqZWN0IHwgU3BlY1NldE9iamVjdCB8IFNwZWNX
ZWFrTWFwT2JqZWN0IHwgU3BlY1dlYWtTZXRPYmplY3QgfCBTcGVjUHJveHlPYmplY3QgfCBTcGVj
RGVyaXZlZEFycmF5IHwgU3BlY09iamVjdE90aGVyIHwgU3BlY0RhdGFWaWV3T2JqZWN0OyAvLyBC
aXRtYXNrIHVzZWQgZm9yIHRlc3RpbmcgZm9yIGFueSBraW5kIG9mIG9iamVjdCBwcmVkaWN0aW9u
Lgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQ2VsbCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gU3BlY09iamVjdCB8IFNwZWNTdHJpbmcgfCBTcGVjU3ltYm9sIHwg
U3BlY0NlbGxPdGhlciB8IFNwZWNIZWFwQmlnSW50OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU0Nl
bGwuCkBAIC0yODcsNTEgKzI4OSwyNCBAQCBpbmxpbmUgYm9vbCBpc0Zsb2F0NjRBcnJheVNwZWN1
bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjRmxv
YXQ2NEFycmF5OwogfQogCi1pbmxpbmUgYm9vbCBpc0RpcmVjdEFyZ3VtZW50c1NwZWN1bGF0aW9u
KFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQoraW5saW5lIGJvb2wgaXNCaWdJbnQ2NEFycmF5U3BlY3Vs
YXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIHZhbHVlID09IFNwZWNE
aXJlY3RBcmd1bWVudHM7CisgICAgcmV0dXJuIHZhbHVlID09IFNwZWNCaWdJbnQ2NEFycmF5Owog
fQogCi1pbmxpbmUgYm9vbCBpc1Njb3BlZEFyZ3VtZW50c1NwZWN1bGF0aW9uKFNwZWN1bGF0ZWRU
eXBlIHZhbHVlKQoraW5saW5lIGJvb2wgaXNCaWdVaW50NjRBcnJheVNwZWN1bGF0aW9uKFNwZWN1
bGF0ZWRUeXBlIHZhbHVlKQogewotICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjU2NvcGVkQXJndW1l
bnRzOworICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjQmlnVWludDY0QXJyYXk7CiB9CiAKLWlubGlu
ZSBib29sIGlzQWN0aW9uYWJsZUludE11dGFibGVBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRU
eXBlIHZhbHVlKQotewotICAgIHJldHVybiBpc0ludDhBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQot
ICAgICAgICB8fCBpc0ludDE2QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNJ
bnQzMkFycmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzVWludDhBcnJheVNwZWN1
bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc1VpbnQ4Q2xhbXBlZEFycmF5U3BlY3VsYXRpb24o
dmFsdWUpCi0gICAgICAgIHx8IGlzVWludDE2QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAg
ICAgfHwgaXNVaW50MzJBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsKLX0KLQotaW5saW5lIGJvb2wg
aXNBY3Rpb25hYmxlRmxvYXRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2
YWx1ZSkKLXsKLSAgICByZXR1cm4gaXNGbG9hdDMyQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAg
ICAgICAgfHwgaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSk7Ci19Ci0KLWlubGluZSBi
b29sIGlzQWN0aW9uYWJsZVR5cGVkTXV0YWJsZUFycmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5
cGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGlzQWN0aW9uYWJsZUludE11dGFibGVBcnJheVNwZWN1
bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0FjdGlvbmFibGVGbG9hdE11dGFibGVBcnJheVNw
ZWN1bGF0aW9uKHZhbHVlKTsKLX0KLQotaW5saW5lIGJvb2wgaXNBY3Rpb25hYmxlTXV0YWJsZUFy
cmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBpc0RpcmVj
dEFyZ3VtZW50c1NwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogewotICAgIHJldHVy
biBpc0FycmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzQWN0aW9uYWJsZVR5cGVk
TXV0YWJsZUFycmF5U3BlY3VsYXRpb24odmFsdWUpOworICAgIHJldHVybiB2YWx1ZSA9PSBTcGVj
RGlyZWN0QXJndW1lbnRzOwogfQogCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVBcnJheVNwZWN1
bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQoraW5saW5lIGJvb2wgaXNTY29wZWRBcmd1bWVu
dHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4gaXNTdHJp
bmdTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNEaXJlY3RBcmd1bWVudHNTcGVjdWxh
dGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNTY29wZWRBcmd1bWVudHNTcGVjdWxhdGlvbih2YWx1
ZSkKLSAgICAgICAgfHwgaXNBY3Rpb25hYmxlTXV0YWJsZUFycmF5U3BlY3VsYXRpb24odmFsdWUp
OworICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjU2NvcGVkQXJndW1lbnRzOwogfQogCiBpbmxpbmUg
Ym9vbCBpc0FycmF5T3JPdGhlclNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVy
SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJl
dGVySW5saW5lcy5oCmluZGV4IDdiNWI2ODQ1ODg1YTQ1ZDMyY2Y5MDIyYzA5MGVhYWZlZTg3M2Q2
YmQuLmU4NDgyYmRiYTk3ZTIyMDNiMGNiZWE4MTQxOWQwYmQ2NDVmZWQ2NTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJ
bmxpbmVzLmgKQEAgLTM2NDcsNiArMzY0NywxMiBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8
QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQog
ICAgICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6CiAgICAgICAgICAgICBmaWx0ZXIobm9k
ZS0+Y2hpbGQxKCksIFNwZWNGbG9hdDY0QXJyYXkgfCBhZG1pdHRlZFR5cGVzKTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICAg
ICAgZmlsdGVyKG5vZGUtPmNoaWxkMSgpLCBTcGVjQmlnSW50NjRBcnJheSB8IGFkbWl0dGVkVHlw
ZXMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFy
cmF5OgorICAgICAgICAgICAgZmlsdGVyKG5vZGUtPmNoaWxkMSgpLCBTcGVjQmlnVWludDY0QXJy
YXkgfCBhZG1pdHRlZFR5cGVzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFy
cmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICAgICAgZmlsdGVyKG5vZGUtPmNoaWxkMSgpLCBT
cGVjVHlwZWRBcnJheVZpZXcgfCBhZG1pdHRlZFR5cGVzKTsKICAgICAgICAgICAgIGJyZWFrOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCmluZGV4IGM3OWNkYTQ0
Zjk4NGIzYjRjZGZhYTBlZGVlY2FhYjU0YWE4Nzg1MjEuLjlkYjE0YjVhMjE0NWEzNzMyM2U1Njgy
ZDdjNjI4YzliMGViZDcyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQXJyYXlNb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5
TW9kZS5jcHAKQEAgLTE0NSw2ICsxNDUsMTIgQEAgQXJyYXlNb2RlIEFycmF5TW9kZTo6ZnJvbU9i
c2VydmVkKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYgbG9ja2VyLCBBcnJheVByb2ZpbGUKICAg
ICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6RmxvYXQzMkFycmF5LCBub25BcnJheSwgQXJy
YXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2FmZSk7
CiAgICAgY2FzZSBGbG9hdDY0QXJyYXlNb2RlOgogICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFy
cmF5OjpGbG9hdDY0QXJyYXksIG5vbkFycmF5LCBBcnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJv
ZmlsZShsb2NrZXIsIHByb2ZpbGUsIG1ha2VTYWZlKTsKKyAgICAvLyBGSVhNRTogQWRkIEJpZ0lu
dDY0QXJyYXkgLyBCaWdVaW50NjRBcnJheSBzdXBwb3J0LgorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKKyAgICBjYXNlIEJpZ0ludDY0QXJyYXlN
b2RlOgorICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub25BcnJheSwg
QXJyYXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2Fm
ZSk7CisgICAgY2FzZSBCaWdVaW50NjRBcnJheU1vZGU6CisgICAgICAgIHJldHVybiBBcnJheU1v
ZGUoQXJyYXk6OkdlbmVyaWMsIG5vbkFycmF5LCBBcnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJv
ZmlsZShsb2NrZXIsIHByb2ZpbGUsIG1ha2VTYWZlKTsKIAogICAgIGRlZmF1bHQ6CiAgICAgICAg
IC8vIElmIHdlIGhhdmUgc2VlbiBtdWx0aXBsZSBUeXBlZEFycmF5IHR5cGVzLCBvciBhIFR5cGVk
QXJyYXkgYW5kIG5vbi10eXBlZCBhcnJheSwgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHRyeSB0
byBjb252ZXJ0IHRoZSBvYmplY3Qgc2luY2UgeW91IGNhbid0IGNvbnZlcnQgdHlwZWQgYXJyYXlz
LgpAQCAtMjkzLDYgKzI5OSwxMyBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpyZWZpbmUoCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHR5cGVkQXJyYXlSZXN1bHQod2l0aFNwZWN1bGF0aW9uKEFycmF5
OjpPdXRPZkJvdW5kcykpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0eXBlZEFycmF5UmVz
dWx0KHdpdGhTcGVjdWxhdGlvbihBcnJheTo6SW5Cb3VuZHMpKTsKKworICAgIC8vIEZJWE1FOiBB
ZGQgQmlnSW50NjRBcnJheSAvIEJpZ1VpbnQ2NEFycmF5IHN1cHBvcnQuCisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE3MgorICAgIGNhc2UgQXJyYXk6
OkJpZ0ludDY0QXJyYXk6CisgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CisgICAgICAg
IHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkdlbmVyaWMsIGFjdGlvbigpKTsKKwogICAgIGNhc2Ug
QXJyYXk6OlVucHJvZmlsZWQ6CiAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9u
czogewogICAgICAgICBiYXNlICY9IH5TcGVjT3RoZXI7CkBAIC0zNTQsNiArMzY3LDE1IEBAIEFy
cmF5TW9kZSBBcnJheU1vZGU6OnJlZmluZSgKICAgICAgICAgaWYgKGlzRmxvYXQ2NEFycmF5U3Bl
Y3VsYXRpb24oYmFzZSkpCiAgICAgICAgICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdChyZXN1
bHQud2l0aFR5cGUoQXJyYXk6OkZsb2F0NjRBcnJheSkpOwogCisgICAgICAgIC8vIEZJWE1FOiBB
ZGQgQmlnSW50NjRBcnJheSAvIEJpZ1VpbnQ2NEFycmF5IHN1cHBvcnQuCisgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKKworICAgICAgICBp
ZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCisgICAgICAgICAgICByZXR1cm4g
QXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBhY3Rpb24oKSk7CisKKyAgICAgICAgaWYgKGlzQmln
VWludDY0QXJyYXlTcGVjdWxhdGlvbihiYXNlKSkKKyAgICAgICAgICAgIHJldHVybiBBcnJheU1v
ZGUoQXJyYXk6OkdlbmVyaWMsIGFjdGlvbigpKTsKKwogICAgICAgICBpZiAodHlwZSgpID09IEFy
cmF5OjpVbnByb2ZpbGVkKQogICAgICAgICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6Rm9y
Y2VFeGl0LCBhY3Rpb24oKSk7CiAgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkdlbmVy
aWMsIGFjdGlvbigpKTsKQEAgLTYwNSw2ICs2MjcsMTIgQEAgYm9vbCBBcnJheU1vZGU6OmFscmVh
ZHlDaGVja2VkKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgQWJzdHJhY3RWYWx1ZSYg
dmEKICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6CiAgICAgICAgIHJldHVybiBzcGVjdWxh
dGlvbkNoZWNrZWQodmFsdWUubV90eXBlLCBTcGVjRmxvYXQ2NEFycmF5KTsKIAorICAgIGNhc2Ug
QXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBzcGVjdWxhdGlvbkNoZWNrZWQo
dmFsdWUubV90eXBlLCBTcGVjQmlnSW50NjRBcnJheSk7CisKKyAgICBjYXNlIEFycmF5OjpCaWdV
aW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uQ2hlY2tlZCh2YWx1ZS5tX3R5
cGUsIFNwZWNCaWdVaW50NjRBcnJheSk7CisKICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5
OgogICAgICAgICByZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY1R5
cGVkQXJyYXlWaWV3KTsKIApAQCAtNjc5LDYgKzcwNywxMCBAQCBjb25zdCBjaGFyKiBhcnJheVR5
cGVUb1N0cmluZyhBcnJheTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gIkZsb2F0MzJBcnJh
eSI7CiAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gIkZsb2F0
NjRBcnJheSI7CisgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJu
ICJCaWdJbnQ2NEFycmF5IjsKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAg
ICAgcmV0dXJuICJCaWdVaW50NjRBcnJheSI7CiAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJh
eToKICAgICAgICAgcmV0dXJuICJBbnlUeXBlZEFycmF5IjsKICAgICBkZWZhdWx0OgpAQCAtNzgx
LDYgKzgxMywxMCBAQCBUeXBlZEFycmF5VHlwZSB0b1R5cGVkQXJyYXlUeXBlKEFycmF5OjpUeXBl
IHR5cGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQzMjsKICAgICBjYXNlIEFycmF5OjpGbG9h
dDY0QXJyYXk6CiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQ2NDsKKyAgICBjYXNlIEFycmF5OjpC
aWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ0ludDY0OworICAgIGNhc2UgQXJy
YXk6OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICBj
YXNlIEFycmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKQEAgLTgxMCw2ICs4NDYsMTAg
QEAgQXJyYXk6OlR5cGUgdG9BcnJheVR5cGUoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICAgICAg
cmV0dXJuIEFycmF5OjpGbG9hdDMyQXJyYXk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAg
ICAgcmV0dXJuIEFycmF5OjpGbG9hdDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6Cisg
ICAgICAgIHJldHVybiBBcnJheTo6QmlnSW50NjRBcnJheTsKKyAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6CisgICAgICAgIHJldHVybiBBcnJheTo6QmlnVWludDY0QXJyYXk7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgcmV0dXJuIEFycmF5OjpHZW5lcmljOwogICAgIH0KQEAgLTg0NSw2ICs4ODUsOCBA
QCBib29sIHBlcm1pdHNCb3VuZHNDaGVja0xvd2VyaW5nKEFycmF5OjpUeXBlIHR5cGUpCiAgICAg
Y2FzZSBBcnJheTo6VWludDMyQXJyYXk6CiAgICAgY2FzZSBBcnJheTo6RmxvYXQzMkFycmF5Ogog
ICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFy
cmF5OgorICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgIGNhc2UgQXJyYXk6OkFu
eVR5cGVkQXJyYXk6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGRlZmF1bHQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAppbmRleCAxYzU2MzJhMzFmYmRlMTkwMzVj
NWQyNTYzNzM0YTYzMDliN2RiMDFkLi4xMTExZjg5ZjlkN2I1Yjk3Nzc4YzE2YzhkNTQ2NDBiZWEz
NzQ0MmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9k
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgKQEAgLTc2
LDYgKzc2LDggQEAgZW51bSBUeXBlIDogdWludDhfdCB7CiAgICAgVWludDMyQXJyYXksCiAgICAg
RmxvYXQzMkFycmF5LAogICAgIEZsb2F0NjRBcnJheSwKKyAgICBCaWdJbnQ2NEFycmF5LAorICAg
IEJpZ1VpbnQ2NEFycmF5LAogICAgIEFueVR5cGVkQXJyYXkKIH07CiAKQEAgLTM5Myw2ICszOTUs
OCBAQCBjbGFzcyBBcnJheU1vZGUgewogICAgICAgICBjYXNlIEFycmF5OjpVaW50MzJBcnJheToK
ICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQzMkFycmF5OgogICAgICAgICBjYXNlIEFycmF5OjpG
bG9hdDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAg
IGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgpA
QCAtNDc3LDYgKzQ4MSwxMCBAQCBjbGFzcyBBcnJheU1vZGUgewogICAgICAgICAgICAgcmV0dXJu
IEZsb2F0MzJBcnJheU1vZGU7CiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKICAg
ICAgICAgICAgIHJldHVybiBGbG9hdDY0QXJyYXlNb2RlOworICAgICAgICBjYXNlIEFycmF5OjpC
aWdJbnQ2NEFycmF5OgorICAgICAgICAgICAgcmV0dXJuIEJpZ0ludDY0QXJyYXlNb2RlOworICAg
ICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgICAgIHJldHVybiBCaWdV
aW50NjRBcnJheU1vZGU7CiAgICAgICAgIGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAg
ICAgICAgICByZXR1cm4gQUxMX1RZUEVEX0FSUkFZX01PREVTOwogICAgICAgICBkZWZhdWx0Ogpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCA1NGUzNWU3YzU2
OGE1MDYxOTZmMTNmYTU5Njc0ODNmZTdhZTg0NjA2Li5lNzY3MjNlNzVkZjlhZTk0NjQzZmFjMDNi
OWVlYjI5ODg0Zjg5ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJp
emUuaApAQCAtOTE0LDYgKzkxNCw4IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5v
ZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzoK
KyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6
QmlnVWludDY0QXJyYXk6CiAgICAgICAgICAgICBjbG9iYmVyVG9wKCk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgICAgICAKQEAgLTEwNTEsNiArMTA1Myw4IEBAIHZvaWQgY2xvYmJlcml6
ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25z
dCBXcml0ZUZ1CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAKICAgICAgICAgY2Fz
ZSBBcnJheTo6R2VuZXJpYzoKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAg
ICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgICAgICBjbG9iYmVyVG9w
KCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IDUyOTZjNjg1NjQyMThiNGNmN2I4OWRm
YjYxNjk3YmZhOTZkMzVlODYuLjUwZGVlOWRiYzJkNDVjNjE3NTI4ZTkwYmVkOWFjMGMwMDJmZWZh
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcApAQCAt
MTk0Miw2ICsxOTQyLDM4IEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdG
bG9hdDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iCiAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBlZEFycmF5Vmlld1dpdGhB
cmd1bWVudHM8SlNGbG9hdDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBlbmNvZGVk
VmFsdWUsIDAsIFdURjo6bnVsbG9wdCkpOwogfQogCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04o
b3BlcmF0aW9uTmV3QmlnSW50NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hh
ciogdmVjdG9yKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUgPSBERUNMQVJFX0NBTExfRlJBTUUodm0pOworICAgIEpJVE9wZXJh
dGlvblByb2xvZ3VlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgY2FsbEZyYW1lKTsKKyAgICBy
ZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTQmlnSW50NjRBcnJheT4oZ2xvYmFsT2JqZWN0
LCB2bSwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvcik7Cit9CisKK0pTQ19ERUZJTkVfSklUX09Q
RVJBVElPTihvcGVyYXRpb25OZXdCaWdJbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFyKiwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKKyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IERFQ0xBUkVfQ0FMTF9GUkFNRSh2bSk7
CisgICAgSklUT3BlcmF0aW9uUHJvbG9ndWVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBjYWxs
RnJhbWUpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihjb25zdHJ1Y3RHZW5l
cmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTQmlnSW50NjRBcnJheT4oZ2xvYmFsT2Jq
ZWN0LCBzdHJ1Y3R1cmUsIGVuY29kZWRWYWx1ZSwgMCwgV1RGOjpudWxsb3B0KSk7Cit9CisKK0pT
Q19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhTaXpl
LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBERUNMQVJFX0NBTExf
RlJBTUUodm0pOworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cih2bSwgY2FsbEZyYW1lKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTQmln
VWludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3Ip
OworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnVWludDY0QXJy
YXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCit7Cisg
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIENhbGxGcmFtZSogY2FsbEZyYW1l
ID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRpb25Qcm9sb2d1ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBlZEFycmF5Vmlld1dpdGhBcmd1bWVudHM8
SlNCaWdVaW50NjRBcnJheT4oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGVuY29kZWRWYWx1ZSwg
MCwgV1RGOjpudWxsb3B0KSk7Cit9CisKIEpTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRp
b25OZXdBcnJheUl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qIHZtUG9pbnRlciwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpKQogewogICAgIFZNJiB2bSA9ICp2bVBvaW50ZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCmluZGV4IDkwOWU1OTE3MWYyZWVlZGVkYjI3NTZmMmNi
ZWQwOGE2Njk3YzBlODcuLjIyMWI0YzQyNzdhZmI4ZjBkZjI5NmM1NTBiZjQzZTIyNDAzYTNkZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCkBAIC0xMzAsNiAr
MTMwLDEwIEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQzMkFy
cmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplCiBKU0NfREVDTEFSRV9KSVRfT1BFUkFU
SU9OKG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7CiBKU0NfREVDTEFSRV9K
SVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpT
R2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciopKTsKIEpTQ19ERUNMQVJF
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBj
aGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRW5jb2RlZEpTVmFsdWUpKTsKK0pT
Q19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50NjRBcnJheVdpdGhTaXpl
LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciopKTsK
K0pTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50NjRBcnJheVdpdGhP
bmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVuY29kZWRK
U1ZhbHVlKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0JpZ1VpbnQ2
NEFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBpbnQz
Ml90LCBjaGFyKikpOworSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdV
aW50NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJh
dGlvbk5ld0FycmF5SXRlcmF0b3IsIEpTQ2VsbCosIChWTSosIFN0cnVjdHVyZSopKTsKIEpTQ19E
RUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3TWFwSXRlcmF0b3IsIEpTQ2VsbCosIChW
TSosIFN0cnVjdHVyZSopKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3
U2V0SXRlcmF0b3IsIEpTQ2VsbCosIChWTSosIFN0cnVjdHVyZSopKTsKQEAgLTM2MSw2ICszNjUs
MTAgQEAgaW5saW5lIGF1dG8gb3BlcmF0aW9uTmV3VHlwZWRBcnJheVdpdGhTaXplRm9yVHlwZShU
eXBlZEFycmF5VHlwZSB0eXBlKSAtPiBkZWNsdHkKICAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5l
d0Zsb2F0MzJBcnJheVdpdGhTaXplOwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJl
dHVybiBvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoU2l6ZTsKKyAgICBjYXNlIFR5cGVCaWdJ
bnQ2NDoKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ0ludDY0QXJyYXlXaXRoU2l6ZTsK
KyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdCaWdV
aW50NjRBcnJheVdpdGhTaXplOwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5
cGVEYXRhVmlldzoKICAgICAgICAgYnJlYWs7CkBAIC0zOTAsNiArMzk4LDEwIEBAIGlubGluZSBh
dXRvIG9wZXJhdGlvbk5ld1R5cGVkQXJyYXlXaXRoT25lQXJndW1lbnRGb3JUeXBlKFR5cGVkQXJy
YXlUeXBlIHR5cGUpIC0+CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlX
aXRoT25lQXJndW1lbnQ7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgcmV0dXJuIG9w
ZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhPbmVBcmd1bWVudDsKKyAgICBjYXNlIFR5cGVCaWdJ
bnQ2NDoKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ0ludDY0QXJyYXlXaXRoT25lQXJn
dW1lbnQ7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gb3BlcmF0aW9u
TmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQ7CiAgICAgY2FzZSBOb3RUeXBlZEFycmF5
OgogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDlhOTc3Mjgx
Y2M3ZDhmZTdiOTg0MzI3ODgxNWVhMTRkNDY4ZmRiYzkuLmJmZWZiM2QzNjc5ZjliNThhNjliZjdk
ZTYxNTY2ZTg5YWY3ZWVjODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtMjY0OCw2ICsyNjQ4LDggQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAganNWYWx1ZVJlc3VsdChy
ZXN1bHRHUFIsIG5vZGUsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5Ogor
ICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgY2FzZSBBcnJheTo6
R2VuZXJpYzogewogICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9zbG93R2V0QnlWYWwuY29udGFp
bnMobm9kZSkpIHsKICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC52YXJBcmdDaGlsZChub2Rl
LCAwKS51c2VLaW5kKCkgPT0gT2JqZWN0VXNlKSB7CkBAIC0yOTgwLDYgKzI5ODIsOCBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNhc2UgQXJyYXk6
OkZvcmNlRXhpdDoKICAgICAgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAi
QmFkIGFycmF5IG1vZGUgdHlwZSIpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
QXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5
OgogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CiAgICAgICAgICAgICBERkdfQVNTRVJU
KG1faml0LmdyYXBoKCksIG5vZGUsIG5vZGUtPm9wKCkgPT0gUHV0QnlWYWwgfHwgbm9kZS0+b3Ao
KSA9PSBQdXRCeVZhbERpcmVjdCwgbm9kZS0+b3AoKSk7CiAKQEAgLTMyMTAsNiArMzIxNCw4IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY2FzZSBB
cnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9uczoKICAgICAgICAgY2FzZSBBcnJheTo6VW5kZWNp
ZGVkOgogICAgICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgorICAgICAgICBjYXNlIEFycmF5
OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICAg
ICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAKaW5kZXggZWExZjM3MjM5YzI4OWRmMTJjY2QzMWJlZjRmNTU5ZGJhN2Y2MTA1Yy4uMWNmODI5
M2E0ZDM0ZTdkMzBmN2E2ZmI3NzJkMDczN2RkZmJhNTY1MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtNTA2Myw2ICs1MDYzLDggQEAgY2xh
c3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAg
ICAgICAgCisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2Ug
QXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CiAg
ICAgICAgICAgICBpZiAobV9ncmFwaC5tX3Nsb3dHZXRCeVZhbC5jb250YWlucyhtX25vZGUpKSB7
CiAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKS51c2VL
aW5kKCkgPT0gT2JqZWN0VXNlKSB7CkBAIC01MzU4LDYgKzUzNjAsOCBAQCBjbGFzcyBMb3dlckRG
R1RvQjMgewogICAgICAgICAKICAgICAgICAgQXJyYXlNb2RlIGFycmF5TW9kZSA9IG1fbm9kZS0+
YXJyYXlNb2RlKCkubW9kZUZvclB1dCgpOwogICAgICAgICBzd2l0Y2ggKGFycmF5TW9kZS50eXBl
KCkpIHsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBB
cnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6IHsKICAg
ICAgICAgICAgIGlmIChjaGlsZDEudXNlS2luZCgpID09IENlbGxVc2UpIHsKICAgICAgICAgICAg
ICAgICBWX0pJVE9wZXJhdGlvbl9HQ0NKIG9wZXJhdGlvbiA9IG51bGxwdHI7CkBAIC01NjQ3LDYg
KzU2NTEsOCBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICBjYXNlIEFycmF5OjpTZWxl
Y3RVc2luZ1ByZWRpY3Rpb25zOgogICAgICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAgICAg
ICAgIGNhc2UgQXJyYXk6OlVucHJvZmlsZWQ6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0
QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAg
REZHX0NSQVNIKG1fZ3JhcGgsIG1fbm9kZSwgIkJhZCBhcnJheSB0eXBlIik7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAppbmRleCBiY2ExOGEyNjQyMzllYmQz
NzAwZGE0YmI1NGFkZTE5NGJhNDcyNjFkLi5hOThiZDg2YmQ2MDdlMjJiNDhkZDAxMmQ2Yzg2ZDc3
Nzc2NDE4Y2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
SW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcApAQCAtMjI4LDcgKzIyOCw5IEBAIEpTVmFsdWUg
SlNJbmplY3RlZFNjcmlwdEhvc3Q6OnN1YnR5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgQ2FsbEZyYW1lKiBjCiAgICAgICAgICAgICB8fCBvYmplY3QtPmluaGVyaXRzPEpTVWludDE2
QXJyYXk+KHZtKQogICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU1VpbnQzMkFycmF5
Pih2bSkKICAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNGbG9hdDMyQXJyYXk+KHZt
KQotICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0Zsb2F0NjRBcnJheT4odm0pKQor
ICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0Zsb2F0NjRBcnJheT4odm0pCisgICAg
ICAgICAgICB8fCBvYmplY3QtPmluaGVyaXRzPEpTQmlnSW50NjRBcnJheT4odm0pCisgICAgICAg
ICAgICB8fCBvYmplY3QtPmluaGVyaXRzPEpTQmlnVWludDY0QXJyYXk+KHZtKSkKICAgICAgICAg
ICAgIHJldHVybiBqc05vbnRyaXZpYWxTdHJpbmcodm0sICJhcnJheSJfcyk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4
IDBiZDlmYzYzYWE5OGUwZjQ5YWY2OWU2MDg3ODQxNzY1NzY2N2E0M2QuLjc2M2Q1YmRiNjliNjIy
M2UyNjc1Yzg4N2NhMGM4ZTIxOTI0ZDlkYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC0xNDkzLDggKzE0OTMsMTAgQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlUHV0QnlWYWwoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiwgQnlW
YWxJbmZvKiBieVZhbEluZm8KICAgICAgICAgVHlwZWRBcnJheVR5cGUgdHlwZSA9IHR5cGVkQXJy
YXlUeXBlRm9ySklUQXJyYXlNb2RlKGFycmF5TW9kZSk7CiAgICAgICAgIGlmIChpc0ludCh0eXBl
KSkKICAgICAgICAgICAgIHNsb3dDYXNlcyA9IGVtaXRJbnRUeXBlZEFycmF5UHV0QnlWYWwoYnl0
ZWNvZGUsIGJhZFR5cGUsIHR5cGUpOwotICAgICAgICBlbHNlIAorICAgICAgICBlbHNlIGlmIChp
c0Zsb2F0KHR5cGUpKQogICAgICAgICAgICAgc2xvd0Nhc2VzID0gZW1pdEZsb2F0VHlwZWRBcnJh
eVB1dEJ5VmFsKGJ5dGVjb2RlLCBiYWRUeXBlLCB0eXBlKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgc2xvd0Nhc2VzID0ganVtcCgpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAppbmRleCA1N2I2YzEzM2Y4ZjI3ZDNiZDMw
ZDVjYTM5NDE3Y2RjOTkyMjViYzE4Li5jOWU3MTdmMDBjYzJkODZkMTIyODg5N2NiMGY4OTc1ZWEz
NWViYmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKQEAgLTQ5NSw2ICs0
OTUsMTAgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlQXJyYXlHZXRCeVZhbChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDb2QKICAgICAgICAgICAgIGNhc2UgVHlwZUZs
b2F0NjQ6CiAgICAgICAgICAgICAgICAgYWNjZXNzVHlwZSA9IEFjY2Vzc0Nhc2U6OkluZGV4ZWRU
eXBlZEFycmF5RmxvYXQ2NExvYWQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNo
ZTsKKyAgICAgICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCAy
NTUyYjI2MjkwNGRkZWU2OWQzOWQ2ZDM4MWNlNzg0MDcxZjQ3OTVkLi4zNWI4NjA4ZjlmNjg4YzJh
NzAzYzY5ZjAxNTQyYzk1ZjkwYmZkNTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC01NTYsNiArNTU2LDcgQEAgY29u
c3QgRmxvYXQ2NEFycmF5VHlwZSA9IGNvbnN0ZXhwciBGbG9hdDY0QXJyYXlUeXBlCiAKIGNvbnN0
IEZpcnN0VHlwZWRBcnJheVR5cGUgPSBjb25zdGV4cHIgRmlyc3RUeXBlZEFycmF5VHlwZQogY29u
c3QgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdEYXRhVmlldyA9IGNvbnN0ZXhwciBO
dW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3Citjb25zdCBOdW1iZXJPZlR5
cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3ID0gY29uc3RleHBy
IE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlzQW5kRGF0YVZpZXcK
IAogIyBUeXBlIGZsYWdzIGNvbnN0YW50cy4KIGNvbnN0IE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQg
PSBjb25zdGV4cHIgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZApAQCAtMTIzMyw3ICsxMjM0LDcgQEAg
bWFjcm8gZ2V0QnlWYWxUeXBlZEFycmF5KGJhc2UsIGluZGV4LCBmaW5pc2hJbnRHZXRCeVZhbCwg
ZmluaXNoRG91YmxlR2V0QnlWYWwsIHMKICAgICAjIEZpcnN0IGxldHMgY2hlY2sgaWYgd2UgZXZl
biBoYXZlIGEgdHlwZWQgYXJyYXkuIFRoaXMgbGV0cyB1cyBkbyBzb21lIGJvaWxlcnBsYXRlIHVw
IGZyb250LgogICAgIGxvYWRiIEpTQ2VsbDo6bV90eXBlW2Jhc2VdLCB0MgogICAgIHN1YmkgRmly
c3RUeXBlZEFycmF5VHlwZSwgdDIKLSAgICBiaWFlcSB0MiwgTnVtYmVyT2ZUeXBlZEFycmF5VHlw
ZXNFeGNsdWRpbmdEYXRhVmlldywgc2xvd1BhdGgKKyAgICBiaWFlcSB0MiwgTnVtYmVyT2ZUeXBl
ZEFycmF5VHlwZXNFeGNsdWRpbmdCaWdJbnRBcnJheXNBbmREYXRhVmlldywgc2xvd1BhdGgKICAg
ICAKICAgICAjIFN3ZWV0LCBub3cgd2Uga25vdyB0aGF0IHdlIGhhdmUgYSB0eXBlZCBhcnJheS4g
RG8gc29tZSBiYXNpYyB0aGluZ3Mgbm93LgogCkBAIC0xMjYwLDYgKzEyNjEsOCBAQCBtYWNybyBn
ZXRCeVZhbFR5cGVkQXJyYXkoYmFzZSwgaW5kZXgsIGZpbmlzaEludEdldEJ5VmFsLCBmaW5pc2hE
b3VibGVHZXRCeVZhbCwgcwogICAgICMgICAgVWludDMyQXJyYXlUeXBlLAogICAgICMgICAgRmxv
YXQzMkFycmF5VHlwZSwKICAgICAjICAgIEZsb2F0NjRBcnJheVR5cGUsCisgICAgIworICAgICMg
WWV0LCB3ZSBhcmUgbm90IHN1cHBvcnRpbmcgQml0SW50NjRBcnJheSBhbmQgQmlnVWludDY0QXJy
YXkuCiAKICAgICBiaWEgdDIsIFVpbnQxNkFycmF5VHlwZSAtIEZpcnN0VHlwZWRBcnJheVR5cGUs
IC5vcEdldEJ5VmFsQWJvdmVVaW50MTZBcnJheQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0F0b21pY3NPYmplY3QuY3BwCmluZGV4IGYwN2UzYWViNzU1MmE0MDZiYTQ1NmE4
NDI1NTNmMmJlZDFmMGM4ZDUuLjBhZGZiMGQzNThmMjgwNzIwNWViMmFiZjRkYzE0NzMzMDJiMDNl
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3Qu
Y3BwCkBAIC0xMjcsMzAgKzEyNyw2IEBAIHN0YXRpYyB1bnNpZ25lZCB2YWxpZGF0ZUF0b21pY0Fj
Y2VzcyhWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQXJyCiAgICAgcmV0
dXJuIGFjY2Vzc0luZGV4OwogfQogCi1zdGF0aWMgSlNBcnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRl
VHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHR5cGVkQXJy
YXlWYWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotCi0gICAgaWYgKCF0eXBlZEFycmF5VmFs
dWUuaXNDZWxsKCkpIHsKLSAgICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSwgIkFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdHlwZWQgYXJyYXkuIl9zKTsKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgfQotCi0gICAgSlNDZWxsKiB0eXBlZEFycmF5Q2VsbCA9IHR5cGVk
QXJyYXlWYWx1ZS5hc0NlbGwoKTsKLSAgICBpZiAoIWlzVHlwZWRWaWV3KHR5cGVkQXJyYXlDZWxs
LT5jbGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKSB7Ci0gICAgICAgIHRocm93
VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCBuZWVkcyB0byBiZSBhIHR5
cGVkIGFycmF5LiJfcyk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIEpT
QXJyYXlCdWZmZXJWaWV3KiB0eXBlZEFycmF5ID0ganNDYXN0PEpTQXJyYXlCdWZmZXJWaWV3Kj4o
dHlwZWRBcnJheUNlbGwpOwotICAgIGlmICh0eXBlZEFycmF5LT5pc0RldGFjaGVkKCkpIHsKLSAg
ICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkFyZ3VtZW50IHR5cGVk
IGFycmF5IGlzIGRldGFjaGVkLiJfcyk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LSAgICByZXR1cm4gdHlwZWRBcnJheTsKLX0KLQogZW51bSBjbGFzcyBUeXBlZEFycmF5T3BlcmF0
aW9uTW9kZSB7IFJlYWQsIFdyaXRlIH07CiB0ZW1wbGF0ZTxUeXBlZEFycmF5T3BlcmF0aW9uTW9k
ZSBtb2RlPgogaW5saW5lIEpTQXJyYXlCdWZmZXJWaWV3KiB2YWxpZGF0ZUludGVnZXJUeXBlZEFy
cmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdHlwZWRBcnJheVZhbHVl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVj
dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCmluZGV4
IDVhOGJlZjk0ZjYxMDE5ZTU2NmE4ZjA1ZjRjMzQ3OGQyZGI5ZWJlMWUuLjFhNmFkN2RmMmUwYjM2
ODJmNDI4OTk3ZTgzNTYzYjNmNjdhZDkyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BdG9taWNzT2JqZWN0LmgKQEAgLTYyLDUgKzYyLDcgQEAgSlNDX0RFQ0xBUkVfSklU
X09QRVJBVElPTihvcGVyYXRpb25BdG9taWNzU3RvcmUsIEVuY29kZWRKU1ZhbHVlLCAoSlNHbG9i
YWxPYmplY3QKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uQXRvbWljc1N1Yiwg
RW5jb2RlZEpTVmFsdWUsIChKU0dsb2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIEVu
Y29kZWRKU1ZhbHVlIGluZGV4LCBFbmNvZGVkSlNWYWx1ZSBvcGVyYW5kKSk7CiBKU0NfREVDTEFS
RV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbkF0b21pY3NYb3IsIEVuY29kZWRKU1ZhbHVlLCAoSlNH
bG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSBpbmRleCwg
RW5jb2RlZEpTVmFsdWUgb3BlcmFuZCkpOwogCitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVU
eXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CisKIH0gLy8gbmFtZXNwYWNlIEpT
QwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnQ2NEFy
cmF5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjI2ZTNhOWM1YWE1ZDdiNzIxYTdhNDFkNDdhNTkwZTE2YjczOWU4MgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ0ludDY0QXJyYXku
aApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJUeXBlZEFycmF5cy5oIgorCit1c2lu
ZyBKU0M6OkJpZ0ludDY0QXJyYXk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9CaWdVaW50NjRBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QmlnVWludDY0QXJyYXkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTNjOWFmYzJlYjlmZTk2YmNkYzFjMjMxMGM0
YWJlY2I5NjgwZDM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQmlnVWludDY0QXJyYXkuaApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJU
eXBlZEFycmF5cy5oIgorCit1c2luZyBKU0M6OkJpZ1VpbnQ2NEFycmF5OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCmluZGV4IDJm
MDZlNjJhNjZmZTY0OGMyMTI3Y2Q3MGI5OTRjYjdjZmMzYzcxY2YuLjFlYWUwZDJjZGY5MmFjNWM4
ZGFkMjZiNDYwYjY1ZGU1MjMxMTNlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKQEAgLTI0Myw3ICsyNDMsNyBAQCBGT1Jf
RUFDSF9UWVBFRF9BUlJBWV9UWVBFX0VYQ0xVRElOR19EQVRBX1ZJRVcoRkFDVE9SWSkKIHN0YXRp
YyBpbmxpbmUgc2l6ZV90IGVsZW1lbnRTaXplKEpTVHlwZSB0eXBlKQogewogICAgIEFTU0VSVCh0
eXBlID49IEludDhBcnJheVR5cGUgJiYgdHlwZSA8PSBEYXRhVmlld1R5cGUpOwotICAgIHN0YXRp
Y19hc3NlcnQoRmxvYXQ2NEFycmF5VHlwZSArIDEgPT0gRGF0YVZpZXdUeXBlKTsKKyAgICBzdGF0
aWNfYXNzZXJ0KEJpZ1VpbnQ2NEFycmF5VHlwZSArIDEgPT0gRGF0YVZpZXdUeXBlKTsKICAgICBy
ZXR1cm4gRWxlbWVudFNpemVEYXRhW3R5cGUgLSBJbnQ4QXJyYXlUeXBlXTsKIH0KIApAQCAtMzQw
LDYgKzM0MCwzMCBAQCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiBKU0FycmF5QnVmZmVyVmlldzo6
cG9zc2libHlTaGFyZWRJbXBsKCkKICAgICB9CiB9CiAKK0pTQXJyYXlCdWZmZXJWaWV3KiB2YWxp
ZGF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB0eXBl
ZEFycmF5VmFsdWUpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIGlmICghdHlwZWRBcnJh
eVZhbHVlLmlzQ2VsbCgpKSB7CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwg
c2NvcGUsICJBcmd1bWVudCBuZWVkcyB0byBiZSBhIHR5cGVkIGFycmF5LiJfcyk7CisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIEpTQ2VsbCogdHlwZWRBcnJheUNlbGwgPSB0
eXBlZEFycmF5VmFsdWUuYXNDZWxsKCk7CisgICAgaWYgKCFpc1R5cGVkVmlldyh0eXBlZEFycmF5
Q2VsbC0+Y2xhc3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkgeworICAgICAgICB0
aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgbmVlZHMgdG8gYmUg
YSB0eXBlZCBhcnJheS4iX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAg
ICBKU0FycmF5QnVmZmVyVmlldyogdHlwZWRBcnJheSA9IGpzQ2FzdDxKU0FycmF5QnVmZmVyVmll
dyo+KHR5cGVkQXJyYXlDZWxsKTsKKyAgICBpZiAodHlwZWRBcnJheS0+aXNEZXRhY2hlZCgpKSB7
CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCB0
eXBlZCBhcnJheSBpcyBkZXRhY2hlZC4iX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICB9CisgICAgcmV0dXJuIHR5cGVkQXJyYXk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBu
YW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJWaWV3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5QnVmZmVyVmlldy5oCmluZGV4IGQ2ODQ4NzBlNzdmODY1Zjg5MTg4OGU1ZDllMzE3MWYxNDll
YmQ0NTUuLmY2MTM0NThkMWZiMjNhMmYwOTI4MGI3MjYwNDlhNGI1OGYwYjA2ZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaApAQCAt
MjI0LDYgKzIyNCw4IEBAIGNsYXNzIEpTQXJyYXlCdWZmZXJWaWV3IDogcHVibGljIEpTTm9uRmlu
YWxPYmplY3QgewogICAgIFR5cGVkQXJyYXlNb2RlIG1fbW9kZTsKIH07CiAKK0pTQXJyYXlCdWZm
ZXJWaWV3KiB2YWxpZGF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKKwog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQmlnSW50LmgKaW5kZXggMmM0MTZjODczODZiODI2MjY1MTc1NTVhOTMwNDM1
OTkwM2E5NTdjZS4uYjg4ZDUwNmEwZTUxNTAwNDZhNWRmNmU2YmZkYzViZmJmMmM0OTUyZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCkBAIC03Miw3ICs3Miw3IEBA
IGNsYXNzIEpTQmlnSW50IGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKEpTR2xvYmFsT2JqZWN0KiwgaW50MzJf
dCB2YWx1ZSk7CiAgICAgc3RhdGljIEpTQmlnSW50KiB0cnlDcmVhdGVGcm9tKFZNJiwgaW50MzJf
dCB2YWx1ZSk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKEpTR2xvYmFsT2JqZWN0
KiwgdWludDMyX3QgdmFsdWUpOwotICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0ds
b2JhbE9iamVjdCosIGludDY0X3QgdmFsdWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0dsb2JhbE9iamVjdCosIGludDY0X3QgdmFsdWUpOwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0dsb2Jh
bE9iamVjdCosIHVpbnQ2NF90IHZhbHVlKTsKICAgICBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZy
b20oSlNHbG9iYWxPYmplY3QqLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgSlNCaWdJbnQqIGNy
ZWF0ZUZyb20oSlNHbG9iYWxPYmplY3QqLCBkb3VibGUgdmFsdWUpOwpAQCAtMTAyLDYgKzEwMiwx
NSBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1
cm4gSlNCaWdJbnQ6OmNyZWF0ZUZyb20oZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CiAgICAgfQogCisg
ICAgc3RhdGljIEpTVmFsdWUgbWFrZUhlYXBCaWdJbnRPckJpZ0ludDMyKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIHVpbnQ2NF90IHZhbHVlKQorICAgIHsKKyNpZiBVU0UoQklHSU5UMzIp
CisgICAgICAgIGlmICh2YWx1ZSA8PSBJTlRfTUFYKQorICAgICAgICAgICAgcmV0dXJuIGpzQmln
SW50MzIoc3RhdGljX2Nhc3Q8aW50MzJfdD4odmFsdWUpKTsKKyNlbmRpZgorICAgICAgICByZXR1
cm4gSlNCaWdJbnQ6OmNyZWF0ZUZyb20oZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CisgICAgfQorCiAg
ICAgc3RhdGljIEpTVmFsdWUgbWFrZUhlYXBCaWdJbnRPckJpZ0ludDMyKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIGRvdWJsZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc0lu
dGVnZXIodmFsdWUpKTsKQEAgLTQzMCw3ICs0MzksNyBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6
IHB1YmxpYyBKU0NlbGwgewogICAgICAgICByZXR1cm4gdG9CaWdVSW50NjRIZWFwKGJpZ0ludC5h
c0hlYXBCaWdJbnQoKSk7CiAgICAgfQogCi0gICAgc3RhdGljIHVpbnQ2NF90IHRvQmlnSW50NjQo
SlNWYWx1ZSBiaWdJbnQpCisgICAgc3RhdGljIGludDY0X3QgdG9CaWdJbnQ2NChKU1ZhbHVlIGJp
Z0ludCkKICAgICB7CiAgICAgICAgIEFTU0VSVChiaWdJbnQuaXNCaWdJbnQoKSk7CiAjaWYgVVNF
KEJJR0lOVDMyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
ZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCBhNjBi
YzAzNmYyODIzMDBiOTZkM2FlZDcwMmQ0Y2Y1NWM4OTg0ZDU1Li40OGY2NTgxMjRmNWE3NTk1YWM1
MzBjZDJhZTkwYzVmODY0OGU0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nl
bGwuaApAQCAtMjMzLDcgKzIzMyw3IEBAIGNsYXNzIEpTQ2VsbCA6IHB1YmxpYyBIZWFwQ2VsbCB7
CiAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNDZWxsLCBtX2NlbGxTdGF0ZSk7CiAg
ICAgfQogICAgIAotICAgIHN0YXRpYyBjb25zdCBUeXBlZEFycmF5VHlwZSBUeXBlZEFycmF5U3Rv
cmFnZVR5cGUgPSBOb3RUeXBlZEFycmF5OworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJh
eVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gTm90VHlwZWRBcnJheTsKIAogICAgIHZvaWQg
c2V0UGVyQ2VsbEJpdChib29sKTsKICAgICBib29sIHBlckNlbGxCaXQoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaAppbmRleCA1ZGFhNjI2M2E5NTA3
OWY3MzFkOTU4YWMyMzFkMDg1MDlmZTZmYzk1Li4yYzc4NWU0NzYxMWE5ZTNmMjI4ZGUyOGI4YWU2
MDhiNWU3NmMyZmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0RhdGFWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmll
dy5oCkBAIC0zNyw2ICszNyw4IEBAIGNsYXNzIEpTRGF0YVZpZXcgZmluYWwgOiBwdWJsaWMgSlNB
cnJheUJ1ZmZlclZpZXcgewogCiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBlbGVtZW50
U2l6ZSA9IDE7CiAKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBj
b250ZW50VHlwZSA9IFR5cGVkQXJyYXlDb250ZW50VHlwZTo6Tm9uZTsKKwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIENlbGxUeXBlLCBTdWJzcGFjZUFjY2VzcyBtb2RlPgogICAgIHN0YXRpYyBJc29T
dWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mIHZtKQogICAgIHsKQEAgLTY0LDcgKzY2LDcgQEAgY2xh
c3MgSlNEYXRhVmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAgICAgUmVm
UHRyPERhdGFWaWV3PiBwb3NzaWJseVNoYXJlZFR5cGVkSW1wbCgpOwogICAgIFJlZlB0cjxEYXRh
Vmlldz4gdW5zaGFyZWRUeXBlZEltcGwoKTsKICAgICAKLSAgICBzdGF0aWMgY29uc3QgVHlwZWRB
cnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gVHlwZURhdGFWaWV3OworICAgIHN0YXRp
YyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gVHlwZURh
dGFWaWV3OwogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwCmluZGV4IGY3
MzRmNTZiODdiNzJlZGNhYTI5ZTc5Mzg1MDJiMDAwNjZjNTNkMzguLmM3M2E4NjdlM2U2MDYxNjQ5
NmNhMWU3OWViNWFiOGNhNmVmMjFiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwCkBAIC00NSw2ICs0NSw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICBnZXRVaW50MzIgICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNH
ZXRVaW50MzIgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEgIERhdGFWaWV3R2V0
VWludDMyCiAgIGdldEZsb2F0MzIgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0
MzIgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMSAgRGF0YVZpZXdHZXRGbG9hdDMy
CiAgIGdldEZsb2F0NjQgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0NjQgICAg
ICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMSAgRGF0YVZpZXdHZXRGbG9hdDY0CisgIGdl
dEJpZ0ludDY0ICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY0dldEJpZ0ludDY0ICAgICAgICAg
RG9udEVudW18RnVuY3Rpb24gICAgICAgMQorICBnZXRCaWdVaW50NjQgICAgICAgICAgZGF0YVZp
ZXdQcm90b0Z1bmNHZXRCaWdVaW50NjQgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEK
ICAgc2V0SW50OCAgICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0SW50OCAgICAgICAg
ICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldEludDgKICAgc2V0VWlu
dDggICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0VWludDggICAgICAgICAgICBEb250
RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldFVpbnQ4CiAgIHNldEludDE2ICAgICAg
ICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldEludDE2ICAgICAgICAgICAgRG9udEVudW18RnVu
Y3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRJbnQxNgpAQCAtNTMsNiArNTUsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgc2V0VWludDMyICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0VWlu
dDMyICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldFVpbnQz
MgogICBzZXRGbG9hdDMyICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9hdDMyICAg
ICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIgIERhdGFWaWV3U2V0RmxvYXQzMgogICBz
ZXRGbG9hdDY0ICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9hdDY0ICAgICAgICAg
IERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIgIERhdGFWaWV3U2V0RmxvYXQ2NAorICBzZXRCaWdJ
bnQ2NCAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdJbnQ2NCAgICAgICAgIERvbnRF
bnVtfEZ1bmN0aW9uICAgICAgIDIKKyAgc2V0QmlnVWludDY0ICAgICAgICAgIGRhdGFWaWV3UHJv
dG9GdW5jU2V0QmlnVWludDY0ICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyCiAgIGJ1
ZmZlciAgICAgICAgICAgICAgICBkYXRhVmlld1Byb3RvR2V0dGVyQnVmZmVyICAgICAgICAgICAg
RG9udEVudW18QWNjZXNzb3IgICAgICAgMAogICBieXRlTGVuZ3RoICAgICAgICAgICAgZGF0YVZp
ZXdQcm90b0dldHRlckJ5dGVMZW5ndGggICAgICAgIERvbnRFbnVtfEFjY2Vzc29yICAgICAgIDAK
ICAgYnl0ZU9mZnNldCAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9HZXR0ZXJCeXRlT2Zmc2V0ICAg
ICAgICBEb250RW51bXxBY2Nlc3NvciAgICAgICAwCkBAIC02Nyw2ICs3MSw4IEBAIHN0YXRpYyBK
U0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0VWludDE2KTsKIHN0
YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0VWludDMy
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0
RmxvYXQzMik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY0dldEZsb2F0NjQpOworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZp
ZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElP
TihkYXRhVmlld1Byb3RvRnVuY0dldEJpZ1VpbnQ2NCk7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEludDgpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQxNik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEludDMyKTsKQEAgLTc1LDYg
KzgxLDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1
bmNTZXRVaW50MTYpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQ
cm90b0Z1bmNTZXRVaW50MzIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0
YVZpZXdQcm90b0Z1bmNTZXRGbG9hdDMyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJpZ0ludDY0KTsKK3N0YXRpYyBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0QmlnVWludDY0KTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9HZXR0ZXJCdWZmZXIpOwog
c3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0dldHRlckJ5dGVM
ZW5ndGgpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0dl
dHRlckJ5dGVPZmZzZXQpOwpAQCAtMTYxLDcgKzE2OSw3IEBAIEVuY29kZWRKU1ZhbHVlIGdldERh
dGEoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAg
ICAgICAgICAgICB1LnJhd0J5dGVzW2ldID0gKmRhdGFQdHIrKzsKICAgICB9CiAKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEFkYXB0b3I6OnRvSlNWYWx1ZSh1LnZhbHVlKSk7CisgICAgUkVM
RUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoQWRhcHRvcjo6dG9KU1ZhbHVl
KGdsb2JhbE9iamVjdCwgdS52YWx1ZSkpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRv
cj4KQEAgLTI5NSw2ICszMDMsMTYgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3
UHJvdG9GdW5jR2V0RmxvYXQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmoKICAgICByZXR1
cm4gZ2V0RGF0YTxGbG9hdDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOwogfQog
CitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sK
KyAgICByZXR1cm4gZ2V0RGF0YTxCaWdJbnQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lKTsKK30KKworSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0
QmlnVWludDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpKQoreworICAgIHJldHVybiBnZXREYXRhPEJpZ1VpbnQ2NEFkYXB0b3I+KGdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3
UHJvdG9GdW5jU2V0SW50OCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKSkKIHsKICAgICByZXR1cm4gc2V0RGF0YTxJbnQ4QWRhcHRvcj4oZ2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUpOwpAQCAtMzM0LDYgKzM1MiwxNiBAQCBKU0NfREVGSU5FX0hPU1Rf
RlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRGbG9hdDY0LCAoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iagogewogICAgIHJldHVybiBzZXREYXRhPEZsb2F0NjRBZGFwdG9yPihnbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSk7CiB9CisKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1By
b3RvRnVuY1NldEJpZ0ludDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBzZXREYXRhPEJpZ0ludDY0QWRhcHRvcj4o
Z2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOworfQorCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04o
ZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdVaW50NjQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAgcmV0dXJuIHNldERhdGE8QmlnVWlu
dDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOworfQogSUdOT1JFX0NMQU5HX1dB
Uk5JTkdTX0VORAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCmluZGV4IDc0Zjg5
YWE4YTRkYzk0ZGZjNGU0N2RlZWU4MDBlMjMzMzM1ZmNhYWMuLmRlNmM5N2I3MmQ2NzNjY2QyMDY2
MDFlMDI0MGRiNTdmZTgxY2YyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaApAQCAtNDAsNiArNDAsOCBAQCBK
U19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdldFVpbnQxNkFycmF5Q2xhc3NJbmZv
KCk7CiBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdldFVpbnQzMkFycmF5Q2xh
c3NJbmZvKCk7CiBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdldEZsb2F0MzJB
cnJheUNsYXNzSW5mbygpOwogSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRG
bG9hdDY0QXJyYXlDbGFzc0luZm8oKTsKK0pTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNzSW5m
byogZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOworSlNfRVhQT1JUX1BSSVZBVEUgY29uc3Qg
Q2xhc3NJbmZvKiBnZXRCaWdVaW50NjRBcnJheUNsYXNzSW5mbygpOwogCiAvLyBBIHR5cGVkIGFy
cmF5IHZpZXcgaXMgb3VyIHJlcHJlc2VudGF0aW9uIG9mIGEgdHlwZWQgYXJyYXkgb2JqZWN0IGFz
IHNlZW4KIC8vIGZyb20gSmF2YVNjcmlwdC4gRm9yIGV4YW1wbGU6CkBAIC03OSw3ICs4MSw2IEBA
IEpTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0RmxvYXQ2NEFycmF5Q2xhc3NJ
bmZvKCk7CiAvLyAgICAgc3RhdGljIGludDhfdCB0b05hdGl2ZUZyb21VaW50MzIodWludDMyX3Qp
OwogLy8gICAgIHN0YXRpYyBpbnQ4X3QgdG9OYXRpdmVGcm9tRG91YmxlKGRvdWJsZSk7CiAvLyAg
ICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKGludDhfdCk7Ci0vLyAgICAgc3RhdGljIGRvdWJs
ZSB0b0RvdWJsZShpbnQ4X3QpOwogLy8gICAgIHRlbXBsYXRlPFQ+IHN0YXRpYyBUOjpUeXBlIGNv
bnZlcnRUbyh1aW50OF90KTsKIC8vIH07CiAKQEAgLTkwLDExICs5MSwxMyBAQCBlbnVtIGNsYXNz
IENvcHlUeXBlIHsKIAogZXh0ZXJuIGNvbnN0IEFTQ0lJTGl0ZXJhbCB0eXBlZEFycmF5QnVmZmVy
SGFzQmVlbkRldGFjaGVkRXJyb3JNZXNzYWdlOwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9y
PgordGVtcGxhdGU8dHlwZW5hbWUgUGFzc2VkQWRhcHRvcj4KIGNsYXNzIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlCdWZmZXJWaWV3IHsKIHB1YmxpYzoKICAg
ICB1c2luZyBCYXNlID0gSlNBcnJheUJ1ZmZlclZpZXc7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBB
ZGFwdG9yOjpUeXBlIEVsZW1lbnRUeXBlOworICAgIHVzaW5nIEFkYXB0b3IgPSBQYXNzZWRBZGFw
dG9yOworICAgIHVzaW5nIEVsZW1lbnRUeXBlID0gdHlwZW5hbWUgQWRhcHRvcjo6VHlwZTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEFk
YXB0b3I6OmNvbnRlbnRUeXBlOwogCiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVy
dHlTbG90IHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlOYW1lcyB8IEludGVyY2VwdHNHZXRPd25Q
cm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm87CiAKQEAgLTExOSwxNSAr
MTIyLDIwIEBAIGNsYXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGljIEpT
QXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDx0eXBlbmFtZSBB
ZGFwdG9yOjpUeXBlKj4odmVjdG9yKCkpOwogICAgIH0KIAorICAgIGJvb2wgaW5Cb3VuZHModW5z
aWduZWQgaSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBpIDwgbV9sZW5ndGg7CisgICAg
fQorCiAgICAgLy8gVGhlc2UgbWV0aG9kcyBhcmUgbWVhbnQgdG8gbWF0Y2ggaW5kZXhlZCBhY2Nl
c3MgbWV0aG9kcyB0aGF0IEpTT2JqZWN0CiAgICAgLy8gc3VwcG9ydHMgLSBoZW5jZSB0aGUgc2xp
Z2h0IHJlZHVuZGFuY3kuCiAgICAgYm9vbCBjYW5HZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkg
Y29uc3QKICAgICB7Ci0gICAgICAgIHJldHVybiBpIDwgbV9sZW5ndGg7CisgICAgICAgIHJldHVy
biBpbkJvdW5kcyhpKSAmJiBBZGFwdG9yOjpjYW5Db252ZXJ0VG9KU1F1aWNrbHk7CiAgICAgfQog
ICAgIGJvb2wgY2FuU2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdWUpIGNv
bnN0CiAgICAgewotICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoICYmIHZhbHVlLmlzTnVtYmVy
KCk7CisgICAgICAgIHJldHVybiBpIDwgbV9sZW5ndGggJiYgdmFsdWUuaXNOdW1iZXIoKSAmJiBB
ZGFwdG9yOjpjYW5Db252ZXJ0VG9KU1F1aWNrbHk7CiAgICAgfQogICAgIAogICAgIHR5cGVuYW1l
IEFkYXB0b3I6OlR5cGUgZ2V0SW5kZXhRdWlja2x5QXNOYXRpdmVWYWx1ZSh1bnNpZ25lZCBpKSBj
b25zdApAQCAtMTM2LDE0ICsxNDQsOSBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBm
aW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAgICAgICAgIHJldHVybiB0eXBlZFZl
Y3RvcigpW2ldOwogICAgIH0KICAgICAKLSAgICBkb3VibGUgZ2V0SW5kZXhRdWlja2x5QXNEb3Vi
bGUodW5zaWduZWQgaSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBBZGFwdG9yOjp0b0RvdWJsZShn
ZXRJbmRleFF1aWNrbHlBc05hdGl2ZVZhbHVlKGkpKTsKLSAgICB9Ci0gICAgCiAgICAgSlNWYWx1
ZSBnZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkgY29uc3QKICAgICB7Ci0gICAgICAgIHJldHVy
biBBZGFwdG9yOjp0b0pTVmFsdWUoZ2V0SW5kZXhRdWlja2x5QXNOYXRpdmVWYWx1ZShpKSk7Cisg
ICAgICAgIHJldHVybiBBZGFwdG9yOjp0b0pTVmFsdWUobnVsbHB0ciwgZ2V0SW5kZXhRdWlja2x5
QXNOYXRpdmVWYWx1ZShpKSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5
VG9OYXRpdmVWYWx1ZSh1bnNpZ25lZCBpLCB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIHZhbHVlKQpA
QCAtMTUyLDExICsxNTUsNiBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6
IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAgICAgICAgIHR5cGVkVmVjdG9yKClbaV0gPSB2
YWx1ZTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzZXRJbmRleFF1aWNrbHlUb0RvdWJsZSh1bnNp
Z25lZCBpLCBkb3VibGUgdmFsdWUpCi0gICAgewotICAgICAgICBzZXRJbmRleFF1aWNrbHlUb05h
dGl2ZVZhbHVlKGksIHRvTmF0aXZlRnJvbVZhbHVlPEFkYXB0b3I+KGpzTnVtYmVyKHZhbHVlKSkp
OwotICAgIH0KLSAgICAKICAgICB2b2lkIHNldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpLCBKU1Zh
bHVlIHZhbHVlKQogICAgIHsKICAgICAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpKTsKQEAg
LTI0Nyw2ICsyNDUsMTAgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBw
dWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICAgICAgcmV0dXJuIGdldEZsb2F0MzJB
cnJheUNsYXNzSW5mbygpOwogICAgICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICAgICAg
cmV0dXJuIGdldEZsb2F0NjRBcnJheUNsYXNzSW5mbygpOworICAgICAgICBjYXNlIFR5cGVCaWdJ
bnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBnZXRCaWdJbnQ2NEFycmF5Q2xhc3NJbmZvKCk7Cisg
ICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBnZXRCaWdVaW50
NjRBcnJheUNsYXNzSW5mbygpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAt
Mjc1LDYgKzI3NywxMCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1
YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAgICAgICAgICAgICByZXR1cm4gdm0uZmxvYXQzMkFy
cmF5U3BhY2U8bW9kZT4oKTsKICAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgICAg
IHJldHVybiB2bS5mbG9hdDY0QXJyYXlTcGFjZTxtb2RlPigpOworICAgICAgICBjYXNlIFR5cGVC
aWdJbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiB2bS5iaWdJbnQ2NEFycmF5U3BhY2U8bW9kZT4o
KTsKKyAgICAgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICAgICAgcmV0dXJuIHZtLmJp
Z1VpbnQ2NEFycmF5U3BhY2U8bW9kZT4oKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKQEAgLTI4Myw3ICsyODksNyBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5h
bCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAgICAgCiAgICAgQXJyYXlCdWZmZXIqIGV4
aXN0aW5nQnVmZmVyKCk7CiAKLSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgVHlwZWRB
cnJheVN0b3JhZ2VUeXBlID0gQWRhcHRvcjo6dHlwZVZhbHVlOworICAgIHN0YXRpYyBjb25zdGV4
cHIgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gQWRhcHRvcjo6dHlwZVZh
bHVlOwogCiAgICAgLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBET00gdW53cmFwcGluZy4gSXQgY2Fs
bHMgdG9VbnNoYXJlZE5hdGl2ZVR5cGVkVmlldygpLgogICAgIHN0YXRpYyBSZWZQdHI8dHlwZW5h
bWUgQWRhcHRvcjo6Vmlld1R5cGU+IHRvV3JhcHBlZChWTSYsIEpTVmFsdWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCmluZGV4IDVmNDVhNjFlM2UyMGViYTRmNmQ1NjhhNWE1
NTMwOGFkYTJkYzJhZWMuLjY5MjI1ZTUwZTE0YzU0ZTliYmE3ZjRkYTYyMzQ1Njg3NzA0NDNiYmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKQEAgLTM4LDYgKzM4LDggQEAg
SlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjYWxsVWludDE2QXJy
YXkpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjYWxsVWlu
dDMyQXJyYXkpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihj
YWxsRmxvYXQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oY2FsbEZsb2F0NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9I
T1NUX0ZVTkNUSU9OKGNhbGxCaWdJbnQ2NEFycmF5KTsKK0pTX0VYUE9SVF9QUklWQVRFIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbEJpZ1VpbnQ2NEFycmF5KTsKIEpTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbERhdGFWaWV3KTsKIAogSlNfRVhQT1JU
X1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RJbnQ4QXJyYXkpOwpA
QCAtNDksNiArNTEsOCBAQCBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNU
SU9OKGNvbnN0cnVjdFVpbnQxNkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oY29uc3RydWN0VWludDMyQXJyYXkpOwogSlNfRVhQT1JUX1BSSVZBVEUg
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RGbG9hdDMyQXJyYXkpOwogSlNfRVhQ
T1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RGbG9hdDY0QXJy
YXkpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1
Y3RCaWdJbnQ2NEFycmF5KTsKK0pTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oY29uc3RydWN0QmlnVWludDY0QXJyYXkpOwogSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3REYXRhVmlldyk7CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFZpZXdDbGFzcz4KQEAgLTg3LDYgKzkxLDEwIEBAIGNsYXNzIEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IgZmluYWwgOiBwdWJsaWMgSW50ZXJuYWxGdW5jdGlvbiB7CiAgICAg
ICAgICAgICByZXR1cm4gY2FsbEZsb2F0MzJBcnJheTsKICAgICAgICAgY2FzZSBUeXBlRmxvYXQ2
NDoKICAgICAgICAgICAgIHJldHVybiBjYWxsRmxvYXQ2NEFycmF5OworICAgICAgICBjYXNlIFR5
cGVCaWdJbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjYWxsQmlnSW50NjRBcnJheTsKKyAgICAg
ICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICAgICAgcmV0dXJuIGNhbGxCaWdVaW50NjRB
cnJheTsKICAgICAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgICAgICByZXR1cm4gY2Fs
bERhdGFWaWV3OwogICAgICAgICBkZWZhdWx0OgpAQCAtMTE2LDYgKzEyNCwxMCBAQCBjbGFzcyBK
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEludGVybmFs
RnVuY3Rpb24gewogICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEZsb2F0MzJBcnJheTsKICAg
ICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RGbG9h
dDY0QXJyYXk7CisgICAgICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICAgICAgcmV0dXJu
IGNvbnN0cnVjdEJpZ0ludDY0QXJyYXk7CisgICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAg
ICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RCaWdVaW50NjRBcnJheTsKICAgICAgICAgY2FzZSBU
eXBlRGF0YVZpZXc6CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0RGF0YVZpZXc7CiAgICAg
ICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGlu
ZXMuaAppbmRleCBhMDllMzJhNmZlZmZkMmQ4MTZhZGYwZmNhMDkzOWI4MjU3NmIxYTY0Li43ODY1
NTJhMmI4NjA5NzJiNmRmYzc3NTJjYjEwODE1ZjM3NzJhY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9y
SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKQEAgLTE5Myw2ICsxOTMsMTEgQEAgaW5s
aW5lIEpTT2JqZWN0KiBjb25zdHJ1Y3RHZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRz
KEpTR2xvYmFsT2JqZWN0KiBnbG8KICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgIH0KIAorICAgICAgICAgICAgaWYgKGNvbnRlbnRUeXBlKG9iamVjdC0+Y2xhc3NJ
bmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSAhPSBWaWV3Q2xhc3M6OmNvbnRlbnRUeXBl
KSB7CisgICAgICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwg
IkNvbnRlbnQgdHlwZXMgb2Ygc291cmNlIGFuZCBuZXcgdHlwZWQgYXJyYXkgYXJlIGRpZmZlcmVu
dCJfcyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICB9CisK
ICAgICAgICAgICAgIGxlbmd0aCA9IHZpZXctPmxlbmd0aCgpOwogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgLy8gVGhpcyBnZXRQcm9wZXJ0eVNsb3Qgb3BlcmF0aW9uIHNob3VsZCBub3Qg
YmUgb2JzZXJ2ZWQgYnkgdGhlIFByb3h5LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaAppbmRl
eCAzY2RhNjM3ZWVmNzdlYWY4OTU2MWY3NjBmZDY2YjBmMzE4Mjc3NjJhLi42YTIxNWU1ZDE3MTNk
Y2VlNjczOTRiMzRhNGFmMDU3YTkyZGRkMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMu
aApAQCAtMTYyLDYgKzE2Miw5IEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRv
cj46OnNldFdpdGhTcGVjaWZpY1R5cGUoCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgdW5zaWduZWQgb2Zmc2V0LCBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxPdGhlckFkYXB0b3I+
KiBvdGhlciwKICAgICB1bnNpZ25lZCBvdGhlck9mZnNldCwgdW5zaWduZWQgbGVuZ3RoLCBDb3B5
VHlwZSB0eXBlKQogeworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKICAgICAvLyBIYW5kbGUgdGhlIGhp
bGFyaW91cyBjYXNlOiB0aGUgYWN0IG9mIGdldHRpbmcgdGhlIGxlbmd0aCBjb3VsZCBoYXZlIHJl
c3VsdGVkCiAgICAgLy8gaW4gZGV0YWNoaW5nLiBXZWxsLCBuby4gVGhhdCdsbCBuZXZlciBoYXBw
ZW4gYmVjYXVzZSB0aGVyZSBjYW5ub3QgYmUKICAgICAvLyBzaWRlLWVmZmVjdHMgb24gZ2V0dGlu
ZyB0aGUgbGVuZ3RoIG9mIGEgdHlwZWQgYXJyYXkuIEJ1dCBwcmVkaWN0aW5nIHdoZXJlIHRoZXJl
CkBAIC0xNzEsOCArMTc0LDE1IEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRv
cj46OnNldFdpdGhTcGVjaWZpY1R5cGUoCiAgICAgbGVuZ3RoID0gc3RkOjptaW4obGVuZ3RoLCBv
dGhlci0+bGVuZ3RoKCkpOwogCiAgICAgUkVMRUFTRV9BU1NFUlQob3RoZXItPmNhbkFjY2Vzc1Jh
bmdlUXVpY2tseShvdGhlck9mZnNldCwgbGVuZ3RoKSk7Ci0gICAgaWYgKCF2YWxpZGF0ZVJhbmdl
KGdsb2JhbE9iamVjdCwgb2Zmc2V0LCBsZW5ndGgpKQorICAgIGJvb2wgc3VjY2VzcyA9IHZhbGlk
YXRlUmFuZ2UoZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGxlbmd0aCk7CisgICAgRVhDRVBUSU9OX0FT
U0VSVCghc2NvcGUuZXhjZXB0aW9uKCkgPT0gc3VjY2Vzcyk7CisgICAgaWYgKCFzdWNjZXNzKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiBjb25zdGV4cHIgKEFkYXB0b3I6OmNvbnRl
bnRUeXBlICE9IE90aGVyQWRhcHRvcjo6Y29udGVudFR5cGUpIHsKKyAgICAgICAgdGhyb3dUeXBl
RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkNvbnRlbnQgdHlwZXMgb2Ygc291cmNlIGFuZCBk
ZXN0aW5hdGlvbiB0eXBlZCBhcnJheXMgYXJlIGRpZmZlcmVudCJfcyk7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CiAgICAgCiAgICAgLy8gVGhpcyBtZXRob2QgZG9lc24ndCBzdXBwb3J0
IGNvcHlpbmcgYmV0d2VlbiB0aGUgc2FtZSBhcnJheS4gTm90ZSB0aGF0CiAgICAgLy8gc2V0KCkg
d2lsbCBvbmx5IGNhbGwgdGhpcyBpZiB0aGUgdHlwZXMgZGlmZmVyLCB3aGljaCBpbXBsaWNpdGx5
IGd1YXJhbnRlZXMKQEAgLTI4OSw2ICsyOTksMTIgQEAgYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldzxBZGFwdG9yPjo6c2V0KAogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIFJFTEVB
U0VfQU5EX1JFVFVSTihzY29wZSwgc2V0V2l0aFNwZWNpZmljVHlwZTxGbG9hdDY0QWRhcHRvcj4o
CiAgICAgICAgICAgICBnbG9iYWxPYmplY3QsIG9mZnNldCwganNDYXN0PEpTRmxvYXQ2NEFycmF5
Kj4ob2JqZWN0KSwgb2JqZWN0T2Zmc2V0LCBsZW5ndGgsIHR5cGUpKTsKKyAgICBjYXNlIFR5cGVC
aWdJbnQ2NDoKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBzZXRXaXRoU3BlY2lm
aWNUeXBlPEJpZ0ludDY0QWRhcHRvcj4oCisgICAgICAgICAgICBnbG9iYWxPYmplY3QsIG9mZnNl
dCwganNDYXN0PEpTQmlnSW50NjRBcnJheSo+KG9iamVjdCksIG9iamVjdE9mZnNldCwgbGVuZ3Ro
LCB0eXBlKSk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICBSRUxFQVNFX0FORF9S
RVRVUk4oc2NvcGUsIHNldFdpdGhTcGVjaWZpY1R5cGU8QmlnVWludDY0QWRhcHRvcj4oCisgICAg
ICAgICAgICBnbG9iYWxPYmplY3QsIG9mZnNldCwganNDYXN0PEpTQmlnVWludDY0QXJyYXkqPihv
YmplY3QpLCBvYmplY3RPZmZzZXQsIGxlbmd0aCwgdHlwZSkpOwogICAgIGNhc2UgTm90VHlwZWRB
cnJheToKICAgICBjYXNlIFR5cGVEYXRhVmlldzogewogICAgICAgICBib29sIHN1Y2Nlc3MgPSB2
YWxpZGF0ZVJhbmdlKGdsb2JhbE9iamVjdCwgb2Zmc2V0LCBsZW5ndGgpOwpAQCAtNDMzLDE0ICs0
NDksMjQgQEAgYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6ZGVsZXRlUHJv
cGVydHkoCiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CiBib29sIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3PEFkYXB0b3I+OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KAotICAgIEpTT2Jq
ZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmIHNsb3QpCisgICAgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7
CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8gc2NvcGUgPSBERUNM
QVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyogdGhpc09i
amVjdCA9IGpzQ2FzdDxKU0dlbmVyaWNUeXBlZEFycmF5Vmlldyo+KG9iamVjdCk7CiAKLSAgICBp
ZiAodGhpc09iamVjdC0+aXNEZXRhY2hlZCgpIHx8ICF0aGlzT2JqZWN0LT5jYW5HZXRJbmRleFF1
aWNrbHkocHJvcGVydHlOYW1lKSkKKyAgICBpZiAodGhpc09iamVjdC0+aXNEZXRhY2hlZCgpIHx8
ICF0aGlzT2JqZWN0LT5pbkJvdW5kcyhwcm9wZXJ0eU5hbWUpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihQcm9wZXJ0eUF0dHJpYnV0ZTo6Tm9uZSksIHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShw
cm9wZXJ0eU5hbWUpKTsKKyAgICBKU1ZhbHVlIHZhbHVlOworICAgIGlmIGNvbnN0ZXhwciAoQWRh
cHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5KQorICAgICAgICB2YWx1ZSA9IHRoaXNPYmplY3Qt
PmdldEluZGV4UXVpY2tseShwcm9wZXJ0eU5hbWUpOworICAgIGVsc2UgeworICAgICAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gdGhpc09iamVjdC0+Z2V0SW5kZXhRdWlja2x5QXNOYXRpdmVWYWx1ZShw
cm9wZXJ0eU5hbWUpOworICAgICAgICB2YWx1ZSA9IEFkYXB0b3I6OnRvSlNWYWx1ZShnbG9iYWxP
YmplY3QsIG5hdGl2ZVZhbHVlKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
ZmFsc2UpOworICAgIH0KKyAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6Tm9uZSksIHZhbHVlKTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25z
LmgKaW5kZXggMmUwYTc4MjAxNzdjODQ2ZGI0NzcyNDBiMTY2NTk1OTNiNDA0YjkxZS4uOGM5NDEy
OTM5N2U4YWJhNDE0MDcyZWI3YTliMDA4YWVjNDYyNGI5YiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5j
dGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBl
ZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCkBAIC0yNzIsMTEgKzI3MiwxOSBAQCBBTFdB
WVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIGdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY0pv
aW4oVk0mIHZtLCBKU0dsb2JhbAogICAgIHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmplY3QtPmxl
bmd0aCgpOwogICAgIGF1dG8gam9pbldpdGhTZXBhcmF0b3IgPSBbJl0gKFN0cmluZ1ZpZXcgc2Vw
YXJhdG9yKSAtPiBFbmNvZGVkSlNWYWx1ZSB7CiAgICAgICAgIEpTU3RyaW5nSm9pbmVyIGpvaW5l
cihnbG9iYWxPYmplY3QsIHNlcGFyYXRvciwgbGVuZ3RoKTsKLSAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHsgfSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+aXNEZXRhY2hlZCgp
KSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsK
LSAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKGdsb2JhbE9iamVjdCwgdGhpc09iamVjdC0+
Z2V0SW5kZXhRdWlja2x5KGkpKTsKLSAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVl
OworICAgICAgICAgICAgICAgIGlmIGNvbnN0ZXhwciAoVmlld0NsYXNzOjpBZGFwdG9yOjpjYW5D
b252ZXJ0VG9KU1F1aWNrbHkpCisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpc09iamVj
dC0+Z2V0SW5kZXhRdWlja2x5KGkpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICBhdXRvIG5hdGl2ZVZhbHVlID0gdGhpc09iamVjdC0+Z2V0SW5kZXhRdWlja2x5
QXNOYXRpdmVWYWx1ZShpKTsKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBWaWV3Q2xhc3M6
OkFkYXB0b3I6OnRvSlNWYWx1ZShnbG9iYWxPYmplY3QsIG5hdGl2ZVZhbHVlKTsKKyAgICAgICAg
ICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChnbG9iYWxPYmplY3QsIHZhbHVl
KTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAg
ICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGxlbmd0aDsgaSsrKQpAQCAtMjkyLDEwICszMDAsMTAgQEAgQUxXQVlTX0lOTElO
RSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKFZNJiB2
bSwgSlNHbG9iYWwKICAgICB9CiAKICAgICBKU1N0cmluZyogc2VwYXJhdG9yU3RyaW5nID0gc2Vw
YXJhdG9yVmFsdWUudG9TdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB7IH0pOwogCiAgICAgYXV0byB2aWV3V2l0aFN0cmluZyA9IHNlcGFyYXRvclN0cmluZy0+
dmlld1dpdGhVbmRlcmx5aW5nU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgeyB9KTsKICAgICByZXR1cm4gam9pbldpdGhTZXBhcmF0b3Iodmlld1dpdGhTdHJp
bmcudmlldyk7CiB9CiAKQEAgLTQ1NCw2ICs0NjIsMTEgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVk
SlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNTbGljZShWTSYgdm0sIEpTR2xv
YmEKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAg
ICBBU1NFUlQoIXJlc3VsdC0+aXNEZXRhY2hlZCgpKTsKIAorICAgIC8vIGh0dHBzOi8vdGMzOS5l
cy9lY21hMjYyLyN0eXBlZGFycmF5LXNwZWNpZXMtY3JlYXRlCisgICAgLy8gSWYgcmVzdWx0Lltb
Q29udGVudFR5cGVdXSDiiaAgZXhlbXBsYXIuW1tDb250ZW50VHlwZV1dLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgICAgaWYgKGNvbnRlbnRUeXBlKHJlc3VsdC0+Y2xhc3NJbmZvKHZt
KS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSAhPSBWaWV3Q2xhc3M6OmNvbnRlbnRUeXBlKQorICAg
ICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQ29udGVu
dCB0eXBlcyBvZiBzb3VyY2UgYW5kIGNyZWF0ZWQgdHlwZWQgYXJyYXlzIGFyZSBkaWZmZXJlbnQi
X3MpOworCiAgICAgLy8gV2UgcmV0dXJuIGVhcmx5IGhlcmUgc2luY2Ugd2UgZG9uJ3QgYWxsb2Nh
dGUgYSBiYWNraW5nIHN0b3JlIGlmIGxlbmd0aCBpcyAwIGFuZCBtZW1tb3ZlIGRvZXMgbm90IGxp
a2UgbnVsbHB0cnMKICAgICBpZiAoIWxlbmd0aCkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShyZXN1bHQpOwpAQCAtNTAyLDYgKzUxNSwxNCBAQCBBTFdBWVNfSU5MSU5FIEVuY29kZWRK
U1ZhbHVlIGdlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvRnVuY1NsaWNlKFZNJiB2bSwgSlNHbG9i
YQogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIGpzQ2FzdDxKU0Zsb2F0NjRBcnJh
eSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmplY3QsIDAsIHRoaXNPYmplY3QsIGJlZ2luLCBsZW5n
dGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUocmVzdWx0KTsKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgc2NvcGUucmVsZWFz
ZSgpOworICAgICAgICBqc0Nhc3Q8SlNCaWdJbnQ2NEFycmF5Kj4ocmVzdWx0KS0+c2V0KGdsb2Jh
bE9iamVjdCwgMCwgdGhpc09iamVjdCwgYmVnaW4sIGxlbmd0aCwgQ29weVR5cGU6OkxlZnRUb1Jp
Z2h0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgIGNhc2Ug
VHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgc2NvcGUucmVsZWFzZSgpOworICAgICAgICBqc0Nhc3Q8
SlNCaWdVaW50NjRBcnJheSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmplY3QsIDAsIHRoaXNPYmpl
Y3QsIGJlZ2luLCBsZW5ndGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7CisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTU0Myw3ICs1NjQsNyBAQCBBTFdBWVNf
SU5MSU5FIEVuY29kZWRKU1ZhbHVlIGdlbmVyaWNUeXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jU3Vi
YXJyYXlDcmVhdGUoVk0mdgogICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gYXJyYXlCdWZmZXIgPSB0
aGlzT2JqZWN0LT5wb3NzaWJseVNoYXJlZEJ1ZmZlcigpOwogICAgIGlmIChVTkxJS0VMWSghYXJy
YXlCdWZmZXIpKSB7CiAgICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihnbG9iYWxPYmplY3Qs
IHNjb3BlKTsKLSAgICAgICAgcmV0dXJuIGVuY29kZWRKU1ZhbHVlKCk7CisgICAgICAgIHJldHVy
biB7IH07CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUKHRoaXNMZW5ndGggPT0gdGhpc09iamVj
dC0+bGVuZ3RoKCkpOwogCkBAIC01NjcsMTMgKzU4OCwxNCBAQCBBTFdBWVNfSU5MSU5FIEVuY29k
ZWRKU1ZhbHVlIGdlbmVyaWNUeXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jU3ViYXJyYXlDcmVhdGUo
Vk0mdgogICAgIEFTU0VSVCghYXJncy5oYXNPdmVyZmxvd2VkKCkpOwogCiAgICAgSlNPYmplY3Qq
IHJlc3VsdCA9IGNvbnN0cnVjdChnbG9iYWxPYmplY3QsIHNwZWNpZXMsIGFyZ3MsICJzcGVjaWVz
IGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
ZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsK
IAotICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTQXJyYXlCdWZmZXJWaWV3Kj4odm0sIHJlc3VsdCkp
Ci0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBKU0FycmF5QnVm
ZmVyVmlldyogdmFsaWRhdGVkID0gdmFsaWRhdGVUeXBlZEFycmF5KGdsb2JhbE9iamVjdCwgcmVz
dWx0KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworICAgIGlmIChjb250
ZW50VHlwZSh2YWxpZGF0ZWQtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkg
IT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJy
b3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIlR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5IGNv
bnN0cnVjdGVkIHR5cGVkIGFycmF5IG9mIGRpZmZlcmVudCBjb250ZW50IHR5cGUgZnJvbSB8dGhp
c3wiX3MpOwogCi0gICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgInNwZWNp
ZXMgY29uc3RydWN0b3IgZGlkIG5vdCByZXR1cm4gYSBUeXBlZEFycmF5IFZpZXciX3MpOwotICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHZhbGlkYXRlZCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDg1Yzc2M2M1
NGUwMjlkMTVkOWZkNDliYjhmMmFlMmI3ZGRiMGE5NGQuLjc1MGFkNTFlZGQ2Yzk5ODk3ODRhZTBk
NDI1YTEyYzU4YmQ5YzI5MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTQ1Nyw2ICs0NTcsOCBAQCBjb25zdCBHbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSBKU0dsb2JhbE9iamVjdDo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSA9
IHsKICAgVWludDMyQXJyYXkgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlV
aW50MzIgICAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIEZsb2F0MzJBcnJheSAg
ICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5RmxvYXQzMiAgICAgICAgICBEb250
RW51bXxDbGFzc1N0cnVjdHVyZQogICBGbG9hdDY0QXJyYXkgICAgICAgICAgSlNHbG9iYWxPYmpl
Y3Q6Om1fdHlwZWRBcnJheUZsb2F0NjQgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUK
KyAgQmlnSW50NjRBcnJheSAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlCaWdJ
bnQ2NCAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCisgIEJpZ1VpbnQ2NEFycmF5ICAg
ICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5QmlnVWludDY0ICAgICAgICBEb250RW51
bXxDbGFzc1N0cnVjdHVyZQogICBEYXRhVmlldyAgICAgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6
Om1fdHlwZWRBcnJheURhdGFWaWV3ICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKICAg
RGF0ZSAgICAgICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX2RhdGVTdHJ1Y3R1cmUgICAg
ICAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIEVycm9yICAgICAgICAgICAgICAg
ICBKU0dsb2JhbE9iamVjdDo6bV9lcnJvclN0cnVjdHVyZSAgICAgICAgICAgICBEb250RW51bXxD
bGFzc1N0cnVjdHVyZQpAQCAtMTIwNywxMiArMTIwOSwxOCBAQCBjYXBpdGFsTmFtZSAjIyBDb25z
dHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yID0gZmVhdHVyZUZsYWcgPyBjYXBpdGFs
TmFtZQogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtU
aW1lQ29uc3RhbnQ6OnR5cGVkQXJyYXlHZXRPcmlnaW5hbENvbnN0cnVjdG9yKV0uaW5pdExhdGVy
KFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0
LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4o
aW5pdC5vd25lciksIDAsIFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jR2V0T3Jp
Z2luYWxDb25zdHJ1Y3RvcikpOwogICAgICAgICB9KTsKKyAgICBtX2xpbmtUaW1lQ29uc3RhbnRz
W3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0eXBlZEFycmF5Q29udGVu
dFR5cGUpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsK
KyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8
SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3
UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSkpOworICAgICAgICB9KTsKICAgICBtX2xpbmtUaW1lQ29u
c3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0eXBlZEFycmF5
U29ydCldLmluaXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgewog
ICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxK
U0dsb2JhbE9iamVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRBcnJheVZpZXdQ
cml2YXRlRnVuY1NvcnQpKTsKICAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6aXNUeXBlZEFycmF5Vmlldyld
LmluaXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAg
ICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2Jh
bE9iamVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRl
RnVuY0lzVHlwZWRBcnJheVZpZXcsIElzVHlwZWRBcnJheVZpZXdJbnRyaW5zaWMpKTsKICAgICAg
ICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlu
a1RpbWVDb25zdGFudDo6aXNCaWdJbnRUeXBlZEFycmF5VmlldyldLmluaXRMYXRlcihbXSAoY29u
c3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgeworICAgICAgICAgICAgaW5pdC5zZXQoSlNG
dW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQub3du
ZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzQmlnSW50VHlwZWRB
cnJheVZpZXcpKTsKKyAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6aXNTaGFyZWRUeXBlZEFycmF5Vmlldyld
LmluaXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAg
ICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2Jh
bE9iamVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRl
RnVuY0lzU2hhcmVkVHlwZWRBcnJheVZpZXcpKTsKICAgICAgICAgfSk7CkBAIC0xMjM0LDYgKzEy
NDIsOSBAQCBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3RvciogbG93ZXJOYW1lICMjIENvbnN0cnVj
dG9yID0gZmVhdHVyZUZsYWcgPyBjYXBpdGFsTmFtZQogICAgIG1fbGlua1RpbWVDb25zdGFudHNb
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6Omluc3RhbmNlT2YpXS5pbml0
TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAg
IGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIG9iamVjdFByaXZhdGVGdW5jSW5zdGFuY2VP
ZikpOwogICAgICAgICB9KTsKKyAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVu
c2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0b0JpZ0ludCldLmluaXRMYXRlcihbXSAoY29uc3Qg
SW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgeworICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5j
dGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQub3duZXIp
LCAwLCBTdHJpbmcoKSwgZ2xvYmFsRnVuY1RvQmlnSW50KSk7CisgICAgICAgIH0pOwogICAgIG1f
bGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6
OkJ1aWx0aW5Mb2cpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGlu
aXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBq
c0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMSwgU3RyaW5nKCksIGdsb2JhbEZ1
bmNCdWlsdGluTG9nKSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCmluZGV4IGQ0ZGYw
MzNlOWMzMWE1NDgzMDNjYzk1M2NhNTkyOWYxYWNkZWZkMmUuLjJjNmRhOTY0Y2NmYjg1NjMzNGZi
N2MyYzhhMTk2ZGVlZDY5MmE1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKQEAgLTk2Nyw0ICs5Njcs
OSBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY0RhdGVUaW1lRm9ybWF0LCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdAogICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29w
ZSwgSlNWYWx1ZTo6ZW5jb2RlKGRhdGVUaW1lRm9ybWF0LT5mb3JtYXQoZ2xvYmFsT2JqZWN0LCB2
YWx1ZSkpKTsKIH0KIAorSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNUb0JpZ0lu
dCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkK
K3sKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGxGcmFtZS0+YXJndW1lbnQoMCkudG9C
aWdJbnQoZ2xvYmFsT2JqZWN0KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25z
LmgKaW5kZXggNGRmYjdlZjZkNmRkZjAxNmQzMGRhZGM2NDFlZmIzYjc1YmJlNGUwNS4uY2M4YWZi
YzQ2YzczODJiZDgyN2JhNWYzYzRhOTVmMmUyN2QyYzI1OSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCkBAIC01
OSw2ICs1OSw3IEBAIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY0ltcG9ydE1v
ZHVsZSk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNQcm9wZXJ0eUlzRW51
bWVyYWJsZSk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNDb3B5RGF0YVBy
b3BlcnRpZXMpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jRGF0ZVRpbWVG
b3JtYXQpOworSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jVG9CaWdJbnQpOwog
CiBKU19FWFBPUlRfUFJJVkFURSBkb3VibGUganNUb051bWJlcihTdHJpbmdWaWV3KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKaW5kZXggNDYyZjNlZGUzMjVkNmQ0
NjRlNmQ2M2UzZDVkNzBlYThhZWNiMGUyNC4uZmNiNjk3YzJkMDllOGJmNzUzMDY4NDhlM2JjMTgw
M2QxNzc4NTM4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuY3BwCkBA
IC04NCw2ICs4NCw4IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBKU0M6
OkpTVHlwZSB0eXBlKQogICAgIENBU0UoVWludDMyQXJyYXlUeXBlKQogICAgIENBU0UoRmxvYXQz
MkFycmF5VHlwZSkKICAgICBDQVNFKEZsb2F0NjRBcnJheVR5cGUpCisgICAgQ0FTRShCaWdJbnQ2
NEFycmF5VHlwZSkKKyAgICBDQVNFKEJpZ1VpbnQ2NEFycmF5VHlwZSkKICAgICBDQVNFKERhdGFW
aWV3VHlwZSkKICAgICBDQVNFKEdldHRlclNldHRlclR5cGUpCiAgICAgQ0FTRShHbG9iYWxPYmpl
Y3RUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuaAppbmRleCAzNmIxNzRj
NWY1ODRjYWZlMWRlMjBiMjA2M2ZiYThiMmQ1ZmE2ZDk3Li4wMWFmOTNlODUyMmY2MjgxNzc5NGY0
YjY5YTVmMzU0ZjAyOTcyMzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUu
aApAQCAtODcsNiArODcsOCBAQCBlbnVtIEpTVHlwZSA6IHVpbnQ4X3QgewogICAgIFVpbnQzMkFy
cmF5VHlwZSwKICAgICBGbG9hdDMyQXJyYXlUeXBlLAogICAgIEZsb2F0NjRBcnJheVR5cGUsCisg
ICAgQmlnSW50NjRBcnJheVR5cGUsCisgICAgQmlnVWludDY0QXJyYXlUeXBlLAogICAgIERhdGFW
aWV3VHlwZSwKICAgICAvLyBFbmQgSlNBcnJheUJ1ZmZlclZpZXcgdHlwZXMuCiAKQEAgLTE0MSw2
ICsxNDMsNyBAQCBzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IExhc3RPYmplY3RUeXBlID0gTWF4
SlNUeXBlOwogCiBzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IE51bWJlck9mVHlwZWRBcnJheVR5
cGVzID0gTGFzdFR5cGVkQXJyYXlUeXBlIC0gRmlyc3RUeXBlZEFycmF5VHlwZSArIDE7CiBzdGF0
aWMgY29uc3RleHByIHVpbnQzMl90IE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0
YVZpZXcgPSBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyAtIDE7CitzdGF0aWMgY29uc3RleHByIHVp
bnQzMl90IE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlzQW5kRGF0
YVZpZXcgPSBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyAtIDM7CiAKIHN0YXRpY19hc3NlcnQoc2l6
ZW9mKEpTVHlwZSkgPT0gc2l6ZW9mKHVpbnQ4X3QpLCAic2l6ZW9mKEpTVHlwZSkgaXMgb25lIGJ5
dGUuIik7CiBzdGF0aWNfYXNzZXJ0KExhc3RKU0NPYmplY3RUeXBlIDwgMGIxMTEwMDAwMCwgIkVt
YmVkZGVyIGNhbiB1c2UgMGIxMTEwMDAwMCBvciB1cHBlci4iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3Bw
CmluZGV4IDg0ZTY1MTEyNmY0MjhkY2E4ZWRkYTQzOTQ2ZGQ3MGMxZTE3ODQyZWUuLjk1YWJlYzU0
MDlhMzFlYTc4MzEzZDNjNWYzOWFkYjQ1ODViOGZhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcApA
QCAtNDMsNiArNDMsOCBAQCBNQUtFX1NfSU5GTyhVaW50MTZBcnJheSk7CiBNQUtFX1NfSU5GTyhV
aW50MzJBcnJheSk7CiBNQUtFX1NfSU5GTyhGbG9hdDMyQXJyYXkpOwogTUFLRV9TX0lORk8oRmxv
YXQ2NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ0ludDY0QXJyYXkpOworTUFLRV9TX0lORk8oQmln
VWludDY0QXJyYXkpOwogTUFLRV9TX0lORk8oRGF0YVZpZXcpOwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Q29uc3RydWN0b3JzLmgKaW5kZXggMDE5MjBhNDFlMDlhYTM3MzQxMmJmNmI5MGRkODczYjdi
ZTU3MThkYy4uMDY0NTUzMDkyMjhhMGViZTlkYTEzYTc0MDg0ODExM2EzMjNmMTkzMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0
b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Q29u
c3RydWN0b3JzLmgKQEAgLTQwLDYgKzQwLDggQEAgdXNpbmcgSlNVaW50MTZBcnJheUNvbnN0cnVj
dG9yID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxKU1VpbnQxNkFycmEKIHVz
aW5nIEpTVWludDMyQXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29u
c3RydWN0b3I8SlNVaW50MzJBcnJheT47CiB1c2luZyBKU0Zsb2F0MzJBcnJheUNvbnN0cnVjdG9y
ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxKU0Zsb2F0MzJBcnJheT47CiB1
c2luZyBKU0Zsb2F0NjRBcnJheUNvbnN0cnVjdG9yID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdD
b25zdHJ1Y3RvcjxKU0Zsb2F0NjRBcnJheT47Cit1c2luZyBKU0JpZ0ludDY0QXJyYXlDb25zdHJ1
Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNCaWdJbnQ2NEFycmF5
PjsKK3VzaW5nIEpTQmlnVWludDY0QXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3I8SlNCaWdVaW50NjRBcnJheT47CiB1c2luZyBKU0RhdGFWaWV3Q29u
c3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTRGF0YVZpZXc+
OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNJbnQ4QXJyYXlDb25zdHJ1
Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFS
QUJMRShKU0ludDE2QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CkBAIC01MCw2
ICs1Miw4IEBAIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTVWludDE2QXJy
YXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShKU1VpbnQzMkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24p
OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNGbG9hdDMyQXJyYXlDb25z
dHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU0Zsb2F0NjRBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKK1NU
QVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTQmlnSW50NjRBcnJheUNvbnN0cnVj
dG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKK1NUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJB
QkxFKEpTQmlnVWludDY0QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CiBTVEFU
SUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0RhdGFWaWV3Q29uc3RydWN0b3IsIElu
dGVybmFsRnVuY3Rpb24pOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHAKaW5k
ZXggMmJiMTQ1MjVmNWJkMTE2OGNmNDY3MzE3Mzk5MzI3Njg3ODEwOTA1Ni4uYmE4MThlYTMwODJm
ZjQwNGM5ZDRhN2YxNDE4MWVjOTc3YjgxOTMwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5jcHAKQEAgLTQ3LDYg
KzQ3LDggQEAgTUFLRV9TX0lORk8oVWludDE2QXJyYXkpOwogTUFLRV9TX0lORk8oVWludDMyQXJy
YXkpOwogTUFLRV9TX0lORk8oRmxvYXQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0NjRBcnJh
eSk7CitNQUtFX1NfSU5GTyhCaWdJbnQ2NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NEFy
cmF5KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaAppbmRleCAwN2I5Njg2OTNl
ODBmNDU4NTg2Y2MxMmJjNWRhZmZlZmE0MWUzNTk5Li41MTFiMTEyODg3ODg1Y2M1N2E4MTgzMjNm
MjNhYWU0MmQxYWE5Zjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oCkBAIC0zOSw1ICszOSw3IEBAIHR5cGVkZWYg
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNVaW50MTZBcnJheT4gSlNVaW50MTZB
cnJheVByb3RvdHlwZTsKIHR5cGVkZWYgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8
SlNVaW50MzJBcnJheT4gSlNVaW50MzJBcnJheVByb3RvdHlwZTsKIHR5cGVkZWYgSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNGbG9hdDMyQXJyYXk+IEpTRmxvYXQzMkFycmF5UHJv
dG90eXBlOwogdHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTxKU0Zsb2F0
NjRBcnJheT4gSlNGbG9hdDY0QXJyYXlQcm90b3R5cGU7Cit0eXBlZGVmIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3UHJvdG90eXBlPEpTQmlnSW50NjRBcnJheT4gSlNCaWdJbnQ2NEFycmF5UHJvdG90
eXBlOwordHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTxKU0JpZ1VpbnQ2
NEFycmF5PiBKU0JpZ1VpbnQ2NEFycmF5UHJvdG90eXBlOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZS5jcHAKaW5kZXggZWYyYzkxMGNkYjRjZWRkZjczMzViMDU1N2NkZWY2
OGU5MDAyYjc5Ny4uMzZhNWExMDZjMjJiNjJiNWY1ZTNmYWNhYjAzNThmMzMzMTdlMmIyZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1By
b3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZS5jcHAKQEAgLTcyLDYgKzcyLDEwIEBAIHN0YXRpYyBKU0NfREVDTEFS
RV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJvdG9HZXR0ZXJGdW5jVG9TdHJpbmdUYWcp
OwogICAgICAgICByZXR1cm4gZnVuY3Rpb25OYW1lPEpTSW50MTZBcnJheT4odm0sIGdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgVHlw
ZVVpbnQxNjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICByZXR1cm4gZnVuY3Rpb25OYW1l
PEpTVWludDE2QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgIGNhc2UgVHlwZUJpZ0ludDY0OiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICByZXR1cm4gZnVuY3Rpb25OYW1lPEpTQmlnSW50NjRBcnJheT4odm0sIGdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lKTsgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgVHlwZUJp
Z1VpbnQ2NDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICByZXR1cm4gZnVuY3Rpb25OYW1lPEpT
QmlnVWludDY0QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAgICAgICAgICAg
ICAgICAgICAgXAogICAgIGNhc2UgTm90VHlwZWRBcnJheTogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IGNhc2UgVHlwZURhdGFWaWV3OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXApAQCAtODYsNiArOTAsMTIgQEAgSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVkQXJyYXlWaWV3LCAoSlNH
bG9iYWxPYmoKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih2YWx1ZS5pc0Nl
bGwoKSAmJiBpc1R5cGVkVmlldyh2YWx1ZS5hc0NlbGwoKS0+Y2xhc3NJbmZvKGdsb2JhbE9iamVj
dC0+dm0oKSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpKTsKIH0KIAorSlNDX0RFRklORV9IT1NU
X0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc0JpZ0ludFR5cGVkQXJyYXlWaWV3
LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQor
eworICAgIEpTVmFsdWUgdmFsdWUgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApOwor
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHZhbHVlLmlzQ2VsbCgpICYmIGlz
QmlnSW50VHlwZWRWaWV3KHZhbHVlLmFzQ2VsbCgpLT5jbGFzc0luZm8oZ2xvYmFsT2JqZWN0LT52
bSgpKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkpOworfQorCiBKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzU2hhcmVkVHlwZWRBcnJheVZpZXcsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCk7CkBAIC0x
NzEsNiArMTgxLDE2IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1By
aXZhdGVGdW5jTGVuZ3RoLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhCiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc051bWJlcih0aGlzT2JqZWN0LT5sZW5ndGgoKSkpOwogfQogCitKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0NvbnRlbnRUeXBlLCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQorewor
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7CisgICAgSlNWYWx1ZSBhcmd1bWVudCA9IGNhbGxGcmFtZS0+YXJn
dW1lbnQoMCk7CisgICAgaWYgKCFhcmd1bWVudC5pc0NlbGwoKSB8fCAhaXNUeXBlZFZpZXcoYXJn
dW1lbnQuYXNDZWxsKCktPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpCisg
ICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJSZWNl
aXZlciBzaG91bGQgYmUgYSB0eXBlZCBhcnJheSB2aWV3Il9zKTsKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKHN0YXRpY19jYXN0PGludDMyX3Q+KGNvbnRlbnRUeXBlKGFyZ3Vt
ZW50LmFzQ2VsbCgpLT5jbGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKSkpOwor
fQorCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0dl
dE9yaWdpbmFsQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpA
QCAtMzg4LDYgKzQwOCwxMCBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZp
ZXdQcm90b0dldHRlckZ1bmNUb1N0cmluZ1RhZywgKEpTR2xvYmFsT2JqZQogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIkludDE2QXJyYXkiX3Mp
KTsKICAgICBjYXNlIFR5cGVVaW50MTY6CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNOb250cml2aWFsU3RyaW5nKHZtLCAiVWludDE2QXJyYXkiX3MpKTsKKyAgICBjYXNlIFR5cGVC
aWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxTdHJp
bmcodm0sICJCaWdJbnQ2NEFycmF5Il9zKSk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIkJpZ1Vp
bnQ2NEFycmF5Il9zKSk7CiAgICAgY2FzZSBOb3RUeXBlZEFycmF5OgogICAgIGNhc2UgVHlwZURh
dGFWaWV3OgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmll
d1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5
Vmlld1Byb3RvdHlwZS5oCmluZGV4IGQzNTMwZmY2ZDYxNGVmZTBkMjIxMjdjMzhmOTY5MGMyY2Nm
MjBlZjQuLmEyYTY0MzE3NmVkMmQzYTgwNmMxMjViYWNjY2Q3NzA4NmZhMzNjMmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3
UHJvdG90eXBlLmgKQEAgLTUyLDExICs1MiwxMyBAQCBjbGFzcyBKU1R5cGVkQXJyYXlWaWV3UHJv
dG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgewogfTsKIAogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNUeXBlZEFycmF5Vmll
dyk7CitKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c0JpZ0ludFR5cGVkQXJyYXlWaWV3KTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlwZWRB
cnJheVZpZXdQcml2YXRlRnVuY0lzU2hhcmVkVHlwZWRBcnJheVZpZXcpOwogSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNEZXRhY2hlZCk7CiBKU0Nf
REVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNEZWZhdWx0Q29t
cGFyYXRvcik7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0
ZUZ1bmNTb3J0KTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2
YXRlRnVuY0xlbmd0aCk7CitKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3
UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVk
QXJyYXlWaWV3UHJpdmF0ZUZ1bmNHZXRPcmlnaW5hbENvbnN0cnVjdG9yKTsKIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKTsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRB
cnJheXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5j
cHAKaW5kZXggNGI5Zjk1Y2Y2MzFiZGE1MzU0ZTc1MWFkNDAyOTE2MmNkYTdmN2JjOC4uOTBiMzA0
NTY3MGFmMGFiZTJmNmQwMjdlZGU5ZDg4NWZmZjA0YWYzOSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5jcHAKQEAgLTYxLDYgKzYxLDggQEAgTUFL
RV9TX0lORk8oVWludDE2KTsKIE1BS0VfU19JTkZPKFVpbnQzMik7CiBNQUtFX1NfSU5GTyhGbG9h
dDMyKTsKIE1BS0VfU19JTkZPKEZsb2F0NjQpOworTUFLRV9TX0lORk8oQmlnSW50NjQpOworTUFL
RV9TX0lORk8oQmlnVWludDY0KTsKIAogTUFLRV9DT05TVFJVQ1RPUlMoRGF0YVZpZXcpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmgKaW5kZXggYzM4
MTI5ODRiNGQ3Yjg3YmIxZTMwMWUyMTk3Yjg2MDVjMGZlY2FjMS4uYTMwM2EwNzg4YTA0NGEwZWY4
NjQ2OGMzMDVkMWU2ZmVmOGEyM2E0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTVHlwZWRBcnJheXMuaApAQCAtMzksNiArMzksOCBAQCB1c2luZyBKU1VpbnQxNkFycmF5
ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2QWRhcHRvcj47CiB1c2luZyBKU1VpbnQz
MkFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDMyQWRhcHRvcj47CiB1c2luZyBK
U0Zsb2F0MzJBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJBZGFwdG9yPjsK
IHVzaW5nIEpTRmxvYXQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8RmxvYXQ2NEFk
YXB0b3I+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8
QmlnSW50NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmlnVWludDY0QXJyYXkgPSBKU0dlbmVyaWNUeXBl
ZEFycmF5VmlldzxCaWdVaW50NjRBZGFwdG9yPjsKIAogSlNfRVhQT1JUX1BSSVZBVEUgSlNVaW50
OEFycmF5KiBjcmVhdGVVaW50OFR5cGVkQXJyYXkoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
LCBSZWZQdHI8QXJyYXlCdWZmZXI+JiYsIHVuc2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxl
bmd0aCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RvTmF0
aXZlRnJvbVZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZy
b21WYWx1ZS5oCmluZGV4IDI1MzI2ZDYwZDZkNTk0Y2UyNTc5NzY1ODYxNDE1NTllMDNmZjhlYmEu
Ljc0NjA4OTVmNGJmMmU3Mzc2ZDAxMzMzNzE1Mzc1ZjNhYjU5NDEzYmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RvTmF0aXZlRnJvbVZhbHVlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVG9OYXRpdmVGcm9tVmFsdWUuaApAQCAtMjYsMTIg
KzI2LDE0IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNs
dWRlICJUeXBlZEFycmF5QWRhcHRvcnMuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIEFkYXB0b3I+CiB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIHRvTmF0aXZlRnJvbVZh
bHVlKEpTVmFsdWUgdmFsdWUpCiB7CisgICAgLy8gRklYTUU6IEJpZ0ludAogICAgIGlmICh2YWx1
ZS5pc0ludDMyKCkpCiAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQzMih2
YWx1ZS5hc0ludDMyKCkpOwogICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUo
dmFsdWUuYXNEb3VibGUoKSk7CkBAIC00MCwyMSArNDIsMzcgQEAgdHlwZW5hbWUgQWRhcHRvcjo6
VHlwZSB0b05hdGl2ZUZyb21WYWx1ZShKU1ZhbHVlIHZhbHVlKQogdGVtcGxhdGU8dHlwZW5hbWUg
QWRhcHRvcj4KIHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUgdG9OYXRpdmVGcm9tVmFsdWUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUu
aXNJbnQzMigpKQotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tSW50MzIodmFs
dWUuYXNJbnQzMigpKTsKLSAgICBpZiAodmFsdWUuaXNOdW1iZXIoKSkKLSAgICAgICAgcmV0dXJu
IEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZSh2YWx1ZS5hc0RvdWJsZSgpKTsKLSAgICByZXR1
cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlKHZhbHVlLnRvTnVtYmVyKGdsb2JhbE9iamVj
dCkpOworICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnSW50NjRB
ZGFwdG9yPiB8fCBzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBCaWdVaW50NjRBZGFwdG9yPikgewor
ICAgICAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRh
cHRvcj4pCisgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9CaWdJbnQ2NChnbG9iYWxPYmplY3Qp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9CaWdVSW50NjQoZ2xv
YmFsT2JqZWN0KTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAodmFsdWUuaXNJbnQzMigpKQor
ICAgICAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKHZhbHVlLmFzSW50
MzIoKSk7CisgICAgICAgIGlmICh2YWx1ZS5pc051bWJlcigpKQorICAgICAgICAgICAgcmV0dXJu
IEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZSh2YWx1ZS5hc0RvdWJsZSgpKTsKKyAgICAgICAg
cmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZSh2YWx1ZS50b051bWJlcihnbG9iYWxP
YmplY3QpKTsKKyAgICB9CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CiBPcHRpb25h
bDx0eXBlbmFtZSBBZGFwdG9yOjpUeXBlPiB0b05hdGl2ZUZyb21WYWx1ZVdpdGhvdXRDb2VyY2lv
bihKU1ZhbHVlIHZhbHVlKQogewotICAgIGlmICghdmFsdWUuaXNOdW1iZXIoKSkKLSAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBpZiAodmFsdWUuaXNJbnQzMigpKQotICAgICAgICBy
ZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tSW50MzJXaXRob3V0Q29lcmNpb24odmFsdWUuYXNJ
bnQzMigpKTsKLSAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlV2l0aG91dENv
ZXJjaW9uKHZhbHVlLmFzRG91YmxlKCkpOworICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19zYW1l
X3Y8QWRhcHRvciwgQmlnSW50NjRBZGFwdG9yPiB8fCBzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBC
aWdVaW50NjRBZGFwdG9yPikgeworICAgICAgICBpZiAoIXZhbHVlLmlzQmlnSW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBpZiBjb25zdGV4cHIgKHN0ZDo6
aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4pCisgICAgICAgICAgICByZXR1cm4g
SlNCaWdJbnQ6OnRvQmlnSW50NjQodmFsdWUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBy
ZXR1cm4gSlNCaWdJbnQ6OnRvQmlnVUludDY0KHZhbHVlKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBpZiAoIXZhbHVlLmlzTnVtYmVyKCkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworICAgICAgICBpZiAodmFsdWUuaXNJbnQzMigpKQorICAgICAgICAgICAgcmV0dXJuIEFkYXB0
b3I6OnRvTmF0aXZlRnJvbUludDMyV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzSW50MzIoKSk7Cisg
ICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGVXaXRob3V0Q29lcmNpb24o
dmFsdWUuYXNEb3VibGUoKSk7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheUFkYXB0b3JzLmgKaW5k
ZXggZTMyNGQ0MGEyNjMxODJiNzIzYjM2N2JhMjkwYzExZjJkNjAxMDhmMy4uM2Q5YjNlNDdmYzA1
YmU5NzI5NjQzNzdhMDcxNjY4YTRlMjI3NDA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheUFkYXB0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheUFkYXB0b3JzLmgKQEAgLTI1LDYgKzI1LDcgQEAKIAog
I3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJKU0JpZ0ludC5oIgogI2luY2x1ZGUgIkpTQ0pTVmFs
dWUuaCIKICNpbmNsdWRlICJNYXRoQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZWRBcnJheVR5cGUu
aCIKQEAgLTM5LDIxICs0MCwxOCBAQCBzdHJ1Y3QgSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvciB7
CiAgICAgdHlwZWRlZiBUeXBlQXJnIFR5cGU7CiAgICAgdHlwZWRlZiBWaWV3VHlwZUFyZyBWaWV3
VHlwZTsKICAgICB0eXBlZGVmIEpTVmlld1R5cGVBcmcgSlNWaWV3VHlwZTsKLSAgICBzdGF0aWMg
Y29uc3QgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOwotICAgIGNvbnN0
ZXhwciBzdGF0aWMgY29uc3QgVHlwZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8
VHlwZUFyZz46Omxvd2VzdCgpOwotICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgVHlwZUFyZyBt
YXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOworICAg
IHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8
VHlwZUFyZz46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtYXhWYWx1
ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRpYyBjb25z
dGV4cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSB0cnVlOworICAgIHN0YXRpYyBjb25z
dGV4cHIgVHlwZWRBcnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlID0gSlNDOjpjb250ZW50VHlw
ZSh0eXBlVmFsdWUpOwogCi0gICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKFR5cGUgdmFsdWUp
CisgICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKEpTR2xvYmFsT2JqZWN0KiwgVHlwZSB2YWx1
ZSkKICAgICB7CiAgICAgICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfZmxvYXRpbmdfcG9pbnQ8
VHlwZT46OnZhbHVlLCAiIik7CiAgICAgICAgIHJldHVybiBqc051bWJlcih2YWx1ZSk7CiAgICAg
fQogICAgIAotICAgIHN0YXRpYyBkb3VibGUgdG9Eb3VibGUoVHlwZSB2YWx1ZSkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxkb3VibGU+KHZhbHVlKTsKLSAgICB9Ci0gICAgCiAg
ICAgc3RhdGljIFR5cGUgdG9OYXRpdmVGcm9tSW50MzIoaW50MzJfdCB2YWx1ZSkKICAgICB7CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPih2YWx1ZSk7CkBAIC0xMTUsMjAgKzExMywx
NyBAQCBzdHJ1Y3QgRmxvYXRUeXBlZEFycmF5QWRhcHRvciB7CiAgICAgdHlwZWRlZiBUeXBlQXJn
IFR5cGU7CiAgICAgdHlwZWRlZiBWaWV3VHlwZUFyZyBWaWV3VHlwZTsKICAgICB0eXBlZGVmIEpT
Vmlld1R5cGVBcmcgSlNWaWV3VHlwZTsKLSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUg
dHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOwotICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgVHlw
ZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Omxvd2VzdCgpOwot
ICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgVHlwZUFyZyBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJp
Y19saW1pdHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJh
eVR5cGUgdHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlw
ZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Omxvd2VzdCgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1p
dHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBjYW5Db252ZXJ0
VG9KU1F1aWNrbHkgPSB0cnVlOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheUNvbnRl
bnRUeXBlIGNvbnRlbnRUeXBlID0gSlNDOjpjb250ZW50VHlwZSh0eXBlVmFsdWUpOwogCi0gICAg
c3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKFR5cGUgdmFsdWUpCisgICAgc3RhdGljIEpTVmFsdWUg
dG9KU1ZhbHVlKEpTR2xvYmFsT2JqZWN0KiwgVHlwZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIHJl
dHVybiBqc0RvdWJsZU51bWJlcihwdXJpZnlOYU4odmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0
aWMgZG91YmxlIHRvRG91YmxlKFR5cGUgdmFsdWUpCi0gICAgewotICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSk7Ci0gICAgfQotCiAgICAgc3RhdGljIFR5cGUgdG9OYXRp
dmVGcm9tSW50MzIoaW50MzJfdCB2YWx1ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxUeXBlPih2YWx1ZSk7CkBAIC0xNzIsNiArMTY3LDQ3IEBAIHN0cnVjdCBGbG9hdFR5cGVk
QXJyYXlBZGFwdG9yIHsKICAgICB9CiB9OwogCit0ZW1wbGF0ZTwKKyAgICB0eXBlbmFtZSBUeXBl
QXJnLCB0eXBlbmFtZSBWaWV3VHlwZUFyZywgdHlwZW5hbWUgSlNWaWV3VHlwZUFyZywKKyAgICBU
eXBlZEFycmF5VHlwZSB0eXBlVmFsdWVBcmc+CitzdHJ1Y3QgQmlnSW50VHlwZWRBcnJheUFkYXB0
b3IgeworICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBlOworICAgIHR5cGVkZWYgVmlld1R5cGVBcmcg
Vmlld1R5cGU7CisgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBUeXBlZEFycmF5VHlwZSB0eXBlVmFsdWUgPSB0eXBlVmFsdWVBcmc7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlQXJnIG1pblZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0
czxUeXBlQXJnPjo6bG93ZXN0KCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlQXJnIG1heFZh
bHVlID0gc3RkOjpudW1lcmljX2xpbWl0czxUeXBlQXJnPjo6bWF4KCk7CisgICAgc3RhdGljIGNv
bnN0ZXhwciBib29sIGNhbkNvbnZlcnRUb0pTUXVpY2tseSA9IGZhbHNlOworICAgIHN0YXRpYyBj
b25zdGV4cHIgVHlwZWRBcnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlID0gSlNDOjpjb250ZW50
VHlwZSh0eXBlVmFsdWUpOworCisgICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFR5cGUgdmFsdWUpCisgICAgeworICAgICAgICBBU1NFUlQo
Z2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTQmlnSW50OjptYWtlSGVhcEJpZ0ludE9y
QmlnSW50MzIoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIFR5cGUg
dG9OYXRpdmVGcm9tSW50MzIoaW50MzJfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxUeXBlPih2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIFR5cGUgdG9OYXRp
dmVGcm9tVWludDMyKHVpbnQzMl90IHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFR5cGU+KHZhbHVlKTsKKyAgICB9CisKKyAgICBzdGF0aWMgVHlwZSB0b05hdGl2ZUZy
b21Eb3VibGUoZG91YmxlIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFR5cGU+KHZhbHVlKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBPdGhlckFkYXB0
b3I+CisgICAgc3RhdGljIHR5cGVuYW1lIE90aGVyQWRhcHRvcjo6VHlwZSBjb252ZXJ0VG8oVHlw
ZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx0eXBlbmFtZSBPdGhl
ckFkYXB0b3I6OlR5cGU+KHZhbHVlKTsKKyAgICB9Cit9OworCiBzdHJ1Y3QgSW50OEFkYXB0b3I7
CiBzdHJ1Y3QgSW50MTZBZGFwdG9yOwogc3RydWN0IEludDMyQWRhcHRvcjsKQEAgLTE4MSw2ICsy
MTcsOCBAQCBzdHJ1Y3QgVWludDE2QWRhcHRvcjsKIHN0cnVjdCBVaW50MzJBZGFwdG9yOwogc3Ry
dWN0IEZsb2F0MzJBZGFwdG9yOwogc3RydWN0IEZsb2F0NjRBZGFwdG9yOworc3RydWN0IEJpZ0lu
dDY0QWRhcHRvcjsKK3N0cnVjdCBCaWdVaW50NjRBZGFwdG9yOwogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBBZGFwdG9yPiBjbGFzcyBHZW5lcmljVHlwZWRBcnJheVZpZXc7CiB0eXBlZGVmIEdlbmVyaWNU
eXBlZEFycmF5VmlldzxJbnQ4QWRhcHRvcj4gSW50OEFycmF5OwpAQCAtMTkyLDYgKzIzMCw4IEBA
IHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQxNkFkYXB0b3I+IFVpbnQxNkFycmF5
OwogdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDMyQWRhcHRvcj4gVWludDMyQXJy
YXk7CiB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDMyQWRhcHRvcj4gRmxvYXQz
MkFycmF5OwogdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8RmxvYXQ2NEFkYXB0b3I+IEZs
b2F0NjRBcnJheTsKK3R5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRv
cj4gQmlnSW50NjRBcnJheTsKK3R5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ1VpbnQ2
NEFkYXB0b3I+IEJpZ1VpbnQ2NEFycmF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPiBj
bGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzsKIHVzaW5nIEpTSW50OEFycmF5ID0gSlNHZW5l
cmljVHlwZWRBcnJheVZpZXc8SW50OEFkYXB0b3I+OwpAQCAtMjAzLDYgKzI0Myw4IEBAIHVzaW5n
IEpTVWludDE2QXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MTZBZGFwdG9yPjsK
IHVzaW5nIEpTVWludDMyQXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MzJBZGFw
dG9yPjsKIHVzaW5nIEpTRmxvYXQzMkFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8Rmxv
YXQzMkFkYXB0b3I+OwogdXNpbmcgSlNGbG9hdDY0QXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldzxGbG9hdDY0QWRhcHRvcj47Cit1c2luZyBKU0JpZ0ludDY0QXJyYXkgPSBKU0dlbmVyaWNU
eXBlZEFycmF5VmlldzxCaWdJbnQ2NEFkYXB0b3I+OwordXNpbmcgSlNCaWdVaW50NjRBcnJheSA9
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ1VpbnQ2NEFkYXB0b3I+OwogCiBzdHJ1Y3QgSW50
OEFkYXB0b3IgOiBJbnRlZ3JhbFR5cGVkQXJyYXlBZGFwdG9yPGludDhfdCwgSW50OEFycmF5LCBK
U0ludDhBcnJheSwgVHlwZUludDg+IHsgfTsKIHN0cnVjdCBJbnQxNkFkYXB0b3IgOiBJbnRlZ3Jh
bFR5cGVkQXJyYXlBZGFwdG9yPGludDE2X3QsIEludDE2QXJyYXksIEpTSW50MTZBcnJheSwgVHlw
ZUludDE2PiB7IH07CkBAIC0yMTIsMjUgKzI1NCwyNCBAQCBzdHJ1Y3QgVWludDE2QWRhcHRvciA6
IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3I8dWludDE2X3QsIFVpbnQxNkFycmF5LCBKU1VpbnQx
Ngogc3RydWN0IFVpbnQzMkFkYXB0b3IgOiBJbnRlZ3JhbFR5cGVkQXJyYXlBZGFwdG9yPHVpbnQz
Ml90LCBVaW50MzJBcnJheSwgSlNVaW50MzJBcnJheSwgVHlwZVVpbnQzMj4geyB9Owogc3RydWN0
IEZsb2F0MzJBZGFwdG9yIDogRmxvYXRUeXBlZEFycmF5QWRhcHRvcjxmbG9hdCwgRmxvYXQzMkFy
cmF5LCBKU0Zsb2F0MzJBcnJheSwgVHlwZUZsb2F0MzI+IHsgfTsKIHN0cnVjdCBGbG9hdDY0QWRh
cHRvciA6IEZsb2F0VHlwZWRBcnJheUFkYXB0b3I8ZG91YmxlLCBGbG9hdDY0QXJyYXksIEpTRmxv
YXQ2NEFycmF5LCBUeXBlRmxvYXQ2ND4geyB9Oworc3RydWN0IEJpZ0ludDY0QWRhcHRvciA6IEJp
Z0ludFR5cGVkQXJyYXlBZGFwdG9yPGludDY0X3QsIEJpZ0ludDY0QXJyYXksIEpTQmlnSW50NjRB
cnJheSwgVHlwZUJpZ0ludDY0PiB7IH07CitzdHJ1Y3QgQmlnVWludDY0QWRhcHRvciA6IEJpZ0lu
dFR5cGVkQXJyYXlBZGFwdG9yPHVpbnQ2NF90LCBCaWdVaW50NjRBcnJheSwgSlNCaWdVaW50NjRB
cnJheSwgVHlwZUJpZ1VpbnQ2ND4geyB9OwogCiBzdHJ1Y3QgVWludDhDbGFtcGVkQWRhcHRvciB7
CiAgICAgdHlwZWRlZiB1aW50OF90IFR5cGU7CiAgICAgdHlwZWRlZiBVaW50OENsYW1wZWRBcnJh
eSBWaWV3VHlwZTsKICAgICB0eXBlZGVmIEpTVWludDhDbGFtcGVkQXJyYXkgSlNWaWV3VHlwZTsK
LSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gVHlwZVVpbnQ4Q2xh
bXBlZDsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IHVpbnQ4X3QgbWluVmFsdWUgPSBzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQ4X3Q+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4cHIgc3RhdGlj
IGNvbnN0IHVpbnQ4X3QgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQ4X3Q+Ojpt
YXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IFR5
cGVVaW50OENsYW1wZWQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50OF90IG1pblZhbHVlID0g
c3RkOjpudW1lcmljX2xpbWl0czx1aW50OF90Pjo6bG93ZXN0KCk7CisgICAgc3RhdGljIGNvbnN0
ZXhwciB1aW50OF90IG1heFZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50OF90Pjo6bWF4
KCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGNhbkNvbnZlcnRUb0pTUXVpY2tseSA9IHRy
dWU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5
cGUgPSBKU0M6OmNvbnRlbnRUeXBlKHR5cGVWYWx1ZSk7CiAKLSAgICBzdGF0aWMgSlNWYWx1ZSB0
b0pTVmFsdWUodWludDhfdCB2YWx1ZSkKKyAgICBzdGF0aWMgSlNWYWx1ZSB0b0pTVmFsdWUoSlNH
bG9iYWxPYmplY3QqLCB1aW50OF90IHZhbHVlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGpzTnVt
YmVyKHZhbHVlKTsKICAgICB9CiAKLSAgICBzdGF0aWMgZG91YmxlIHRvRG91YmxlKHVpbnQ4X3Qg
dmFsdWUpCi0gICAgewotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSk7
Ci0gICAgfQotCiAgICAgc3RhdGljIFR5cGUgdG9OYXRpdmVGcm9tSW50MzIoaW50MzJfdCB2YWx1
ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBjbGFtcCh2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHAKaW5kZXggYzI0MTg1Yjg5MjRm
NjY5YjFkN2VhNjlmYWM1MjU1OWMxY2FhMWQzMy4uZjI5NmUzNzQ5MjVhMmYwOTBiY2FjZDYxM2Fl
ZTkwM2NkYmU4MjdmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZWRBcnJheVR5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5
cGVkQXJyYXlUeXBlLmNwcApAQCAtNTMsNiArNTMsMTAgQEAgY29uc3QgQ2xhc3NJbmZvKiBjb25z
dHJ1Y3RvckNsYXNzSW5mb0ZvclR5cGUoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICAgICAgcmV0
dXJuIEpTRmxvYXQzMkFycmF5Q29uc3RydWN0b3I6OmluZm8oKTsKICAgICBjYXNlIFR5cGVGbG9h
dDY0OgogICAgICAgICByZXR1cm4gSlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3Rvcjo6aW5mbygpOwor
ICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gSlNCaWdJbnQ2NEFycmF5Q29u
c3RydWN0b3I6OmluZm8oKTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVy
biBKU0JpZ1VpbnQ2NEFycmF5Q29uc3RydWN0b3I6OmluZm8oKTsKICAgICBjYXNlIFR5cGVEYXRh
VmlldzoKICAgICAgICAgcmV0dXJuIEpTRGF0YVZpZXdDb25zdHJ1Y3Rvcjo6aW5mbygpOwogICAg
IH0KQEAgLTk5LDYgKzEwMywxMiBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBv
dXQucHJpbnQoIlR5cGVGbG9hdDY0Iik7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFR5cGVC
aWdJbnQ2NDoKKyAgICAgICAgb3V0LnByaW50KCJUeXBlQmlnSW50NjQiKTsKKyAgICAgICAgcmV0
dXJuOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgb3V0LnByaW50KCJUeXBlQmln
VWludDY0Iik7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAg
ICAgb3V0LnByaW50KCJUeXBlRGF0YVZpZXciKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmgKaW5kZXggMDdkMTc1M2Fi
OGNjMjgwYzhkNmRkYzkxMzdiNDBhNzQ3NDM4MmI0Zi4uNmY0MGUxY2Y4ZjA3YTBiZmZkMmQ3YzJj
MjQ5MDI1YzJkNTBkMzY0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZWRBcnJheVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlZEFycmF5VHlwZS5oCkBAIC00Miw3ICs0Miw5IEBAIHN0cnVjdCBDbGFzc0luZm87CiAgICAg
bWFjcm8oSW50MzIpIFwKICAgICBtYWNybyhVaW50MzIpIFwKICAgICBtYWNybyhGbG9hdDMyKSBc
Ci0gICAgbWFjcm8oRmxvYXQ2NCkKKyAgICBtYWNybyhGbG9hdDY0KSBcCisgICAgbWFjcm8oQmln
SW50NjQpIFwKKyAgICBtYWNybyhCaWdVaW50NjQpCiAKICNkZWZpbmUgRk9SX0VBQ0hfVFlQRURf
QVJSQVlfVFlQRShtYWNybykgXAogICAgIEZPUl9FQUNIX1RZUEVEX0FSUkFZX1RZUEVfRVhDTFVE
SU5HX0RBVEFfVklFVyhtYWNybykgXApAQCAtNTUsNiArNTcsMTIgQEAgZW51bSBUeXBlZEFycmF5
VHlwZSB7CiAjdW5kZWYgREVDTEFSRV9UWVBFRF9BUlJBWV9UWVBFCiB9OwogCitlbnVtIGNsYXNz
IFR5cGVkQXJyYXlDb250ZW50VHlwZSA6IHVpbnQ4X3QgeworICAgIE5vbmUsCisgICAgTnVtYmVy
LAorICAgIEJpZ0ludCwKK307CisKICNkZWZpbmUgQVNTRVJUX1RZUEVEX0FSUkFZX1RZUEUobmFt
ZSkgXAogICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFR5cGUgIyMgbmFt
ZSkgPT0gKHN0YXRpY19jYXN0PHVpbnQzMl90PihuYW1lICMjIEFycmF5VHlwZSkgLSBGaXJzdFR5
cGVkQXJyYXlUeXBlICsgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFR5cGVJbnQ4KSksICIiKTsKICAg
ICBGT1JfRUFDSF9UWVBFRF9BUlJBWV9UWVBFX0VYQ0xVRElOR19EQVRBX1ZJRVcoQVNTRVJUX1RZ
UEVEX0FSUkFZX1RZUEUpCkBAIC04NSw2ICs5MywxNyBAQCBpbmxpbmUgYm9vbCBpc1R5cGVkVmll
dyhUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgIH0KIH0KIAoraW5saW5lIGJvb2wgaXNCaWdJbnRU
eXBlZFZpZXcoVHlwZWRBcnJheVR5cGUgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9
CisKIGlubGluZSB1bnNpZ25lZCBsb2dFbGVtZW50U2l6ZShUeXBlZEFycmF5VHlwZSB0eXBlKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMTAzLDYgKzEyMiw4IEBAIGlubGluZSB1bnNpZ25l
ZCBsb2dFbGVtZW50U2l6ZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgIGNhc2UgVHlwZUZsb2F0
MzI6CiAgICAgICAgIHJldHVybiAyOwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CisgICAgY2FzZSBU
eXBlQmlnSW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgogICAgICAgICByZXR1cm4gMzsK
ICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE1OSw2ICsxODAs
MTcgQEAgaW5saW5lIGJvb2wgaXNGbG9hdChUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgIH0KIH0K
IAoraW5saW5lIGJvb2wgaXNCaWdJbnQoVHlwZWRBcnJheVR5cGUgdHlwZSkKK3sKKyAgICBzd2l0
Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9Cit9CisKIGlubGluZSBib29sIGlzU2lnbmVkKFR5cGVkQXJyYXlUeXBlIHR5
cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC0xNjcsNiArMTk5LDcgQEAgaW5saW5lIGJv
b2wgaXNTaWduZWQoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGVJbnQzMjoKICAg
ICBjYXNlIFR5cGVGbG9hdDMyOgogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CisgICAgY2FzZSBUeXBl
QmlnSW50NjQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTE3OCw2ICsyMTEsMjkgQEAgaW5saW5lIGJvb2wgaXNDbGFtcGVkKFR5
cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgcmV0dXJuIHR5cGUgPT0gVHlwZVVpbnQ4Q2xhbXBlZDsK
IH0KIAoraW5saW5lIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5cGUo
VHlwZWRBcnJheVR5cGUgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFR5
cGVCaWdJbnQ2NDoKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVybiBUeXBl
ZEFycmF5Q29udGVudFR5cGU6OkJpZ0ludDsKKyAgICBjYXNlIFR5cGVJbnQ4OgorICAgIGNhc2Ug
VHlwZUludDE2OgorICAgIGNhc2UgVHlwZUludDMyOgorICAgIGNhc2UgVHlwZVVpbnQ4OgorICAg
IGNhc2UgVHlwZVVpbnQxNjoKKyAgICBjYXNlIFR5cGVVaW50MzI6CisgICAgY2FzZSBUeXBlRmxv
YXQzMjoKKyAgICBjYXNlIFR5cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZVVpbnQ4Q2xhbXBlZDoK
KyAgICAgICAgcmV0dXJuIFR5cGVkQXJyYXlDb250ZW50VHlwZTo6TnVtYmVyOworICAgIGNhc2Ug
Tm90VHlwZWRBcnJheToKKyAgICBjYXNlIFR5cGVEYXRhVmlldzoKKyAgICAgICAgcmV0dXJuIFR5
cGVkQXJyYXlDb250ZW50VHlwZTo6Tm9uZTsKKyAgICB9CisgICAgcmV0dXJuIFR5cGVkQXJyYXlD
b250ZW50VHlwZTo6Tm9uZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKIG5hbWVzcGFjZSBX
VEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJh
eXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlzLmgKaW5kZXgg
OGZlOWIzNmNiMjc3ZjIzZDBhOTg2ZGYxM2YwOWM2ZGVmMjU5YTljOS4uODI3MDFmNzgwYjdhMzVi
MjM5YjU5NDAyZGIzNmQxOTI3MDY5Y2VhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVHlwZWRBcnJheXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlZEFycmF5cy5oCkBAIC0zOSw1ICszOSw3IEBAIHR5cGVkZWYgR2VuZXJpY1R5cGVk
QXJyYXlWaWV3PFVpbnQxNkFkYXB0b3I+IFVpbnQxNkFycmF5OwogdHlwZWRlZiBHZW5lcmljVHlw
ZWRBcnJheVZpZXc8VWludDMyQWRhcHRvcj4gVWludDMyQXJyYXk7CiB0eXBlZGVmIEdlbmVyaWNU
eXBlZEFycmF5VmlldzxGbG9hdDMyQWRhcHRvcj4gRmxvYXQzMkFycmF5OwogdHlwZWRlZiBHZW5l
cmljVHlwZWRBcnJheVZpZXc8RmxvYXQ2NEFkYXB0b3I+IEZsb2F0NjRBcnJheTsKK3R5cGVkZWYg
R2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRvcj4gQmlnSW50NjRBcnJheTsKK3R5
cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ1VpbnQ2NEFkYXB0b3I+IEJpZ1VpbnQ2NEFy
cmF5OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNw
cAppbmRleCA4NDAzZTJjODFjNzI2ODFjMGQ1MTA4NzlhOGJlOTgwZjZlMWUwZjhjLi5lNzFhM2Nl
ZDVmMTg3NGU0OWE1ZGQyMDkwOWRmNmY4MjA4MGJmNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk0uY3BwCkBAIC0xNDcxLDcgKzE0NzEsOSBAQCBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYXBpVmFsdWVXcmFwcGVyU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUu
ZwogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFycmF5QnVmZmVyU3Bh
Y2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXJyYXlCdWZmZXIpCiBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYXJyYXlJdGVyYXRvclNwYWNlLCBjZWxsSGVhcENl
bGxUeXBlLmdldCgpLCBKU0FycmF5SXRlcmF0b3IpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSX1NMT1coYXN5bmNHZW5lcmF0b3JTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQo
KSwgSlNBc3luY0dlbmVyYXRvcikKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJf
U0xPVyhiaWdJbnQ2NEFycmF5U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQmlnSW50
NjRBcnJheSkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhiaWdJbnRP
YmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQmlnSW50T2JqZWN0KQorRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJpZ1VpbnQ2NEFycmF5U3BhY2UsIGNl
bGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQmlnVWludDY0QXJyYXkpCiBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYm9vbGVhbk9iamVjdFNwYWNlLCBjZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBCb29sZWFuT2JqZWN0KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUl9TTE9XKGJvdW5kRnVuY3Rpb25TcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNC
b3VuZEZ1bmN0aW9uKSAvLyBIYXNoOjB4ZDc5MTZkNDEKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RF
RklORV9NRU1CRVJfU0xPVyhjYWxsYmFja0NvbnN0cnVjdG9yU3BhY2UsIGNhbGxiYWNrQ29uc3Ry
dWN0b3JIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQ2FsbGJhY2tDb25zdHJ1Y3RvcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9WTS5oCmluZGV4IDI3YWFmYzAzMjY2ZmQzN2MyNWFhMmE0MzEyMmViNmEx
M2U2NThjOTcuLjcwYWUzNjUyMzZjN2YxNjhkNmM5YTQ1NzU0N2JiZjNhMDU5MDYzY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtNDkzLDcgKzQ5Myw5IEBAIGNsYXNzIFZNIDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3RO
b2RlPFZNPiB7CiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihhcnJheUJ1
ZmZlclNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXJyYXlJ
dGVyYXRvclNwYWNlKQogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXN5
bmNHZW5lcmF0b3JTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGJpZ0ludDY0QXJyYXlTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVN
QkVSKGJpZ0ludE9iamVjdFNwYWNlKQorICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVIoYmlnVWludDY0QXJyYXlTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJ
TkVfTUVNQkVSKGJvb2xlYW5PYmplY3RTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSKGJvdW5kRnVuY3Rpb25TcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFD
RV9ERUZJTkVfTUVNQkVSKGNhbGxiYWNrQ29uc3RydWN0b3JTcGFjZSkKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTQ4OGMwOTEyZTVhN2E5
YzgzN2EzZjhhYTkyNTUyMzA0NTA0ZGUyMi4uOTk2ZGNkZjExM2ZjODJlODIzZTFkN2Q1N2FhYTAw
OTIzZjE0YTNjMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wMS0zMCAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIEltcGxlbWVudCBCaWdJbnQ2NEFycmF5
IGFuZCBCaWdVaW50NjRBcnJheQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkwODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB0ZXN0MjYyL2NvbmZpZy55YW1sOgorICAgICAgICAqIHRlc3QyNjIvZXhw
ZWN0YXRpb25zLnlhbWw6CisKIDIwMjEtMDEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBGaXggV2ViQXNzZW1ibHkuR2xvYmFsJ3MgZXJyb3Ig
bWVzc2FnZSBhbmQgc3VwcG9ydCAiZnVuY3JlZiIKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi9jb25maWcueWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAppbmRleCA4M2E2YTcy
ZDRjZjNmNGMxYzljZjhhYjcxOTljYmRmYzRlMGM4OGY2Li4wNGM3NzExZTA2MzY2ZjViNDJkYzNl
MjVmY2I3N2IzN2FiYjRiZjAyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlh
bWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCkBAIC0yOCw1NCArMjgsNiBAQCBz
a2lwOgogICAgIC0gdG9wLWxldmVsLWF3YWl0CiAgICAgLSBJbnRsLkxpc3RGb3JtYXQKICAgcGF0
aHM6Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0QmlnSW50NjQK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRCaWdVaW50NjQKLSAg
ICAtIHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRCaWdJbnQ2NAotCi0gICAg
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwODAwCi0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9idWZmZXIvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlTGVuZ3Ro
L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvYnl0ZU9m
ZnNldC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2Nv
cHlXaXRoaW4vQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9lbnRyaWVzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvZXZlcnkvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9maWxsL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
ZmlsdGVyL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
ZmluZC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2Zp
bmRJbmRleC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L2ZvckVhY2gvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9pbmNsdWRlcy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL2luZGV4T2YvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9qb2luL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUva2V5cy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L2xhc3RJbmRleE9mL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvbGVuZ3RoL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvbWFwL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvcmVkdWNlL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvcmVkdWNlUmlnaHQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9yZXZlcnNlL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvc2V0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvc2xpY2UvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9zb21lL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc29ydC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L3N1YmFycmF5L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvdG9Mb2NhbGVTdHJpbmcvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS90b1N0cmluZy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3ZhbHVlcy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvQmlnSW50NjRBcnJheQotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9CaWdVaW50NjRBcnJheQotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9jdG9ycy1iaWdpbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvZnJvbS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludAot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVs
ZXRlL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvR2V0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL093
blByb3BlcnR5S2V5cy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvb2YvQmlnSW50Ci0KICAgICAtIHRlc3QvYnVpbHQtaW5zL0F0b21p
Y3MvYWRkL2JpZ2ludAogICAgIC0gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hbmQvYmlnaW50CiAg
ICAgLSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL2NvbXBhcmVFeGNoYW5nZS9iaWdpbnQKQEAgLTEw
MSw0NiArNTMsNiBAQCBza2lwOgogICAgIC0gdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9zdGFy
dC11bmljb2RlLTEzLjAuMC1lc2NhcGVkLmpzCiAgICAgLSB0ZXN0L2xhbmd1YWdlL2lkZW50aWZp
ZXJzL3N0YXJ0LXVuaWNvZGUtMTMuMC4wLmpzCiAKLSAgICAjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA4MDAKLSAgICAtIHRlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL3NlYWwtYmlnaW50NjRhcnJheS5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvc2VhbC1iaWd1aW50NjRhcnJheS5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvc2V0L3NyYy10eXBlZGFycmF5LWJpZy10aHJvd3MuanMKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvY3RvcnMvdHlwZWRhcnJheS1hcmcvc3Jj
LXR5cGVkYXJyYXktYmlnLXRocm93cy5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvU3ltYm9sLnRvU3RyaW5nVGFnL2JpZ2ludC1pbmhlcml0
ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90
eXBlL2JpZ2ludC1TeW1ib2wuaXRlcmF0b3IuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2J1ZmZlci9iaWdpbnQtaW5oZXJpdGVkLmpzCi0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9ieXRl
TGVuZ3RoL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2J5dGVPZmZzZXQvYmlnaW50LWluaGVyaXRlZC5qcwot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvY29w
eVdpdGhpbi9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9lbnRyaWVzL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAg
ICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2V2ZXJ5
L2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvcHJvdG90eXBlL2ZpbGwvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZmlsdGVyL2JpZ2ludC1p
bmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
cHJvdG90eXBlL2ZpbmQvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZmluZEluZGV4L2JpZ2ludC1pbmhlcml0
ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90
eXBlL2ZvckVhY2gvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvaW5kZXhPZi9iaWdpbnQtaW5oZXJpdGVkLmpz
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9q
b2luL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvcHJvdG90eXBlL2tleXMvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvbGFzdEluZGV4T2Yv
YmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9wcm90b3R5cGUvbGVuZ3RoL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL21hcC9iaWdpbnQtaW5o
ZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3By
b3RvdHlwZS9yZWR1Y2UvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvcmVkdWNlUmlnaHQvYmlnaW50LWluaGVy
aXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90
b3R5cGUvcmV2ZXJzZS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zZXQvYmlnaW50LWluaGVyaXRlZC5qcwot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvc2xp
Y2UvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9wcm90b3R5cGUvc29tZS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zb3J0L2JpZ2ludC1p
bmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
cHJvdG90eXBlL3N1YmFycmF5L2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL2JpZ2lu
dC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvcHJvdG90eXBlL3RvU3RyaW5nL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3ZhbHVlcy9iaWdpbnQtaW5o
ZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL3N1YmNsYXNz
LWJ1aWx0aW5zL3N1YmNsYXNzLUJpZ0ludDY0QXJyYXkuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmlnVWludDY0QXJy
YXkuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy1idWls
dGlucy9zdWJjbGFzcy1CaWdJbnQ2NEFycmF5LmpzCi0gICAgLSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmlnVWludDY0QXJyYXkuanMK
LQogICAgICMgcmVxdWlyZXMgSUNVIDY1IChodHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5u
ZXQvYnJvd3NlL0lDVS0yMDY1NCkKICAgICAtIHRlc3QvaW50bDQwMi9SZWxhdGl2ZVRpbWVGb3Jt
YXQvcHJvdG90eXBlL2Zvcm1hdC9lbi11cy1udW1lcmljLWF1dG8uanMKICAgICAtIHRlc3QvaW50
bDQwMi9SZWxhdGl2ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvZW4tdXMtbnVt
ZXJpYy1hdXRvLmpzCkBAIC0yMTIsMyArMTI0LDYgQEAgc2tpcDoKICAgICAtIHRlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvdW5pdC5qcwogICAgIC0gdGVz
dC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvcmVzb2x2ZWRPcHRpb25zL2NvbXBhY3RE
aXNwbGF5LmpzCiAgICAgLSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3N0eWxlLXVuaXQuanMK
KworICAgICMgTmV3IElDVSAoNjZ+KSByYWlzZXMgYSBkaWZmZXJlbnQgZmFpbHVyZQorICAgIC0g
dGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5vbi5qcwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IDM5ZGJmODUzNDk0MTE2YjQ1NGQ1ZjZlYzEzZGFmOTU5
MTlmY2QwYmQuLmY2OWY4OTJmZDU4MDk1MjJlMWZiNzVlZWIyNTA3NGZmNWEzODJjNzcgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTgyMyw2ICs4MjMsMTIgQEAgdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL3UtbGFzdGluZGV4LWFkdi5qczoKIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9xdWFudGlmaWVyLWludGVnZXItbGltaXQuanM6CiAgIGRlZmF1bHQ6ICdTeW50
YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IG51bWJlciB0b28gbGFyZ2UgaW4g
e30gcXVhbnRpZmllcicKICAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1
bGFyIGV4cHJlc3Npb246IG51bWJlciB0b28gbGFyZ2UgaW4ge30gcXVhbnRpZmllcicKK3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9CaWdJbnQvY2FsbGJhY2tmbi1k
ZXRhY2hidWZmZXIuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEludmFsaWQgYXJndW1lbnQg
dHlwZSBpbiBUb0JpZ0ludCBvcGVyYXRpb24gKFRlc3Rpbmcgd2l0aCBCaWdJbnQ2NEFycmF5Likn
CisgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBJbnZhbGlkIGFyZ3VtZW50IHR5cGUgaW4gVG9C
aWdJbnQgb3BlcmF0aW9uIChUZXN0aW5nIHdpdGggQmlnSW50NjRBcnJheS4pJwordGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZEluZGV4L0JpZ0ludC9wcmVkaWNhdGUtbWF5
LWRldGFjaC1idWZmZXIuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IHRocm93cyBhIFR5
cGVFcnJvciBnZXR0aW5nIGEgdmFsdWUgZnJvbSB0aGUgZGV0YWNoZWQgYnVmZmVyIEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsIChUZXN0aW5nIHdpdGggQmlnSW50NjRBcnJheS4pJworICBzdHJpY3QgbW9kZTogJ1Rlc3Qy
NjJFcnJvcjogdGhyb3dzIGEgVHlwZUVycm9yIGdldHRpbmcgYSB2YWx1ZSBmcm9tIHRoZSBkZXRh
Y2hlZCBidWZmZXIgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNl
cHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBCaWdJbnQ2NEFycmF5LiknCiB0
ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFJhbmdlL2VuLVVTLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqsxLzMvMjAx
OeKAieKAk+KAiTEvNS8yMDE5wrssIMKrMS8zLzIwMTkg4oCTIDEvNS8yMDE5wrspIHRvIGJlIHRy
dWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqsx
LzMvMjAxOeKAieKAk+KAiTEvNS8yMDE5wrssIMKrMS8zLzIwMTkg4oCTIDEvNS8yMDE5wrspIHRv
IGJlIHRydWUnCkBAIC04NjUsOSArODcxLDYgQEAgdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25p
Y2FsTG9jYWxlcy91bmljb2RlLWV4dC1rZXktd2l0aC1kaWdpdC5qczoKIHRlc3QvaW50bDQwMi9M
b2NhbGUvY29uc3RydWN0b3ItYXBwbHktb3B0aW9ucy1jYW5vbmljYWxpemVzLXR3aWNlLmpzOgog
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtydS1Bcm1uLVNV
wrssIMKrcnUtQXJtbi1BTcK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrcnUtQXJtbi1TVcK7LCDCq3J1LUFybW4tQU3Cuykg
dG8gYmUgdHJ1ZScKLXRlc3QvaW50bDQwMi9Mb2NhbGUvY29uc3RydWN0b3Itbm9uLWlhbmEtY2Fu
b24uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgibW8iKS5t
YXhpbWl6ZSgpLnRvU3RyaW5nKCkgcmV0dXJucyAicm8tTGF0bi1STyIgRXhwZWN0ZWQgU2FtZVZh
bHVlKMKrcm/Cuywgwqtyby1MYXRuLVJPwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBuZXcgSW50bC5Mb2NhbGUoIm1vIikubWF4aW1pemUoKS50b1N0cmluZygp
IHJldHVybnMgInJvLUxhdG4tUk8iIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3JvwrssIMKrcm8tTGF0
bi1ST8K7KSB0byBiZSB0cnVlJwogdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1vcHRp
b25zLXJlZ2lvbi12YWxpZC5qczoKICAgZGVmYXVsdDogIlRlc3QyNjJFcnJvcjogbmV3IEludGwu
TG9jYWxlKCdlbicsIHtyZWdpb246IFwiNTU0XCJ9KS50b1N0cmluZygpIHJldHVybnMgXCJlbi1O
WlwiIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2VuLTU1NMK7LCDCq2VuLU5awrspIHRvIGJlIHRydWUi
CiAgIHN0cmljdCBtb2RlOiAiVGVzdDI2MkVycm9yOiBuZXcgSW50bC5Mb2NhbGUoJ2VuJywge3Jl
Z2lvbjogXCI1NTRcIn0pLnRvU3RyaW5nKCkgcmV0dXJucyBcImVuLU5aXCIgRXhwZWN0ZWQgU2Ft
ZVZhbHVlKMKrZW4tNTU0wrssIMKrZW4tTlrCuykgdG8gYmUgdHJ1ZSIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418813</attachid>
            <date>2021-01-30 01:47:10 -0800</date>
            <delta_ts>2021-01-30 10:50:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190800-20210130014709.patch</filename>
            <type>text/plain</type>
            <size>146132</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YTljMjI5YmI3ZmViZjJkZGJmZTNiZDI1Njg1OTAxZDYyYjAyMzZhLi5iZDBlNjdlMDYwNWY2MGM3
MThmMDIzZTViMDhhY2ViNzBmODExZTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNTQgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
QVBJL0pTVHlwZWRBcnJheS5jcHA6CisgICAgICAgICh0b0pTVHlwZWRBcnJheVR5cGUpOgorICAg
ICAgICAodG9UeXBlZEFycmF5VHlwZSk6CisgICAgICAgIChjcmVhdGVUeXBlZEFycmF5KToKKyAg
ICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5oOgorICAgICAgICAqIEFQSS90ZXN0cy9UeXBlZEFycmF5
Q1Rlc3QuY3BwOgorICAgICAgICAoZm9yRWFjaFR5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAq
IGJ1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChmaWxsKToKKyAgICAg
ICAgKG1hcCk6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJv
ZmlsZS5jcHA6CisgICAgICAgIChKU0M6OmR1bXBBcnJheU1vZGVzKToKKyAgICAgICAgKiBieXRl
Y29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9CeVZhbEluZm8uaDoKKyAg
ICAgICAgKEpTQzo6aml0QXJyYXlNb2RlRm9yQ2xhc3NJbmZvKToKKyAgICAgICAgKEpTQzo6aml0
QXJyYXlNb2RlUGVybWl0c1B1dCk6CisgICAgICAgIChKU0M6OnR5cGVkQXJyYXlUeXBlRm9ySklU
QXJyYXlNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9MaW5rVGltZUNvbnN0YW50Lmg6CisgICAg
ICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAoSlNDOjpkdW1wU3Bl
Y3VsYXRpb24pOgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcp
OgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZSk6CisgICAgICAg
IChKU0M6OnR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3Bl
Y3VsYXRpb25Gcm9tU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5o
OgorICAgICAgICAoSlNDOjppc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChK
U0M6OmlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzRGlyZWN0
QXJndW1lbnRzU3BlY3VsYXRpb24pOgorICAgICAgICAoSlNDOjppc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjppc0FjdGlvbmFibGVGbG9hdE11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxl
VHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Omlz
QWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6aXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1v
ZGU6OmZyb21PYnNlcnZlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjpyZWZpbmUg
Y29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQgY29u
c3QpOgorICAgICAgICAoSlNDOjpERkc6OmFycmF5VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKEpT
Qzo6REZHOjp0b1R5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjp0b0FycmF5VHlw
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6cGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBcnJheU1vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6
OnN1cHBvcnRzU2VsZkxlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2Rl
OjphcnJheU1vZGVzVGhhdFBhc3NGaWx0ZXJpbmcgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdD
bG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICog
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZp
eHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpERkc6OkpTQ19ERUZJTkVfSklUX09QRVJBVElPTik6CisgICAgICAgICogZGZnL0RGR09wZXJh
dGlvbnMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aFNp
emVGb3JUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0
aE9uZUFyZ3VtZW50Rm9yVHlwZSk6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdh
dGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0
bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlR2V0QnlWYWwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlUHV0QnlWYWwpOgorICAgICAgICAqIGluc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSW5qZWN0ZWRTY3JpcHRIb3N0Ojpz
dWJ0eXBlKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlWYWwpOgorICAgICAgICAqIGppdC9SZXBhdGNo
LmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVBcnJheUdldEJ5VmFsKToKKyAgICAgICAgKiBs
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBydW50aW1lL0F0b21pY3NP
YmplY3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvQXRvbWljc09iamVjdC5oOgorICAgICAgICAq
IHJ1bnRpbWUvQmlnSW50NjRBcnJheS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwLgorICAgICAgICAqIHJ1bnRp
bWUvQmlnVWludDY0QXJyYXkuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcC4KKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXlCdWZmZXJWaWV3LmNwcDoKKyAgICAgICAgKEpTQzo6ZWxlbWVudFNpemUpOgorICAgICAg
ICAoSlNDOjp2YWxpZGF0ZVR5cGVkQXJyYXkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1
ZmZlclZpZXcuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisgICAgICAgICogcnVu
dGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRGF0YVZpZXcuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpnZXREYXRh
KToKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBy
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dl
bmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dl
bmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpj
b25zdHJ1Y3RHZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzKToKKyAgICAgICAgKiBy
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
U0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6c2V0V2l0aFNwZWNpZmljVHlwZSk6Cisg
ICAgICAgIChKU0M6OkpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXQpOgorICAg
ICAgICAoSlNDOjpKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6Z2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleCk6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmll
d1Byb3RvdHlwZUZ1bmN0aW9ucy5oOgorICAgICAgICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZp
ZXdQcm90b0Z1bmNKb2luKToKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJv
dG9GdW5jU2xpY2UpOgorICAgICAgICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRl
RnVuY1N1YmFycmF5Q3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRp
bWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlv
bnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZS5jcHA6CisgICAgICAgIChXVEY6OnByaW50
SW50ZXJuYWwpOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlLmg6CisgICAgICAgICogcnVudGlt
ZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBl
ZEFycmF5Q29uc3RydWN0b3JzLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlQcm90
b3R5cGVzLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvSlNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5
cy5jcHA6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlzLmg6CisgICAgICAgICogcnVu
dGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oOgorICAgICAgICAoSlNDOjp0b05hdGl2ZUZyb21WYWx1
ZSk6CisgICAgICAgIChKU0M6OnRvTmF0aXZlRnJvbVZhbHVlV2l0aG91dENvZXJjaW9uKToKKyAg
ICAgICAgKiBydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oOgorICAgICAgICAoSlNDOjpJbnRl
Z3JhbFR5cGVkQXJyYXlBZGFwdG9yOjp0b0pTVmFsdWUpOgorICAgICAgICAoSlNDOjpGbG9hdFR5
cGVkQXJyYXlBZGFwdG9yOjp0b0pTVmFsdWUpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFy
cmF5QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFk
YXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJh
eUFkYXB0b3I6OnRvTmF0aXZlRnJvbVVpbnQzMik6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVk
QXJyYXlBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUpOgorICAgICAgICAoSlNDOjpCaWdJbnRU
eXBlZEFycmF5QWRhcHRvcjo6Y29udmVydFRvKToKKyAgICAgICAgKEpTQzo6VWludDhDbGFtcGVk
QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6SW50ZWdyYWxUeXBlZEFycmF5QWRh
cHRvcjo6dG9Eb3VibGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpGbG9hdFR5cGVkQXJyYXlB
ZGFwdG9yOjp0b0RvdWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlVpbnQ4Q2xhbXBlZEFk
YXB0b3I6OnRvRG91YmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1R5cGVkQXJyYXlU
eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0b3JDbGFzc0luZm9Gb3JUeXBlKToKKyAg
ICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5
VHlwZS5oOgorICAgICAgICAoSlNDOjppc0JpZ0ludFR5cGVkVmlldyk6CisgICAgICAgIChKU0M6
OmxvZ0VsZW1lbnRTaXplKToKKyAgICAgICAgKEpTQzo6aXNCaWdJbnQpOgorICAgICAgICAoSlND
Ojppc1NpZ25lZCk6CisgICAgICAgIChKU0M6OmNvbnRlbnRUeXBlKToKKyAgICAgICAgKiBydW50
aW1lL1R5cGVkQXJyYXlzLmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgICog
cnVudGltZS9WTS5oOgorCiAyMDIxLTAxLTI5ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFNvdXJjZVBhcnNlTW9kZSBzaG91bGQgYmUgYSBtZW1iZXIg
b2YgdGhlIEpTQzo6UGFyc2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTVHlwZWRBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVHlwZWRBcnJh
eS5jcHAKaW5kZXggNjg5ZmU5ZTZmODc3NDJhODFkY2M2MTAzYjEyNDdlZGFhYWZhNzhjNi4uNDM2
ODUxOWJkNDU1MmM5YmM5OTYxYjVhYmE3MjhmZjQ0YzBiMjNjNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNUeXBlZEFycmF5LmNwcApAQCAtNjQsNiArNjQsMTAgQEAgaW5saW5lIEpT
VHlwZWRBcnJheVR5cGUgdG9KU1R5cGVkQXJyYXlUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAg
ICAgICAgIHJldHVybiBrSlNUeXBlZEFycmF5VHlwZUZsb2F0MzJBcnJheTsKICAgICBjYXNlIFR5
cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXk7
CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBrSlNUeXBlZEFycmF5VHlw
ZUJpZ0ludDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4g
a0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheTsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKIH0KQEAgLTkyLDYgKzk2LDEwIEBAIGlubGluZSBUeXBlZEFycmF5
VHlwZSB0b1R5cGVkQXJyYXlUeXBlKEpTVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICAgICAgcmV0
dXJuIFR5cGVGbG9hdDMyOwogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXk6
CiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQ2NDsKKyAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBl
QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdJbnQ2NDsKKyAgICBjYXNlIGtK
U1R5cGVkQXJyYXlUeXBlQmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnVWlu
dDY0OwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpAQCAtMTIz
LDYgKzEzMSwxMCBAQCBzdGF0aWMgSlNPYmplY3QqIGNyZWF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNUeXBlZEFycmF5VHlwZQogICAgICAgICByZXR1cm4gSlNG
bG9hdDMyQXJyYXk6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJh
eVN0cnVjdHVyZShUeXBlRmxvYXQzMiksIFdURk1vdmUoYnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgp
OwogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXk6CiAgICAgICAgIHJldHVy
biBKU0Zsb2F0NjRBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT50eXBl
ZEFycmF5U3RydWN0dXJlKFR5cGVGbG9hdDY0KSwgV1RGTW92ZShidWZmZXIpLCBvZmZzZXQsIGxl
bmd0aCk7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXk6CisgICAgICAg
IHJldHVybiBKU0JpZ0ludDY0QXJyYXk6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dHlwZWRBcnJheVN0cnVjdHVyZShUeXBlQmlnSW50NjQpLCBXVEZNb3ZlKGJ1ZmZlciksIG9m
ZnNldCwgbGVuZ3RoKTsKKyAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlQmlnVWludDY0QXJyYXk6
CisgICAgICAgIHJldHVybiBKU0JpZ1VpbnQ2NEFycmF5OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlwZUJpZ1VpbnQ2NCksIFdURk1vdmUo
YnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgpOwogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVBcnJh
eUJ1ZmZlcjoKICAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlTm9uZToKICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNWYWx1ZVJlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVm
LmgKaW5kZXggOTExYjRiZmM0ZGYxOWEwNDdkY2VhMDg0OGQ0ZDUyYzI4ZTc3ODdkZi4uMmE5MDc5
YWUwMDA2NTE5NDk3MDRhYWE0Y2NhNDg5YWY4MDZmY2Y2NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1ZhbHVlUmVmLmgKQEAgLTY2LDYgKzY2LDggQEAgdHlwZWRlZiBlbnVtIHsKICBAY29u
c3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlVWludDMyQXJyYXkgICAgICAgICAgVWludDMyQXJy
YXkKICBAY29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQzMkFycmF5ICAgICAgICAg
RmxvYXQzMkFycmF5CiAgQGNvbnN0YW50ICAgICBrSlNUeXBlZEFycmF5VHlwZUZsb2F0NjRBcnJh
eSAgICAgICAgIEZsb2F0NjRBcnJheQorIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVC
aWdJbnQ2NEFycmF5ICAgICAgICBCaWdJbnQ2NEFycmF5CisgQGNvbnN0YW50ICAgICBrSlNUeXBl
ZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5ICAgICAgIEJpZ1VpbnQ2NEFycmF5CiAgQGNvbnN0YW50
ICAgICBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyICAgICAgICAgIEFycmF5QnVmZmVyCiAg
QGNvbnN0YW50ICAgICBrSlNUeXBlZEFycmF5VHlwZU5vbmUgICAgICAgICAgICAgICAgIE5vdCBh
IFR5cGVkIEFycmF5CiAKQEAgLTgyLDYgKzg0LDggQEAgdHlwZWRlZiBlbnVtIHsKICAgICBrSlNU
eXBlZEFycmF5VHlwZUZsb2F0NjRBcnJheSwKICAgICBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVm
ZmVyLAogICAgIGtKU1R5cGVkQXJyYXlUeXBlTm9uZSwKKyAgICBrSlNUeXBlZEFycmF5VHlwZUJp
Z0ludDY0QXJyYXksCisgICAga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheSwKIH0gSlNU
eXBlZEFycmF5VHlwZSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7
CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwCmluZGV4IDIzN2JkNDY1ODZmMmZmNjA2MzljNjM2
Nzc2MTFhOGI1MGI2ODAyN2MuLjc1ZjU3MDdlNTIxNjczZTE5MjljNWQ3MzNjZjAyNzhlZGQxYTkz
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRBcnJh
eUNUZXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJy
YXlDVGVzdC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxlbmd0
aHNbbnVtTGVuZ3Roc10gPQogICAgIDEwLAogfTsKIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGJ5
dGVTaXplc1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CitzdGF0aWMgY29uc3QgdW5z
aWduZWQgYnl0ZVNpemVzW10gPQogewogICAgIDEsIC8vIGtKU1R5cGVkQXJyYXlUeXBlSW50OEFy
cmF5CiAgICAgMiwgLy8ga0pTVHlwZWRBcnJheVR5cGVJbnQxNkFycmF5CkBAIC02MCw5ICs2MCwx
MyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgYnl0ZVNpemVzW2tKU1R5cGVkQXJyYXlUeXBlQXJy
YXlCdWZmZXJdID0KICAgICA0LCAvLyBrSlNUeXBlZEFycmF5VHlwZVVpbnQzMkFycmF5CiAgICAg
NCwgLy8ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDMyQXJyYXkKICAgICA4LCAvLyBrSlNUeXBlZEFy
cmF5VHlwZUZsb2F0NjRBcnJheQorICAgIDAsIC8vIGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZm
ZXIKKyAgICAwLCAvLyBrSlNUeXBlZEFycmF5VHlwZU5vbmUKKyAgICA4LCAvLyBrSlNUeXBlZEFy
cmF5VHlwZUJpZ0ludDY0QXJyYXkKKyAgICA4LCAvLyBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2
NEFycmF5CiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW2tKU1R5cGVkQXJy
YXlUeXBlQXJyYXlCdWZmZXJdID0KK3N0YXRpYyBjb25zdCBjaGFyKiB0eXBlVG9TdHJpbmdbXSA9
CiB7CiAgICAgImtKU1R5cGVkQXJyYXlUeXBlSW50OEFycmF5IiwKICAgICAia0pTVHlwZWRBcnJh
eVR5cGVJbnQxNkFycmF5IiwKQEAgLTczLDYgKzc3LDEwIEBAIHN0YXRpYyBjb25zdCBjaGFyKiB0
eXBlVG9TdHJpbmdba0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcl0gPQogICAgICJrSlNUeXBl
ZEFycmF5VHlwZVVpbnQzMkFycmF5IiwKICAgICAia0pTVHlwZWRBcnJheVR5cGVGbG9hdDMyQXJy
YXkiLAogICAgICJrSlNUeXBlZEFycmF5VHlwZUZsb2F0NjRBcnJheSIsCisgICAgImtKU1R5cGVk
QXJyYXlUeXBlQXJyYXlCdWZmZXIiLAorICAgICJrSlNUeXBlZEFycmF5VHlwZU5vbmUiLAorICAg
ICJrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXkiLAorICAgICJrSlNUeXBlZEFycmF5VHlw
ZUJpZ1VpbnQ2NEFycmF5IiwKIH07CiAKIGlubGluZSBpbnQgdW5leHBlY3RlZEV4Y2VwdGlvbihj
b25zdCBjaGFyKiBuYW1lKQpAQCAtMjEyLDggKzIyMCwxMCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
RnVuY3Rvcj4KIHN0YXRpYyBpbnQgZm9yRWFjaFR5cGVkQXJyYXlUeXBlKGNvbnN0IEZ1bmN0b3Im
IGZ1bmN0b3IpCiB7CiAgICAgaW50IGZhaWxlZCA9IDA7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXI7IGkrKykKLSAgICAgICAgZmFpbGVk
ID0gZmFpbGVkIHx8IGZ1bmN0b3Ioc3RhdGljX2Nhc3Q8SlNUeXBlZEFycmF5VHlwZT4oaSkpOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVy
OyBpKyspIHsKKyAgICAgICAgaWYgKGkgIT0ga0pTVHlwZWRBcnJheVR5cGVOb25lICYmIGkgIT0g
a0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcikKKyAgICAgICAgICAgIGZhaWxlZCA9IGZhaWxl
ZCB8fCBmdW5jdG9yKHN0YXRpY19jYXN0PEpTVHlwZWRBcnJheVR5cGU+KGkpKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGZhaWxlZDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGE2NGEzNjU0MmFlZjk1YTEwOTgzYWY4ZDk5NGFlZWJlM2ZkYmRhZTEuLjRkZjhhMjUwYzBj
OWJkMjIzZTU2ODZhZDdjNWY2N2Y5YTAxMGU3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTgyMiw4ICs4MjIsMTAgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBydW50aW1lL0F1eGlsaWFyeUJhcnJpZXJJbmxpbmVzLmgK
ICAgICBydW50aW1lL0Jhc2ljQmxvY2tMb2NhdGlvbi5oCiAgICAgcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCisgICAgcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKICAgICBydW50
aW1lL0JpZ0ludE9iamVjdC5oCiAgICAgcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaAorICAgIHJ1
bnRpbWUvQmlnVWludDY0QXJyYXkuaAogICAgIHJ1bnRpbWUvQm9vbGVhbk9iamVjdC5oCiAgICAg
cnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmgKICAgICBydW50aW1lL0J1dHRlcmZseS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgzZGU3OWI4NDFmOWIxZmEzOTUzNzI1ZDI1ZTIx
MTk1YjBkMDA0NTguLmQ2MmE0ZjQ0MWQ4OGQzYTEzODI5Y2Y2Y2ZmMmYxOWEyODZlMzM2NmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODQ4LDYgKzE4NDgsOCBAQAogCQlFMzVB
MEI5RDIyMEFEODdBMDBBQzQ0NzQgLyogRXhlY3V0YWJsZUJhc2VJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVBMEI5QzIyMEFEODdBMDBB
QzQ0NzQgLyogRXhlY3V0YWJsZUJhc2VJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1Q0ExNTQxREJDM0E1QzAwRjgzNTE2IC8qIERP
TUpJVEhlYXBSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1Q0ExNTIxREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNUNBMTU2MURC
QzNBNUYwMEY4MzUxNiAvKiBET01KSVRBYnN0cmFjdEhlYXAuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUNBMTUwMURCQzNBNTYwMEY4MzUxNiAvKiBE
T01KSVRBYnN0cmFjdEhlYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFMzVFODlGRDI1QzUwRjg3MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1RTg5RkIy
NUM1MEY4NjAwNzFFRTFFIC8qIEJpZ0ludDY0QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzVFODlGRTI1QzUwRjg3MDA3MUVFMUUgLyog
QmlnVWludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzNUU4OUZDMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdVaW50NjRBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNjM3RUU5MjM2
RTU2QjAwMDk2QkQwQSAvKiBMaW5rVGltZUNvbnN0YW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzYzN0VFNzIzNkU1NkIwMDA5NkJEMEEgLyogTGlu
a1RpbWVDb25zdGFudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzNjVGMzNBMjRBQTYyMzkwMEM5OTFCMiAvKiBJbnRsRGlzcGxheU5hbWVzQ29u
c3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzY1RjMzOTI0QUE2MjEyMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc0NvbnN0cnVj
dG9yLmx1dC5oICovOyB9OwogCQlFMzY1RjMzQjI0QUE2MjNCMDBDOTkxQjIgLyogSW50bERpc3Bs
YXlOYW1lc1Byb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNjVGMzM4MjRBQTYyMTEwMEM5OTFCMiAvKiBJbnRsRGlzcGxheU5hbWVz
UHJvdG90eXBlLmx1dC5oICovOyB9OwpAQCAtNTA2MSw2ICs1MDYzLDggQEAKIAkJRTM1Q0ExNTAx
REJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEFic3RyYWN0SGVhcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01KSVRBYnN0cmFjdEhlYXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTM1Q0ExNTExREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01KSVRIZWFwUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzVDQTE1MjFEQkMzQTU2MDBGODM1
MTYgLyogRE9NSklUSGVhcFJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTUpJVEhlYXBSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVFODlG
QjI1QzUwRjg2MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCaWdJbnQ2NEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzNUU4OUZDMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdVaW50NjRBcnJheS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCaWdVaW50NjRBcnJheS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzYzN0VFNzIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVDb25z
dGFudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMaW5rVGltZUNvbnN0YW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNjM3RUU4MjM2RTU2QjAwMDk2QkQw
QSAvKiBMaW5rVGltZUNvbnN0YW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExpbmtUaW1lQ29uc3RhbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzY1RjMzODI0QUE2MjExMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc1Byb3RvdHlwZS5s
dXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50bERpc3BsYXlOYW1lc1By
b3RvdHlwZS5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcxMzYsNiArNzE0
MCw3IEBACiAJCQkJNTI2NzhGOEMxQTAzMTAwOTAwNkEzMDZEIC8qIEJhc2ljQmxvY2tMb2NhdGlv
bi5jcHAgKi8sCiAJCQkJNTI2NzhGOEQxQTAzMTAwOTAwNkEzMDZEIC8qIEJhc2ljQmxvY2tMb2Nh
dGlvbi5oICovLAogCQkJCTE0N0I4M0FBMEU2REI4QzkwMDQ3NzVBNCAvKiBCYXRjaGVkVHJhbnNp
dGlvbk9wdGltaXplci5oICovLAorCQkJCUUzNUU4OUZCMjVDNTBGODYwMDcxRUUxRSAvKiBCaWdJ
bnQ2NEFycmF5LmggKi8sCiAJCQkJODY5NzZFNTgxRkEzNzU2RDAwRTdDNEUxIC8qIEJpZ0ludENv
bnN0cnVjdG9yLmNwcCAqLywKIAkJCQk4Njk3NkU1NzFGQTM3NTQwMDBFN0M0RTEgLyogQmlnSW50
Q29uc3RydWN0b3IuaCAqLywKIAkJCQk4NjY3MzlEMDEzQkZERTcxMDAyM0Q4N0MgLyogQmlnSW50
ZWdlci5oICovLApAQCAtNzE0Myw2ICs3MTQ4LDcgQEAKIAkJCQk4NjE4MTY3NjFGQjc5MjJGMDBF
Q0M0RUMgLyogQmlnSW50T2JqZWN0LmggKi8sCiAJCQkJODY5NzZFNUIxRkEzNzVBODAwRTdDNEUx
IC8qIEJpZ0ludFByb3RvdHlwZS5jcHAgKi8sCiAJCQkJODY5NzZFNUExRkEzNzU4QTAwRTdDNEUx
IC8qIEJpZ0ludFByb3RvdHlwZS5oICovLAorCQkJCUUzNUU4OUZDMjVDNTBGODcwMDcxRUUxRSAv
KiBCaWdVaW50NjRBcnJheS5oICovLAogCQkJCUJDNzk1MjMyMEUxNUVCNTYwMEE4OThBQiAvKiBC
b29sZWFuQ29uc3RydWN0b3IuY3BwICovLAogCQkJCUJDNzk1MjMzMEUxNUVCNTYwMEE4OThBQiAv
KiBCb29sZWFuQ29uc3RydWN0b3IuaCAqLywKIAkJCQlGNjkyQTg1MDAyNTU1OTdEMDFGRjYwRjcg
LyogQm9vbGVhbk9iamVjdC5jcHAgKi8sCkBAIC05MjU1LDEwICs5MjYxLDEyIEBACiAJCQkJMEYy
QzYzQjIxRTYwQUU0NzAwQzEzODM5IC8qIEIzV2lkdGguaCBpbiBIZWFkZXJzICovLAogCQkJCTUy
Njc4RjhGMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTE0N0I4M0FDMEU2REI4QzkwMDQ3NzVBNCAvKiBCYXRjaGVkVHJhbnNpdGlvbk9w
dGltaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM1RTg5RkQyNUM1MEY4NzAwNzFFRTFFIC8q
IEJpZ0ludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2OTc2RTVGMUZBM0U4QkMwMEU3
QzRFMSAvKiBCaWdJbnRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY2NzM5RDIx
M0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2MTgx
Njc3MUZCNzkyNDIwMEVDQzRFQyAvKiBCaWdJbnRPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg2OTc2RTVFMUZBM0U4QjYwMEU3QzRFMSAvKiBCaWdJbnRQcm90b3R5cGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUUzNUU4OUZFMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdVaW50NjRBcnJheS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY2NEIyNzIxQTc4NEJBRjAwNkU0RTY2IC8qIEJpbmFyeVN3aXRj
aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIEJsb2Nr
RGlyZWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzg2NTJFMzIzN0NBMEM5MDBFMUQ1RUUg
LyogQmxvY2tEaXJlY3RvcnlCaXRzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAppbmRleCA0NGM2YjIzNWVmZWNkMzUwNDZj
NzFmN2FiZTlkMmIzZjc1ZDM5ZjkxLi4zYjk0OTM3MTU4NjUzY2I3NjA1ZjQ0YjVkYzgyMDA0MGNk
MDY0MzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oCkBAIC03MCw2ICs3MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1hY3JvKFNldCkgXAog
ICAgIG1hY3JvKHRocm93VHlwZUVycm9yRnVuY3Rpb24pIFwKICAgICBtYWNybyh0eXBlZEFycmF5
TGVuZ3RoKSBcCisgICAgbWFjcm8odHlwZWRBcnJheUNvbnRlbnRUeXBlKSBcCiAgICAgbWFjcm8o
dHlwZWRBcnJheVNvcnQpIFwKICAgICBtYWNybyh0eXBlZEFycmF5R2V0T3JpZ2luYWxDb25zdHJ1
Y3RvcikgXAogICAgIG1hY3JvKHR5cGVkQXJyYXlTdWJhcnJheUNyZWF0ZSkgXApAQCAtOTgsNiAr
OTksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBtYWNybyhVaW50MzJBcnJheSkgXAogICAgIG1h
Y3JvKEZsb2F0MzJBcnJheSkgXAogICAgIG1hY3JvKEZsb2F0NjRBcnJheSkgXAorICAgIG1hY3Jv
KEJpZ0ludDY0QXJyYXkpIFwKKyAgICBtYWNybyhCaWdVaW50NjRBcnJheSkgXAogICAgIG1hY3Jv
KGV4ZWMpIFwKICAgICBtYWNybyhnZW5lcmF0b3IpIFwKICAgICBtYWNybyhnZW5lcmF0b3JOZXh0
KSBcCkBAIC0xNzMsNyArMTc2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8od2ViQXNz
ZW1ibHlJbnN0YW50aWF0ZVN0cmVhbWluZ0ludGVybmFsKSBcCiAgICAgbWFjcm8oaW5zdGFuY2VG
aWVsZEluaXRpYWxpemVyKSBcCiAgICAgbWFjcm8oaGFzT3duUHJvcGVydHlGdW5jdGlvbikgXAot
ICAgIG1hY3JvKGNyZWF0ZVByaXZhdGVTeW1ib2wpCisgICAgbWFjcm8oY3JlYXRlUHJpdmF0ZVN5
bWJvbCkgXAorICAgIG1hY3JvKHRvQmlnSW50KSBcCisgICAgbWFjcm8oaXNCaWdJbnRUeXBlZEFy
cmF5VmlldykKIAogbmFtZXNwYWNlIFN5bWJvbHMgewogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5f
U1RBVElDX1NZTUJPTFMobmFtZSkgZXh0ZXJuIEpTX0VYUE9SVF9QUklWQVRFIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgbmFtZSMjU3ltYm9sOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcwppbmRleCA1YmZjNjA4MGNk
YTJlODI5MjdlNWVmZjBiYmNiNTRiMGUyMWY3NWUzLi4yZDUyYWYyNGZkMGY2MWFjODM0ZWQ4OWNh
ODg4Y2M5NjA2ZWE1ODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcwpAQCAtOTEsNyArOTEsMTAgQEAgZnVuY3Rpb24g
ZmlsbCh2YWx1ZSAvKiBbLCBzdGFydCBbLCBlbmRdXSAqLykKIAogICAgIHZhciBsZW5ndGggPSBA
dHlwZWRBcnJheUxlbmd0aCh0aGlzKTsKIAotICAgIHZhciBudW1iZXIgPSBAdG9OdW1iZXIodmFs
dWUpOworICAgIGlmIChAaXNCaWdJbnRUeXBlZEFycmF5Vmlldyh0aGlzKSkKKyAgICAgICAgdmFy
IG51bWJlciA9IEB0b0JpZ0ludCh2YWx1ZSk7CisgICAgZWxzZQorICAgICAgICB2YXIgbnVtYmVy
ID0gQHRvTnVtYmVyKHZhbHVlKTsKIAogICAgIHZhciBzdGFydCA9IEB0eXBlZEFycmF5Q2xhbXBB
cmd1bWVudFRvU3RhcnRPckVuZChAYXJndW1lbnQoMSksIGxlbmd0aCwgMCk7CiAgICAgdmFyIGVu
ZCA9IEB0eXBlZEFycmF5Q2xhbXBBcmd1bWVudFRvU3RhcnRPckVuZChAYXJndW1lbnQoMiksIGxl
bmd0aCwgbGVuZ3RoKTsKQEAgLTMzNSw2ICszMzgsOCBAQCBmdW5jdGlvbiBtYXAoY2FsbGJhY2sg
LyosIHRoaXNBcmcgKi8pCiAgICAgdmFyIHJlc3VsdCA9IG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgp
OwogICAgIGlmIChAdHlwZWRBcnJheUxlbmd0aChyZXN1bHQpIDwgbGVuZ3RoKQogICAgICAgICBA
dGhyb3dUeXBlRXJyb3IoIlR5cGVkQXJyYXkucHJvdG90eXBlLm1hcCBjb25zdHJ1Y3RlZCB0eXBl
ZCBhcnJheSBvZiBpbnN1ZmZpY2llbnQgbGVuZ3RoIik7CisgICAgaWYgKEB0eXBlZEFycmF5Q29u
dGVudFR5cGUodGhpcykgIT09IEB0eXBlZEFycmF5Q29udGVudFR5cGUocmVzdWx0KSkKKyAgICAg
ICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5LnByb3RvdHlwZS5tYXAgY29uc3RydWN0ZWQg
dHlwZWQgYXJyYXkgb2YgZGlmZmVyZW50IGNvbnRlbnQgdHlwZSBmcm9tIHx0aGlzfCIpOwogCiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICB2YXIgbWFwcGVk
VmFsdWUgPSBjYWxsYmFjay5AY2FsbCh0aGlzQXJnLCB0aGlzW2ldLCBpLCB0aGlzKTsKQEAgLTM2
Niw2ICszNzEsOCBAQCBmdW5jdGlvbiBmaWx0ZXIoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pCiAg
ICAgdmFyIHJlc3VsdCA9IG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgpOwogICAgIGlmIChAdHlwZWRB
cnJheUxlbmd0aChyZXN1bHQpIDwgbGVuZ3RoKQogICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlR5
cGVkQXJyYXkucHJvdG90eXBlLmZpbHRlciBjb25zdHJ1Y3RlZCB0eXBlZCBhcnJheSBvZiBpbnN1
ZmZpY2llbnQgbGVuZ3RoIik7CisgICAgaWYgKEB0eXBlZEFycmF5Q29udGVudFR5cGUodGhpcykg
IT09IEB0eXBlZEFycmF5Q29udGVudFR5cGUocmVzdWx0KSkKKyAgICAgICAgQHRocm93VHlwZUVy
cm9yKCJUeXBlZEFycmF5LnByb3RvdHlwZS5maWx0ZXIgY29uc3RydWN0ZWQgdHlwZWQgYXJyYXkg
b2YgZGlmZmVyZW50IGNvbnRlbnQgdHlwZSBmcm9tIHx0aGlzfCIpOwogCiAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKICAgICAgICAgcmVzdWx0W2ldID0ga2VwdFtpXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAKaW5kZXgg
MWZjNzY3ODUxZWVlODlkMTc0YTgwMDkxMGM1M2E4ZThkMzAyNTcwMC4uOTQ1ZWE4OWE5ZGQ4ZjI0
Y2Y4NzllNTViMmE0OTQyOGNhZjFjZGEyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAKQEAgLTQ0LDYgKzQ0LDggQEAgY29uc3QgQXJyYXlN
b2RlcyB0eXBlZEFycmF5TW9kZXNbTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdEYXRh
Vmlld10gPSB7CiAgICAgVWludDMyQXJyYXlNb2RlLAogICAgIEZsb2F0MzJBcnJheU1vZGUsCiAg
ICAgRmxvYXQ2NEFycmF5TW9kZSwKKyAgICBCaWdJbnQ2NEFycmF5TW9kZSwKKyAgICBCaWdVaW50
NjRBcnJheU1vZGUsCiB9OwogCiB2b2lkIGR1bXBBcnJheU1vZGVzKFByaW50U3RyZWFtJiBvdXQs
IEFycmF5TW9kZXMgYXJyYXlNb2RlcykKQEAgLTExMCw2ICsxMTIsMTAgQEAgdm9pZCBkdW1wQXJy
YXlNb2RlcyhQcmludFN0cmVhbSYgb3V0LCBBcnJheU1vZGVzIGFycmF5TW9kZXMpCiAgICAgICAg
IG91dC5wcmludChjb21tYSwgIkZsb2F0MzJBcnJheU1vZGUiKTsKICAgICBpZiAoYXJyYXlNb2Rl
cyAmIEZsb2F0NjRBcnJheU1vZGUpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgIkZsb2F0NjRB
cnJheU1vZGUiKTsKKyAgICBpZiAoYXJyYXlNb2RlcyAmIEJpZ0ludDY0QXJyYXlNb2RlKQorICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJCaWdJbnQ2NEFycmF5TW9kZSIpOworICAgIGlmIChhcnJh
eU1vZGVzICYgQmlnVWludDY0QXJyYXlNb2RlKQorICAgICAgICBvdXQucHJpbnQoY29tbWEsICJC
aWdVaW50NjRBcnJheU1vZGUiKTsKIH0KIAogdm9pZCBBcnJheVByb2ZpbGU6OmNvbXB1dGVVcGRh
dGVkUHJlZGljdGlvbihjb25zdCBDb25jdXJyZW50SlNMb2NrZXImIGxvY2tlciwgQ29kZUJsb2Nr
KiBjb2RlQmxvY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QXJyYXlQcm9maWxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9m
aWxlLmgKaW5kZXggOTQyNjU3YzYyZjA3NDljYTA1YzRlZWU0ZDY3Yjk1ZmU2NDU1ZDllNy4uNmRj
N2IwZTU0NDdmZTA2MGRiY2JkMjRkOTkwOTc1NjU3OWZjNjU3NCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaApAQCAtNDcsMTUgKzQ3LDE3IEBAIGNv
bnN0IEFycmF5TW9kZXMgQ29weU9uV3JpdGVBcnJheVdpdGhJbnQzMkFycmF5TW9kZSA9IDEgPDwg
Q29weU9uV3JpdGVBcnJheVdpdGhJCiBjb25zdCBBcnJheU1vZGVzIENvcHlPbldyaXRlQXJyYXlX
aXRoRG91YmxlQXJyYXlNb2RlID0gMSA8PCBDb3B5T25Xcml0ZUFycmF5V2l0aERvdWJsZTsKIGNv
bnN0IEFycmF5TW9kZXMgQ29weU9uV3JpdGVBcnJheVdpdGhDb250aWd1b3VzQXJyYXlNb2RlID0g
MSA8PCBDb3B5T25Xcml0ZUFycmF5V2l0aENvbnRpZ3VvdXM7CiAKLWNvbnN0IEFycmF5TW9kZXMg
SW50OEFycmF5TW9kZSA9IDEgPDwgMTY7Ci1jb25zdCBBcnJheU1vZGVzIEludDE2QXJyYXlNb2Rl
ID0gMSA8PCAxNzsKLWNvbnN0IEFycmF5TW9kZXMgSW50MzJBcnJheU1vZGUgPSAxIDw8IDE4Owot
Y29uc3QgQXJyYXlNb2RlcyBVaW50OEFycmF5TW9kZSA9IDEgPDwgMTk7Ci1jb25zdCBBcnJheU1v
ZGVzIFVpbnQ4Q2xhbXBlZEFycmF5TW9kZSA9IDEgPDwgMjA7IC8vIDIxIC0gMjUgYXJlIHVzZWQg
Zm9yIENvVyBhcnJheXMuCi1jb25zdCBBcnJheU1vZGVzIFVpbnQxNkFycmF5TW9kZSA9IDEgPDwg
MjY7Ci1jb25zdCBBcnJheU1vZGVzIFVpbnQzMkFycmF5TW9kZSA9IDEgPDwgMjc7Ci1jb25zdCBB
cnJheU1vZGVzIEZsb2F0MzJBcnJheU1vZGUgPSAxIDw8IDI4OwotY29uc3QgQXJyYXlNb2RlcyBG
bG9hdDY0QXJyYXlNb2RlID0gMSA8PCAyOTsKK2NvbnN0IEFycmF5TW9kZXMgSW50OEFycmF5TW9k
ZSA9IDFVIDw8IDE2OworY29uc3QgQXJyYXlNb2RlcyBJbnQxNkFycmF5TW9kZSA9IDFVIDw8IDE3
OworY29uc3QgQXJyYXlNb2RlcyBJbnQzMkFycmF5TW9kZSA9IDFVIDw8IDE4OworY29uc3QgQXJy
YXlNb2RlcyBVaW50OEFycmF5TW9kZSA9IDFVIDw8IDE5OworY29uc3QgQXJyYXlNb2RlcyBVaW50
OENsYW1wZWRBcnJheU1vZGUgPSAxVSA8PCAyMDsgLy8gMjEgLSAyNSBhcmUgdXNlZCBmb3IgQ29X
IGFycmF5cy4KK2NvbnN0IEFycmF5TW9kZXMgVWludDE2QXJyYXlNb2RlID0gMVUgPDwgMjY7Citj
b25zdCBBcnJheU1vZGVzIFVpbnQzMkFycmF5TW9kZSA9IDFVIDw8IDI3OworY29uc3QgQXJyYXlN
b2RlcyBGbG9hdDMyQXJyYXlNb2RlID0gMVUgPDwgMjg7Citjb25zdCBBcnJheU1vZGVzIEZsb2F0
NjRBcnJheU1vZGUgPSAxVSA8PCAyOTsKK2NvbnN0IEFycmF5TW9kZXMgQmlnSW50NjRBcnJheU1v
ZGUgPSAxVSA8PCAzMDsKK2NvbnN0IEFycmF5TW9kZXMgQmlnVWludDY0QXJyYXlNb2RlID0gMVUg
PDwgMzE7CiAKIEpTX0VYUE9SVF9QUklWQVRFIGV4dGVybiBjb25zdCBBcnJheU1vZGVzIHR5cGVk
QXJyYXlNb2Rlc1tOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3XTsKIApA
QCAtNzQsNiArNzYsOCBAQCBjb25zdGV4cHIgQXJyYXlNb2RlcyBhc0FycmF5TW9kZXNJZ25vcmlu
Z1R5cGVkQXJyYXlzKEluZGV4aW5nVHlwZSBpbmRleGluZ01vZGUpCiAgICAgfCBVaW50MzJBcnJh
eU1vZGUgICAgICAgICBcCiAgICAgfCBGbG9hdDMyQXJyYXlNb2RlICAgICAgICBcCiAgICAgfCBG
bG9hdDY0QXJyYXlNb2RlICAgICAgICBcCisgICAgfCBCaWdJbnQ2NEFycmF5TW9kZSAgICAgICBc
CisgICAgfCBCaWdVaW50NjRBcnJheU1vZGUgICAgICBcCiAgICAgKQogCiAjZGVmaW5lIEFMTF9O
T05fQVJSQVlfQVJSQVlfTU9ERVMgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeVZhbEluZm8uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeVZhbEluZm8uaAppbmRleCAwM2JiODg5MTU4YThiODI4YTBi
ZWM3OWFmZGM1MTAxODE3OWFjZjA2Li41NDk3NDUzYzk4OTFjMDJhNWI0MDVjYTQzM2MyODFlYzgz
NWI0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJ
bmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCkBA
IC01Niw3ICs1Niw5IEBAIGVudW0gSklUQXJyYXlNb2RlIDogdWludDhfdCB7CiAgICAgSklUVWlu
dDE2QXJyYXksCiAgICAgSklUVWludDMyQXJyYXksCiAgICAgSklURmxvYXQzMkFycmF5LAotICAg
IEpJVEZsb2F0NjRBcnJheQorICAgIEpJVEZsb2F0NjRBcnJheSwKKyAgICBKSVRCaWdJbnQ2NEFy
cmF5LAorICAgIEpJVEJpZ1VpbnQ2NEFycmF5LAogfTsKIAogaW5saW5lIGJvb2wgaXNPcHRpbWl6
YWJsZUluZGV4aW5nVHlwZShJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQpAQCAtMTQ2LDYgKzE0
OCwxMCBAQCBpbmxpbmUgSklUQXJyYXlNb2RlIGppdEFycmF5TW9kZUZvckNsYXNzSW5mbyhjb25z
dCBDbGFzc0luZm8qIGNsYXNzSW5mbykKICAgICAgICAgcmV0dXJuIEpJVEZsb2F0MzJBcnJheTsK
ICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4gSklURmxvYXQ2NEFycmF5Owor
ICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gSklUQmlnSW50NjRBcnJheTsK
KyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVybiBKSVRCaWdVaW50NjRBcnJh
eTsKICAgICBkZWZhdWx0OgogICAgICAgICBDUkFTSCgpOwogICAgICAgICByZXR1cm4gSklUQ29u
dGlndW91czsKQEAgLTE1Nyw2ICsxNjMsOCBAQCBpbmxpbmUgYm9vbCBqaXRBcnJheU1vZGVQZXJt
aXRzUHV0KEpJVEFycmF5TW9kZSBtb2RlKQogICAgIHN3aXRjaCAobW9kZSkgewogICAgIGNhc2Ug
SklURGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgSklUU2NvcGVkQXJndW1lbnRzOgorICAgIGNh
c2UgSklUQmlnSW50NjRBcnJheToKKyAgICBjYXNlIEpJVEJpZ1VpbnQ2NEFycmF5OgogICAgICAg
ICAvLyBXZSBjb3VsZCBzdXBwb3J0IHB1dF9ieV92YWwgb24gdGhlc2UgYXQgc29tZSBwb2ludCwg
YnV0IGl0J3MganVzdCBub3QgdGhhdCBwcm9maXRhYmxlCiAgICAgICAgIC8vIGF0IHRoZSBtb21l
bnQuCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIwNiw2ICsyMTQsMTAgQEAgaW5saW5lIFR5
cGVkQXJyYXlUeXBlIHR5cGVkQXJyYXlUeXBlRm9ySklUQXJyYXlNb2RlKEpJVEFycmF5TW9kZSBt
b2RlKQogICAgICAgICByZXR1cm4gVHlwZUZsb2F0MzI7CiAgICAgY2FzZSBKSVRGbG9hdDY0QXJy
YXk6CiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQ2NDsKKyAgICBjYXNlIEpJVEJpZ0ludDY0QXJy
YXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBKSVRCaWdVaW50NjRB
cnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdVaW50NjQ7CiAgICAgZGVmYXVsdDoKICAgICAg
ICAgQ1JBU0goKTsKICAgICAgICAgcmV0dXJuIE5vdFR5cGVkQXJyYXk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaAppbmRleCBlZmFkNDBk
ZGQ0MWYyNGUyNDVkN2E2NWRiNWUwOTFhZWI1ODlmMDgyLi42Yjg5OTIyM2YxNjgwN2ZkZjE3NDgx
ZTEzZmM2ZDYwZTY0ODc4OTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9MaW5rVGltZUNvbnN0YW50LmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgSlNHbG9iYWxP
YmplY3Q7CiAgICAgdihtYWtlVHlwZUVycm9yLCBudWxscHRyKSBcCiAgICAgdihBZ2dyZWdhdGVF
cnJvciwgbnVsbHB0cikgXAogICAgIHYodHlwZWRBcnJheUxlbmd0aCwgbnVsbHB0cikgXAorICAg
IHYodHlwZWRBcnJheUNvbnRlbnRUeXBlLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFycmF5R2V0
T3JpZ2luYWxDb25zdHJ1Y3RvciwgbnVsbHB0cikgXAogICAgIHYodHlwZWRBcnJheVNvcnQsIG51
bGxwdHIpIFwKICAgICB2KGlzVHlwZWRBcnJheVZpZXcsIG51bGxwdHIpIFwKQEAgLTExMCw2ICsx
MTEsOCBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKICAgICB2KGNhbGxGdW5jdGlvbiwgbnVsbHB0
cikgXAogICAgIHYoaGFzT3duUHJvcGVydHlGdW5jdGlvbiwgbnVsbHB0cikgXAogICAgIHYoY3Jl
YXRlUHJpdmF0ZVN5bWJvbCwgbnVsbHB0cikgXAorICAgIHYodG9CaWdJbnQsIG51bGxwdHIpIFwK
KyAgICB2KGlzQmlnSW50VHlwZWRBcnJheVZpZXcsIG51bGxwdHIpIFwKIAogCiAjZGVmaW5lIERF
Q0xBUkVfTElOS19USU1FX0NPTlNUQU5UKG5hbWUsIGNvZGUpIG5hbWUsCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcAppbmRleCA3NTYwYjM5
OTg3ZmU4MTFmMmYyNzRjYWM4NjVkNTVkMGJhZTI2NmMzLi5iZTlhYzY2ZWUzYTdhMDhhYTM1NjYw
OGM1NTQ4MWE2N2VlZGRlZWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKQEAgLTE0OCw3ICsxNDgsMTcgQEAgdm9pZCBkdW1wU3Bl
Y3VsYXRpb24oUHJpbnRTdHJlYW0mIG91dFN0cmVhbSwgU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiAg
ICAgICAgICAgICAgICAgc3RyT3V0LnByaW50KCJGbG9hdDY0QXJyYXkiKTsKICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICBpc1RvcCA9IGZhbHNlOwotICAgIAorCisgICAgICAgICAg
ICBpZiAodmFsdWUgJiBTcGVjQmlnSW50NjRBcnJheSkKKyAgICAgICAgICAgICAgICBzdHJPdXQu
cHJpbnQoIkJpZ0ludDY0QXJyYXkiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBpc1RvcCA9IGZhbHNlOworCisgICAgICAgICAgICBpZiAodmFsdWUgJiBTcGVjQmlnVWludDY0
QXJyYXkpCisgICAgICAgICAgICAgICAgc3RyT3V0LnByaW50KCJCaWdVaW50NjRBcnJheSIpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7CisKICAgICAg
ICAgICAgIGlmICh2YWx1ZSAmIFNwZWNGdW5jdGlvbikKICAgICAgICAgICAgICAgICBzdHJPdXQu
cHJpbnQoIkZ1bmN0aW9uIik7CiAgICAgICAgICAgICBlbHNlCkBAIC0zNTksNiArMzY5LDEwIEBA
IHN0YXRpYyBjb25zdCBjaGFyKiBzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcoU3BlY3Vs
YXRlZFR5cGUgcHJlZGljdGlvbikKICAgICAgICAgcmV0dXJuICI8RmxvYXQzMmFycmF5PiI7CiAg
ICAgaWYgKGlzRmxvYXQ2NEFycmF5U3BlY3VsYXRpb24ocHJlZGljdGlvbikpCiAgICAgICAgIHJl
dHVybiAiPEZsb2F0NjRhcnJheT4iOworICAgIGlmIChpc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlv
bihwcmVkaWN0aW9uKSkKKyAgICAgICAgcmV0dXJuICI8QmlnSW50NjRhcnJheT4iOworICAgIGlm
IChpc0JpZ1VpbnQ2NEFycmF5U3BlY3VsYXRpb24ocHJlZGljdGlvbikpCisgICAgICAgIHJldHVy
biAiPEJpZ1VpbnQ2NGFycmF5PiI7CiAgICAgaWYgKGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRp
b24ocHJlZGljdGlvbikpCiAgICAgICAgIHJldHVybiAiPERpcmVjdEFyZ3VtZW50cz4iOwogICAg
IGlmIChpc1Njb3BlZEFyZ3VtZW50c1NwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQpAQCAtNDI0LDYg
KzQzOCwxMCBAQCBTcGVjdWxhdGVkVHlwZSBzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZShU
eXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0MzJBcnJheTsKICAg
ICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0NjRBcnJheTsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdJbnQ2NEFycmF5Owor
ICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdVaW50NjRBcnJh
eTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAg
ICAgIGJyZWFrOwpAQCAtNjU2LDYgKzY3NCwxMiBAQCBUeXBlZEFycmF5VHlwZSB0eXBlZEFycmF5
VHlwZUZyb21TcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB0eXBlKQogICAgICAgICAKICAgICBp
ZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbih0eXBlKSkKICAgICAgICAgcmV0dXJuIFR5cGVG
bG9hdDY0OworCisgICAgaWYgKGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQorICAg
ICAgICByZXR1cm4gVHlwZUJpZ0ludDY0OworCisgICAgaWYgKGlzQmlnVWludDY0QXJyYXlTcGVj
dWxhdGlvbih0eXBlKSkKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdVaW50NjQ7CiAgICAgCiAgICAg
cmV0dXJuIE5vdFR5cGVkQXJyYXk7CiB9CkBAIC05MDIsNiArOTI2LDEwIEBAIFNwZWN1bGF0ZWRU
eXBlIHNwZWN1bGF0aW9uRnJvbVN0cmluZyhjb25zdCBjaGFyKiBzcGVjdWxhdGlvbikKICAgICAg
ICAgcmV0dXJuIFNwZWNGbG9hdDMyQXJyYXk7CiAgICAgaWYgKCFzdHJuY21wKHNwZWN1bGF0aW9u
LCAiU3BlY0Zsb2F0NjRBcnJheSIsIHN0cmxlbigiU3BlY0Zsb2F0NjRBcnJheSIpKSkKICAgICAg
ICAgcmV0dXJuIFNwZWNGbG9hdDY0QXJyYXk7CisgICAgaWYgKCFzdHJuY21wKHNwZWN1bGF0aW9u
LCAiU3BlY0JpZ0ludDY0QXJyYXkiLCBzdHJsZW4oIlNwZWNCaWdJbnQ2NEFycmF5IikpKQorICAg
ICAgICByZXR1cm4gU3BlY0JpZ0ludDY0QXJyYXk7CisgICAgaWYgKCFzdHJuY21wKHNwZWN1bGF0
aW9uLCAiU3BlY0JpZ1VpbnQ2NEFycmF5Iiwgc3RybGVuKCJTcGVjQmlnVWludDY0QXJyYXkiKSkp
CisgICAgICAgIHJldHVybiBTcGVjQmlnVWludDY0QXJyYXk7CiAgICAgaWYgKCFzdHJuY21wKHNw
ZWN1bGF0aW9uLCAiU3BlY1R5cGVkQXJyYXlWaWV3Iiwgc3RybGVuKCJTcGVjVHlwZWRBcnJheVZp
ZXciKSkpCiAgICAgICAgIHJldHVybiBTcGVjVHlwZWRBcnJheVZpZXc7CiAgICAgaWYgKCFzdHJu
Y21wKHNwZWN1bGF0aW9uLCAiU3BlY0RpcmVjdEFyZ3VtZW50cyIsIHN0cmxlbigiU3BlY0RpcmVj
dEFyZ3VtZW50cyIpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9TcGVjdWxhdGVkVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1
bGF0ZWRUeXBlLmgKaW5kZXggODNlNjgzNWNkMWMxY2M4YzViZmVhZmQzODYyZDVmZDE1NTA2NDg4
OS4uZDU5MDZmNTc5ZTFiZWMzZmQ0YjEzYjM2MTY3ODdhNWM3ZWMxYWFlOCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKQEAgLTUxLDQwICs1
MSw0MiBAQCBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNVaW50OEFycmF5ICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8CiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNVaW50OENsYW1wZWRBcnJheSAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDg7
IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50OENsYW1wZWRBcnJheSBvciBvbmUgb2YgaXRzIHN1
YmNsYXNzZXMuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNVaW50MTZBcnJh
eSAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDk7IC8vIEl0J3MgZGVmaW5pdGVseSBh
biBVaW50MTZBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCiBzdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNVaW50MzJBcnJheSAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDEwOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gVWludDMyQXJyYXkgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRmxvYXQz
MkFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxMTsgLy8gSXQncyBkZWZpbml0
ZWx5IGFuIFVpbnQxNkFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25z
dGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Zsb2F0NjRBcnJheSAgICAgICAgICAgICAgICAgICAg
ICA9IDF1bGwgPDwgMTI7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50MTZBcnJheSBvciBvbmUg
b2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNU
eXBlZEFycmF5VmlldyAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50OEFycmF5IHwgU3BlY0lu
dDE2QXJyYXkgfCBTcGVjSW50MzJBcnJheSB8IFNwZWNVaW50OEFycmF5IHwgU3BlY1VpbnQ4Q2xh
bXBlZEFycmF5IHwgU3BlY1VpbnQxNkFycmF5IHwgU3BlY1VpbnQzMkFycmF5IHwgU3BlY0Zsb2F0
MzJBcnJheSB8IFNwZWNGbG9hdDY0QXJyYXk7Ci1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNEaXJlY3RBcmd1bWVudHMgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEzOyAv
LyBJdCdzIGRlZmluaXRlbHkgYSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0Lgotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU2NvcGVkQXJndW1lbnRzICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAxNDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU2NvcGVkQXJndW1lbnRzIG9iamVj
dC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0cmluZ09iamVjdCAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTU7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN0cmlu
Z09iamVjdC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1JlZ0V4cE9iamVj
dCAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTY7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IFJlZ0V4cE9iamVjdCAoYW5kIG5vdCBhbnkgc3ViY2xhc3Mgb2YgUmVnRXhwT2JqZWN0KS4KLXN0
YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RhdGVPYmplY3QgICAgICAgICAgICAg
ICAgICAgICAgICA9IDF1bGwgPDwgMTc7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERhdGUgb2JqZWN0
IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY1Byb21pc2VPYmplY3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTg7IC8v
IEl0J3MgZGVmaW5pdGVseSBhIFByb21pc2Ugb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nl
cy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01hcE9iamVjdCAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIE1hcCBv
YmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAy
MDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNz
ZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNXZWFrTWFwT2JqZWN0ICAg
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDIxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFr
TWFwIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNXZWFrU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDIyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFrU2V0IG9iamVjdCBvciBvbmUgb2YgaXRz
IHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm94eU9i
amVjdCAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDIzOyAvLyBJdCdzIGRlZmluaXRl
bHkgYSBQcm94eSBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGVyaXZlZEFycmF5ICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAyNDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgRGVyaXZlZEFycmF5IG9iamVjdC4K
LXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY09iamVjdE90aGVyICAgICAgICAg
ICAgICAgICAgICAgICA9IDF1bGwgPDwgMjU7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBvYmplY3Qg
YnV0IG5vdCBKU0ZpbmFsT2JqZWN0LCBKU0FycmF5LCBvciBKU0Z1bmN0aW9uLgotc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5nSWRlbnQgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCAyNjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdz
IGFuIGlkZW50aWZpZXIuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJp
bmdWYXIgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI3OyAvLyBJdCdzIGRlZmlu
aXRlbHkgYSBKU1N0cmluZywgYW5kIGl0J3Mgbm90IGFuIGlkZW50aWZpZXIuCitzdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGbG9hdDMyQXJyYXkgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDExOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gRmxvYXQzMkFycmF5IG9yIG9u
ZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0Zsb2F0NjRBcnJheSAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTI7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhbiBGbG9hdDY0QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQmlnSW50NjRBcnJheSAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAxMzsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEJpZ0ludDY0QXJy
YXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjQmlnVWludDY0QXJyYXkgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNDsg
Ly8gSXQncyBkZWZpbml0ZWx5IGFuIEJpZ1VpbnQ2NEFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xh
c3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1R5cGVkQXJyYXlWaWV3
ICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQ4QXJyYXkgfCBTcGVjSW50MTZBcnJheSB8IFNw
ZWNJbnQzMkFycmF5IHwgU3BlY1VpbnQ4QXJyYXkgfCBTcGVjVWludDhDbGFtcGVkQXJyYXkgfCBT
cGVjVWludDE2QXJyYXkgfCBTcGVjVWludDMyQXJyYXkgfCBTcGVjRmxvYXQzMkFycmF5IHwgU3Bl
Y0Zsb2F0NjRBcnJheSB8IFNwZWNCaWdJbnQ2NEFycmF5IHwgU3BlY0JpZ1VpbnQ2NEFycmF5Owor
c3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGlyZWN0QXJndW1lbnRzICAgICAg
ICAgICAgICAgICAgID0gMXVsbCA8PCAxNTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgRGlyZWN0QXJn
dW1lbnRzIG9iamVjdC4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Njb3Bl
ZEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTY7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIFNjb3BlZEFyZ3VtZW50cyBvYmplY3QuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNTdHJpbmdPYmplY3QgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE3
OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTdHJpbmdPYmplY3QuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNSZWdFeHBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDE4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBSZWdFeHBPYmplY3QgKGFuZCBub3QgYW55IHN1
YmNsYXNzIG9mIFJlZ0V4cE9iamVjdCkuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBl
IFNwZWNEYXRlT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE5OyAvLyBJ
dCdzIGRlZmluaXRlbHkgYSBEYXRlIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm9taXNlT2JqZWN0ICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDIwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBQcm9taXNlIG9i
amVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNNYXBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDIx
OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBNYXAgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nl
cy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1NldE9iamVjdCAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjI7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFNldCBv
YmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjV2Vha01hcE9iamVjdCAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAy
MzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgV2Vha01hcCBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJj
bGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjV2Vha1NldE9iamVj
dCAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNDsgLy8gSXQncyBkZWZpbml0ZWx5IGEg
V2Vha1NldCBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhw
ciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJveHlPYmplY3QgICAgICAgICAgICAgICAgICAgICAgID0g
MXVsbCA8PCAyNTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJveHkgb2JqZWN0IG9yIG9uZSBvZiBp
dHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Rlcml2
ZWRBcnJheSAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjY7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIERlcml2ZWRBcnJheSBvYmplY3QuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNPYmplY3RPdGhlciAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI3OyAv
LyBJdCdzIGRlZmluaXRlbHkgYW4gb2JqZWN0IGJ1dCBub3QgSlNGaW5hbE9iamVjdCwgSlNBcnJh
eSwgb3IgSlNGdW5jdGlvbi4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0
cmluZ0lkZW50ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjg7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBhbiBpZGVudGlmaWVyLgorc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5nVmFyICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAyOTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdzIG5v
dCBhbiBpZGVudGlmaWVyLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3Ry
aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY1N0cmluZ0lkZW50IHwgU3BlY1N0
cmluZ1ZhcjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNTeW1ib2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDI4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTeW1ib2wuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3RoZXIgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDI5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU0NlbGwgYnV0IG5vdCBhIHN1YmNsYXNz
IG9mIEpTT2JqZWN0IGFuZCBkZWZpbml0ZWx5IG5vdCBhIEpTU3RyaW5nLCBCaWdJbnQsIG9yIFN5
bWJvbC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Jvb2xJbnQzMiAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJ
bnQzMiB3aXRoIHZhbHVlIDAgb3IgMS4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
U3BlY05vbkJvb2xJbnQzMiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzE7IC8vIEl0
J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVlIG90aGVyIHRoYW4gMCBvciAxLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3ltYm9sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzMDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU3ltYm9sLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQ2VsbE90aGVyICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzMTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNDZWxsIGJ1dCBu
b3QgYSBzdWJjbGFzcyBvZiBKU09iamVjdCBhbmQgZGVmaW5pdGVseSBub3QgYSBKU1N0cmluZywg
QmlnSW50LCBvciBTeW1ib2wuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNC
b29sSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMyOyAvLyBJdCdzIGRl
ZmluaXRlbHkgYW4gSW50MzIgd2l0aCB2YWx1ZSAwIG9yIDEuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNOb25Cb29sSW50MzIgICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDMzOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50MzIgd2l0aCB2YWx1ZSBvdGhlciB0aGFu
IDAgb3IgMS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0ludDMyT25seSAg
ICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNCb29sSW50MzIgfCBTcGVjTm9uQm9vbEludDMy
OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50MzIuCiAKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY0ludDMyQXNJbnQ1MiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwg
MzI7IC8vIEl0J3MgYW4gSW50NTIgYW5kIGl0IGNhbiBmaXQgaW4gYW4gaW50MzIuCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnQzMkFzSW50NTIgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDMzOyAvLyBJdCdzIGFuIEludDUyIGFuZCBpdCBjYW4ndCBmaXQgaW4g
YW4gaW50MzIuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnQzMkFzSW50
NTIgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGFuIEludDUyIGFu
ZCBpdCBjYW4gZml0IGluIGFuIGludDMyLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjTm9uSW50MzJBc0ludDUyICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNTsgLy8g
SXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuJ3QgZml0IGluIGFuIGludDMyLgogc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50NTJBbnkgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gU3BlY0ludDMyQXNJbnQ1MiB8IFNwZWNOb25JbnQzMkFzSW50NTI7IC8vIEl0J3MgYW55IGtp
bmQgb2YgSW50NTIuCiAKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0FueUlu
dEFzRG91YmxlICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzQ7IC8vIEl0J3MgZGVmaW5p
dGVseSBhbiBJbnQ1MiBhbmQgaXQncyBpbnNpZGUgYSBkb3VibGUuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnRBc0RvdWJsZSAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDM1OyAvLyBJdCdzIGRlZmluaXRlbHkgbm90IGFuIEludDUyIGJ1dCBpdCdzIGEgcmVh
bCBudW1iZXIgYW5kIGl0J3MgYSBkb3VibGUuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNBbnlJbnRBc0RvdWJsZSAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM2OyAv
LyBJdCdzIGRlZmluaXRlbHkgYW4gSW50NTIgYW5kIGl0J3MgaW5zaWRlIGEgZG91YmxlLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjTm9uSW50QXNEb3VibGUgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzNzsgLy8gSXQncyBkZWZpbml0ZWx5IG5vdCBhbiBJbnQ1MiBi
dXQgaXQncyBhIHJlYWwgbnVtYmVyIGFuZCBpdCdzIGEgZG91YmxlLgogc3RhdGljIGNvbnN0ZXhw
ciBTcGVjdWxhdGVkVHlwZSBTcGVjRG91YmxlUmVhbCAgICAgICAgICAgICAgICAgICAgICAgID0g
U3BlY05vbkludEFzRG91YmxlIHwgU3BlY0FueUludEFzRG91YmxlOyAvLyBJdCdzIGRlZmluaXRl
bHkgYSBub24tTmFOIGRvdWJsZS4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0RvdWJsZVB1cmVOYU4gICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzY7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhIE5hTiB0aGF0IGlzIHNhZmUgdG8gdGFnIChpLmUuIHB1cmUpLgotc3RhdGlj
IGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRG91YmxlSW1wdXJlTmFOICAgICAgICAgICAg
ICAgICAgID0gMXVsbCA8PCAzNzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgdW5z
YWZlIHRvIHRhZyAoaS5lLiBpbXB1cmUpLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjRG91YmxlUHVyZU5hTiAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzODsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgc2FmZSB0byB0YWcgKGkuZS4gcHVyZSkuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVJbXB1cmVOYU4gICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDM5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4gdGhhdCBp
cyB1bnNhZmUgdG8gdGFnIChpLmUuIGltcHVyZSkuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNEb3VibGVOYU4gICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjRG91Ymxl
UHVyZU5hTiB8IFNwZWNEb3VibGVJbXB1cmVOYU47IC8vIEl0J3MgZGVmaW5pdGVseSBzb21lIGtp
bmQgb2YgTmFOLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQnl0ZWNvZGVE
b3VibGUgICAgICAgICAgICAgICAgICAgID0gU3BlY0RvdWJsZVJlYWwgfCBTcGVjRG91YmxlUHVy
ZU5hTjsgLy8gSXQncyBlaXRoZXIgYSBub24tTmFOIG9yIGEgTmFOIGRvdWJsZSwgYnV0IGl0J3Mg
ZGVmaW5pdGVseSBub3QgaW1wdXJlIE5hTi4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY0Z1bGxEb3VibGUgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNEb3VibGVSZWFs
IHwgU3BlY0RvdWJsZU5hTjsgLy8gSXQncyBlaXRoZXIgYSBub24tTmFOIG9yIGEgTmFOIGRvdWJs
ZS4KQEAgLTk0LDE5ICs5NiwxOSBAQCBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNCeXRlY29kZU51bWJlciAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50Mwogc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50QW55Rm9ybWF0ICAgICAgICAgICAgICAgICAg
ICAgID0gU3BlY0ludDUyQW55IHwgU3BlY0ludDMyT25seSB8IFNwZWNBbnlJbnRBc0RvdWJsZTsK
IAogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRnVsbE51bWJlciAgICAgICAg
ICAgICAgICAgICAgICAgID0gU3BlY0ludEFueUZvcm1hdCB8IFNwZWNGdWxsRG91YmxlOyAvLyBJ
dCdzIGVpdGhlciBhbiBJbnQzMiwgSW50NTIsIG9yIGEgRG91YmxlLCBhbmQgdGhlIERvdWJsZSBj
YW4gYmUgaW1wdXJlIE5hTi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Jv
b2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzg7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIEJvb2xlYW4uCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNP
dGhlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM5OyAvLyBJdCdzIGRl
ZmluaXRlbHkgZWl0aGVyIE51bGwgb3IgVW5kZWZpbmVkLgorc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjQm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCA0MDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgQm9vbGVhbi4KK3N0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY090aGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgNDE7IC8vIEl0J3MgZGVmaW5pdGVseSBlaXRoZXIgTnVsbCBvciBVbmRlZmluZWQuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNNaXNjICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjQm9vbGVhbiB8IFNwZWNPdGhlcjsgLy8gSXQncyBkZWZpbml0ZWx5IGVp
dGhlciBhIGJvb2xlYW4sIE51bGwsIG9yIFVuZGVmaW5lZC4KLXN0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY0VtcHR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgNDA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBlbXB0eSB2YWx1ZSBtYXJrZXIuCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNIZWFwQmlnSW50ICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCaWdJbnQgdGhhdCBpcyBh
bGxvY2F0ZWQgb24gdGhlIGhlYXAKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0JpZ0ludDMyICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDI7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhIHNtYWxsIEJpZ0ludCB0aGF0IGlzIGlubGluZSB0aGUgSlNWYWx1ZQorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRW1wdHkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCA0MjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIGVtcHR5IHZhbHVl
IG1hcmtlci4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0hlYXBCaWdJbnQg
ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDM7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IEJpZ0ludCB0aGF0IGlzIGFsbG9jYXRlZCBvbiB0aGUgaGVhcAorc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjQmlnSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVs
bCA8PCA0NDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgc21hbGwgQmlnSW50IHRoYXQgaXMgaW5saW5l
IHRoZSBKU1ZhbHVlCiAjaWYgVVNFKEJJR0lOVDMyKQogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjQmlnSW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0JpZ0lu
dDMyIHwgU3BlY0hlYXBCaWdJbnQ7CiAjZWxzZQogLy8gV2Ugc2hvdWxkIG5vdCBpbmNsdWRlIFNw
ZWNCaWdJbnQzMi4gV2UgYXJlIHVzaW5nIFNwZWNCaWdJbnQgaW4gdmFyaW91cyBwbGFjZXMgbGlr
ZSBwcmVkaWN0aW9uLiBJZiB0aGlzIGluY2x1ZGVzIFNwZWNCaWdJbnQzMiwgZml4dXAgcGhhc2Ug
aXMgY29uZnVzZWQgaWYgIVVTRShCSUdJTlQzMikgc2luY2UgaXQgaXMgbm90IHVzaW5nIEFueUJp
Z0ludFVzZS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0JpZ0ludCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNIZWFwQmlnSW50OwogI2VuZGlmCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEYXRhVmlld09iamVjdCAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQzOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU0RhdGFWaWV3Lgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGF0YVZpZXdPYmplY3QgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCA0NTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNEYXRhVmlldy4K
IHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1ByaW1pdGl2ZSAgICAgICAgICAg
ICAgICAgICAgICAgICA9IFNwZWNTdHJpbmcgfCBTcGVjU3ltYm9sIHwgU3BlY0J5dGVjb2RlTnVt
YmVyIHwgU3BlY01pc2MgfCBTcGVjQmlnSW50OyAvLyBJdCdzIGFueSBub24tT2JqZWN0IEpTVmFs
dWUuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNPYmplY3QgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSBTcGVjRmluYWxPYmplY3QgfCBTcGVjQXJyYXkgfCBTcGVjRnVu
Y3Rpb24gfCBTcGVjVHlwZWRBcnJheVZpZXcgfCBTcGVjRGlyZWN0QXJndW1lbnRzIHwgU3BlY1Nj
b3BlZEFyZ3VtZW50cyB8IFNwZWNTdHJpbmdPYmplY3QgfCBTcGVjUmVnRXhwT2JqZWN0IHwgU3Bl
Y0RhdGVPYmplY3QgfCBTcGVjUHJvbWlzZU9iamVjdCB8IFNwZWNNYXBPYmplY3QgfCBTcGVjU2V0
T2JqZWN0IHwgU3BlY1dlYWtNYXBPYmplY3QgfCBTcGVjV2Vha1NldE9iamVjdCB8IFNwZWNQcm94
eU9iamVjdCB8IFNwZWNEZXJpdmVkQXJyYXkgfCBTcGVjT2JqZWN0T3RoZXIgfCBTcGVjRGF0YVZp
ZXdPYmplY3Q7IC8vIEJpdG1hc2sgdXNlZCBmb3IgdGVzdGluZyBmb3IgYW55IGtpbmQgb2Ygb2Jq
ZWN0IHByZWRpY3Rpb24uCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjT2JqZWN0IHwgU3BlY1N0cmluZyB8
IFNwZWNTeW1ib2wgfCBTcGVjQ2VsbE90aGVyIHwgU3BlY0hlYXBCaWdJbnQ7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIEpTQ2VsbC4KQEAgLTI4Nyw1MSArMjg5LDI0IEBAIGlubGluZSBib29sIGlzRmxv
YXQ2NEFycmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiAgICAgcmV0dXJuIHZh
bHVlID09IFNwZWNGbG9hdDY0QXJyYXk7CiB9CiAKLWlubGluZSBib29sIGlzRGlyZWN0QXJndW1l
bnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBpc0JpZ0lu
dDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4g
dmFsdWUgPT0gU3BlY0RpcmVjdEFyZ3VtZW50czsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0Jp
Z0ludDY0QXJyYXk7CiB9CiAKLWlubGluZSBib29sIGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRp
b24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBpc0JpZ1VpbnQ2NEFycmF5U3Bl
Y3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIHZhbHVlID09IFNw
ZWNTY29wZWRBcmd1bWVudHM7CisgICAgcmV0dXJuIHZhbHVlID09IFNwZWNCaWdVaW50NjRBcnJh
eTsKIH0KIAotaW5saW5lIGJvb2wgaXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3BlY3VsYXRp
b24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGlzSW50OEFycmF5U3BlY3Vs
YXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzSW50MTZBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQot
ICAgICAgICB8fCBpc0ludDMyQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNV
aW50OEFycmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzVWludDhDbGFtcGVkQXJy
YXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNVaW50MTZBcnJheVNwZWN1bGF0aW9u
KHZhbHVlKQotICAgICAgICB8fCBpc1VpbnQzMkFycmF5U3BlY3VsYXRpb24odmFsdWUpOwotfQot
Ci1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVGbG9hdE11dGFibGVBcnJheVNwZWN1bGF0aW9uKFNw
ZWN1bGF0ZWRUeXBlIHZhbHVlKQotewotICAgIHJldHVybiBpc0Zsb2F0MzJBcnJheVNwZWN1bGF0
aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsK
LX0KLQotaW5saW5lIGJvb2wgaXNBY3Rpb25hYmxlVHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlv
bihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKLXsKLSAgICByZXR1cm4gaXNBY3Rpb25hYmxlSW50TXV0
YWJsZUFycmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzQWN0aW9uYWJsZUZsb2F0
TXV0YWJsZUFycmF5U3BlY3VsYXRpb24odmFsdWUpOwotfQotCi1pbmxpbmUgYm9vbCBpc0FjdGlv
bmFibGVNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGlu
ZSBib29sIGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUp
CiB7Ci0gICAgcmV0dXJuIGlzQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNB
Y3Rpb25hYmxlVHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSk7CisgICAgcmV0dXJu
IHZhbHVlID09IFNwZWNEaXJlY3RBcmd1bWVudHM7CiB9CiAKLWlubGluZSBib29sIGlzQWN0aW9u
YWJsZUFycmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBp
c1Njb3BlZEFyZ3VtZW50c1NwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogewotICAg
IHJldHVybiBpc1N0cmluZ1NwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0RpcmVjdEFy
Z3VtZW50c1NwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0FjdGlvbmFibGVNdXRhYmxlQXJyYXlTcGVj
dWxhdGlvbih2YWx1ZSk7CisgICAgcmV0dXJuIHZhbHVlID09IFNwZWNTY29wZWRBcmd1bWVudHM7
CiB9CiAKIGlubGluZSBib29sIGlzQXJyYXlPck90aGVyU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5
cGUgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggN2I1YjY4NDU4ODVhNDVkMzJjZjkwMjJj
MDkwZWFhZmVlODczZDZiZC4uZTg0ODJiZGJhOTdlMjIwM2IwY2JlYTgxNDE5ZDBiZDY0NWZlZDY1
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMzY0Nyw2ICszNjQ3LDEyIEBAIGJvb2wgQWJzdHJh
Y3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVk
IGNsb2JiZXJMaW1pCiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKICAgICAgICAg
ICAgIGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY0Zsb2F0NjRBcnJheSB8IGFkbWl0dGVkVHlw
ZXMpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJy
YXk6CisgICAgICAgICAgICBmaWx0ZXIobm9kZS0+Y2hpbGQxKCksIFNwZWNCaWdJbnQ2NEFycmF5
IHwgYWRtaXR0ZWRUeXBlcyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcnJh
eTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICBmaWx0ZXIobm9kZS0+Y2hpbGQxKCksIFNw
ZWNCaWdVaW50NjRBcnJheSB8IGFkbWl0dGVkVHlwZXMpOworICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAgICAgICAgICBmaWx0ZXIobm9k
ZS0+Y2hpbGQxKCksIFNwZWNUeXBlZEFycmF5VmlldyB8IGFkbWl0dGVkVHlwZXMpOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fy
cmF5TW9kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAK
aW5kZXggYzc5Y2RhNDRmOTg0YjNiNGNkZmFhMGVkZWVjYWFiNTRhYTg3ODUyMS4uNmU0ZmU5YWZh
M2ViNzFjMzg5NzEwNzc2NWY0YzQ0ZmE1ZGRiYmQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcApAQCAtMTQ1LDYgKzE0NSwxMCBAQCBBcnJheU1vZGUgQXJy
YXlNb2RlOjpmcm9tT2JzZXJ2ZWQoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiBsb2NrZXIsIEFy
cmF5UHJvZmlsZQogICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpGbG9hdDMyQXJyYXks
IG5vbkFycmF5LCBBcnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJvZmlsZShsb2NrZXIsIHByb2Zp
bGUsIG1ha2VTYWZlKTsKICAgICBjYXNlIEZsb2F0NjRBcnJheU1vZGU6CiAgICAgICAgIHJldHVy
biBBcnJheU1vZGUoQXJyYXk6OkZsb2F0NjRBcnJheSwgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBh
Y3Rpb24pLndpdGhQcm9maWxlKGxvY2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOworICAgIGNhc2Ug
QmlnSW50NjRBcnJheU1vZGU6CisgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkJpZ0lu
dDY0QXJyYXksIG5vbkFycmF5LCBBcnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJvZmlsZShsb2Nr
ZXIsIHByb2ZpbGUsIG1ha2VTYWZlKTsKKyAgICBjYXNlIEJpZ1VpbnQ2NEFycmF5TW9kZToKKyAg
ICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6QmlnVWludDY0QXJyYXksIG5vbkFycmF5LCBB
cnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJvZmlsZShsb2NrZXIsIHByb2ZpbGUsIG1ha2VTYWZl
KTsKIAogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIElmIHdlIGhhdmUgc2VlbiBtdWx0aXBsZSBU
eXBlZEFycmF5IHR5cGVzLCBvciBhIFR5cGVkQXJyYXkgYW5kIG5vbi10eXBlZCBhcnJheSwgaXQg
ZG9lc24ndCBtYWtlIHNlbnNlIHRvIHRyeSB0byBjb252ZXJ0IHRoZSBvYmplY3Qgc2luY2UgeW91
IGNhbid0IGNvbnZlcnQgdHlwZWQgYXJyYXlzLgpAQCAtMjg4LDExICsyOTIsMTQgQEAgQXJyYXlN
b2RlIEFycmF5TW9kZTo6cmVmaW5lKAogICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAg
IGNhc2UgQXJyYXk6OkZsb2F0MzJBcnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6
CisgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50
NjRBcnJheToKICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gUHV0QnlWYWwpIHsKICAgICAgICAg
ICAgIGlmIChncmFwaC5oYXNFeGl0U2l0ZShub2RlLT5vcmlnaW4uc2VtYW50aWMsIE91dE9mQm91
bmRzKSB8fCAhaXNJbkJvdW5kcygpKQogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlZEFycmF5
UmVzdWx0KHdpdGhTcGVjdWxhdGlvbihBcnJheTo6T3V0T2ZCb3VuZHMpKTsKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdCh3aXRoU3BlY3VsYXRpb24oQXJyYXk6Oklu
Qm91bmRzKSk7CisKICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgogICAgIGNhc2UgQXJyYXk6
OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6IHsKICAgICAgICAgYmFzZSAmPSB+U3BlY090aGVyOwpA
QCAtMzU0LDYgKzM2MSwxMiBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpyZWZpbmUoCiAgICAgICAg
IGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKGJhc2UpKQogICAgICAgICAgICAgcmV0dXJu
IHR5cGVkQXJyYXlSZXN1bHQocmVzdWx0LndpdGhUeXBlKEFycmF5OjpGbG9hdDY0QXJyYXkpKTsK
IAorICAgICAgICBpZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCisgICAgICAg
ICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdChyZXN1bHQud2l0aFR5cGUoQXJyYXk6OkJpZ0lu
dDY0QXJyYXkpKTsKKworICAgICAgICBpZiAoaXNCaWdVaW50NjRBcnJheVNwZWN1bGF0aW9uKGJh
c2UpKQorICAgICAgICAgICAgcmV0dXJuIHR5cGVkQXJyYXlSZXN1bHQocmVzdWx0LndpdGhUeXBl
KEFycmF5OjpCaWdVaW50NjRBcnJheSkpOworCiAgICAgICAgIGlmICh0eXBlKCkgPT0gQXJyYXk6
OlVucHJvZmlsZWQpCiAgICAgICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpGb3JjZUV4
aXQsIGFjdGlvbigpKTsKICAgICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6R2VuZXJpYywg
YWN0aW9uKCkpOwpAQCAtNjA1LDYgKzYxOCwxMiBAQCBib29sIEFycmF5TW9kZTo6YWxyZWFkeUNo
ZWNrZWQoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBBYnN0cmFjdFZhbHVlJiB2YQog
ICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKICAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9u
Q2hlY2tlZCh2YWx1ZS5tX3R5cGUsIFNwZWNGbG9hdDY0QXJyYXkpOwogCisgICAgY2FzZSBBcnJh
eTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uQ2hlY2tlZCh2YWx1
ZS5tX3R5cGUsIFNwZWNCaWdJbnQ2NEFycmF5KTsKKworICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2
NEFycmF5OgorICAgICAgICByZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwg
U3BlY0JpZ1VpbnQ2NEFycmF5KTsKKwogICAgIGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAg
ICAgICAgIHJldHVybiBzcGVjdWxhdGlvbkNoZWNrZWQodmFsdWUubV90eXBlLCBTcGVjVHlwZWRB
cnJheVZpZXcpOwogCkBAIC02NzksNiArNjk4LDEwIEBAIGNvbnN0IGNoYXIqIGFycmF5VHlwZVRv
U3RyaW5nKEFycmF5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiAiRmxvYXQzMkFycmF5IjsK
ICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6CiAgICAgICAgIHJldHVybiAiRmxvYXQ2NEFy
cmF5IjsKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gIkJp
Z0ludDY0QXJyYXkiOworICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICBy
ZXR1cm4gIkJpZ1VpbnQ2NEFycmF5IjsKICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5Ogog
ICAgICAgICByZXR1cm4gIkFueVR5cGVkQXJyYXkiOwogICAgIGRlZmF1bHQ6CkBAIC03ODEsNiAr
ODA0LDEwIEBAIFR5cGVkQXJyYXlUeXBlIHRvVHlwZWRBcnJheVR5cGUoQXJyYXk6OlR5cGUgdHlw
ZSkKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDMyOwogICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRB
cnJheToKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDY0OworICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBBcnJheTo6
QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnVWludDY0OwogICAgIGNhc2Ug
QXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgIHJldHVybiBOb3RUeXBlZEFycmF5OwpAQCAtODEwLDYgKzgzNywxMCBAQCBB
cnJheTo6VHlwZSB0b0FycmF5VHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1
cm4gQXJyYXk6OkZsb2F0MzJBcnJheTsKICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBy
ZXR1cm4gQXJyYXk6OkZsb2F0NjRBcnJheTsKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAg
ICAgcmV0dXJuIEFycmF5OjpCaWdJbnQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoK
KyAgICAgICAgcmV0dXJuIEFycmF5OjpCaWdVaW50NjRBcnJheTsKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gQXJyYXk6OkdlbmVyaWM7CiAgICAgfQpAQCAtODQ1LDYgKzg3Niw4IEBAIGJv
b2wgcGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcoQXJyYXk6OlR5cGUgdHlwZSkKICAgICBjYXNl
IEFycmF5OjpVaW50MzJBcnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDMyQXJyYXk6CiAgICAg
Y2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgorICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6
CisgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgY2FzZSBBcnJheTo6QW55VHlw
ZWRBcnJheToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCmluZGV4IDFjNTYzMmEzMWZiZGUxOTAzNWM1ZDI1
NjM3MzRhNjMwOWI3ZGIwMWQuLjExMTFmODlmOWQ3YjViOTc3NzhjMTZjOGQ1NDY0MGJlYTM3NDQy
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaApAQCAtNzYsNiAr
NzYsOCBAQCBlbnVtIFR5cGUgOiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheSwKICAgICBGbG9h
dDMyQXJyYXksCiAgICAgRmxvYXQ2NEFycmF5LAorICAgIEJpZ0ludDY0QXJyYXksCisgICAgQmln
VWludDY0QXJyYXksCiAgICAgQW55VHlwZWRBcnJheQogfTsKIApAQCAtMzkzLDYgKzM5NSw4IEBA
IGNsYXNzIEFycmF5TW9kZSB7CiAgICAgICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAg
ICAgICBjYXNlIEFycmF5OjpGbG9hdDMyQXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0
NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2Fz
ZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGNhc2UgQXJyYXk6OkludDMyOgogICAgICAgICBjYXNlIEFycmF5OjpEb3VibGU6CkBAIC00
NzcsNiArNDgxLDEwIEBAIGNsYXNzIEFycmF5TW9kZSB7CiAgICAgICAgICAgICByZXR1cm4gRmxv
YXQzMkFycmF5TW9kZTsKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgogICAgICAg
ICAgICAgcmV0dXJuIEZsb2F0NjRBcnJheU1vZGU7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgICAgICByZXR1cm4gQmlnSW50NjRBcnJheU1vZGU7CisgICAgICAg
IGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICAgICAgcmV0dXJuIEJpZ1VpbnQ2
NEFycmF5TW9kZTsKICAgICAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAg
ICAgIHJldHVybiBBTExfVFlQRURfQVJSQVlfTU9ERVM7CiAgICAgICAgIGRlZmF1bHQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDU0ZTM1ZTdjNTY4YTUw
NjE5NmYxM2ZhNTk2NzQ4M2ZlN2FlODQ2MDYuLmU3NjcyM2U3NWRmOWFlOTQ2NDNmYWMwM2I5ZWVi
Mjk4ODRmODlmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CkBAIC05MTQsNiArOTE0LDggQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSog
bm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOgorICAg
ICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdV
aW50NjRBcnJheToKICAgICAgICAgICAgIGNsb2JiZXJUb3AoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIApAQCAtMTA1MSw2ICsxMDUzLDggQEAgdm9pZCBjbG9iYmVyaXplKEdy
YXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdy
aXRlRnUKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEFy
cmF5OjpHZW5lcmljOgorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAg
ICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgICAgIGNsb2JiZXJUb3AoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggYzJhNDVkMDQ4ZDg3N2E0YzdjYThhMTJkZTMy
NTdiM2I1MDg5M2U0My4uMzZmNmJmY2M5OThmMDA4ZjQ0MzYxNTFhZjQwMmIxY2EwMTY1MmZlNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMDUy
LDcgKzEwNTIsMTkgQEAgY2xhc3MgRml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCktPnByZWRpY3Rpb24oKSwK
ICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAxKS0+cHJlZGlj
dGlvbigpLAogICAgICAgICAgICAgICAgICAgICBTcGVjTm9uZSkpOwotICAgICAgICAgICAgCisK
KyAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKSB7CisgICAgICAg
ICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICAgICAgY2FzZSBBcnJheTo6
QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICAgICAgLy8gTWFrZSBpdCBBcnJheTo6R2VuZXJp
Yy4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50
NjRBcnJheSBzdXBwb3J0LgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKKyAgICAgICAgICAgICAgICBub2RlLT5zZXRBcnJh
eU1vZGUoQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub2RlLT5hcnJheU1vZGUoKS5hY3Rpb24o
KSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgYmxlc3NBcnJh
eU9wZXJhdGlvbihtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLCBtX2dyYXBoLnZhckFyZ0No
aWxkKG5vZGUsIDEpLCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDIpKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgQXJyYXlNb2RlIGFycmF5TW9kZSA9IG5vZGUtPmFycmF5TW9kZSgpOwpA
QCAtMTIyMyw2ICsxMjM1LDE4IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMgUGhhc2Ugewog
ICAgICAgICAgICAgICAgICAgICBjaGlsZDEtPnByZWRpY3Rpb24oKSwKICAgICAgICAgICAgICAg
ICAgICAgY2hpbGQyLT5wcmVkaWN0aW9uKCksCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkMy0+
cHJlZGljdGlvbigpKSk7CisKKyAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlNb2RlKCku
dHlwZSgpKSB7CisgICAgICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAg
ICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICAgICAgLy8gTWFr
ZSBpdCBBcnJheTo6R2VuZXJpYy4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIEJpZ0lu
dDY0QXJyYXkgLyBCaWdVaW50NjRBcnJheSBzdXBwb3J0LgorICAgICAgICAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKKyAgICAgICAgICAg
ICAgICBub2RlLT5zZXRBcnJheU1vZGUoQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub2RlLT5h
cnJheU1vZGUoKS5hY3Rpb24oKSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIAogICAgICAgICAgICAgYmxlc3NBcnJheU9wZXJhdGlvbihjaGlsZDEsIGNoaWxkMiwg
bV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAzKSk7CiAgICAgICAgICAgICAKQEAgLTEzNzEsNiAr
MTM5NSw4IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAg
fQogICAgICAgICAgICAgZGVmYXVsdDogewogICAgICAgICAgICAgICAgIC8vIE1ha2UgaXQgQXJy
YXk6OkdlbmVyaWMuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBCaWdJbnQ2NEFycmF5
IC8gQmlnVWludDY0QXJyYXkgc3VwcG9ydC4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMTcyCiAgICAgICAgICAgICAgICAgbm9k
ZS0+c2V0QXJyYXlNb2RlKEFycmF5TW9kZShBcnJheTo6R2VuZXJpYywgbm9kZS0+YXJyYXlNb2Rl
KCkuYWN0aW9uKCkpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IDUyOTZjNjg1
NjQyMThiNGNmN2I4OWRmYjYxNjk3YmZhOTZkMzVlODYuLjUwZGVlOWRiYzJkNDVjNjE3NTI4ZTkw
YmVkOWFjMGMwMDJmZWZhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcApAQCAtMTk0Miw2ICsxOTQyLDM4IEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElP
TihvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9i
CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBl
ZEFycmF5Vmlld1dpdGhBcmd1bWVudHM8SlNGbG9hdDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlLCBlbmNvZGVkVmFsdWUsIDAsIFdURjo6bnVsbG9wdCkpOwogfQogCitKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50NjRBcnJheVdpdGhTaXplLCBjaGFyKiwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQz
Ml90IGxlbmd0aCwgY2hhciogdmVjdG9yKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBERUNMQVJFX0NBTExfRlJBTUUodm0p
OworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgY2Fs
bEZyYW1lKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTQmlnSW50NjRBcnJh
eT4oZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvcik7Cit9CisKK0pT
Q19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdJbnQ2NEFycmF5V2l0aE9uZUFy
Z3VtZW50LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IERFQ0xBUkVf
Q0FMTF9GUkFNRSh2bSk7CisgICAgSklUT3BlcmF0aW9uUHJvbG9ndWVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKHZtLCBjYWxsRnJhbWUpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIq
Pihjb25zdHJ1Y3RHZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTQmlnSW50NjRB
cnJheT4oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGVuY29kZWRWYWx1ZSwgMCwgV1RGOjpudWxs
b3B0KSk7Cit9CisKK0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdVaW50
NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKSkKK3sKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUg
PSBERUNMQVJFX0NBTExfRlJBTUUodm0pOworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcih2bSwgY2FsbEZyYW1lKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJh
eVdpdGhTaXplPEpTQmlnVWludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwg
bGVuZ3RoLCB2ZWN0b3IpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIENhbGxG
cmFtZSogY2FsbEZyYW1lID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRp
b25Qcm9sb2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBlZEFycmF5Vmll
d1dpdGhBcmd1bWVudHM8SlNCaWdVaW50NjRBcnJheT4oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IGVuY29kZWRWYWx1ZSwgMCwgV1RGOjpudWxsb3B0KSk7Cit9CisKIEpTQ19ERUZJTkVfSklUX09Q
RVJBVElPTihvcGVyYXRpb25OZXdBcnJheUl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qIHZtUG9pbnRl
ciwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpKQogewogICAgIFZNJiB2bSA9ICp2bVBvaW50ZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCmluZGV4IDkwOWU1OTE3MWYy
ZWVlZGVkYjI3NTZmMmNiZWQwOGE2Njk3YzBlODcuLjIyMWI0YzQyNzdhZmI4ZjBkZjI5NmM1NTBi
ZjQzZTIyNDAzYTNkZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9u
cy5oCkBAIC0xMzAsNiArMTMwLDEwIEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0
aW9uTmV3RmxvYXQzMkFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplCiBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhPbmVBcmd1bWVu
dCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7
CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhT
aXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciop
KTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0
aE9uZUFyZ3VtZW50LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRW5jb2Rl
ZEpTVmFsdWUpKTsKK0pTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50
NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgaW50
MzJfdCwgY2hhciopKTsKK0pTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3Qmln
SW50NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJh
dGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqLCBpbnQzMl90LCBjaGFyKikpOworSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihv
cGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7CiBKU0NfREVDTEFSRV9KSVRf
T1BFUkFUSU9OKG9wZXJhdGlvbk5ld0FycmF5SXRlcmF0b3IsIEpTQ2VsbCosIChWTSosIFN0cnVj
dHVyZSopKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3TWFwSXRlcmF0
b3IsIEpTQ2VsbCosIChWTSosIFN0cnVjdHVyZSopKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJ
T04ob3BlcmF0aW9uTmV3U2V0SXRlcmF0b3IsIEpTQ2VsbCosIChWTSosIFN0cnVjdHVyZSopKTsK
QEAgLTM2MSw2ICszNjUsMTAgQEAgaW5saW5lIGF1dG8gb3BlcmF0aW9uTmV3VHlwZWRBcnJheVdp
dGhTaXplRm9yVHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKSAtPiBkZWNsdHkKICAgICAgICAgcmV0
dXJuIG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhTaXplOwogICAgIGNhc2UgVHlwZUZsb2F0
NjQ6CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoU2l6ZTsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ0ludDY0
QXJyYXlXaXRoU2l6ZTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVybiBv
cGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhTaXplOwogICAgIGNhc2UgTm90VHlwZWRBcnJh
eToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAgICAgYnJlYWs7CkBAIC0zOTAsNiArMzk4
LDEwIEBAIGlubGluZSBhdXRvIG9wZXJhdGlvbk5ld1R5cGVkQXJyYXlXaXRoT25lQXJndW1lbnRG
b3JUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpIC0+CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25O
ZXdGbG9hdDMyQXJyYXlXaXRoT25lQXJndW1lbnQ7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAg
ICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhPbmVBcmd1bWVudDsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ0ludDY0
QXJyYXlXaXRoT25lQXJndW1lbnQ7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICBy
ZXR1cm4gb3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQ7CiAgICAgY2Fz
ZSBOb3RUeXBlZEFycmF5OgogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggYWIxZmU4YWVjYTEzOWNkYmE4NzQwOGQ3ODFjNThh
MmM5Mjk0MjVmZC4uOTZjMDg2NWM1NjkzMDUxZDI5OTY3ZTRlOGJkNDM3MjgxZmFkMTI5NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTUxNSw2ICs1MTUsMTAgQEAgY2xhc3MgUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgY2FzZSBBcnJh
eTo6SW50MzJBcnJheToKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlv
bihTcGVjSW50MzJPbmx5KTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50
NjRBcnJheToKKyAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihTcGVj
QmlnSW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFBy
ZWRpY3Rpb24oKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA5YTk3NzI4MWNjN2Q4
ZmU3Yjk4NDMyNzg4MTVlYTE0ZDQ2OGZkYmM5Li5iZmVmYjNkMzY3OWY5YjU4YTY5YmY3ZGU2MTU2
NmU4OWFmN2VlYzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTI2NDgsNiArMjY0OCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0
R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAg
ICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVy
aWM6IHsKICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fc2xvd0dldEJ5VmFsLmNvbnRhaW5zKG5v
ZGUpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCku
dXNlS2luZCgpID09IE9iamVjdFVzZSkgewpAQCAtMjk4MCw2ICsyOTgyLDggQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjYXNlIEFycmF5OjpGb3Jj
ZUV4aXQ6CiAgICAgICAgICAgICBERkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkJhZCBh
cnJheSBtb2RlIHR5cGUiKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFycmF5
OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAg
ICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAgICAgICAgREZHX0FTU0VSVChtX2pp
dC5ncmFwaCgpLCBub2RlLCBub2RlLT5vcCgpID09IFB1dEJ5VmFsIHx8IG5vZGUtPm9wKCkgPT0g
UHV0QnlWYWxEaXJlY3QsIG5vZGUtPm9wKCkpOwogCkBAIC0zMjEwLDYgKzMyMTQsOCBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNhc2UgQXJyYXk6
OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6CiAgICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoK
ICAgICAgICAgY2FzZSBBcnJheTo6VW5wcm9maWxlZDoKKyAgICAgICAgY2FzZSBBcnJheTo6Qmln
SW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmlu
ZGV4IGVhMWYzNzIzOWMyODlkZjEyY2NkMzFiZWY0ZjU1OWRiYTdmNjEwNWMuLjFjZjgyOTNhNGQz
NGU3ZDMwZjdhNmZiNzcyZDA3MzdkZGZiYTU2NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTUwNjMsNiArNTA2Myw4IEBAIGNsYXNzIExv
d2VyREZHVG9CMyB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgICAg
IAorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5
OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAg
ICAgICAgaWYgKG1fZ3JhcGgubV9zbG93R2V0QnlWYWwuY29udGFpbnMobV9ub2RlKSkgewogICAg
ICAgICAgICAgICAgIGlmIChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCkudXNlS2luZCgp
ID09IE9iamVjdFVzZSkgewpAQCAtNTM1OCw2ICs1MzYwLDggQEAgY2xhc3MgTG93ZXJERkdUb0Iz
IHsKICAgICAgICAgCiAgICAgICAgIEFycmF5TW9kZSBhcnJheU1vZGUgPSBtX25vZGUtPmFycmF5
TW9kZSgpLm1vZGVGb3JQdXQoKTsKICAgICAgICAgc3dpdGNoIChhcnJheU1vZGUudHlwZSgpKSB7
CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6
OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CiAgICAgICAg
ICAgICBpZiAoY2hpbGQxLnVzZUtpbmQoKSA9PSBDZWxsVXNlKSB7CiAgICAgICAgICAgICAgICAg
Vl9KSVRPcGVyYXRpb25fR0NDSiBvcGVyYXRpb24gPSBudWxscHRyOwpAQCAtNTY0Nyw2ICs1NjUx
LDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNp
bmdQcmVkaWN0aW9uczoKICAgICAgICAgY2FzZSBBcnJheTo6VW5kZWNpZGVkOgogICAgICAgICBj
YXNlIEFycmF5OjpVbnByb2ZpbGVkOgorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5
OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgICAgIERGR19D
UkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgYXJyYXkgdHlwZSIpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggYmNhMThhMjY0MjM5ZWJkMzcwMGRh
NGJiNTRhZGUxOTRiYTQ3MjYxZC4uYTk4YmQ4NmJkNjA3ZTIyYjQ4ZGQwMTJkNmM4NmQ3Nzc3NjQx
OGNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVj
dGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTIyOCw3ICsyMjgsOSBAQCBKU1ZhbHVlIEpTSW5q
ZWN0ZWRTY3JpcHRIb3N0OjpzdWJ0eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogYwogICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU1VpbnQxNkFycmF5
Pih2bSkKICAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNVaW50MzJBcnJheT4odm0p
CiAgICAgICAgICAgICB8fCBvYmplY3QtPmluaGVyaXRzPEpTRmxvYXQzMkFycmF5Pih2bSkKLSAg
ICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNGbG9hdDY0QXJyYXk+KHZtKSkKKyAgICAg
ICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNGbG9hdDY0QXJyYXk+KHZtKQorICAgICAgICAg
ICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0JpZ0ludDY0QXJyYXk+KHZtKQorICAgICAgICAgICAg
fHwgb2JqZWN0LT5pbmhlcml0czxKU0JpZ1VpbnQ2NEFycmF5Pih2bSkpCiAgICAgICAgICAgICBy
ZXR1cm4ganNOb250cml2aWFsU3RyaW5nKHZtLCAiYXJyYXkiX3MpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCAwYmQ5
ZmM2M2FhOThlMGY0OWFmNjllNjA4Nzg0MTc2NTc2NjdhNDNkLi43NjNkNWJkYjY5YjYyMjNlMjY3
NWM4ODdjYTBjOGUyMTkyNGQ5ZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMTQ5Myw4ICsxNDkzLDEwIEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZVB1dEJ5VmFsKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYsIEJ5VmFsSW5m
byogYnlWYWxJbmZvCiAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSB0eXBlZEFycmF5VHlw
ZUZvckpJVEFycmF5TW9kZShhcnJheU1vZGUpOwogICAgICAgICBpZiAoaXNJbnQodHlwZSkpCiAg
ICAgICAgICAgICBzbG93Q2FzZXMgPSBlbWl0SW50VHlwZWRBcnJheVB1dEJ5VmFsKGJ5dGVjb2Rl
LCBiYWRUeXBlLCB0eXBlKTsKLSAgICAgICAgZWxzZSAKKyAgICAgICAgZWxzZSBpZiAoaXNGbG9h
dCh0eXBlKSkKICAgICAgICAgICAgIHNsb3dDYXNlcyA9IGVtaXRGbG9hdFR5cGVkQXJyYXlQdXRC
eVZhbChieXRlY29kZSwgYmFkVHlwZSwgdHlwZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHNsb3dDYXNlcyA9IGp1bXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggNTdiNmMxMzNmOGYyN2QzYmQzMGQ1Y2Ez
OTQxN2NkYzk5MjI1YmMxOC4uYzllNzE3ZjAwY2MyZDg2ZDEyMjg4OTdjYjBmODk3NWVhMzVlYmJl
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC00OTUsNiArNDk1LDEw
IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUFycmF5R2V0QnlWYWwoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ29kCiAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDY0
OgogICAgICAgICAgICAgICAgIGFjY2Vzc1R5cGUgPSBBY2Nlc3NDYXNlOjpJbmRleGVkVHlwZWRB
cnJheUZsb2F0NjRMb2FkOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Cisg
ICAgICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdp
dmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggMjU1MmIy
NjI5MDRkZGVlNjlkMzlkNmQzODFjZTc4NDA3MWY0Nzk1ZC4uMzViODYwOGY5ZjY4OGMyYTcwM2M2
OWYwMTU0MmM5NWY5MGJmZDU2YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtNTU2LDYgKzU1Niw3IEBAIGNvbnN0IEZs
b2F0NjRBcnJheVR5cGUgPSBjb25zdGV4cHIgRmxvYXQ2NEFycmF5VHlwZQogCiBjb25zdCBGaXJz
dFR5cGVkQXJyYXlUeXBlID0gY29uc3RleHByIEZpcnN0VHlwZWRBcnJheVR5cGUKIGNvbnN0IE51
bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXcgPSBjb25zdGV4cHIgTnVtYmVy
T2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdEYXRhVmlldworY29uc3QgTnVtYmVyT2ZUeXBlZEFy
cmF5VHlwZXNFeGNsdWRpbmdCaWdJbnRBcnJheXNBbmREYXRhVmlldyA9IGNvbnN0ZXhwciBOdW1i
ZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3CiAKICMg
VHlwZSBmbGFncyBjb25zdGFudHMuCiBjb25zdCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gY29u
c3RleHByIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKQEAgLTEyMzMsNyArMTIzNCw3IEBAIG1hY3Jv
IGdldEJ5VmFsVHlwZWRBcnJheShiYXNlLCBpbmRleCwgZmluaXNoSW50R2V0QnlWYWwsIGZpbmlz
aERvdWJsZUdldEJ5VmFsLCBzCiAgICAgIyBGaXJzdCBsZXRzIGNoZWNrIGlmIHdlIGV2ZW4gaGF2
ZSBhIHR5cGVkIGFycmF5LiBUaGlzIGxldHMgdXMgZG8gc29tZSBib2lsZXJwbGF0ZSB1cCBmcm9u
dC4KICAgICBsb2FkYiBKU0NlbGw6Om1fdHlwZVtiYXNlXSwgdDIKICAgICBzdWJpIEZpcnN0VHlw
ZWRBcnJheVR5cGUsIHQyCi0gICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhj
bHVkaW5nRGF0YVZpZXcsIHNsb3dQYXRoCisgICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJh
eVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlzQW5kRGF0YVZpZXcsIHNsb3dQYXRoCiAgICAgCiAg
ICAgIyBTd2VldCwgbm93IHdlIGtub3cgdGhhdCB3ZSBoYXZlIGEgdHlwZWQgYXJyYXkuIERvIHNv
bWUgYmFzaWMgdGhpbmdzIG5vdy4KIApAQCAtMTI2MCw2ICsxMjYxLDggQEAgbWFjcm8gZ2V0QnlW
YWxUeXBlZEFycmF5KGJhc2UsIGluZGV4LCBmaW5pc2hJbnRHZXRCeVZhbCwgZmluaXNoRG91Ymxl
R2V0QnlWYWwsIHMKICAgICAjICAgIFVpbnQzMkFycmF5VHlwZSwKICAgICAjICAgIEZsb2F0MzJB
cnJheVR5cGUsCiAgICAgIyAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgICMKKyAgICAjIFlldCwg
d2UgYXJlIG5vdCBzdXBwb3J0aW5nIEJpdEludDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFycmF5Lgog
CiAgICAgYmlhIHQyLCBVaW50MTZBcnJheVR5cGUgLSBGaXJzdFR5cGVkQXJyYXlUeXBlLCAub3BH
ZXRCeVZhbEFib3ZlVWludDE2QXJyYXkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BdG9taWNzT2JqZWN0LmNwcAppbmRleCBmMDdlM2FlYjc1NTJhNDA2YmE0NTZhODQyNTUz
ZjJiZWQxZjBjOGQ1Li4wYWRmYjBkMzU4ZjI4MDcyMDVlYjJhYmY0ZGMxNDczMzAyYjAzZTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcApA
QCAtMTI3LDMwICsxMjcsNiBAQCBzdGF0aWMgdW5zaWduZWQgdmFsaWRhdGVBdG9taWNBY2Nlc3Mo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0FycgogICAgIHJldHVybiBh
Y2Nlc3NJbmRleDsKIH0KIAotc3RhdGljIEpTQXJyYXlCdWZmZXJWaWV3KiB2YWxpZGF0ZVR5cGVk
QXJyYXkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB0eXBlZEFycmF5VmFs
dWUpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLQotICAgIGlmICghdHlwZWRBcnJheVZhbHVlLmlz
Q2VsbCgpKSB7Ci0gICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJB
cmd1bWVudCBuZWVkcyB0byBiZSBhIHR5cGVkIGFycmF5LiJfcyk7Ci0gICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIH0KLQotICAgIEpTQ2VsbCogdHlwZWRBcnJheUNlbGwgPSB0eXBlZEFycmF5
VmFsdWUuYXNDZWxsKCk7Ci0gICAgaWYgKCFpc1R5cGVkVmlldyh0eXBlZEFycmF5Q2VsbC0+Y2xh
c3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkgewotICAgICAgICB0aHJvd1R5cGVF
cnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBh
cnJheS4iX3MpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KLSAgICBKU0FycmF5
QnVmZmVyVmlldyogdHlwZWRBcnJheSA9IGpzQ2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHR5cGVk
QXJyYXlDZWxsKTsKLSAgICBpZiAodHlwZWRBcnJheS0+aXNEZXRhY2hlZCgpKSB7Ci0gICAgICAg
IHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCB0eXBlZCBhcnJh
eSBpcyBkZXRhY2hlZC4iX3MpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAg
cmV0dXJuIHR5cGVkQXJyYXk7Ci19Ci0KIGVudW0gY2xhc3MgVHlwZWRBcnJheU9wZXJhdGlvbk1v
ZGUgeyBSZWFkLCBXcml0ZSB9OwogdGVtcGxhdGU8VHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgbW9k
ZT4KIGlubGluZSBKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVJbnRlZ2VyVHlwZWRBcnJheShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHR5cGVkQXJyYXlWYWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaAppbmRleCA1YThi
ZWY5NGY2MTAxOWU1NjZhOGYwNWY0YzM0NzhkMmRiOWViZTFlLi4xYTZhZDdkZjJlMGIzNjgyZjQy
ODk5N2U4MzU2M2IzZjY3YWQ5MmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BdG9taWNzT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXRvbWljc09iamVjdC5oCkBAIC02Miw1ICs2Miw3IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVS
QVRJT04ob3BlcmF0aW9uQXRvbWljc1N0b3JlLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2Jq
ZWN0CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbkF0b21pY3NTdWIsIEVuY29k
ZWRKU1ZhbHVlLCAoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVk
SlNWYWx1ZSBpbmRleCwgRW5jb2RlZEpTVmFsdWUgb3BlcmFuZCkpOwogSlNDX0RFQ0xBUkVfSklU
X09QRVJBVElPTihvcGVyYXRpb25BdG9taWNzWG9yLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFs
T2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgaW5kZXgsIEVuY29k
ZWRKU1ZhbHVlIG9wZXJhbmQpKTsKIAorSlNBcnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlVHlwZWRB
cnJheShKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYyNmUzYTljNWFhNWQ3YjcyMWE3YTQxZDQ3YTU5MGUxNmI3MzllODIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKQEAg
LTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlND
OjpCaWdJbnQ2NEFycmF5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQmlnVWludDY0QXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1Vp
bnQ2NEFycmF5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUzYzlhZmMyZWI5ZmU5NmJjZGMxYzIzMTBjNGFiZWNi
OTY4MGQzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0JpZ1VpbnQ2NEFycmF5LmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRB
cnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdVaW50NjRBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAppbmRleCAyZjA2ZTYy
YTY2ZmU2NDhjMjEyN2NkNzBiOTk0Y2I3Y2ZjM2M3MWNmLi4xZWFlMGQyY2RmOTJhYzVjOGRhZDI2
YjQ2MGI2NWRlNTIzMTEzZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgRk9SX0VBQ0hf
VFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdfREFUQV9WSUVXKEZBQ1RPUlkpCiBzdGF0aWMgaW5s
aW5lIHNpemVfdCBlbGVtZW50U2l6ZShKU1R5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSA+
PSBJbnQ4QXJyYXlUeXBlICYmIHR5cGUgPD0gRGF0YVZpZXdUeXBlKTsKLSAgICBzdGF0aWNfYXNz
ZXJ0KEZsb2F0NjRBcnJheVR5cGUgKyAxID09IERhdGFWaWV3VHlwZSk7CisgICAgc3RhdGljX2Fz
c2VydChCaWdVaW50NjRBcnJheVR5cGUgKyAxID09IERhdGFWaWV3VHlwZSk7CiAgICAgcmV0dXJu
IEVsZW1lbnRTaXplRGF0YVt0eXBlIC0gSW50OEFycmF5VHlwZV07CiB9CiAKQEAgLTM0MCw2ICsz
NDAsMzAgQEAgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4gSlNBcnJheUJ1ZmZlclZpZXc6OnBvc3Np
Ymx5U2hhcmVkSW1wbCgpCiAgICAgfQogfQogCitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVU
eXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdHlwZWRBcnJh
eVZhbHVlKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBpZiAoIXR5cGVkQXJyYXlWYWx1
ZS5pc0NlbGwoKSkgeworICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3Bl
LCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBhcnJheS4iX3MpOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBKU0NlbGwqIHR5cGVkQXJyYXlDZWxsID0gdHlwZWRB
cnJheVZhbHVlLmFzQ2VsbCgpOworICAgIGlmICghaXNUeXBlZFZpZXcodHlwZWRBcnJheUNlbGwt
PmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpIHsKKyAgICAgICAgdGhyb3dU
eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdHlw
ZWQgYXJyYXkuIl9zKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgSlNB
cnJheUJ1ZmZlclZpZXcqIHR5cGVkQXJyYXkgPSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih0
eXBlZEFycmF5Q2VsbCk7CisgICAgaWYgKHR5cGVkQXJyYXktPmlzRGV0YWNoZWQoKSkgeworICAg
ICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgdHlwZWQg
YXJyYXkgaXMgZGV0YWNoZWQuIl9zKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQor
ICAgIHJldHVybiB0eXBlZEFycmF5OworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNw
YWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5QnVmZmVyVmlldy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlclZpZXcuaAppbmRleCBkNjg0ODcwZTc3Zjg2NWY4OTE4ODhlNWQ5ZTMxNzFmMTQ5ZWJkNDU1
Li5mNjEzNDU4ZDFmYjIzYTJmMDkyODBiNzI2MDQ5YTRiNThmMGIwNmQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTIyNCw2
ICsyMjQsOCBAQCBjbGFzcyBKU0FycmF5QnVmZmVyVmlldyA6IHB1YmxpYyBKU05vbkZpbmFsT2Jq
ZWN0IHsKICAgICBUeXBlZEFycmF5TW9kZSBtX21vZGU7CiB9OwogCitKU0FycmF5QnVmZmVyVmll
dyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0JpZ0ludC5oCmluZGV4IDJjNDE2Yzg3Mzg2YjgyNjI2NTE3NTU1YTkzMDQzNTk5MDNh
OTU3Y2UuLmI4OGQ1MDZhMGU1MTUwMDQ2YTVkZjZlNmJmZGM1YmZiZjJjNDk1MmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaApAQCAtNzIsNyArNzIsNyBAQCBjbGFz
cyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0dsb2JhbE9iamVjdCosIGludDMyX3QgdmFs
dWUpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogdHJ5Q3JlYXRlRnJvbShWTSYsIGludDMyX3QgdmFs
dWUpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0dsb2JhbE9iamVjdCosIHVp
bnQzMl90IHZhbHVlKTsKLSAgICBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxP
YmplY3QqLCBpbnQ2NF90IHZhbHVlKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNC
aWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxPYmplY3QqLCBpbnQ2NF90IHZhbHVlKTsKICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxPYmpl
Y3QqLCB1aW50NjRfdCB2YWx1ZSk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKEpT
R2xvYmFsT2JqZWN0KiwgYm9vbCB2YWx1ZSk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVG
cm9tKEpTR2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKTsKQEAgLTEwMiw2ICsxMDIsMTUgQEAg
Y2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIEpT
QmlnSW50OjpjcmVhdGVGcm9tKGdsb2JhbE9iamVjdCwgdmFsdWUpOwogICAgIH0KIAorICAgIHN0
YXRpYyBKU1ZhbHVlIG1ha2VIZWFwQmlnSW50T3JCaWdJbnQzMihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCB1aW50NjRfdCB2YWx1ZSkKKyAgICB7CisjaWYgVVNFKEJJR0lOVDMyKQorICAg
ICAgICBpZiAodmFsdWUgPD0gSU5UX01BWCkKKyAgICAgICAgICAgIHJldHVybiBqc0JpZ0ludDMy
KHN0YXRpY19jYXN0PGludDMyX3Q+KHZhbHVlKSk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIEpT
QmlnSW50OjpjcmVhdGVGcm9tKGdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgIH0KKwogICAgIHN0
YXRpYyBKU1ZhbHVlIG1ha2VIZWFwQmlnSW50T3JCaWdJbnQzMihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBkb3VibGUgdmFsdWUpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNJbnRlZ2Vy
KHZhbHVlKSk7CkBAIC00MzAsNyArNDM5LDcgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHRvQmlnVUludDY0SGVhcChiaWdJbnQuYXNIZWFw
QmlnSW50KCkpOwogICAgIH0KIAotICAgIHN0YXRpYyB1aW50NjRfdCB0b0JpZ0ludDY0KEpTVmFs
dWUgYmlnSW50KQorICAgIHN0YXRpYyBpbnQ2NF90IHRvQmlnSW50NjQoSlNWYWx1ZSBiaWdJbnQp
CiAgICAgewogICAgICAgICBBU1NFUlQoYmlnSW50LmlzQmlnSW50KCkpOwogI2lmIFVTRShCSUdJ
TlQzMikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXggYTYwYmMwMzZm
MjgyMzAwYjk2ZDNhZWQ3MDJkNGNmNTVjODk4NGQ1NS4uNDhmNjU4MTI0ZjVhNzU5NWFjNTMwY2Qy
YWU5MGM1Zjg2NDhlNDk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgK
QEAgLTIzMyw3ICsyMzMsNyBAQCBjbGFzcyBKU0NlbGwgOiBwdWJsaWMgSGVhcENlbGwgewogICAg
ICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTQ2VsbCwgbV9jZWxsU3RhdGUpOwogICAgIH0K
ICAgICAKLSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VU
eXBlID0gTm90VHlwZWRBcnJheTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBl
IFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IE5vdFR5cGVkQXJyYXk7CiAKICAgICB2b2lkIHNldFBl
ckNlbGxCaXQoYm9vbCk7CiAgICAgYm9vbCBwZXJDZWxsQml0KCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmgKaW5kZXggNWRhYTYyNjNhOTUwNzlmNzMx
ZDk1OGFjMjMxZDA4NTA5ZmU2ZmM5NS4uMmM3ODVlNDc2MTFhOWUzZjIyOGRlMjhiOGFlNjA4YjVl
NzZjMmZjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRh
Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaApA
QCAtMzcsNiArMzcsOCBAQCBjbGFzcyBKU0RhdGFWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlC
dWZmZXJWaWV3IHsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgZWxlbWVudFNpemUg
PSAxOwogCisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVu
dFR5cGUgPSBUeXBlZEFycmF5Q29udGVudFR5cGU6Ok5vbmU7CisKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KICAgICBzdGF0aWMgSXNvU3Vic3Bh
Y2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKICAgICB7CkBAIC02NCw3ICs2Niw3IEBAIGNsYXNzIEpT
RGF0YVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgIFJlZlB0cjxE
YXRhVmlldz4gcG9zc2libHlTaGFyZWRUeXBlZEltcGwoKTsKICAgICBSZWZQdHI8RGF0YVZpZXc+
IHVuc2hhcmVkVHlwZWRJbXBsKCk7CiAgICAgCi0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlU
eXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmlldzsKKyAgICBzdGF0aWMgY29u
c3RleHByIFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmll
dzsKIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcAppbmRleCBmNzM0ZjU2
Yjg3YjcyZWRjYWEyOWU3OTM4NTAyYjAwMDY2YzUzZDM4Li5jNzNhODY3ZTNlNjA2MTY0OTZjYTFl
NzllYjVhYjhjYTZlZjIxYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcApAQCAtNDUsNiArNDUsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgZ2V0VWludDMyICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jR2V0VWlu
dDMyICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAxICBEYXRhVmlld0dldFVpbnQz
MgogICBnZXRGbG9hdDMyICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRGbG9hdDMyICAg
ICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEgIERhdGFWaWV3R2V0RmxvYXQzMgogICBn
ZXRGbG9hdDY0ICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRGbG9hdDY0ICAgICAgICAg
IERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEgIERhdGFWaWV3R2V0RmxvYXQ2NAorICBnZXRCaWdJ
bnQ2NCAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCAgICAgICAgIERvbnRF
bnVtfEZ1bmN0aW9uICAgICAgIDEKKyAgZ2V0QmlnVWludDY0ICAgICAgICAgIGRhdGFWaWV3UHJv
dG9GdW5jR2V0QmlnVWludDY0ICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAxCiAgIHNl
dEludDggICAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldEludDggICAgICAgICAgICAg
RG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRJbnQ4CiAgIHNldFVpbnQ4ICAg
ICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldFVpbnQ4ICAgICAgICAgICAgRG9udEVudW18
RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRVaW50OAogICBzZXRJbnQxNiAgICAgICAgICAg
ICAgZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQxNiAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9u
ICAgICAgIDIgIERhdGFWaWV3U2V0SW50MTYKQEAgLTUzLDYgKzU1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgIHNldFVpbnQzMiAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldFVpbnQzMiAg
ICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRVaW50MzIKICAg
c2V0RmxvYXQzMiAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQzMiAgICAgICAg
ICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldEZsb2F0MzIKICAgc2V0Rmxv
YXQ2NCAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCAgICAgICAgICBEb250
RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldEZsb2F0NjQKKyAgc2V0QmlnSW50NjQg
ICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0QmlnSW50NjQgICAgICAgICBEb250RW51bXxG
dW5jdGlvbiAgICAgICAyCisgIHNldEJpZ1VpbnQ2NCAgICAgICAgICBkYXRhVmlld1Byb3RvRnVu
Y1NldEJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMgogICBidWZmZXIg
ICAgICAgICAgICAgICAgZGF0YVZpZXdQcm90b0dldHRlckJ1ZmZlciAgICAgICAgICAgIERvbnRF
bnVtfEFjY2Vzc29yICAgICAgIDAKICAgYnl0ZUxlbmd0aCAgICAgICAgICAgIGRhdGFWaWV3UHJv
dG9HZXR0ZXJCeXRlTGVuZ3RoICAgICAgICBEb250RW51bXxBY2Nlc3NvciAgICAgICAwCiAgIGJ5
dGVPZmZzZXQgICAgICAgICAgICBkYXRhVmlld1Byb3RvR2V0dGVyQnl0ZU9mZnNldCAgICAgICAg
RG9udEVudW18QWNjZXNzb3IgICAgICAgMApAQCAtNjcsNiArNzEsOCBAQCBzdGF0aWMgSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldFVpbnQxNik7CiBzdGF0aWMg
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldFVpbnQzMik7CiBz
dGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0
MzIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNH
ZXRGbG9hdDY0KTsKK3N0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJv
dG9GdW5jR2V0QmlnSW50NjQpOworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0
YVZpZXdQcm90b0Z1bmNHZXRCaWdVaW50NjQpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQ4KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0SW50MTYpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQzMik7CkBAIC03NSw2ICs4MSw4
IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0
VWludDE2KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9G
dW5jU2V0VWludDMyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3
UHJvdG9GdW5jU2V0RmxvYXQzMik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihk
YXRhVmlld1Byb3RvRnVuY1NldEZsb2F0NjQpOworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdJbnQ2NCk7CitzdGF0aWMgSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJpZ1VpbnQ2NCk7CiBzdGF0aWMgSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvR2V0dGVyQnVmZmVyKTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9HZXR0ZXJCeXRlTGVuZ3Ro
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9HZXR0ZXJC
eXRlT2Zmc2V0KTsKQEAgLTE2MSw3ICsxNjksNyBAQCBFbmNvZGVkSlNWYWx1ZSBnZXREYXRhKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgICAg
ICAgICAgdS5yYXdCeXRlc1tpXSA9ICpkYXRhUHRyKys7CiAgICAgfQogCi0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShBZGFwdG9yOjp0b0pTVmFsdWUodS52YWx1ZSkpOworICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEFkYXB0b3I6OnRvSlNWYWx1ZShnbG9i
YWxPYmplY3QsIHUudmFsdWUpKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CkBA
IC0yOTUsNiArMzAzLDE2IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY0dldEZsb2F0NjQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqCiAgICAgcmV0dXJuIGdl
dERhdGE8RmxvYXQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKIH0KIAorSlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0QmlnSW50NjQsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAg
cmV0dXJuIGdldERhdGE8QmlnSW50NjRBZGFwdG9yPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7
Cit9CisKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEJpZ1Vp
bnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KSkKK3sKKyAgICByZXR1cm4gZ2V0RGF0YTxCaWdVaW50NjRBZGFwdG9yPihnbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSk7Cit9CisKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY1NldEludDgsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkpCiB7CiAgICAgcmV0dXJuIHNldERhdGE8SW50OEFkYXB0b3I+KGdsb2JhbE9iamVj
dCwgY2FsbEZyYW1lKTsKQEAgLTMzNCw2ICszNTIsMTYgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmoKIHsKICAgICByZXR1cm4gc2V0RGF0YTxGbG9hdDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBj
YWxsRnJhbWUpOwogfQorCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1
bmNTZXRCaWdJbnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSog
Y2FsbEZyYW1lKSkKK3sKKyAgICByZXR1cm4gc2V0RGF0YTxCaWdJbnQ2NEFkYXB0b3I+KGdsb2Jh
bE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKworSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFW
aWV3UHJvdG9GdW5jU2V0QmlnVWludDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBzZXREYXRhPEJpZ1VpbnQ2NEFk
YXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KIElHTk9SRV9DTEFOR19XQVJOSU5H
U19FTkQKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAppbmRleCA3NGY4OWFhOGE0
ZGM5NGRmYzRlNDdkZWVlODAwZTIzMzMzNWZjYWFjLi5kZTZjOTdiNzJkNjczY2NkMjA2NjAxZTAy
NDBkYjU3ZmU4MWNmMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKQEAgLTQwLDYgKzQwLDggQEAgSlNfRVhQ
T1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRVaW50MTZBcnJheUNsYXNzSW5mbygpOwog
SlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRVaW50MzJBcnJheUNsYXNzSW5m
bygpOwogSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRGbG9hdDMyQXJyYXlD
bGFzc0luZm8oKTsKIEpTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0RmxvYXQ2
NEFycmF5Q2xhc3NJbmZvKCk7CitKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdl
dEJpZ0ludDY0QXJyYXlDbGFzc0luZm8oKTsKK0pTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNz
SW5mbyogZ2V0QmlnVWludDY0QXJyYXlDbGFzc0luZm8oKTsKIAogLy8gQSB0eXBlZCBhcnJheSB2
aWV3IGlzIG91ciByZXByZXNlbnRhdGlvbiBvZiBhIHR5cGVkIGFycmF5IG9iamVjdCBhcyBzZWVu
CiAvLyBmcm9tIEphdmFTY3JpcHQuIEZvciBleGFtcGxlOgpAQCAtNzksNyArODEsNiBAQCBKU19F
WFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdldEZsb2F0NjRBcnJheUNsYXNzSW5mbygp
OwogLy8gICAgIHN0YXRpYyBpbnQ4X3QgdG9OYXRpdmVGcm9tVWludDMyKHVpbnQzMl90KTsKIC8v
ICAgICBzdGF0aWMgaW50OF90IHRvTmF0aXZlRnJvbURvdWJsZShkb3VibGUpOwogLy8gICAgIHN0
YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShpbnQ4X3QpOwotLy8gICAgIHN0YXRpYyBkb3VibGUgdG9E
b3VibGUoaW50OF90KTsKIC8vICAgICB0ZW1wbGF0ZTxUPiBzdGF0aWMgVDo6VHlwZSBjb252ZXJ0
VG8odWludDhfdCk7CiAvLyB9OwogCkBAIC05MCwxMSArOTEsMTMgQEAgZW51bSBjbGFzcyBDb3B5
VHlwZSB7CiAKIGV4dGVybiBjb25zdCBBU0NJSUxpdGVyYWwgdHlwZWRBcnJheUJ1ZmZlckhhc0Jl
ZW5EZXRhY2hlZEVycm9yTWVzc2FnZTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KK3Rl
bXBsYXRlPHR5cGVuYW1lIFBhc3NlZEFkYXB0b3I+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiBwdWJsaWM6CiAgICAgdXNp
bmcgQmFzZSA9IEpTQXJyYXlCdWZmZXJWaWV3OwotICAgIHR5cGVkZWYgdHlwZW5hbWUgQWRhcHRv
cjo6VHlwZSBFbGVtZW50VHlwZTsKKyAgICB1c2luZyBBZGFwdG9yID0gUGFzc2VkQWRhcHRvcjsK
KyAgICB1c2luZyBFbGVtZW50VHlwZSA9IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGU7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5cGUgPSBBZGFwdG9y
Ojpjb250ZW50VHlwZTsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5TmFtZXMgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvOwogCkBAIC0xMTksMTUgKzEyMiwy
MCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5
QnVmZmVyVmlldyB7CiAgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8dHlwZW5hbWUgQWRhcHRv
cjo6VHlwZSo+KHZlY3RvcigpKTsKICAgICB9CiAKKyAgICBib29sIGluQm91bmRzKHVuc2lnbmVk
IGkpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgIH0KKwog
ICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIG1lYW50IHRvIG1hdGNoIGluZGV4ZWQgYWNjZXNzIG1l
dGhvZHMgdGhhdCBKU09iamVjdAogICAgIC8vIHN1cHBvcnRzIC0gaGVuY2UgdGhlIHNsaWdodCBy
ZWR1bmRhbmN5LgogICAgIGJvb2wgY2FuR2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0
CiAgICAgewotICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgICAgICByZXR1cm4gaW5C
b3VuZHMoaSkgJiYgQWRhcHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICBi
b29sIGNhblNldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlKSBjb25zdAog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGkgPCBtX2xlbmd0aCAmJiB2YWx1ZS5pc051bWJlcigpOwor
ICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoICYmIHZhbHVlLmlzTnVtYmVyKCkgJiYgQWRhcHRv
cjo6Y2FuQ29udmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICAKICAgICB0eXBlbmFtZSBBZGFw
dG9yOjpUeXBlIGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUodW5zaWduZWQgaSkgY29uc3QK
QEAgLTEzNiwxNCArMTQ0LDkgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwg
OiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICByZXR1cm4gdHlwZWRWZWN0b3Io
KVtpXTsKICAgICB9CiAgICAgCi0gICAgZG91YmxlIGdldEluZGV4UXVpY2tseUFzRG91YmxlKHVu
c2lnbmVkIGkpCi0gICAgewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9Eb3VibGUoZ2V0SW5k
ZXhRdWlja2x5QXNOYXRpdmVWYWx1ZShpKSk7Ci0gICAgfQotICAgIAogICAgIEpTVmFsdWUgZ2V0
SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gQWRh
cHRvcjo6dG9KU1ZhbHVlKGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOworICAgICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9KU1ZhbHVlKG51bGxwdHIsIGdldEluZGV4UXVpY2tseUFzTmF0
aXZlVmFsdWUoaSkpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNldEluZGV4UXVpY2tseVRvTmF0
aXZlVmFsdWUodW5zaWduZWQgaSwgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB2YWx1ZSkKQEAgLTE1
MiwxMSArMTU1LDYgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJs
aWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICB0eXBlZFZlY3RvcigpW2ldID0gdmFsdWU7
CiAgICAgfQogICAgIAotICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5VG9Eb3VibGUodW5zaWduZWQg
aSwgZG91YmxlIHZhbHVlKQotICAgIHsKLSAgICAgICAgc2V0SW5kZXhRdWlja2x5VG9OYXRpdmVW
YWx1ZShpLCB0b05hdGl2ZUZyb21WYWx1ZTxBZGFwdG9yPihqc051bWJlcih2YWx1ZSkpKTsKLSAg
ICB9Ci0gICAgCiAgICAgdm9pZCBzZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSwgSlNWYWx1ZSB2
YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVCghdmFsdWUuaXNPYmplY3QoKSk7CkBAIC0yNDcs
NiArMjQ1LDEwIEBAIGNsYXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGlj
IEpTQXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDMyQXJyYXlD
bGFzc0luZm8oKTsKICAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgICAgIHJldHVy
biBnZXRGbG9hdDY0QXJyYXlDbGFzc0luZm8oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6
CisgICAgICAgICAgICByZXR1cm4gZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOworICAgICAg
ICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICByZXR1cm4gZ2V0QmlnVWludDY0QXJy
YXlDbGFzc0luZm8oKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI3NSw2
ICsyNzcsMTAgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMg
SlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICAgICAgcmV0dXJuIHZtLmZsb2F0MzJBcnJheVNw
YWNlPG1vZGU+KCk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1
cm4gdm0uZmxvYXQ2NEFycmF5U3BhY2U8bW9kZT4oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgICAgICByZXR1cm4gdm0uYmlnSW50NjRBcnJheVNwYWNlPG1vZGU+KCk7Cisg
ICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiB2bS5iaWdVaW50
NjRBcnJheVNwYWNlPG1vZGU+KCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBA
IC0yODMsNyArMjg5LDcgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBw
dWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgIAogICAgIEFycmF5QnVmZmVyKiBleGlzdGlu
Z0J1ZmZlcigpOwogCi0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlT
dG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5
cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsK
IAogICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgRE9NIHVud3JhcHBpbmcuIEl0IGNhbGxzIHRv
VW5zaGFyZWROYXRpdmVUeXBlZFZpZXcoKS4KICAgICBzdGF0aWMgUmVmUHRyPHR5cGVuYW1lIEFk
YXB0b3I6OlZpZXdUeXBlPiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IuaAppbmRleCA1ZjQ1YTYxZTNlMjBlYmE0ZjZkNTY4YTVhNTUzMDhh
ZGEyZGMyYWVjLi42OTIyNWU1MGUxNGM1NGU5YmJhN2Y0ZGE2MjM0NTY4NzcwNDQzYmJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5
Vmlld0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw4IEBAIEpTX0VY
UE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQxNkFycmF5KTsK
IEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQzMkFy
cmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbEZs
b2F0MzJBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGNhbGxGbG9hdDY0QXJyYXkpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9G
VU5DVElPTihjYWxsQmlnSW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFS
RV9IT1NUX0ZVTkNUSU9OKGNhbGxCaWdVaW50NjRBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBK
U0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNhbGxEYXRhVmlldyk7CiAKIEpTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0SW50OEFycmF5KTsKQEAgLTQ5
LDYgKzUxLDggQEAgSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihj
b25zdHJ1Y3RVaW50MTZBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGNvbnN0cnVjdFVpbnQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RmxvYXQzMkFycmF5KTsKIEpTX0VYUE9SVF9Q
UklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RmxvYXQ2NEFycmF5KTsK
K0pTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0Qmln
SW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGNvbnN0cnVjdEJpZ1VpbnQ2NEFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RGF0YVZpZXcpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBW
aWV3Q2xhc3M+CkBAIC04Nyw2ICs5MSwxMCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgICAgICAg
ICAgcmV0dXJuIGNhbGxGbG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAg
ICAgICAgICAgICByZXR1cm4gY2FsbEZsb2F0NjRBcnJheTsKKyAgICAgICAgY2FzZSBUeXBlQmln
SW50NjQ6CisgICAgICAgICAgICByZXR1cm4gY2FsbEJpZ0ludDY0QXJyYXk7CisgICAgICAgIGNh
c2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjYWxsQmlnVWludDY0QXJyYXk7
CiAgICAgICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICAgICAgcmV0dXJuIGNhbGxEYXRh
VmlldzsKICAgICAgICAgZGVmYXVsdDoKQEAgLTExNiw2ICsxMjQsMTAgQEAgY2xhc3MgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0
aW9uIHsKICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RGbG9hdDMyQXJyYXk7CiAgICAgICAg
IGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0RmxvYXQ2NEFy
cmF5OworICAgICAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjb25z
dHJ1Y3RCaWdJbnQ2NEFycmF5OworICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAg
ICAgICByZXR1cm4gY29uc3RydWN0QmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZURh
dGFWaWV3OgogICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGFWaWV3OwogICAgICAgICBk
ZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgK
aW5kZXggYTA5ZTMyYTZmZWZmZDJkODE2YWRmMGZjYTA5MzliODI1NzZiMWE2NC4uNzg2NTUyYTJi
ODYwOTcyYjZkZmM3NzUyY2IxMDgxNWYzNzcyYWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFy
cmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oCkBAIC0xOTMsNiArMTkzLDExIEBAIGlubGluZSBK
U09iamVjdCogY29uc3RydWN0R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyhKU0ds
b2JhbE9iamVjdCogZ2xvCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAg
ICAgICB9CiAKKyAgICAgICAgICAgIGlmIChjb250ZW50VHlwZShvYmplY3QtPmNsYXNzSW5mbyh2
bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkgewor
ICAgICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250
ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgbmV3IHR5cGVkIGFycmF5IGFyZSBkaWZmZXJlbnQiX3Mp
OworICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgfQorCiAgICAg
ICAgICAgICBsZW5ndGggPSB2aWV3LT5sZW5ndGgoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIC8vIFRoaXMgZ2V0UHJvcGVydHlTbG90IG9wZXJhdGlvbiBzaG91bGQgbm90IGJlIG9i
c2VydmVkIGJ5IHRoZSBQcm94eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKaW5kZXggM2Nk
YTYzN2VlZjc3ZWFmODk1NjFmNzYwZmQ2NmIwZjMxODI3NzYyYS4uNmEyMTVlNWQxNzEzZGNlZTY3
Mzk0YjM0YTRhZjA1N2E5MmRkZDBjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKQEAg
LTE2Miw2ICsxNjIsOSBAQCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+Ojpz
ZXRXaXRoU3BlY2lmaWNUeXBlKAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVu
c2lnbmVkIG9mZnNldCwgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8T3RoZXJBZGFwdG9yPiogb3Ro
ZXIsCiAgICAgdW5zaWduZWQgb3RoZXJPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCwgQ29weVR5cGUg
dHlwZSkKIHsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCiAgICAgLy8gSGFuZGxlIHRoZSBoaWxhcmlv
dXMgY2FzZTogdGhlIGFjdCBvZiBnZXR0aW5nIHRoZSBsZW5ndGggY291bGQgaGF2ZSByZXN1bHRl
ZAogICAgIC8vIGluIGRldGFjaGluZy4gV2VsbCwgbm8uIFRoYXQnbGwgbmV2ZXIgaGFwcGVuIGJl
Y2F1c2UgdGhlcmUgY2Fubm90IGJlCiAgICAgLy8gc2lkZS1lZmZlY3RzIG9uIGdldHRpbmcgdGhl
IGxlbmd0aCBvZiBhIHR5cGVkIGFycmF5LiBCdXQgcHJlZGljdGluZyB3aGVyZSB0aGVyZQpAQCAt
MTcxLDggKzE3NCwxNSBAQCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+Ojpz
ZXRXaXRoU3BlY2lmaWNUeXBlKAogICAgIGxlbmd0aCA9IHN0ZDo6bWluKGxlbmd0aCwgb3RoZXIt
Pmxlbmd0aCgpKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKG90aGVyLT5jYW5BY2Nlc3NSYW5nZVF1
aWNrbHkob3RoZXJPZmZzZXQsIGxlbmd0aCkpOwotICAgIGlmICghdmFsaWRhdGVSYW5nZShnbG9i
YWxPYmplY3QsIG9mZnNldCwgbGVuZ3RoKSkKKyAgICBib29sIHN1Y2Nlc3MgPSB2YWxpZGF0ZVJh
bmdlKGdsb2JhbE9iamVjdCwgb2Zmc2V0LCBsZW5ndGgpOworICAgIEVYQ0VQVElPTl9BU1NFUlQo
IXNjb3BlLmV4Y2VwdGlvbigpID09IHN1Y2Nlc3MpOworICAgIGlmICghc3VjY2VzcykKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgY29uc3RleHByIChBZGFwdG9yOjpjb250ZW50VHlw
ZSAhPSBPdGhlckFkYXB0b3I6OmNvbnRlbnRUeXBlKSB7CisgICAgICAgIHRocm93VHlwZUVycm9y
KGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgZGVzdGlu
YXRpb24gdHlwZWQgYXJyYXlzIGFyZSBkaWZmZXJlbnQiX3MpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQogICAgIAogICAgIC8vIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBjb3B5
aW5nIGJldHdlZW4gdGhlIHNhbWUgYXJyYXkuIE5vdGUgdGhhdAogICAgIC8vIHNldCgpIHdpbGwg
b25seSBjYWxsIHRoaXMgaWYgdGhlIHR5cGVzIGRpZmZlciwgd2hpY2ggaW1wbGljaXRseSBndWFy
YW50ZWVzCkBAIC0yODksNiArMjk5LDEyIEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8
QWRhcHRvcj46OnNldCgKICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIHNldFdpdGhTcGVjaWZpY1R5cGU8RmxvYXQ2NEFkYXB0b3I+KAogICAg
ICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0Zsb2F0NjRBcnJheSo+KG9i
amVjdCksIG9iamVjdE9mZnNldCwgbGVuZ3RoLCB0eXBlKSk7CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgc2V0V2l0aFNwZWNpZmljVHlw
ZTxCaWdJbnQ2NEFkYXB0b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpz
Q2FzdDxKU0JpZ0ludDY0QXJyYXkqPihvYmplY3QpLCBvYmplY3RPZmZzZXQsIGxlbmd0aCwgdHlw
ZSkpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHNjb3BlLCBzZXRXaXRoU3BlY2lmaWNUeXBlPEJpZ1VpbnQ2NEFkYXB0b3I+KAorICAgICAgICAg
ICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ1VpbnQ2NEFycmF5Kj4ob2JqZWN0
KSwgb2JqZWN0T2Zmc2V0LCBsZW5ndGgsIHR5cGUpKTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6
CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6IHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gdmFsaWRh
dGVSYW5nZShnbG9iYWxPYmplY3QsIG9mZnNldCwgbGVuZ3RoKTsKQEAgLTQzMywxNCArNDQ5LDI0
IEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmRlbGV0ZVByb3BlcnR5
KAogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldzxBZGFwdG9yPjo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCgKLSAgICBKU09iamVjdCog
b2JqZWN0LCBKU0dsb2JhbE9iamVjdCosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KQorICAgIEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogeworICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNHZW5lcmljVHlwZWRBcnJheVZpZXcqPihvYmplY3QpOwogCi0gICAgaWYgKHRo
aXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+Y2FuR2V0SW5kZXhRdWlja2x5
KHByb3BlcnR5TmFtZSkpCisgICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhp
c09iamVjdC0+aW5Cb3VuZHMocHJvcGVydHlOYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJv
cGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJvcGVy
dHlOYW1lKSk7CisgICAgSlNWYWx1ZSB2YWx1ZTsKKyAgICBpZiBjb25zdGV4cHIgKEFkYXB0b3I6
OmNhbkNvbnZlcnRUb0pTUXVpY2tseSkKKyAgICAgICAgdmFsdWUgPSB0aGlzT2JqZWN0LT5nZXRJ
bmRleFF1aWNrbHkocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBuYXRp
dmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUocHJvcGVy
dHlOYW1lKTsKKyAgICAgICAgdmFsdWUgPSBBZGFwdG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0
LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNl
KTsKKyAgICB9CisgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB2YWx1ZSk7CiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCmlu
ZGV4IDJlMGE3ODIwMTc3Yzg0NmRiNDc3MjQwYjE2NjU5NTkzYjQwNGI5MWUuLjhjOTQxMjkzOTdl
OGFiYTQxNDA3MmViN2E5YjAwOGFlYzQ2MjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25z
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaApAQCAtMjcyLDExICsyNzIsMTkgQEAgQUxXQVlTX0lO
TElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKFZN
JiB2bSwgSlNHbG9iYWwKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqZWN0LT5sZW5ndGgo
KTsKICAgICBhdXRvIGpvaW5XaXRoU2VwYXJhdG9yID0gWyZdIChTdHJpbmdWaWV3IHNlcGFyYXRv
cikgLT4gRW5jb2RlZEpTVmFsdWUgewogICAgICAgICBKU1N0cmluZ0pvaW5lciBqb2luZXIoZ2xv
YmFsT2JqZWN0LCBzZXBhcmF0b3IsIGxlbmd0aCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSkgewog
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAg
ICAgICAgICAgICAgam9pbmVyLmFwcGVuZChnbG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPmdldElu
ZGV4UXVpY2tseShpKSk7Ci0gICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKKyAg
ICAgICAgICAgICAgICBpZiBjb25zdGV4cHIgKFZpZXdDbGFzczo6QWRhcHRvcjo6Y2FuQ29udmVy
dFRvSlNRdWlja2x5KQorICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXNPYmplY3QtPmdl
dEluZGV4UXVpY2tseShpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0
aXZlVmFsdWUoaSk7CisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gVmlld0NsYXNzOjpBZGFw
dG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7Cisg
ICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykKQEAgLTI5MiwxMCArMzAwLDEwIEBAIEFMV0FZU19JTkxJTkUgRW5j
b2RlZEpTVmFsdWUgZ2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9pbihWTSYgdm0sIEpT
R2xvYmFsCiAgICAgfQogCiAgICAgSlNTdHJpbmcqIHNlcGFyYXRvclN0cmluZyA9IHNlcGFyYXRv
clZhbHVlLnRvU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKIAogICAgIGF1dG8gdmlld1dpdGhTdHJpbmcgPSBzZXBhcmF0b3JTdHJpbmctPnZpZXdX
aXRoVW5kZXJseWluZ1N0cmluZyhnbG9iYWxPYmplY3QpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIHsgfSk7CiAgICAgcmV0dXJuIGpvaW5XaXRoU2VwYXJhdG9yKHZpZXdXaXRoU3RyaW5nLnZp
ZXcpOwogfQogCkBAIC00NTQsNiArNDYyLDExIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFs
dWUgZ2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jU2xpY2UoVk0mIHZtLCBKU0dsb2JhCiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgQVNT
RVJUKCFyZXN1bHQtPmlzRGV0YWNoZWQoKSk7CiAKKyAgICAvLyBodHRwczovL3RjMzkuZXMvZWNt
YTI2Mi8jdHlwZWRhcnJheS1zcGVjaWVzLWNyZWF0ZQorICAgIC8vIElmIHJlc3VsdC5bW0NvbnRl
bnRUeXBlXV0g4omgIGV4ZW1wbGFyLltbQ29udGVudFR5cGVdXSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgIGlmIChjb250ZW50VHlwZShyZXN1bHQtPmNsYXNzSW5mbyh2bSktPnR5
cGVkQXJyYXlTdG9yYWdlVHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkKKyAgICAgICAg
cmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkNvbnRlbnQgdHlw
ZXMgb2Ygc291cmNlIGFuZCBjcmVhdGVkIHR5cGVkIGFycmF5cyBhcmUgZGlmZmVyZW50Il9zKTsK
KwogICAgIC8vIFdlIHJldHVybiBlYXJseSBoZXJlIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIGEg
YmFja2luZyBzdG9yZSBpZiBsZW5ndGggaXMgMCBhbmQgbWVtbW92ZSBkb2VzIG5vdCBsaWtlIG51
bGxwdHJzCiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
cmVzdWx0KTsKQEAgLTUwMiw2ICs1MTUsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1
ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNTbGljZShWTSYgdm0sIEpTR2xvYmEKICAg
ICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBqc0Nhc3Q8SlNGbG9hdDY0QXJyYXkqPihy
ZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBD
b3B5VHlwZTo6TGVmdFRvUmlnaHQpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsK
KyAgICAgICAganNDYXN0PEpTQmlnSW50NjRBcnJheSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmpl
Y3QsIDAsIHRoaXNPYmplY3QsIGJlZ2luLCBsZW5ndGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBjYXNlIFR5cGVC
aWdVaW50NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0PEpTQmln
VWludDY0QXJyYXkqPihyZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBi
ZWdpbiwgbGVuZ3RoLCBDb3B5VHlwZTo6TGVmdFRvUmlnaHQpOworICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC01NDMsNyArNTY0LDcgQEAgQUxXQVlTX0lOTElO
RSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5
Q3JlYXRlKFZNJnYKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyID0gdGhpc09i
amVjdC0+cG9zc2libHlTaGFyZWRCdWZmZXIoKTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVm
ZmVyKSkgewogICAgICAgICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgICAgICByZXR1cm4geyB9
OwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVCh0aGlzTGVuZ3RoID09IHRoaXNPYmplY3QtPmxl
bmd0aCgpKTsKIApAQCAtNTY3LDEzICs1ODgsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNW
YWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYK
ICAgICBBU1NFUlQoIWFyZ3MuaGFzT3ZlcmZsb3dlZCgpKTsKIAogICAgIEpTT2JqZWN0KiByZXN1
bHQgPSBjb25zdHJ1Y3QoZ2xvYmFsT2JqZWN0LCBzcGVjaWVzLCBhcmdzLCAic3BlY2llcyBpcyBu
b3QgYSBjb25zdHJ1Y3RvciIpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAg
ICBpZiAoanNEeW5hbWljQ2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHZtLCByZXN1bHQpKQotICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgSlNBcnJheUJ1ZmZlclZp
ZXcqIHZhbGlkYXRlZCA9IHZhbGlkYXRlVHlwZWRBcnJheShnbG9iYWxPYmplY3QsIHJlc3VsdCk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICBpZiAoY29udGVudFR5
cGUodmFsaWRhdGVkLT5jbGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpICE9IFZp
ZXdDbGFzczo6Y29udGVudFR5cGUpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGds
b2JhbE9iamVjdCwgc2NvcGUsICJUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheSBjb25zdHJ1
Y3RlZCB0eXBlZCBhcnJheSBvZiBkaWZmZXJlbnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8Il9z
KTsKIAotICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJzcGVjaWVzIGNv
bnN0cnVjdG9yIGRpZCBub3QgcmV0dXJuIGEgVHlwZWRBcnJheSBWaWV3Il9zKTsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh2YWxpZGF0ZWQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA4NWM3NjNjNTRlMDI5
ZDE1ZDlmZDQ5YmI4ZjJhZTJiN2RkYjBhOTRkLi43NTBhZDUxZWRkNmM5OTg5Nzg0YWUwZDQyNWEx
MmM1OGJkOWMyOTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCkBAIC00NTcsNiArNDU3LDggQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUgSlNHbG9iYWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7CiAg
IFVpbnQzMkFycmF5ICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5VWludDMy
ICAgICAgICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQogICBGbG9hdDMyQXJyYXkgICAgICAg
ICAgSlNHbG9iYWxPYmplY3Q6Om1fdHlwZWRBcnJheUZsb2F0MzIgICAgICAgICAgRG9udEVudW18
Q2xhc3NTdHJ1Y3R1cmUKICAgRmxvYXQ2NEFycmF5ICAgICAgICAgIEpTR2xvYmFsT2JqZWN0Ojpt
X3R5cGVkQXJyYXlGbG9hdDY0ICAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCisgIEJp
Z0ludDY0QXJyYXkgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5QmlnSW50NjQg
ICAgICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQorICBCaWdVaW50NjRBcnJheSAgICAgICAg
SlNHbG9iYWxPYmplY3Q6Om1fdHlwZWRBcnJheUJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18Q2xh
c3NTdHJ1Y3R1cmUKICAgRGF0YVZpZXcgICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5
cGVkQXJyYXlEYXRhVmlldyAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIERhdGUg
ICAgICAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV9kYXRlU3RydWN0dXJlICAgICAgICAg
ICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQogICBFcnJvciAgICAgICAgICAgICAgICAgSlNH
bG9iYWxPYmplY3Q6Om1fZXJyb3JTdHJ1Y3R1cmUgICAgICAgICAgICAgRG9udEVudW18Q2xhc3NT
dHJ1Y3R1cmUKQEAgLTEyMDcsMTIgKzEyMDksMTggQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0
b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUK
ICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNv
bnN0YW50Ojp0eXBlZEFycmF5R2V0T3JpZ2luYWxDb25zdHJ1Y3RvcildLmluaXRMYXRlcihbXSAo
Y29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAgICAgICAgaW5pdC5zZXQo
SlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQu
b3duZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0dldE9yaWdpbmFs
Q29uc3RydWN0b3IpKTsKICAgICAgICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheUNvbnRlbnRUeXBl
KV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CisgICAg
ICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xv
YmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAsIFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZh
dGVGdW5jQ29udGVudFR5cGUpKTsKKyAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50
c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheVNvcnQp
XS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAg
ICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9i
YWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0
ZUZ1bmNTb3J0KSk7CiAgICAgICAgIH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzVHlwZWRBcnJheVZpZXcpXS5pbml0
TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAg
IGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1R5cGVkQXJyYXlWaWV3LCBJc1R5cGVkQXJyYXlWaWV3SW50cmluc2ljKSk7CiAgICAgICAgIH0p
OworICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1l
Q29uc3RhbnQ6OmlzQmlnSW50VHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IElu
aXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rp
b246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwg
MCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc0JpZ0ludFR5cGVkQXJyYXlW
aWV3KSk7CisgICAgICAgIH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzU2hhcmVkVHlwZWRBcnJheVZpZXcpXS5pbml0
TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAg
IGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1NoYXJlZFR5cGVkQXJyYXlWaWV3KSk7CiAgICAgICAgIH0pOwpAQCAtMTIzNCw2ICsxMjQyLDkg
QEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9
IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRp
Y19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjppbnN0YW5jZU9mKV0uaW5pdExhdGVy
KFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0
LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4o
aW5pdC5vd25lciksIDAsIFN0cmluZygpLCBvYmplY3RQcml2YXRlRnVuY0luc3RhbmNlT2YpKTsK
ICAgICAgICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oTGlua1RpbWVDb25zdGFudDo6dG9CaWdJbnQpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRp
YWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246
OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwg
U3RyaW5nKCksIGdsb2JhbEZ1bmNUb0JpZ0ludCkpOworICAgICAgICB9KTsKICAgICBtX2xpbmtU
aW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjpCdWls
dGluTG9nKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7
CiAgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0
PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDEsIFN0cmluZygpLCBnbG9iYWxGdW5jQnVp
bHRpbkxvZykpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAppbmRleCBkNGRmMDMzZTlj
MzFhNTQ4MzAzY2M5NTNjYTU5MjlmMWFjZGVmZDJlLi4yYzZkYTk2NGNjZmI4NTYzMzRmYjdjMmM4
YTE5NmRlZWQ2OTJhNTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC05NjcsNCArOTY3LDkgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNEYXRlVGltZUZvcm1hdCwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpT
VmFsdWU6OmVuY29kZShkYXRlVGltZUZvcm1hdC0+Zm9ybWF0KGdsb2JhbE9iamVjdCwgdmFsdWUp
KSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jVG9CaWdJbnQsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsRnJhbWUtPmFyZ3VtZW50KDApLnRvQmlnSW50
KGdsb2JhbE9iamVjdCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCmlu
ZGV4IDRkZmI3ZWY2ZDZkZGYwMTZkMzBkYWRjNjQxZWZiM2I3NWJiZTRlMDUuLmNjOGFmYmM0NmM3
MzgyYmQ4MjdiYTVmM2M0YTk1ZjJlMjdkMmMyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaApAQCAtNTksNiAr
NTksNyBAQCBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUp
OwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFi
bGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jQ29weURhdGFQcm9wZXJ0
aWVzKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY0RhdGVUaW1lRm9ybWF0
KTsKK0pTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1RvQmlnSW50KTsKIAogSlNf
RVhQT1JUX1BSSVZBVEUgZG91YmxlIGpzVG9OdW1iZXIoU3RyaW5nVmlldyk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuY3BwCmluZGV4IDQ2MmYzZWRlMzI1ZDZkNDY0ZTZk
NjNlM2Q1ZDcwZWE4YWVjYjBlMjQuLmZjYjY5N2MyZDA5ZThiZjc1MzA2ODQ4ZTNiYzE4MDNkMTc3
ODUzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmNwcApAQCAtODQs
NiArODQsOCBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5
cGUgdHlwZSkKICAgICBDQVNFKFVpbnQzMkFycmF5VHlwZSkKICAgICBDQVNFKEZsb2F0MzJBcnJh
eVR5cGUpCiAgICAgQ0FTRShGbG9hdDY0QXJyYXlUeXBlKQorICAgIENBU0UoQmlnSW50NjRBcnJh
eVR5cGUpCisgICAgQ0FTRShCaWdVaW50NjRBcnJheVR5cGUpCiAgICAgQ0FTRShEYXRhVmlld1R5
cGUpCiAgICAgQ0FTRShHZXR0ZXJTZXR0ZXJUeXBlKQogICAgIENBU0UoR2xvYmFsT2JqZWN0VHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKaW5kZXggMzZiMTc0YzVmNTg0
Y2FmZTFkZTIwYjIwNjNmYmE4YjJkNWZhNmQ5Ny4uMDFhZjkzZTg1MjJmNjI4MTc3OTRmNGI2OWE1
ZjM1NGYwMjk3MjM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAg
LTg3LDYgKzg3LDggQEAgZW51bSBKU1R5cGUgOiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheVR5
cGUsCiAgICAgRmxvYXQzMkFycmF5VHlwZSwKICAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgIEJp
Z0ludDY0QXJyYXlUeXBlLAorICAgIEJpZ1VpbnQ2NEFycmF5VHlwZSwKICAgICBEYXRhVmlld1R5
cGUsCiAgICAgLy8gRW5kIEpTQXJyYXlCdWZmZXJWaWV3IHR5cGVzLgogCkBAIC0xNDEsNiArMTQz
LDcgQEAgc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBMYXN0T2JqZWN0VHlwZSA9IE1heEpTVHlw
ZTsKIAogc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyA9
IExhc3RUeXBlZEFycmF5VHlwZSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyAxOwogc3RhdGljIGNv
bnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3
ID0gTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXMgLSAxOworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJf
dCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3
ID0gTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXMgLSAzOwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihK
U1R5cGUpID09IHNpemVvZih1aW50OF90KSwgInNpemVvZihKU1R5cGUpIGlzIG9uZSBieXRlLiIp
Owogc3RhdGljX2Fzc2VydChMYXN0SlNDT2JqZWN0VHlwZSA8IDBiMTExMDAwMDAsICJFbWJlZGRl
ciBjYW4gdXNlIDBiMTExMDAwMDAgb3IgdXBwZXIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcAppbmRl
eCA4NGU2NTExMjZmNDI4ZGNhOGVkZGE0Mzk0NmRkNzBjMWUxNzg0MmVlLi45NWFiZWM1NDA5YTMx
ZWE3ODMxM2QzYzVmMzlhZGI0NTg1YjhmYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAKQEAgLTQz
LDYgKzQzLDggQEAgTUFLRV9TX0lORk8oVWludDE2QXJyYXkpOwogTUFLRV9TX0lORk8oVWludDMy
QXJyYXkpOwogTUFLRV9TX0lORk8oRmxvYXQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0NjRB
cnJheSk7CitNQUtFX1NfSU5GTyhCaWdJbnQ2NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2
NEFycmF5KTsKIE1BS0VfU19JTkZPKERhdGFWaWV3KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy5oCmluZGV4IDAxOTIwYTQxZTA5YWEzNzM0MTJiZjZiOTBkZDg3M2I3YmU1NzE4
ZGMuLjA2NDU1MzA5MjI4YTBlYmU5ZGExM2E3NDA4NDgxMTNhMzIzZjE5MzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy5oCkBAIC00MCw2ICs0MCw4IEBAIHVzaW5nIEpTVWludDE2QXJyYXlDb25zdHJ1Y3RvciA9
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNVaW50MTZBcnJhCiB1c2luZyBK
U1VpbnQzMkFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9yPEpTVWludDMyQXJyYXk+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciA9IEpT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDMyQXJyYXk+OwogdXNpbmcg
SlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3I8SlNGbG9hdDY0QXJyYXk+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5Q29uc3RydWN0b3Ig
PSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTQmlnSW50NjRBcnJheT47Cit1
c2luZyBKU0JpZ1VpbnQ2NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0NvbnN0cnVjdG9yPEpTQmlnVWludDY0QXJyYXk+OwogdXNpbmcgSlNEYXRhVmlld0NvbnN0cnVj
dG9yID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxKU0RhdGFWaWV3PjsKIFNU
QVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTSW50OEFycmF5Q29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
SlNJbnQxNkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwpAQCAtNTAsNiArNTIs
OCBAQCBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1VpbnQxNkFycmF5Q29u
c3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoSlNVaW50MzJBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIFNU
QVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTRmxvYXQzMkFycmF5Q29uc3RydWN0
b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNf
QVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3Rvciwg
SW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShK
U0JpZ1VpbnQ2NEFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNEYXRhVmlld0NvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCmluZGV4IDJi
YjE0NTI1ZjViZDExNjhjZjQ2NzMxNzM5OTMyNzY4NzgxMDkwNTYuLmJhODE4ZWEzMDgyZmY0MDRj
OWQ0YTdmMTQxODFlYzk3N2I4MTkzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCkBAIC00Nyw2ICs0Nyw4
IEBAIE1BS0VfU19JTkZPKFVpbnQxNkFycmF5KTsKIE1BS0VfU19JTkZPKFVpbnQzMkFycmF5KTsK
IE1BS0VfU19JTkZPKEZsb2F0MzJBcnJheSk7CiBNQUtFX1NfSU5GTyhGbG9hdDY0QXJyYXkpOwor
TUFLRV9TX0lORk8oQmlnSW50NjRBcnJheSk7CitNQUtFX1NfSU5GTyhCaWdVaW50NjRBcnJheSk7
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmgKaW5kZXggMDdiOTY4NjkzZTgwZjQ1
ODU4NmNjMTJiYzVkYWZmZWZhNDFlMzU5OS4uNTExYjExMjg4Nzg4NWNjNTdhODE4MzIzZjIzYWFl
NDJkMWFhOWY4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlZEFycmF5UHJvdG90eXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaApAQCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWludDE2QXJyYXk+IEpTVWludDE2QXJyYXlQ
cm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWlu
dDMyQXJyYXk+IEpTVWludDMyQXJyYXlQcm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3UHJvdG90eXBlPEpTRmxvYXQzMkFycmF5PiBKU0Zsb2F0MzJBcnJheVByb3RvdHlw
ZTsKIHR5cGVkZWYgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNGbG9hdDY0QXJy
YXk+IEpTRmxvYXQ2NEFycmF5UHJvdG90eXBlOwordHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5
Vmlld1Byb3RvdHlwZTxKU0JpZ0ludDY0QXJyYXk+IEpTQmlnSW50NjRBcnJheVByb3RvdHlwZTsK
K3R5cGVkZWYgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNCaWdVaW50NjRBcnJh
eT4gSlNCaWdVaW50NjRBcnJheVByb3RvdHlwZTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJv
dG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuY3BwCmluZGV4IGVmMmM5MTBjZGI0Y2VkZGY3MzM1YjA1NTdjZGVmNjhlOTAw
MmI3OTcuLjM2YTVhMTA2YzIyYjYyYjVmNWUzZmFjYWIwMzU4ZjMzMzE3ZTJiMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5
cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuY3BwCkBAIC03Miw2ICs3MiwxMCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY1RvU3RyaW5nVGFnKTsKICAg
ICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0ludDE2QXJyYXk+KHZtLCBnbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVVaW50
MTY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU1Vp
bnQxNkFycmF5Pih2bSwgZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ0ludDY0QXJyYXk+KHZtLCBnbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSk7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ1Vp
bnQ2NEFycmF5Pih2bSwgZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IFR5cGVEYXRhVmlldzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIHRocm93Vk1U
eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKQEAgLTg2LDYgKzkwLDEyIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNUeXBlZEFycmF5VmlldywgKEpTR2xvYmFs
T2JqCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odmFsdWUuaXNDZWxsKCkg
JiYgaXNUeXBlZFZpZXcodmFsdWUuYXNDZWxsKCktPmNsYXNzSW5mbyhnbG9iYWxPYmplY3QtPnZt
KCkpLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5VmlldywgKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAg
ICBKU1ZhbHVlIHZhbHVlID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih2YWx1ZS5pc0NlbGwoKSAmJiBpc0JpZ0lu
dFR5cGVkVmlldyh2YWx1ZS5hc0NlbGwoKS0+Y2xhc3NJbmZvKGdsb2JhbE9iamVjdC0+dm0oKSkt
PnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3LCAoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpT
VmFsdWUgdmFsdWUgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApOwpAQCAtMTcxLDYg
KzE4MSwxNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRl
RnVuY0xlbmd0aCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIodGhpc09iamVjdC0+bGVuZ3RoKCkpKTsKIH0KIAorSlNDX0RFRklORV9I
T1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworICAgIEpTVmFsdWUgYXJndW1lbnQgPSBjYWxsRnJhbWUtPmFyZ3VtZW50
KDApOworICAgIGlmICghYXJndW1lbnQuaXNDZWxsKCkgfHwgIWlzVHlwZWRWaWV3KGFyZ3VtZW50
LmFzQ2VsbCgpLT5jbGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKQorICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiUmVjZWl2ZXIg
c2hvdWxkIGJlIGEgdHlwZWQgYXJyYXkgdmlldyJfcyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc051bWJlcihzdGF0aWNfY2FzdDxpbnQzMl90Pihjb250ZW50VHlwZShhcmd1bWVudC5h
c0NlbGwoKS0+Y2xhc3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkpKTsKK30KKwog
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNHZXRPcmln
aW5hbENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTM4
OCw2ICs0MDgsMTAgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJv
dG9HZXR0ZXJGdW5jVG9TdHJpbmdUYWcsIChKU0dsb2JhbE9iamUKICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmcodm0sICJJbnQxNkFycmF5Il9zKSk7CiAg
ICAgY2FzZSBUeXBlVWludDE2OgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9u
dHJpdmlhbFN0cmluZyh2bSwgIlVpbnQxNkFycmF5Il9zKSk7CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKHZt
LCAiQmlnSW50NjRBcnJheSJfcykpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmcodm0sICJCaWdVaW50NjRB
cnJheSJfcykpOwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmll
dzoKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaAppbmRleCBkMzUzMGZmNmQ2MTRlZmUwZDIyMTI3YzM4Zjk2OTBjMmNjZjIwZWY0
Li5hMmE2NDMxNzZlZDJkM2E4MDZjMTI1YmFjY2NkNzcwODZmYTMzYzJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3Rv
dHlwZS5oCkBAIC01MiwxMSArNTIsMTMgQEAgY2xhc3MgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlw
ZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIH07CiAKIEpTQ19ERUNMQVJFX0hP
U1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzVHlwZWRBcnJheVZpZXcpOwor
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJ
bnRUeXBlZEFycmF5Vmlldyk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlW
aWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3KTsKIEpTQ19ERUNMQVJFX0hPU1Rf
RlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzRGV0YWNoZWQpOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jRGVmYXVsdENvbXBhcmF0
b3IpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5j
U29ydCk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1
bmNMZW5ndGgpOworSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZh
dGVGdW5jQ29udGVudFR5cGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jR2V0T3JpZ2luYWxDb25zdHJ1Y3Rvcik7CiBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNyZWF0ZSk7CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCmlu
ZGV4IDRiOWY5NWNmNjMxYmRhNTM1NGU3NTFhZDQwMjkxNjJjZGE3ZjdiYzguLjkwYjMwNDU2NzBh
ZjBhYmUyZjZkMDI3ZWRlOWQ4ODVmZmYwNGFmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCkBAIC02MSw2ICs2MSw4IEBAIE1BS0VfU19J
TkZPKFVpbnQxNik7CiBNQUtFX1NfSU5GTyhVaW50MzIpOwogTUFLRV9TX0lORk8oRmxvYXQzMik7
CiBNQUtFX1NfSU5GTyhGbG9hdDY0KTsKK01BS0VfU19JTkZPKEJpZ0ludDY0KTsKK01BS0VfU19J
TkZPKEJpZ1VpbnQ2NCk7CiAKIE1BS0VfQ09OU1RSVUNUT1JTKERhdGFWaWV3KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oCmluZGV4IGMzODEyOTg0
YjRkN2I4N2JiMWUzMDFlMjE5N2I4NjA1YzBmZWNhYzEuLmEzMDNhMDc4OGEwNDRhMGVmODY0Njhj
MzA1ZDFlNmZlZjhhMjNhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTVHlwZWRBcnJheXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1R5cGVkQXJyYXlzLmgKQEAgLTM5LDYgKzM5LDggQEAgdXNpbmcgSlNVaW50MTZBcnJheSA9IEpT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQxNkFkYXB0b3I+OwogdXNpbmcgSlNVaW50MzJBcnJh
eSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+OwogdXNpbmcgSlNGbG9h
dDMyQXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDMyQWRhcHRvcj47CiB1c2lu
ZyBKU0Zsb2F0NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9y
PjsKK3VzaW5nIEpTQmlnSW50NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0lu
dDY0QWRhcHRvcj47Cit1c2luZyBKU0JpZ1VpbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXc8QmlnVWludDY0QWRhcHRvcj47CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTVWludDhBcnJh
eSogY3JlYXRlVWludDhUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUmVm
UHRyPEFycmF5QnVmZmVyPiYmLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZy
b21WYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVG9OYXRpdmVGcm9tVmFs
dWUuaAppbmRleCAyNTMyNmQ2MGQ2ZDU5NGNlMjU3OTc2NTg2MTQxNTU5ZTAzZmY4ZWJhLi43NDYw
ODk1ZjRiZjJlNzM3NmQwMTMzMzcxNTM3NWYzYWI1OTQxM2JlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1RvTmF0aXZlRnJvbVZhbHVlLmgKQEAgLTI2LDEyICsyNiwx
NCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAi
VHlwZWRBcnJheUFkYXB0b3JzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBBZGFwdG9yPgogdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB0b05hdGl2ZUZyb21WYWx1ZShK
U1ZhbHVlIHZhbHVlKQogeworICAgIC8vIEZJWE1FOiBCaWdJbnQKICAgICBpZiAodmFsdWUuaXNJ
bnQzMigpKQogICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tSW50MzIodmFsdWUu
YXNJbnQzMigpKTsKICAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlKHZhbHVl
LmFzRG91YmxlKCkpOwpAQCAtNDAsMjEgKzQyLDM3IEBAIHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUg
dG9OYXRpdmVGcm9tVmFsdWUoSlNWYWx1ZSB2YWx1ZSkKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0
b3I+CiB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIHRvTmF0aXZlRnJvbVZhbHVlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW50
MzIoKSkKLSAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKHZhbHVlLmFz
SW50MzIoKSk7Ci0gICAgaWYgKHZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBBZGFw
dG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7Ci0gICAgcmV0dXJuIEFk
YXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZSh2YWx1ZS50b051bWJlcihnbG9iYWxPYmplY3QpKTsK
KyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRv
cj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsKKyAgICAg
ICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+
KQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQmlnSW50NjQoZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQmlnVUludDY0KGdsb2JhbE9i
amVjdCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAg
ICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQzMih2YWx1ZS5hc0ludDMyKCkp
OworICAgICAgICBpZiAodmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFw
dG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7CisgICAgICAgIHJldHVy
biBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFsdWUudG9OdW1iZXIoZ2xvYmFsT2JqZWN0
KSk7CisgICAgfQogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogT3B0aW9uYWw8dHlw
ZW5hbWUgQWRhcHRvcjo6VHlwZT4gdG9OYXRpdmVGcm9tVmFsdWVXaXRob3V0Q29lcmNpb24oSlNW
YWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIXZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAgcmV0dXJu
IEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzSW50MzIo
KSk7Ci0gICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZVdpdGhvdXRDb2VyY2lv
bih2YWx1ZS5hc0RvdWJsZSgpKTsKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFk
YXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWlu
dDY0QWRhcHRvcj4pIHsKKyAgICAgICAgaWYgKCF2YWx1ZS5pc0JpZ0ludCgpKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Nh
bWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAgcmV0dXJuIEpTQmln
SW50Ojp0b0JpZ0ludDY0KHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJu
IEpTQmlnSW50Ojp0b0JpZ1VJbnQ2NCh2YWx1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYg
KCF2YWx1ZS5pc051bWJlcigpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0
b05hdGl2ZUZyb21JbnQzMldpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0ludDMyKCkpOworICAgICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlV2l0aG91dENvZXJjaW9uKHZhbHVl
LmFzRG91YmxlKCkpOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5QWRhcHRvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCmluZGV4IGUz
MjRkNDBhMjYzMTgyYjcyM2IzNjdiYTI5MGMxMWYyZDYwMTA4ZjMuLjNkOWIzZTQ3ZmMwNWJlOTcy
OTY0Mzc3YTA3MTY2OGE0ZTIyNzQwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiSlNCaWdJbnQuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgi
CiAjaW5jbHVkZSAiTWF0aENvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVkQXJyYXlUeXBlLmgiCkBA
IC0zOSwyMSArNDAsMTggQEAgc3RydWN0IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3IgewogICAg
IHR5cGVkZWYgVHlwZUFyZyBUeXBlOwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7
CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0
IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIg
c3RhdGljIGNvbnN0IFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVB
cmc+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFs
dWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29u
c3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0
aWMgY29uc3RleHByIFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVB
cmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlw
ZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAg
IHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAg
ICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFR5cGU+
Ojp2YWx1ZSwgIiIpOwogICAgICAgICByZXR1cm4ganNOdW1iZXIodmFsdWUpOwogICAgIH0KICAg
ICAKLSAgICBzdGF0aWMgZG91YmxlIHRvRG91YmxlKFR5cGUgdmFsdWUpCi0gICAgewotICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSk7Ci0gICAgfQotICAgIAogICAgIHN0
YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCiAgICAgewogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUpOwpAQCAtMTE1LDIwICsxMTMsMTcgQEAg
c3RydWN0IEZsb2F0VHlwZWRBcnJheUFkYXB0b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBl
OwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdU
eXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVW
YWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcg
bWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBj
b25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBl
IHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcg
bWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5
cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNR
dWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlw
ZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRp
YyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNW
YWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4g
anNEb3VibGVOdW1iZXIocHVyaWZ5TmFOKHZhbHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGRv
dWJsZSB0b0RvdWJsZShUeXBlIHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGRvdWJsZT4odmFsdWUpOwotICAgIH0KLQogICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJv
bUludDMyKGludDMyX3QgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
VHlwZT4odmFsdWUpOwpAQCAtMTcyLDYgKzE2Nyw0NyBAQCBzdHJ1Y3QgRmxvYXRUeXBlZEFycmF5
QWRhcHRvciB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8CisgICAgdHlwZW5hbWUgVHlwZUFyZywg
dHlwZW5hbWUgVmlld1R5cGVBcmcsIHR5cGVuYW1lIEpTVmlld1R5cGVBcmcsCisgICAgVHlwZWRB
cnJheVR5cGUgdHlwZVZhbHVlQXJnPgorc3RydWN0IEJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yIHsK
KyAgICB0eXBlZGVmIFR5cGVBcmcgVHlwZTsKKyAgICB0eXBlZGVmIFZpZXdUeXBlQXJnIFZpZXdU
eXBlOworICAgIHR5cGVkZWYgSlNWaWV3VHlwZUFyZyBKU1ZpZXdUeXBlOworICAgIHN0YXRpYyBj
b25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOworICAgIHN0
YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlw
ZUFyZz46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtYXhWYWx1ZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSBmYWxzZTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUo
dHlwZVZhbHVlKTsKKworICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUeXBlIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgIHJldHVybiBKU0JpZ0ludDo6bWFrZUhlYXBCaWdJbnRPckJpZ0lu
dDMyKGdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0
aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VHlwZT4odmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJv
bVVpbnQzMih1aW50MzJfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxUeXBlPih2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIFR5cGUgdG9OYXRpdmVGcm9tRG91
YmxlKGRvdWJsZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUeXBl
Pih2YWx1ZSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgT3RoZXJBZGFwdG9yPgor
ICAgIHN0YXRpYyB0eXBlbmFtZSBPdGhlckFkYXB0b3I6OlR5cGUgY29udmVydFRvKFR5cGUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dHlwZW5hbWUgT3RoZXJBZGFw
dG9yOjpUeXBlPih2YWx1ZSk7CisgICAgfQorfTsKKwogc3RydWN0IEludDhBZGFwdG9yOwogc3Ry
dWN0IEludDE2QWRhcHRvcjsKIHN0cnVjdCBJbnQzMkFkYXB0b3I7CkBAIC0xODEsNiArMjE3LDgg
QEAgc3RydWN0IFVpbnQxNkFkYXB0b3I7CiBzdHJ1Y3QgVWludDMyQWRhcHRvcjsKIHN0cnVjdCBG
bG9hdDMyQWRhcHRvcjsKIHN0cnVjdCBGbG9hdDY0QWRhcHRvcjsKK3N0cnVjdCBCaWdJbnQ2NEFk
YXB0b3I7CitzdHJ1Y3QgQmlnVWludDY0QWRhcHRvcjsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQWRh
cHRvcj4gY2xhc3MgR2VuZXJpY1R5cGVkQXJyYXlWaWV3OwogdHlwZWRlZiBHZW5lcmljVHlwZWRB
cnJheVZpZXc8SW50OEFkYXB0b3I+IEludDhBcnJheTsKQEAgLTE5Miw2ICsyMzAsOCBAQCB0eXBl
ZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MTZBZGFwdG9yPiBVaW50MTZBcnJheTsKIHR5
cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+IFVpbnQzMkFycmF5Owog
dHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8RmxvYXQzMkFkYXB0b3I+IEZsb2F0MzJBcnJh
eTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPiBGbG9hdDY0
QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdJbnQ2NEFkYXB0b3I+IEJp
Z0ludDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFw
dG9yPiBCaWdVaW50NjRBcnJheTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4gY2xhc3Mg
SlNHZW5lcmljVHlwZWRBcnJheVZpZXc7CiB1c2luZyBKU0ludDhBcnJheSA9IEpTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3PEludDhBZGFwdG9yPjsKQEAgLTIwMyw2ICsyNDMsOCBAQCB1c2luZyBKU1Vp
bnQxNkFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2QWRhcHRvcj47CiB1c2lu
ZyBKU1VpbnQzMkFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDMyQWRhcHRvcj47
CiB1c2luZyBKU0Zsb2F0MzJBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJB
ZGFwdG9yPjsKIHVzaW5nIEpTRmxvYXQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8
RmxvYXQ2NEFkYXB0b3I+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRB
cnJheVZpZXc8QmlnSW50NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmlnVWludDY0QXJyYXkgPSBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFwdG9yPjsKIAogc3RydWN0IEludDhBZGFw
dG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjxpbnQ4X3QsIEludDhBcnJheSwgSlNJbnQ4
QXJyYXksIFR5cGVJbnQ4PiB7IH07CiBzdHJ1Y3QgSW50MTZBZGFwdG9yIDogSW50ZWdyYWxUeXBl
ZEFycmF5QWRhcHRvcjxpbnQxNl90LCBJbnQxNkFycmF5LCBKU0ludDE2QXJyYXksIFR5cGVJbnQx
Nj4geyB9OwpAQCAtMjEyLDI1ICsyNTQsMjQgQEAgc3RydWN0IFVpbnQxNkFkYXB0b3IgOiBJbnRl
Z3JhbFR5cGVkQXJyYXlBZGFwdG9yPHVpbnQxNl90LCBVaW50MTZBcnJheSwgSlNVaW50MTYKIHN0
cnVjdCBVaW50MzJBZGFwdG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjx1aW50MzJfdCwg
VWludDMyQXJyYXksIEpTVWludDMyQXJyYXksIFR5cGVVaW50MzI+IHsgfTsKIHN0cnVjdCBGbG9h
dDMyQWRhcHRvciA6IEZsb2F0VHlwZWRBcnJheUFkYXB0b3I8ZmxvYXQsIEZsb2F0MzJBcnJheSwg
SlNGbG9hdDMyQXJyYXksIFR5cGVGbG9hdDMyPiB7IH07CiBzdHJ1Y3QgRmxvYXQ2NEFkYXB0b3Ig
OiBGbG9hdFR5cGVkQXJyYXlBZGFwdG9yPGRvdWJsZSwgRmxvYXQ2NEFycmF5LCBKU0Zsb2F0NjRB
cnJheSwgVHlwZUZsb2F0NjQ+IHsgfTsKK3N0cnVjdCBCaWdJbnQ2NEFkYXB0b3IgOiBCaWdJbnRU
eXBlZEFycmF5QWRhcHRvcjxpbnQ2NF90LCBCaWdJbnQ2NEFycmF5LCBKU0JpZ0ludDY0QXJyYXks
IFR5cGVCaWdJbnQ2ND4geyB9Oworc3RydWN0IEJpZ1VpbnQ2NEFkYXB0b3IgOiBCaWdJbnRUeXBl
ZEFycmF5QWRhcHRvcjx1aW50NjRfdCwgQmlnVWludDY0QXJyYXksIEpTQmlnVWludDY0QXJyYXks
IFR5cGVCaWdVaW50NjQ+IHsgfTsKIAogc3RydWN0IFVpbnQ4Q2xhbXBlZEFkYXB0b3IgewogICAg
IHR5cGVkZWYgdWludDhfdCBUeXBlOwogICAgIHR5cGVkZWYgVWludDhDbGFtcGVkQXJyYXkgVmll
d1R5cGU7CiAgICAgdHlwZWRlZiBKU1VpbnQ4Q2xhbXBlZEFycmF5IEpTVmlld1R5cGU7Ci0gICAg
c3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IFR5cGVVaW50OENsYW1wZWQ7
Ci0gICAgY29uc3RleHByIHN0YXRpYyBjb25zdCB1aW50OF90IG1pblZhbHVlID0gc3RkOjpudW1l
cmljX2xpbWl0czx1aW50OF90Pjo6bG93ZXN0KCk7Ci0gICAgY29uc3RleHByIHN0YXRpYyBjb25z
dCB1aW50OF90IG1heFZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50OF90Pjo6bWF4KCk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlZEFycmF5VHlwZSB0eXBlVmFsdWUgPSBUeXBlVWlu
dDhDbGFtcGVkOworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBtaW5WYWx1ZSA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8dWludDhfdD46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
dWludDhfdCBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDhfdD46Om1heCgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSB0cnVlOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlID0g
SlNDOjpjb250ZW50VHlwZSh0eXBlVmFsdWUpOwogCi0gICAgc3RhdGljIEpTVmFsdWUgdG9KU1Zh
bHVlKHVpbnQ4X3QgdmFsdWUpCisgICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKEpTR2xvYmFs
T2JqZWN0KiwgdWludDhfdCB2YWx1ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBqc051bWJlcih2
YWx1ZSk7CiAgICAgfQogCi0gICAgc3RhdGljIGRvdWJsZSB0b0RvdWJsZSh1aW50OF90IHZhbHVl
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4odmFsdWUpOwotICAg
IH0KLQogICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCiAg
ICAgewogICAgICAgICByZXR1cm4gY2xhbXAodmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuY3BwCmluZGV4IGMyNDE4NWI4OTI0ZjY2OWIx
ZDdlYTY5ZmFjNTI1NTljMWNhYTFkMzMuLmYyOTZlMzc0OTI1YTJmMDkwYmNhY2Q2MTNhZWU5MDNj
ZGJlODI3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlUeXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFy
cmF5VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDEwIEBAIGNvbnN0IENsYXNzSW5mbyogY29uc3RydWN0
b3JDbGFzc0luZm9Gb3JUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBK
U0Zsb2F0MzJBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoK
ICAgICAgICAgcmV0dXJuIEpTRmxvYXQ2NEFycmF5Q29uc3RydWN0b3I6OmluZm8oKTsKKyAgICBj
YXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTQmlnSW50NjRBcnJheUNvbnN0cnVj
dG9yOjppbmZvKCk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gSlNC
aWdVaW50NjRBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6
CiAgICAgICAgIHJldHVybiBKU0RhdGFWaWV3Q29uc3RydWN0b3I6OmluZm8oKTsKICAgICB9CkBA
IC05OSw2ICsxMDMsMTIgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFR5
cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgb3V0LnBy
aW50KCJUeXBlRmxvYXQ2NCIpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIG91dC5wcmludCgiVHlwZUJpZ0ludDY0Iik7CisgICAgICAgIHJldHVybjsK
KyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIG91dC5wcmludCgiVHlwZUJpZ1VpbnQ2
NCIpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgIG91
dC5wcmludCgiVHlwZURhdGFWaWV3Iik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5oCmluZGV4IDA3ZDE3NTNhYjhjYzI4
MGM4ZDZkZGM5MTM3YjQwYTc0NzQzODJiNGYuLjZmNDBlMWNmOGYwN2EwYmZmZDJkN2MyYzI0OTAy
NWMyZDUwZDM2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5
cGVkQXJyYXlUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRB
cnJheVR5cGUuaApAQCAtNDIsNyArNDIsOSBAQCBzdHJ1Y3QgQ2xhc3NJbmZvOwogICAgIG1hY3Jv
KEludDMyKSBcCiAgICAgbWFjcm8oVWludDMyKSBcCiAgICAgbWFjcm8oRmxvYXQzMikgXAotICAg
IG1hY3JvKEZsb2F0NjQpCisgICAgbWFjcm8oRmxvYXQ2NCkgXAorICAgIG1hY3JvKEJpZ0ludDY0
KSBcCisgICAgbWFjcm8oQmlnVWludDY0KQogCiAjZGVmaW5lIEZPUl9FQUNIX1RZUEVEX0FSUkFZ
X1RZUEUobWFjcm8pIFwKICAgICBGT1JfRUFDSF9UWVBFRF9BUlJBWV9UWVBFX0VYQ0xVRElOR19E
QVRBX1ZJRVcobWFjcm8pIFwKQEAgLTU1LDYgKzU3LDEyIEBAIGVudW0gVHlwZWRBcnJheVR5cGUg
ewogI3VuZGVmIERFQ0xBUkVfVFlQRURfQVJSQVlfVFlQRQogfTsKIAorZW51bSBjbGFzcyBUeXBl
ZEFycmF5Q29udGVudFR5cGUgOiB1aW50OF90IHsKKyAgICBOb25lLAorICAgIE51bWJlciwKKyAg
ICBCaWdJbnQsCit9OworCiAjZGVmaW5lIEFTU0VSVF9UWVBFRF9BUlJBWV9UWVBFKG5hbWUpIFwK
ICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVpbnQzMl90PihUeXBlICMjIG5hbWUpID09
IChzdGF0aWNfY2FzdDx1aW50MzJfdD4obmFtZSAjIyBBcnJheVR5cGUpIC0gRmlyc3RUeXBlZEFy
cmF5VHlwZSArIHN0YXRpY19jYXN0PHVpbnQzMl90PihUeXBlSW50OCkpLCAiIik7CiAgICAgRk9S
X0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdfREFUQV9WSUVXKEFTU0VSVF9UWVBFRF9B
UlJBWV9UWVBFKQpAQCAtODUsNiArOTMsMTcgQEAgaW5saW5lIGJvb2wgaXNUeXBlZFZpZXcoVHlw
ZWRBcnJheVR5cGUgdHlwZSkKICAgICB9CiB9CiAKK2lubGluZSBib29sIGlzQmlnSW50VHlwZWRW
aWV3KFR5cGVkQXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2Fz
ZSBUeXBlQmlnSW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBp
bmxpbmUgdW5zaWduZWQgbG9nRWxlbWVudFNpemUoVHlwZWRBcnJheVR5cGUgdHlwZSkKIHsKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTEwMyw2ICsxMjIsOCBAQCBpbmxpbmUgdW5zaWduZWQgbG9n
RWxlbWVudFNpemUoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGVGbG9hdDMyOgog
ICAgICAgICByZXR1cm4gMjsKICAgICBjYXNlIFR5cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZUJp
Z0ludDY0OgorICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKICAgICAgICAgcmV0dXJuIDM7CiAgICAg
fQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xNTksNiArMTgwLDE3IEBA
IGlubGluZSBib29sIGlzRmxvYXQoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICB9CiB9CiAKK2lu
bGluZSBib29sIGlzQmlnSW50KFR5cGVkQXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0Ogor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorfQorCiBpbmxpbmUgYm9vbCBpc1NpZ25lZChUeXBlZEFycmF5VHlwZSB0eXBlKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMTY3LDYgKzE5OSw3IEBAIGlubGluZSBib29sIGlz
U2lnbmVkKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlSW50MzI6CiAgICAgY2Fz
ZSBUeXBlRmxvYXQzMjoKICAgICBjYXNlIFR5cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZUJpZ0lu
dDY0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0xNzgsNiArMjExLDI5IEBAIGlubGluZSBib29sIGlzQ2xhbXBlZChUeXBlZEFy
cmF5VHlwZSB0eXBlKQogICAgIHJldHVybiB0eXBlID09IFR5cGVVaW50OENsYW1wZWQ7CiB9CiAK
K2lubGluZSBjb25zdGV4cHIgVHlwZWRBcnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKFR5cGVk
QXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBUeXBlQmln
SW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gVHlwZWRBcnJh
eUNvbnRlbnRUeXBlOjpCaWdJbnQ7CisgICAgY2FzZSBUeXBlSW50ODoKKyAgICBjYXNlIFR5cGVJ
bnQxNjoKKyAgICBjYXNlIFR5cGVJbnQzMjoKKyAgICBjYXNlIFR5cGVVaW50ODoKKyAgICBjYXNl
IFR5cGVVaW50MTY6CisgICAgY2FzZSBUeXBlVWludDMyOgorICAgIGNhc2UgVHlwZUZsb2F0MzI6
CisgICAgY2FzZSBUeXBlRmxvYXQ2NDoKKyAgICBjYXNlIFR5cGVVaW50OENsYW1wZWQ6CisgICAg
ICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVudFR5cGU6Ok51bWJlcjsKKyAgICBjYXNlIE5vdFR5
cGVkQXJyYXk6CisgICAgY2FzZSBUeXBlRGF0YVZpZXc6CisgICAgICAgIHJldHVybiBUeXBlZEFy
cmF5Q29udGVudFR5cGU6Ok5vbmU7CisgICAgfQorICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVu
dFR5cGU6Ok5vbmU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5cy5oCmluZGV4IDhmZTli
MzZjYjI3N2YyM2QwYTk4NmRmMTNmMDljNmRlZjI1OWE5YzkuLjgyNzAxZjc4MGI3YTM1YjIzOWI1
OTQwMmRiMzZkMTkyNzA2OWNlYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVkQXJyYXlzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZWRBcnJheXMuaApAQCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5
VmlldzxVaW50MTZBZGFwdG9yPiBVaW50MTZBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJy
YXlWaWV3PFVpbnQzMkFkYXB0b3I+IFVpbnQzMkFycmF5OwogdHlwZWRlZiBHZW5lcmljVHlwZWRB
cnJheVZpZXc8RmxvYXQzMkFkYXB0b3I+IEZsb2F0MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5
cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPiBGbG9hdDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVy
aWNUeXBlZEFycmF5VmlldzxCaWdJbnQ2NEFkYXB0b3I+IEJpZ0ludDY0QXJyYXk7Cit0eXBlZGVm
IEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFwdG9yPiBCaWdVaW50NjRBcnJheTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5k
ZXggODQwM2UyYzgxYzcyNjgxYzBkNTEwODc5YThiZTk4MGY2ZTFlMGY4Yy4uZTcxYTNjZWQ1ZjE4
NzRlNDlhNWRkMjA5MDlkZjZmODIwODBiZjRhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNLmNwcApAQCAtMTQ3MSw3ICsxNDcxLDkgQEAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGFwaVZhbHVlV3JhcHBlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmcKIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcnJheUJ1ZmZlclNwYWNlLCBj
ZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FycmF5QnVmZmVyKQogRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUl9TTE9XKGFycmF5SXRlcmF0b3JTcGFjZSwgY2VsbEhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNBcnJheUl0ZXJhdG9yKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpT
QXN5bmNHZW5lcmF0b3IpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1co
YmlnSW50NjRBcnJheVNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JpZ0ludDY0QXJy
YXkpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYmlnSW50T2JqZWN0
U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJpZ0ludE9iamVjdCkKK0RZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhiaWdVaW50NjRBcnJheVNwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0JpZ1VpbnQ2NEFycmF5KQogRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUl9TTE9XKGJvb2xlYW5PYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5n
ZXQoKSwgQm9vbGVhbk9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJf
U0xPVyhib3VuZEZ1bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQm91bmRG
dW5jdGlvbikgLy8gSGFzaDoweGQ3OTE2ZDQxCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSX1NMT1coY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlLCBjYWxsYmFja0NvbnN0cnVjdG9y
SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrQ29uc3RydWN0b3IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uaAppbmRleCAyN2FhZmMwMzI2NmZkMzdjMjVhYTJhNDMxMjJlYjZhMTNlNjU4
Yzk3Li43MGFlMzY1MjM2YzdmMTY4ZDZjOWE0NTc1NDdiYmYzYTA1OTA2M2NmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTQ5Myw3ICs0OTMsOSBAQCBjbGFzcyBWTSA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxW
TT4gewogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXJyYXlCdWZmZXJT
cGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5SXRlcmF0
b3JTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFzeW5jR2Vu
ZXJhdG9yU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJ
bnQ2NEFycmF5U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihi
aWdJbnRPYmplY3RTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGJpZ1VpbnQ2NEFycmF5U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUihib29sZWFuT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUihib3VuZEZ1bmN0aW9uU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUihjYWxsYmFja0NvbnN0cnVjdG9yU3BhY2UpCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU0ODhjMDkxMmU1YTdhOWM4Mzdh
M2Y4YWE5MjU1MjMwNDUwNGRlMjIuLjdkZjVmZjBkOWNlOTZlZjMzNmRkYTQzZDcwNGQ4OGM3NzQw
MWY2YmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQg
QmlnVWludDY0QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogc3RyZXNzL2JpZ2ludDY0YXJyYXktYnl0ZWxlbmd0aC5qczogQWRkZWQuCisgICAg
ICAgICh0ZXN0MSk6CisgICAgICAgICh0ZXN0Mik6CisgICAgICAgIChzaG91bGRCZSk6CisgICAg
ICAgICogdGVzdDI2Mi9jb25maWcueWFtbDoKKyAgICAgICAgKiB0ZXN0MjYyL2V4cGVjdGF0aW9u
cy55YW1sOgorCiAyMDIxLTAxLTI5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0pTQ10gRml4IFdlYkFzc2VtYmx5Lkdsb2JhbCdzIGVycm9yIG1lc3NhZ2Ug
YW5kIHN1cHBvcnQgImZ1bmNyZWYiCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQ2
NGFycmF5LWJ5dGVsZW5ndGguanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQ2NGFycmF5LWJ5dGVs
ZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTk5NjNkNTUzODE4OTY4NDg0N2QwNjMwYzExM2NjNjJiMGU0
NGU0OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZ2ludDY0YXJyYXktYnl0
ZWxlbmd0aC5qcwpAQCAtMCwwICsxLDIxIEBACitmdW5jdGlvbiB0ZXN0MShhcnJheSkgeworICAg
IHJldHVybiBhcnJheS5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUodGVzdDEpOworCitmdW5jdGlv
biB0ZXN0MihhcnJheSkgeworICAgIHJldHVybiBhcnJheS5ieXRlTGVuZ3RoOworfQorbm9Jbmxp
bmUodGVzdDIpOworCitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZh
bHVlOiAnICsgYWN0dWFsKTsKK30KKwordmFyIGFycmF5MSA9IG5ldyBCaWdJbnQ2NEFycmF5KDQp
OwordmFyIGFycmF5MiA9IG5ldyBCaWdVaW50NjRBcnJheSg0KTsKK2ZvciAodmFyIGkgPSAwOyBp
IDwgMWU2OyArK2kpIHsKKyAgICBzaG91bGRCZSh0ZXN0MShhcnJheTEpLCAzMik7CisgICAgc2hv
dWxkQmUodGVzdDIoYXJyYXkyKSwgMzIpOworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L2NvbmZpZy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IDgzYTZhNzJk
NGNmM2Y0YzFjOWNmOGFiNzE5OWNiZGZjNGUwYzg4ZjYuLjA0Yzc3MTFlMDYzNjZmNWI0MmRjM2Uy
NWZjYjc3YjM3YWJiNGJmMDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFt
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTI4LDU0ICsyOCw2IEBAIHNr
aXA6CiAgICAgLSB0b3AtbGV2ZWwtYXdhaXQKICAgICAtIEludGwuTGlzdEZvcm1hdAogICBwYXRo
czoKLSAgICAtIHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRCaWdJbnQ2NAot
ICAgIC0gdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ1VpbnQ2NAotICAg
IC0gdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEJpZ0ludDY0Ci0KLSAgICAj
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA4MDAKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1RhZy9CaWdJ
bnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2J1ZmZlci9CaWdJ
bnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2J5dGVMZW5ndGgv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlT2Zm
c2V0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvY29w
eVdpdGhpbi9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L2VudHJpZXMvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9ldmVyeS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L2ZpbGwvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9m
aWx0ZXIvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9m
aW5kL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlu
ZEluZGV4L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
Zm9yRWFjaC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L2luY2x1ZGVzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvaW5kZXhPZi9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL2pvaW4vQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9rZXlzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
bGFzdEluZGV4T2YvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9sZW5ndGgvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9tYXAvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9yZWR1Y2UvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9yZWR1Y2VSaWdodC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJv
dG90eXBlL3JldmVyc2UvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9zZXQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9zbGljZS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL3NvbWUvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9zb3J0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
c3ViYXJyYXkvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS90b0xvY2FsZVN0cmluZy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL3RvU3RyaW5nL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvdmFsdWVzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9CaWdJbnQ2NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL0JpZ1VpbnQ2NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2N0b3JzLWJpZ2ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9mcm9tL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxl
dGUvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9HZXQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9HZXRPd25Qcm9wZXJ0eS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludAot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvT3du
UHJvcGVydHlLZXlzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9vZi9CaWdJbnQKLQogICAgIC0gdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy9hZGQvYmlnaW50CiAgICAgLSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL2FuZC9iaWdpbnQKICAg
ICAtIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MvY29tcGFyZUV4Y2hhbmdlL2JpZ2ludApAQCAtMTAx
LDQ2ICs1Myw2IEBAIHNraXA6CiAgICAgLSB0ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0
LXVuaWNvZGUtMTMuMC4wLWVzY2FwZWQuanMKICAgICAtIHRlc3QvbGFuZ3VhZ2UvaWRlbnRpZmll
cnMvc3RhcnQtdW5pY29kZS0xMy4wLjAuanMKIAotICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MDgwMAotICAgIC0gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvc2VhbC1iaWdpbnQ2NGFycmF5LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC9zZWFsLWJpZ3VpbnQ2NGFycmF5LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9zZXQvc3JjLXR5cGVkYXJyYXktYmlnLXRocm93cy5qcwotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9jdG9ycy90eXBlZGFycmF5LWFyZy9zcmMt
dHlwZWRhcnJheS1iaWctdGhyb3dzLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcvYmlnaW50LWluaGVyaXRl
ZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5
cGUvYmlnaW50LVN5bWJvbC5pdGVyYXRvci5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvYnVmZmVyL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAg
ICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2J5dGVM
ZW5ndGgvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvYnl0ZU9mZnNldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9jb3B5
V2l0aGluL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2VudHJpZXMvYmlnaW50LWluaGVyaXRlZC5qcwotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZXZlcnkv
YmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9wcm90b3R5cGUvZmlsbC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maWx0ZXIvYmlnaW50LWlu
aGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9w
cm90b3R5cGUvZmluZC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maW5kSW5kZXgvYmlnaW50LWluaGVyaXRl
ZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5
cGUvZm9yRWFjaC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9pbmRleE9mL2JpZ2ludC1pbmhlcml0ZWQuanMK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2pv
aW4vYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9wcm90b3R5cGUva2V5cy9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9i
aWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL3Byb3RvdHlwZS9sZW5ndGgvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvbWFwL2JpZ2ludC1pbmhl
cml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJv
dG90eXBlL3JlZHVjZS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9iaWdpbnQtaW5oZXJp
dGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3Rv
dHlwZS9yZXZlcnNlL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3NldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zbGlj
ZS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL3Byb3RvdHlwZS9zb21lL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3NvcnQvYmlnaW50LWlu
aGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9w
cm90b3R5cGUvc3ViYXJyYXkvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvYmlnaW50
LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9wcm90b3R5cGUvdG9TdHJpbmcvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdmFsdWVzL2JpZ2ludC1pbmhl
cml0ZWQuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3Mt
YnVpbHRpbnMvc3ViY2xhc3MtQmlnSW50NjRBcnJheS5qcwotICAgIC0gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJh
eS5qcwotICAgIC0gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0
aW5zL3N1YmNsYXNzLUJpZ0ludDY0QXJyYXkuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwot
CiAgICAgIyByZXF1aXJlcyBJQ1UgNjUgKGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5l
dC9icm93c2UvSUNVLTIwNjU0KQogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0L2VuLXVzLW51bWVyaWMtYXV0by5qcwogICAgIC0gdGVzdC9pbnRs
NDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9lbi11cy1udW1l
cmljLWF1dG8uanMKQEAgLTIxMiwzICsxMjQsNiBAQCBza2lwOgogICAgIC0gdGVzdC9pbnRsNDAy
L051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy91bml0LmpzCiAgICAgLSB0ZXN0
L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvY29tcGFjdERp
c3BsYXkuanMKICAgICAtIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvc3R5bGUtdW5pdC5qcwor
CisgICAgIyBOZXcgSUNVICg2Nn4pIHJhaXNlcyBhIGRpZmZlcmVudCBmYWlsdXJlCisgICAgLSB0
ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9yLW5vbi1pYW5hLWNhbm9uLmpzCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIv
ZXhwZWN0YXRpb25zLnlhbWwKaW5kZXggMzlkYmY4NTM0OTQxMTZiNDU0ZDVmNmVjMTNkYWY5NTkx
OWZjZDBiZC4uZjY5Zjg5MmZkNTgwOTUyMmUxZmI3NWVlYjI1MDc0ZmY1YTM4MmM3NyAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi9leHBlY3RhdGlvbnMueWFtbApAQCAtODIzLDYgKzgyMywxMiBAQCB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvdS1sYXN0aW5kZXgtYWR2LmpzOgogdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3F1YW50aWZpZXItaW50ZWdlci1saW1pdC5qczoKICAgZGVmYXVsdDogJ1N5bnRh
eEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogbnVtYmVyIHRvbyBsYXJnZSBpbiB7
fSBxdWFudGlmaWVyJwogICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3Vs
YXIgZXhwcmVzc2lvbjogbnVtYmVyIHRvbyBsYXJnZSBpbiB7fSBxdWFudGlmaWVyJwordGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsdGVyL0JpZ0ludC9jYWxsYmFja2ZuLWRl
dGFjaGJ1ZmZlci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogSW52YWxpZCBhcmd1bWVudCB0
eXBlIGluIFRvQmlnSW50IG9wZXJhdGlvbiAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScK
KyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IEludmFsaWQgYXJndW1lbnQgdHlwZSBpbiBUb0Jp
Z0ludCBvcGVyYXRpb24gKFRlc3Rpbmcgd2l0aCBCaWdJbnQ2NEFycmF5LiknCit0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvQmlnSW50L3ByZWRpY2F0ZS1tYXkt
ZGV0YWNoLWJ1ZmZlci5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogdGhyb3dzIGEgVHlw
ZUVycm9yIGdldHRpbmcgYSB2YWx1ZSBmcm9tIHRoZSBkZXRhY2hlZCBidWZmZXIgRXhwZWN0ZWQg
YSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBh
bGwgKFRlc3Rpbmcgd2l0aCBCaWdJbnQ2NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiB0aHJvd3MgYSBUeXBlRXJyb3IgZ2V0dGluZyBhIHZhbHVlIGZyb20gdGhlIGRldGFj
aGVkIGJ1ZmZlciBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKIHRl
c3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2UvZW4tVVMuanM6
CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE5
4oCJ4oCT4oCJMS81LzIwMTnCuywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1
ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEv
My8yMDE54oCJ4oCT4oCJMS81LzIwMTnCuywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8g
YmUgdHJ1ZScKQEAgLTg2NSw5ICs4NzEsNiBAQCB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmlj
YWxMb2NhbGVzL3VuaWNvZGUtZXh0LWtleS13aXRoLWRpZ2l0LmpzOgogdGVzdC9pbnRsNDAyL0xv
Y2FsZS9jb25zdHJ1Y3Rvci1hcHBseS1vcHRpb25zLWNhbm9uaWNhbGl6ZXMtdHdpY2UuanM6CiAg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3J1LUFybW4tU1XC
uywgwqtydS1Bcm1uLUFNwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtydS1Bcm1uLVNVwrssIMKrcnUtQXJtbi1BTcK7KSB0
byBiZSB0cnVlJwotdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5v
bi5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogbmV3IEludGwuTG9jYWxlKCJtbyIpLm1h
eGltaXplKCkudG9TdHJpbmcoKSByZXR1cm5zICJyby1MYXRuLVJPIiBFeHBlY3RlZCBTYW1lVmFs
dWUowqtyb8K7LCDCq3JvLUxhdG4tUk/CuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdU
ZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgibW8iKS5tYXhpbWl6ZSgpLnRvU3RyaW5nKCkg
cmV0dXJucyAicm8tTGF0bi1STyIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrcm/Cuywgwqtyby1MYXRu
LVJPwrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9yLW9wdGlv
bnMtcmVnaW9uLXZhbGlkLmpzOgogICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBuZXcgSW50bC5M
b2NhbGUoJ2VuJywge3JlZ2lvbjogXCI1NTRcIn0pLnRvU3RyaW5nKCkgcmV0dXJucyBcImVuLU5a
XCIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZW4tNTU0wrssIMKrZW4tTlrCuykgdG8gYmUgdHJ1ZSIK
ICAgc3RyaWN0IG1vZGU6ICJUZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgnZW4nLCB7cmVn
aW9uOiBcIjU1NFwifSkudG9TdHJpbmcoKSByZXR1cm5zIFwiZW4tTlpcIiBFeHBlY3RlZCBTYW1l
VmFsdWUowqtlbi01NTTCuywgwqtlbi1OWsK7KSB0byBiZSB0cnVlIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418814</attachid>
            <date>2021-01-30 02:29:08 -0800</date>
            <delta_ts>2021-01-31 00:35:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190800-20210130022907.patch</filename>
            <type>text/plain</type>
            <size>148720</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YTljMjI5YmI3ZmViZjJkZGJmZTNiZDI1Njg1OTAxZDYyYjAyMzZhLi5iZDBlNjdlMDYwNWY2MGM3
MThmMDIzZTViMDhhY2ViNzBmODExZTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNTQgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
QVBJL0pTVHlwZWRBcnJheS5jcHA6CisgICAgICAgICh0b0pTVHlwZWRBcnJheVR5cGUpOgorICAg
ICAgICAodG9UeXBlZEFycmF5VHlwZSk6CisgICAgICAgIChjcmVhdGVUeXBlZEFycmF5KToKKyAg
ICAgICAgKiBBUEkvSlNWYWx1ZVJlZi5oOgorICAgICAgICAqIEFQSS90ZXN0cy9UeXBlZEFycmF5
Q1Rlc3QuY3BwOgorICAgICAgICAoZm9yRWFjaFR5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAq
IGJ1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChmaWxsKToKKyAgICAg
ICAgKG1hcCk6CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJv
ZmlsZS5jcHA6CisgICAgICAgIChKU0M6OmR1bXBBcnJheU1vZGVzKToKKyAgICAgICAgKiBieXRl
Y29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9CeVZhbEluZm8uaDoKKyAg
ICAgICAgKEpTQzo6aml0QXJyYXlNb2RlRm9yQ2xhc3NJbmZvKToKKyAgICAgICAgKEpTQzo6aml0
QXJyYXlNb2RlUGVybWl0c1B1dCk6CisgICAgICAgIChKU0M6OnR5cGVkQXJyYXlUeXBlRm9ySklU
QXJyYXlNb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9MaW5rVGltZUNvbnN0YW50Lmg6CisgICAg
ICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAoSlNDOjpkdW1wU3Bl
Y3VsYXRpb24pOgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcp
OgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZSk6CisgICAgICAg
IChKU0M6OnR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3Bl
Y3VsYXRpb25Gcm9tU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5o
OgorICAgICAgICAoSlNDOjppc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChK
U0M6OmlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzRGlyZWN0
QXJndW1lbnRzU3BlY3VsYXRpb24pOgorICAgICAgICAoSlNDOjppc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjppc0FjdGlvbmFibGVGbG9hdE11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxl
VHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Omlz
QWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6aXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAg
ICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1v
ZGU6OmZyb21PYnNlcnZlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjpyZWZpbmUg
Y29uc3QpOgorICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQgY29u
c3QpOgorICAgICAgICAoSlNDOjpERkc6OmFycmF5VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKEpT
Qzo6REZHOjp0b1R5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjp0b0FycmF5VHlw
ZSk6CisgICAgICAgIChKU0M6OkRGRzo6cGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcpOgorICAg
ICAgICAqIGRmZy9ERkdBcnJheU1vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6
OnN1cHBvcnRzU2VsZkxlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2Rl
OjphcnJheU1vZGVzVGhhdFBhc3NGaWx0ZXJpbmcgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdD
bG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICog
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZp
eHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpERkc6OkpTQ19ERUZJTkVfSklUX09QRVJBVElPTik6CisgICAgICAgICogZGZnL0RGR09wZXJh
dGlvbnMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aFNp
emVGb3JUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0
aE9uZUFyZ3VtZW50Rm9yVHlwZSk6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdh
dGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0
bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlR2V0QnlWYWwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdU
b0IzOjpjb21waWxlUHV0QnlWYWwpOgorICAgICAgICAqIGluc3BlY3Rvci9KU0luamVjdGVkU2Ny
aXB0SG9zdC5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6OkpTSW5qZWN0ZWRTY3JpcHRIb3N0Ojpz
dWJ0eXBlKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlWYWwpOgorICAgICAgICAqIGppdC9SZXBhdGNo
LmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVBcnJheUdldEJ5VmFsKToKKyAgICAgICAgKiBs
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBydW50aW1lL0F0b21pY3NP
YmplY3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvQXRvbWljc09iamVjdC5oOgorICAgICAgICAq
IHJ1bnRpbWUvQmlnSW50NjRBcnJheS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwLgorICAgICAgICAqIHJ1bnRp
bWUvQmlnVWludDY0QXJyYXkuaDogQ29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcC4KKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXlCdWZmZXJWaWV3LmNwcDoKKyAgICAgICAgKEpTQzo6ZWxlbWVudFNpemUpOgorICAgICAg
ICAoSlNDOjp2YWxpZGF0ZVR5cGVkQXJyYXkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1
ZmZlclZpZXcuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisgICAgICAgICogcnVu
dGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRGF0YVZpZXcuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTRGF0YVZpZXdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpnZXREYXRh
KToKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBy
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dl
bmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dl
bmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpj
b25zdHJ1Y3RHZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzKToKKyAgICAgICAgKiBy
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
U0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6c2V0V2l0aFNwZWNpZmljVHlwZSk6Cisg
ICAgICAgIChKU0M6OkpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXQpOgorICAg
ICAgICAoSlNDOjpKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6Z2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleCk6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmll
d1Byb3RvdHlwZUZ1bmN0aW9ucy5oOgorICAgICAgICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZp
ZXdQcm90b0Z1bmNKb2luKToKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJv
dG9GdW5jU2xpY2UpOgorICAgICAgICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRl
RnVuY1N1YmFycmF5Q3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRp
bWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlv
bnMuaDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZS5jcHA6CisgICAgICAgIChXVEY6OnByaW50
SW50ZXJuYWwpOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlLmg6CisgICAgICAgICogcnVudGlt
ZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBl
ZEFycmF5Q29uc3RydWN0b3JzLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlQcm90
b3R5cGVzLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvSlNU
eXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5
cy5jcHA6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlzLmg6CisgICAgICAgICogcnVu
dGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oOgorICAgICAgICAoSlNDOjp0b05hdGl2ZUZyb21WYWx1
ZSk6CisgICAgICAgIChKU0M6OnRvTmF0aXZlRnJvbVZhbHVlV2l0aG91dENvZXJjaW9uKToKKyAg
ICAgICAgKiBydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oOgorICAgICAgICAoSlNDOjpJbnRl
Z3JhbFR5cGVkQXJyYXlBZGFwdG9yOjp0b0pTVmFsdWUpOgorICAgICAgICAoSlNDOjpGbG9hdFR5
cGVkQXJyYXlBZGFwdG9yOjp0b0pTVmFsdWUpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFy
cmF5QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFk
YXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJh
eUFkYXB0b3I6OnRvTmF0aXZlRnJvbVVpbnQzMik6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVk
QXJyYXlBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUpOgorICAgICAgICAoSlNDOjpCaWdJbnRU
eXBlZEFycmF5QWRhcHRvcjo6Y29udmVydFRvKToKKyAgICAgICAgKEpTQzo6VWludDhDbGFtcGVk
QWRhcHRvcjo6dG9KU1ZhbHVlKToKKyAgICAgICAgKEpTQzo6SW50ZWdyYWxUeXBlZEFycmF5QWRh
cHRvcjo6dG9Eb3VibGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpGbG9hdFR5cGVkQXJyYXlB
ZGFwdG9yOjp0b0RvdWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlVpbnQ4Q2xhbXBlZEFk
YXB0b3I6OnRvRG91YmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1R5cGVkQXJyYXlU
eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6Y29uc3RydWN0b3JDbGFzc0luZm9Gb3JUeXBlKToKKyAg
ICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5
VHlwZS5oOgorICAgICAgICAoSlNDOjppc0JpZ0ludFR5cGVkVmlldyk6CisgICAgICAgIChKU0M6
OmxvZ0VsZW1lbnRTaXplKToKKyAgICAgICAgKEpTQzo6aXNCaWdJbnQpOgorICAgICAgICAoSlND
Ojppc1NpZ25lZCk6CisgICAgICAgIChKU0M6OmNvbnRlbnRUeXBlKToKKyAgICAgICAgKiBydW50
aW1lL1R5cGVkQXJyYXlzLmg6CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgICog
cnVudGltZS9WTS5oOgorCiAyMDIxLTAxLTI5ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFNvdXJjZVBhcnNlTW9kZSBzaG91bGQgYmUgYSBtZW1iZXIg
b2YgdGhlIEpTQzo6UGFyc2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTVHlwZWRBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVHlwZWRBcnJh
eS5jcHAKaW5kZXggNjg5ZmU5ZTZmODc3NDJhODFkY2M2MTAzYjEyNDdlZGFhYWZhNzhjNi4uNDM2
ODUxOWJkNDU1MmM5YmM5OTYxYjVhYmE3MjhmZjQ0YzBiMjNjNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNUeXBlZEFycmF5LmNwcApAQCAtNjQsNiArNjQsMTAgQEAgaW5saW5lIEpT
VHlwZWRBcnJheVR5cGUgdG9KU1R5cGVkQXJyYXlUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAg
ICAgICAgIHJldHVybiBrSlNUeXBlZEFycmF5VHlwZUZsb2F0MzJBcnJheTsKICAgICBjYXNlIFR5
cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXk7
CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBrSlNUeXBlZEFycmF5VHlw
ZUJpZ0ludDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4g
a0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheTsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKIH0KQEAgLTkyLDYgKzk2LDEwIEBAIGlubGluZSBUeXBlZEFycmF5
VHlwZSB0b1R5cGVkQXJyYXlUeXBlKEpTVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICAgICAgcmV0
dXJuIFR5cGVGbG9hdDMyOwogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXk6
CiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQ2NDsKKyAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBl
QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdJbnQ2NDsKKyAgICBjYXNlIGtK
U1R5cGVkQXJyYXlUeXBlQmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnVWlu
dDY0OwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpAQCAtMTIz
LDYgKzEzMSwxMCBAQCBzdGF0aWMgSlNPYmplY3QqIGNyZWF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNUeXBlZEFycmF5VHlwZQogICAgICAgICByZXR1cm4gSlNG
bG9hdDMyQXJyYXk6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJh
eVN0cnVjdHVyZShUeXBlRmxvYXQzMiksIFdURk1vdmUoYnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgp
OwogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVGbG9hdDY0QXJyYXk6CiAgICAgICAgIHJldHVy
biBKU0Zsb2F0NjRBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT50eXBl
ZEFycmF5U3RydWN0dXJlKFR5cGVGbG9hdDY0KSwgV1RGTW92ZShidWZmZXIpLCBvZmZzZXQsIGxl
bmd0aCk7CisgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXk6CisgICAgICAg
IHJldHVybiBKU0JpZ0ludDY0QXJyYXk6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC0+dHlwZWRBcnJheVN0cnVjdHVyZShUeXBlQmlnSW50NjQpLCBXVEZNb3ZlKGJ1ZmZlciksIG9m
ZnNldCwgbGVuZ3RoKTsKKyAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlQmlnVWludDY0QXJyYXk6
CisgICAgICAgIHJldHVybiBKU0JpZ1VpbnQ2NEFycmF5OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBn
bG9iYWxPYmplY3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlwZUJpZ1VpbnQ2NCksIFdURk1vdmUo
YnVmZmVyKSwgb2Zmc2V0LCBsZW5ndGgpOwogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVBcnJh
eUJ1ZmZlcjoKICAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlTm9uZToKICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNWYWx1ZVJlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVm
LmgKaW5kZXggOTExYjRiZmM0ZGYxOWEwNDdkY2VhMDg0OGQ0ZDUyYzI4ZTc3ODdkZi4uMmE5MDc5
YWUwMDA2NTE5NDk3MDRhYWE0Y2NhNDg5YWY4MDZmY2Y2NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1ZhbHVlUmVmLmgKQEAgLTY2LDYgKzY2LDggQEAgdHlwZWRlZiBlbnVtIHsKICBAY29u
c3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlVWludDMyQXJyYXkgICAgICAgICAgVWludDMyQXJy
YXkKICBAY29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQzMkFycmF5ICAgICAgICAg
RmxvYXQzMkFycmF5CiAgQGNvbnN0YW50ICAgICBrSlNUeXBlZEFycmF5VHlwZUZsb2F0NjRBcnJh
eSAgICAgICAgIEZsb2F0NjRBcnJheQorIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVC
aWdJbnQ2NEFycmF5ICAgICAgICBCaWdJbnQ2NEFycmF5CisgQGNvbnN0YW50ICAgICBrSlNUeXBl
ZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5ICAgICAgIEJpZ1VpbnQ2NEFycmF5CiAgQGNvbnN0YW50
ICAgICBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyICAgICAgICAgIEFycmF5QnVmZmVyCiAg
QGNvbnN0YW50ICAgICBrSlNUeXBlZEFycmF5VHlwZU5vbmUgICAgICAgICAgICAgICAgIE5vdCBh
IFR5cGVkIEFycmF5CiAKQEAgLTgyLDYgKzg0LDggQEAgdHlwZWRlZiBlbnVtIHsKICAgICBrSlNU
eXBlZEFycmF5VHlwZUZsb2F0NjRBcnJheSwKICAgICBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVm
ZmVyLAogICAgIGtKU1R5cGVkQXJyYXlUeXBlTm9uZSwKKyAgICBrSlNUeXBlZEFycmF5VHlwZUJp
Z0ludDY0QXJyYXksCisgICAga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheSwKIH0gSlNU
eXBlZEFycmF5VHlwZSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7
CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3BwCmluZGV4IDIzN2JkNDY1ODZmMmZmNjA2MzljNjM2
Nzc2MTFhOGI1MGI2ODAyN2MuLjc1ZjU3MDdlNTIxNjczZTE5MjljNWQ3MzNjZjAyNzhlZGQxYTkz
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvVHlwZWRBcnJh
eUNUZXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJy
YXlDVGVzdC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxlbmd0
aHNbbnVtTGVuZ3Roc10gPQogICAgIDEwLAogfTsKIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGJ5
dGVTaXplc1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CitzdGF0aWMgY29uc3QgdW5z
aWduZWQgYnl0ZVNpemVzW10gPQogewogICAgIDEsIC8vIGtKU1R5cGVkQXJyYXlUeXBlSW50OEFy
cmF5CiAgICAgMiwgLy8ga0pTVHlwZWRBcnJheVR5cGVJbnQxNkFycmF5CkBAIC02MCw5ICs2MCwx
MyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgYnl0ZVNpemVzW2tKU1R5cGVkQXJyYXlUeXBlQXJy
YXlCdWZmZXJdID0KICAgICA0LCAvLyBrSlNUeXBlZEFycmF5VHlwZVVpbnQzMkFycmF5CiAgICAg
NCwgLy8ga0pTVHlwZWRBcnJheVR5cGVGbG9hdDMyQXJyYXkKICAgICA4LCAvLyBrSlNUeXBlZEFy
cmF5VHlwZUZsb2F0NjRBcnJheQorICAgIDAsIC8vIGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZm
ZXIKKyAgICAwLCAvLyBrSlNUeXBlZEFycmF5VHlwZU5vbmUKKyAgICA4LCAvLyBrSlNUeXBlZEFy
cmF5VHlwZUJpZ0ludDY0QXJyYXkKKyAgICA4LCAvLyBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2
NEFycmF5CiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciogdHlwZVRvU3RyaW5nW2tKU1R5cGVkQXJy
YXlUeXBlQXJyYXlCdWZmZXJdID0KK3N0YXRpYyBjb25zdCBjaGFyKiB0eXBlVG9TdHJpbmdbXSA9
CiB7CiAgICAgImtKU1R5cGVkQXJyYXlUeXBlSW50OEFycmF5IiwKICAgICAia0pTVHlwZWRBcnJh
eVR5cGVJbnQxNkFycmF5IiwKQEAgLTczLDYgKzc3LDEwIEBAIHN0YXRpYyBjb25zdCBjaGFyKiB0
eXBlVG9TdHJpbmdba0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcl0gPQogICAgICJrSlNUeXBl
ZEFycmF5VHlwZVVpbnQzMkFycmF5IiwKICAgICAia0pTVHlwZWRBcnJheVR5cGVGbG9hdDMyQXJy
YXkiLAogICAgICJrSlNUeXBlZEFycmF5VHlwZUZsb2F0NjRBcnJheSIsCisgICAgImtKU1R5cGVk
QXJyYXlUeXBlQXJyYXlCdWZmZXIiLAorICAgICJrSlNUeXBlZEFycmF5VHlwZU5vbmUiLAorICAg
ICJrSlNUeXBlZEFycmF5VHlwZUJpZ0ludDY0QXJyYXkiLAorICAgICJrSlNUeXBlZEFycmF5VHlw
ZUJpZ1VpbnQ2NEFycmF5IiwKIH07CiAKIGlubGluZSBpbnQgdW5leHBlY3RlZEV4Y2VwdGlvbihj
b25zdCBjaGFyKiBuYW1lKQpAQCAtMjEyLDggKzIyMCwxMCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
RnVuY3Rvcj4KIHN0YXRpYyBpbnQgZm9yRWFjaFR5cGVkQXJyYXlUeXBlKGNvbnN0IEZ1bmN0b3Im
IGZ1bmN0b3IpCiB7CiAgICAgaW50IGZhaWxlZCA9IDA7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXI7IGkrKykKLSAgICAgICAgZmFpbGVk
ID0gZmFpbGVkIHx8IGZ1bmN0b3Ioc3RhdGljX2Nhc3Q8SlNUeXBlZEFycmF5VHlwZT4oaSkpOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVy
OyBpKyspIHsKKyAgICAgICAgaWYgKGkgIT0ga0pTVHlwZWRBcnJheVR5cGVOb25lICYmIGkgIT0g
a0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcikKKyAgICAgICAgICAgIGZhaWxlZCA9IGZhaWxl
ZCB8fCBmdW5jdG9yKHN0YXRpY19jYXN0PEpTVHlwZWRBcnJheVR5cGU+KGkpKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGZhaWxlZDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGE2NGEzNjU0MmFlZjk1YTEwOTgzYWY4ZDk5NGFlZWJlM2ZkYmRhZTEuLjRkZjhhMjUwYzBj
OWJkMjIzZTU2ODZhZDdjNWY2N2Y5YTAxMGU3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTgyMiw4ICs4MjIsMTAgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1BSSVZBVEVf
RlJBTUVXT1JLX0hFQURFUlMKICAgICBydW50aW1lL0F1eGlsaWFyeUJhcnJpZXJJbmxpbmVzLmgK
ICAgICBydW50aW1lL0Jhc2ljQmxvY2tMb2NhdGlvbi5oCiAgICAgcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCisgICAgcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKICAgICBydW50
aW1lL0JpZ0ludE9iamVjdC5oCiAgICAgcnVudGltZS9CaWdJbnRQcm90b3R5cGUuaAorICAgIHJ1
bnRpbWUvQmlnVWludDY0QXJyYXkuaAogICAgIHJ1bnRpbWUvQm9vbGVhbk9iamVjdC5oCiAgICAg
cnVudGltZS9Cb29sZWFuUHJvdG90eXBlLmgKICAgICBydW50aW1lL0J1dHRlcmZseS5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgzZGU3OWI4NDFmOWIxZmEzOTUzNzI1ZDI1ZTIx
MTk1YjBkMDA0NTguLmQ2MmE0ZjQ0MWQ4OGQzYTEzODI5Y2Y2Y2ZmMmYxOWEyODZlMzM2NmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODQ4LDYgKzE4NDgsOCBAQAogCQlFMzVB
MEI5RDIyMEFEODdBMDBBQzQ0NzQgLyogRXhlY3V0YWJsZUJhc2VJbmxpbmVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzVBMEI5QzIyMEFEODdBMDBB
QzQ0NzQgLyogRXhlY3V0YWJsZUJhc2VJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1Q0ExNTQxREJDM0E1QzAwRjgzNTE2IC8qIERP
TUpJVEhlYXBSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTM1Q0ExNTIxREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNUNBMTU2MURC
QzNBNUYwMEY4MzUxNiAvKiBET01KSVRBYnN0cmFjdEhlYXAuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUNBMTUwMURCQzNBNTYwMEY4MzUxNiAvKiBE
T01KSVRBYnN0cmFjdEhlYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFMzVFODlGRDI1QzUwRjg3MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1RTg5RkIy
NUM1MEY4NjAwNzFFRTFFIC8qIEJpZ0ludDY0QXJyYXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMzVFODlGRTI1QzUwRjg3MDA3MUVFMUUgLyog
QmlnVWludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUzNUU4OUZDMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdVaW50NjRBcnJheS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNjM3RUU5MjM2
RTU2QjAwMDk2QkQwQSAvKiBMaW5rVGltZUNvbnN0YW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzYzN0VFNzIzNkU1NkIwMDA5NkJEMEEgLyogTGlu
a1RpbWVDb25zdGFudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUzNjVGMzNBMjRBQTYyMzkwMEM5OTFCMiAvKiBJbnRsRGlzcGxheU5hbWVzQ29u
c3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMzY1RjMzOTI0QUE2MjEyMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc0NvbnN0cnVj
dG9yLmx1dC5oICovOyB9OwogCQlFMzY1RjMzQjI0QUE2MjNCMDBDOTkxQjIgLyogSW50bERpc3Bs
YXlOYW1lc1Byb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNjVGMzM4MjRBQTYyMTEwMEM5OTFCMiAvKiBJbnRsRGlzcGxheU5hbWVz
UHJvdG90eXBlLmx1dC5oICovOyB9OwpAQCAtNTA2MSw2ICs1MDYzLDggQEAKIAkJRTM1Q0ExNTAx
REJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEFic3RyYWN0SGVhcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01KSVRBYnN0cmFjdEhlYXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTM1Q0ExNTExREJDM0E1NjAwRjgzNTE2IC8qIERPTUpJVEhlYXBSYW5nZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01KSVRIZWFwUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzVDQTE1MjFEQkMzQTU2MDBGODM1
MTYgLyogRE9NSklUSGVhcFJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTUpJVEhlYXBSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzVFODlG
QjI1QzUwRjg2MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCaWdJbnQ2NEFycmF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUUzNUU4OUZDMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdVaW50NjRBcnJheS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCaWdVaW50NjRBcnJheS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMzYzN0VFNzIzNkU1NkIwMDA5NkJEMEEgLyogTGlua1RpbWVDb25z
dGFudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMaW5rVGltZUNvbnN0YW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNjM3RUU4MjM2RTU2QjAwMDk2QkQw
QSAvKiBMaW5rVGltZUNvbnN0YW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExpbmtUaW1lQ29uc3RhbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFMzY1RjMzODI0QUE2MjExMDBDOTkxQjIgLyogSW50bERpc3BsYXlOYW1lc1Byb3RvdHlwZS5s
dXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50bERpc3BsYXlOYW1lc1By
b3RvdHlwZS5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTcxMzYsNiArNzE0
MCw3IEBACiAJCQkJNTI2NzhGOEMxQTAzMTAwOTAwNkEzMDZEIC8qIEJhc2ljQmxvY2tMb2NhdGlv
bi5jcHAgKi8sCiAJCQkJNTI2NzhGOEQxQTAzMTAwOTAwNkEzMDZEIC8qIEJhc2ljQmxvY2tMb2Nh
dGlvbi5oICovLAogCQkJCTE0N0I4M0FBMEU2REI4QzkwMDQ3NzVBNCAvKiBCYXRjaGVkVHJhbnNp
dGlvbk9wdGltaXplci5oICovLAorCQkJCUUzNUU4OUZCMjVDNTBGODYwMDcxRUUxRSAvKiBCaWdJ
bnQ2NEFycmF5LmggKi8sCiAJCQkJODY5NzZFNTgxRkEzNzU2RDAwRTdDNEUxIC8qIEJpZ0ludENv
bnN0cnVjdG9yLmNwcCAqLywKIAkJCQk4Njk3NkU1NzFGQTM3NTQwMDBFN0M0RTEgLyogQmlnSW50
Q29uc3RydWN0b3IuaCAqLywKIAkJCQk4NjY3MzlEMDEzQkZERTcxMDAyM0Q4N0MgLyogQmlnSW50
ZWdlci5oICovLApAQCAtNzE0Myw2ICs3MTQ4LDcgQEAKIAkJCQk4NjE4MTY3NjFGQjc5MjJGMDBF
Q0M0RUMgLyogQmlnSW50T2JqZWN0LmggKi8sCiAJCQkJODY5NzZFNUIxRkEzNzVBODAwRTdDNEUx
IC8qIEJpZ0ludFByb3RvdHlwZS5jcHAgKi8sCiAJCQkJODY5NzZFNUExRkEzNzU4QTAwRTdDNEUx
IC8qIEJpZ0ludFByb3RvdHlwZS5oICovLAorCQkJCUUzNUU4OUZDMjVDNTBGODcwMDcxRUUxRSAv
KiBCaWdVaW50NjRBcnJheS5oICovLAogCQkJCUJDNzk1MjMyMEUxNUVCNTYwMEE4OThBQiAvKiBC
b29sZWFuQ29uc3RydWN0b3IuY3BwICovLAogCQkJCUJDNzk1MjMzMEUxNUVCNTYwMEE4OThBQiAv
KiBCb29sZWFuQ29uc3RydWN0b3IuaCAqLywKIAkJCQlGNjkyQTg1MDAyNTU1OTdEMDFGRjYwRjcg
LyogQm9vbGVhbk9iamVjdC5jcHAgKi8sCkBAIC05MjU1LDEwICs5MjYxLDEyIEBACiAJCQkJMEYy
QzYzQjIxRTYwQUU0NzAwQzEzODM5IC8qIEIzV2lkdGguaCBpbiBIZWFkZXJzICovLAogCQkJCTUy
Njc4RjhGMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTE0N0I4M0FDMEU2REI4QzkwMDQ3NzVBNCAvKiBCYXRjaGVkVHJhbnNpdGlvbk9w
dGltaXplci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTM1RTg5RkQyNUM1MEY4NzAwNzFFRTFFIC8q
IEJpZ0ludDY0QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2OTc2RTVGMUZBM0U4QkMwMEU3
QzRFMSAvKiBCaWdJbnRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY2NzM5RDIx
M0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2MTgx
Njc3MUZCNzkyNDIwMEVDQzRFQyAvKiBCaWdJbnRPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg2OTc2RTVFMUZBM0U4QjYwMEU3QzRFMSAvKiBCaWdJbnRQcm90b3R5cGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUUzNUU4OUZFMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdVaW50NjRBcnJheS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY2NEIyNzIxQTc4NEJBRjAwNkU0RTY2IC8qIEJpbmFyeVN3aXRj
aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJCOTE2QzIxNERBMDE0RTAwQ0JBQzg2IC8qIEJsb2Nr
RGlyZWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzg2NTJFMzIzN0NBMEM5MDBFMUQ1RUUg
LyogQmxvY2tEaXJlY3RvcnlCaXRzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAppbmRleCA0NGM2YjIzNWVmZWNkMzUwNDZj
NzFmN2FiZTlkMmIzZjc1ZDM5ZjkxLi4zYjk0OTM3MTU4NjUzY2I3NjA1ZjQ0YjVkYzgyMDA0MGNk
MDY0MzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oCkBAIC03MCw2ICs3MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1hY3JvKFNldCkgXAog
ICAgIG1hY3JvKHRocm93VHlwZUVycm9yRnVuY3Rpb24pIFwKICAgICBtYWNybyh0eXBlZEFycmF5
TGVuZ3RoKSBcCisgICAgbWFjcm8odHlwZWRBcnJheUNvbnRlbnRUeXBlKSBcCiAgICAgbWFjcm8o
dHlwZWRBcnJheVNvcnQpIFwKICAgICBtYWNybyh0eXBlZEFycmF5R2V0T3JpZ2luYWxDb25zdHJ1
Y3RvcikgXAogICAgIG1hY3JvKHR5cGVkQXJyYXlTdWJhcnJheUNyZWF0ZSkgXApAQCAtOTgsNiAr
OTksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBtYWNybyhVaW50MzJBcnJheSkgXAogICAgIG1h
Y3JvKEZsb2F0MzJBcnJheSkgXAogICAgIG1hY3JvKEZsb2F0NjRBcnJheSkgXAorICAgIG1hY3Jv
KEJpZ0ludDY0QXJyYXkpIFwKKyAgICBtYWNybyhCaWdVaW50NjRBcnJheSkgXAogICAgIG1hY3Jv
KGV4ZWMpIFwKICAgICBtYWNybyhnZW5lcmF0b3IpIFwKICAgICBtYWNybyhnZW5lcmF0b3JOZXh0
KSBcCkBAIC0xNzMsNyArMTc2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8od2ViQXNz
ZW1ibHlJbnN0YW50aWF0ZVN0cmVhbWluZ0ludGVybmFsKSBcCiAgICAgbWFjcm8oaW5zdGFuY2VG
aWVsZEluaXRpYWxpemVyKSBcCiAgICAgbWFjcm8oaGFzT3duUHJvcGVydHlGdW5jdGlvbikgXAot
ICAgIG1hY3JvKGNyZWF0ZVByaXZhdGVTeW1ib2wpCisgICAgbWFjcm8oY3JlYXRlUHJpdmF0ZVN5
bWJvbCkgXAorICAgIG1hY3JvKHRvQmlnSW50KSBcCisgICAgbWFjcm8oaXNCaWdJbnRUeXBlZEFy
cmF5VmlldykKIAogbmFtZXNwYWNlIFN5bWJvbHMgewogI2RlZmluZSBERUNMQVJFX0JVSUxUSU5f
U1RBVElDX1NZTUJPTFMobmFtZSkgZXh0ZXJuIEpTX0VYUE9SVF9QUklWQVRFIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgbmFtZSMjU3ltYm9sOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcwppbmRleCA1YmZjNjA4MGNk
YTJlODI5MjdlNWVmZjBiYmNiNTRiMGUyMWY3NWUzLi4yZDUyYWYyNGZkMGY2MWFjODM0ZWQ4OWNh
ODg4Y2M5NjA2ZWE1ODhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcwpAQCAtOTEsNyArOTEsMTAgQEAgZnVuY3Rpb24g
ZmlsbCh2YWx1ZSAvKiBbLCBzdGFydCBbLCBlbmRdXSAqLykKIAogICAgIHZhciBsZW5ndGggPSBA
dHlwZWRBcnJheUxlbmd0aCh0aGlzKTsKIAotICAgIHZhciBudW1iZXIgPSBAdG9OdW1iZXIodmFs
dWUpOworICAgIGlmIChAaXNCaWdJbnRUeXBlZEFycmF5Vmlldyh0aGlzKSkKKyAgICAgICAgdmFy
IG51bWJlciA9IEB0b0JpZ0ludCh2YWx1ZSk7CisgICAgZWxzZQorICAgICAgICB2YXIgbnVtYmVy
ID0gQHRvTnVtYmVyKHZhbHVlKTsKIAogICAgIHZhciBzdGFydCA9IEB0eXBlZEFycmF5Q2xhbXBB
cmd1bWVudFRvU3RhcnRPckVuZChAYXJndW1lbnQoMSksIGxlbmd0aCwgMCk7CiAgICAgdmFyIGVu
ZCA9IEB0eXBlZEFycmF5Q2xhbXBBcmd1bWVudFRvU3RhcnRPckVuZChAYXJndW1lbnQoMiksIGxl
bmd0aCwgbGVuZ3RoKTsKQEAgLTMzNSw2ICszMzgsOCBAQCBmdW5jdGlvbiBtYXAoY2FsbGJhY2sg
LyosIHRoaXNBcmcgKi8pCiAgICAgdmFyIHJlc3VsdCA9IG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgp
OwogICAgIGlmIChAdHlwZWRBcnJheUxlbmd0aChyZXN1bHQpIDwgbGVuZ3RoKQogICAgICAgICBA
dGhyb3dUeXBlRXJyb3IoIlR5cGVkQXJyYXkucHJvdG90eXBlLm1hcCBjb25zdHJ1Y3RlZCB0eXBl
ZCBhcnJheSBvZiBpbnN1ZmZpY2llbnQgbGVuZ3RoIik7CisgICAgaWYgKEB0eXBlZEFycmF5Q29u
dGVudFR5cGUodGhpcykgIT09IEB0eXBlZEFycmF5Q29udGVudFR5cGUocmVzdWx0KSkKKyAgICAg
ICAgQHRocm93VHlwZUVycm9yKCJUeXBlZEFycmF5LnByb3RvdHlwZS5tYXAgY29uc3RydWN0ZWQg
dHlwZWQgYXJyYXkgb2YgZGlmZmVyZW50IGNvbnRlbnQgdHlwZSBmcm9tIHx0aGlzfCIpOwogCiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICB2YXIgbWFwcGVk
VmFsdWUgPSBjYWxsYmFjay5AY2FsbCh0aGlzQXJnLCB0aGlzW2ldLCBpLCB0aGlzKTsKQEAgLTM2
Niw2ICszNzEsOCBAQCBmdW5jdGlvbiBmaWx0ZXIoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pCiAg
ICAgdmFyIHJlc3VsdCA9IG5ldyBjb25zdHJ1Y3RvcihsZW5ndGgpOwogICAgIGlmIChAdHlwZWRB
cnJheUxlbmd0aChyZXN1bHQpIDwgbGVuZ3RoKQogICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlR5
cGVkQXJyYXkucHJvdG90eXBlLmZpbHRlciBjb25zdHJ1Y3RlZCB0eXBlZCBhcnJheSBvZiBpbnN1
ZmZpY2llbnQgbGVuZ3RoIik7CisgICAgaWYgKEB0eXBlZEFycmF5Q29udGVudFR5cGUodGhpcykg
IT09IEB0eXBlZEFycmF5Q29udGVudFR5cGUocmVzdWx0KSkKKyAgICAgICAgQHRocm93VHlwZUVy
cm9yKCJUeXBlZEFycmF5LnByb3RvdHlwZS5maWx0ZXIgY29uc3RydWN0ZWQgdHlwZWQgYXJyYXkg
b2YgZGlmZmVyZW50IGNvbnRlbnQgdHlwZSBmcm9tIHx0aGlzfCIpOwogCiAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKICAgICAgICAgcmVzdWx0W2ldID0ga2VwdFtpXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAKaW5kZXgg
MWZjNzY3ODUxZWVlODlkMTc0YTgwMDkxMGM1M2E4ZThkMzAyNTcwMC4uOTQ1ZWE4OWE5ZGQ4ZjI0
Y2Y4NzllNTViMmE0OTQyOGNhZjFjZGEyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAKQEAgLTQ0LDYgKzQ0LDggQEAgY29uc3QgQXJyYXlN
b2RlcyB0eXBlZEFycmF5TW9kZXNbTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdEYXRh
Vmlld10gPSB7CiAgICAgVWludDMyQXJyYXlNb2RlLAogICAgIEZsb2F0MzJBcnJheU1vZGUsCiAg
ICAgRmxvYXQ2NEFycmF5TW9kZSwKKyAgICBCaWdJbnQ2NEFycmF5TW9kZSwKKyAgICBCaWdVaW50
NjRBcnJheU1vZGUsCiB9OwogCiB2b2lkIGR1bXBBcnJheU1vZGVzKFByaW50U3RyZWFtJiBvdXQs
IEFycmF5TW9kZXMgYXJyYXlNb2RlcykKQEAgLTExMCw2ICsxMTIsMTAgQEAgdm9pZCBkdW1wQXJy
YXlNb2RlcyhQcmludFN0cmVhbSYgb3V0LCBBcnJheU1vZGVzIGFycmF5TW9kZXMpCiAgICAgICAg
IG91dC5wcmludChjb21tYSwgIkZsb2F0MzJBcnJheU1vZGUiKTsKICAgICBpZiAoYXJyYXlNb2Rl
cyAmIEZsb2F0NjRBcnJheU1vZGUpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgIkZsb2F0NjRB
cnJheU1vZGUiKTsKKyAgICBpZiAoYXJyYXlNb2RlcyAmIEJpZ0ludDY0QXJyYXlNb2RlKQorICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJCaWdJbnQ2NEFycmF5TW9kZSIpOworICAgIGlmIChhcnJh
eU1vZGVzICYgQmlnVWludDY0QXJyYXlNb2RlKQorICAgICAgICBvdXQucHJpbnQoY29tbWEsICJC
aWdVaW50NjRBcnJheU1vZGUiKTsKIH0KIAogdm9pZCBBcnJheVByb2ZpbGU6OmNvbXB1dGVVcGRh
dGVkUHJlZGljdGlvbihjb25zdCBDb25jdXJyZW50SlNMb2NrZXImIGxvY2tlciwgQ29kZUJsb2Nr
KiBjb2RlQmxvY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QXJyYXlQcm9maWxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9m
aWxlLmgKaW5kZXggOTQyNjU3YzYyZjA3NDljYTA1YzRlZWU0ZDY3Yjk1ZmU2NDU1ZDllNy4uNmRj
N2IwZTU0NDdmZTA2MGRiY2JkMjRkOTkwOTc1NjU3OWZjNjU3NCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaApAQCAtNDcsMTUgKzQ3LDE3IEBAIGNv
bnN0IEFycmF5TW9kZXMgQ29weU9uV3JpdGVBcnJheVdpdGhJbnQzMkFycmF5TW9kZSA9IDEgPDwg
Q29weU9uV3JpdGVBcnJheVdpdGhJCiBjb25zdCBBcnJheU1vZGVzIENvcHlPbldyaXRlQXJyYXlX
aXRoRG91YmxlQXJyYXlNb2RlID0gMSA8PCBDb3B5T25Xcml0ZUFycmF5V2l0aERvdWJsZTsKIGNv
bnN0IEFycmF5TW9kZXMgQ29weU9uV3JpdGVBcnJheVdpdGhDb250aWd1b3VzQXJyYXlNb2RlID0g
MSA8PCBDb3B5T25Xcml0ZUFycmF5V2l0aENvbnRpZ3VvdXM7CiAKLWNvbnN0IEFycmF5TW9kZXMg
SW50OEFycmF5TW9kZSA9IDEgPDwgMTY7Ci1jb25zdCBBcnJheU1vZGVzIEludDE2QXJyYXlNb2Rl
ID0gMSA8PCAxNzsKLWNvbnN0IEFycmF5TW9kZXMgSW50MzJBcnJheU1vZGUgPSAxIDw8IDE4Owot
Y29uc3QgQXJyYXlNb2RlcyBVaW50OEFycmF5TW9kZSA9IDEgPDwgMTk7Ci1jb25zdCBBcnJheU1v
ZGVzIFVpbnQ4Q2xhbXBlZEFycmF5TW9kZSA9IDEgPDwgMjA7IC8vIDIxIC0gMjUgYXJlIHVzZWQg
Zm9yIENvVyBhcnJheXMuCi1jb25zdCBBcnJheU1vZGVzIFVpbnQxNkFycmF5TW9kZSA9IDEgPDwg
MjY7Ci1jb25zdCBBcnJheU1vZGVzIFVpbnQzMkFycmF5TW9kZSA9IDEgPDwgMjc7Ci1jb25zdCBB
cnJheU1vZGVzIEZsb2F0MzJBcnJheU1vZGUgPSAxIDw8IDI4OwotY29uc3QgQXJyYXlNb2RlcyBG
bG9hdDY0QXJyYXlNb2RlID0gMSA8PCAyOTsKK2NvbnN0IEFycmF5TW9kZXMgSW50OEFycmF5TW9k
ZSA9IDFVIDw8IDE2OworY29uc3QgQXJyYXlNb2RlcyBJbnQxNkFycmF5TW9kZSA9IDFVIDw8IDE3
OworY29uc3QgQXJyYXlNb2RlcyBJbnQzMkFycmF5TW9kZSA9IDFVIDw8IDE4OworY29uc3QgQXJy
YXlNb2RlcyBVaW50OEFycmF5TW9kZSA9IDFVIDw8IDE5OworY29uc3QgQXJyYXlNb2RlcyBVaW50
OENsYW1wZWRBcnJheU1vZGUgPSAxVSA8PCAyMDsgLy8gMjEgLSAyNSBhcmUgdXNlZCBmb3IgQ29X
IGFycmF5cy4KK2NvbnN0IEFycmF5TW9kZXMgVWludDE2QXJyYXlNb2RlID0gMVUgPDwgMjY7Citj
b25zdCBBcnJheU1vZGVzIFVpbnQzMkFycmF5TW9kZSA9IDFVIDw8IDI3OworY29uc3QgQXJyYXlN
b2RlcyBGbG9hdDMyQXJyYXlNb2RlID0gMVUgPDwgMjg7Citjb25zdCBBcnJheU1vZGVzIEZsb2F0
NjRBcnJheU1vZGUgPSAxVSA8PCAyOTsKK2NvbnN0IEFycmF5TW9kZXMgQmlnSW50NjRBcnJheU1v
ZGUgPSAxVSA8PCAzMDsKK2NvbnN0IEFycmF5TW9kZXMgQmlnVWludDY0QXJyYXlNb2RlID0gMVUg
PDwgMzE7CiAKIEpTX0VYUE9SVF9QUklWQVRFIGV4dGVybiBjb25zdCBBcnJheU1vZGVzIHR5cGVk
QXJyYXlNb2Rlc1tOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3XTsKIApA
QCAtNzQsNiArNzYsOCBAQCBjb25zdGV4cHIgQXJyYXlNb2RlcyBhc0FycmF5TW9kZXNJZ25vcmlu
Z1R5cGVkQXJyYXlzKEluZGV4aW5nVHlwZSBpbmRleGluZ01vZGUpCiAgICAgfCBVaW50MzJBcnJh
eU1vZGUgICAgICAgICBcCiAgICAgfCBGbG9hdDMyQXJyYXlNb2RlICAgICAgICBcCiAgICAgfCBG
bG9hdDY0QXJyYXlNb2RlICAgICAgICBcCisgICAgfCBCaWdJbnQ2NEFycmF5TW9kZSAgICAgICBc
CisgICAgfCBCaWdVaW50NjRBcnJheU1vZGUgICAgICBcCiAgICAgKQogCiAjZGVmaW5lIEFMTF9O
T05fQVJSQVlfQVJSQVlfTU9ERVMgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeVZhbEluZm8uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeVZhbEluZm8uaAppbmRleCAwM2JiODg5MTU4YThiODI4YTBi
ZWM3OWFmZGM1MTAxODE3OWFjZjA2Li41NDk3NDUzYzk4OTFjMDJhNWI0MDVjYTQzM2MyODFlYzgz
NWI0NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJ
bmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCkBA
IC01Niw3ICs1Niw5IEBAIGVudW0gSklUQXJyYXlNb2RlIDogdWludDhfdCB7CiAgICAgSklUVWlu
dDE2QXJyYXksCiAgICAgSklUVWludDMyQXJyYXksCiAgICAgSklURmxvYXQzMkFycmF5LAotICAg
IEpJVEZsb2F0NjRBcnJheQorICAgIEpJVEZsb2F0NjRBcnJheSwKKyAgICBKSVRCaWdJbnQ2NEFy
cmF5LAorICAgIEpJVEJpZ1VpbnQ2NEFycmF5LAogfTsKIAogaW5saW5lIGJvb2wgaXNPcHRpbWl6
YWJsZUluZGV4aW5nVHlwZShJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQpAQCAtMTQ2LDYgKzE0
OCwxMCBAQCBpbmxpbmUgSklUQXJyYXlNb2RlIGppdEFycmF5TW9kZUZvckNsYXNzSW5mbyhjb25z
dCBDbGFzc0luZm8qIGNsYXNzSW5mbykKICAgICAgICAgcmV0dXJuIEpJVEZsb2F0MzJBcnJheTsK
ICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4gSklURmxvYXQ2NEFycmF5Owor
ICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gSklUQmlnSW50NjRBcnJheTsK
KyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVybiBKSVRCaWdVaW50NjRBcnJh
eTsKICAgICBkZWZhdWx0OgogICAgICAgICBDUkFTSCgpOwogICAgICAgICByZXR1cm4gSklUQ29u
dGlndW91czsKQEAgLTE1Nyw2ICsxNjMsOCBAQCBpbmxpbmUgYm9vbCBqaXRBcnJheU1vZGVQZXJt
aXRzUHV0KEpJVEFycmF5TW9kZSBtb2RlKQogICAgIHN3aXRjaCAobW9kZSkgewogICAgIGNhc2Ug
SklURGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgSklUU2NvcGVkQXJndW1lbnRzOgorICAgIGNh
c2UgSklUQmlnSW50NjRBcnJheToKKyAgICBjYXNlIEpJVEJpZ1VpbnQ2NEFycmF5OgogICAgICAg
ICAvLyBXZSBjb3VsZCBzdXBwb3J0IHB1dF9ieV92YWwgb24gdGhlc2UgYXQgc29tZSBwb2ludCwg
YnV0IGl0J3MganVzdCBub3QgdGhhdCBwcm9maXRhYmxlCiAgICAgICAgIC8vIGF0IHRoZSBtb21l
bnQuCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIwNiw2ICsyMTQsMTAgQEAgaW5saW5lIFR5
cGVkQXJyYXlUeXBlIHR5cGVkQXJyYXlUeXBlRm9ySklUQXJyYXlNb2RlKEpJVEFycmF5TW9kZSBt
b2RlKQogICAgICAgICByZXR1cm4gVHlwZUZsb2F0MzI7CiAgICAgY2FzZSBKSVRGbG9hdDY0QXJy
YXk6CiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQ2NDsKKyAgICBjYXNlIEpJVEJpZ0ludDY0QXJy
YXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBKSVRCaWdVaW50NjRB
cnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdVaW50NjQ7CiAgICAgZGVmYXVsdDoKICAgICAg
ICAgQ1JBU0goKTsKICAgICAgICAgcmV0dXJuIE5vdFR5cGVkQXJyYXk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaAppbmRleCBlZmFkNDBk
ZGQ0MWYyNGUyNDVkN2E2NWRiNWUwOTFhZWI1ODlmMDgyLi42Yjg5OTIyM2YxNjgwN2ZkZjE3NDgx
ZTEzZmM2ZDYwZTY0ODc4OTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9MaW5rVGltZUNvbnN0YW50LmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgSlNHbG9iYWxP
YmplY3Q7CiAgICAgdihtYWtlVHlwZUVycm9yLCBudWxscHRyKSBcCiAgICAgdihBZ2dyZWdhdGVF
cnJvciwgbnVsbHB0cikgXAogICAgIHYodHlwZWRBcnJheUxlbmd0aCwgbnVsbHB0cikgXAorICAg
IHYodHlwZWRBcnJheUNvbnRlbnRUeXBlLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFycmF5R2V0
T3JpZ2luYWxDb25zdHJ1Y3RvciwgbnVsbHB0cikgXAogICAgIHYodHlwZWRBcnJheVNvcnQsIG51
bGxwdHIpIFwKICAgICB2KGlzVHlwZWRBcnJheVZpZXcsIG51bGxwdHIpIFwKQEAgLTExMCw2ICsx
MTEsOCBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdDsKICAgICB2KGNhbGxGdW5jdGlvbiwgbnVsbHB0
cikgXAogICAgIHYoaGFzT3duUHJvcGVydHlGdW5jdGlvbiwgbnVsbHB0cikgXAogICAgIHYoY3Jl
YXRlUHJpdmF0ZVN5bWJvbCwgbnVsbHB0cikgXAorICAgIHYodG9CaWdJbnQsIG51bGxwdHIpIFwK
KyAgICB2KGlzQmlnSW50VHlwZWRBcnJheVZpZXcsIG51bGxwdHIpIFwKIAogCiAjZGVmaW5lIERF
Q0xBUkVfTElOS19USU1FX0NPTlNUQU5UKG5hbWUsIGNvZGUpIG5hbWUsCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcAppbmRleCA3NTYwYjM5
OTg3ZmU4MTFmMmYyNzRjYWM4NjVkNTVkMGJhZTI2NmMzLi5iZTlhYzY2ZWUzYTdhMDhhYTM1NjYw
OGM1NTQ4MWE2N2VlZGRlZWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKQEAgLTE0OCw3ICsxNDgsMTcgQEAgdm9pZCBkdW1wU3Bl
Y3VsYXRpb24oUHJpbnRTdHJlYW0mIG91dFN0cmVhbSwgU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiAg
ICAgICAgICAgICAgICAgc3RyT3V0LnByaW50KCJGbG9hdDY0QXJyYXkiKTsKICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICBpc1RvcCA9IGZhbHNlOwotICAgIAorCisgICAgICAgICAg
ICBpZiAodmFsdWUgJiBTcGVjQmlnSW50NjRBcnJheSkKKyAgICAgICAgICAgICAgICBzdHJPdXQu
cHJpbnQoIkJpZ0ludDY0QXJyYXkiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBpc1RvcCA9IGZhbHNlOworCisgICAgICAgICAgICBpZiAodmFsdWUgJiBTcGVjQmlnVWludDY0
QXJyYXkpCisgICAgICAgICAgICAgICAgc3RyT3V0LnByaW50KCJCaWdVaW50NjRBcnJheSIpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7CisKICAgICAg
ICAgICAgIGlmICh2YWx1ZSAmIFNwZWNGdW5jdGlvbikKICAgICAgICAgICAgICAgICBzdHJPdXQu
cHJpbnQoIkZ1bmN0aW9uIik7CiAgICAgICAgICAgICBlbHNlCkBAIC0zNTksNiArMzY5LDEwIEBA
IHN0YXRpYyBjb25zdCBjaGFyKiBzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcoU3BlY3Vs
YXRlZFR5cGUgcHJlZGljdGlvbikKICAgICAgICAgcmV0dXJuICI8RmxvYXQzMmFycmF5PiI7CiAg
ICAgaWYgKGlzRmxvYXQ2NEFycmF5U3BlY3VsYXRpb24ocHJlZGljdGlvbikpCiAgICAgICAgIHJl
dHVybiAiPEZsb2F0NjRhcnJheT4iOworICAgIGlmIChpc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlv
bihwcmVkaWN0aW9uKSkKKyAgICAgICAgcmV0dXJuICI8QmlnSW50NjRhcnJheT4iOworICAgIGlm
IChpc0JpZ1VpbnQ2NEFycmF5U3BlY3VsYXRpb24ocHJlZGljdGlvbikpCisgICAgICAgIHJldHVy
biAiPEJpZ1VpbnQ2NGFycmF5PiI7CiAgICAgaWYgKGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRp
b24ocHJlZGljdGlvbikpCiAgICAgICAgIHJldHVybiAiPERpcmVjdEFyZ3VtZW50cz4iOwogICAg
IGlmIChpc1Njb3BlZEFyZ3VtZW50c1NwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQpAQCAtNDI0LDYg
KzQzOCwxMCBAQCBTcGVjdWxhdGVkVHlwZSBzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZShU
eXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0MzJBcnJheTsKICAg
ICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0NjRBcnJheTsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdJbnQ2NEFycmF5Owor
ICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdVaW50NjRBcnJh
eTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAg
ICAgIGJyZWFrOwpAQCAtNjU2LDYgKzY3NCwxMiBAQCBUeXBlZEFycmF5VHlwZSB0eXBlZEFycmF5
VHlwZUZyb21TcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB0eXBlKQogICAgICAgICAKICAgICBp
ZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbih0eXBlKSkKICAgICAgICAgcmV0dXJuIFR5cGVG
bG9hdDY0OworCisgICAgaWYgKGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQorICAg
ICAgICByZXR1cm4gVHlwZUJpZ0ludDY0OworCisgICAgaWYgKGlzQmlnVWludDY0QXJyYXlTcGVj
dWxhdGlvbih0eXBlKSkKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdVaW50NjQ7CiAgICAgCiAgICAg
cmV0dXJuIE5vdFR5cGVkQXJyYXk7CiB9CkBAIC05MDIsNiArOTI2LDEwIEBAIFNwZWN1bGF0ZWRU
eXBlIHNwZWN1bGF0aW9uRnJvbVN0cmluZyhjb25zdCBjaGFyKiBzcGVjdWxhdGlvbikKICAgICAg
ICAgcmV0dXJuIFNwZWNGbG9hdDMyQXJyYXk7CiAgICAgaWYgKCFzdHJuY21wKHNwZWN1bGF0aW9u
LCAiU3BlY0Zsb2F0NjRBcnJheSIsIHN0cmxlbigiU3BlY0Zsb2F0NjRBcnJheSIpKSkKICAgICAg
ICAgcmV0dXJuIFNwZWNGbG9hdDY0QXJyYXk7CisgICAgaWYgKCFzdHJuY21wKHNwZWN1bGF0aW9u
LCAiU3BlY0JpZ0ludDY0QXJyYXkiLCBzdHJsZW4oIlNwZWNCaWdJbnQ2NEFycmF5IikpKQorICAg
ICAgICByZXR1cm4gU3BlY0JpZ0ludDY0QXJyYXk7CisgICAgaWYgKCFzdHJuY21wKHNwZWN1bGF0
aW9uLCAiU3BlY0JpZ1VpbnQ2NEFycmF5Iiwgc3RybGVuKCJTcGVjQmlnVWludDY0QXJyYXkiKSkp
CisgICAgICAgIHJldHVybiBTcGVjQmlnVWludDY0QXJyYXk7CiAgICAgaWYgKCFzdHJuY21wKHNw
ZWN1bGF0aW9uLCAiU3BlY1R5cGVkQXJyYXlWaWV3Iiwgc3RybGVuKCJTcGVjVHlwZWRBcnJheVZp
ZXciKSkpCiAgICAgICAgIHJldHVybiBTcGVjVHlwZWRBcnJheVZpZXc7CiAgICAgaWYgKCFzdHJu
Y21wKHNwZWN1bGF0aW9uLCAiU3BlY0RpcmVjdEFyZ3VtZW50cyIsIHN0cmxlbigiU3BlY0RpcmVj
dEFyZ3VtZW50cyIpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9TcGVjdWxhdGVkVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1
bGF0ZWRUeXBlLmgKaW5kZXggODNlNjgzNWNkMWMxY2M4YzViZmVhZmQzODYyZDVmZDE1NTA2NDg4
OS4uZDU5MDZmNTc5ZTFiZWMzZmQ0YjEzYjM2MTY3ODdhNWM3ZWMxYWFlOCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmgKQEAgLTUxLDQwICs1
MSw0MiBAQCBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNVaW50OEFycmF5ICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8CiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNVaW50OENsYW1wZWRBcnJheSAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDg7
IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50OENsYW1wZWRBcnJheSBvciBvbmUgb2YgaXRzIHN1
YmNsYXNzZXMuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNVaW50MTZBcnJh
eSAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDk7IC8vIEl0J3MgZGVmaW5pdGVseSBh
biBVaW50MTZBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCiBzdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNVaW50MzJBcnJheSAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDEwOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gVWludDMyQXJyYXkgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRmxvYXQz
MkFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxMTsgLy8gSXQncyBkZWZpbml0
ZWx5IGFuIFVpbnQxNkFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25z
dGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Zsb2F0NjRBcnJheSAgICAgICAgICAgICAgICAgICAg
ICA9IDF1bGwgPDwgMTI7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50MTZBcnJheSBvciBvbmUg
b2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNU
eXBlZEFycmF5VmlldyAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50OEFycmF5IHwgU3BlY0lu
dDE2QXJyYXkgfCBTcGVjSW50MzJBcnJheSB8IFNwZWNVaW50OEFycmF5IHwgU3BlY1VpbnQ4Q2xh
bXBlZEFycmF5IHwgU3BlY1VpbnQxNkFycmF5IHwgU3BlY1VpbnQzMkFycmF5IHwgU3BlY0Zsb2F0
MzJBcnJheSB8IFNwZWNGbG9hdDY0QXJyYXk7Ci1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNEaXJlY3RBcmd1bWVudHMgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEzOyAv
LyBJdCdzIGRlZmluaXRlbHkgYSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0Lgotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU2NvcGVkQXJndW1lbnRzICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAxNDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU2NvcGVkQXJndW1lbnRzIG9iamVj
dC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0cmluZ09iamVjdCAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTU7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN0cmlu
Z09iamVjdC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1JlZ0V4cE9iamVj
dCAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTY7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IFJlZ0V4cE9iamVjdCAoYW5kIG5vdCBhbnkgc3ViY2xhc3Mgb2YgUmVnRXhwT2JqZWN0KS4KLXN0
YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RhdGVPYmplY3QgICAgICAgICAgICAg
ICAgICAgICAgICA9IDF1bGwgPDwgMTc7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERhdGUgb2JqZWN0
IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY1Byb21pc2VPYmplY3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTg7IC8v
IEl0J3MgZGVmaW5pdGVseSBhIFByb21pc2Ugb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nl
cy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01hcE9iamVjdCAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIE1hcCBv
YmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAy
MDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNz
ZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNXZWFrTWFwT2JqZWN0ICAg
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDIxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFr
TWFwIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNXZWFrU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDIyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFrU2V0IG9iamVjdCBvciBvbmUgb2YgaXRz
IHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm94eU9i
amVjdCAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDIzOyAvLyBJdCdzIGRlZmluaXRl
bHkgYSBQcm94eSBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGVyaXZlZEFycmF5ICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAyNDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgRGVyaXZlZEFycmF5IG9iamVjdC4K
LXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY09iamVjdE90aGVyICAgICAgICAg
ICAgICAgICAgICAgICA9IDF1bGwgPDwgMjU7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBvYmplY3Qg
YnV0IG5vdCBKU0ZpbmFsT2JqZWN0LCBKU0FycmF5LCBvciBKU0Z1bmN0aW9uLgotc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5nSWRlbnQgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCAyNjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdz
IGFuIGlkZW50aWZpZXIuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJp
bmdWYXIgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI3OyAvLyBJdCdzIGRlZmlu
aXRlbHkgYSBKU1N0cmluZywgYW5kIGl0J3Mgbm90IGFuIGlkZW50aWZpZXIuCitzdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGbG9hdDMyQXJyYXkgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDExOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gRmxvYXQzMkFycmF5IG9yIG9u
ZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0Zsb2F0NjRBcnJheSAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTI7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhbiBGbG9hdDY0QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQmlnSW50NjRBcnJheSAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAxMzsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEJpZ0ludDY0QXJy
YXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjQmlnVWludDY0QXJyYXkgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNDsg
Ly8gSXQncyBkZWZpbml0ZWx5IGFuIEJpZ1VpbnQ2NEFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xh
c3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1R5cGVkQXJyYXlWaWV3
ICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQ4QXJyYXkgfCBTcGVjSW50MTZBcnJheSB8IFNw
ZWNJbnQzMkFycmF5IHwgU3BlY1VpbnQ4QXJyYXkgfCBTcGVjVWludDhDbGFtcGVkQXJyYXkgfCBT
cGVjVWludDE2QXJyYXkgfCBTcGVjVWludDMyQXJyYXkgfCBTcGVjRmxvYXQzMkFycmF5IHwgU3Bl
Y0Zsb2F0NjRBcnJheSB8IFNwZWNCaWdJbnQ2NEFycmF5IHwgU3BlY0JpZ1VpbnQ2NEFycmF5Owor
c3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGlyZWN0QXJndW1lbnRzICAgICAg
ICAgICAgICAgICAgID0gMXVsbCA8PCAxNTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgRGlyZWN0QXJn
dW1lbnRzIG9iamVjdC4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Njb3Bl
ZEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMTY7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIFNjb3BlZEFyZ3VtZW50cyBvYmplY3QuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNTdHJpbmdPYmplY3QgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE3
OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTdHJpbmdPYmplY3QuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNSZWdFeHBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDE4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBSZWdFeHBPYmplY3QgKGFuZCBub3QgYW55IHN1
YmNsYXNzIG9mIFJlZ0V4cE9iamVjdCkuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBl
IFNwZWNEYXRlT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE5OyAvLyBJ
dCdzIGRlZmluaXRlbHkgYSBEYXRlIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm9taXNlT2JqZWN0ICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDIwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBQcm9taXNlIG9i
amVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNNYXBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDIx
OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBNYXAgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nl
cy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1NldE9iamVjdCAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjI7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFNldCBv
YmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjV2Vha01hcE9iamVjdCAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAy
MzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgV2Vha01hcCBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJj
bGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjV2Vha1NldE9iamVj
dCAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNDsgLy8gSXQncyBkZWZpbml0ZWx5IGEg
V2Vha1NldCBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhw
ciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJveHlPYmplY3QgICAgICAgICAgICAgICAgICAgICAgID0g
MXVsbCA8PCAyNTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJveHkgb2JqZWN0IG9yIG9uZSBvZiBp
dHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Rlcml2
ZWRBcnJheSAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjY7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIERlcml2ZWRBcnJheSBvYmplY3QuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNPYmplY3RPdGhlciAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI3OyAv
LyBJdCdzIGRlZmluaXRlbHkgYW4gb2JqZWN0IGJ1dCBub3QgSlNGaW5hbE9iamVjdCwgSlNBcnJh
eSwgb3IgSlNGdW5jdGlvbi4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0
cmluZ0lkZW50ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjg7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBhbiBpZGVudGlmaWVyLgorc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5nVmFyICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAyOTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdzIG5v
dCBhbiBpZGVudGlmaWVyLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3Ry
aW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY1N0cmluZ0lkZW50IHwgU3BlY1N0
cmluZ1ZhcjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNTeW1ib2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDI4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTeW1ib2wuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3RoZXIgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDI5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU0NlbGwgYnV0IG5vdCBhIHN1YmNsYXNz
IG9mIEpTT2JqZWN0IGFuZCBkZWZpbml0ZWx5IG5vdCBhIEpTU3RyaW5nLCBCaWdJbnQsIG9yIFN5
bWJvbC4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Jvb2xJbnQzMiAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJ
bnQzMiB3aXRoIHZhbHVlIDAgb3IgMS4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
U3BlY05vbkJvb2xJbnQzMiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzE7IC8vIEl0
J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVlIG90aGVyIHRoYW4gMCBvciAxLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3ltYm9sICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzMDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgU3ltYm9sLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQ2VsbE90aGVyICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzMTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNDZWxsIGJ1dCBu
b3QgYSBzdWJjbGFzcyBvZiBKU09iamVjdCBhbmQgZGVmaW5pdGVseSBub3QgYSBKU1N0cmluZywg
QmlnSW50LCBvciBTeW1ib2wuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNC
b29sSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMyOyAvLyBJdCdzIGRl
ZmluaXRlbHkgYW4gSW50MzIgd2l0aCB2YWx1ZSAwIG9yIDEuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNOb25Cb29sSW50MzIgICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDMzOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50MzIgd2l0aCB2YWx1ZSBvdGhlciB0aGFu
IDAgb3IgMS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0ludDMyT25seSAg
ICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNCb29sSW50MzIgfCBTcGVjTm9uQm9vbEludDMy
OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gSW50MzIuCiAKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY0ludDMyQXNJbnQ1MiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwg
MzI7IC8vIEl0J3MgYW4gSW50NTIgYW5kIGl0IGNhbiBmaXQgaW4gYW4gaW50MzIuCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnQzMkFzSW50NTIgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDMzOyAvLyBJdCdzIGFuIEludDUyIGFuZCBpdCBjYW4ndCBmaXQgaW4g
YW4gaW50MzIuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnQzMkFzSW50
NTIgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM0OyAvLyBJdCdzIGFuIEludDUyIGFu
ZCBpdCBjYW4gZml0IGluIGFuIGludDMyLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjTm9uSW50MzJBc0ludDUyICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNTsgLy8g
SXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuJ3QgZml0IGluIGFuIGludDMyLgogc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50NTJBbnkgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gU3BlY0ludDMyQXNJbnQ1MiB8IFNwZWNOb25JbnQzMkFzSW50NTI7IC8vIEl0J3MgYW55IGtp
bmQgb2YgSW50NTIuCiAKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0FueUlu
dEFzRG91YmxlICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzQ7IC8vIEl0J3MgZGVmaW5p
dGVseSBhbiBJbnQ1MiBhbmQgaXQncyBpbnNpZGUgYSBkb3VibGUuCi1zdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnRBc0RvdWJsZSAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDM1OyAvLyBJdCdzIGRlZmluaXRlbHkgbm90IGFuIEludDUyIGJ1dCBpdCdzIGEgcmVh
bCBudW1iZXIgYW5kIGl0J3MgYSBkb3VibGUuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNBbnlJbnRBc0RvdWJsZSAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM2OyAv
LyBJdCdzIGRlZmluaXRlbHkgYW4gSW50NTIgYW5kIGl0J3MgaW5zaWRlIGEgZG91YmxlLgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjTm9uSW50QXNEb3VibGUgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCAzNzsgLy8gSXQncyBkZWZpbml0ZWx5IG5vdCBhbiBJbnQ1MiBi
dXQgaXQncyBhIHJlYWwgbnVtYmVyIGFuZCBpdCdzIGEgZG91YmxlLgogc3RhdGljIGNvbnN0ZXhw
ciBTcGVjdWxhdGVkVHlwZSBTcGVjRG91YmxlUmVhbCAgICAgICAgICAgICAgICAgICAgICAgID0g
U3BlY05vbkludEFzRG91YmxlIHwgU3BlY0FueUludEFzRG91YmxlOyAvLyBJdCdzIGRlZmluaXRl
bHkgYSBub24tTmFOIGRvdWJsZS4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0RvdWJsZVB1cmVOYU4gICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzY7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhIE5hTiB0aGF0IGlzIHNhZmUgdG8gdGFnIChpLmUuIHB1cmUpLgotc3RhdGlj
IGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRG91YmxlSW1wdXJlTmFOICAgICAgICAgICAg
ICAgICAgID0gMXVsbCA8PCAzNzsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgdW5z
YWZlIHRvIHRhZyAoaS5lLiBpbXB1cmUpLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjRG91YmxlUHVyZU5hTiAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzODsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgc2FmZSB0byB0YWcgKGkuZS4gcHVyZSkuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVJbXB1cmVOYU4gICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDM5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4gdGhhdCBp
cyB1bnNhZmUgdG8gdGFnIChpLmUuIGltcHVyZSkuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0
ZWRUeXBlIFNwZWNEb3VibGVOYU4gICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjRG91Ymxl
UHVyZU5hTiB8IFNwZWNEb3VibGVJbXB1cmVOYU47IC8vIEl0J3MgZGVmaW5pdGVseSBzb21lIGtp
bmQgb2YgTmFOLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQnl0ZWNvZGVE
b3VibGUgICAgICAgICAgICAgICAgICAgID0gU3BlY0RvdWJsZVJlYWwgfCBTcGVjRG91YmxlUHVy
ZU5hTjsgLy8gSXQncyBlaXRoZXIgYSBub24tTmFOIG9yIGEgTmFOIGRvdWJsZSwgYnV0IGl0J3Mg
ZGVmaW5pdGVseSBub3QgaW1wdXJlIE5hTi4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY0Z1bGxEb3VibGUgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNEb3VibGVSZWFs
IHwgU3BlY0RvdWJsZU5hTjsgLy8gSXQncyBlaXRoZXIgYSBub24tTmFOIG9yIGEgTmFOIGRvdWJs
ZS4KQEAgLTk0LDE5ICs5NiwxOSBAQCBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNCeXRlY29kZU51bWJlciAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50Mwogc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50QW55Rm9ybWF0ICAgICAgICAgICAgICAgICAg
ICAgID0gU3BlY0ludDUyQW55IHwgU3BlY0ludDMyT25seSB8IFNwZWNBbnlJbnRBc0RvdWJsZTsK
IAogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRnVsbE51bWJlciAgICAgICAg
ICAgICAgICAgICAgICAgID0gU3BlY0ludEFueUZvcm1hdCB8IFNwZWNGdWxsRG91YmxlOyAvLyBJ
dCdzIGVpdGhlciBhbiBJbnQzMiwgSW50NTIsIG9yIGEgRG91YmxlLCBhbmQgdGhlIERvdWJsZSBj
YW4gYmUgaW1wdXJlIE5hTi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Jv
b2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzg7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIEJvb2xlYW4uCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNP
dGhlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM5OyAvLyBJdCdzIGRl
ZmluaXRlbHkgZWl0aGVyIE51bGwgb3IgVW5kZWZpbmVkLgorc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjQm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCA0MDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgQm9vbGVhbi4KK3N0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY090aGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgNDE7IC8vIEl0J3MgZGVmaW5pdGVseSBlaXRoZXIgTnVsbCBvciBVbmRlZmluZWQuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNNaXNjICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjQm9vbGVhbiB8IFNwZWNPdGhlcjsgLy8gSXQncyBkZWZpbml0ZWx5IGVp
dGhlciBhIGJvb2xlYW4sIE51bGwsIG9yIFVuZGVmaW5lZC4KLXN0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY0VtcHR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgNDA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBlbXB0eSB2YWx1ZSBtYXJrZXIuCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNIZWFwQmlnSW50ICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCaWdJbnQgdGhhdCBpcyBh
bGxvY2F0ZWQgb24gdGhlIGhlYXAKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0JpZ0ludDMyICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDI7IC8vIEl0J3Mg
ZGVmaW5pdGVseSBhIHNtYWxsIEJpZ0ludCB0aGF0IGlzIGlubGluZSB0aGUgSlNWYWx1ZQorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRW1wdHkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCA0MjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIGVtcHR5IHZhbHVl
IG1hcmtlci4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0hlYXBCaWdJbnQg
ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDM7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IEJpZ0ludCB0aGF0IGlzIGFsbG9jYXRlZCBvbiB0aGUgaGVhcAorc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjQmlnSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVs
bCA8PCA0NDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgc21hbGwgQmlnSW50IHRoYXQgaXMgaW5saW5l
IHRoZSBKU1ZhbHVlCiAjaWYgVVNFKEJJR0lOVDMyKQogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjQmlnSW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0JpZ0lu
dDMyIHwgU3BlY0hlYXBCaWdJbnQ7CiAjZWxzZQogLy8gV2Ugc2hvdWxkIG5vdCBpbmNsdWRlIFNw
ZWNCaWdJbnQzMi4gV2UgYXJlIHVzaW5nIFNwZWNCaWdJbnQgaW4gdmFyaW91cyBwbGFjZXMgbGlr
ZSBwcmVkaWN0aW9uLiBJZiB0aGlzIGluY2x1ZGVzIFNwZWNCaWdJbnQzMiwgZml4dXAgcGhhc2Ug
aXMgY29uZnVzZWQgaWYgIVVTRShCSUdJTlQzMikgc2luY2UgaXQgaXMgbm90IHVzaW5nIEFueUJp
Z0ludFVzZS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0JpZ0ludCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNIZWFwQmlnSW50OwogI2VuZGlmCi1zdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEYXRhVmlld09iamVjdCAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQzOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU0RhdGFWaWV3Lgorc3Rh
dGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGF0YVZpZXdPYmplY3QgICAgICAgICAg
ICAgICAgICAgID0gMXVsbCA8PCA0NTsgLy8gSXQncyBkZWZpbml0ZWx5IGEgSlNEYXRhVmlldy4K
IHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1ByaW1pdGl2ZSAgICAgICAgICAg
ICAgICAgICAgICAgICA9IFNwZWNTdHJpbmcgfCBTcGVjU3ltYm9sIHwgU3BlY0J5dGVjb2RlTnVt
YmVyIHwgU3BlY01pc2MgfCBTcGVjQmlnSW50OyAvLyBJdCdzIGFueSBub24tT2JqZWN0IEpTVmFs
dWUuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNPYmplY3QgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPSBTcGVjRmluYWxPYmplY3QgfCBTcGVjQXJyYXkgfCBTcGVjRnVu
Y3Rpb24gfCBTcGVjVHlwZWRBcnJheVZpZXcgfCBTcGVjRGlyZWN0QXJndW1lbnRzIHwgU3BlY1Nj
b3BlZEFyZ3VtZW50cyB8IFNwZWNTdHJpbmdPYmplY3QgfCBTcGVjUmVnRXhwT2JqZWN0IHwgU3Bl
Y0RhdGVPYmplY3QgfCBTcGVjUHJvbWlzZU9iamVjdCB8IFNwZWNNYXBPYmplY3QgfCBTcGVjU2V0
T2JqZWN0IHwgU3BlY1dlYWtNYXBPYmplY3QgfCBTcGVjV2Vha1NldE9iamVjdCB8IFNwZWNQcm94
eU9iamVjdCB8IFNwZWNEZXJpdmVkQXJyYXkgfCBTcGVjT2JqZWN0T3RoZXIgfCBTcGVjRGF0YVZp
ZXdPYmplY3Q7IC8vIEJpdG1hc2sgdXNlZCBmb3IgdGVzdGluZyBmb3IgYW55IGtpbmQgb2Ygb2Jq
ZWN0IHByZWRpY3Rpb24uCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjT2JqZWN0IHwgU3BlY1N0cmluZyB8
IFNwZWNTeW1ib2wgfCBTcGVjQ2VsbE90aGVyIHwgU3BlY0hlYXBCaWdJbnQ7IC8vIEl0J3MgZGVm
aW5pdGVseSBhIEpTQ2VsbC4KQEAgLTI4Nyw1MSArMjg5LDI0IEBAIGlubGluZSBib29sIGlzRmxv
YXQ2NEFycmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiAgICAgcmV0dXJuIHZh
bHVlID09IFNwZWNGbG9hdDY0QXJyYXk7CiB9CiAKLWlubGluZSBib29sIGlzRGlyZWN0QXJndW1l
bnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBpc0JpZ0lu
dDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4g
dmFsdWUgPT0gU3BlY0RpcmVjdEFyZ3VtZW50czsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0Jp
Z0ludDY0QXJyYXk7CiB9CiAKLWlubGluZSBib29sIGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRp
b24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBpc0JpZ1VpbnQ2NEFycmF5U3Bl
Y3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIHZhbHVlID09IFNw
ZWNTY29wZWRBcmd1bWVudHM7CisgICAgcmV0dXJuIHZhbHVlID09IFNwZWNCaWdVaW50NjRBcnJh
eTsKIH0KIAotaW5saW5lIGJvb2wgaXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3BlY3VsYXRp
b24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGlzSW50OEFycmF5U3BlY3Vs
YXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzSW50MTZBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQot
ICAgICAgICB8fCBpc0ludDMyQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNV
aW50OEFycmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzVWludDhDbGFtcGVkQXJy
YXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNVaW50MTZBcnJheVNwZWN1bGF0aW9u
KHZhbHVlKQotICAgICAgICB8fCBpc1VpbnQzMkFycmF5U3BlY3VsYXRpb24odmFsdWUpOwotfQot
Ci1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVGbG9hdE11dGFibGVBcnJheVNwZWN1bGF0aW9uKFNw
ZWN1bGF0ZWRUeXBlIHZhbHVlKQotewotICAgIHJldHVybiBpc0Zsb2F0MzJBcnJheVNwZWN1bGF0
aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsK
LX0KLQotaW5saW5lIGJvb2wgaXNBY3Rpb25hYmxlVHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlv
bihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKLXsKLSAgICByZXR1cm4gaXNBY3Rpb25hYmxlSW50TXV0
YWJsZUFycmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzQWN0aW9uYWJsZUZsb2F0
TXV0YWJsZUFycmF5U3BlY3VsYXRpb24odmFsdWUpOwotfQotCi1pbmxpbmUgYm9vbCBpc0FjdGlv
bmFibGVNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGlu
ZSBib29sIGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUp
CiB7Ci0gICAgcmV0dXJuIGlzQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNB
Y3Rpb25hYmxlVHlwZWRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSk7CisgICAgcmV0dXJu
IHZhbHVlID09IFNwZWNEaXJlY3RBcmd1bWVudHM7CiB9CiAKLWlubGluZSBib29sIGlzQWN0aW9u
YWJsZUFycmF5U3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCitpbmxpbmUgYm9vbCBp
c1Njb3BlZEFyZ3VtZW50c1NwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogewotICAg
IHJldHVybiBpc1N0cmluZ1NwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0RpcmVjdEFy
Z3VtZW50c1NwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc1Njb3BlZEFyZ3VtZW50c1Nw
ZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc0FjdGlvbmFibGVNdXRhYmxlQXJyYXlTcGVj
dWxhdGlvbih2YWx1ZSk7CisgICAgcmV0dXJuIHZhbHVlID09IFNwZWNTY29wZWRBcmd1bWVudHM7
CiB9CiAKIGlubGluZSBib29sIGlzQXJyYXlPck90aGVyU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5
cGUgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggN2I1YjY4NDU4ODVhNDVkMzJjZjkwMjJj
MDkwZWFhZmVlODczZDZiZC4uZTg0ODJiZGJhOTdlMjIwM2IwY2JlYTgxNDE5ZDBiZDY0NWZlZDY1
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMzY0Nyw2ICszNjQ3LDEyIEBAIGJvb2wgQWJzdHJh
Y3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVk
IGNsb2JiZXJMaW1pCiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKICAgICAgICAg
ICAgIGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY0Zsb2F0NjRBcnJheSB8IGFkbWl0dGVkVHlw
ZXMpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJy
YXk6CisgICAgICAgICAgICBmaWx0ZXIobm9kZS0+Y2hpbGQxKCksIFNwZWNCaWdJbnQ2NEFycmF5
IHwgYWRtaXR0ZWRUeXBlcyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcnJh
eTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICBmaWx0ZXIobm9kZS0+Y2hpbGQxKCksIFNw
ZWNCaWdVaW50NjRBcnJheSB8IGFkbWl0dGVkVHlwZXMpOworICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAgICAgICAgICBmaWx0ZXIobm9k
ZS0+Y2hpbGQxKCksIFNwZWNUeXBlZEFycmF5VmlldyB8IGFkbWl0dGVkVHlwZXMpOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fy
cmF5TW9kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAK
aW5kZXggYzc5Y2RhNDRmOTg0YjNiNGNkZmFhMGVkZWVjYWFiNTRhYTg3ODUyMS4uNmU0ZmU5YWZh
M2ViNzFjMzg5NzEwNzc2NWY0YzQ0ZmE1ZGRiYmQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcApAQCAtMTQ1LDYgKzE0NSwxMCBAQCBBcnJheU1vZGUgQXJy
YXlNb2RlOjpmcm9tT2JzZXJ2ZWQoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiBsb2NrZXIsIEFy
cmF5UHJvZmlsZQogICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpGbG9hdDMyQXJyYXks
IG5vbkFycmF5LCBBcnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJvZmlsZShsb2NrZXIsIHByb2Zp
bGUsIG1ha2VTYWZlKTsKICAgICBjYXNlIEZsb2F0NjRBcnJheU1vZGU6CiAgICAgICAgIHJldHVy
biBBcnJheU1vZGUoQXJyYXk6OkZsb2F0NjRBcnJheSwgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBh
Y3Rpb24pLndpdGhQcm9maWxlKGxvY2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOworICAgIGNhc2Ug
QmlnSW50NjRBcnJheU1vZGU6CisgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkJpZ0lu
dDY0QXJyYXksIG5vbkFycmF5LCBBcnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJvZmlsZShsb2Nr
ZXIsIHByb2ZpbGUsIG1ha2VTYWZlKTsKKyAgICBjYXNlIEJpZ1VpbnQ2NEFycmF5TW9kZToKKyAg
ICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6QmlnVWludDY0QXJyYXksIG5vbkFycmF5LCBB
cnJheTo6QXNJcywgYWN0aW9uKS53aXRoUHJvZmlsZShsb2NrZXIsIHByb2ZpbGUsIG1ha2VTYWZl
KTsKIAogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIElmIHdlIGhhdmUgc2VlbiBtdWx0aXBsZSBU
eXBlZEFycmF5IHR5cGVzLCBvciBhIFR5cGVkQXJyYXkgYW5kIG5vbi10eXBlZCBhcnJheSwgaXQg
ZG9lc24ndCBtYWtlIHNlbnNlIHRvIHRyeSB0byBjb252ZXJ0IHRoZSBvYmplY3Qgc2luY2UgeW91
IGNhbid0IGNvbnZlcnQgdHlwZWQgYXJyYXlzLgpAQCAtMjg4LDExICsyOTIsMTQgQEAgQXJyYXlN
b2RlIEFycmF5TW9kZTo6cmVmaW5lKAogICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAg
IGNhc2UgQXJyYXk6OkZsb2F0MzJBcnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6
CisgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50
NjRBcnJheToKICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gUHV0QnlWYWwpIHsKICAgICAgICAg
ICAgIGlmIChncmFwaC5oYXNFeGl0U2l0ZShub2RlLT5vcmlnaW4uc2VtYW50aWMsIE91dE9mQm91
bmRzKSB8fCAhaXNJbkJvdW5kcygpKQogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlZEFycmF5
UmVzdWx0KHdpdGhTcGVjdWxhdGlvbihBcnJheTo6T3V0T2ZCb3VuZHMpKTsKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdCh3aXRoU3BlY3VsYXRpb24oQXJyYXk6Oklu
Qm91bmRzKSk7CisKICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgogICAgIGNhc2UgQXJyYXk6
OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6IHsKICAgICAgICAgYmFzZSAmPSB+U3BlY090aGVyOwpA
QCAtMzU0LDYgKzM2MSwxMiBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpyZWZpbmUoCiAgICAgICAg
IGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKGJhc2UpKQogICAgICAgICAgICAgcmV0dXJu
IHR5cGVkQXJyYXlSZXN1bHQocmVzdWx0LndpdGhUeXBlKEFycmF5OjpGbG9hdDY0QXJyYXkpKTsK
IAorICAgICAgICBpZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCisgICAgICAg
ICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdChyZXN1bHQud2l0aFR5cGUoQXJyYXk6OkJpZ0lu
dDY0QXJyYXkpKTsKKworICAgICAgICBpZiAoaXNCaWdVaW50NjRBcnJheVNwZWN1bGF0aW9uKGJh
c2UpKQorICAgICAgICAgICAgcmV0dXJuIHR5cGVkQXJyYXlSZXN1bHQocmVzdWx0LndpdGhUeXBl
KEFycmF5OjpCaWdVaW50NjRBcnJheSkpOworCiAgICAgICAgIGlmICh0eXBlKCkgPT0gQXJyYXk6
OlVucHJvZmlsZWQpCiAgICAgICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpGb3JjZUV4
aXQsIGFjdGlvbigpKTsKICAgICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6R2VuZXJpYywg
YWN0aW9uKCkpOwpAQCAtNjA1LDYgKzYxOCwxMiBAQCBib29sIEFycmF5TW9kZTo6YWxyZWFkeUNo
ZWNrZWQoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBBYnN0cmFjdFZhbHVlJiB2YQog
ICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKICAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9u
Q2hlY2tlZCh2YWx1ZS5tX3R5cGUsIFNwZWNGbG9hdDY0QXJyYXkpOwogCisgICAgY2FzZSBBcnJh
eTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uQ2hlY2tlZCh2YWx1
ZS5tX3R5cGUsIFNwZWNCaWdJbnQ2NEFycmF5KTsKKworICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2
NEFycmF5OgorICAgICAgICByZXR1cm4gc3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwg
U3BlY0JpZ1VpbnQ2NEFycmF5KTsKKwogICAgIGNhc2UgQXJyYXk6OkFueVR5cGVkQXJyYXk6CiAg
ICAgICAgIHJldHVybiBzcGVjdWxhdGlvbkNoZWNrZWQodmFsdWUubV90eXBlLCBTcGVjVHlwZWRB
cnJheVZpZXcpOwogCkBAIC02NzksNiArNjk4LDEwIEBAIGNvbnN0IGNoYXIqIGFycmF5VHlwZVRv
U3RyaW5nKEFycmF5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiAiRmxvYXQzMkFycmF5IjsK
ICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6CiAgICAgICAgIHJldHVybiAiRmxvYXQ2NEFy
cmF5IjsKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gIkJp
Z0ludDY0QXJyYXkiOworICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICBy
ZXR1cm4gIkJpZ1VpbnQ2NEFycmF5IjsKICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5Ogog
ICAgICAgICByZXR1cm4gIkFueVR5cGVkQXJyYXkiOwogICAgIGRlZmF1bHQ6CkBAIC03ODEsNiAr
ODA0LDEwIEBAIFR5cGVkQXJyYXlUeXBlIHRvVHlwZWRBcnJheVR5cGUoQXJyYXk6OlR5cGUgdHlw
ZSkKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDMyOwogICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRB
cnJheToKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDY0OworICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisgICAgY2FzZSBBcnJheTo6
QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBUeXBlQmlnVWludDY0OwogICAgIGNhc2Ug
QXJyYXk6OkFueVR5cGVkQXJyYXk6CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgIHJldHVybiBOb3RUeXBlZEFycmF5OwpAQCAtODEwLDYgKzgzNywxMCBAQCBB
cnJheTo6VHlwZSB0b0FycmF5VHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgICAgICByZXR1
cm4gQXJyYXk6OkZsb2F0MzJBcnJheTsKICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBy
ZXR1cm4gQXJyYXk6OkZsb2F0NjRBcnJheTsKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAg
ICAgcmV0dXJuIEFycmF5OjpCaWdJbnQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoK
KyAgICAgICAgcmV0dXJuIEFycmF5OjpCaWdVaW50NjRBcnJheTsKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gQXJyYXk6OkdlbmVyaWM7CiAgICAgfQpAQCAtODQ1LDYgKzg3Niw4IEBAIGJv
b2wgcGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcoQXJyYXk6OlR5cGUgdHlwZSkKICAgICBjYXNl
IEFycmF5OjpVaW50MzJBcnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDMyQXJyYXk6CiAgICAg
Y2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgorICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6
CisgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgY2FzZSBBcnJheTo6QW55VHlw
ZWRBcnJheToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCmluZGV4IDFjNTYzMmEzMWZiZGUxOTAzNWM1ZDI1
NjM3MzRhNjMwOWI3ZGIwMWQuLjExMTFmODlmOWQ3YjViOTc3NzhjMTZjOGQ1NDY0MGJlYTM3NDQy
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaApAQCAtNzYsNiAr
NzYsOCBAQCBlbnVtIFR5cGUgOiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheSwKICAgICBGbG9h
dDMyQXJyYXksCiAgICAgRmxvYXQ2NEFycmF5LAorICAgIEJpZ0ludDY0QXJyYXksCisgICAgQmln
VWludDY0QXJyYXksCiAgICAgQW55VHlwZWRBcnJheQogfTsKIApAQCAtMzkzLDYgKzM5NSw4IEBA
IGNsYXNzIEFycmF5TW9kZSB7CiAgICAgICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAg
ICAgICBjYXNlIEFycmF5OjpGbG9hdDMyQXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0
NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2Fz
ZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGNhc2UgQXJyYXk6OkludDMyOgogICAgICAgICBjYXNlIEFycmF5OjpEb3VibGU6CkBAIC00
NzcsNiArNDgxLDEwIEBAIGNsYXNzIEFycmF5TW9kZSB7CiAgICAgICAgICAgICByZXR1cm4gRmxv
YXQzMkFycmF5TW9kZTsKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgogICAgICAg
ICAgICAgcmV0dXJuIEZsb2F0NjRBcnJheU1vZGU7CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0lu
dDY0QXJyYXk6CisgICAgICAgICAgICByZXR1cm4gQmlnSW50NjRBcnJheU1vZGU7CisgICAgICAg
IGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICAgICAgcmV0dXJuIEJpZ1VpbnQ2
NEFycmF5TW9kZTsKICAgICAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAg
ICAgIHJldHVybiBBTExfVFlQRURfQVJSQVlfTU9ERVM7CiAgICAgICAgIGRlZmF1bHQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDU0ZTM1ZTdjNTY4YTUw
NjE5NmYxM2ZhNTk2NzQ4M2ZlN2FlODQ2MDYuLmU3NjcyM2U3NWRmOWFlOTQ2NDNmYWMwM2I5ZWVi
Mjk4ODRmODlmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CkBAIC05MTQsNiArOTE0LDggQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSog
bm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOgorICAg
ICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdV
aW50NjRBcnJheToKICAgICAgICAgICAgIGNsb2JiZXJUb3AoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgICAgIApAQCAtMTA1MSw2ICsxMDUzLDggQEAgdm9pZCBjbG9iYmVyaXplKEdy
YXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdy
aXRlRnUKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEFy
cmF5OjpHZW5lcmljOgorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAg
ICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgICAgIGNsb2JiZXJUb3AoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggYzJhNDVkMDQ4ZDg3N2E0YzdjYThhMTJkZTMy
NTdiM2I1MDg5M2U0My4uMzZmNmJmY2M5OThmMDA4ZjQ0MzYxNTFhZjQwMmIxY2EwMTY1MmZlNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMDUy
LDcgKzEwNTIsMTkgQEAgY2xhc3MgRml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAg
ICAgICAgICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCktPnByZWRpY3Rpb24oKSwK
ICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAxKS0+cHJlZGlj
dGlvbigpLAogICAgICAgICAgICAgICAgICAgICBTcGVjTm9uZSkpOwotICAgICAgICAgICAgCisK
KyAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKSB7CisgICAgICAg
ICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICAgICAgY2FzZSBBcnJheTo6
QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICAgICAgLy8gTWFrZSBpdCBBcnJheTo6R2VuZXJp
Yy4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50
NjRBcnJheSBzdXBwb3J0LgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKKyAgICAgICAgICAgICAgICBub2RlLT5zZXRBcnJh
eU1vZGUoQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub2RlLT5hcnJheU1vZGUoKS5hY3Rpb24o
KSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgYmxlc3NBcnJh
eU9wZXJhdGlvbihtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLCBtX2dyYXBoLnZhckFyZ0No
aWxkKG5vZGUsIDEpLCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDIpKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgQXJyYXlNb2RlIGFycmF5TW9kZSA9IG5vZGUtPmFycmF5TW9kZSgpOwpA
QCAtMTIyMyw2ICsxMjM1LDE4IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMgUGhhc2Ugewog
ICAgICAgICAgICAgICAgICAgICBjaGlsZDEtPnByZWRpY3Rpb24oKSwKICAgICAgICAgICAgICAg
ICAgICAgY2hpbGQyLT5wcmVkaWN0aW9uKCksCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkMy0+
cHJlZGljdGlvbigpKSk7CisKKyAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+YXJyYXlNb2RlKCku
dHlwZSgpKSB7CisgICAgICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAg
ICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICAgICAgLy8gTWFr
ZSBpdCBBcnJheTo6R2VuZXJpYy4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIEJpZ0lu
dDY0QXJyYXkgLyBCaWdVaW50NjRBcnJheSBzdXBwb3J0LgorICAgICAgICAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKKyAgICAgICAgICAg
ICAgICBub2RlLT5zZXRBcnJheU1vZGUoQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub2RlLT5h
cnJheU1vZGUoKS5hY3Rpb24oKSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIAogICAgICAgICAgICAgYmxlc3NBcnJheU9wZXJhdGlvbihjaGlsZDEsIGNoaWxkMiwg
bV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAzKSk7CiAgICAgICAgICAgICAKQEAgLTEzNzEsNiAr
MTM5NSw4IEBAIGNsYXNzIEZpeHVwUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAg
fQogICAgICAgICAgICAgZGVmYXVsdDogewogICAgICAgICAgICAgICAgIC8vIE1ha2UgaXQgQXJy
YXk6OkdlbmVyaWMuCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBCaWdJbnQ2NEFycmF5
IC8gQmlnVWludDY0QXJyYXkgc3VwcG9ydC4KKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMTcyCiAgICAgICAgICAgICAgICAgbm9k
ZS0+c2V0QXJyYXlNb2RlKEFycmF5TW9kZShBcnJheTo6R2VuZXJpYywgbm9kZS0+YXJyYXlNb2Rl
KCkuYWN0aW9uKCkpKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCmluZGV4IDUyOTZjNjg1
NjQyMThiNGNmN2I4OWRmYjYxNjk3YmZhOTZkMzVlODYuLjUwZGVlOWRiYzJkNDVjNjE3NTI4ZTkw
YmVkOWFjMGMwMDJmZWZhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcApAQCAtMTk0Miw2ICsxOTQyLDM4IEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElP
TihvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9i
CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBl
ZEFycmF5Vmlld1dpdGhBcmd1bWVudHM8SlNGbG9hdDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlLCBlbmNvZGVkVmFsdWUsIDAsIFdURjo6bnVsbG9wdCkpOwogfQogCitKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50NjRBcnJheVdpdGhTaXplLCBjaGFyKiwg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQz
Ml90IGxlbmd0aCwgY2hhciogdmVjdG9yKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBERUNMQVJFX0NBTExfRlJBTUUodm0p
OworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgY2Fs
bEZyYW1lKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTQmlnSW50NjRBcnJh
eT4oZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvcik7Cit9CisKK0pT
Q19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdJbnQ2NEFycmF5V2l0aE9uZUFy
Z3VtZW50LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IERFQ0xBUkVf
Q0FMTF9GUkFNRSh2bSk7CisgICAgSklUT3BlcmF0aW9uUHJvbG9ndWVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKHZtLCBjYWxsRnJhbWUpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIq
Pihjb25zdHJ1Y3RHZW5lcmljVHlwZWRBcnJheVZpZXdXaXRoQXJndW1lbnRzPEpTQmlnSW50NjRB
cnJheT4oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGVuY29kZWRWYWx1ZSwgMCwgV1RGOjpudWxs
b3B0KSk7Cit9CisKK0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdVaW50
NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKSkKK3sKKyAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUg
PSBERUNMQVJFX0NBTExfRlJBTUUodm0pOworICAgIEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcih2bSwgY2FsbEZyYW1lKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJh
eVdpdGhTaXplPEpTQmlnVWludDY0QXJyYXk+KGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwg
bGVuZ3RoLCB2ZWN0b3IpOworfQorCitKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9u
TmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSkpCit7CisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIENhbGxG
cmFtZSogY2FsbEZyYW1lID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRp
b25Qcm9sb2d1ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBlZEFycmF5Vmll
d1dpdGhBcmd1bWVudHM8SlNCaWdVaW50NjRBcnJheT4oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IGVuY29kZWRWYWx1ZSwgMCwgV1RGOjpudWxsb3B0KSk7Cit9CisKIEpTQ19ERUZJTkVfSklUX09Q
RVJBVElPTihvcGVyYXRpb25OZXdBcnJheUl0ZXJhdG9yLCBKU0NlbGwqLCAoVk0qIHZtUG9pbnRl
ciwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpKQogewogICAgIFZNJiB2bSA9ICp2bVBvaW50ZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCmluZGV4IDkwOWU1OTE3MWYy
ZWVlZGVkYjI3NTZmMmNiZWQwOGE2Njk3YzBlODcuLjIyMWI0YzQyNzdhZmI4ZjBkZjI5NmM1NTBi
ZjQzZTIyNDAzYTNkZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9u
cy5oCkBAIC0xMzAsNiArMTMwLDEwIEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0
aW9uTmV3RmxvYXQzMkFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplCiBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhPbmVBcmd1bWVu
dCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7
CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhT
aXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciop
KTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0
aE9uZUFyZ3VtZW50LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRW5jb2Rl
ZEpTVmFsdWUpKTsKK0pTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QmlnSW50
NjRBcnJheVdpdGhTaXplLCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgaW50
MzJfdCwgY2hhciopKTsKK0pTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3Qmln
SW50NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7CitKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJh
dGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqLCBpbnQzMl90LCBjaGFyKikpOworSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihv
cGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIEVuY29kZWRKU1ZhbHVlKSk7CiBKU0NfREVDTEFSRV9KSVRf
T1BFUkFUSU9OKG9wZXJhdGlvbk5ld0FycmF5SXRlcmF0b3IsIEpTQ2VsbCosIChWTSosIFN0cnVj
dHVyZSopKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3TWFwSXRlcmF0
b3IsIEpTQ2VsbCosIChWTSosIFN0cnVjdHVyZSopKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJ
T04ob3BlcmF0aW9uTmV3U2V0SXRlcmF0b3IsIEpTQ2VsbCosIChWTSosIFN0cnVjdHVyZSopKTsK
QEAgLTM2MSw2ICszNjUsMTAgQEAgaW5saW5lIGF1dG8gb3BlcmF0aW9uTmV3VHlwZWRBcnJheVdp
dGhTaXplRm9yVHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKSAtPiBkZWNsdHkKICAgICAgICAgcmV0
dXJuIG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhTaXplOwogICAgIGNhc2UgVHlwZUZsb2F0
NjQ6CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoU2l6ZTsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ0ludDY0
QXJyYXlXaXRoU2l6ZTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHJldHVybiBv
cGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhTaXplOwogICAgIGNhc2UgTm90VHlwZWRBcnJh
eToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAgICAgYnJlYWs7CkBAIC0zOTAsNiArMzk4
LDEwIEBAIGlubGluZSBhdXRvIG9wZXJhdGlvbk5ld1R5cGVkQXJyYXlXaXRoT25lQXJndW1lbnRG
b3JUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpIC0+CiAgICAgICAgIHJldHVybiBvcGVyYXRpb25O
ZXdGbG9hdDMyQXJyYXlXaXRoT25lQXJndW1lbnQ7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAg
ICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhPbmVBcmd1bWVudDsKKyAg
ICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ0ludDY0
QXJyYXlXaXRoT25lQXJndW1lbnQ7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICBy
ZXR1cm4gb3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoT25lQXJndW1lbnQ7CiAgICAgY2Fz
ZSBOb3RUeXBlZEFycmF5OgogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggYWIxZmU4YWVjYTEzOWNkYmE4NzQwOGQ3ODFjNThh
MmM5Mjk0MjVmZC4uOTZjMDg2NWM1NjkzMDUxZDI5OTY3ZTRlOGJkNDM3MjgxZmFkMTI5NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTUxNSw2ICs1MTUsMTAgQEAgY2xhc3MgUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAgICAgY2FzZSBBcnJh
eTo6SW50MzJBcnJheToKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlv
bihTcGVjSW50MzJPbmx5KTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50
NjRBcnJheToKKyAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihTcGVj
QmlnSW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24obm9kZS0+Z2V0SGVhcFBy
ZWRpY3Rpb24oKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA5YTk3NzI4MWNjN2Q4
ZmU3Yjk4NDMyNzg4MTVlYTE0ZDQ2OGZkYmM5Li5iZmVmYjNkMzY3OWY5YjU4YTY5YmY3ZGU2MTU2
NmU4OWFmN2VlYzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTI2NDgsNiArMjY0OCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0
R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAg
ICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVy
aWM6IHsKICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fc2xvd0dldEJ5VmFsLmNvbnRhaW5zKG5v
ZGUpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCku
dXNlS2luZCgpID09IE9iamVjdFVzZSkgewpAQCAtMjk4MCw2ICsyOTgyLDggQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjYXNlIEFycmF5OjpGb3Jj
ZUV4aXQ6CiAgICAgICAgICAgICBERkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkJhZCBh
cnJheSBtb2RlIHR5cGUiKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFycmF5
OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAg
ICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAgICAgICAgREZHX0FTU0VSVChtX2pp
dC5ncmFwaCgpLCBub2RlLCBub2RlLT5vcCgpID09IFB1dEJ5VmFsIHx8IG5vZGUtPm9wKCkgPT0g
UHV0QnlWYWxEaXJlY3QsIG5vZGUtPm9wKCkpOwogCkBAIC0zMjEwLDYgKzMyMTQsOCBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNhc2UgQXJyYXk6
OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6CiAgICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoK
ICAgICAgICAgY2FzZSBBcnJheTo6VW5wcm9maWxlZDoKKyAgICAgICAgY2FzZSBBcnJheTo6Qmln
SW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgICAgIGJy
ZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmlu
ZGV4IGVhMWYzNzIzOWMyODlkZjEyY2NkMzFiZWY0ZjU1OWRiYTdmNjEwNWMuLjFjZjgyOTNhNGQz
NGU3ZDMwZjdhNmZiNzcyZDA3MzdkZGZiYTU2NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTUwNjMsNiArNTA2Myw4IEBAIGNsYXNzIExv
d2VyREZHVG9CMyB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgICAg
IAorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5
OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAg
ICAgICAgaWYgKG1fZ3JhcGgubV9zbG93R2V0QnlWYWwuY29udGFpbnMobV9ub2RlKSkgewogICAg
ICAgICAgICAgICAgIGlmIChtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCkudXNlS2luZCgp
ID09IE9iamVjdFVzZSkgewpAQCAtNTM1OCw2ICs1MzYwLDggQEAgY2xhc3MgTG93ZXJERkdUb0Iz
IHsKICAgICAgICAgCiAgICAgICAgIEFycmF5TW9kZSBhcnJheU1vZGUgPSBtX25vZGUtPmFycmF5
TW9kZSgpLm1vZGVGb3JQdXQoKTsKICAgICAgICAgc3dpdGNoIChhcnJheU1vZGUudHlwZSgpKSB7
CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6
OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CiAgICAgICAg
ICAgICBpZiAoY2hpbGQxLnVzZUtpbmQoKSA9PSBDZWxsVXNlKSB7CiAgICAgICAgICAgICAgICAg
Vl9KSVRPcGVyYXRpb25fR0NDSiBvcGVyYXRpb24gPSBudWxscHRyOwpAQCAtNTY0Nyw2ICs1NjUx
LDggQEAgY2xhc3MgTG93ZXJERkdUb0IzIHsKICAgICAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNp
bmdQcmVkaWN0aW9uczoKICAgICAgICAgY2FzZSBBcnJheTo6VW5kZWNpZGVkOgogICAgICAgICBj
YXNlIEFycmF5OjpVbnByb2ZpbGVkOgorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5
OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgICAgIERGR19D
UkFTSChtX2dyYXBoLCBtX25vZGUsICJCYWQgYXJyYXkgdHlwZSIpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggYmNhMThhMjY0MjM5ZWJkMzcwMGRh
NGJiNTRhZGUxOTRiYTQ3MjYxZC4uYTk4YmQ4NmJkNjA3ZTIyYjQ4ZGQwMTJkNmM4NmQ3Nzc3NjQx
OGNiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVj
dGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTIyOCw3ICsyMjgsOSBAQCBKU1ZhbHVlIEpTSW5q
ZWN0ZWRTY3JpcHRIb3N0OjpzdWJ0eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogYwogICAgICAgICAgICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU1VpbnQxNkFycmF5
Pih2bSkKICAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNVaW50MzJBcnJheT4odm0p
CiAgICAgICAgICAgICB8fCBvYmplY3QtPmluaGVyaXRzPEpTRmxvYXQzMkFycmF5Pih2bSkKLSAg
ICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNGbG9hdDY0QXJyYXk+KHZtKSkKKyAgICAg
ICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNGbG9hdDY0QXJyYXk+KHZtKQorICAgICAgICAg
ICAgfHwgb2JqZWN0LT5pbmhlcml0czxKU0JpZ0ludDY0QXJyYXk+KHZtKQorICAgICAgICAgICAg
fHwgb2JqZWN0LT5pbmhlcml0czxKU0JpZ1VpbnQ2NEFycmF5Pih2bSkpCiAgICAgICAgICAgICBy
ZXR1cm4ganNOb250cml2aWFsU3RyaW5nKHZtLCAiYXJyYXkiX3MpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCAwYmQ5
ZmM2M2FhOThlMGY0OWFmNjllNjA4Nzg0MTc2NTc2NjdhNDNkLi43NjNkNWJkYjY5YjYyMjNlMjY3
NWM4ODdjYTBjOGUyMTkyNGQ5ZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMTQ5Myw4ICsxNDkzLDEwIEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZVB1dEJ5VmFsKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYsIEJ5VmFsSW5m
byogYnlWYWxJbmZvCiAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSB0eXBlZEFycmF5VHlw
ZUZvckpJVEFycmF5TW9kZShhcnJheU1vZGUpOwogICAgICAgICBpZiAoaXNJbnQodHlwZSkpCiAg
ICAgICAgICAgICBzbG93Q2FzZXMgPSBlbWl0SW50VHlwZWRBcnJheVB1dEJ5VmFsKGJ5dGVjb2Rl
LCBiYWRUeXBlLCB0eXBlKTsKLSAgICAgICAgZWxzZSAKKyAgICAgICAgZWxzZSBpZiAoaXNGbG9h
dCh0eXBlKSkKICAgICAgICAgICAgIHNsb3dDYXNlcyA9IGVtaXRGbG9hdFR5cGVkQXJyYXlQdXRC
eVZhbChieXRlY29kZSwgYmFkVHlwZSwgdHlwZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHNsb3dDYXNlcyA9IGp1bXAoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggNTdiNmMxMzNmOGYyN2QzYmQzMGQ1Y2Ez
OTQxN2NkYzk5MjI1YmMxOC4uYzllNzE3ZjAwY2MyZDg2ZDEyMjg4OTdjYjBmODk3NWVhMzVlYmJl
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC00OTUsNiArNDk1LDEw
IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUFycmF5R2V0QnlWYWwoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ29kCiAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDY0
OgogICAgICAgICAgICAgICAgIGFjY2Vzc1R5cGUgPSBBY2Nlc3NDYXNlOjpJbmRleGVkVHlwZWRB
cnJheUZsb2F0NjRMb2FkOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Cisg
ICAgICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdp
dmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggMjU1MmIy
NjI5MDRkZGVlNjlkMzlkNmQzODFjZTc4NDA3MWY0Nzk1ZC4uMzViODYwOGY5ZjY4OGMyYTcwM2M2
OWYwMTU0MmM5NWY5MGJmZDU2YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtNTU2LDYgKzU1Niw3IEBAIGNvbnN0IEZs
b2F0NjRBcnJheVR5cGUgPSBjb25zdGV4cHIgRmxvYXQ2NEFycmF5VHlwZQogCiBjb25zdCBGaXJz
dFR5cGVkQXJyYXlUeXBlID0gY29uc3RleHByIEZpcnN0VHlwZWRBcnJheVR5cGUKIGNvbnN0IE51
bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXcgPSBjb25zdGV4cHIgTnVtYmVy
T2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdEYXRhVmlldworY29uc3QgTnVtYmVyT2ZUeXBlZEFy
cmF5VHlwZXNFeGNsdWRpbmdCaWdJbnRBcnJheXNBbmREYXRhVmlldyA9IGNvbnN0ZXhwciBOdW1i
ZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3CiAKICMg
VHlwZSBmbGFncyBjb25zdGFudHMuCiBjb25zdCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gY29u
c3RleHByIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKQEAgLTEyMzMsNyArMTIzNCw3IEBAIG1hY3Jv
IGdldEJ5VmFsVHlwZWRBcnJheShiYXNlLCBpbmRleCwgZmluaXNoSW50R2V0QnlWYWwsIGZpbmlz
aERvdWJsZUdldEJ5VmFsLCBzCiAgICAgIyBGaXJzdCBsZXRzIGNoZWNrIGlmIHdlIGV2ZW4gaGF2
ZSBhIHR5cGVkIGFycmF5LiBUaGlzIGxldHMgdXMgZG8gc29tZSBib2lsZXJwbGF0ZSB1cCBmcm9u
dC4KICAgICBsb2FkYiBKU0NlbGw6Om1fdHlwZVtiYXNlXSwgdDIKICAgICBzdWJpIEZpcnN0VHlw
ZWRBcnJheVR5cGUsIHQyCi0gICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhj
bHVkaW5nRGF0YVZpZXcsIHNsb3dQYXRoCisgICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJh
eVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlzQW5kRGF0YVZpZXcsIHNsb3dQYXRoCiAgICAgCiAg
ICAgIyBTd2VldCwgbm93IHdlIGtub3cgdGhhdCB3ZSBoYXZlIGEgdHlwZWQgYXJyYXkuIERvIHNv
bWUgYmFzaWMgdGhpbmdzIG5vdy4KIApAQCAtMTI2MCw2ICsxMjYxLDggQEAgbWFjcm8gZ2V0QnlW
YWxUeXBlZEFycmF5KGJhc2UsIGluZGV4LCBmaW5pc2hJbnRHZXRCeVZhbCwgZmluaXNoRG91Ymxl
R2V0QnlWYWwsIHMKICAgICAjICAgIFVpbnQzMkFycmF5VHlwZSwKICAgICAjICAgIEZsb2F0MzJB
cnJheVR5cGUsCiAgICAgIyAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgICMKKyAgICAjIFlldCwg
d2UgYXJlIG5vdCBzdXBwb3J0aW5nIEJpdEludDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFycmF5Lgog
CiAgICAgYmlhIHQyLCBVaW50MTZBcnJheVR5cGUgLSBGaXJzdFR5cGVkQXJyYXlUeXBlLCAub3BH
ZXRCeVZhbEFib3ZlVWludDE2QXJyYXkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BdG9taWNzT2JqZWN0LmNwcAppbmRleCBmMDdlM2FlYjc1NTJhNDA2YmE0NTZhODQyNTUz
ZjJiZWQxZjBjOGQ1Li4wYWRmYjBkMzU4ZjI4MDcyMDVlYjJhYmY0ZGMxNDczMzAyYjAzZTI3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcApA
QCAtMTI3LDMwICsxMjcsNiBAQCBzdGF0aWMgdW5zaWduZWQgdmFsaWRhdGVBdG9taWNBY2Nlc3Mo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0FycgogICAgIHJldHVybiBh
Y2Nlc3NJbmRleDsKIH0KIAotc3RhdGljIEpTQXJyYXlCdWZmZXJWaWV3KiB2YWxpZGF0ZVR5cGVk
QXJyYXkoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB0eXBlZEFycmF5VmFs
dWUpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLQotICAgIGlmICghdHlwZWRBcnJheVZhbHVlLmlz
Q2VsbCgpKSB7Ci0gICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJB
cmd1bWVudCBuZWVkcyB0byBiZSBhIHR5cGVkIGFycmF5LiJfcyk7Ci0gICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIH0KLQotICAgIEpTQ2VsbCogdHlwZWRBcnJheUNlbGwgPSB0eXBlZEFycmF5
VmFsdWUuYXNDZWxsKCk7Ci0gICAgaWYgKCFpc1R5cGVkVmlldyh0eXBlZEFycmF5Q2VsbC0+Y2xh
c3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkgewotICAgICAgICB0aHJvd1R5cGVF
cnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBh
cnJheS4iX3MpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KLSAgICBKU0FycmF5
QnVmZmVyVmlldyogdHlwZWRBcnJheSA9IGpzQ2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHR5cGVk
QXJyYXlDZWxsKTsKLSAgICBpZiAodHlwZWRBcnJheS0+aXNEZXRhY2hlZCgpKSB7Ci0gICAgICAg
IHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCB0eXBlZCBhcnJh
eSBpcyBkZXRhY2hlZC4iX3MpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAg
cmV0dXJuIHR5cGVkQXJyYXk7Ci19Ci0KIGVudW0gY2xhc3MgVHlwZWRBcnJheU9wZXJhdGlvbk1v
ZGUgeyBSZWFkLCBXcml0ZSB9OwogdGVtcGxhdGU8VHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgbW9k
ZT4KIGlubGluZSBKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVJbnRlZ2VyVHlwZWRBcnJheShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHR5cGVkQXJyYXlWYWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaAppbmRleCA1YThi
ZWY5NGY2MTAxOWU1NjZhOGYwNWY0YzM0NzhkMmRiOWViZTFlLi4xYTZhZDdkZjJlMGIzNjgyZjQy
ODk5N2U4MzU2M2IzZjY3YWQ5MmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BdG9taWNzT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXRvbWljc09iamVjdC5oCkBAIC02Miw1ICs2Miw3IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVS
QVRJT04ob3BlcmF0aW9uQXRvbWljc1N0b3JlLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2Jq
ZWN0CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbkF0b21pY3NTdWIsIEVuY29k
ZWRKU1ZhbHVlLCAoSlNHbG9iYWxPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVk
SlNWYWx1ZSBpbmRleCwgRW5jb2RlZEpTVmFsdWUgb3BlcmFuZCkpOwogSlNDX0RFQ0xBUkVfSklU
X09QRVJBVElPTihvcGVyYXRpb25BdG9taWNzWG9yLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFs
T2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgaW5kZXgsIEVuY29k
ZWRKU1ZhbHVlIG9wZXJhbmQpKTsKIAorSlNBcnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlVHlwZWRB
cnJheShKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYyNmUzYTljNWFhNWQ3YjcyMWE3YTQxZDQ3YTU5MGUxNmI3MzllODIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKQEAg
LTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlND
OjpCaWdJbnQ2NEFycmF5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQmlnVWludDY0QXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1Vp
bnQ2NEFycmF5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUzYzlhZmMyZWI5ZmU5NmJjZGMxYzIzMTBjNGFiZWNi
OTY4MGQzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0JpZ1VpbnQ2NEFycmF5LmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRB
cnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdVaW50NjRBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAppbmRleCAyZjA2ZTYy
YTY2ZmU2NDhjMjEyN2NkNzBiOTk0Y2I3Y2ZjM2M3MWNmLi4xZWFlMGQyY2RmOTJhYzVjOGRhZDI2
YjQ2MGI2NWRlNTIzMTEzZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgRk9SX0VBQ0hf
VFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdfREFUQV9WSUVXKEZBQ1RPUlkpCiBzdGF0aWMgaW5s
aW5lIHNpemVfdCBlbGVtZW50U2l6ZShKU1R5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSA+
PSBJbnQ4QXJyYXlUeXBlICYmIHR5cGUgPD0gRGF0YVZpZXdUeXBlKTsKLSAgICBzdGF0aWNfYXNz
ZXJ0KEZsb2F0NjRBcnJheVR5cGUgKyAxID09IERhdGFWaWV3VHlwZSk7CisgICAgc3RhdGljX2Fz
c2VydChCaWdVaW50NjRBcnJheVR5cGUgKyAxID09IERhdGFWaWV3VHlwZSk7CiAgICAgcmV0dXJu
IEVsZW1lbnRTaXplRGF0YVt0eXBlIC0gSW50OEFycmF5VHlwZV07CiB9CiAKQEAgLTM0MCw2ICsz
NDAsMzAgQEAgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4gSlNBcnJheUJ1ZmZlclZpZXc6OnBvc3Np
Ymx5U2hhcmVkSW1wbCgpCiAgICAgfQogfQogCitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVU
eXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdHlwZWRBcnJh
eVZhbHVlKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBpZiAoIXR5cGVkQXJyYXlWYWx1
ZS5pc0NlbGwoKSkgeworICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3Bl
LCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBhcnJheS4iX3MpOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBKU0NlbGwqIHR5cGVkQXJyYXlDZWxsID0gdHlwZWRB
cnJheVZhbHVlLmFzQ2VsbCgpOworICAgIGlmICghaXNUeXBlZFZpZXcodHlwZWRBcnJheUNlbGwt
PmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpIHsKKyAgICAgICAgdGhyb3dU
eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdHlw
ZWQgYXJyYXkuIl9zKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgSlNB
cnJheUJ1ZmZlclZpZXcqIHR5cGVkQXJyYXkgPSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih0
eXBlZEFycmF5Q2VsbCk7CisgICAgaWYgKHR5cGVkQXJyYXktPmlzRGV0YWNoZWQoKSkgeworICAg
ICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgdHlwZWQg
YXJyYXkgaXMgZGV0YWNoZWQuIl9zKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQor
ICAgIHJldHVybiB0eXBlZEFycmF5OworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNw
YWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5QnVmZmVyVmlldy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1
ZmZlclZpZXcuaAppbmRleCBkNjg0ODcwZTc3Zjg2NWY4OTE4ODhlNWQ5ZTMxNzFmMTQ5ZWJkNDU1
Li5mNjEzNDU4ZDFmYjIzYTJmMDkyODBiNzI2MDQ5YTRiNThmMGIwNmQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTIyNCw2
ICsyMjQsOCBAQCBjbGFzcyBKU0FycmF5QnVmZmVyVmlldyA6IHB1YmxpYyBKU05vbkZpbmFsT2Jq
ZWN0IHsKICAgICBUeXBlZEFycmF5TW9kZSBtX21vZGU7CiB9OwogCitKU0FycmF5QnVmZmVyVmll
dyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0JpZ0ludC5oCmluZGV4IDJjNDE2Yzg3Mzg2YjgyNjI2NTE3NTU1YTkzMDQzNTk5MDNh
OTU3Y2UuLmI4OGQ1MDZhMGU1MTUwMDQ2YTVkZjZlNmJmZGM1YmZiZjJjNDk1MmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaApAQCAtNzIsNyArNzIsNyBAQCBjbGFz
cyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0dsb2JhbE9iamVjdCosIGludDMyX3QgdmFs
dWUpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogdHJ5Q3JlYXRlRnJvbShWTSYsIGludDMyX3QgdmFs
dWUpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJvbShKU0dsb2JhbE9iamVjdCosIHVp
bnQzMl90IHZhbHVlKTsKLSAgICBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxP
YmplY3QqLCBpbnQ2NF90IHZhbHVlKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNC
aWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxPYmplY3QqLCBpbnQ2NF90IHZhbHVlKTsKICAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxPYmpl
Y3QqLCB1aW50NjRfdCB2YWx1ZSk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKEpT
R2xvYmFsT2JqZWN0KiwgYm9vbCB2YWx1ZSk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVG
cm9tKEpTR2xvYmFsT2JqZWN0KiwgZG91YmxlIHZhbHVlKTsKQEAgLTEwMiw2ICsxMDIsMTUgQEAg
Y2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIEpT
QmlnSW50OjpjcmVhdGVGcm9tKGdsb2JhbE9iamVjdCwgdmFsdWUpOwogICAgIH0KIAorICAgIHN0
YXRpYyBKU1ZhbHVlIG1ha2VIZWFwQmlnSW50T3JCaWdJbnQzMihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCB1aW50NjRfdCB2YWx1ZSkKKyAgICB7CisjaWYgVVNFKEJJR0lOVDMyKQorICAg
ICAgICBpZiAodmFsdWUgPD0gSU5UX01BWCkKKyAgICAgICAgICAgIHJldHVybiBqc0JpZ0ludDMy
KHN0YXRpY19jYXN0PGludDMyX3Q+KHZhbHVlKSk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIEpT
QmlnSW50OjpjcmVhdGVGcm9tKGdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgIH0KKwogICAgIHN0
YXRpYyBKU1ZhbHVlIG1ha2VIZWFwQmlnSW50T3JCaWdJbnQzMihKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBkb3VibGUgdmFsdWUpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNJbnRlZ2Vy
KHZhbHVlKSk7CkBAIC00MzAsNyArNDM5LDcgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIHRvQmlnVUludDY0SGVhcChiaWdJbnQuYXNIZWFw
QmlnSW50KCkpOwogICAgIH0KIAotICAgIHN0YXRpYyB1aW50NjRfdCB0b0JpZ0ludDY0KEpTVmFs
dWUgYmlnSW50KQorICAgIHN0YXRpYyBpbnQ2NF90IHRvQmlnSW50NjQoSlNWYWx1ZSBiaWdJbnQp
CiAgICAgewogICAgICAgICBBU1NFUlQoYmlnSW50LmlzQmlnSW50KCkpOwogI2lmIFVTRShCSUdJ
TlQzMikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXggYTYwYmMwMzZm
MjgyMzAwYjk2ZDNhZWQ3MDJkNGNmNTVjODk4NGQ1NS4uNDhmNjU4MTI0ZjVhNzU5NWFjNTMwY2Qy
YWU5MGM1Zjg2NDhlNDk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgK
QEAgLTIzMyw3ICsyMzMsNyBAQCBjbGFzcyBKU0NlbGwgOiBwdWJsaWMgSGVhcENlbGwgewogICAg
ICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTQ2VsbCwgbV9jZWxsU3RhdGUpOwogICAgIH0K
ICAgICAKLSAgICBzdGF0aWMgY29uc3QgVHlwZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VU
eXBlID0gTm90VHlwZWRBcnJheTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBl
IFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IE5vdFR5cGVkQXJyYXk7CiAKICAgICB2b2lkIHNldFBl
ckNlbGxCaXQoYm9vbCk7CiAgICAgYm9vbCBwZXJDZWxsQml0KCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3LmgKaW5kZXggNWRhYTYyNjNhOTUwNzlmNzMx
ZDk1OGFjMjMxZDA4NTA5ZmU2ZmM5NS4uMmM3ODVlNDc2MTFhOWUzZjIyOGRlMjhiOGFlNjA4YjVl
NzZjMmZjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRh
Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaApA
QCAtMzcsNiArMzcsOCBAQCBjbGFzcyBKU0RhdGFWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlC
dWZmZXJWaWV3IHsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgZWxlbWVudFNpemUg
PSAxOwogCisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVu
dFR5cGUgPSBUeXBlZEFycmF5Q29udGVudFR5cGU6Ok5vbmU7CisKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nlc3MgbW9kZT4KICAgICBzdGF0aWMgSXNvU3Vic3Bh
Y2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKICAgICB7CkBAIC02NCw3ICs2Niw3IEBAIGNsYXNzIEpT
RGF0YVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgIFJlZlB0cjxE
YXRhVmlldz4gcG9zc2libHlTaGFyZWRUeXBlZEltcGwoKTsKICAgICBSZWZQdHI8RGF0YVZpZXc+
IHVuc2hhcmVkVHlwZWRJbXBsKCk7CiAgICAgCi0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlU
eXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmlldzsKKyAgICBzdGF0aWMgY29u
c3RleHByIFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmll
dzsKIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlld1Byb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcAppbmRleCBmNzM0ZjU2
Yjg3YjcyZWRjYWEyOWU3OTM4NTAyYjAwMDY2YzUzZDM4Li5jNzNhODY3ZTNlNjA2MTY0OTZjYTFl
NzllYjVhYjhjYTZlZjIxYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNwcApAQCAtNDUsNiArNDUsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgZ2V0VWludDMyICAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jR2V0VWlu
dDMyICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAxICBEYXRhVmlld0dldFVpbnQz
MgogICBnZXRGbG9hdDMyICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRGbG9hdDMyICAg
ICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEgIERhdGFWaWV3R2V0RmxvYXQzMgogICBn
ZXRGbG9hdDY0ICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRGbG9hdDY0ICAgICAgICAg
IERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEgIERhdGFWaWV3R2V0RmxvYXQ2NAorICBnZXRCaWdJ
bnQ2NCAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdJbnQ2NCAgICAgICAgIERvbnRF
bnVtfEZ1bmN0aW9uICAgICAgIDEKKyAgZ2V0QmlnVWludDY0ICAgICAgICAgIGRhdGFWaWV3UHJv
dG9GdW5jR2V0QmlnVWludDY0ICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAxCiAgIHNl
dEludDggICAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldEludDggICAgICAgICAgICAg
RG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRJbnQ4CiAgIHNldFVpbnQ4ICAg
ICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldFVpbnQ4ICAgICAgICAgICAgRG9udEVudW18
RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRVaW50OAogICBzZXRJbnQxNiAgICAgICAgICAg
ICAgZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQxNiAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9u
ICAgICAgIDIgIERhdGFWaWV3U2V0SW50MTYKQEAgLTUzLDYgKzU1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgIHNldFVpbnQzMiAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldFVpbnQzMiAg
ICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdTZXRVaW50MzIKICAg
c2V0RmxvYXQzMiAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQzMiAgICAgICAg
ICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldEZsb2F0MzIKICAgc2V0Rmxv
YXQ2NCAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCAgICAgICAgICBEb250
RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRhVmlld1NldEZsb2F0NjQKKyAgc2V0QmlnSW50NjQg
ICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jU2V0QmlnSW50NjQgICAgICAgICBEb250RW51bXxG
dW5jdGlvbiAgICAgICAyCisgIHNldEJpZ1VpbnQ2NCAgICAgICAgICBkYXRhVmlld1Byb3RvRnVu
Y1NldEJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMgogICBidWZmZXIg
ICAgICAgICAgICAgICAgZGF0YVZpZXdQcm90b0dldHRlckJ1ZmZlciAgICAgICAgICAgIERvbnRF
bnVtfEFjY2Vzc29yICAgICAgIDAKICAgYnl0ZUxlbmd0aCAgICAgICAgICAgIGRhdGFWaWV3UHJv
dG9HZXR0ZXJCeXRlTGVuZ3RoICAgICAgICBEb250RW51bXxBY2Nlc3NvciAgICAgICAwCiAgIGJ5
dGVPZmZzZXQgICAgICAgICAgICBkYXRhVmlld1Byb3RvR2V0dGVyQnl0ZU9mZnNldCAgICAgICAg
RG9udEVudW18QWNjZXNzb3IgICAgICAgMApAQCAtNjcsNiArNzEsOCBAQCBzdGF0aWMgSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldFVpbnQxNik7CiBzdGF0aWMg
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldFVpbnQzMik7CiBz
dGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0
MzIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNH
ZXRGbG9hdDY0KTsKK3N0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJv
dG9GdW5jR2V0QmlnSW50NjQpOworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0
YVZpZXdQcm90b0Z1bmNHZXRCaWdVaW50NjQpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQ4KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0SW50MTYpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQzMik7CkBAIC03NSw2ICs4MSw4
IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0
VWludDE2KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9G
dW5jU2V0VWludDMyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3
UHJvdG9GdW5jU2V0RmxvYXQzMik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihk
YXRhVmlld1Byb3RvRnVuY1NldEZsb2F0NjQpOworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdJbnQ2NCk7CitzdGF0aWMgSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEJpZ1VpbnQ2NCk7CiBzdGF0aWMgSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvR2V0dGVyQnVmZmVyKTsKIHN0YXRp
YyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9HZXR0ZXJCeXRlTGVuZ3Ro
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9HZXR0ZXJC
eXRlT2Zmc2V0KTsKQEAgLTE2MSw3ICsxNjksNyBAQCBFbmNvZGVkSlNWYWx1ZSBnZXREYXRhKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgICAg
ICAgICAgdS5yYXdCeXRlc1tpXSA9ICpkYXRhUHRyKys7CiAgICAgfQogCi0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShBZGFwdG9yOjp0b0pTVmFsdWUodS52YWx1ZSkpOworICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEFkYXB0b3I6OnRvSlNWYWx1ZShnbG9i
YWxPYmplY3QsIHUudmFsdWUpKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CkBA
IC0yOTUsNiArMzAzLDE2IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY0dldEZsb2F0NjQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqCiAgICAgcmV0dXJuIGdl
dERhdGE8RmxvYXQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKIH0KIAorSlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0QmlnSW50NjQsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAg
cmV0dXJuIGdldERhdGE8QmlnSW50NjRBZGFwdG9yPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7
Cit9CisKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEJpZ1Vp
bnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KSkKK3sKKyAgICByZXR1cm4gZ2V0RGF0YTxCaWdVaW50NjRBZGFwdG9yPihnbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSk7Cit9CisKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY1NldEludDgsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNh
bGxGcmFtZSkpCiB7CiAgICAgcmV0dXJuIHNldERhdGE8SW50OEFkYXB0b3I+KGdsb2JhbE9iamVj
dCwgY2FsbEZyYW1lKTsKQEAgLTMzNCw2ICszNTIsMTYgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmoKIHsKICAgICByZXR1cm4gc2V0RGF0YTxGbG9hdDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBj
YWxsRnJhbWUpOwogfQorCitKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1
bmNTZXRCaWdJbnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSog
Y2FsbEZyYW1lKSkKK3sKKyAgICByZXR1cm4gc2V0RGF0YTxCaWdJbnQ2NEFkYXB0b3I+KGdsb2Jh
bE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKworSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFW
aWV3UHJvdG9GdW5jU2V0QmlnVWludDY0LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpKQoreworICAgIHJldHVybiBzZXREYXRhPEJpZ1VpbnQ2NEFk
YXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KIElHTk9SRV9DTEFOR19XQVJOSU5H
U19FTkQKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAppbmRleCA3NGY4OWFhOGE0
ZGM5NGRmYzRlNDdkZWVlODAwZTIzMzMzNWZjYWFjLi5kZTZjOTdiNzJkNjczY2NkMjA2NjAxZTAy
NDBkYjU3ZmU4MWNmMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKQEAgLTQwLDYgKzQwLDggQEAgSlNfRVhQ
T1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRVaW50MTZBcnJheUNsYXNzSW5mbygpOwog
SlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRVaW50MzJBcnJheUNsYXNzSW5m
bygpOwogSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZvKiBnZXRGbG9hdDMyQXJyYXlD
bGFzc0luZm8oKTsKIEpTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0RmxvYXQ2
NEFycmF5Q2xhc3NJbmZvKCk7CitKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdl
dEJpZ0ludDY0QXJyYXlDbGFzc0luZm8oKTsKK0pTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNz
SW5mbyogZ2V0QmlnVWludDY0QXJyYXlDbGFzc0luZm8oKTsKIAogLy8gQSB0eXBlZCBhcnJheSB2
aWV3IGlzIG91ciByZXByZXNlbnRhdGlvbiBvZiBhIHR5cGVkIGFycmF5IG9iamVjdCBhcyBzZWVu
CiAvLyBmcm9tIEphdmFTY3JpcHQuIEZvciBleGFtcGxlOgpAQCAtNzksNyArODEsNiBAQCBKU19F
WFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdldEZsb2F0NjRBcnJheUNsYXNzSW5mbygp
OwogLy8gICAgIHN0YXRpYyBpbnQ4X3QgdG9OYXRpdmVGcm9tVWludDMyKHVpbnQzMl90KTsKIC8v
ICAgICBzdGF0aWMgaW50OF90IHRvTmF0aXZlRnJvbURvdWJsZShkb3VibGUpOwogLy8gICAgIHN0
YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShpbnQ4X3QpOwotLy8gICAgIHN0YXRpYyBkb3VibGUgdG9E
b3VibGUoaW50OF90KTsKIC8vICAgICB0ZW1wbGF0ZTxUPiBzdGF0aWMgVDo6VHlwZSBjb252ZXJ0
VG8odWludDhfdCk7CiAvLyB9OwogCkBAIC05MCwxMSArOTEsMTMgQEAgZW51bSBjbGFzcyBDb3B5
VHlwZSB7CiAKIGV4dGVybiBjb25zdCBBU0NJSUxpdGVyYWwgdHlwZWRBcnJheUJ1ZmZlckhhc0Jl
ZW5EZXRhY2hlZEVycm9yTWVzc2FnZTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KK3Rl
bXBsYXRlPHR5cGVuYW1lIFBhc3NlZEFkYXB0b3I+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiBwdWJsaWM6CiAgICAgdXNp
bmcgQmFzZSA9IEpTQXJyYXlCdWZmZXJWaWV3OwotICAgIHR5cGVkZWYgdHlwZW5hbWUgQWRhcHRv
cjo6VHlwZSBFbGVtZW50VHlwZTsKKyAgICB1c2luZyBBZGFwdG9yID0gUGFzc2VkQWRhcHRvcjsK
KyAgICB1c2luZyBFbGVtZW50VHlwZSA9IHR5cGVuYW1lIEFkYXB0b3I6OlR5cGU7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5cGUgPSBBZGFwdG9y
Ojpjb250ZW50VHlwZTsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xv
dCB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5TmFtZXMgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvOwogCkBAIC0xMTksMTUgKzEyMiwy
MCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5
QnVmZmVyVmlldyB7CiAgICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8dHlwZW5hbWUgQWRhcHRv
cjo6VHlwZSo+KHZlY3RvcigpKTsKICAgICB9CiAKKyAgICBib29sIGluQm91bmRzKHVuc2lnbmVk
IGkpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgIH0KKwog
ICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIG1lYW50IHRvIG1hdGNoIGluZGV4ZWQgYWNjZXNzIG1l
dGhvZHMgdGhhdCBKU09iamVjdAogICAgIC8vIHN1cHBvcnRzIC0gaGVuY2UgdGhlIHNsaWdodCBy
ZWR1bmRhbmN5LgogICAgIGJvb2wgY2FuR2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0
CiAgICAgewotICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgICAgICByZXR1cm4gaW5C
b3VuZHMoaSkgJiYgQWRhcHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICBi
b29sIGNhblNldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlKSBjb25zdAog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGkgPCBtX2xlbmd0aCAmJiB2YWx1ZS5pc051bWJlcigpOwor
ICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3RoICYmIHZhbHVlLmlzTnVtYmVyKCkgJiYgQWRhcHRv
cjo6Y2FuQ29udmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICAKICAgICB0eXBlbmFtZSBBZGFw
dG9yOjpUeXBlIGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUodW5zaWduZWQgaSkgY29uc3QK
QEAgLTEzNiwxNCArMTQ0LDkgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwg
OiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICByZXR1cm4gdHlwZWRWZWN0b3Io
KVtpXTsKICAgICB9CiAgICAgCi0gICAgZG91YmxlIGdldEluZGV4UXVpY2tseUFzRG91YmxlKHVu
c2lnbmVkIGkpCi0gICAgewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9Eb3VibGUoZ2V0SW5k
ZXhRdWlja2x5QXNOYXRpdmVWYWx1ZShpKSk7Ci0gICAgfQotICAgIAogICAgIEpTVmFsdWUgZ2V0
SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gQWRh
cHRvcjo6dG9KU1ZhbHVlKGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOworICAgICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9KU1ZhbHVlKG51bGxwdHIsIGdldEluZGV4UXVpY2tseUFzTmF0
aXZlVmFsdWUoaSkpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNldEluZGV4UXVpY2tseVRvTmF0
aXZlVmFsdWUodW5zaWduZWQgaSwgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB2YWx1ZSkKQEAgLTE1
MiwxMSArMTU1LDYgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJs
aWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICB0eXBlZFZlY3RvcigpW2ldID0gdmFsdWU7
CiAgICAgfQogICAgIAotICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5VG9Eb3VibGUodW5zaWduZWQg
aSwgZG91YmxlIHZhbHVlKQotICAgIHsKLSAgICAgICAgc2V0SW5kZXhRdWlja2x5VG9OYXRpdmVW
YWx1ZShpLCB0b05hdGl2ZUZyb21WYWx1ZTxBZGFwdG9yPihqc051bWJlcih2YWx1ZSkpKTsKLSAg
ICB9Ci0gICAgCiAgICAgdm9pZCBzZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSwgSlNWYWx1ZSB2
YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVCghdmFsdWUuaXNPYmplY3QoKSk7CkBAIC0yNDcs
NiArMjQ1LDEwIEBAIGNsYXNzIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGlj
IEpTQXJyYXlCdWZmZXJWaWV3IHsKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDMyQXJyYXlD
bGFzc0luZm8oKTsKICAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgICAgIHJldHVy
biBnZXRGbG9hdDY0QXJyYXlDbGFzc0luZm8oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6
CisgICAgICAgICAgICByZXR1cm4gZ2V0QmlnSW50NjRBcnJheUNsYXNzSW5mbygpOworICAgICAg
ICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICByZXR1cm4gZ2V0QmlnVWludDY0QXJy
YXlDbGFzc0luZm8oKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI3NSw2
ICsyNzcsMTAgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMg
SlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAgICAgICAgcmV0dXJuIHZtLmZsb2F0MzJBcnJheVNw
YWNlPG1vZGU+KCk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1
cm4gdm0uZmxvYXQ2NEFycmF5U3BhY2U8bW9kZT4oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgICAgICByZXR1cm4gdm0uYmlnSW50NjRBcnJheVNwYWNlPG1vZGU+KCk7Cisg
ICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiB2bS5iaWdVaW50
NjRBcnJheVNwYWNlPG1vZGU+KCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBA
IC0yODMsNyArMjg5LDcgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBw
dWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgIAogICAgIEFycmF5QnVmZmVyKiBleGlzdGlu
Z0J1ZmZlcigpOwogCi0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlT
dG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5
cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsK
IAogICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1bHQgRE9NIHVud3JhcHBpbmcuIEl0IGNhbGxzIHRv
VW5zaGFyZWROYXRpdmVUeXBlZFZpZXcoKS4KICAgICBzdGF0aWMgUmVmUHRyPHR5cGVuYW1lIEFk
YXB0b3I6OlZpZXdUeXBlPiB0b1dyYXBwZWQoVk0mLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3Q29uc3RydWN0b3IuaAppbmRleCA1ZjQ1YTYxZTNlMjBlYmE0ZjZkNTY4YTVhNTUzMDhh
ZGEyZGMyYWVjLi42OTIyNWU1MGUxNGM1NGU5YmJhN2Y0ZGE2MjM0NTY4NzcwNDQzYmJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5
Vmlld0NvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rvci5oCkBAIC0zOCw2ICszOCw4IEBAIEpTX0VY
UE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQxNkFycmF5KTsK
IEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQzMkFy
cmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbEZs
b2F0MzJBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGNhbGxGbG9hdDY0QXJyYXkpOworSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9G
VU5DVElPTihjYWxsQmlnSW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFS
RV9IT1NUX0ZVTkNUSU9OKGNhbGxCaWdVaW50NjRBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBK
U0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNhbGxEYXRhVmlldyk7CiAKIEpTX0VYUE9SVF9QUklW
QVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0SW50OEFycmF5KTsKQEAgLTQ5
LDYgKzUxLDggQEAgSlNfRVhQT1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihj
b25zdHJ1Y3RVaW50MTZBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGNvbnN0cnVjdFVpbnQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19E
RUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RmxvYXQzMkFycmF5KTsKIEpTX0VYUE9SVF9Q
UklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RmxvYXQ2NEFycmF5KTsK
K0pTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0Qmln
SW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGNvbnN0cnVjdEJpZ1VpbnQ2NEFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RGF0YVZpZXcpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBW
aWV3Q2xhc3M+CkBAIC04Nyw2ICs5MSwxMCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGljIEludGVybmFsRnVuY3Rpb24gewogICAgICAgICAg
ICAgcmV0dXJuIGNhbGxGbG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAg
ICAgICAgICAgICByZXR1cm4gY2FsbEZsb2F0NjRBcnJheTsKKyAgICAgICAgY2FzZSBUeXBlQmln
SW50NjQ6CisgICAgICAgICAgICByZXR1cm4gY2FsbEJpZ0ludDY0QXJyYXk7CisgICAgICAgIGNh
c2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjYWxsQmlnVWludDY0QXJyYXk7
CiAgICAgICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICAgICAgcmV0dXJuIGNhbGxEYXRh
VmlldzsKICAgICAgICAgZGVmYXVsdDoKQEAgLTExNiw2ICsxMjQsMTAgQEAgY2xhc3MgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0
aW9uIHsKICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RGbG9hdDMyQXJyYXk7CiAgICAgICAg
IGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0RmxvYXQ2NEFy
cmF5OworICAgICAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjb25z
dHJ1Y3RCaWdJbnQ2NEFycmF5OworICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAg
ICAgICByZXR1cm4gY29uc3RydWN0QmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZURh
dGFWaWV3OgogICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGFWaWV3OwogICAgICAgICBk
ZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgK
aW5kZXggYTA5ZTMyYTZmZWZmZDJkODE2YWRmMGZjYTA5MzliODI1NzZiMWE2NC4uNzg2NTUyYTJi
ODYwOTcyYjZkZmM3NzUyY2IxMDgxNWYzNzcyYWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFy
cmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5oCkBAIC0xOTMsNiArMTkzLDExIEBAIGlubGluZSBK
U09iamVjdCogY29uc3RydWN0R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyhKU0ds
b2JhbE9iamVjdCogZ2xvCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAg
ICAgICB9CiAKKyAgICAgICAgICAgIGlmIChjb250ZW50VHlwZShvYmplY3QtPmNsYXNzSW5mbyh2
bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkgewor
ICAgICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250
ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgbmV3IHR5cGVkIGFycmF5IGFyZSBkaWZmZXJlbnQiX3Mp
OworICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgfQorCiAgICAg
ICAgICAgICBsZW5ndGggPSB2aWV3LT5sZW5ndGgoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIC8vIFRoaXMgZ2V0UHJvcGVydHlTbG90IG9wZXJhdGlvbiBzaG91bGQgbm90IGJlIG9i
c2VydmVkIGJ5IHRoZSBQcm94eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKaW5kZXggM2Nk
YTYzN2VlZjc3ZWFmODk1NjFmNzYwZmQ2NmIwZjMxODI3NzYyYS4uNmEyMTVlNWQxNzEzZGNlZTY3
Mzk0YjM0YTRhZjA1N2E5MmRkZDBjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKQEAg
LTE2Miw2ICsxNjIsOSBAQCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+Ojpz
ZXRXaXRoU3BlY2lmaWNUeXBlKAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVu
c2lnbmVkIG9mZnNldCwgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8T3RoZXJBZGFwdG9yPiogb3Ro
ZXIsCiAgICAgdW5zaWduZWQgb3RoZXJPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCwgQ29weVR5cGUg
dHlwZSkKIHsKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCiAgICAgLy8gSGFuZGxlIHRoZSBoaWxhcmlv
dXMgY2FzZTogdGhlIGFjdCBvZiBnZXR0aW5nIHRoZSBsZW5ndGggY291bGQgaGF2ZSByZXN1bHRl
ZAogICAgIC8vIGluIGRldGFjaGluZy4gV2VsbCwgbm8uIFRoYXQnbGwgbmV2ZXIgaGFwcGVuIGJl
Y2F1c2UgdGhlcmUgY2Fubm90IGJlCiAgICAgLy8gc2lkZS1lZmZlY3RzIG9uIGdldHRpbmcgdGhl
IGxlbmd0aCBvZiBhIHR5cGVkIGFycmF5LiBCdXQgcHJlZGljdGluZyB3aGVyZSB0aGVyZQpAQCAt
MTcxLDggKzE3NCwxNSBAQCBib29sIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+Ojpz
ZXRXaXRoU3BlY2lmaWNUeXBlKAogICAgIGxlbmd0aCA9IHN0ZDo6bWluKGxlbmd0aCwgb3RoZXIt
Pmxlbmd0aCgpKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKG90aGVyLT5jYW5BY2Nlc3NSYW5nZVF1
aWNrbHkob3RoZXJPZmZzZXQsIGxlbmd0aCkpOwotICAgIGlmICghdmFsaWRhdGVSYW5nZShnbG9i
YWxPYmplY3QsIG9mZnNldCwgbGVuZ3RoKSkKKyAgICBib29sIHN1Y2Nlc3MgPSB2YWxpZGF0ZVJh
bmdlKGdsb2JhbE9iamVjdCwgb2Zmc2V0LCBsZW5ndGgpOworICAgIEVYQ0VQVElPTl9BU1NFUlQo
IXNjb3BlLmV4Y2VwdGlvbigpID09IHN1Y2Nlc3MpOworICAgIGlmICghc3VjY2VzcykKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgY29uc3RleHByIChBZGFwdG9yOjpjb250ZW50VHlw
ZSAhPSBPdGhlckFkYXB0b3I6OmNvbnRlbnRUeXBlKSB7CisgICAgICAgIHRocm93VHlwZUVycm9y
KGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgZGVzdGlu
YXRpb24gdHlwZWQgYXJyYXlzIGFyZSBkaWZmZXJlbnQiX3MpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQogICAgIAogICAgIC8vIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBjb3B5
aW5nIGJldHdlZW4gdGhlIHNhbWUgYXJyYXkuIE5vdGUgdGhhdAogICAgIC8vIHNldCgpIHdpbGwg
b25seSBjYWxsIHRoaXMgaWYgdGhlIHR5cGVzIGRpZmZlciwgd2hpY2ggaW1wbGljaXRseSBndWFy
YW50ZWVzCkBAIC0yODksNiArMjk5LDEyIEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8
QWRhcHRvcj46OnNldCgKICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAgICAgICBSRUxFQVNFX0FO
RF9SRVRVUk4oc2NvcGUsIHNldFdpdGhTcGVjaWZpY1R5cGU8RmxvYXQ2NEFkYXB0b3I+KAogICAg
ICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0Zsb2F0NjRBcnJheSo+KG9i
amVjdCksIG9iamVjdE9mZnNldCwgbGVuZ3RoLCB0eXBlKSk7CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgc2V0V2l0aFNwZWNpZmljVHlw
ZTxCaWdJbnQ2NEFkYXB0b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpz
Q2FzdDxKU0JpZ0ludDY0QXJyYXkqPihvYmplY3QpLCBvYmplY3RPZmZzZXQsIGxlbmd0aCwgdHlw
ZSkpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJO
KHNjb3BlLCBzZXRXaXRoU3BlY2lmaWNUeXBlPEJpZ1VpbnQ2NEFkYXB0b3I+KAorICAgICAgICAg
ICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ1VpbnQ2NEFycmF5Kj4ob2JqZWN0
KSwgb2JqZWN0T2Zmc2V0LCBsZW5ndGgsIHR5cGUpKTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6
CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6IHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gdmFsaWRh
dGVSYW5nZShnbG9iYWxPYmplY3QsIG9mZnNldCwgbGVuZ3RoKTsKQEAgLTQzMywxNCArNDQ5LDI0
IEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmRlbGV0ZVByb3BlcnR5
KAogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldzxBZGFwdG9yPjo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCgKLSAgICBKU09iamVjdCog
b2JqZWN0LCBKU0dsb2JhbE9iamVjdCosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KQorICAgIEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogeworICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNHZW5lcmljVHlwZWRBcnJheVZpZXcqPihvYmplY3QpOwogCi0gICAgaWYgKHRo
aXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+Y2FuR2V0SW5kZXhRdWlja2x5
KHByb3BlcnR5TmFtZSkpCisgICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhp
c09iamVjdC0+aW5Cb3VuZHMocHJvcGVydHlOYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJv
cGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJvcGVy
dHlOYW1lKSk7CisgICAgSlNWYWx1ZSB2YWx1ZTsKKyAgICBpZiBjb25zdGV4cHIgKEFkYXB0b3I6
OmNhbkNvbnZlcnRUb0pTUXVpY2tseSkKKyAgICAgICAgdmFsdWUgPSB0aGlzT2JqZWN0LT5nZXRJ
bmRleFF1aWNrbHkocHJvcGVydHlOYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBuYXRp
dmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUocHJvcGVy
dHlOYW1lKTsKKyAgICAgICAgdmFsdWUgPSBBZGFwdG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0
LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNl
KTsKKyAgICB9CisgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB2YWx1ZSk7CiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCmlu
ZGV4IDJlMGE3ODIwMTc3Yzg0NmRiNDc3MjQwYjE2NjU5NTkzYjQwNGI5MWUuLjhjOTQxMjkzOTdl
OGFiYTQxNDA3MmViN2E5YjAwOGFlYzQ2MjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25z
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaApAQCAtMjcyLDExICsyNzIsMTkgQEAgQUxXQVlTX0lO
TElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKFZN
JiB2bSwgSlNHbG9iYWwKICAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlzT2JqZWN0LT5sZW5ndGgo
KTsKICAgICBhdXRvIGpvaW5XaXRoU2VwYXJhdG9yID0gWyZdIChTdHJpbmdWaWV3IHNlcGFyYXRv
cikgLT4gRW5jb2RlZEpTVmFsdWUgewogICAgICAgICBKU1N0cmluZ0pvaW5lciBqb2luZXIoZ2xv
YmFsT2JqZWN0LCBzZXBhcmF0b3IsIGxlbmd0aCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSkgewog
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAg
ICAgICAgICAgICAgam9pbmVyLmFwcGVuZChnbG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPmdldElu
ZGV4UXVpY2tseShpKSk7Ci0gICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKKyAg
ICAgICAgICAgICAgICBpZiBjb25zdGV4cHIgKFZpZXdDbGFzczo6QWRhcHRvcjo6Y2FuQ29udmVy
dFRvSlNRdWlja2x5KQorICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXNPYmplY3QtPmdl
dEluZGV4UXVpY2tseShpKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0
aXZlVmFsdWUoaSk7CisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gVmlld0NsYXNzOjpBZGFw
dG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7Cisg
ICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7IGkrKykKQEAgLTI5MiwxMCArMzAwLDEwIEBAIEFMV0FZU19JTkxJTkUgRW5j
b2RlZEpTVmFsdWUgZ2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jSm9pbihWTSYgdm0sIEpT
R2xvYmFsCiAgICAgfQogCiAgICAgSlNTdHJpbmcqIHNlcGFyYXRvclN0cmluZyA9IHNlcGFyYXRv
clZhbHVlLnRvU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKIAogICAgIGF1dG8gdmlld1dpdGhTdHJpbmcgPSBzZXBhcmF0b3JTdHJpbmctPnZpZXdX
aXRoVW5kZXJseWluZ1N0cmluZyhnbG9iYWxPYmplY3QpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIHsgfSk7CiAgICAgcmV0dXJuIGpvaW5XaXRoU2VwYXJhdG9yKHZpZXdXaXRoU3RyaW5nLnZp
ZXcpOwogfQogCkBAIC00NTQsNiArNDYyLDExIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFs
dWUgZ2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jU2xpY2UoVk0mIHZtLCBKU0dsb2JhCiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgQVNT
RVJUKCFyZXN1bHQtPmlzRGV0YWNoZWQoKSk7CiAKKyAgICAvLyBodHRwczovL3RjMzkuZXMvZWNt
YTI2Mi8jdHlwZWRhcnJheS1zcGVjaWVzLWNyZWF0ZQorICAgIC8vIElmIHJlc3VsdC5bW0NvbnRl
bnRUeXBlXV0g4omgIGV4ZW1wbGFyLltbQ29udGVudFR5cGVdXSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgIGlmIChjb250ZW50VHlwZShyZXN1bHQtPmNsYXNzSW5mbyh2bSktPnR5
cGVkQXJyYXlTdG9yYWdlVHlwZSkgIT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkKKyAgICAgICAg
cmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgIkNvbnRlbnQgdHlw
ZXMgb2Ygc291cmNlIGFuZCBjcmVhdGVkIHR5cGVkIGFycmF5cyBhcmUgZGlmZmVyZW50Il9zKTsK
KwogICAgIC8vIFdlIHJldHVybiBlYXJseSBoZXJlIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIGEg
YmFja2luZyBzdG9yZSBpZiBsZW5ndGggaXMgMCBhbmQgbWVtbW92ZSBkb2VzIG5vdCBsaWtlIG51
bGxwdHJzCiAgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
cmVzdWx0KTsKQEAgLTUwMiw2ICs1MTUsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1
ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNTbGljZShWTSYgdm0sIEpTR2xvYmEKICAg
ICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICBqc0Nhc3Q8SlNGbG9hdDY0QXJyYXkqPihy
ZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBD
b3B5VHlwZTo6TGVmdFRvUmlnaHQpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsK
KyAgICAgICAganNDYXN0PEpTQmlnSW50NjRBcnJheSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmpl
Y3QsIDAsIHRoaXNPYmplY3QsIGJlZ2luLCBsZW5ndGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKKyAgICBjYXNlIFR5cGVC
aWdVaW50NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0PEpTQmln
VWludDY0QXJyYXkqPihyZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBi
ZWdpbiwgbGVuZ3RoLCBDb3B5VHlwZTo6TGVmdFRvUmlnaHQpOworICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC01NDMsNyArNTY0LDcgQEAgQUxXQVlTX0lOTElO
RSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5
Q3JlYXRlKFZNJnYKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGFycmF5QnVmZmVyID0gdGhpc09i
amVjdC0+cG9zc2libHlTaGFyZWRCdWZmZXIoKTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVm
ZmVyKSkgewogICAgICAgICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgICAgICByZXR1cm4geyB9
OwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVCh0aGlzTGVuZ3RoID09IHRoaXNPYmplY3QtPmxl
bmd0aCgpKTsKIApAQCAtNTY3LDEzICs1ODgsMTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNW
YWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYK
ICAgICBBU1NFUlQoIWFyZ3MuaGFzT3ZlcmZsb3dlZCgpKTsKIAogICAgIEpTT2JqZWN0KiByZXN1
bHQgPSBjb25zdHJ1Y3QoZ2xvYmFsT2JqZWN0LCBzcGVjaWVzLCBhcmdzLCAic3BlY2llcyBpcyBu
b3QgYSBjb25zdHJ1Y3RvciIpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAg
ICBpZiAoanNEeW5hbWljQ2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHZtLCByZXN1bHQpKQotICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgSlNBcnJheUJ1ZmZlclZp
ZXcqIHZhbGlkYXRlZCA9IHZhbGlkYXRlVHlwZWRBcnJheShnbG9iYWxPYmplY3QsIHJlc3VsdCk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICBpZiAoY29udGVudFR5
cGUodmFsaWRhdGVkLT5jbGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpICE9IFZp
ZXdDbGFzczo6Y29udGVudFR5cGUpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGds
b2JhbE9iamVjdCwgc2NvcGUsICJUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheSBjb25zdHJ1
Y3RlZCB0eXBlZCBhcnJheSBvZiBkaWZmZXJlbnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8Il9z
KTsKIAotICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJzcGVjaWVzIGNv
bnN0cnVjdG9yIGRpZCBub3QgcmV0dXJuIGEgVHlwZWRBcnJheSBWaWV3Il9zKTsKLSAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh2YWxpZGF0ZWQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA4NWM3NjNjNTRlMDI5
ZDE1ZDlmZDQ5YmI4ZjJhZTJiN2RkYjBhOTRkLi43NTBhZDUxZWRkNmM5OTg5Nzg0YWUwZDQyNWEx
MmM1OGJkOWMyOTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCkBAIC00NTcsNiArNDU3LDggQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUgSlNHbG9iYWxPYmplY3Q6OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7CiAg
IFVpbnQzMkFycmF5ICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5VWludDMy
ICAgICAgICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQogICBGbG9hdDMyQXJyYXkgICAgICAg
ICAgSlNHbG9iYWxPYmplY3Q6Om1fdHlwZWRBcnJheUZsb2F0MzIgICAgICAgICAgRG9udEVudW18
Q2xhc3NTdHJ1Y3R1cmUKICAgRmxvYXQ2NEFycmF5ICAgICAgICAgIEpTR2xvYmFsT2JqZWN0Ojpt
X3R5cGVkQXJyYXlGbG9hdDY0ICAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCisgIEJp
Z0ludDY0QXJyYXkgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV90eXBlZEFycmF5QmlnSW50NjQg
ICAgICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQorICBCaWdVaW50NjRBcnJheSAgICAgICAg
SlNHbG9iYWxPYmplY3Q6Om1fdHlwZWRBcnJheUJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18Q2xh
c3NTdHJ1Y3R1cmUKICAgRGF0YVZpZXcgICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5
cGVkQXJyYXlEYXRhVmlldyAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIERhdGUg
ICAgICAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV9kYXRlU3RydWN0dXJlICAgICAgICAg
ICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQogICBFcnJvciAgICAgICAgICAgICAgICAgSlNH
bG9iYWxPYmplY3Q6Om1fZXJyb3JTdHJ1Y3R1cmUgICAgICAgICAgICAgRG9udEVudW18Q2xhc3NT
dHJ1Y3R1cmUKQEAgLTEyMDcsMTIgKzEyMDksMTggQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0
b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUK
ICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNv
bnN0YW50Ojp0eXBlZEFycmF5R2V0T3JpZ2luYWxDb25zdHJ1Y3RvcildLmluaXRMYXRlcihbXSAo
Y29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYgaW5pdCkgewogICAgICAgICAgICAgaW5pdC5zZXQo
SlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQu
b3duZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0dldE9yaWdpbmFs
Q29uc3RydWN0b3IpKTsKICAgICAgICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheUNvbnRlbnRUeXBl
KV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CisgICAg
ICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xv
YmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAsIFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZh
dGVGdW5jQ29udGVudFR5cGUpKTsKKyAgICAgICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50
c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dHlwZWRBcnJheVNvcnQp
XS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAg
ICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9i
YWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0
ZUZ1bmNTb3J0KSk7CiAgICAgICAgIH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzVHlwZWRBcnJheVZpZXcpXS5pbml0
TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAg
IGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1R5cGVkQXJyYXlWaWV3LCBJc1R5cGVkQXJyYXlWaWV3SW50cmluc2ljKSk7CiAgICAgICAgIH0p
OworICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1l
Q29uc3RhbnQ6OmlzQmlnSW50VHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IElu
aXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rp
b246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwg
MCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc0JpZ0ludFR5cGVkQXJyYXlW
aWV3KSk7CisgICAgICAgIH0pOwogICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzU2hhcmVkVHlwZWRBcnJheVZpZXcpXS5pbml0
TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAg
IGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1NoYXJlZFR5cGVkQXJyYXlWaWV3KSk7CiAgICAgICAgIH0pOwpAQCAtMTIzNCw2ICsxMjQyLDkg
QEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9
IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRp
Y19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjppbnN0YW5jZU9mKV0uaW5pdExhdGVy
KFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0
LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4o
aW5pdC5vd25lciksIDAsIFN0cmluZygpLCBvYmplY3RQcml2YXRlRnVuY0luc3RhbmNlT2YpKTsK
ICAgICAgICAgfSk7CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oTGlua1RpbWVDb25zdGFudDo6dG9CaWdJbnQpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRp
YWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246
OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwg
U3RyaW5nKCksIGdsb2JhbEZ1bmNUb0JpZ0ludCkpOworICAgICAgICB9KTsKICAgICBtX2xpbmtU
aW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjpCdWls
dGluTG9nKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7
CiAgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0
PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDEsIFN0cmluZygpLCBnbG9iYWxGdW5jQnVp
bHRpbkxvZykpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmNwcAppbmRleCBkNGRmMDMzZTlj
MzFhNTQ4MzAzY2M5NTNjYTU5MjlmMWFjZGVmZDJlLi4yYzZkYTk2NGNjZmI4NTYzMzRmYjdjMmM4
YTE5NmRlZWQ2OTJhNTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuY3BwCkBAIC05NjcsNCArOTY3LDkgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNEYXRlVGltZUZvcm1hdCwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QKICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpT
VmFsdWU6OmVuY29kZShkYXRlVGltZUZvcm1hdC0+Zm9ybWF0KGdsb2JhbE9iamVjdCwgdmFsdWUp
KSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jVG9CaWdJbnQsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsRnJhbWUtPmFyZ3VtZW50KDApLnRvQmlnSW50
KGdsb2JhbE9iamVjdCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCmlu
ZGV4IDRkZmI3ZWY2ZDZkZGYwMTZkMzBkYWRjNjQxZWZiM2I3NWJiZTRlMDUuLmNjOGFmYmM0NmM3
MzgyYmQ4MjdiYTVmM2M0YTk1ZjJlMjdkMmMyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaApAQCAtNTksNiAr
NTksNyBAQCBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUp
OwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFi
bGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnbG9iYWxGdW5jQ29weURhdGFQcm9wZXJ0
aWVzKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY0RhdGVUaW1lRm9ybWF0
KTsKK0pTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZ2xvYmFsRnVuY1RvQmlnSW50KTsKIAogSlNf
RVhQT1JUX1BSSVZBVEUgZG91YmxlIGpzVG9OdW1iZXIoU3RyaW5nVmlldyk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUuY3BwCmluZGV4IDQ2MmYzZWRlMzI1ZDZkNDY0ZTZk
NjNlM2Q1ZDcwZWE4YWVjYjBlMjQuLmZjYjY5N2MyZDA5ZThiZjc1MzA2ODQ4ZTNiYzE4MDNkMTc3
ODUzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmNwcApAQCAtODQs
NiArODQsOCBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5
cGUgdHlwZSkKICAgICBDQVNFKFVpbnQzMkFycmF5VHlwZSkKICAgICBDQVNFKEZsb2F0MzJBcnJh
eVR5cGUpCiAgICAgQ0FTRShGbG9hdDY0QXJyYXlUeXBlKQorICAgIENBU0UoQmlnSW50NjRBcnJh
eVR5cGUpCisgICAgQ0FTRShCaWdVaW50NjRBcnJheVR5cGUpCiAgICAgQ0FTRShEYXRhVmlld1R5
cGUpCiAgICAgQ0FTRShHZXR0ZXJTZXR0ZXJUeXBlKQogICAgIENBU0UoR2xvYmFsT2JqZWN0VHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKaW5kZXggMzZiMTc0YzVmNTg0
Y2FmZTFkZTIwYjIwNjNmYmE4YjJkNWZhNmQ5Ny4uMDFhZjkzZTg1MjJmNjI4MTc3OTRmNGI2OWE1
ZjM1NGYwMjk3MjM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAg
LTg3LDYgKzg3LDggQEAgZW51bSBKU1R5cGUgOiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheVR5
cGUsCiAgICAgRmxvYXQzMkFycmF5VHlwZSwKICAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgIEJp
Z0ludDY0QXJyYXlUeXBlLAorICAgIEJpZ1VpbnQ2NEFycmF5VHlwZSwKICAgICBEYXRhVmlld1R5
cGUsCiAgICAgLy8gRW5kIEpTQXJyYXlCdWZmZXJWaWV3IHR5cGVzLgogCkBAIC0xNDEsNiArMTQz
LDcgQEAgc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBMYXN0T2JqZWN0VHlwZSA9IE1heEpTVHlw
ZTsKIAogc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyA9
IExhc3RUeXBlZEFycmF5VHlwZSAtIEZpcnN0VHlwZWRBcnJheVR5cGUgKyAxOwogc3RhdGljIGNv
bnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3
ID0gTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXMgLSAxOworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJf
dCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3
ID0gTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXMgLSAzOwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihK
U1R5cGUpID09IHNpemVvZih1aW50OF90KSwgInNpemVvZihKU1R5cGUpIGlzIG9uZSBieXRlLiIp
Owogc3RhdGljX2Fzc2VydChMYXN0SlNDT2JqZWN0VHlwZSA8IDBiMTExMDAwMDAsICJFbWJlZGRl
ciBjYW4gdXNlIDBiMTExMDAwMDAgb3IgdXBwZXIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcAppbmRl
eCA4NGU2NTExMjZmNDI4ZGNhOGVkZGE0Mzk0NmRkNzBjMWUxNzg0MmVlLi45NWFiZWM1NDA5YTMx
ZWE3ODMxM2QzYzVmMzlhZGI0NTg1YjhmYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAKQEAgLTQz
LDYgKzQzLDggQEAgTUFLRV9TX0lORk8oVWludDE2QXJyYXkpOwogTUFLRV9TX0lORk8oVWludDMy
QXJyYXkpOwogTUFLRV9TX0lORk8oRmxvYXQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0NjRB
cnJheSk7CitNQUtFX1NfSU5GTyhCaWdJbnQ2NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2
NEFycmF5KTsKIE1BS0VfU19JTkZPKERhdGFWaWV3KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy5oCmluZGV4IDAxOTIwYTQxZTA5YWEzNzM0MTJiZjZiOTBkZDg3M2I3YmU1NzE4
ZGMuLjA2NDU1MzA5MjI4YTBlYmU5ZGExM2E3NDA4NDgxMTNhMzIzZjE5MzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy5oCkBAIC00MCw2ICs0MCw4IEBAIHVzaW5nIEpTVWludDE2QXJyYXlDb25zdHJ1Y3RvciA9
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNVaW50MTZBcnJhCiB1c2luZyBK
U1VpbnQzMkFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVj
dG9yPEpTVWludDMyQXJyYXk+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciA9IEpT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDMyQXJyYXk+OwogdXNpbmcg
SlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3I8SlNGbG9hdDY0QXJyYXk+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5Q29uc3RydWN0b3Ig
PSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTQmlnSW50NjRBcnJheT47Cit1
c2luZyBKU0JpZ1VpbnQ2NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0NvbnN0cnVjdG9yPEpTQmlnVWludDY0QXJyYXk+OwogdXNpbmcgSlNEYXRhVmlld0NvbnN0cnVj
dG9yID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcjxKU0RhdGFWaWV3PjsKIFNU
QVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTSW50OEFycmF5Q29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
SlNJbnQxNkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwpAQCAtNTAsNiArNTIs
OCBAQCBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1VpbnQxNkFycmF5Q29u
c3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0Vf
U0hBUkFCTEUoSlNVaW50MzJBcnJheUNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIFNU
QVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTRmxvYXQzMkFycmF5Q29uc3RydWN0
b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFC
TEUoSlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNf
QVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3Rvciwg
SW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShK
U0JpZ1VpbnQ2NEFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNEYXRhVmlld0NvbnN0cnVjdG9yLCBJbnRlcm5h
bEZ1bmN0aW9uKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCmluZGV4IDJi
YjE0NTI1ZjViZDExNjhjZjQ2NzMxNzM5OTMyNzY4NzgxMDkwNTYuLmJhODE4ZWEzMDgyZmY0MDRj
OWQ0YTdmMTQxODFlYzk3N2I4MTkzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuY3BwCkBAIC00Nyw2ICs0Nyw4
IEBAIE1BS0VfU19JTkZPKFVpbnQxNkFycmF5KTsKIE1BS0VfU19JTkZPKFVpbnQzMkFycmF5KTsK
IE1BS0VfU19JTkZPKEZsb2F0MzJBcnJheSk7CiBNQUtFX1NfSU5GTyhGbG9hdDY0QXJyYXkpOwor
TUFLRV9TX0lORk8oQmlnSW50NjRBcnJheSk7CitNQUtFX1NfSU5GTyhCaWdVaW50NjRBcnJheSk7
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmgKaW5kZXggMDdiOTY4NjkzZTgwZjQ1
ODU4NmNjMTJiYzVkYWZmZWZhNDFlMzU5OS4uNTExYjExMjg4Nzg4NWNjNTdhODE4MzIzZjIzYWFl
NDJkMWFhOWY4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlZEFycmF5UHJvdG90eXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaApAQCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWludDE2QXJyYXk+IEpTVWludDE2QXJyYXlQ
cm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWlu
dDMyQXJyYXk+IEpTVWludDMyQXJyYXlQcm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3UHJvdG90eXBlPEpTRmxvYXQzMkFycmF5PiBKU0Zsb2F0MzJBcnJheVByb3RvdHlw
ZTsKIHR5cGVkZWYgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNGbG9hdDY0QXJy
YXk+IEpTRmxvYXQ2NEFycmF5UHJvdG90eXBlOwordHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5
Vmlld1Byb3RvdHlwZTxKU0JpZ0ludDY0QXJyYXk+IEpTQmlnSW50NjRBcnJheVByb3RvdHlwZTsK
K3R5cGVkZWYgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGU8SlNCaWdVaW50NjRBcnJh
eT4gSlNCaWdVaW50NjRBcnJheVByb3RvdHlwZTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJv
dG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuY3BwCmluZGV4IGVmMmM5MTBjZGI0Y2VkZGY3MzM1YjA1NTdjZGVmNjhlOTAw
MmI3OTcuLjM2YTVhMTA2YzIyYjYyYjVmNWUzZmFjYWIwMzU4ZjMzMzE3ZTJiMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5
cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZp
ZXdQcm90b3R5cGUuY3BwCkBAIC03Miw2ICs3MiwxMCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1Byb3RvR2V0dGVyRnVuY1RvU3RyaW5nVGFnKTsKICAg
ICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0ludDE2QXJyYXk+KHZtLCBnbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVVaW50
MTY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU1Vp
bnQxNkFycmF5Pih2bSwgZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ0ludDY0QXJyYXk+KHZtLCBnbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSk7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ1Vp
bnQ2NEFycmF5Pih2bSwgZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IFR5cGVEYXRhVmlldzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIHRocm93Vk1U
eXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKQEAgLTg2LDYgKzkwLDEyIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNUeXBlZEFycmF5VmlldywgKEpTR2xvYmFs
T2JqCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4odmFsdWUuaXNDZWxsKCkg
JiYgaXNUeXBlZFZpZXcodmFsdWUuYXNDZWxsKCktPmNsYXNzSW5mbyhnbG9iYWxPYmplY3QtPnZt
KCkpLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5VmlldywgKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAg
ICBKU1ZhbHVlIHZhbHVlID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih2YWx1ZS5pc0NlbGwoKSAmJiBpc0JpZ0lu
dFR5cGVkVmlldyh2YWx1ZS5hc0NlbGwoKS0+Y2xhc3NJbmZvKGdsb2JhbE9iamVjdC0+dm0oKSkt
PnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3LCAoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpT
VmFsdWUgdmFsdWUgPSBjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApOwpAQCAtMTcxLDYg
KzE4MSwxNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRl
RnVuY0xlbmd0aCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOdW1iZXIodGhpc09iamVjdC0+bGVuZ3RoKCkpKTsKIH0KIAorSlNDX0RFRklORV9I
T1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworICAgIEpTVmFsdWUgYXJndW1lbnQgPSBjYWxsRnJhbWUtPmFyZ3VtZW50
KDApOworICAgIGlmICghYXJndW1lbnQuaXNDZWxsKCkgfHwgIWlzVHlwZWRWaWV3KGFyZ3VtZW50
LmFzQ2VsbCgpLT5jbGFzc0luZm8odm0pLT50eXBlZEFycmF5U3RvcmFnZVR5cGUpKQorICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiUmVjZWl2ZXIg
c2hvdWxkIGJlIGEgdHlwZWQgYXJyYXkgdmlldyJfcyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc051bWJlcihzdGF0aWNfY2FzdDxpbnQzMl90Pihjb250ZW50VHlwZShhcmd1bWVudC5h
c0NlbGwoKS0+Y2xhc3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3JhZ2VUeXBlKSkpKTsKK30KKwog
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNHZXRPcmln
aW5hbENvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1l
KiBjYWxsRnJhbWUpKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTM4
OCw2ICs0MDgsMTAgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJv
dG9HZXR0ZXJGdW5jVG9TdHJpbmdUYWcsIChKU0dsb2JhbE9iamUKICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmcodm0sICJJbnQxNkFycmF5Il9zKSk7CiAg
ICAgY2FzZSBUeXBlVWludDE2OgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9u
dHJpdmlhbFN0cmluZyh2bSwgIlVpbnQxNkFycmF5Il9zKSk7CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKHZt
LCAiQmlnSW50NjRBcnJheSJfcykpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxTdHJpbmcodm0sICJCaWdVaW50NjRB
cnJheSJfcykpOwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmll
dzoKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90
b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQ
cm90b3R5cGUuaAppbmRleCBkMzUzMGZmNmQ2MTRlZmUwZDIyMTI3YzM4Zjk2OTBjMmNjZjIwZWY0
Li5hMmE2NDMxNzZlZDJkM2E4MDZjMTI1YmFjY2NkNzcwODZmYTMzYzJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3Rv
dHlwZS5oCkBAIC01MiwxMSArNTIsMTMgQEAgY2xhc3MgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlw
ZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIH07CiAKIEpTQ19ERUNMQVJFX0hP
U1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzVHlwZWRBcnJheVZpZXcpOwor
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJ
bnRUeXBlZEFycmF5Vmlldyk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlW
aWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3KTsKIEpTQ19ERUNMQVJFX0hPU1Rf
RlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0lzRGV0YWNoZWQpOwogSlNDX0RFQ0xB
UkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jRGVmYXVsdENvbXBhcmF0
b3IpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5j
U29ydCk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1
bmNMZW5ndGgpOworSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZh
dGVGdW5jQ29udGVudFR5cGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jR2V0T3JpZ2luYWxDb25zdHJ1Y3Rvcik7CiBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTdWJhcnJheUNyZWF0ZSk7CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCmlu
ZGV4IDRiOWY5NWNmNjMxYmRhNTM1NGU3NTFhZDQwMjkxNjJjZGE3ZjdiYzguLjkwYjMwNDU2NzBh
ZjBhYmUyZjZkMDI3ZWRlOWQ4ODVmZmYwNGFmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCkBAIC02MSw2ICs2MSw4IEBAIE1BS0VfU19J
TkZPKFVpbnQxNik7CiBNQUtFX1NfSU5GTyhVaW50MzIpOwogTUFLRV9TX0lORk8oRmxvYXQzMik7
CiBNQUtFX1NfSU5GTyhGbG9hdDY0KTsKK01BS0VfU19JTkZPKEJpZ0ludDY0KTsKK01BS0VfU19J
TkZPKEJpZ1VpbnQ2NCk7CiAKIE1BS0VfQ09OU1RSVUNUT1JTKERhdGFWaWV3KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oCmluZGV4IGMzODEyOTg0
YjRkN2I4N2JiMWUzMDFlMjE5N2I4NjA1YzBmZWNhYzEuLmEzMDNhMDc4OGEwNDRhMGVmODY0Njhj
MzA1ZDFlNmZlZjhhMjNhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTVHlwZWRBcnJheXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1R5cGVkQXJyYXlzLmgKQEAgLTM5LDYgKzM5LDggQEAgdXNpbmcgSlNVaW50MTZBcnJheSA9IEpT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQxNkFkYXB0b3I+OwogdXNpbmcgSlNVaW50MzJBcnJh
eSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+OwogdXNpbmcgSlNGbG9h
dDMyQXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxGbG9hdDMyQWRhcHRvcj47CiB1c2lu
ZyBKU0Zsb2F0NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9y
PjsKK3VzaW5nIEpTQmlnSW50NjRBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0lu
dDY0QWRhcHRvcj47Cit1c2luZyBKU0JpZ1VpbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXc8QmlnVWludDY0QWRhcHRvcj47CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTVWludDhBcnJh
eSogY3JlYXRlVWludDhUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUmVm
UHRyPEFycmF5QnVmZmVyPiYmLCB1bnNpZ25lZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZy
b21WYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVG9OYXRpdmVGcm9tVmFs
dWUuaAppbmRleCAyNTMyNmQ2MGQ2ZDU5NGNlMjU3OTc2NTg2MTQxNTU5ZTAzZmY4ZWJhLi43NDYw
ODk1ZjRiZjJlNzM3NmQwMTMzMzcxNTM3NWYzYWI1OTQxM2JlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1RvTmF0aXZlRnJvbVZhbHVlLmgKQEAgLTI2LDEyICsyNiwx
NCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAi
VHlwZWRBcnJheUFkYXB0b3JzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBBZGFwdG9yPgogdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSB0b05hdGl2ZUZyb21WYWx1ZShK
U1ZhbHVlIHZhbHVlKQogeworICAgIC8vIEZJWE1FOiBCaWdJbnQKICAgICBpZiAodmFsdWUuaXNJ
bnQzMigpKQogICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tSW50MzIodmFsdWUu
YXNJbnQzMigpKTsKICAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlKHZhbHVl
LmFzRG91YmxlKCkpOwpAQCAtNDAsMjEgKzQyLDM3IEBAIHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUg
dG9OYXRpdmVGcm9tVmFsdWUoSlNWYWx1ZSB2YWx1ZSkKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0
b3I+CiB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIHRvTmF0aXZlRnJvbVZhbHVlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW50
MzIoKSkKLSAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyKHZhbHVlLmFz
SW50MzIoKSk7Ci0gICAgaWYgKHZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBBZGFw
dG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7Ci0gICAgcmV0dXJuIEFk
YXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZSh2YWx1ZS50b051bWJlcihnbG9iYWxPYmplY3QpKTsK
KyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRv
cj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsKKyAgICAg
ICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+
KQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQmlnSW50NjQoZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQmlnVUludDY0KGdsb2JhbE9i
amVjdCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAg
ICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQzMih2YWx1ZS5hc0ludDMyKCkp
OworICAgICAgICBpZiAodmFsdWUuaXNOdW1iZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFw
dG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFsdWUuYXNEb3VibGUoKSk7CisgICAgICAgIHJldHVy
biBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFsdWUudG9OdW1iZXIoZ2xvYmFsT2JqZWN0
KSk7CisgICAgfQogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogT3B0aW9uYWw8dHlw
ZW5hbWUgQWRhcHRvcjo6VHlwZT4gdG9OYXRpdmVGcm9tVmFsdWVXaXRob3V0Q29lcmNpb24oSlNW
YWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIXZhbHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAgcmV0dXJu
IEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMyV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzSW50MzIo
KSk7Ci0gICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZVdpdGhvdXRDb2VyY2lv
bih2YWx1ZS5hc0RvdWJsZSgpKTsKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFk
YXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWlu
dDY0QWRhcHRvcj4pIHsKKyAgICAgICAgaWYgKCF2YWx1ZS5pc0JpZ0ludCgpKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Nh
bWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAgcmV0dXJuIEpTQmln
SW50Ojp0b0JpZ0ludDY0KHZhbHVlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJu
IEpTQmlnSW50Ojp0b0JpZ1VJbnQ2NCh2YWx1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYg
KCF2YWx1ZS5pc051bWJlcigpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0
b05hdGl2ZUZyb21JbnQzMldpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0ludDMyKCkpOworICAgICAg
ICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlV2l0aG91dENvZXJjaW9uKHZhbHVl
LmFzRG91YmxlKCkpOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5QWRhcHRvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCmluZGV4IGUz
MjRkNDBhMjYzMTgyYjcyM2IzNjdiYTI5MGMxMWYyZDYwMTA4ZjMuLjNkOWIzZTQ3ZmMwNWJlOTcy
OTY0Mzc3YTA3MTY2OGE0ZTIyNzQwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9ycy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiSlNCaWdJbnQuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgi
CiAjaW5jbHVkZSAiTWF0aENvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVkQXJyYXlUeXBlLmgiCkBA
IC0zOSwyMSArNDAsMTggQEAgc3RydWN0IEludGVncmFsVHlwZWRBcnJheUFkYXB0b3IgewogICAg
IHR5cGVkZWYgVHlwZUFyZyBUeXBlOwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7
CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0
IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIg
c3RhdGljIGNvbnN0IFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVB
cmc+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFs
dWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29u
c3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0
aWMgY29uc3RleHByIFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVB
cmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHBy
IFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlw
ZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAg
IHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAg
ICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFR5cGU+
Ojp2YWx1ZSwgIiIpOwogICAgICAgICByZXR1cm4ganNOdW1iZXIodmFsdWUpOwogICAgIH0KICAg
ICAKLSAgICBzdGF0aWMgZG91YmxlIHRvRG91YmxlKFR5cGUgdmFsdWUpCi0gICAgewotICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZSk7Ci0gICAgfQotICAgIAogICAgIHN0
YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCiAgICAgewogICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUpOwpAQCAtMTE1LDIwICsxMTMsMTcgQEAg
c3RydWN0IEZsb2F0VHlwZWRBcnJheUFkYXB0b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBl
OwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdU
eXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVW
YWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcg
bWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBj
b25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBl
IHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcg
bWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5
cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNR
dWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlw
ZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRp
YyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNW
YWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4g
anNEb3VibGVOdW1iZXIocHVyaWZ5TmFOKHZhbHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGRv
dWJsZSB0b0RvdWJsZShUeXBlIHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGRvdWJsZT4odmFsdWUpOwotICAgIH0KLQogICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJv
bUludDMyKGludDMyX3QgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
VHlwZT4odmFsdWUpOwpAQCAtMTcyLDYgKzE2Nyw0NyBAQCBzdHJ1Y3QgRmxvYXRUeXBlZEFycmF5
QWRhcHRvciB7CiAgICAgfQogfTsKIAordGVtcGxhdGU8CisgICAgdHlwZW5hbWUgVHlwZUFyZywg
dHlwZW5hbWUgVmlld1R5cGVBcmcsIHR5cGVuYW1lIEpTVmlld1R5cGVBcmcsCisgICAgVHlwZWRB
cnJheVR5cGUgdHlwZVZhbHVlQXJnPgorc3RydWN0IEJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yIHsK
KyAgICB0eXBlZGVmIFR5cGVBcmcgVHlwZTsKKyAgICB0eXBlZGVmIFZpZXdUeXBlQXJnIFZpZXdU
eXBlOworICAgIHR5cGVkZWYgSlNWaWV3VHlwZUFyZyBKU1ZpZXdUeXBlOworICAgIHN0YXRpYyBj
b25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlID0gdHlwZVZhbHVlQXJnOworICAgIHN0
YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlw
ZUFyZz46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtYXhWYWx1ZSA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4
cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSBmYWxzZTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUo
dHlwZVZhbHVlKTsKKworICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBUeXBlIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgIHJldHVybiBKU0JpZ0ludDo6bWFrZUhlYXBCaWdJbnRPckJpZ0lu
dDMyKGdsb2JhbE9iamVjdCwgdmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0
aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VHlwZT4odmFsdWUpOworICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJv
bVVpbnQzMih1aW50MzJfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxUeXBlPih2YWx1ZSk7CisgICAgfQorCisgICAgc3RhdGljIFR5cGUgdG9OYXRpdmVGcm9tRG91
YmxlKGRvdWJsZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUeXBl
Pih2YWx1ZSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgT3RoZXJBZGFwdG9yPgor
ICAgIHN0YXRpYyB0eXBlbmFtZSBPdGhlckFkYXB0b3I6OlR5cGUgY29udmVydFRvKFR5cGUgdmFs
dWUpCisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dHlwZW5hbWUgT3RoZXJBZGFw
dG9yOjpUeXBlPih2YWx1ZSk7CisgICAgfQorfTsKKwogc3RydWN0IEludDhBZGFwdG9yOwogc3Ry
dWN0IEludDE2QWRhcHRvcjsKIHN0cnVjdCBJbnQzMkFkYXB0b3I7CkBAIC0xODEsNiArMjE3LDgg
QEAgc3RydWN0IFVpbnQxNkFkYXB0b3I7CiBzdHJ1Y3QgVWludDMyQWRhcHRvcjsKIHN0cnVjdCBG
bG9hdDMyQWRhcHRvcjsKIHN0cnVjdCBGbG9hdDY0QWRhcHRvcjsKK3N0cnVjdCBCaWdJbnQ2NEFk
YXB0b3I7CitzdHJ1Y3QgQmlnVWludDY0QWRhcHRvcjsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQWRh
cHRvcj4gY2xhc3MgR2VuZXJpY1R5cGVkQXJyYXlWaWV3OwogdHlwZWRlZiBHZW5lcmljVHlwZWRB
cnJheVZpZXc8SW50OEFkYXB0b3I+IEludDhBcnJheTsKQEAgLTE5Miw2ICsyMzAsOCBAQCB0eXBl
ZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MTZBZGFwdG9yPiBVaW50MTZBcnJheTsKIHR5
cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+IFVpbnQzMkFycmF5Owog
dHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8RmxvYXQzMkFkYXB0b3I+IEZsb2F0MzJBcnJh
eTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPiBGbG9hdDY0
QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdJbnQ2NEFkYXB0b3I+IEJp
Z0ludDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFw
dG9yPiBCaWdVaW50NjRBcnJheTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4gY2xhc3Mg
SlNHZW5lcmljVHlwZWRBcnJheVZpZXc7CiB1c2luZyBKU0ludDhBcnJheSA9IEpTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3PEludDhBZGFwdG9yPjsKQEAgLTIwMyw2ICsyNDMsOCBAQCB1c2luZyBKU1Vp
bnQxNkFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDE2QWRhcHRvcj47CiB1c2lu
ZyBKU1VpbnQzMkFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8VWludDMyQWRhcHRvcj47
CiB1c2luZyBKU0Zsb2F0MzJBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJB
ZGFwdG9yPjsKIHVzaW5nIEpTRmxvYXQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8
RmxvYXQ2NEFkYXB0b3I+OwordXNpbmcgSlNCaWdJbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRB
cnJheVZpZXc8QmlnSW50NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmlnVWludDY0QXJyYXkgPSBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFwdG9yPjsKIAogc3RydWN0IEludDhBZGFw
dG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjxpbnQ4X3QsIEludDhBcnJheSwgSlNJbnQ4
QXJyYXksIFR5cGVJbnQ4PiB7IH07CiBzdHJ1Y3QgSW50MTZBZGFwdG9yIDogSW50ZWdyYWxUeXBl
ZEFycmF5QWRhcHRvcjxpbnQxNl90LCBJbnQxNkFycmF5LCBKU0ludDE2QXJyYXksIFR5cGVJbnQx
Nj4geyB9OwpAQCAtMjEyLDI1ICsyNTQsMjQgQEAgc3RydWN0IFVpbnQxNkFkYXB0b3IgOiBJbnRl
Z3JhbFR5cGVkQXJyYXlBZGFwdG9yPHVpbnQxNl90LCBVaW50MTZBcnJheSwgSlNVaW50MTYKIHN0
cnVjdCBVaW50MzJBZGFwdG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjx1aW50MzJfdCwg
VWludDMyQXJyYXksIEpTVWludDMyQXJyYXksIFR5cGVVaW50MzI+IHsgfTsKIHN0cnVjdCBGbG9h
dDMyQWRhcHRvciA6IEZsb2F0VHlwZWRBcnJheUFkYXB0b3I8ZmxvYXQsIEZsb2F0MzJBcnJheSwg
SlNGbG9hdDMyQXJyYXksIFR5cGVGbG9hdDMyPiB7IH07CiBzdHJ1Y3QgRmxvYXQ2NEFkYXB0b3Ig
OiBGbG9hdFR5cGVkQXJyYXlBZGFwdG9yPGRvdWJsZSwgRmxvYXQ2NEFycmF5LCBKU0Zsb2F0NjRB
cnJheSwgVHlwZUZsb2F0NjQ+IHsgfTsKK3N0cnVjdCBCaWdJbnQ2NEFkYXB0b3IgOiBCaWdJbnRU
eXBlZEFycmF5QWRhcHRvcjxpbnQ2NF90LCBCaWdJbnQ2NEFycmF5LCBKU0JpZ0ludDY0QXJyYXks
IFR5cGVCaWdJbnQ2ND4geyB9Oworc3RydWN0IEJpZ1VpbnQ2NEFkYXB0b3IgOiBCaWdJbnRUeXBl
ZEFycmF5QWRhcHRvcjx1aW50NjRfdCwgQmlnVWludDY0QXJyYXksIEpTQmlnVWludDY0QXJyYXks
IFR5cGVCaWdVaW50NjQ+IHsgfTsKIAogc3RydWN0IFVpbnQ4Q2xhbXBlZEFkYXB0b3IgewogICAg
IHR5cGVkZWYgdWludDhfdCBUeXBlOwogICAgIHR5cGVkZWYgVWludDhDbGFtcGVkQXJyYXkgVmll
d1R5cGU7CiAgICAgdHlwZWRlZiBKU1VpbnQ4Q2xhbXBlZEFycmF5IEpTVmlld1R5cGU7Ci0gICAg
c3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IFR5cGVVaW50OENsYW1wZWQ7
Ci0gICAgY29uc3RleHByIHN0YXRpYyBjb25zdCB1aW50OF90IG1pblZhbHVlID0gc3RkOjpudW1l
cmljX2xpbWl0czx1aW50OF90Pjo6bG93ZXN0KCk7Ci0gICAgY29uc3RleHByIHN0YXRpYyBjb25z
dCB1aW50OF90IG1heFZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50OF90Pjo6bWF4KCk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlZEFycmF5VHlwZSB0eXBlVmFsdWUgPSBUeXBlVWlu
dDhDbGFtcGVkOworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBtaW5WYWx1ZSA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8dWludDhfdD46Omxvd2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
dWludDhfdCBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDhfdD46Om1heCgpOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNrbHkgPSB0cnVlOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlID0g
SlNDOjpjb250ZW50VHlwZSh0eXBlVmFsdWUpOwogCi0gICAgc3RhdGljIEpTVmFsdWUgdG9KU1Zh
bHVlKHVpbnQ4X3QgdmFsdWUpCisgICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKEpTR2xvYmFs
T2JqZWN0KiwgdWludDhfdCB2YWx1ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBqc051bWJlcih2
YWx1ZSk7CiAgICAgfQogCi0gICAgc3RhdGljIGRvdWJsZSB0b0RvdWJsZSh1aW50OF90IHZhbHVl
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4odmFsdWUpOwotICAg
IH0KLQogICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCiAg
ICAgewogICAgICAgICByZXR1cm4gY2xhbXAodmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuY3BwCmluZGV4IGMyNDE4NWI4OTI0ZjY2OWIx
ZDdlYTY5ZmFjNTI1NTljMWNhYTFkMzMuLmYyOTZlMzc0OTI1YTJmMDkwYmNhY2Q2MTNhZWU5MDNj
ZGJlODI3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVk
QXJyYXlUeXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFy
cmF5VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDEwIEBAIGNvbnN0IENsYXNzSW5mbyogY29uc3RydWN0
b3JDbGFzc0luZm9Gb3JUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBK
U0Zsb2F0MzJBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoK
ICAgICAgICAgcmV0dXJuIEpTRmxvYXQ2NEFycmF5Q29uc3RydWN0b3I6OmluZm8oKTsKKyAgICBj
YXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTQmlnSW50NjRBcnJheUNvbnN0cnVj
dG9yOjppbmZvKCk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gSlNC
aWdVaW50NjRBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6
CiAgICAgICAgIHJldHVybiBKU0RhdGFWaWV3Q29uc3RydWN0b3I6OmluZm8oKTsKICAgICB9CkBA
IC05OSw2ICsxMDMsMTIgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFR5
cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgb3V0LnBy
aW50KCJUeXBlRmxvYXQ2NCIpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIG91dC5wcmludCgiVHlwZUJpZ0ludDY0Iik7CisgICAgICAgIHJldHVybjsK
KyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIG91dC5wcmludCgiVHlwZUJpZ1VpbnQ2
NCIpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgIG91
dC5wcmludCgiVHlwZURhdGFWaWV3Iik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5oCmluZGV4IDA3ZDE3NTNhYjhjYzI4
MGM4ZDZkZGM5MTM3YjQwYTc0NzQzODJiNGYuLjZmNDBlMWNmOGYwN2EwYmZmZDJkN2MyYzI0OTAy
NWMyZDUwZDM2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5
cGVkQXJyYXlUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRB
cnJheVR5cGUuaApAQCAtNDIsNyArNDIsOSBAQCBzdHJ1Y3QgQ2xhc3NJbmZvOwogICAgIG1hY3Jv
KEludDMyKSBcCiAgICAgbWFjcm8oVWludDMyKSBcCiAgICAgbWFjcm8oRmxvYXQzMikgXAotICAg
IG1hY3JvKEZsb2F0NjQpCisgICAgbWFjcm8oRmxvYXQ2NCkgXAorICAgIG1hY3JvKEJpZ0ludDY0
KSBcCisgICAgbWFjcm8oQmlnVWludDY0KQogCiAjZGVmaW5lIEZPUl9FQUNIX1RZUEVEX0FSUkFZ
X1RZUEUobWFjcm8pIFwKICAgICBGT1JfRUFDSF9UWVBFRF9BUlJBWV9UWVBFX0VYQ0xVRElOR19E
QVRBX1ZJRVcobWFjcm8pIFwKQEAgLTU1LDYgKzU3LDEyIEBAIGVudW0gVHlwZWRBcnJheVR5cGUg
ewogI3VuZGVmIERFQ0xBUkVfVFlQRURfQVJSQVlfVFlQRQogfTsKIAorZW51bSBjbGFzcyBUeXBl
ZEFycmF5Q29udGVudFR5cGUgOiB1aW50OF90IHsKKyAgICBOb25lLAorICAgIE51bWJlciwKKyAg
ICBCaWdJbnQsCit9OworCiAjZGVmaW5lIEFTU0VSVF9UWVBFRF9BUlJBWV9UWVBFKG5hbWUpIFwK
ICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVpbnQzMl90PihUeXBlICMjIG5hbWUpID09
IChzdGF0aWNfY2FzdDx1aW50MzJfdD4obmFtZSAjIyBBcnJheVR5cGUpIC0gRmlyc3RUeXBlZEFy
cmF5VHlwZSArIHN0YXRpY19jYXN0PHVpbnQzMl90PihUeXBlSW50OCkpLCAiIik7CiAgICAgRk9S
X0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdfREFUQV9WSUVXKEFTU0VSVF9UWVBFRF9B
UlJBWV9UWVBFKQpAQCAtODUsNiArOTMsMTcgQEAgaW5saW5lIGJvb2wgaXNUeXBlZFZpZXcoVHlw
ZWRBcnJheVR5cGUgdHlwZSkKICAgICB9CiB9CiAKK2lubGluZSBib29sIGlzQmlnSW50VHlwZWRW
aWV3KFR5cGVkQXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2Fz
ZSBUeXBlQmlnSW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBp
bmxpbmUgdW5zaWduZWQgbG9nRWxlbWVudFNpemUoVHlwZWRBcnJheVR5cGUgdHlwZSkKIHsKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTEwMyw2ICsxMjIsOCBAQCBpbmxpbmUgdW5zaWduZWQgbG9n
RWxlbWVudFNpemUoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICBjYXNlIFR5cGVGbG9hdDMyOgog
ICAgICAgICByZXR1cm4gMjsKICAgICBjYXNlIFR5cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZUJp
Z0ludDY0OgorICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKICAgICAgICAgcmV0dXJuIDM7CiAgICAg
fQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xNTksNiArMTgwLDE3IEBA
IGlubGluZSBib29sIGlzRmxvYXQoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICB9CiB9CiAKK2lu
bGluZSBib29sIGlzQmlnSW50KFR5cGVkQXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0Ogor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorfQorCiBpbmxpbmUgYm9vbCBpc1NpZ25lZChUeXBlZEFycmF5VHlwZSB0eXBlKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMTY3LDYgKzE5OSw3IEBAIGlubGluZSBib29sIGlz
U2lnbmVkKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgY2FzZSBUeXBlSW50MzI6CiAgICAgY2Fz
ZSBUeXBlRmxvYXQzMjoKICAgICBjYXNlIFR5cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZUJpZ0lu
dDY0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC0xNzgsNiArMjExLDI5IEBAIGlubGluZSBib29sIGlzQ2xhbXBlZChUeXBlZEFy
cmF5VHlwZSB0eXBlKQogICAgIHJldHVybiB0eXBlID09IFR5cGVVaW50OENsYW1wZWQ7CiB9CiAK
K2lubGluZSBjb25zdGV4cHIgVHlwZWRBcnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKFR5cGVk
QXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBUeXBlQmln
SW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gVHlwZWRBcnJh
eUNvbnRlbnRUeXBlOjpCaWdJbnQ7CisgICAgY2FzZSBUeXBlSW50ODoKKyAgICBjYXNlIFR5cGVJ
bnQxNjoKKyAgICBjYXNlIFR5cGVJbnQzMjoKKyAgICBjYXNlIFR5cGVVaW50ODoKKyAgICBjYXNl
IFR5cGVVaW50MTY6CisgICAgY2FzZSBUeXBlVWludDMyOgorICAgIGNhc2UgVHlwZUZsb2F0MzI6
CisgICAgY2FzZSBUeXBlRmxvYXQ2NDoKKyAgICBjYXNlIFR5cGVVaW50OENsYW1wZWQ6CisgICAg
ICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVudFR5cGU6Ok51bWJlcjsKKyAgICBjYXNlIE5vdFR5
cGVkQXJyYXk6CisgICAgY2FzZSBUeXBlRGF0YVZpZXc6CisgICAgICAgIHJldHVybiBUeXBlZEFy
cmF5Q29udGVudFR5cGU6Ok5vbmU7CisgICAgfQorICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVu
dFR5cGU6Ok5vbmU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5cy5oCmluZGV4IDhmZTli
MzZjYjI3N2YyM2QwYTk4NmRmMTNmMDljNmRlZjI1OWE5YzkuLjgyNzAxZjc4MGI3YTM1YjIzOWI1
OTQwMmRiMzZkMTkyNzA2OWNlYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVkQXJyYXlzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZWRBcnJheXMuaApAQCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5
VmlldzxVaW50MTZBZGFwdG9yPiBVaW50MTZBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJy
YXlWaWV3PFVpbnQzMkFkYXB0b3I+IFVpbnQzMkFycmF5OwogdHlwZWRlZiBHZW5lcmljVHlwZWRB
cnJheVZpZXc8RmxvYXQzMkFkYXB0b3I+IEZsb2F0MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5
cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPiBGbG9hdDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVy
aWNUeXBlZEFycmF5VmlldzxCaWdJbnQ2NEFkYXB0b3I+IEJpZ0ludDY0QXJyYXk7Cit0eXBlZGVm
IEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFwdG9yPiBCaWdVaW50NjRBcnJheTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5k
ZXggODQwM2UyYzgxYzcyNjgxYzBkNTEwODc5YThiZTk4MGY2ZTFlMGY4Yy4uZTcxYTNjZWQ1ZjE4
NzRlNDlhNWRkMjA5MDlkZjZmODIwODBiZjRhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNLmNwcApAQCAtMTQ3MSw3ICsxNDcxLDkgQEAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUl9TTE9XKGFwaVZhbHVlV3JhcHBlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmcKIERZ
TkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhhcnJheUJ1ZmZlclNwYWNlLCBj
ZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0FycmF5QnVmZmVyKQogRFlOQU1JQ19JU09fU1VCU1BB
Q0VfREVGSU5FX01FTUJFUl9TTE9XKGFycmF5SXRlcmF0b3JTcGFjZSwgY2VsbEhlYXBDZWxsVHlw
ZS5nZXQoKSwgSlNBcnJheUl0ZXJhdG9yKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpT
QXN5bmNHZW5lcmF0b3IpCitEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1co
YmlnSW50NjRBcnJheVNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JpZ0ludDY0QXJy
YXkpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYmlnSW50T2JqZWN0
U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEJpZ0ludE9iamVjdCkKK0RZTkFNSUNfSVNP
X1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhiaWdVaW50NjRBcnJheVNwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0JpZ1VpbnQ2NEFycmF5KQogRFlOQU1JQ19JU09fU1VCU1BBQ0Vf
REVGSU5FX01FTUJFUl9TTE9XKGJvb2xlYW5PYmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5n
ZXQoKSwgQm9vbGVhbk9iamVjdCkKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJf
U0xPVyhib3VuZEZ1bmN0aW9uU3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQm91bmRG
dW5jdGlvbikgLy8gSGFzaDoweGQ3OTE2ZDQxCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVf
TUVNQkVSX1NMT1coY2FsbGJhY2tDb25zdHJ1Y3RvclNwYWNlLCBjYWxsYmFja0NvbnN0cnVjdG9y
SGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxiYWNrQ29uc3RydWN0b3IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uaAppbmRleCAyN2FhZmMwMzI2NmZkMzdjMjVhYTJhNDMxMjJlYjZhMTNlNjU4
Yzk3Li43MGFlMzY1MjM2YzdmMTY4ZDZjOWE0NTc1NDdiYmYzYTA1OTA2M2NmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTQ5Myw3ICs0OTMsOSBAQCBjbGFzcyBWTSA6IHB1Ymxp
YyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxW
TT4gewogICAgIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVIoYXJyYXlCdWZmZXJT
cGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5SXRlcmF0
b3JTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFzeW5jR2Vu
ZXJhdG9yU3BhY2UpCisgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJ
bnQ2NEFycmF5U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihi
aWdJbnRPYmplY3RTcGFjZSkKKyAgICBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVS
KGJpZ1VpbnQ2NEFycmF5U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01F
TUJFUihib29sZWFuT2JqZWN0U3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5F
X01FTUJFUihib3VuZEZ1bmN0aW9uU3BhY2UpCiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVG
SU5FX01FTUJFUihjYWxsYmFja0NvbnN0cnVjdG9yU3BhY2UpCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU0ODhjMDkxMmU1YTdhOWM4Mzdh
M2Y4YWE5MjU1MjMwNDUwNGRlMjIuLmE2OGQxZmZiMDgzMTIzNmI5ZGYxMDA3MTliNzVjNzM2NTdj
NThjNDkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQg
QmlnVWludDY0QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogc3RyZXNzL2JpZ2ludDY0YXJyYXktYnl0ZWxlbmd0aC5qczogQWRkZWQuCisgICAg
ICAgICh0ZXN0MSk6CisgICAgICAgICh0ZXN0Mik6CisgICAgICAgIChzaG91bGRCZSk6CisgICAg
ICAgICogc3RyZXNzL2JpZ2ludDY0YXJyYXktZ2V0LWJ5LXZhbC5qczogQWRkZWQuCisgICAgICAg
IChzaG91bGRCZSk6CisgICAgICAgICh0ZXN0MSk6CisgICAgICAgICh0ZXN0Mik6CisgICAgICAg
ICogc3RyZXNzL2JpZ2ludDY0YXJyYXktcHV0LWJ5LXZhbC5qczogQWRkZWQuCisgICAgICAgIChz
aG91bGRCZSk6CisgICAgICAgICh0ZXN0MTEpOgorICAgICAgICAodGVzdDEyKToKKyAgICAgICAg
KHRlc3QyMSk6CisgICAgICAgICh0ZXN0MjIpOgorICAgICAgICAqIHRlc3QyNjIvY29uZmlnLnlh
bWw6CisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDoKKwogMjAyMS0wMS0yOSAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEZpeCBX
ZWJBc3NlbWJseS5HbG9iYWwncyBlcnJvciBtZXNzYWdlIGFuZCBzdXBwb3J0ICJmdW5jcmVmIgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnaW50NjRhcnJheS1ieXRlbGVuZ3RoLmpzIGIv
SlNUZXN0cy9zdHJlc3MvYmlnaW50NjRhcnJheS1ieXRlbGVuZ3RoLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5
OTYzZDU1MzgxODk2ODQ4NDdkMDYzMGMxMTNjYzYyYjBlNDRlNDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQ2NGFycmF5LWJ5dGVsZW5ndGguanMKQEAgLTAsMCArMSwy
MSBAQAorZnVuY3Rpb24gdGVzdDEoYXJyYXkpIHsKKyAgICByZXR1cm4gYXJyYXkuYnl0ZUxlbmd0
aDsKK30KK25vSW5saW5lKHRlc3QxKTsKKworZnVuY3Rpb24gdGVzdDIoYXJyYXkpIHsKKyAgICBy
ZXR1cm4gYXJyYXkuYnl0ZUxlbmd0aDsKK30KK25vSW5saW5lKHRlc3QyKTsKKworZnVuY3Rpb24g
c2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisK
K3ZhciBhcnJheTEgPSBuZXcgQmlnSW50NjRBcnJheSg0KTsKK3ZhciBhcnJheTIgPSBuZXcgQmln
VWludDY0QXJyYXkoNCk7Citmb3IgKHZhciBpID0gMDsgaSA8IDFlNjsgKytpKSB7CisgICAgc2hv
dWxkQmUodGVzdDEoYXJyYXkxKSwgMzIpOworICAgIHNob3VsZEJlKHRlc3QyKGFycmF5MiksIDMy
KTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZ2ludDY0YXJyYXktZ2V0LWJ5LXZh
bC5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZ2ludDY0YXJyYXktZ2V0LWJ5LXZhbC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lMjMxOWRlZWVlYjEyYTdlMDc0ZDA3ZmRmZjkxYWZhMGZjYTdkMDhhCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnaW50NjRhcnJheS1nZXQtYnktdmFsLmpzCkBAIC0w
LDAgKzEsMjggQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFs
dWU6ICcgKyBhY3R1YWwpOworfQorCit2YXIgYXJyYXkxID0gbmV3IEJpZ0ludDY0QXJyYXkoWy0x
biwgLTJuLCAtM25dKTsKK3ZhciBhcnJheTIgPSBuZXcgQmlnVWludDY0QXJyYXkoWzFuLCAybiwg
M25dKTsKKworZnVuY3Rpb24gdGVzdDEoYXJyYXkpIHsKKyAgICB2YXIgcmVzdWx0ID0gMG47Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSkKKyAgICAgICAgcmVzdWx0
ICs9IGFycmF5W2ldOworICAgIHJldHVybiByZXN1bHQ7Cit9Citub0lubGluZSh0ZXN0MSk7CisK
K2Z1bmN0aW9uIHRlc3QyKGFycmF5KSB7CisgICAgdmFyIHJlc3VsdCA9IDBuOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpCisgICAgICAgIHJlc3VsdCArPSBhcnJh
eVtpXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorbm9JbmxpbmUodGVzdDIpOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDFlNjsgKytpKSB7CisgICAgc2hvdWxkQmUodGVzdDEoYXJyYXkxKSwgLTZu
KTsKKyAgICBzaG91bGRCZSh0ZXN0MihhcnJheTIpLCA2bik7Cit9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3N0cmVzcy9iaWdpbnQ2NGFycmF5LXB1dC1ieS12YWwuanMgYi9KU1Rlc3RzL3N0cmVzcy9i
aWdpbnQ2NGFycmF5LXB1dC1ieS12YWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU2ODU1Y2QzY2IzZmY4ZDg0
YmQzMmRmMmNmNTFiNGJkMmExNmE1NAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNz
L2JpZ2ludDY0YXJyYXktcHV0LWJ5LXZhbC5qcwpAQCAtMCwwICsxLDQ2IEBACitmdW5jdGlvbiBz
aG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKwor
dmFyIGFycmF5MSA9IG5ldyBCaWdJbnQ2NEFycmF5KFstMW4sIC0ybiwgLTNuXSk7Cit2YXIgYXJy
YXkyID0gbmV3IEJpZ1VpbnQ2NEFycmF5KFsxbiwgMm4sIDNuXSk7CisKK2Z1bmN0aW9uIHRlc3Qx
MShhcnJheSwgdmFsdWUpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsg
KytpKQorICAgICAgICBhcnJheVtpXSA9IHZhbHVlOworfQorbm9JbmxpbmUodGVzdDExKTsKKwor
ZnVuY3Rpb24gdGVzdDEyKGFycmF5KSB7CisgICAgdmFyIHJlc3VsdCA9IDBuOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpCisgICAgICAgIHJlc3VsdCArPSBhcnJh
eVtpXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorbm9JbmxpbmUodGVzdDEyKTsKKworZnVuY3Rp
b24gdGVzdDIxKGFycmF5LCB2YWx1ZSkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXku
bGVuZ3RoOyArK2kpCisgICAgICAgIGFycmF5W2ldID0gdmFsdWU7Cit9Citub0lubGluZSh0ZXN0
MjEpOworCitmdW5jdGlvbiB0ZXN0MjIoYXJyYXkpIHsKKyAgICB2YXIgcmVzdWx0ID0gMG47Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSkKKyAgICAgICAgcmVzdWx0
ICs9IGFycmF5W2ldOworICAgIHJldHVybiByZXN1bHQ7Cit9Citub0lubGluZSh0ZXN0MjIpOwor
Citmb3IgKHZhciBpID0gMDsgaSA8IDFlNTsgKytpKSB7CisgICAgdGVzdDExKGFycmF5MSwgLTFu
KQorICAgIHNob3VsZEJlKHRlc3QxMihhcnJheTEpLCAtM24pOworICAgIHRlc3QxMShhcnJheTEs
IC0ybik7CisgICAgc2hvdWxkQmUodGVzdDEyKGFycmF5MSksIC02bik7CisgICAgdGVzdDIxKGFy
cmF5MiwgMW4pOworICAgIHNob3VsZEJlKHRlc3QyMihhcnJheTIpLCAzbik7CisgICAgdGVzdDIx
KGFycmF5MiwgMm4pOworICAgIHNob3VsZEJlKHRlc3QyMihhcnJheTIpLCA2bik7Cit9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvY29u
ZmlnLnlhbWwKaW5kZXggODNhNmE3MmQ0Y2YzZjRjMWM5Y2Y4YWI3MTk5Y2JkZmM0ZTBjODhmNi4u
MDRjNzcxMWUwNjM2NmY1YjQyZGMzZTI1ZmNiNzdiMzdhYmI0YmYwMiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFt
bApAQCAtMjgsNTQgKzI4LDYgQEAgc2tpcDoKICAgICAtIHRvcC1sZXZlbC1hd2FpdAogICAgIC0g
SW50bC5MaXN0Rm9ybWF0CiAgIHBhdGhzOgotICAgIC0gdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcv
cHJvdG90eXBlL2dldEJpZ0ludDY0Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90
b3R5cGUvZ2V0QmlnVWludDY0Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5
cGUvc2V0QmlnSW50NjQKLQotICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MDgwMAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
U3ltYm9sLnRvU3RyaW5nVGFnL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvYnVmZmVyL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvYnl0ZUxlbmd0aC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL2J5dGVPZmZzZXQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZW50cmllcy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsbC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5L3Byb3RvdHlwZS9mb3JFYWNoL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5jbHVkZXMvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9pbmRleE9mL0JpZ0ludAotICAgIC0gdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvam9pbi9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2tleXMvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9CaWdJbnQKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2xlbmd0aC9CaWdJbnQKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL21hcC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3JlZHVjZS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3JlZHVjZVJpZ2h0L0JpZ0ludAotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmV2ZXJzZS9CaWdJbnQKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NldC9CaWdJbnQKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludAotICAgIC0gdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29tZS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvcnQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zdWJhcnJheS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL0JpZ0ludAotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdG9TdHJpbmcvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS92YWx1ZXMvQmlnSW50Ci0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL0JpZ0ludDY0QXJyYXkKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvQmlnVWludDY0QXJyYXkKLSAg
ICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvY3RvcnMtYmlnaW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2Zyb20vQmlnSW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZp
bmVPd25Qcm9wZXJ0eS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5L0Jp
Z0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvSGFzUHJvcGVydHkvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9Pd25Qcm9wZXJ0eUtleXMvQmlnSW50Ci0gICAgLSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50Ci0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL29mL0JpZ0ludAotCiAgICAg
LSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL2FkZC9iaWdpbnQKICAgICAtIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3MvYW5kL2JpZ2ludAogICAgIC0gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9jb21wYXJl
RXhjaGFuZ2UvYmlnaW50CkBAIC0xMDEsNDYgKzUzLDYgQEAgc2tpcDoKICAgICAtIHRlc3QvbGFu
Z3VhZ2UvaWRlbnRpZmllcnMvc3RhcnQtdW5pY29kZS0xMy4wLjAtZXNjYXBlZC5qcwogICAgIC0g
dGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9zdGFydC11bmljb2RlLTEzLjAuMC5qcwogCi0gICAg
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwODAwCi0gICAgLSB0
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ2ludDY0YXJyYXkuanMKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYmlndWludDY0YXJyYXkuanMKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NldC9zcmMtdHlwZWRhcnJheS1iaWct
dGhyb3dzLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2N0
b3JzL3R5cGVkYXJyYXktYXJnL3NyYy10eXBlZGFycmF5LWJpZy10aHJvd3MuanMKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL1N5bWJvbC50b1N0
cmluZ1RhZy9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9iaWdpbnQtU3ltYm9sLml0ZXJhdG9yLmpzCi0gICAg
LSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9idWZmZXIv
YmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9wcm90b3R5cGUvYnl0ZUxlbmd0aC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9ieXRlT2Zmc2V0
L2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvcHJvdG90eXBlL2NvcHlXaXRoaW4vYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0g
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZW50cmllcy9i
aWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL3Byb3RvdHlwZS9ldmVyeS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maWxsL2JpZ2ludC1pbmhl
cml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJv
dG90eXBlL2ZpbHRlci9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maW5kL2JpZ2ludC1pbmhlcml0ZWQuanMK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2Zp
bmRJbmRleC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9mb3JFYWNoL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAg
ICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2luZGV4
T2YvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9wcm90b3R5cGUvam9pbi9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9rZXlzL2JpZ2ludC1p
bmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
cHJvdG90eXBlL2xhc3RJbmRleE9mL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2xlbmd0aC9iaWdpbnQtaW5o
ZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3By
b3RvdHlwZS9tYXAvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvcmVkdWNlL2JpZ2ludC1pbmhlcml0ZWQuanMK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3Jl
ZHVjZVJpZ2h0L2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3JldmVyc2UvYmlnaW50LWluaGVyaXRlZC5qcwot
ICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvc2V0
L2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvcHJvdG90eXBlL3NsaWNlL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3NvbWUvYmlnaW50LWlu
aGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9w
cm90b3R5cGUvc29ydC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zdWJhcnJheS9iaWdpbnQtaW5oZXJpdGVk
LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlw
ZS90b0xvY2FsZVN0cmluZy9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS90b1N0cmluZy9iaWdpbnQtaW5oZXJp
dGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3Rv
dHlwZS92YWx1ZXMvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdJbnQ2NEFycmF5Lmpz
Ci0gICAgLSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5z
L3N1YmNsYXNzLUJpZ1VpbnQ2NEFycmF5LmpzCi0gICAgLSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmlnSW50NjRBcnJheS5qcwotICAg
IC0gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNs
YXNzLUJpZ1VpbnQ2NEFycmF5LmpzCi0KICAgICAjIHJlcXVpcmVzIElDVSA2NSAoaHR0cHM6Ly91
bmljb2RlLW9yZy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9JQ1UtMjA2NTQpCiAgICAgLSB0ZXN0L2lu
dGw0MDIvUmVsYXRpdmVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvZW4tdXMtbnVtZXJpYy1h
dXRvLmpzCiAgICAgLSB0ZXN0L2ludGw0MDIvUmVsYXRpdmVUaW1lRm9ybWF0L3Byb3RvdHlwZS9m
b3JtYXRUb1BhcnRzL2VuLXVzLW51bWVyaWMtYXV0by5qcwpAQCAtMjEyLDMgKzEyNCw2IEBAIHNr
aXA6CiAgICAgLSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1Bh
cnRzL3VuaXQuanMKICAgICAtIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL3Jl
c29sdmVkT3B0aW9ucy9jb21wYWN0RGlzcGxheS5qcwogICAgIC0gdGVzdC9pbnRsNDAyL051bWJl
ckZvcm1hdC9zdHlsZS11bml0LmpzCisKKyAgICAjIE5ldyBJQ1UgKDY2fikgcmFpc2VzIGEgZGlm
ZmVyZW50IGZhaWx1cmUKKyAgICAtIHRlc3QvaW50bDQwMi9Mb2NhbGUvY29uc3RydWN0b3Itbm9u
LWlhbmEtY2Fub24uanMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbCBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAppbmRleCAzOWRiZjg1MzQ5
NDExNmI0NTRkNWY2ZWMxM2RhZjk1OTE5ZmNkMGJkLi5mNjlmODkyZmQ1ODA5NTIyZTFmYjc1ZWVi
MjUwNzRmZjVhMzgyYzc3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25z
LnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCkBAIC04MjMsNiAr
ODIzLDEyIEBAIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy91LWxhc3RpbmRl
eC1hZHYuanM6CiB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcXVhbnRpZmllci1pbnRlZ2VyLWxpbWl0
LmpzOgogICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9u
OiBudW1iZXIgdG9vIGxhcmdlIGluIHt9IHF1YW50aWZpZXInCiAgIHN0cmljdCBtb2RlOiAnU3lu
dGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBudW1iZXIgdG9vIGxhcmdlIGlu
IHt9IHF1YW50aWZpZXInCit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maWx0
ZXIvQmlnSW50L2NhbGxiYWNrZm4tZGV0YWNoYnVmZmVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVy
cm9yOiBJbnZhbGlkIGFyZ3VtZW50IHR5cGUgaW4gVG9CaWdJbnQgb3BlcmF0aW9uIChUZXN0aW5n
IHdpdGggQmlnSW50NjRBcnJheS4pJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogSW52YWxp
ZCBhcmd1bWVudCB0eXBlIGluIFRvQmlnSW50IG9wZXJhdGlvbiAoVGVzdGluZyB3aXRoIEJpZ0lu
dDY0QXJyYXkuKScKK3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmRJbmRl
eC9CaWdJbnQvcHJlZGljYXRlLW1heS1kZXRhY2gtYnVmZmVyLmpzOgorICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiB0aHJvd3MgYSBUeXBlRXJyb3IgZ2V0dGluZyBhIHZhbHVlIGZyb20gdGhlIGRl
dGFjaGVkIGJ1ZmZlciBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4
Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScK
KyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IHRocm93cyBhIFR5cGVFcnJvciBnZXR0aW5n
IGEgdmFsdWUgZnJvbSB0aGUgZGV0YWNoZWQgYnVmZmVyIEV4cGVjdGVkIGEgVHlwZUVycm9yIHRv
IGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsIChUZXN0aW5nIHdp
dGggQmlnSW50NjRBcnJheS4pJwogdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0L3Byb3RvdHlw
ZS9mb3JtYXRSYW5nZS9lbi1VUy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrMS8zLzIwMTnigInigJPigIkxLzUvMjAxOcK7LCDCqzEvMy8yMDE5IOKA
kyAxLzUvMjAxOcK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgU2FtZVZhbHVlKMKrMS8zLzIwMTnigInigJPigIkxLzUvMjAxOcK7LCDCqzEvMy8y
MDE5IOKAkyAxLzUvMjAxOcK7KSB0byBiZSB0cnVlJwpAQCAtODY1LDkgKzg3MSw2IEBAIHRlc3Qv
aW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQta2V5LXdpdGgtZGln
aXQuanM6CiB0ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9yLWFwcGx5LW9wdGlvbnMtY2Fu
b25pY2FsaXplcy10d2ljZS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrcnUtQXJtbi1TVcK7LCDCq3J1LUFybW4tQU3CuykgdG8gYmUgdHJ1ZScKICAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3J1LUFybW4t
U1XCuywgwqtydS1Bcm1uLUFNwrspIHRvIGJlIHRydWUnCi10ZXN0L2ludGw0MDIvTG9jYWxlL2Nv
bnN0cnVjdG9yLW5vbi1pYW5hLWNhbm9uLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBu
ZXcgSW50bC5Mb2NhbGUoIm1vIikubWF4aW1pemUoKS50b1N0cmluZygpIHJldHVybnMgInJvLUxh
dG4tUk8iIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3JvwrssIMKrcm8tTGF0bi1ST8K7KSB0byBiZSB0
cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogbmV3IEludGwuTG9jYWxlKCJtbyIp
Lm1heGltaXplKCkudG9TdHJpbmcoKSByZXR1cm5zICJyby1MYXRuLVJPIiBFeHBlY3RlZCBTYW1l
VmFsdWUowqtyb8K7LCDCq3JvLUxhdG4tUk/CuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9M
b2NhbGUvY29uc3RydWN0b3Itb3B0aW9ucy1yZWdpb24tdmFsaWQuanM6CiAgIGRlZmF1bHQ6ICJU
ZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgnZW4nLCB7cmVnaW9uOiBcIjU1NFwifSkudG9T
dHJpbmcoKSByZXR1cm5zIFwiZW4tTlpcIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtlbi01NTTCuywg
wqtlbi1OWsK7KSB0byBiZSB0cnVlIgogICBzdHJpY3QgbW9kZTogIlRlc3QyNjJFcnJvcjogbmV3
IEludGwuTG9jYWxlKCdlbicsIHtyZWdpb246IFwiNTU0XCJ9KS50b1N0cmluZygpIHJldHVybnMg
XCJlbi1OWlwiIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2VuLTU1NMK7LCDCq2VuLU5awrspIHRvIGJl
IHRydWUiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418821</attachid>
            <date>2021-01-31 00:35:41 -0800</date>
            <delta_ts>2021-02-01 11:22:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190800-20210131003540.patch</filename>
            <type>text/plain</type>
            <size>169322</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ODE4N2RiZTFiN2Y5ZGM1MjYzNGE0NmYxN2M2ZTMzYTZiMDJjZDMxLi40NGY2M2U1MTAwMThmYjZk
Y2Y3MDk0YzhlYzcxZmM2MTFjZWJmMjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzUgQEAKKzIwMjEtMDEtMzEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KKworICAgICAgICBbSlNDXSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDgwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggaW1wbGVtZW50cyBCaWdJbnQ2NEFycmF5IGFuZCBCaWdVaW50NjRBcnJheS4KKwor
ICAgICAgICAgICAgMS4gSW4gdGhpcyBwYXRjaCwgd2UgZG8gbm90IHN1cHBvcnQgQmlnSW50NjRB
cnJheS9CaWdVaW50NjRBcnJheSArIEF0b21pY3MgeWV0LgorICAgICAgICAgICAgMi4gV2UgbWFr
ZSBjYW5HZXRJbmRleFF1aWNrbHkgZmFsc2UgZm9yIEJpZ0ludDY0QXJyYXkgYW5kIEJpZ1VpbnQ2
NEFycmF5LiBBbmQgd2UKKyAgICAgICAgICAgICAgIHVzZSBnZW5lcmljIHBhdGggZm9yIGdldHRp
bmcgdmFsdWVzIGZyb20gQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0QXJyYXkuIFdlCisgICAg
ICAgICAgICAgICB3aWxsIG9wdGltaXplIGl0IGluIFsxXSBhbmQgWzJdLiBCdXQgcG9zc2libHks
IHRoaXMgZG9lcyBub3QgaGF2ZSBzdXBlciBsYXJnZQorICAgICAgICAgICAgICAgaW1wYWN0IG9u
IHBlcmZvcm1hbmNlIHNpbmNlIGdldHRpbmcgdmFsdWUgZnJvbSBCaWdJbnQ2NEFycmF5IGFuZCBC
aWdVaW50NjRBcnJheQorICAgICAgICAgICAgICAgYXJlIGFscmVhZHkgY29zdGx5IHNpbmNlIHdl
IGFsd2F5cyBuZWVkIHRvIGFsbG9jYXRlIEJpZ0ludCBmb3IgcmVzdWx0cy4KKyAgICAgICAgICAg
IDMuIERGRyAvIEZUTCBHZXRCeVZhbCBldGMuIGFyZSB1c2luZyBBcnJheTo6R2VuZXJpYyBmb3Ig
QmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0QXJyYXkuCisgICAgICAgICAgICA0LiBCdXQgR2V0
QXJyYXlMZW5ndGgsIENoZWNrQXJyYXksIGJ5dGVMZW5ndGggZ2V0dGVyIGV0Yy4gYXJlIHVzaW5n
IEFycmF5OjpCaWdJbnQ2NEFycmF5IC8gQXJyYXk6OkJpZ1VpbnQ2NEFycmF5CisgICAgICAgICAg
ICAgICBmb3Igb3B0aW1pemF0aW9uLgorICAgICAgICAgICAgNS4gRXh0ZW5kIEFycmF5UHJvZmls
ZSdzIEFycmF5TW9kZSBmb3IgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0QXJyYXkgc28gdGhh
dCBBcnJheVByb2ZpbGUKKyAgICAgICAgICAgICAgIGNhbiByZWNvcmQgQmlnSW50NjRBcnJheSBh
bmQgQmlnVWludDY0QXJyYXkgaW5mb3JtYXRpb24uCisgICAgICAgICAgICA2LiBJbXBsZW1lbnQg
RGF0YVZpZXcje3NldEJpZ0ludDY0LHNldEJpZ1VpbnQ2NCxnZXRCaWdJbnQ2NCxnZXRCaWdVaW50
NjR9LgorICAgICAgICAgICAgNy4gRXh0ZW5kIEpTQyBBUElzIHRvIHN1cHBvcnQgQmlnSW50NjRB
cnJheSBhbmQgQmlnVWludDY0QXJyYXkuCisKKyAgICAgICAgWzFdOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMTgxCisgICAgICAgIFsyXTogaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE4MworCisgICAgICAgICogQVBJL0pTVHlw
ZWRBcnJheS5jcHA6CisgICAgICAgICh0b0pTVHlwZWRBcnJheVR5cGUpOgorICAgICAgICAodG9U
eXBlZEFycmF5VHlwZSk6CisgICAgICAgIChjcmVhdGVUeXBlZEFycmF5KToKKyAgICAgICAgKiBB
UEkvSlNWYWx1ZVJlZi5oOgorICAgICAgICAqIEFQSS90ZXN0cy9UeXBlZEFycmF5Q1Rlc3QuY3Bw
OgorICAgICAgICAoZm9yRWFjaFR5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJ1aWx0aW5z
L1R5cGVkQXJyYXlQcm90b3R5cGUuanM6CisgICAgICAgIChmaWxsKToKKyAgICAgICAgKG1hcCk6
CisgICAgICAgIChmaWx0ZXIpOgorICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHA6
CisgICAgICAgIChKU0M6OmR1bXBBcnJheU1vZGVzKToKKyAgICAgICAgKiBieXRlY29kZS9BcnJh
eVByb2ZpbGUuaDoKKyAgICAgICAgKiBieXRlY29kZS9CeVZhbEluZm8uaDoKKyAgICAgICAgKEpT
Qzo6aml0QXJyYXlNb2RlRm9yQ2xhc3NJbmZvKToKKyAgICAgICAgKEpTQzo6aml0QXJyYXlNb2Rl
UGVybWl0c1B1dCk6CisgICAgICAgIChKU0M6OnR5cGVkQXJyYXlUeXBlRm9ySklUQXJyYXlNb2Rl
KToKKyAgICAgICAgKiBieXRlY29kZS9MaW5rVGltZUNvbnN0YW50Lmg6CisgICAgICAgICogYnl0
ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAoSlNDOjpkdW1wU3BlY3VsYXRpb24p
OgorICAgICAgICAoSlNDOjpzcGVjdWxhdGlvblRvQWJicmV2aWF0ZWRTdHJpbmcpOgorICAgICAg
ICAoSlNDOjpzcGVjdWxhdGlvbkZyb21UeXBlZEFycmF5VHlwZSk6CisgICAgICAgIChKU0M6OnR5
cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKToKKyAgICAgICAgKEpTQzo6c3BlY3VsYXRpb25G
cm9tU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5oOgorICAgICAg
ICAoSlNDOjppc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzQmln
VWludDY0QXJyYXlTcGVjdWxhdGlvbik6CisgICAgICAgIChKU0M6OmlzRGlyZWN0QXJndW1lbnRz
U3BlY3VsYXRpb24pOgorICAgICAgICAoSlNDOjppc1Njb3BlZEFyZ3VtZW50c1NwZWN1bGF0aW9u
KToKKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlSW50TXV0YWJsZUFycmF5U3BlY3VsYXRpb24p
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjppc0FjdGlvbmFibGVGbG9hdE11dGFibGVBcnJheVNw
ZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rpb25hYmxlVHlwZWRNdXRh
YmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OmlzQWN0aW9uYWJs
ZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6aXNBY3Rp
b25hYmxlQXJyYXlTcGVjdWxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBk
ZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6OmZyb21P
YnNlcnZlZCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjpyZWZpbmUgY29uc3QpOgor
ICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQgY29uc3QpOgorICAg
ICAgICAoSlNDOjpERkc6OmFycmF5VHlwZVRvU3RyaW5nKToKKyAgICAgICAgKEpTQzo6REZHOjp0
b1R5cGVkQXJyYXlUeXBlKToKKyAgICAgICAgKEpTQzo6REZHOjp0b0FycmF5VHlwZSk6CisgICAg
ICAgIChKU0M6OkRGRzo6cGVybWl0c0JvdW5kc0NoZWNrTG93ZXJpbmcpOgorICAgICAgICAqIGRm
Zy9ERkdBcnJheU1vZGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6OnN1cHBvcnRz
U2VsZkxlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkRGRzo6QXJyYXlNb2RlOjphcnJheU1v
ZGVzVGhhdFBhc3NGaWx0ZXJpbmcgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXpl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR0Zp
eHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6
CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpT
Q19ERUZJTkVfSklUX09QRVJBVElPTik6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aFNpemVGb3JUeXBl
KToKKyAgICAgICAgKEpTQzo6REZHOjpvcGVyYXRpb25OZXdUeXBlZEFycmF5V2l0aE9uZUFyZ3Vt
ZW50Rm9yVHlwZSk6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlSGFzSW5kZXhlZFByb3BlcnR5KToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3Bw
OgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlR2V0QnlWYWwp
OgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlUHV0QnlWYWwp
OgorICAgICAgICAqIGluc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHA6CisgICAgICAg
IChJbnNwZWN0b3I6OkpTSW5qZWN0ZWRTY3JpcHRIb3N0OjpzdWJ0eXBlKToKKyAgICAgICAgKiBq
aXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21w
aWxlUHV0QnlWYWwpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoKKyAgICAgICAgKEpTQzo6
dHJ5Q2FjaGVBcnJheUdldEJ5VmFsKToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToKKyAgICAgICAgKiBydW50aW1lL0F0b21pY3NPYmplY3QuY3BwOgorICAgICAgICAq
IHJ1bnRpbWUvQXRvbWljc09iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50NjRBcnJh
eS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMuY3BwLgorICAgICAgICAqIHJ1bnRpbWUvQmlnVWludDY0QXJyYXkuaDog
Q29waWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5Q29u
c3RydWN0b3JzLmNwcC4KKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcDoK
KyAgICAgICAgKEpTQzo6ZWxlbWVudFNpemUpOgorICAgICAgICAoSlNDOjp2YWxpZGF0ZVR5cGVk
QXJyYXkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTQmlnSW50Lmg6CisgICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTRGF0YVZpZXcuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRGF0YVZpZXdQ
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpnZXREYXRhKToKKyAgICAgICAgKEpTQzo6SlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Lmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9yLmg6CisgICAgICAgICogcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9ySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpjb25zdHJ1Y3RHZW5lcmljVHlwZWRB
cnJheVZpZXdXaXRoQXJndW1lbnRzKToKKyAgICAgICAgKiBydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0dlbmVyaWNUeXBlZEFycmF5Vmll
dzxBZGFwdG9yPjo6c2V0V2l0aFNwZWNpZmljVHlwZSk6CisgICAgICAgIChKU0M6OkpTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXQpOgorICAgICAgICAoSlNDOjpKU0dlbmVyaWNU
eXBlZEFycmF5VmlldzxBZGFwdG9yPjo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAg
ICAgICogcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5o
OgorICAgICAgICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKToKKyAg
ICAgICAgKEpTQzo6Z2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG9GdW5jU2xpY2UpOgorICAgICAg
ICAoSlNDOjpnZW5lcmljVHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKToK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5j
dGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTVHlwZS5jcHA6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNUeXBlLmg6CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5Q29uc3RydWN0b3JzLmg6
CisgICAgICAgICogcnVudGltZS9KU1R5cGVkQXJyYXlQcm90b3R5cGVzLmNwcDoKKyAgICAgICAg
KiBydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaDoKKyAgICAgICAgKiBydW50aW1lL0pT
VHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hP
U1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlw
ZS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNUeXBlZEFycmF5cy5jcHA6CisgICAgICAgICogcnVu
dGltZS9KU1R5cGVkQXJyYXlzLmg6CisgICAgICAgICogcnVudGltZS9Ub05hdGl2ZUZyb21WYWx1
ZS5oOgorICAgICAgICAoSlNDOjp0b05hdGl2ZUZyb21WYWx1ZSk6CisgICAgICAgIChKU0M6OnRv
TmF0aXZlRnJvbVZhbHVlV2l0aG91dENvZXJjaW9uKToKKyAgICAgICAgKiBydW50aW1lL1R5cGVk
QXJyYXlBZGFwdG9ycy5oOgorICAgICAgICAoSlNDOjpJbnRlZ3JhbFR5cGVkQXJyYXlBZGFwdG9y
Ojp0b0pTVmFsdWUpOgorICAgICAgICAoSlNDOjpGbG9hdFR5cGVkQXJyYXlBZGFwdG9yOjp0b0pT
VmFsdWUpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjo6dG9KU1ZhbHVl
KToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OnRvTmF0aXZlRnJvbUlu
dDMyKToKKyAgICAgICAgKEpTQzo6QmlnSW50VHlwZWRBcnJheUFkYXB0b3I6OnRvTmF0aXZlRnJv
bVVpbnQzMik6CisgICAgICAgIChKU0M6OkJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yOjp0b05hdGl2
ZUZyb21Eb3VibGUpOgorICAgICAgICAoSlNDOjpCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjo6Y29u
dmVydFRvKToKKyAgICAgICAgKEpTQzo6VWludDhDbGFtcGVkQWRhcHRvcjo6dG9KU1ZhbHVlKToK
KyAgICAgICAgKEpTQzo6SW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjo6dG9Eb3VibGUpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpGbG9hdFR5cGVkQXJyYXlBZGFwdG9yOjp0b0RvdWJsZSk6IERl
bGV0ZWQuCisgICAgICAgIChKU0M6OlVpbnQ4Q2xhbXBlZEFkYXB0b3I6OnRvRG91YmxlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1R5cGVkQXJyYXlUeXBlLmNwcDoKKyAgICAgICAgKEpT
Qzo6Y29uc3RydWN0b3JDbGFzc0luZm9Gb3JUeXBlKToKKyAgICAgICAgKFdURjo6cHJpbnRJbnRl
cm5hbCk6CisgICAgICAgICogcnVudGltZS9UeXBlZEFycmF5VHlwZS5oOgorICAgICAgICAoSlND
Ojppc0JpZ0ludFR5cGVkVmlldyk6CisgICAgICAgIChKU0M6OmxvZ0VsZW1lbnRTaXplKToKKyAg
ICAgICAgKEpTQzo6aXNCaWdJbnQpOgorICAgICAgICAoSlNDOjppc1NpZ25lZCk6CisgICAgICAg
IChKU0M6OmNvbnRlbnRUeXBlKToKKyAgICAgICAgKiBydW50aW1lL1R5cGVkQXJyYXlzLmg6Cisg
ICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgICogcnVudGltZS9WTS5oOgorCiAyMDIx
LTAxLTMwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgZml4IGFmdGVyIHIyNzIwNzEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNUeXBlZEFycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNU
eXBlZEFycmF5LmNwcAppbmRleCA2ODlmZTllNmY4Nzc0MmE4MWRjYzYxMDNiMTI0N2VkYWFhZmE3
OGM2Li40MzY4NTE5YmQ0NTUyYzliYzk5NjFiNWFiYTcyOGZmNDRjMGIyM2M0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVHlwZWRBcnJheS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1R5cGVkQXJyYXkuY3BwCkBAIC02NCw2ICs2NCwxMCBAQCBp
bmxpbmUgSlNUeXBlZEFycmF5VHlwZSB0b0pTVHlwZWRBcnJheVR5cGUoVHlwZWRBcnJheVR5cGUg
dHlwZSkKICAgICAgICAgcmV0dXJuIGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQzMkFycmF5OwogICAg
IGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBrSlNUeXBlZEFycmF5VHlwZUZsb2F0
NjRBcnJheTsKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAgcmV0dXJuIGtKU1R5cGVk
QXJyYXlUeXBlQmlnSW50NjRBcnJheTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAg
IHJldHVybiBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5OwogICAgIH0KICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpAQCAtOTIsNiArOTYsMTAgQEAgaW5saW5lIFR5
cGVkQXJyYXlUeXBlIHRvVHlwZWRBcnJheVR5cGUoSlNUeXBlZEFycmF5VHlwZSB0eXBlKQogICAg
ICAgICByZXR1cm4gVHlwZUZsb2F0MzI7CiAgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUZsb2F0
NjRBcnJheToKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDY0OworICAgIGNhc2Uga0pTVHlwZWRB
cnJheVR5cGVCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ0ludDY0OworICAg
IGNhc2Uga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5
cGVCaWdVaW50NjQ7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CkBAIC0xMjMsNiArMTMxLDEwIEBAIHN0YXRpYyBKU09iamVjdCogY3JlYXRlVHlwZWRBcnJheShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1R5cGVkQXJyYXlUeXBlCiAgICAgICAgIHJl
dHVybiBKU0Zsb2F0MzJBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT50
eXBlZEFycmF5U3RydWN0dXJlKFR5cGVGbG9hdDMyKSwgV1RGTW92ZShidWZmZXIpLCBvZmZzZXQs
IGxlbmd0aCk7CiAgICAgY2FzZSBrSlNUeXBlZEFycmF5VHlwZUZsb2F0NjRBcnJheToKICAgICAg
ICAgcmV0dXJuIEpTRmxvYXQ2NEFycmF5OjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPnR5cGVkQXJyYXlTdHJ1Y3R1cmUoVHlwZUZsb2F0NjQpLCBXVEZNb3ZlKGJ1ZmZlciksIG9m
ZnNldCwgbGVuZ3RoKTsKKyAgICBjYXNlIGtKU1R5cGVkQXJyYXlUeXBlQmlnSW50NjRBcnJheToK
KyAgICAgICAgcmV0dXJuIEpTQmlnSW50NjRBcnJheTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZ2xv
YmFsT2JqZWN0LT50eXBlZEFycmF5U3RydWN0dXJlKFR5cGVCaWdJbnQ2NCksIFdURk1vdmUoYnVm
ZmVyKSwgb2Zmc2V0LCBsZW5ndGgpOworICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVCaWdVaW50
NjRBcnJheToKKyAgICAgICAgcmV0dXJuIEpTQmlnVWludDY0QXJyYXk6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJheVN0cnVjdHVyZShUeXBlQmlnVWludDY0KSwg
V1RGTW92ZShidWZmZXIpLCBvZmZzZXQsIGxlbmd0aCk7CiAgICAgY2FzZSBrSlNUeXBlZEFycmF5
VHlwZUFycmF5QnVmZmVyOgogICAgIGNhc2Uga0pTVHlwZWRBcnJheVR5cGVOb25lOgogICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
VmFsdWVSZWYuaAppbmRleCA5MTFiNGJmYzRkZjE5YTA0N2RjZWEwODQ4ZDRkNTJjMjhlNzc4N2Rm
Li4yYTkwNzlhZTAwMDY1MTk0OTcwNGFhYTRjY2E0ODlhZjgwNmZjZjY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaApAQCAtNjYsNiArNjYsOCBAQCB0eXBlZGVmIGVudW0g
ewogIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVVaW50MzJBcnJheSAgICAgICAgICBV
aW50MzJBcnJheQogIEBjb25zdGFudCAgICAga0pTVHlwZWRBcnJheVR5cGVGbG9hdDMyQXJyYXkg
ICAgICAgICBGbG9hdDMyQXJyYXkKICBAY29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlRmxv
YXQ2NEFycmF5ICAgICAgICAgRmxvYXQ2NEFycmF5CisgQGNvbnN0YW50ICAgICBrSlNUeXBlZEFy
cmF5VHlwZUJpZ0ludDY0QXJyYXkgICAgICAgIEJpZ0ludDY0QXJyYXkKKyBAY29uc3RhbnQgICAg
IGtKU1R5cGVkQXJyYXlUeXBlQmlnVWludDY0QXJyYXkgICAgICAgQmlnVWludDY0QXJyYXkKICBA
Y29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXIgICAgICAgICAgQXJyYXlC
dWZmZXIKICBAY29uc3RhbnQgICAgIGtKU1R5cGVkQXJyYXlUeXBlTm9uZSAgICAgICAgICAgICAg
ICAgTm90IGEgVHlwZWQgQXJyYXkKIApAQCAtODIsNiArODQsOCBAQCB0eXBlZGVmIGVudW0gewog
ICAgIGtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5LAogICAgIGtKU1R5cGVkQXJyYXlUeXBl
QXJyYXlCdWZmZXIsCiAgICAga0pTVHlwZWRBcnJheVR5cGVOb25lLAorICAgIGtKU1R5cGVkQXJy
YXlUeXBlQmlnSW50NjRBcnJheSwKKyAgICBrSlNUeXBlZEFycmF5VHlwZUJpZ1VpbnQ2NEFycmF5
LAogfSBKU1R5cGVkQXJyYXlUeXBlIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSwgaW9z
KDEwLjApKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJyYXlDVGVzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL3Rlc3RzL1R5cGVkQXJyYXlDVGVzdC5jcHAKaW5kZXggMjM3YmQ0NjU4NmYyZmY2
MDYzOWM2MzY3NzYxMWE4YjUwYjY4MDI3Yy4uNzVmNTcwN2U1MjE2NzNlMTkyOWM1ZDczM2NmMDI3
OGVkZDFhOTNhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9U
eXBlZEFycmF5Q1Rlc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMv
VHlwZWRBcnJheUNUZXN0LmNwcApAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgbGVuZ3Roc1tudW1MZW5ndGhzXSA9CiAgICAgMTAsCiB9OwogCi1zdGF0aWMgY29uc3QgdW5z
aWduZWQgYnl0ZVNpemVzW2tKU1R5cGVkQXJyYXlUeXBlQXJyYXlCdWZmZXJdID0KK3N0YXRpYyBj
b25zdCB1bnNpZ25lZCBieXRlU2l6ZXNbXSA9CiB7CiAgICAgMSwgLy8ga0pTVHlwZWRBcnJheVR5
cGVJbnQ4QXJyYXkKICAgICAyLCAvLyBrSlNUeXBlZEFycmF5VHlwZUludDE2QXJyYXkKQEAgLTYw
LDkgKzYwLDEzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBieXRlU2l6ZXNba0pTVHlwZWRBcnJh
eVR5cGVBcnJheUJ1ZmZlcl0gPQogICAgIDQsIC8vIGtKU1R5cGVkQXJyYXlUeXBlVWludDMyQXJy
YXkKICAgICA0LCAvLyBrSlNUeXBlZEFycmF5VHlwZUZsb2F0MzJBcnJheQogICAgIDgsIC8vIGtK
U1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5CisgICAgMCwgLy8ga0pTVHlwZWRBcnJheVR5cGVB
cnJheUJ1ZmZlcgorICAgIDAsIC8vIGtKU1R5cGVkQXJyYXlUeXBlTm9uZQorICAgIDgsIC8vIGtK
U1R5cGVkQXJyYXlUeXBlQmlnSW50NjRBcnJheQorICAgIDgsIC8vIGtKU1R5cGVkQXJyYXlUeXBl
QmlnVWludDY0QXJyYXkKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyKiB0eXBlVG9TdHJpbmdba0pT
VHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcl0gPQorc3RhdGljIGNvbnN0IGNoYXIqIHR5cGVUb1N0
cmluZ1tdID0KIHsKICAgICAia0pTVHlwZWRBcnJheVR5cGVJbnQ4QXJyYXkiLAogICAgICJrSlNU
eXBlZEFycmF5VHlwZUludDE2QXJyYXkiLApAQCAtNzMsNiArNzcsMTAgQEAgc3RhdGljIGNvbnN0
IGNoYXIqIHR5cGVUb1N0cmluZ1trSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyXSA9CiAgICAg
ImtKU1R5cGVkQXJyYXlUeXBlVWludDMyQXJyYXkiLAogICAgICJrSlNUeXBlZEFycmF5VHlwZUZs
b2F0MzJBcnJheSIsCiAgICAgImtKU1R5cGVkQXJyYXlUeXBlRmxvYXQ2NEFycmF5IiwKKyAgICAi
a0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlciIsCisgICAgImtKU1R5cGVkQXJyYXlUeXBlTm9u
ZSIsCisgICAgImtKU1R5cGVkQXJyYXlUeXBlQmlnSW50NjRBcnJheSIsCisgICAgImtKU1R5cGVk
QXJyYXlUeXBlQmlnVWludDY0QXJyYXkiLAogfTsKIAogaW5saW5lIGludCB1bmV4cGVjdGVkRXhj
ZXB0aW9uKGNvbnN0IGNoYXIqIG5hbWUpCkBAIC0yMTIsOCArMjIwLDEwIEBAIHRlbXBsYXRlIDx0
eXBlbmFtZSBGdW5jdG9yPgogc3RhdGljIGludCBmb3JFYWNoVHlwZWRBcnJheVR5cGUoY29uc3Qg
RnVuY3RvciYgZnVuY3RvcikKIHsKICAgICBpbnQgZmFpbGVkID0gMDsKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwga0pTVHlwZWRBcnJheVR5cGVBcnJheUJ1ZmZlcjsgaSsrKQotICAgICAg
ICBmYWlsZWQgPSBmYWlsZWQgfHwgZnVuY3RvcihzdGF0aWNfY2FzdDxKU1R5cGVkQXJyYXlUeXBl
PihpKSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGtKU1R5cGVkQXJyYXlUeXBlQXJy
YXlCdWZmZXI7IGkrKykgeworICAgICAgICBpZiAoaSAhPSBrSlNUeXBlZEFycmF5VHlwZU5vbmUg
JiYgaSAhPSBrSlNUeXBlZEFycmF5VHlwZUFycmF5QnVmZmVyKQorICAgICAgICAgICAgZmFpbGVk
ID0gZmFpbGVkIHx8IGZ1bmN0b3Ioc3RhdGljX2Nhc3Q8SlNUeXBlZEFycmF5VHlwZT4oaSkpOwor
ICAgIH0KICAgICByZXR1cm4gZmFpbGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggYTY0YTM2NTQyYWVmOTVhMTA5ODNhZjhkOTk0YWVlYmUzZmRiZGFlMS4uNGRm
OGEyNTBjMGM5YmQyMjNlNTY4NmFkN2M1ZjY3ZjlhMDEwZTc4MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtODIyLDggKzgyMiwxMCBAQCBzZXQoSmF2YVNjcmlwdENvcmVf
UFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHJ1bnRpbWUvQXV4aWxpYXJ5QmFycmllcklu
bGluZXMuaAogICAgIHJ1bnRpbWUvQmFzaWNCbG9ja0xvY2F0aW9uLmgKICAgICBydW50aW1lL0Jh
dGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKKyAgICBydW50aW1lL0JpZ0ludDY0QXJyYXkuaAog
ICAgIHJ1bnRpbWUvQmlnSW50T2JqZWN0LmgKICAgICBydW50aW1lL0JpZ0ludFByb3RvdHlwZS5o
CisgICAgcnVudGltZS9CaWdVaW50NjRBcnJheS5oCiAgICAgcnVudGltZS9Cb29sZWFuT2JqZWN0
LmgKICAgICBydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuaAogICAgIHJ1bnRpbWUvQnV0dGVyZmx5
LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODNkZTc5Yjg0MWY5YjFmYTM5NTM3
MjVkMjVlMjExOTViMGQwMDQ1OC4uZDYyYTRmNDQxZDg4ZDNhMTM4MjljZjZjZmYyZjE5YTI4NmUz
MzY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4NDgsNiArMTg0OCw4IEBA
CiAJCUUzNUEwQjlEMjIwQUQ4N0EwMEFDNDQ3NCAvKiBFeGVjdXRhYmxlQmFzZUlubGluZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNUEwQjlDMjIw
QUQ4N0EwMEFDNDQ3NCAvKiBFeGVjdXRhYmxlQmFzZUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMzVDQTE1NDFEQkMzQTVDMDBGODM1
MTYgLyogRE9NSklUSGVhcFJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMzVDQTE1MjFEQkMzQTU2MDBGODM1MTYgLyogRE9NSklUSGVhcFJhbmdl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM1
Q0ExNTYxREJDM0E1RjAwRjgzNTE2IC8qIERPTUpJVEFic3RyYWN0SGVhcC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1Q0ExNTAxREJDM0E1NjAwRjgz
NTE2IC8qIERPTUpJVEFic3RyYWN0SGVhcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUUzNUU4OUZEMjVDNTBGODcwMDcxRUUxRSAvKiBCaWdJbnQ2
NEFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MzVFODlGQjI1QzUwRjg2MDA3MUVFMUUgLyogQmlnSW50NjRBcnJheS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzNUU4OUZFMjVDNTBGODcwMDcx
RUUxRSAvKiBCaWdVaW50NjRBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTM1RTg5RkMyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ1VpbnQ2NEFycmF5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTM2
MzdFRTkyMzZFNTZCMDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNjM3RUU3MjM2RTU2QjAwMDk2QkQw
QSAvKiBMaW5rVGltZUNvbnN0YW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRTM2NUYzM0EyNEFBNjIzOTAwQzk5MUIyIC8qIEludGxEaXNwbGF5
TmFtZXNDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUzNjVGMzM5MjRBQTYyMTIwMEM5OTFCMiAvKiBJbnRsRGlzcGxheU5hbWVz
Q29uc3RydWN0b3IubHV0LmggKi87IH07CiAJCUUzNjVGMzNCMjRBQTYyM0IwMEM5OTFCMiAvKiBJ
bnRsRGlzcGxheU5hbWVzUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTM2NUYzMzgyNEFBNjIxMTAwQzk5MUIyIC8qIEludGxEaXNw
bGF5TmFtZXNQcm90b3R5cGUubHV0LmggKi87IH07CkBAIC01MDYxLDYgKzUwNjMsOCBAQAogCQlF
MzVDQTE1MDFEQkMzQTU2MDBGODM1MTYgLyogRE9NSklUQWJzdHJhY3RIZWFwLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUpJVEFic3RyYWN0SGVhcC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzVDQTE1MTFEQkMzQTU2MDBGODM1MTYgLyogRE9NSklUSGVh
cFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTUpJVEhl
YXBSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNUNBMTUyMURCQzNB
NTYwMEY4MzUxNiAvKiBET01KSVRIZWFwUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NSklUSGVhcFJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUUzNUU4OUZCMjVDNTBGODYwMDcxRUUxRSAvKiBCaWdJbnQ2NEFycmF5LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJpZ0ludDY0QXJyYXkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTM1RTg5RkMyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ1VpbnQ2NEFycmF5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJpZ1VpbnQ2NEFycmF5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzNjM3RUU3MjM2RTU2QjAwMDk2QkQwQSAvKiBMaW5r
VGltZUNvbnN0YW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExpbmtUaW1l
Q29uc3RhbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTM2MzdFRTgyMzZFNTZC
MDAwOTZCRDBBIC8qIExpbmtUaW1lQ29uc3RhbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTGlua1RpbWVDb25zdGFudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUzNjVGMzM4MjRBQTYyMTEwMEM5OTFCMiAvKiBJbnRsRGlzcGxheU5hbWVzUHJv
dG90eXBlLmx1dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRsRGlzcGxh
eU5hbWVzUHJvdG90eXBlLmx1dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzEz
Niw2ICs3MTQwLDcgQEAKIAkJCQk1MjY3OEY4QzFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9j
a0xvY2F0aW9uLmNwcCAqLywKIAkJCQk1MjY3OEY4RDFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNC
bG9ja0xvY2F0aW9uLmggKi8sCiAJCQkJMTQ3QjgzQUEwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggKi8sCisJCQkJRTM1RTg5RkIyNUM1MEY4NjAwNzFFRTFF
IC8qIEJpZ0ludDY0QXJyYXkuaCAqLywKIAkJCQk4Njk3NkU1ODFGQTM3NTZEMDBFN0M0RTEgLyog
QmlnSW50Q29uc3RydWN0b3IuY3BwICovLAogCQkJCTg2OTc2RTU3MUZBMzc1NDAwMEU3QzRFMSAv
KiBCaWdJbnRDb25zdHJ1Y3Rvci5oICovLAogCQkJCTg2NjczOUQwMTNCRkRFNzEwMDIzRDg3QyAv
KiBCaWdJbnRlZ2VyLmggKi8sCkBAIC03MTQzLDYgKzcxNDgsNyBAQAogCQkJCTg2MTgxNjc2MUZC
NzkyMkYwMEVDQzRFQyAvKiBCaWdJbnRPYmplY3QuaCAqLywKIAkJCQk4Njk3NkU1QjFGQTM3NUE4
MDBFN0M0RTEgLyogQmlnSW50UHJvdG90eXBlLmNwcCAqLywKIAkJCQk4Njk3NkU1QTFGQTM3NThB
MDBFN0M0RTEgLyogQmlnSW50UHJvdG90eXBlLmggKi8sCisJCQkJRTM1RTg5RkMyNUM1MEY4NzAw
NzFFRTFFIC8qIEJpZ1VpbnQ2NEFycmF5LmggKi8sCiAJCQkJQkM3OTUyMzIwRTE1RUI1NjAwQTg5
OEFCIC8qIEJvb2xlYW5Db25zdHJ1Y3Rvci5jcHAgKi8sCiAJCQkJQkM3OTUyMzMwRTE1RUI1NjAw
QTg5OEFCIC8qIEJvb2xlYW5Db25zdHJ1Y3Rvci5oICovLAogCQkJCUY2OTJBODUwMDI1NTU5N0Qw
MUZGNjBGNyAvKiBCb29sZWFuT2JqZWN0LmNwcCAqLywKQEAgLTkyNTUsMTAgKzkyNjEsMTIgQEAK
IAkJCQkwRjJDNjNCMjFFNjBBRTQ3MDBDMTM4MzkgLyogQjNXaWR0aC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTI2NzhGOEYxQTAzMTAwOTAwNkEzMDZEIC8qIEJhc2ljQmxvY2tMb2NhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMTQ3QjgzQUMwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMzVFODlGRDI1QzUwRjg3MDA3
MUVFMUUgLyogQmlnSW50NjRBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY5NzZFNUYxRkEz
RThCQzAwRTdDNEUxIC8qIEJpZ0ludENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
NjY3MzlEMjEzQkZERTcxMDAyM0Q4N0MgLyogQmlnSW50ZWdlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODYxODE2NzcxRkI3OTI0MjAwRUNDNEVDIC8qIEJpZ0ludE9iamVjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODY5NzZFNUUxRkEzRThCNjAwRTdDNEUxIC8qIEJpZ0ludFByb3RvdHlwZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRTM1RTg5RkUyNUM1MEY4NzAwNzFFRTFFIC8qIEJpZ1VpbnQ2NEFy
cmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjY0QjI3MjFBNzg0QkFGMDA2RTRFNjYgLyogQmlu
YXJ5U3dpdGNoLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkI5MTZDMjE0REEwMTRFMDBDQkFDODYg
LyogQmxvY2tEaXJlY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzODY1MkUzMjM3Q0EwQzkw
MEUxRDVFRSAvKiBCbG9ja0RpcmVjdG9yeUJpdHMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCmluZGV4IDQ0YzZiMjM1ZWZl
Y2QzNTA0NmM3MWY3YWJlOWQyYjNmNzVkMzlmOTEuLjNiOTQ5MzcxNTg2NTNjYjc2MDVmNDRiNWRj
ODIwMDQwY2QwNjQzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9CdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVp
bHRpbk5hbWVzLmgKQEAgLTcwLDYgKzcwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgbWFjcm8o
U2V0KSBcCiAgICAgbWFjcm8odGhyb3dUeXBlRXJyb3JGdW5jdGlvbikgXAogICAgIG1hY3JvKHR5
cGVkQXJyYXlMZW5ndGgpIFwKKyAgICBtYWNybyh0eXBlZEFycmF5Q29udGVudFR5cGUpIFwKICAg
ICBtYWNybyh0eXBlZEFycmF5U29ydCkgXAogICAgIG1hY3JvKHR5cGVkQXJyYXlHZXRPcmlnaW5h
bENvbnN0cnVjdG9yKSBcCiAgICAgbWFjcm8odHlwZWRBcnJheVN1YmFycmF5Q3JlYXRlKSBcCkBA
IC05OCw2ICs5OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIG1hY3JvKFVpbnQzMkFycmF5KSBc
CiAgICAgbWFjcm8oRmxvYXQzMkFycmF5KSBcCiAgICAgbWFjcm8oRmxvYXQ2NEFycmF5KSBcCisg
ICAgbWFjcm8oQmlnSW50NjRBcnJheSkgXAorICAgIG1hY3JvKEJpZ1VpbnQ2NEFycmF5KSBcCiAg
ICAgbWFjcm8oZXhlYykgXAogICAgIG1hY3JvKGdlbmVyYXRvcikgXAogICAgIG1hY3JvKGdlbmVy
YXRvck5leHQpIFwKQEAgLTE3Myw3ICsxNzYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBtYWNy
byh3ZWJBc3NlbWJseUluc3RhbnRpYXRlU3RyZWFtaW5nSW50ZXJuYWwpIFwKICAgICBtYWNybyhp
bnN0YW5jZUZpZWxkSW5pdGlhbGl6ZXIpIFwKICAgICBtYWNybyhoYXNPd25Qcm9wZXJ0eUZ1bmN0
aW9uKSBcCi0gICAgbWFjcm8oY3JlYXRlUHJpdmF0ZVN5bWJvbCkKKyAgICBtYWNybyhjcmVhdGVQ
cml2YXRlU3ltYm9sKSBcCisgICAgbWFjcm8odG9CaWdJbnQpIFwKKyAgICBtYWNybyhpc0JpZ0lu
dFR5cGVkQXJyYXlWaWV3KQogCiBuYW1lc3BhY2UgU3ltYm9scyB7CiAjZGVmaW5lIERFQ0xBUkVf
QlVJTFRJTl9TVEFUSUNfU1lNQk9MUyhuYW1lKSBleHRlcm4gSlNfRVhQT1JUX1BSSVZBVEUgU3lt
Ym9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBuYW1lIyNTeW1ib2w7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvVHlwZWRBcnJheVByb3RvdHlwZS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFycmF5UHJvdG90eXBlLmpzCmluZGV4IDVi
ZmM2MDgwY2RhMmU4MjkyN2U1ZWZmMGJiY2I1NGIwZTIxZjc1ZTMuLjJkNTJhZjI0ZmQwZjYxYWM4
MzRlZDg5Y2E4ODhjYzk2MDZlYTU4OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9UeXBlZEFycmF5UHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9UeXBlZEFycmF5UHJvdG90eXBlLmpzCkBAIC05MSw3ICs5MSwxMCBAQCBm
dW5jdGlvbiBmaWxsKHZhbHVlIC8qIFssIHN0YXJ0IFssIGVuZF1dICovKQogCiAgICAgdmFyIGxl
bmd0aCA9IEB0eXBlZEFycmF5TGVuZ3RoKHRoaXMpOwogCi0gICAgdmFyIG51bWJlciA9IEB0b051
bWJlcih2YWx1ZSk7CisgICAgaWYgKEBpc0JpZ0ludFR5cGVkQXJyYXlWaWV3KHRoaXMpKQorICAg
ICAgICB2YXIgbnVtYmVyID0gQHRvQmlnSW50KHZhbHVlKTsKKyAgICBlbHNlCisgICAgICAgIHZh
ciBudW1iZXIgPSBAdG9OdW1iZXIodmFsdWUpOwogCiAgICAgdmFyIHN0YXJ0ID0gQHR5cGVkQXJy
YXlDbGFtcEFyZ3VtZW50VG9TdGFydE9yRW5kKEBhcmd1bWVudCgxKSwgbGVuZ3RoLCAwKTsKICAg
ICB2YXIgZW5kID0gQHR5cGVkQXJyYXlDbGFtcEFyZ3VtZW50VG9TdGFydE9yRW5kKEBhcmd1bWVu
dCgyKSwgbGVuZ3RoLCBsZW5ndGgpOwpAQCAtMzM1LDYgKzMzOCw4IEBAIGZ1bmN0aW9uIG1hcChj
YWxsYmFjayAvKiwgdGhpc0FyZyAqLykKICAgICB2YXIgcmVzdWx0ID0gbmV3IGNvbnN0cnVjdG9y
KGxlbmd0aCk7CiAgICAgaWYgKEB0eXBlZEFycmF5TGVuZ3RoKHJlc3VsdCkgPCBsZW5ndGgpCiAg
ICAgICAgIEB0aHJvd1R5cGVFcnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUubWFwIGNvbnN0cnVj
dGVkIHR5cGVkIGFycmF5IG9mIGluc3VmZmljaWVudCBsZW5ndGgiKTsKKyAgICBpZiAoQHR5cGVk
QXJyYXlDb250ZW50VHlwZSh0aGlzKSAhPT0gQHR5cGVkQXJyYXlDb250ZW50VHlwZShyZXN1bHQp
KQorICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlR5cGVkQXJyYXkucHJvdG90eXBlLm1hcCBjb25z
dHJ1Y3RlZCB0eXBlZCBhcnJheSBvZiBkaWZmZXJlbnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8
Iik7CiAKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgIHZh
ciBtYXBwZWRWYWx1ZSA9IGNhbGxiYWNrLkBjYWxsKHRoaXNBcmcsIHRoaXNbaV0sIGksIHRoaXMp
OwpAQCAtMzY2LDYgKzM3MSw4IEBAIGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFjayAvKiwgdGhpc0Fy
ZyAqLykKICAgICB2YXIgcmVzdWx0ID0gbmV3IGNvbnN0cnVjdG9yKGxlbmd0aCk7CiAgICAgaWYg
KEB0eXBlZEFycmF5TGVuZ3RoKHJlc3VsdCkgPCBsZW5ndGgpCiAgICAgICAgIEB0aHJvd1R5cGVF
cnJvcigiVHlwZWRBcnJheS5wcm90b3R5cGUuZmlsdGVyIGNvbnN0cnVjdGVkIHR5cGVkIGFycmF5
IG9mIGluc3VmZmljaWVudCBsZW5ndGgiKTsKKyAgICBpZiAoQHR5cGVkQXJyYXlDb250ZW50VHlw
ZSh0aGlzKSAhPT0gQHR5cGVkQXJyYXlDb250ZW50VHlwZShyZXN1bHQpKQorICAgICAgICBAdGhy
b3dUeXBlRXJyb3IoIlR5cGVkQXJyYXkucHJvdG90eXBlLmZpbHRlciBjb25zdHJ1Y3RlZCB0eXBl
ZCBhcnJheSBvZiBkaWZmZXJlbnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8Iik7CiAKICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQogICAgICAgICByZXN1bHRbaV0gPSBrZXB0
W2ldOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJv
ZmlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNw
cAppbmRleCAxZmM3Njc4NTFlZWU4OWQxNzRhODAwOTEwYzUzYThlOGQzMDI1NzAwLi45NDVlYTg5
YTlkZDhmMjRjZjg3OWU1NWIyYTQ5NDI4Y2FmMWNkYTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNwcApAQCAtNDQsNiArNDQsOCBAQCBjb25z
dCBBcnJheU1vZGVzIHR5cGVkQXJyYXlNb2Rlc1tOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1
ZGluZ0RhdGFWaWV3XSA9IHsKICAgICBVaW50MzJBcnJheU1vZGUsCiAgICAgRmxvYXQzMkFycmF5
TW9kZSwKICAgICBGbG9hdDY0QXJyYXlNb2RlLAorICAgIEJpZ0ludDY0QXJyYXlNb2RlLAorICAg
IEJpZ1VpbnQ2NEFycmF5TW9kZSwKIH07CiAKIHZvaWQgZHVtcEFycmF5TW9kZXMoUHJpbnRTdHJl
YW0mIG91dCwgQXJyYXlNb2RlcyBhcnJheU1vZGVzKQpAQCAtMTEwLDYgKzExMiwxMCBAQCB2b2lk
IGR1bXBBcnJheU1vZGVzKFByaW50U3RyZWFtJiBvdXQsIEFycmF5TW9kZXMgYXJyYXlNb2RlcykK
ICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiRmxvYXQzMkFycmF5TW9kZSIpOwogICAgIGlmIChh
cnJheU1vZGVzICYgRmxvYXQ2NEFycmF5TW9kZSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
RmxvYXQ2NEFycmF5TW9kZSIpOworICAgIGlmIChhcnJheU1vZGVzICYgQmlnSW50NjRBcnJheU1v
ZGUpCisgICAgICAgIG91dC5wcmludChjb21tYSwgIkJpZ0ludDY0QXJyYXlNb2RlIik7CisgICAg
aWYgKGFycmF5TW9kZXMgJiBCaWdVaW50NjRBcnJheU1vZGUpCisgICAgICAgIG91dC5wcmludChj
b21tYSwgIkJpZ1VpbnQ2NEFycmF5TW9kZSIpOwogfQogCiB2b2lkIEFycmF5UHJvZmlsZTo6Y29t
cHV0ZVVwZGF0ZWRQcmVkaWN0aW9uKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYgbG9ja2VyLCBD
b2RlQmxvY2sqIGNvZGVCbG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BcnJheVByb2ZpbGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9B
cnJheVByb2ZpbGUuaAppbmRleCA5NDI2NTdjNjJmMDc0OWNhMDVjNGVlZTRkNjdiOTVmZTY0NTVk
OWU3Li42ZGM3YjBlNTQ0N2ZlMDYwZGJjYmQyNGQ5OTA5NzU2NTc5ZmM2NTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCkBAIC00NywxNSArNDcs
MTcgQEAgY29uc3QgQXJyYXlNb2RlcyBDb3B5T25Xcml0ZUFycmF5V2l0aEludDMyQXJyYXlNb2Rl
ID0gMSA8PCBDb3B5T25Xcml0ZUFycmF5V2l0aEkKIGNvbnN0IEFycmF5TW9kZXMgQ29weU9uV3Jp
dGVBcnJheVdpdGhEb3VibGVBcnJheU1vZGUgPSAxIDw8IENvcHlPbldyaXRlQXJyYXlXaXRoRG91
YmxlOwogY29uc3QgQXJyYXlNb2RlcyBDb3B5T25Xcml0ZUFycmF5V2l0aENvbnRpZ3VvdXNBcnJh
eU1vZGUgPSAxIDw8IENvcHlPbldyaXRlQXJyYXlXaXRoQ29udGlndW91czsKIAotY29uc3QgQXJy
YXlNb2RlcyBJbnQ4QXJyYXlNb2RlID0gMSA8PCAxNjsKLWNvbnN0IEFycmF5TW9kZXMgSW50MTZB
cnJheU1vZGUgPSAxIDw8IDE3OwotY29uc3QgQXJyYXlNb2RlcyBJbnQzMkFycmF5TW9kZSA9IDEg
PDwgMTg7Ci1jb25zdCBBcnJheU1vZGVzIFVpbnQ4QXJyYXlNb2RlID0gMSA8PCAxOTsKLWNvbnN0
IEFycmF5TW9kZXMgVWludDhDbGFtcGVkQXJyYXlNb2RlID0gMSA8PCAyMDsgLy8gMjEgLSAyNSBh
cmUgdXNlZCBmb3IgQ29XIGFycmF5cy4KLWNvbnN0IEFycmF5TW9kZXMgVWludDE2QXJyYXlNb2Rl
ID0gMSA8PCAyNjsKLWNvbnN0IEFycmF5TW9kZXMgVWludDMyQXJyYXlNb2RlID0gMSA8PCAyNzsK
LWNvbnN0IEFycmF5TW9kZXMgRmxvYXQzMkFycmF5TW9kZSA9IDEgPDwgMjg7Ci1jb25zdCBBcnJh
eU1vZGVzIEZsb2F0NjRBcnJheU1vZGUgPSAxIDw8IDI5OworY29uc3QgQXJyYXlNb2RlcyBJbnQ4
QXJyYXlNb2RlID0gMVUgPDwgMTY7Citjb25zdCBBcnJheU1vZGVzIEludDE2QXJyYXlNb2RlID0g
MVUgPDwgMTc7Citjb25zdCBBcnJheU1vZGVzIEludDMyQXJyYXlNb2RlID0gMVUgPDwgMTg7Citj
b25zdCBBcnJheU1vZGVzIFVpbnQ4QXJyYXlNb2RlID0gMVUgPDwgMTk7Citjb25zdCBBcnJheU1v
ZGVzIFVpbnQ4Q2xhbXBlZEFycmF5TW9kZSA9IDFVIDw8IDIwOyAvLyAyMSAtIDI1IGFyZSB1c2Vk
IGZvciBDb1cgYXJyYXlzLgorY29uc3QgQXJyYXlNb2RlcyBVaW50MTZBcnJheU1vZGUgPSAxVSA8
PCAyNjsKK2NvbnN0IEFycmF5TW9kZXMgVWludDMyQXJyYXlNb2RlID0gMVUgPDwgMjc7Citjb25z
dCBBcnJheU1vZGVzIEZsb2F0MzJBcnJheU1vZGUgPSAxVSA8PCAyODsKK2NvbnN0IEFycmF5TW9k
ZXMgRmxvYXQ2NEFycmF5TW9kZSA9IDFVIDw8IDI5OworY29uc3QgQXJyYXlNb2RlcyBCaWdJbnQ2
NEFycmF5TW9kZSA9IDFVIDw8IDMwOworY29uc3QgQXJyYXlNb2RlcyBCaWdVaW50NjRBcnJheU1v
ZGUgPSAxVSA8PCAzMTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIGNvbnN0IEFycmF5TW9k
ZXMgdHlwZWRBcnJheU1vZGVzW051bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZp
ZXddOwogCkBAIC03NCw2ICs3Niw4IEBAIGNvbnN0ZXhwciBBcnJheU1vZGVzIGFzQXJyYXlNb2Rl
c0lnbm9yaW5nVHlwZWRBcnJheXMoSW5kZXhpbmdUeXBlIGluZGV4aW5nTW9kZSkKICAgICB8IFVp
bnQzMkFycmF5TW9kZSAgICAgICAgIFwKICAgICB8IEZsb2F0MzJBcnJheU1vZGUgICAgICAgIFwK
ICAgICB8IEZsb2F0NjRBcnJheU1vZGUgICAgICAgIFwKKyAgICB8IEJpZ0ludDY0QXJyYXlNb2Rl
ICAgICAgIFwKKyAgICB8IEJpZ1VpbnQ2NEFycmF5TW9kZSAgICAgIFwKICAgICApCiAKICNkZWZp
bmUgQUxMX05PTl9BUlJBWV9BUlJBWV9NT0RFUyAgICAgICAgICAgICAgICAgICAgICAgXApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCmluZGV4IDAzYmI4ODkxNThh
OGI4MjhhMGJlYzc5YWZkYzUxMDE4MTc5YWNmMDYuLjFlMzBjYjFlODhlOTdiMmZjMjlmZGMyMTkz
ZjQxYjk0ODI1NTY2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeVZhbEluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJ
bmZvLmgKQEAgLTU2LDcgKzU2LDkgQEAgZW51bSBKSVRBcnJheU1vZGUgOiB1aW50OF90IHsKICAg
ICBKSVRVaW50MTZBcnJheSwKICAgICBKSVRVaW50MzJBcnJheSwKICAgICBKSVRGbG9hdDMyQXJy
YXksCi0gICAgSklURmxvYXQ2NEFycmF5CisgICAgSklURmxvYXQ2NEFycmF5LAorICAgIEpJVEJp
Z0ludDY0QXJyYXksCisgICAgSklUQmlnVWludDY0QXJyYXksCiB9OwogCiBpbmxpbmUgYm9vbCBp
c09wdGltaXphYmxlSW5kZXhpbmdUeXBlKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCkBAIC0x
NDYsNiArMTQ4LDEwIEBAIGlubGluZSBKSVRBcnJheU1vZGUgaml0QXJyYXlNb2RlRm9yQ2xhc3NJ
bmZvKGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKQogICAgICAgICByZXR1cm4gSklURmxvYXQz
MkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBKSVRGbG9hdDY0
QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBKSVRCaWdJbnQ2
NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpJVEJpZ1Vp
bnQ2NEFycmF5OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIENSQVNIKCk7CiAgICAgICAgIHJldHVy
biBKSVRDb250aWd1b3VzOwpAQCAtMTU3LDYgKzE2MywxMCBAQCBpbmxpbmUgYm9vbCBqaXRBcnJh
eU1vZGVQZXJtaXRzUHV0KEpJVEFycmF5TW9kZSBtb2RlKQogICAgIHN3aXRjaCAobW9kZSkgewog
ICAgIGNhc2UgSklURGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgSklUU2NvcGVkQXJndW1lbnRz
OgorICAgIC8vIEZJWE1FOiBPcHRpbWl6ZSBCaWdJbnQ2NEFycmF5IC8gQmlnVWludDY0QXJyYXkg
aW4gSUMKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIx
MTgzCisgICAgY2FzZSBKSVRCaWdJbnQ2NEFycmF5OgorICAgIGNhc2UgSklUQmlnVWludDY0QXJy
YXk6CiAgICAgICAgIC8vIFdlIGNvdWxkIHN1cHBvcnQgcHV0X2J5X3ZhbCBvbiB0aGVzZSBhdCBz
b21lIHBvaW50LCBidXQgaXQncyBqdXN0IG5vdCB0aGF0IHByb2ZpdGFibGUKICAgICAgICAgLy8g
YXQgdGhlIG1vbWVudC4KICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjA2LDYgKzIxNiwxMCBA
QCBpbmxpbmUgVHlwZWRBcnJheVR5cGUgdHlwZWRBcnJheVR5cGVGb3JKSVRBcnJheU1vZGUoSklU
QXJyYXlNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBUeXBlRmxvYXQzMjsKICAgICBjYXNlIEpJ
VEZsb2F0NjRBcnJheToKICAgICAgICAgcmV0dXJuIFR5cGVGbG9hdDY0OworICAgIGNhc2UgSklU
QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdJbnQ2NDsKKyAgICBjYXNlIEpJ
VEJpZ1VpbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsKICAgICBkZWZh
dWx0OgogICAgICAgICBDUkFTSCgpOwogICAgICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGlua1RpbWVDb25zdGFudC5oCmlu
ZGV4IGVmYWQ0MGRkZDQxZjI0ZTI0NWQ3YTY1ZGI1ZTA5MWFlYjU4OWYwODIuLjZiODk5MjIzZjE2
ODA3ZmRmMTc0ODFlMTNmYzZkNjBlNjQ4Nzg5NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9MaW5rVGltZUNvbnN0YW50LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0xpbmtUaW1lQ29uc3RhbnQuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFz
cyBKU0dsb2JhbE9iamVjdDsKICAgICB2KG1ha2VUeXBlRXJyb3IsIG51bGxwdHIpIFwKICAgICB2
KEFnZ3JlZ2F0ZUVycm9yLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFycmF5TGVuZ3RoLCBudWxs
cHRyKSBcCisgICAgdih0eXBlZEFycmF5Q29udGVudFR5cGUsIG51bGxwdHIpIFwKICAgICB2KHR5
cGVkQXJyYXlHZXRPcmlnaW5hbENvbnN0cnVjdG9yLCBudWxscHRyKSBcCiAgICAgdih0eXBlZEFy
cmF5U29ydCwgbnVsbHB0cikgXAogICAgIHYoaXNUeXBlZEFycmF5VmlldywgbnVsbHB0cikgXApA
QCAtMTEwLDYgKzExMSw4IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogICAgIHYoY2FsbEZ1bmN0
aW9uLCBudWxscHRyKSBcCiAgICAgdihoYXNPd25Qcm9wZXJ0eUZ1bmN0aW9uLCBudWxscHRyKSBc
CiAgICAgdihjcmVhdGVQcml2YXRlU3ltYm9sLCBudWxscHRyKSBcCisgICAgdih0b0JpZ0ludCwg
bnVsbHB0cikgXAorICAgIHYoaXNCaWdJbnRUeXBlZEFycmF5VmlldywgbnVsbHB0cikgXAogCiAK
ICNkZWZpbmUgREVDTEFSRV9MSU5LX1RJTUVfQ09OU1RBTlQobmFtZSwgY29kZSkgbmFtZSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwCmlu
ZGV4IDc1NjBiMzk5ODdmZTgxMWYyZjI3NGNhYzg2NWQ1NWQwYmFlMjY2YzMuLmJlOWFjNjZlZTNh
N2EwOGFhMzU2NjA4YzU1NDgxYTY3ZWVkZGVlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmNwcApAQCAtMTQ4LDcgKzE0OCwxNyBAQCB2
b2lkIGR1bXBTcGVjdWxhdGlvbihQcmludFN0cmVhbSYgb3V0U3RyZWFtLCBTcGVjdWxhdGVkVHlw
ZSB2YWx1ZSkKICAgICAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkZsb2F0NjRBcnJheSIpOwog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7Ci0gICAgCisK
KyAgICAgICAgICAgIGlmICh2YWx1ZSAmIFNwZWNCaWdJbnQ2NEFycmF5KQorICAgICAgICAgICAg
ICAgIHN0ck91dC5wcmludCgiQmlnSW50NjRBcnJheSIpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIGlzVG9wID0gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZSAmIFNw
ZWNCaWdVaW50NjRBcnJheSkKKyAgICAgICAgICAgICAgICBzdHJPdXQucHJpbnQoIkJpZ1VpbnQ2
NEFycmF5Iik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaXNUb3AgPSBmYWxz
ZTsKKwogICAgICAgICAgICAgaWYgKHZhbHVlICYgU3BlY0Z1bmN0aW9uKQogICAgICAgICAgICAg
ICAgIHN0ck91dC5wcmludCgiRnVuY3Rpb24iKTsKICAgICAgICAgICAgIGVsc2UKQEAgLTM1OSw2
ICszNjksMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHNwZWN1bGF0aW9uVG9BYmJyZXZpYXRlZFN0
cmluZyhTcGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9uKQogICAgICAgICByZXR1cm4gIjxGbG9hdDMy
YXJyYXk+IjsKICAgICBpZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkK
ICAgICAgICAgcmV0dXJuICI8RmxvYXQ2NGFycmF5PiI7CisgICAgaWYgKGlzQmlnSW50NjRBcnJh
eVNwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQorICAgICAgICByZXR1cm4gIjxCaWdJbnQ2NGFycmF5
PiI7CisgICAgaWYgKGlzQmlnVWludDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKKyAg
ICAgICAgcmV0dXJuICI8QmlnVWludDY0YXJyYXk+IjsKICAgICBpZiAoaXNEaXJlY3RBcmd1bWVu
dHNTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKICAgICAgICAgcmV0dXJuICI8RGlyZWN0QXJndW1l
bnRzPiI7CiAgICAgaWYgKGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24ocHJlZGljdGlvbikp
CkBAIC00MjQsNiArNDM4LDEwIEBAIFNwZWN1bGF0ZWRUeXBlIHNwZWN1bGF0aW9uRnJvbVR5cGVk
QXJyYXlUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBTcGVjRmxvYXQz
MkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgIHJldHVybiBTcGVjRmxvYXQ2
NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gU3BlY0JpZ0lu
dDY0QXJyYXk7CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gU3BlY0Jp
Z1VpbnQ2NEFycmF5OwogICAgIGNhc2UgTm90VHlwZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRh
VmlldzoKICAgICAgICAgYnJlYWs7CkBAIC02NTYsNiArNjc0LDEyIEBAIFR5cGVkQXJyYXlUeXBl
IHR5cGVkQXJyYXlUeXBlRnJvbVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHR5cGUpCiAgICAg
ICAgIAogICAgIGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQogICAgICAgICBy
ZXR1cm4gVHlwZUZsb2F0NjQ7CisKKyAgICBpZiAoaXNCaWdJbnQ2NEFycmF5U3BlY3VsYXRpb24o
dHlwZSkpCisgICAgICAgIHJldHVybiBUeXBlQmlnSW50NjQ7CisKKyAgICBpZiAoaXNCaWdVaW50
NjRBcnJheVNwZWN1bGF0aW9uKHR5cGUpKQorICAgICAgICByZXR1cm4gVHlwZUJpZ1VpbnQ2NDsK
ICAgICAKICAgICByZXR1cm4gTm90VHlwZWRBcnJheTsKIH0KQEAgLTkwMiw2ICs5MjYsMTAgQEAg
U3BlY3VsYXRlZFR5cGUgc3BlY3VsYXRpb25Gcm9tU3RyaW5nKGNvbnN0IGNoYXIqIHNwZWN1bGF0
aW9uKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0MzJBcnJheTsKICAgICBpZiAoIXN0cm5jbXAo
c3BlY3VsYXRpb24sICJTcGVjRmxvYXQ2NEFycmF5Iiwgc3RybGVuKCJTcGVjRmxvYXQ2NEFycmF5
IikpKQogICAgICAgICByZXR1cm4gU3BlY0Zsb2F0NjRBcnJheTsKKyAgICBpZiAoIXN0cm5jbXAo
c3BlY3VsYXRpb24sICJTcGVjQmlnSW50NjRBcnJheSIsIHN0cmxlbigiU3BlY0JpZ0ludDY0QXJy
YXkiKSkpCisgICAgICAgIHJldHVybiBTcGVjQmlnSW50NjRBcnJheTsKKyAgICBpZiAoIXN0cm5j
bXAoc3BlY3VsYXRpb24sICJTcGVjQmlnVWludDY0QXJyYXkiLCBzdHJsZW4oIlNwZWNCaWdVaW50
NjRBcnJheSIpKSkKKyAgICAgICAgcmV0dXJuIFNwZWNCaWdVaW50NjRBcnJheTsKICAgICBpZiAo
IXN0cm5jbXAoc3BlY3VsYXRpb24sICJTcGVjVHlwZWRBcnJheVZpZXciLCBzdHJsZW4oIlNwZWNU
eXBlZEFycmF5VmlldyIpKSkKICAgICAgICAgcmV0dXJuIFNwZWNUeXBlZEFycmF5VmlldzsKICAg
ICBpZiAoIXN0cm5jbXAoc3BlY3VsYXRpb24sICJTcGVjRGlyZWN0QXJndW1lbnRzIiwgc3RybGVu
KCJTcGVjRGlyZWN0QXJndW1lbnRzIikpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1NwZWN1bGF0ZWRUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaAppbmRleCA4M2U2ODM1Y2QxYzFjYzhjNWJmZWFmZDM4NjJk
NWZkMTU1MDY0ODg5Li5kNTkwNmY1NzllMWJlYzNmZDRiMTNiMzYxNjc4N2E1YzdlYzFhYWU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuaApA
QCAtNTEsNDAgKzUxLDQyIEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Vp
bnQ4QXJyYXkgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwKIHN0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1VpbnQ4Q2xhbXBlZEFycmF5ICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgODsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIFVpbnQ4Q2xhbXBlZEFycmF5IG9yIG9u
ZSBvZiBpdHMgc3ViY2xhc3Nlcy4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y1VpbnQxNkFycmF5ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgOTsgLy8gSXQncyBk
ZWZpbml0ZWx5IGFuIFVpbnQxNkFycmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KIHN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1VpbnQzMkFycmF5ICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMTA7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBVaW50MzJBcnJheSBv
ciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBl
IFNwZWNGbG9hdDMyQXJyYXkgICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDExOyAvLyBJ
dCdzIGRlZmluaXRlbHkgYW4gVWludDE2QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgot
c3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRmxvYXQ2NEFycmF5ICAgICAgICAg
ICAgICAgICAgICAgID0gMXVsbCA8PCAxMjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIFVpbnQxNkFy
cmF5IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY1R5cGVkQXJyYXlWaWV3ICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQ4QXJy
YXkgfCBTcGVjSW50MTZBcnJheSB8IFNwZWNJbnQzMkFycmF5IHwgU3BlY1VpbnQ4QXJyYXkgfCBT
cGVjVWludDhDbGFtcGVkQXJyYXkgfCBTcGVjVWludDE2QXJyYXkgfCBTcGVjVWludDMyQXJyYXkg
fCBTcGVjRmxvYXQzMkFycmF5IHwgU3BlY0Zsb2F0NjRBcnJheTsKLXN0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0RpcmVjdEFyZ3VtZW50cyAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMTM7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERpcmVjdEFyZ3VtZW50cyBvYmplY3QuCi1z
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTY29wZWRBcmd1bWVudHMgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDE0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTY29wZWRBcmd1
bWVudHMgb2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU3RyaW5n
T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNTsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgU3RyaW5nT2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
UmVnRXhwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNjsgLy8gSXQncyBk
ZWZpbml0ZWx5IGEgUmVnRXhwT2JqZWN0IChhbmQgbm90IGFueSBzdWJjbGFzcyBvZiBSZWdFeHBP
YmplY3QpLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRGF0ZU9iamVjdCAg
ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNzsgLy8gSXQncyBkZWZpbml0ZWx5IGEg
RGF0ZSBvYmplY3Qgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjUHJvbWlzZU9iamVjdCAgICAgICAgICAgICAgICAgICAgID0gMXVs
bCA8PCAxODsgLy8gSXQncyBkZWZpbml0ZWx5IGEgUHJvbWlzZSBvYmplY3Qgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjTWFwT2Jq
ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxOTsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgTWFwIG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1zdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTZXRPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDIwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBTZXQgb2JqZWN0IG9yIG9uZSBvZiBp
dHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtN
YXBPYmplY3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjE7IC8vIEl0J3MgZGVmaW5p
dGVseSBhIFdlYWtNYXAgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1dlYWtTZXRPYmplY3QgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMjI7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFdlYWtTZXQgb2JqZWN0IG9y
IG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUg
U3BlY1Byb3h5T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjM7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIFByb3h5IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCi1z
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEZXJpdmVkQXJyYXkgICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDI0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBEZXJpdmVkQXJy
YXkgb2JqZWN0Lgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT2JqZWN0T3Ro
ZXIgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNTsgLy8gSXQncyBkZWZpbml0ZWx5
IGFuIG9iamVjdCBidXQgbm90IEpTRmluYWxPYmplY3QsIEpTQXJyYXksIG9yIEpTRnVuY3Rpb24u
Ci1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdJZGVudCAgICAgICAg
ICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI2OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmlu
ZywgYW5kIGl0J3MgYW4gaWRlbnRpZmllci4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY1N0cmluZ1ZhciAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjc7IC8v
IEl0J3MgZGVmaW5pdGVseSBhIEpTU3RyaW5nLCBhbmQgaXQncyBub3QgYW4gaWRlbnRpZmllci4K
K3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0Zsb2F0MzJBcnJheSAgICAgICAg
ICAgICAgICAgICAgICA9IDF1bGwgPDwgMTE7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBGbG9hdDMy
QXJyYXkgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRmxvYXQ2NEFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAx
MjsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEZsb2F0NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNs
YXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQ2NEFycmF5
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDEzOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
QmlnSW50NjRBcnJheSBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHBy
IFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdVaW50NjRBcnJheSAgICAgICAgICAgICAgICAgICAgPSAx
dWxsIDw8IDE0OyAvLyBJdCdzIGRlZmluaXRlbHkgYW4gQmlnVWludDY0QXJyYXkgb3Igb25lIG9m
IGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjVHlw
ZWRBcnJheVZpZXcgICAgICAgICAgICAgICAgICAgID0gU3BlY0ludDhBcnJheSB8IFNwZWNJbnQx
NkFycmF5IHwgU3BlY0ludDMyQXJyYXkgfCBTcGVjVWludDhBcnJheSB8IFNwZWNVaW50OENsYW1w
ZWRBcnJheSB8IFNwZWNVaW50MTZBcnJheSB8IFNwZWNVaW50MzJBcnJheSB8IFNwZWNGbG9hdDMy
QXJyYXkgfCBTcGVjRmxvYXQ2NEFycmF5IHwgU3BlY0JpZ0ludDY0QXJyYXkgfCBTcGVjQmlnVWlu
dDY0QXJyYXk7CitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEaXJlY3RBcmd1
bWVudHMgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDE1OyAvLyBJdCdzIGRlZmluaXRlbHkg
YSBEaXJlY3RBcmd1bWVudHMgb2JqZWN0Lgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjU2NvcGVkQXJndW1lbnRzICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAxNjsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgU2NvcGVkQXJndW1lbnRzIG9iamVjdC4KK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N0cmluZ09iamVjdCAgICAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMTc7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN0cmluZ09iamVjdC4KK3N0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1JlZ0V4cE9iamVjdCAgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMTg7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFJlZ0V4cE9iamVjdCAoYW5k
IG5vdCBhbnkgc3ViY2xhc3Mgb2YgUmVnRXhwT2JqZWN0KS4KK3N0YXRpYyBjb25zdGV4cHIgU3Bl
Y3VsYXRlZFR5cGUgU3BlY0RhdGVPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwg
PDwgMTk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIERhdGUgb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3Vi
Y2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1Byb21pc2VPYmpl
Y3QgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMjA7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IFByb21pc2Ugb2JqZWN0IG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK3N0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01hcE9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgICA9
IDF1bGwgPDwgMjE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIE1hcCBvYmplY3Qgb3Igb25lIG9mIGl0
cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjU2V0T2Jq
ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyMjsgLy8gSXQncyBkZWZpbml0
ZWx5IGEgU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNXZWFrTWFwT2JqZWN0ICAgICAgICAgICAgICAgICAgICAg
PSAxdWxsIDw8IDIzOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBXZWFrTWFwIG9iamVjdCBvciBvbmUg
b2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNX
ZWFrU2V0T2JqZWN0ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDI0OyAvLyBJdCdzIGRl
ZmluaXRlbHkgYSBXZWFrU2V0IG9iamVjdCBvciBvbmUgb2YgaXRzIHN1YmNsYXNzZXMuCitzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNQcm94eU9iamVjdCAgICAgICAgICAgICAg
ICAgICAgICAgPSAxdWxsIDw8IDI1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBQcm94eSBvYmplY3Qg
b3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjRGVyaXZlZEFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyNjsgLy8g
SXQncyBkZWZpbml0ZWx5IGEgRGVyaXZlZEFycmF5IG9iamVjdC4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY09iamVjdE90aGVyICAgICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMjc7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBvYmplY3QgYnV0IG5vdCBKU0ZpbmFsT2Jq
ZWN0LCBKU0FycmF5LCBvciBKU0Z1bmN0aW9uLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjU3RyaW5nSWRlbnQgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAyODsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgSlNTdHJpbmcsIGFuZCBpdCdzIGFuIGlkZW50aWZpZXIuCitz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTdHJpbmdWYXIgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxdWxsIDw8IDI5OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZywg
YW5kIGl0J3Mgbm90IGFuIGlkZW50aWZpZXIuCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRU
eXBlIFNwZWNTdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjU3RyaW5nSWRl
bnQgfCBTcGVjU3RyaW5nVmFyOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBKU1N0cmluZy4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY1N5bWJvbCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjg7IC8vIEl0J3MgZGVmaW5pdGVseSBhIFN5bWJvbC4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0NlbGxPdGhlciAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMjk7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbCBidXQgbm90
IGEgc3ViY2xhc3Mgb2YgSlNPYmplY3QgYW5kIGRlZmluaXRlbHkgbm90IGEgSlNTdHJpbmcsIEJp
Z0ludCwgb3IgU3ltYm9sLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjQm9v
bEludDMyICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzMDsgLy8gSXQncyBkZWZp
bml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgMCBvciAxLgotc3RhdGljIGNvbnN0ZXhwciBTcGVj
dWxhdGVkVHlwZSBTcGVjTm9uQm9vbEludDMyICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8
PCAzMTsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIEludDMyIHdpdGggdmFsdWUgb3RoZXIgdGhhbiAw
IG9yIDEuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNTeW1ib2wgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBT
eW1ib2wuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNDZWxsT3RoZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDMxOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBK
U0NlbGwgYnV0IG5vdCBhIHN1YmNsYXNzIG9mIEpTT2JqZWN0IGFuZCBkZWZpbml0ZWx5IG5vdCBh
IEpTU3RyaW5nLCBCaWdJbnQsIG9yIFN5bWJvbC4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY0Jvb2xJbnQzMiAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzI7
IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVlIDAgb3IgMS4KK3N0YXRpYyBj
b25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkJvb2xJbnQzMiAgICAgICAgICAgICAgICAg
ICAgICA9IDF1bGwgPDwgMzM7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMiB3aXRoIHZhbHVl
IG90aGVyIHRoYW4gMCBvciAxLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
SW50MzJPbmx5ICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0Jvb2xJbnQzMiB8IFNwZWNO
b25Cb29sSW50MzI7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQzMi4KIAotc3RhdGljIGNvbnN0
ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjSW50MzJBc0ludDUyICAgICAgICAgICAgICAgICAgICAg
ID0gMXVsbCA8PCAzMjsgLy8gSXQncyBhbiBJbnQ1MiBhbmQgaXQgY2FuIGZpdCBpbiBhbiBpbnQz
Mi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludDMyQXNJbnQ1MiAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzM7IC8vIEl0J3MgYW4gSW50NTIgYW5kIGl0IGNh
bid0IGZpdCBpbiBhbiBpbnQzMi4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3Bl
Y0ludDMyQXNJbnQ1MiAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzQ7IC8vIEl0J3Mg
YW4gSW50NTIgYW5kIGl0IGNhbiBmaXQgaW4gYW4gaW50MzIuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnQzMkFzSW50NTIgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDM1OyAvLyBJdCdzIGFuIEludDUyIGFuZCBpdCBjYW4ndCBmaXQgaW4gYW4gaW50MzIuCiBz
dGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnQ1MkFueSAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSBTcGVjSW50MzJBc0ludDUyIHwgU3BlY05vbkludDMyQXNJbnQ1MjsgLy8g
SXQncyBhbnkga2luZCBvZiBJbnQ1Mi4KIAotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlw
ZSBTcGVjQW55SW50QXNEb3VibGUgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzNDsgLy8g
SXQncyBkZWZpbml0ZWx5IGFuIEludDUyIGFuZCBpdCdzIGluc2lkZSBhIGRvdWJsZS4KLXN0YXRp
YyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY05vbkludEFzRG91YmxlICAgICAgICAgICAg
ICAgICAgICA9IDF1bGwgPDwgMzU7IC8vIEl0J3MgZGVmaW5pdGVseSBub3QgYW4gSW50NTIgYnV0
IGl0J3MgYSByZWFsIG51bWJlciBhbmQgaXQncyBhIGRvdWJsZS4KK3N0YXRpYyBjb25zdGV4cHIg
U3BlY3VsYXRlZFR5cGUgU3BlY0FueUludEFzRG91YmxlICAgICAgICAgICAgICAgICAgICA9IDF1
bGwgPDwgMzY7IC8vIEl0J3MgZGVmaW5pdGVseSBhbiBJbnQ1MiBhbmQgaXQncyBpbnNpZGUgYSBk
b3VibGUuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNOb25JbnRBc0RvdWJs
ZSAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM3OyAvLyBJdCdzIGRlZmluaXRlbHkgbm90
IGFuIEludDUyIGJ1dCBpdCdzIGEgcmVhbCBudW1iZXIgYW5kIGl0J3MgYSBkb3VibGUuCiBzdGF0
aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVSZWFsICAgICAgICAgICAgICAg
ICAgICAgICAgPSBTcGVjTm9uSW50QXNEb3VibGUgfCBTcGVjQW55SW50QXNEb3VibGU7IC8vIEl0
J3MgZGVmaW5pdGVseSBhIG5vbi1OYU4gZG91YmxlLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjRG91YmxlUHVyZU5hTiAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAz
NjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOIHRoYXQgaXMgc2FmZSB0byB0YWcgKGkuZS4gcHVy
ZSkuCi1zdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVJbXB1cmVOYU4g
ICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDM3OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4g
dGhhdCBpcyB1bnNhZmUgdG8gdGFnIChpLmUuIGltcHVyZSkuCitzdGF0aWMgY29uc3RleHByIFNw
ZWN1bGF0ZWRUeXBlIFNwZWNEb3VibGVQdXJlTmFOICAgICAgICAgICAgICAgICAgICAgPSAxdWxs
IDw8IDM4OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBOYU4gdGhhdCBpcyBzYWZlIHRvIHRhZyAoaS5l
LiBwdXJlKS4KK3N0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZUltcHVy
ZU5hTiAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzk7IC8vIEl0J3MgZGVmaW5pdGVseSBh
IE5hTiB0aGF0IGlzIHVuc2FmZSB0byB0YWcgKGkuZS4gaW1wdXJlKS4KIHN0YXRpYyBjb25zdGV4
cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RvdWJsZU5hTiAgICAgICAgICAgICAgICAgICAgICAgICA9
IFNwZWNEb3VibGVQdXJlTmFOIHwgU3BlY0RvdWJsZUltcHVyZU5hTjsgLy8gSXQncyBkZWZpbml0
ZWx5IHNvbWUga2luZCBvZiBOYU4uCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNw
ZWNCeXRlY29kZURvdWJsZSAgICAgICAgICAgICAgICAgICAgPSBTcGVjRG91YmxlUmVhbCB8IFNw
ZWNEb3VibGVQdXJlTmFOOyAvLyBJdCdzIGVpdGhlciBhIG5vbi1OYU4gb3IgYSBOYU4gZG91Ymxl
LCBidXQgaXQncyBkZWZpbml0ZWx5IG5vdCBpbXB1cmUgTmFOLgogc3RhdGljIGNvbnN0ZXhwciBT
cGVjdWxhdGVkVHlwZSBTcGVjRnVsbERvdWJsZSAgICAgICAgICAgICAgICAgICAgICAgID0gU3Bl
Y0RvdWJsZVJlYWwgfCBTcGVjRG91YmxlTmFOOyAvLyBJdCdzIGVpdGhlciBhIG5vbi1OYU4gb3Ig
YSBOYU4gZG91YmxlLgpAQCAtOTQsMTkgKzk2LDE5IEBAIHN0YXRpYyBjb25zdGV4cHIgU3BlY3Vs
YXRlZFR5cGUgU3BlY0J5dGVjb2RlTnVtYmVyICAgICAgICAgICAgICAgICAgICA9IFNwZWNJbnQz
CiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNJbnRBbnlGb3JtYXQgICAgICAg
ICAgICAgICAgICAgICAgPSBTcGVjSW50NTJBbnkgfCBTcGVjSW50MzJPbmx5IHwgU3BlY0FueUlu
dEFzRG91YmxlOwogCiBzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNGdWxsTnVt
YmVyICAgICAgICAgICAgICAgICAgICAgICAgPSBTcGVjSW50QW55Rm9ybWF0IHwgU3BlY0Z1bGxE
b3VibGU7IC8vIEl0J3MgZWl0aGVyIGFuIEludDMyLCBJbnQ1Miwgb3IgYSBEb3VibGUsIGFuZCB0
aGUgRG91YmxlIGNhbiBiZSBpbXB1cmUgTmFOLgotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVk
VHlwZSBTcGVjQm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCAzODsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgQm9vbGVhbi4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRl
ZFR5cGUgU3BlY090aGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgMzk7
IC8vIEl0J3MgZGVmaW5pdGVseSBlaXRoZXIgTnVsbCBvciBVbmRlZmluZWQuCitzdGF0aWMgY29u
c3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCb29sZWFuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxdWxsIDw8IDQwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBCb29sZWFuLgorc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjT3RoZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCA0MTsgLy8gSXQncyBkZWZpbml0ZWx5IGVpdGhlciBOdWxsIG9yIFVuZGVm
aW5lZC4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY01pc2MgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IFNwZWNCb29sZWFuIHwgU3BlY090aGVyOyAvLyBJdCdzIGRl
ZmluaXRlbHkgZWl0aGVyIGEgYm9vbGVhbiwgTnVsbCwgb3IgVW5kZWZpbmVkLgotc3RhdGljIGNv
bnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjRW1wdHkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMXVsbCA8PCA0MDsgLy8gSXQncyBkZWZpbml0ZWx5IGFuIGVtcHR5IHZhbHVlIG1hcmtl
ci4KLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0hlYXBCaWdJbnQgICAgICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDE7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEJpZ0lu
dCB0aGF0IGlzIGFsbG9jYXRlZCBvbiB0aGUgaGVhcAotc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxh
dGVkVHlwZSBTcGVjQmlnSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA0
MjsgLy8gSXQncyBkZWZpbml0ZWx5IGEgc21hbGwgQmlnSW50IHRoYXQgaXMgaW5saW5lIHRoZSBK
U1ZhbHVlCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNFbXB0eSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQyOyAvLyBJdCdzIGRlZmluaXRlbHkgYW4g
ZW1wdHkgdmFsdWUgbWFya2VyLgorc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
SGVhcEJpZ0ludCAgICAgICAgICAgICAgICAgICAgICAgID0gMXVsbCA8PCA0MzsgLy8gSXQncyBk
ZWZpbml0ZWx5IGEgQmlnSW50IHRoYXQgaXMgYWxsb2NhdGVkIG9uIHRoZSBoZWFwCitzdGF0aWMg
Y29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQzMiAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxdWxsIDw8IDQ0OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBzbWFsbCBCaWdJbnQgdGhh
dCBpcyBpbmxpbmUgdGhlIEpTVmFsdWUKICNpZiBVU0UoQklHSU5UMzIpCiBzdGF0aWMgY29uc3Rl
eHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNCaWdJbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSBTcGVjQmlnSW50MzIgfCBTcGVjSGVhcEJpZ0ludDsKICNlbHNlCiAvLyBXZSBzaG91bGQgbm90
IGluY2x1ZGUgU3BlY0JpZ0ludDMyLiBXZSBhcmUgdXNpbmcgU3BlY0JpZ0ludCBpbiB2YXJpb3Vz
IHBsYWNlcyBsaWtlIHByZWRpY3Rpb24uIElmIHRoaXMgaW5jbHVkZXMgU3BlY0JpZ0ludDMyLCBm
aXh1cCBwaGFzZSBpcyBjb25mdXNlZCBpZiAhVVNFKEJJR0lOVDMyKSBzaW5jZSBpdCBpcyBub3Qg
dXNpbmcgQW55QmlnSW50VXNlLgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVj
QmlnSW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY0hlYXBCaWdJbnQ7CiAjZW5k
aWYKLXN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY0RhdGFWaWV3T2JqZWN0ICAg
ICAgICAgICAgICAgICAgICA9IDF1bGwgPDwgNDM7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTRGF0
YVZpZXcuCitzdGF0aWMgY29uc3RleHByIFNwZWN1bGF0ZWRUeXBlIFNwZWNEYXRhVmlld09iamVj
dCAgICAgICAgICAgICAgICAgICAgPSAxdWxsIDw8IDQ1OyAvLyBJdCdzIGRlZmluaXRlbHkgYSBK
U0RhdGFWaWV3Lgogc3RhdGljIGNvbnN0ZXhwciBTcGVjdWxhdGVkVHlwZSBTcGVjUHJpbWl0aXZl
ICAgICAgICAgICAgICAgICAgICAgICAgID0gU3BlY1N0cmluZyB8IFNwZWNTeW1ib2wgfCBTcGVj
Qnl0ZWNvZGVOdW1iZXIgfCBTcGVjTWlzYyB8IFNwZWNCaWdJbnQ7IC8vIEl0J3MgYW55IG5vbi1P
YmplY3QgSlNWYWx1ZS4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5cGUgU3BlY09iamVj
dCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNGaW5hbE9iamVjdCB8IFNwZWNBcnJh
eSB8IFNwZWNGdW5jdGlvbiB8IFNwZWNUeXBlZEFycmF5VmlldyB8IFNwZWNEaXJlY3RBcmd1bWVu
dHMgfCBTcGVjU2NvcGVkQXJndW1lbnRzIHwgU3BlY1N0cmluZ09iamVjdCB8IFNwZWNSZWdFeHBP
YmplY3QgfCBTcGVjRGF0ZU9iamVjdCB8IFNwZWNQcm9taXNlT2JqZWN0IHwgU3BlY01hcE9iamVj
dCB8IFNwZWNTZXRPYmplY3QgfCBTcGVjV2Vha01hcE9iamVjdCB8IFNwZWNXZWFrU2V0T2JqZWN0
IHwgU3BlY1Byb3h5T2JqZWN0IHwgU3BlY0Rlcml2ZWRBcnJheSB8IFNwZWNPYmplY3RPdGhlciB8
IFNwZWNEYXRhVmlld09iamVjdDsgLy8gQml0bWFzayB1c2VkIGZvciB0ZXN0aW5nIGZvciBhbnkg
a2luZCBvZiBvYmplY3QgcHJlZGljdGlvbi4KIHN0YXRpYyBjb25zdGV4cHIgU3BlY3VsYXRlZFR5
cGUgU3BlY0NlbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFNwZWNPYmplY3QgfCBT
cGVjU3RyaW5nIHwgU3BlY1N5bWJvbCB8IFNwZWNDZWxsT3RoZXIgfCBTcGVjSGVhcEJpZ0ludDsg
Ly8gSXQncyBkZWZpbml0ZWx5IGEgSlNDZWxsLgpAQCAtMjg3LDUxICsyODksMjQgQEAgaW5saW5l
IGJvb2wgaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKICAg
ICByZXR1cm4gdmFsdWUgPT0gU3BlY0Zsb2F0NjRBcnJheTsKIH0KIAotaW5saW5lIGJvb2wgaXNE
aXJlY3RBcmd1bWVudHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGluZSBi
b29sIGlzQmlnSW50NjRBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQogewot
ICAgIHJldHVybiB2YWx1ZSA9PSBTcGVjRGlyZWN0QXJndW1lbnRzOworICAgIHJldHVybiB2YWx1
ZSA9PSBTcGVjQmlnSW50NjRBcnJheTsKIH0KIAotaW5saW5lIGJvb2wgaXNTY29wZWRBcmd1bWVu
dHNTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lubGluZSBib29sIGlzQmlnVWlu
dDY0QXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4g
dmFsdWUgPT0gU3BlY1Njb3BlZEFyZ3VtZW50czsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0Jp
Z1VpbnQ2NEFycmF5OwogfQogCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVJbnRNdXRhYmxlQXJy
YXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKLXsKLSAgICByZXR1cm4gaXNJbnQ4
QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNJbnQxNkFycmF5U3BlY3VsYXRp
b24odmFsdWUpCi0gICAgICAgIHx8IGlzSW50MzJBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAg
ICAgICB8fCBpc1VpbnQ4QXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNVaW50
OENsYW1wZWRBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAgICAgICB8fCBpc1VpbnQxNkFycmF5
U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzVWludDMyQXJyYXlTcGVjdWxhdGlvbih2
YWx1ZSk7Ci19Ci0KLWlubGluZSBib29sIGlzQWN0aW9uYWJsZUZsb2F0TXV0YWJsZUFycmF5U3Bl
Y3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFsdWUpCi17Ci0gICAgcmV0dXJuIGlzRmxvYXQzMkFy
cmF5U3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzRmxvYXQ2NEFycmF5U3BlY3VsYXRp
b24odmFsdWUpOwotfQotCi1pbmxpbmUgYm9vbCBpc0FjdGlvbmFibGVUeXBlZE11dGFibGVBcnJh
eVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZhbHVlKQotewotICAgIHJldHVybiBpc0FjdGlv
bmFibGVJbnRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSkKLSAgICAgICAgfHwgaXNBY3Rp
b25hYmxlRmxvYXRNdXRhYmxlQXJyYXlTcGVjdWxhdGlvbih2YWx1ZSk7Ci19Ci0KLWlubGluZSBi
b29sIGlzQWN0aW9uYWJsZU11dGFibGVBcnJheVNwZWN1bGF0aW9uKFNwZWN1bGF0ZWRUeXBlIHZh
bHVlKQoraW5saW5lIGJvb2wgaXNEaXJlY3RBcmd1bWVudHNTcGVjdWxhdGlvbihTcGVjdWxhdGVk
VHlwZSB2YWx1ZSkKIHsKLSAgICByZXR1cm4gaXNBcnJheVNwZWN1bGF0aW9uKHZhbHVlKQotICAg
ICAgICB8fCBpc0FjdGlvbmFibGVUeXBlZE11dGFibGVBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsK
KyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY0RpcmVjdEFyZ3VtZW50czsKIH0KIAotaW5saW5lIGJv
b2wgaXNBY3Rpb25hYmxlQXJyYXlTcGVjdWxhdGlvbihTcGVjdWxhdGVkVHlwZSB2YWx1ZSkKK2lu
bGluZSBib29sIGlzU2NvcGVkQXJndW1lbnRzU3BlY3VsYXRpb24oU3BlY3VsYXRlZFR5cGUgdmFs
dWUpCiB7Ci0gICAgcmV0dXJuIGlzU3RyaW5nU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8
IGlzRGlyZWN0QXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzU2NvcGVk
QXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUpCi0gICAgICAgIHx8IGlzQWN0aW9uYWJsZU11dGFi
bGVBcnJheVNwZWN1bGF0aW9uKHZhbHVlKTsKKyAgICByZXR1cm4gdmFsdWUgPT0gU3BlY1Njb3Bl
ZEFyZ3VtZW50czsKIH0KIAogaW5saW5lIGJvb2wgaXNBcnJheU9yT3RoZXJTcGVjdWxhdGlvbihT
cGVjdWxhdGVkVHlwZSB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA3YjViNjg0NTg4NWE0
NWQzMmNmOTAyMmMwOTBlYWFmZWU4NzNkNmJkLi5lODQ4MmJkYmE5N2UyMjAzYjBjYmVhODE0MTlk
MGJkNjQ1ZmVkNjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0zNjQ3LDYgKzM2NDcsMTIgQEAg
Ym9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5
OgogICAgICAgICAgICAgZmlsdGVyKG5vZGUtPmNoaWxkMSgpLCBTcGVjRmxvYXQ2NEFycmF5IHwg
YWRtaXR0ZWRUeXBlcyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcnJheTo6
QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY0Jp
Z0ludDY0QXJyYXkgfCBhZG1pdHRlZFR5cGVzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgICAgIGZpbHRlcihub2RlLT5j
aGlsZDEoKSwgU3BlY0JpZ1VpbnQ2NEFycmF5IHwgYWRtaXR0ZWRUeXBlcyk7CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAgICAg
IGZpbHRlcihub2RlLT5jaGlsZDEoKSwgU3BlY1R5cGVkQXJyYXlWaWV3IHwgYWRtaXR0ZWRUeXBl
cyk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJy
YXlNb2RlLmNwcAppbmRleCBjNzljZGE0NGY5ODRiM2I0Y2RmYWEwZWRlZWNhYWI1NGFhODc4NTIx
Li42ZTRmZTlhZmEzZWI3MWMzODk3MTA3NzY1ZjRjNDRmYTVkZGJiZDViIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCkBAIC0xNDUsNiArMTQ1LDEwIEBAIEFy
cmF5TW9kZSBBcnJheU1vZGU6OmZyb21PYnNlcnZlZChjb25zdCBDb25jdXJyZW50SlNMb2NrZXIm
IGxvY2tlciwgQXJyYXlQcm9maWxlCiAgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkZs
b2F0MzJBcnJheSwgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxlKGxv
Y2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOwogICAgIGNhc2UgRmxvYXQ2NEFycmF5TW9kZToKICAg
ICAgICAgcmV0dXJuIEFycmF5TW9kZShBcnJheTo6RmxvYXQ2NEFycmF5LCBub25BcnJheSwgQXJy
YXk6OkFzSXMsIGFjdGlvbikud2l0aFByb2ZpbGUobG9ja2VyLCBwcm9maWxlLCBtYWtlU2FmZSk7
CisgICAgY2FzZSBCaWdJbnQ2NEFycmF5TW9kZToKKyAgICAgICAgcmV0dXJuIEFycmF5TW9kZShB
cnJheTo6QmlnSW50NjRBcnJheSwgbm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQ
cm9maWxlKGxvY2tlciwgcHJvZmlsZSwgbWFrZVNhZmUpOworICAgIGNhc2UgQmlnVWludDY0QXJy
YXlNb2RlOgorICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpCaWdVaW50NjRBcnJheSwg
bm9uQXJyYXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxlKGxvY2tlciwgcHJvZmls
ZSwgbWFrZVNhZmUpOwogCiAgICAgZGVmYXVsdDoKICAgICAgICAgLy8gSWYgd2UgaGF2ZSBzZWVu
IG11bHRpcGxlIFR5cGVkQXJyYXkgdHlwZXMsIG9yIGEgVHlwZWRBcnJheSBhbmQgbm9uLXR5cGVk
IGFycmF5LCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gdHJ5IHRvIGNvbnZlcnQgdGhlIG9iamVj
dCBzaW5jZSB5b3UgY2FuJ3QgY29udmVydCB0eXBlZCBhcnJheXMuCkBAIC0yODgsMTEgKzI5Miwx
NCBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpyZWZpbmUoCiAgICAgY2FzZSBBcnJheTo6VWludDMy
QXJyYXk6CiAgICAgY2FzZSBBcnJheTo6RmxvYXQzMkFycmF5OgogICAgIGNhc2UgQXJyYXk6OkZs
b2F0NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgIGNhc2UgQXJy
YXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBQdXRCeVZhbCkg
ewogICAgICAgICAgICAgaWYgKGdyYXBoLmhhc0V4aXRTaXRlKG5vZGUtPm9yaWdpbi5zZW1hbnRp
YywgT3V0T2ZCb3VuZHMpIHx8ICFpc0luQm91bmRzKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IHR5cGVkQXJyYXlSZXN1bHQod2l0aFNwZWN1bGF0aW9uKEFycmF5OjpPdXRPZkJvdW5kcykpOwog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiB0eXBlZEFycmF5UmVzdWx0KHdpdGhTcGVjdWxhdGlv
bihBcnJheTo6SW5Cb3VuZHMpKTsKKwogICAgIGNhc2UgQXJyYXk6OlVucHJvZmlsZWQ6CiAgICAg
Y2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9uczogewogICAgICAgICBiYXNlICY9IH5T
cGVjT3RoZXI7CkBAIC0zNTQsNiArMzYxLDEyIEBAIEFycmF5TW9kZSBBcnJheU1vZGU6OnJlZmlu
ZSgKICAgICAgICAgaWYgKGlzRmxvYXQ2NEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCiAgICAgICAg
ICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdChyZXN1bHQud2l0aFR5cGUoQXJyYXk6OkZsb2F0
NjRBcnJheSkpOwogCisgICAgICAgIGlmIChpc0JpZ0ludDY0QXJyYXlTcGVjdWxhdGlvbihiYXNl
KSkKKyAgICAgICAgICAgIHJldHVybiB0eXBlZEFycmF5UmVzdWx0KHJlc3VsdC53aXRoVHlwZShB
cnJheTo6QmlnSW50NjRBcnJheSkpOworCisgICAgICAgIGlmIChpc0JpZ1VpbnQ2NEFycmF5U3Bl
Y3VsYXRpb24oYmFzZSkpCisgICAgICAgICAgICByZXR1cm4gdHlwZWRBcnJheVJlc3VsdChyZXN1
bHQud2l0aFR5cGUoQXJyYXk6OkJpZ1VpbnQ2NEFycmF5KSk7CisKICAgICAgICAgaWYgKHR5cGUo
KSA9PSBBcnJheTo6VW5wcm9maWxlZCkKICAgICAgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJy
YXk6OkZvcmNlRXhpdCwgYWN0aW9uKCkpOwogICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5
OjpHZW5lcmljLCBhY3Rpb24oKSk7CkBAIC02MDUsNiArNjE4LDEyIEBAIGJvb2wgQXJyYXlNb2Rl
OjphbHJlYWR5Q2hlY2tlZChHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IEFic3RyYWN0
VmFsdWUmIHZhCiAgICAgY2FzZSBBcnJheTo6RmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4g
c3BlY3VsYXRpb25DaGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY0Zsb2F0NjRBcnJheSk7CiAKKyAg
ICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5OgorICAgICAgICByZXR1cm4gc3BlY3VsYXRpb25D
aGVja2VkKHZhbHVlLm1fdHlwZSwgU3BlY0JpZ0ludDY0QXJyYXkpOworCisgICAgY2FzZSBBcnJh
eTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgIHJldHVybiBzcGVjdWxhdGlvbkNoZWNrZWQodmFs
dWUubV90eXBlLCBTcGVjQmlnVWludDY0QXJyYXkpOworCiAgICAgY2FzZSBBcnJheTo6QW55VHlw
ZWRBcnJheToKICAgICAgICAgcmV0dXJuIHNwZWN1bGF0aW9uQ2hlY2tlZCh2YWx1ZS5tX3R5cGUs
IFNwZWNUeXBlZEFycmF5Vmlldyk7CiAKQEAgLTY3OSw2ICs2OTgsMTAgQEAgY29uc3QgY2hhciog
YXJyYXlUeXBlVG9TdHJpbmcoQXJyYXk6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJGbG9h
dDMyQXJyYXkiOwogICAgIGNhc2UgQXJyYXk6OkZsb2F0NjRBcnJheToKICAgICAgICAgcmV0dXJu
ICJGbG9hdDY0QXJyYXkiOworICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAg
IHJldHVybiAiQmlnSW50NjRBcnJheSI7CisgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6
CisgICAgICAgIHJldHVybiAiQmlnVWludDY0QXJyYXkiOwogICAgIGNhc2UgQXJyYXk6OkFueVR5
cGVkQXJyYXk6CiAgICAgICAgIHJldHVybiAiQW55VHlwZWRBcnJheSI7CiAgICAgZGVmYXVsdDoK
QEAgLTc4MSw2ICs4MDQsMTAgQEAgVHlwZWRBcnJheVR5cGUgdG9UeXBlZEFycmF5VHlwZShBcnJh
eTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gVHlwZUZsb2F0MzI7CiAgICAgY2FzZSBBcnJh
eTo6RmxvYXQ2NEFycmF5OgogICAgICAgICByZXR1cm4gVHlwZUZsb2F0NjQ7CisgICAgY2FzZSBB
cnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdJbnQ2NDsKKyAgICBj
YXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgcmV0dXJuIFR5cGVCaWdVaW50NjQ7
CiAgICAgY2FzZSBBcnJheTo6QW55VHlwZWRBcnJheToKICAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIE5vdFR5cGVkQXJyYXk7CkBAIC04MTAsNiAr
ODM3LDEwIEBAIEFycmF5OjpUeXBlIHRvQXJyYXlUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAg
ICAgICAgIHJldHVybiBBcnJheTo6RmxvYXQzMkFycmF5OwogICAgIGNhc2UgVHlwZUZsb2F0NjQ6
CiAgICAgICAgIHJldHVybiBBcnJheTo6RmxvYXQ2NEFycmF5OworICAgIGNhc2UgVHlwZUJpZ0lu
dDY0OgorICAgICAgICByZXR1cm4gQXJyYXk6OkJpZ0ludDY0QXJyYXk7CisgICAgY2FzZSBUeXBl
QmlnVWludDY0OgorICAgICAgICByZXR1cm4gQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OwogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIHJldHVybiBBcnJheTo6R2VuZXJpYzsKICAgICB9CkBAIC04NDUsNiAr
ODc2LDggQEAgYm9vbCBwZXJtaXRzQm91bmRzQ2hlY2tMb3dlcmluZyhBcnJheTo6VHlwZSB0eXBl
KQogICAgIGNhc2UgQXJyYXk6OlVpbnQzMkFycmF5OgogICAgIGNhc2UgQXJyYXk6OkZsb2F0MzJB
cnJheToKICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6CisgICAgY2FzZSBBcnJheTo6Qmln
SW50NjRBcnJheToKKyAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICBjYXNlIEFy
cmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0Ogpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgKaW5kZXggMWM1NjMyYTMxZmJk
ZTE5MDM1YzVkMjU2MzczNGE2MzA5YjdkYjAxZC4uMTExMWY4OWY5ZDdiNWI5Nzc3OGMxNmM4ZDU0
NjQwYmVhMzc0NDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
cnJheU1vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5o
CkBAIC03Niw2ICs3Niw4IEBAIGVudW0gVHlwZSA6IHVpbnQ4X3QgewogICAgIFVpbnQzMkFycmF5
LAogICAgIEZsb2F0MzJBcnJheSwKICAgICBGbG9hdDY0QXJyYXksCisgICAgQmlnSW50NjRBcnJh
eSwKKyAgICBCaWdVaW50NjRBcnJheSwKICAgICBBbnlUeXBlZEFycmF5CiB9OwogCkBAIC0zOTMs
NiArMzk1LDggQEAgY2xhc3MgQXJyYXlNb2RlIHsKICAgICAgICAgY2FzZSBBcnJheTo6VWludDMy
QXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0MzJBcnJheToKICAgICAgICAgY2FzZSBB
cnJheTo6RmxvYXQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdJbnQ2NEFycmF5Ogor
ICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRv
dWJsZToKQEAgLTQ3Nyw2ICs0ODEsMTAgQEAgY2xhc3MgQXJyYXlNb2RlIHsKICAgICAgICAgICAg
IHJldHVybiBGbG9hdDMyQXJyYXlNb2RlOwogICAgICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJy
YXk6CiAgICAgICAgICAgICByZXR1cm4gRmxvYXQ2NEFycmF5TW9kZTsKKyAgICAgICAgY2FzZSBB
cnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIHJldHVybiBCaWdJbnQ2NEFycmF5TW9k
ZTsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CisgICAgICAgICAgICByZXR1
cm4gQmlnVWludDY0QXJyYXlNb2RlOwogICAgICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5
OgogICAgICAgICAgICAgcmV0dXJuIEFMTF9UWVBFRF9BUlJBWV9NT0RFUzsKICAgICAgICAgZGVm
YXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggNTRl
MzVlN2M1NjhhNTA2MTk2ZjEzZmE1OTY3NDgzZmU3YWU4NDYwNi4uZTc2NzIzZTc1ZGY5YWU5NDY0
M2ZhYzAzYjllZWIyOTg4NGY4OWZlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKQEAgLTkxNCw2ICs5MTQsOCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdy
YXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJyYXk6Okdl
bmVyaWM6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2Ug
QXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAgY2xvYmJlclRvcCgpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCkBAIC0xMDUxLDYgKzEwNTMsOCBAQCB2b2lkIGNs
b2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVh
ZCwgY29uc3QgV3JpdGVGdQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCiAgICAg
ICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJy
YXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAgY2xv
YmJlclRvcCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCBjMmE0NWQwNDhkODc3YTRj
N2NhOGExMmRlMzI1N2IzYjUwODkzZTQzLi4zNmY2YmZjYzk5OGYwMDhmNDQzNjE1MWFmNDAyYjFj
YTAxNjUyZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVw
UGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAKQEAgLTEwNTIsNyArMTA1MiwxOSBAQCBjbGFzcyBGaXh1cFBoYXNlIDogcHVibGljIFBoYXNl
IHsKICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAwKS0+cHJl
ZGljdGlvbigpLAogICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUs
IDEpLT5wcmVkaWN0aW9uKCksCiAgICAgICAgICAgICAgICAgICAgIFNwZWNOb25lKSk7Ci0gICAg
ICAgICAgICAKKworICAgICAgICAgICAgc3dpdGNoIChub2RlLT5hcnJheU1vZGUoKS50eXBlKCkp
IHsKKyAgICAgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgICAgICBj
YXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgICAgICAgICAvLyBNYWtlIGl0IEFy
cmF5OjpHZW5lcmljLgorICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBBZGQgQmlnSW50NjRBcnJh
eSAvIEJpZ1VpbnQ2NEFycmF5IHN1cHBvcnQuCisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE3MgorICAgICAgICAgICAgICAgIG5v
ZGUtPnNldEFycmF5TW9kZShBcnJheU1vZGUoQXJyYXk6OkdlbmVyaWMsIG5vZGUtPmFycmF5TW9k
ZSgpLmFjdGlvbigpKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICBibGVzc0FycmF5T3BlcmF0aW9uKG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMCksIG1fZ3Jh
cGgudmFyQXJnQ2hpbGQobm9kZSwgMSksIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMikpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBBcnJheU1vZGUgYXJyYXlNb2RlID0gbm9kZS0+YXJy
YXlNb2RlKCk7CkBAIC0xMjIzLDYgKzEyMzUsMTggQEAgY2xhc3MgRml4dXBQaGFzZSA6IHB1Ymxp
YyBQaGFzZSB7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkMS0+cHJlZGljdGlvbigpLAogICAg
ICAgICAgICAgICAgICAgICBjaGlsZDItPnByZWRpY3Rpb24oKSwKICAgICAgICAgICAgICAgICAg
ICAgY2hpbGQzLT5wcmVkaWN0aW9uKCkpKTsKKworICAgICAgICAgICAgc3dpdGNoIChub2RlLT5h
cnJheU1vZGUoKS50eXBlKCkpIHsKKyAgICAgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJy
YXk6CisgICAgICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKKyAgICAgICAgICAg
ICAgICAvLyBNYWtlIGl0IEFycmF5OjpHZW5lcmljLgorICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBBZGQgQmlnSW50NjRBcnJheSAvIEJpZ1VpbnQ2NEFycmF5IHN1cHBvcnQuCisgICAgICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE3Mgor
ICAgICAgICAgICAgICAgIG5vZGUtPnNldEFycmF5TW9kZShBcnJheU1vZGUoQXJyYXk6OkdlbmVy
aWMsIG5vZGUtPmFycmF5TW9kZSgpLmFjdGlvbigpKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICBibGVzc0FycmF5T3BlcmF0aW9uKGNoaWxk
MSwgY2hpbGQyLCBtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDMpKTsKICAgICAgICAgICAgIApA
QCAtMTM3MSw2ICsxMzk1LDggQEAgY2xhc3MgRml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBkZWZhdWx0OiB7CiAgICAgICAgICAgICAgICAgLy8g
TWFrZSBpdCBBcnJheTo6R2VuZXJpYy4KKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIEJp
Z0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJheSBzdXBwb3J0LgorICAgICAgICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExNzIKICAgICAgICAg
ICAgICAgICBub2RlLT5zZXRBcnJheU1vZGUoQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljLCBub2Rl
LT5hcnJheU1vZGUoKS5hY3Rpb24oKSkpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5k
ZXggNTI5NmM2ODU2NDIxOGI0Y2Y3Yjg5ZGZiNjE2OTdiZmE5NmQzNWU4Ni4uNTBkZWU5ZGJjMmQ0
NWM2MTc1MjhlOTBiZWQ5YWMwYzAwMmZlZmEzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC0xOTQyLDYgKzE5NDIsMzggQEAgSlNDX0RFRklORV9K
SVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hh
ciosIChKU0dsb2IKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oY29uc3RydWN0
R2VuZXJpY1R5cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50czxKU0Zsb2F0NjRBcnJheT4oZ2xvYmFs
T2JqZWN0LCBzdHJ1Y3R1cmUsIGVuY29kZWRWYWx1ZSwgMCwgV1RGOjpudWxsb3B0KSk7CiB9CiAK
K0pTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdCaWdJbnQ2NEFycmF5V2l0aFNp
emUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGludDMyX3QgbGVuZ3RoLCBjaGFyKiB2ZWN0b3IpKQoreworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IERFQ0xBUkVfQ0FM
TF9GUkFNRSh2bSk7CisgICAgSklUT3BlcmF0aW9uUHJvbG9ndWVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBjYWxsRnJhbWUpOworICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNpemU8SlNC
aWdJbnQ2NEFycmF5PihnbG9iYWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9y
KTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0JpZ0ludDY0QXJy
YXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkpCit7Cisg
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIENhbGxGcmFtZSogY2FsbEZyYW1l
ID0gREVDTEFSRV9DQUxMX0ZSQU1FKHZtKTsKKyAgICBKSVRPcGVyYXRpb25Qcm9sb2d1ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIodm0sIGNhbGxGcmFtZSk7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KGNvbnN0cnVjdEdlbmVyaWNUeXBlZEFycmF5Vmlld1dpdGhBcmd1bWVudHM8
SlNCaWdJbnQ2NEFycmF5PihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgZW5jb2RlZFZhbHVlLCAw
LCBXVEY6Om51bGxvcHQpKTsKK30KKworSlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlv
bk5ld0JpZ1VpbnQ2NEFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3RoLCBjaGFyKiB2ZWN0
b3IpKQoreworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBDYWxsRnJhbWUq
IGNhbGxGcmFtZSA9IERFQ0xBUkVfQ0FMTF9GUkFNRSh2bSk7CisgICAgSklUT3BlcmF0aW9uUHJv
bG9ndWVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBjYWxsRnJhbWUpOworICAgIHJldHVybiBu
ZXdUeXBlZEFycmF5V2l0aFNpemU8SlNCaWdVaW50NjRBcnJheT4oZ2xvYmFsT2JqZWN0LCB2bSwg
c3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvcik7Cit9CisKK0pTQ19ERUZJTkVfSklUX09QRVJBVElP
TihvcGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhPbmVBcmd1bWVudCwgY2hhciosIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgQ2FsbEZyYW1lKiBjYWxsRnJhbWUgPSBERUNMQVJFX0NBTExfRlJBTUUodm0pOworICAg
IEpJVE9wZXJhdGlvblByb2xvZ3VlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgY2FsbEZyYW1l
KTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oY29uc3RydWN0R2VuZXJpY1R5
cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50czxKU0JpZ1VpbnQ2NEFycmF5PihnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSwgZW5jb2RlZFZhbHVlLCAwLCBXVEY6Om51bGxvcHQpKTsKK30KKwogSlNDX0RF
RklORV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbk5ld0FycmF5SXRlcmF0b3IsIEpTQ2VsbCosIChW
TSogdm1Qb2ludGVyLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkpCiB7CiAgICAgVk0mIHZtID0gKnZt
UG9pbnRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0
aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgKaW5kZXgg
OTA5ZTU5MTcxZjJlZWVkZWRiMjc1NmYyY2JlZDA4YTY2OTdjMGU4Ny4uMjIxYjRjNDI3N2FmYjhm
MGRmMjk2YzU1MGJmNDNlMjI0MDNhM2RmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPcGVyYXRpb25zLmgKQEAgLTEzMCw2ICsxMzAsMTAgQEAgSlNDX0RFQ0xBUkVfSklUX09QRVJB
VElPTihvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2JhbE9i
amUKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQzMkFycmF5V2l0
aE9uZUFyZ3VtZW50LCBjaGFyKiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRW5jb2Rl
ZEpTVmFsdWUpKTsKIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3RmxvYXQ2
NEFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBpbnQz
Ml90LCBjaGFyKikpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25OZXdGbG9h
dDY0QXJyYXlXaXRoT25lQXJndW1lbnQsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBFbmNvZGVkSlNWYWx1ZSkpOworSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRp
b25OZXdCaWdJbnQ2NEFycmF5V2l0aFNpemUsIGNoYXIqLCAoSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmUqLCBpbnQzMl90LCBjaGFyKikpOworSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVy
YXRpb25OZXdCaWdJbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFyKiwgKEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiwgRW5jb2RlZEpTVmFsdWUpKTsKK0pTQ19ERUNMQVJFX0pJVF9PUEVS
QVRJT04ob3BlcmF0aW9uTmV3QmlnVWludDY0QXJyYXlXaXRoU2l6ZSwgY2hhciosIChKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIGludDMyX3QsIGNoYXIqKSk7CitKU0NfREVDTEFSRV9KSVRf
T1BFUkFUSU9OKG9wZXJhdGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aE9uZUFyZ3VtZW50LCBjaGFy
KiwgKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgRW5jb2RlZEpTVmFsdWUpKTsKIEpTQ19E
RUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTmV3QXJyYXlJdGVyYXRvciwgSlNDZWxsKiwg
KFZNKiwgU3RydWN0dXJlKikpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25O
ZXdNYXBJdGVyYXRvciwgSlNDZWxsKiwgKFZNKiwgU3RydWN0dXJlKikpOwogSlNDX0RFQ0xBUkVf
SklUX09QRVJBVElPTihvcGVyYXRpb25OZXdTZXRJdGVyYXRvciwgSlNDZWxsKiwgKFZNKiwgU3Ry
dWN0dXJlKikpOwpAQCAtMzYxLDYgKzM2NSwxMCBAQCBpbmxpbmUgYXV0byBvcGVyYXRpb25OZXdU
eXBlZEFycmF5V2l0aFNpemVGb3JUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpIC0+IGRlY2x0eQog
ICAgICAgICByZXR1cm4gb3BlcmF0aW9uTmV3RmxvYXQzMkFycmF5V2l0aFNpemU7CiAgICAgY2Fz
ZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgcmV0dXJuIG9wZXJhdGlvbk5ld0Zsb2F0NjRBcnJheVdp
dGhTaXplOworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gb3BlcmF0aW9u
TmV3QmlnSW50NjRBcnJheVdpdGhTaXplOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAg
ICAgcmV0dXJuIG9wZXJhdGlvbk5ld0JpZ1VpbnQ2NEFycmF5V2l0aFNpemU7CiAgICAgY2FzZSBO
b3RUeXBlZEFycmF5OgogICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICBicmVhazsKQEAg
LTM5MCw2ICszOTgsMTAgQEAgaW5saW5lIGF1dG8gb3BlcmF0aW9uTmV3VHlwZWRBcnJheVdpdGhP
bmVBcmd1bWVudEZvclR5cGUoVHlwZWRBcnJheVR5cGUgdHlwZSkgLT4KICAgICAgICAgcmV0dXJu
IG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhPbmVBcmd1bWVudDsKICAgICBjYXNlIFR5cGVG
bG9hdDY0OgogICAgICAgICByZXR1cm4gb3BlcmF0aW9uTmV3RmxvYXQ2NEFycmF5V2l0aE9uZUFy
Z3VtZW50OworICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgICAgICByZXR1cm4gb3BlcmF0aW9u
TmV3QmlnSW50NjRBcnJheVdpdGhPbmVBcmd1bWVudDsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6
CisgICAgICAgIHJldHVybiBvcGVyYXRpb25OZXdCaWdVaW50NjRBcnJheVdpdGhPbmVBcmd1bWVu
dDsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCBhYjFmZThhZWNhMTM5Y2RiYTg3
NDA4ZDc4MWM1OGEyYzkyOTQyNWZkLi45NmMwODY1YzU2OTMwNTFkMjk5NjdlNGU4YmQ0MzcyODFm
YWQxMjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtNTE1LDYgKzUxNSwxMCBAQCBjbGFz
cyBQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAg
ICBjYXNlIEFycmF5OjpJbnQzMkFycmF5OgogICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVy
Z2VQcmVkaWN0aW9uKFNwZWNJbnQzMk9ubHkpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgICAgIGNhc2UgQXJy
YXk6OkJpZ1VpbnQ2NEFycmF5OgorICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVk
aWN0aW9uKFNwZWNCaWdJbnQpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1lcmdlUHJlZGljdGlvbihub2Rl
LT5nZXRIZWFwUHJlZGljdGlvbigpKTsKICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMGMzMzQy
MjhmMjQ4NDY0NDAzYWQyY2VkOGFlZThjYTY4NWE3MDMyNS4uMzliMjNiNjQxNmYwN2Q1OTQyN2Jl
ODU4MTEwNWE0OTliYTVmOWUzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTE0MzgxLDYgKzE0MzgxLDggQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUhhc0luZGV4ZWRQcm9wZXJ0eShOb2RlKiBub2RlLCBTX0pJVE9wZXJh
dGlvbl9HQ1ogc2wKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGRlZmF1bHQ6IHsKKyAgICAg
ICAgLy8gRklYTUU6IE9wdGltaXplIFR5cGVkQXJyYXlzIGluIEhhc0luZGV4ZWRQcm9wZXJ0eSBJ
QworICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIx
MTgzCiAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQobV9qaXQuanVtcCgpKTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKaW5kZXggOWE5NzcyODFjYzdkOGZlN2I5ODQzMjc4ODE1ZWExNGQ0NjhmZGJj
OS4uYmZlZmIzZDM2NzlmOWI1OGE2OWJmN2RlNjE1NjZlODlhZjdlZWM4NyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0yNjQ4
LDYgKzI2NDgsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSwgVXNlQ2hpbGRyZW5DYWxs
ZWRFeHBsaWNpdGx5KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNh
c2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFy
cmF5OgogICAgICAgICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CiAgICAgICAgICAgICBpZiAobV9n
cmFwaC5tX3Nsb3dHZXRCeVZhbC5jb250YWlucyhub2RlKSkgewogICAgICAgICAgICAgICAgIGlm
IChtX2dyYXBoLnZhckFyZ0NoaWxkKG5vZGUsIDApLnVzZUtpbmQoKSA9PSBPYmplY3RVc2UpIHsK
QEAgLTI5ODAsNiArMjk4Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSog
bm9kZSkKICAgICAgICAgY2FzZSBBcnJheTo6Rm9yY2VFeGl0OgogICAgICAgICAgICAgREZHX0NS
QVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJCYWQgYXJyYXkgbW9kZSB0eXBlIik7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAg
Y2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkdlbmVyaWM6
IHsKICAgICAgICAgICAgIERGR19BU1NFUlQobV9qaXQuZ3JhcGgoKSwgbm9kZSwgbm9kZS0+b3Ao
KSA9PSBQdXRCeVZhbCB8fCBub2RlLT5vcCgpID09IFB1dEJ5VmFsRGlyZWN0LCBub2RlLT5vcCgp
KTsKIApAQCAtMzIxMCw2ICszMjE0LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlKiBub2RlKQogICAgICAgICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ1ByZWRpY3Rpb25zOgog
ICAgICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAgICAgICAgIGNhc2UgQXJyYXk6OlVucHJv
ZmlsZWQ6CisgICAgICAgIGNhc2UgQXJyYXk6OkJpZ0ludDY0QXJyYXk6CisgICAgICAgIGNhc2Ug
QXJyYXk6OkJpZ1VpbnQ2NEFycmF5OgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCBlYTFmMzcyMzljMjg5ZGYxMmNjZDMx
YmVmNGY1NTlkYmE3ZjYxMDVjLi4xY2Y4MjkzYTRkMzRlN2QzMGY3YTZmYjc3MmQwNzM3ZGRmYmE1
NjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3Bw
CkBAIC01MDYzLDYgKzUwNjMsOCBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBBcnJheTo6Qmln
SW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6QmlnVWludDY0QXJyYXk6CiAgICAgICAg
IGNhc2UgQXJyYXk6OkdlbmVyaWM6IHsKICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fc2xvd0dl
dEJ5VmFsLmNvbnRhaW5zKG1fbm9kZSkpIHsKICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC52
YXJBcmdDaGlsZChtX25vZGUsIDApLnVzZUtpbmQoKSA9PSBPYmplY3RVc2UpIHsKQEAgLTUzNTgs
NiArNTM2MCw4IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgIAogICAgICAgICBBcnJh
eU1vZGUgYXJyYXlNb2RlID0gbV9ub2RlLT5hcnJheU1vZGUoKS5tb2RlRm9yUHV0KCk7CiAgICAg
ICAgIHN3aXRjaCAoYXJyYXlNb2RlLnR5cGUoKSkgeworICAgICAgICBjYXNlIEFycmF5OjpCaWdJ
bnQ2NEFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpCaWdVaW50NjRBcnJheToKICAgICAgICAg
Y2FzZSBBcnJheTo6R2VuZXJpYzogewogICAgICAgICAgICAgaWYgKGNoaWxkMS51c2VLaW5kKCkg
PT0gQ2VsbFVzZSkgewogICAgICAgICAgICAgICAgIFZfSklUT3BlcmF0aW9uX0dDQ0ogb3BlcmF0
aW9uID0gbnVsbHB0cjsKQEAgLTU2NDcsNiArNTY1MSw4IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7
CiAgICAgICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6CiAgICAgICAgIGNh
c2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICAgICAgY2FzZSBBcnJheTo6VW5wcm9maWxlZDoKKyAg
ICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6Qmln
VWludDY0QXJyYXk6CiAgICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFwaCwgbV9ub2RlLCAiQmFk
IGFycmF5IHR5cGUiKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3Qu
Y3BwCmluZGV4IGJjYTE4YTI2NDIzOWViZDM3MDBkYTRiYjU0YWRlMTk0YmE0NzI2MWQuLmE5OGJk
ODZiZDYwN2UyMmI0OGRkMDEyZDZjODZkNzc3NzY0MThjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwCkBA
IC0yMjgsNyArMjI4LDkgQEAgSlNWYWx1ZSBKU0luamVjdGVkU2NyaXB0SG9zdDo6c3VidHlwZShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGMKICAgICAgICAgICAgIHx8
IG9iamVjdC0+aW5oZXJpdHM8SlNVaW50MTZBcnJheT4odm0pCiAgICAgICAgICAgICB8fCBvYmpl
Y3QtPmluaGVyaXRzPEpTVWludDMyQXJyYXk+KHZtKQogICAgICAgICAgICAgfHwgb2JqZWN0LT5p
bmhlcml0czxKU0Zsb2F0MzJBcnJheT4odm0pCi0gICAgICAgICAgICB8fCBvYmplY3QtPmluaGVy
aXRzPEpTRmxvYXQ2NEFycmF5Pih2bSkpCisgICAgICAgICAgICB8fCBvYmplY3QtPmluaGVyaXRz
PEpTRmxvYXQ2NEFycmF5Pih2bSkKKyAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNC
aWdJbnQ2NEFycmF5Pih2bSkKKyAgICAgICAgICAgIHx8IG9iamVjdC0+aW5oZXJpdHM8SlNCaWdV
aW50NjRBcnJheT4odm0pKQogICAgICAgICAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyh2
bSwgImFycmF5Il9zKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRQcm9wZXJ0eUFjY2Vzcy5jcHAKaW5kZXggMGJkOWZjNjNhYTk4ZTBmNDlhZjY5ZTYwODc4NDE3
NjU3NjY3YTQzZC4uNTVlYWI2ZDc3MTc5NGRlM2IzOWNiYmRlN2MzZTI0ZGNlZGM1MGVkMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAg
LTE0OTMsOCArMTQ5MywxMyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeVZhbChjb25z
dCBDb25jdXJyZW50SlNMb2NrZXImLCBCeVZhbEluZm8qIGJ5VmFsSW5mbwogICAgICAgICBUeXBl
ZEFycmF5VHlwZSB0eXBlID0gdHlwZWRBcnJheVR5cGVGb3JKSVRBcnJheU1vZGUoYXJyYXlNb2Rl
KTsKICAgICAgICAgaWYgKGlzSW50KHR5cGUpKQogICAgICAgICAgICAgc2xvd0Nhc2VzID0gZW1p
dEludFR5cGVkQXJyYXlQdXRCeVZhbChieXRlY29kZSwgYmFkVHlwZSwgdHlwZSk7Ci0gICAgICAg
IGVsc2UgCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLy8gRklYTUU6IE9wdGltaXplIEJp
Z0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJheSBpbiBJQworICAgICAgICAgICAgLy8gQ3VycmVu
dGx5LCBCaWdJbnQ2NEFycmF5IC8gQmlnVWludDY0QXJyYXkgbmV2ZXIgY29tZXMgaGVyZS4KKyAg
ICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEx
ODMKKyAgICAgICAgICAgIEFTU0VSVChpc0Zsb2F0KHR5cGUpKTsKICAgICAgICAgICAgIHNsb3dD
YXNlcyA9IGVtaXRGbG9hdFR5cGVkQXJyYXlQdXRCeVZhbChieXRlY29kZSwgYmFkVHlwZSwgdHlw
ZSk7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggNTdiNmMxMzNmOGYyN2QzYmQzMGQ1Y2EzOTQxN2Nk
Yzk5MjI1YmMxOC4uOWY0MGE5MDIwYThkMTY1MzdlYjc4ZTA0OTNhMWE4MWFhOTdiNmM1NCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC00OTUsNiArNDk1LDExIEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUFycmF5R2V0QnlWYWwoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgQ29kCiAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDY0OgogICAg
ICAgICAgICAgICAgIGFjY2Vzc1R5cGUgPSBBY2Nlc3NDYXNlOjpJbmRleGVkVHlwZWRBcnJheUZs
b2F0NjRMb2FkOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgLy8gRklYTUU6
IE9wdGltaXplIEJpZ0ludDY0QXJyYXkgLyBCaWdVaW50NjRBcnJheSBpbiBJQworICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTE4MworICAg
ICAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICBjYXNlIFR5cGVCaWdVaW50
NjQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20KaW5kZXggMjU1MmIyNjI5MDRkZGVlNjlkMzlkNmQzODFjZTc4NDA3
MWY0Nzk1ZC4uMzViODYwOGY5ZjY4OGMyYTcwM2M2OWYwMTU0MmM5NWY5MGJmZDU2YiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQpAQCAtNTU2LDYgKzU1Niw3IEBAIGNvbnN0IEZsb2F0NjRBcnJheVR5cGUgPSBjb25zdGV4cHIg
RmxvYXQ2NEFycmF5VHlwZQogCiBjb25zdCBGaXJzdFR5cGVkQXJyYXlUeXBlID0gY29uc3RleHBy
IEZpcnN0VHlwZWRBcnJheVR5cGUKIGNvbnN0IE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVk
aW5nRGF0YVZpZXcgPSBjb25zdGV4cHIgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdE
YXRhVmlldworY29uc3QgTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXNFeGNsdWRpbmdCaWdJbnRBcnJh
eXNBbmREYXRhVmlldyA9IGNvbnN0ZXhwciBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4Y2x1ZGlu
Z0JpZ0ludEFycmF5c0FuZERhdGFWaWV3CiAKICMgVHlwZSBmbGFncyBjb25zdGFudHMuCiBjb25z
dCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkID0gY29uc3RleHByIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQKQEAgLTEyMzMsNyArMTIzNCw3IEBAIG1hY3JvIGdldEJ5VmFsVHlwZWRBcnJheShiYXNlLCBp
bmRleCwgZmluaXNoSW50R2V0QnlWYWwsIGZpbmlzaERvdWJsZUdldEJ5VmFsLCBzCiAgICAgIyBG
aXJzdCBsZXRzIGNoZWNrIGlmIHdlIGV2ZW4gaGF2ZSBhIHR5cGVkIGFycmF5LiBUaGlzIGxldHMg
dXMgZG8gc29tZSBib2lsZXJwbGF0ZSB1cCBmcm9udC4KICAgICBsb2FkYiBKU0NlbGw6Om1fdHlw
ZVtiYXNlXSwgdDIKICAgICBzdWJpIEZpcnN0VHlwZWRBcnJheVR5cGUsIHQyCi0gICAgYmlhZXEg
dDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nRGF0YVZpZXcsIHNsb3dQYXRoCisg
ICAgYmlhZXEgdDIsIE51bWJlck9mVHlwZWRBcnJheVR5cGVzRXhjbHVkaW5nQmlnSW50QXJyYXlz
QW5kRGF0YVZpZXcsIHNsb3dQYXRoCiAgICAgCiAgICAgIyBTd2VldCwgbm93IHdlIGtub3cgdGhh
dCB3ZSBoYXZlIGEgdHlwZWQgYXJyYXkuIERvIHNvbWUgYmFzaWMgdGhpbmdzIG5vdy4KIApAQCAt
MTI2MCw2ICsxMjYxLDggQEAgbWFjcm8gZ2V0QnlWYWxUeXBlZEFycmF5KGJhc2UsIGluZGV4LCBm
aW5pc2hJbnRHZXRCeVZhbCwgZmluaXNoRG91YmxlR2V0QnlWYWwsIHMKICAgICAjICAgIFVpbnQz
MkFycmF5VHlwZSwKICAgICAjICAgIEZsb2F0MzJBcnJheVR5cGUsCiAgICAgIyAgICBGbG9hdDY0
QXJyYXlUeXBlLAorICAgICMKKyAgICAjIFlldCwgd2UgYXJlIG5vdCBzdXBwb3J0aW5nIEJpdElu
dDY0QXJyYXkgYW5kIEJpZ1VpbnQ2NEFycmF5LgogCiAgICAgYmlhIHQyLCBVaW50MTZBcnJheVR5
cGUgLSBGaXJzdFR5cGVkQXJyYXlUeXBlLCAub3BHZXRCeVZhbEFib3ZlVWludDE2QXJyYXkKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcAppbmRl
eCBmMDdlM2FlYjc1NTJhNDA2YmE0NTZhODQyNTUzZjJiZWQxZjBjOGQ1Li4wYWRmYjBkMzU4ZjI4
MDcyMDVlYjJhYmY0ZGMxNDczMzAyYjAzZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmNwcApAQCAtMTI3LDMwICsxMjcsNiBAQCBzdGF0aWMg
dW5zaWduZWQgdmFsaWRhdGVBdG9taWNBY2Nlc3MoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0FycgogICAgIHJldHVybiBhY2Nlc3NJbmRleDsKIH0KIAotc3RhdGljIEpT
QXJyYXlCdWZmZXJWaWV3KiB2YWxpZGF0ZVR5cGVkQXJyYXkoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSB0eXBlZEFycmF5VmFsdWUpCi17Ci0gICAgVk0mIHZtID0gZ2xvYmFs
T2JqZWN0LT52bSgpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
LQotICAgIGlmICghdHlwZWRBcnJheVZhbHVlLmlzQ2VsbCgpKSB7Ci0gICAgICAgIHRocm93VHlw
ZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJBcmd1bWVudCBuZWVkcyB0byBiZSBhIHR5cGVk
IGFycmF5LiJfcyk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIEpTQ2Vs
bCogdHlwZWRBcnJheUNlbGwgPSB0eXBlZEFycmF5VmFsdWUuYXNDZWxsKCk7Ci0gICAgaWYgKCFp
c1R5cGVkVmlldyh0eXBlZEFycmF5Q2VsbC0+Y2xhc3NJbmZvKHZtKS0+dHlwZWRBcnJheVN0b3Jh
Z2VUeXBlKSkgewotICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAi
QXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0eXBlZCBhcnJheS4iX3MpOwotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICB9Ci0KLSAgICBKU0FycmF5QnVmZmVyVmlldyogdHlwZWRBcnJheSA9IGpz
Q2FzdDxKU0FycmF5QnVmZmVyVmlldyo+KHR5cGVkQXJyYXlDZWxsKTsKLSAgICBpZiAodHlwZWRB
cnJheS0+aXNEZXRhY2hlZCgpKSB7Ci0gICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVj
dCwgc2NvcGUsICJBcmd1bWVudCB0eXBlZCBhcnJheSBpcyBkZXRhY2hlZC4iX3MpOwotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgcmV0dXJuIHR5cGVkQXJyYXk7Ci19Ci0KIGVu
dW0gY2xhc3MgVHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgeyBSZWFkLCBXcml0ZSB9OwogdGVtcGxh
dGU8VHlwZWRBcnJheU9wZXJhdGlvbk1vZGUgbW9kZT4KIGlubGluZSBKU0FycmF5QnVmZmVyVmll
dyogdmFsaWRhdGVJbnRlZ2VyVHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU1ZhbHVlIHR5cGVkQXJyYXlWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0F0b21pY3NPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0F0b21pY3NPYmplY3QuaAppbmRleCA1YThiZWY5NGY2MTAxOWU1NjZhOGYwNWY0YzM0Nzhk
MmRiOWViZTFlLi4xYTZhZDdkZjJlMGIzNjgyZjQyODk5N2U4MzU2M2IzZjY3YWQ5MmExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BdG9taWNzT2JqZWN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXRvbWljc09iamVjdC5oCkBAIC02Miw1
ICs2Miw3IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uQXRvbWljc1N0b3Jl
LCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0CiBKU0NfREVDTEFSRV9KSVRfT1BFUkFU
SU9OKG9wZXJhdGlvbkF0b21pY3NTdWIsIEVuY29kZWRKU1ZhbHVlLCAoSlNHbG9iYWxPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSBpbmRleCwgRW5jb2RlZEpTVmFs
dWUgb3BlcmFuZCkpOwogSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25BdG9taWNz
WG9yLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xvYmFsT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgYmFz
ZSwgRW5jb2RlZEpTVmFsdWUgaW5kZXgsIEVuY29kZWRKU1ZhbHVlIG9wZXJhbmQpKTsKIAorSlNB
cnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlVHlwZWRBcnJheShKU0dsb2JhbE9iamVjdCosIEpTVmFs
dWUpOworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQmlnSW50NjRBcnJheS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQmlnSW50NjRBcnJheS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyNmUzYTljNWFhNWQ3YjcyMWE3YTQx
ZDQ3YTU5MGUxNmI3MzllODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CaWdJbnQ2NEFycmF5LmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdJbnQ2NEFycmF5OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmlnVWludDY0QXJyYXkuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUz
YzlhZmMyZWI5ZmU5NmJjZGMxYzIzMTBjNGFiZWNiOTY4MGQzNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JpZ1VpbnQ2NEFycmF5LmgKQEAgLTAsMCAr
MSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiVHlwZWRBcnJheXMuaCIKKwordXNpbmcgSlNDOjpCaWdV
aW50NjRBcnJheTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlCdWZmZXJWaWV3LmNwcAppbmRleCAyZjA2ZTYyYTY2ZmU2NDhjMjEyN2NkNzBiOTk0Y2I3Y2Zj
M2M3MWNmLi4xZWFlMGQyY2RmOTJhYzVjOGRhZDI2YjQ2MGI2NWRlNTIzMTEzZTY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3Bw
CkBAIC0yNDMsNyArMjQzLDcgQEAgRk9SX0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENMVURJTkdf
REFUQV9WSUVXKEZBQ1RPUlkpCiBzdGF0aWMgaW5saW5lIHNpemVfdCBlbGVtZW50U2l6ZShKU1R5
cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSA+PSBJbnQ4QXJyYXlUeXBlICYmIHR5cGUgPD0g
RGF0YVZpZXdUeXBlKTsKLSAgICBzdGF0aWNfYXNzZXJ0KEZsb2F0NjRBcnJheVR5cGUgKyAxID09
IERhdGFWaWV3VHlwZSk7CisgICAgc3RhdGljX2Fzc2VydChCaWdVaW50NjRBcnJheVR5cGUgKyAx
ID09IERhdGFWaWV3VHlwZSk7CiAgICAgcmV0dXJuIEVsZW1lbnRTaXplRGF0YVt0eXBlIC0gSW50
OEFycmF5VHlwZV07CiB9CiAKQEAgLTM0MCw2ICszNDAsMzAgQEAgUmVmUHRyPEFycmF5QnVmZmVy
Vmlldz4gSlNBcnJheUJ1ZmZlclZpZXc6OnBvc3NpYmx5U2hhcmVkSW1wbCgpCiAgICAgfQogfQog
CitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgdHlwZWRBcnJheVZhbHVlKQoreworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisKKyAgICBpZiAoIXR5cGVkQXJyYXlWYWx1ZS5pc0NlbGwoKSkgeworICAgICAgICB0aHJv
d1R5cGVFcnJvcihnbG9iYWxPYmplY3QsIHNjb3BlLCAiQXJndW1lbnQgbmVlZHMgdG8gYmUgYSB0
eXBlZCBhcnJheS4iX3MpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBK
U0NlbGwqIHR5cGVkQXJyYXlDZWxsID0gdHlwZWRBcnJheVZhbHVlLmFzQ2VsbCgpOworICAgIGlm
ICghaXNUeXBlZFZpZXcodHlwZWRBcnJheUNlbGwtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlT
dG9yYWdlVHlwZSkpIHsKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSwgIkFyZ3VtZW50IG5lZWRzIHRvIGJlIGEgdHlwZWQgYXJyYXkuIl9zKTsKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgSlNBcnJheUJ1ZmZlclZpZXcqIHR5cGVkQXJyYXkg
PSBqc0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih0eXBlZEFycmF5Q2VsbCk7CisgICAgaWYgKHR5
cGVkQXJyYXktPmlzRGV0YWNoZWQoKSkgeworICAgICAgICB0aHJvd1R5cGVFcnJvcihnbG9iYWxP
YmplY3QsIHNjb3BlLCAiQXJndW1lbnQgdHlwZWQgYXJyYXkgaXMgZGV0YWNoZWQuIl9zKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiB0eXBlZEFycmF5OworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaAppbmRleCBkNjg0ODcwZTc3
Zjg2NWY4OTE4ODhlNWQ5ZTMxNzFmMTQ5ZWJkNDU1Li5mNjEzNDU4ZDFmYjIzYTJmMDkyODBiNzI2
MDQ5YTRiNThmMGIwNmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTIyNCw2ICsyMjQsOCBAQCBjbGFzcyBKU0FycmF5QnVm
ZmVyVmlldyA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICBUeXBlZEFycmF5TW9kZSBt
X21vZGU7CiB9OwogCitKU0FycmF5QnVmZmVyVmlldyogdmFsaWRhdGVUeXBlZEFycmF5KEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSk7CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2Ug
V1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4IDJjNDE2
Yzg3Mzg2YjgyNjI2NTE3NTU1YTkzMDQzNTk5MDNhOTU3Y2UuLmI4OGQ1MDZhMGU1MTUwMDQ2YTVk
ZjZlNmJmZGM1YmZiZjJjNDk1MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
aWdJbnQuaApAQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBK
U0NlbGwgewogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlRnJv
bShKU0dsb2JhbE9iamVjdCosIGludDMyX3QgdmFsdWUpOwogICAgIHN0YXRpYyBKU0JpZ0ludCog
dHJ5Q3JlYXRlRnJvbShWTSYsIGludDMyX3QgdmFsdWUpOwogICAgIHN0YXRpYyBKU0JpZ0ludCog
Y3JlYXRlRnJvbShKU0dsb2JhbE9iamVjdCosIHVpbnQzMl90IHZhbHVlKTsKLSAgICBzdGF0aWMg
SlNCaWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxPYmplY3QqLCBpbnQ2NF90IHZhbHVlKTsKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxP
YmplY3QqLCBpbnQ2NF90IHZhbHVlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgSlNC
aWdJbnQqIGNyZWF0ZUZyb20oSlNHbG9iYWxPYmplY3QqLCB1aW50NjRfdCB2YWx1ZSk7CiAgICAg
c3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKEpTR2xvYmFsT2JqZWN0KiwgYm9vbCB2YWx1ZSk7
CiAgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVGcm9tKEpTR2xvYmFsT2JqZWN0KiwgZG91Ymxl
IHZhbHVlKTsKQEAgLTEwMiw2ICsxMDIsMTUgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJuIEpTQmlnSW50OjpjcmVhdGVGcm9tKGdsb2JhbE9i
amVjdCwgdmFsdWUpOwogICAgIH0KIAorICAgIHN0YXRpYyBKU1ZhbHVlIG1ha2VIZWFwQmlnSW50
T3JCaWdJbnQzMihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1aW50NjRfdCB2YWx1ZSkK
KyAgICB7CisjaWYgVVNFKEJJR0lOVDMyKQorICAgICAgICBpZiAodmFsdWUgPD0gSU5UX01BWCkK
KyAgICAgICAgICAgIHJldHVybiBqc0JpZ0ludDMyKHN0YXRpY19jYXN0PGludDMyX3Q+KHZhbHVl
KSk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIEpTQmlnSW50OjpjcmVhdGVGcm9tKGdsb2JhbE9i
amVjdCwgdmFsdWUpOworICAgIH0KKwogICAgIHN0YXRpYyBKU1ZhbHVlIG1ha2VIZWFwQmlnSW50
T3JCaWdJbnQzMihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBkb3VibGUgdmFsdWUpCiAg
ICAgewogICAgICAgICBBU1NFUlQoaXNJbnRlZ2VyKHZhbHVlKSk7CkBAIC00MzAsNyArNDM5LDcg
QEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAgICAgcmV0dXJu
IHRvQmlnVUludDY0SGVhcChiaWdJbnQuYXNIZWFwQmlnSW50KCkpOwogICAgIH0KIAotICAgIHN0
YXRpYyB1aW50NjRfdCB0b0JpZ0ludDY0KEpTVmFsdWUgYmlnSW50KQorICAgIHN0YXRpYyBpbnQ2
NF90IHRvQmlnSW50NjQoSlNWYWx1ZSBiaWdJbnQpCiAgICAgewogICAgICAgICBBU1NFUlQoYmln
SW50LmlzQmlnSW50KCkpOwogI2lmIFVTRShCSUdJTlQzMikKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDZWxsLmgKaW5kZXggYTYwYmMwMzZmMjgyMzAwYjk2ZDNhZWQ3MDJkNGNmNTVjODk4
NGQ1NS4uNDhmNjU4MTI0ZjVhNzU5NWFjNTMwY2QyYWU5MGM1Zjg2NDhlNDk0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKQEAgLTIzMyw3ICsyMzMsNyBAQCBjbGFzcyBK
U0NlbGwgOiBwdWJsaWMgSGVhcENlbGwgewogICAgICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9G
KEpTQ2VsbCwgbV9jZWxsU3RhdGUpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgY29uc3QgVHlw
ZWRBcnJheVR5cGUgVHlwZWRBcnJheVN0b3JhZ2VUeXBlID0gTm90VHlwZWRBcnJheTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IE5v
dFR5cGVkQXJyYXk7CiAKICAgICB2b2lkIHNldFBlckNlbGxCaXQoYm9vbCk7CiAgICAgYm9vbCBw
ZXJDZWxsQml0KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0RhdGFWaWV3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFW
aWV3LmgKaW5kZXggNWRhYTYyNjNhOTUwNzlmNzMxZDk1OGFjMjMxZDA4NTA5ZmU2ZmM5NS4uMmM3
ODVlNDc2MTFhOWUzZjIyOGRlMjhiOGFlNjA4YjVlNzZjMmZjNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRhVmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRGF0YVZpZXcuaApAQCAtMzcsNiArMzcsOCBAQCBjbGFzcyBKU0Rh
dGFWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlCdWZmZXJWaWV3IHsKIAogICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgZWxlbWVudFNpemUgPSAxOwogCisgICAgc3RhdGljIGNvbnN0ZXhw
ciBUeXBlZEFycmF5Q29udGVudFR5cGUgY29udGVudFR5cGUgPSBUeXBlZEFycmF5Q29udGVudFR5
cGU6Ok5vbmU7CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgU3Vic3BhY2VBY2Nl
c3MgbW9kZT4KICAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9yKFZNJiB2bSkKICAg
ICB7CkBAIC02NCw3ICs2Niw3IEBAIGNsYXNzIEpTRGF0YVZpZXcgZmluYWwgOiBwdWJsaWMgSlNB
cnJheUJ1ZmZlclZpZXcgewogICAgIFJlZlB0cjxEYXRhVmlldz4gcG9zc2libHlTaGFyZWRUeXBl
ZEltcGwoKTsKICAgICBSZWZQdHI8RGF0YVZpZXc+IHVuc2hhcmVkVHlwZWRJbXBsKCk7CiAgICAg
Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9
IFR5cGVEYXRhVmlldzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIFR5cGVk
QXJyYXlTdG9yYWdlVHlwZSA9IFR5cGVEYXRhVmlldzsKIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUp
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNEYXRh
Vmlld1Byb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFW
aWV3UHJvdG90eXBlLmNwcAppbmRleCBmNzM0ZjU2Yjg3YjcyZWRjYWEyOWU3OTM4NTAyYjAwMDY2
YzUzZDM4Li5jNzNhODY3ZTNlNjA2MTY0OTZjYTFlNzllYjVhYjhjYTZlZjIxYjU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0RhdGFWaWV3UHJvdG90eXBl
LmNwcApAQCAtNDUsNiArNDUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgZ2V0VWludDMyICAgICAg
ICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jR2V0VWludDMyICAgICAgICAgICBEb250RW51bXxGdW5j
dGlvbiAgICAgICAxICBEYXRhVmlld0dldFVpbnQzMgogICBnZXRGbG9hdDMyICAgICAgICAgICAg
ZGF0YVZpZXdQcm90b0Z1bmNHZXRGbG9hdDMyICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAg
ICAgIDEgIERhdGFWaWV3R2V0RmxvYXQzMgogICBnZXRGbG9hdDY0ICAgICAgICAgICAgZGF0YVZp
ZXdQcm90b0Z1bmNHZXRGbG9hdDY0ICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEg
IERhdGFWaWV3R2V0RmxvYXQ2NAorICBnZXRCaWdJbnQ2NCAgICAgICAgICAgZGF0YVZpZXdQcm90
b0Z1bmNHZXRCaWdJbnQ2NCAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDEKKyAgZ2V0
QmlnVWludDY0ICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5jR2V0QmlnVWludDY0ICAgICAgICBE
b250RW51bXxGdW5jdGlvbiAgICAgICAxCiAgIHNldEludDggICAgICAgICAgICAgICBkYXRhVmll
d1Byb3RvRnVuY1NldEludDggICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMiAg
RGF0YVZpZXdTZXRJbnQ4CiAgIHNldFVpbnQ4ICAgICAgICAgICAgICBkYXRhVmlld1Byb3RvRnVu
Y1NldFVpbnQ4ICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gICAgICAgMiAgRGF0YVZpZXdT
ZXRVaW50OAogICBzZXRJbnQxNiAgICAgICAgICAgICAgZGF0YVZpZXdQcm90b0Z1bmNTZXRJbnQx
NiAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uICAgICAgIDIgIERhdGFWaWV3U2V0SW50MTYK
QEAgLTUzLDYgKzU1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgIHNldFVpbnQzMiAgICAgICAgICAg
ICBkYXRhVmlld1Byb3RvRnVuY1NldFVpbnQzMiAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24g
ICAgICAgMiAgRGF0YVZpZXdTZXRVaW50MzIKICAgc2V0RmxvYXQzMiAgICAgICAgICAgIGRhdGFW
aWV3UHJvdG9GdW5jU2V0RmxvYXQzMiAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAy
ICBEYXRhVmlld1NldEZsb2F0MzIKICAgc2V0RmxvYXQ2NCAgICAgICAgICAgIGRhdGFWaWV3UHJv
dG9GdW5jU2V0RmxvYXQ2NCAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyICBEYXRh
Vmlld1NldEZsb2F0NjQKKyAgc2V0QmlnSW50NjQgICAgICAgICAgIGRhdGFWaWV3UHJvdG9GdW5j
U2V0QmlnSW50NjQgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAgICAgICAyCisgIHNldEJpZ1Vp
bnQ2NCAgICAgICAgICBkYXRhVmlld1Byb3RvRnVuY1NldEJpZ1VpbnQ2NCAgICAgICAgRG9udEVu
dW18RnVuY3Rpb24gICAgICAgMgogICBidWZmZXIgICAgICAgICAgICAgICAgZGF0YVZpZXdQcm90
b0dldHRlckJ1ZmZlciAgICAgICAgICAgIERvbnRFbnVtfEFjY2Vzc29yICAgICAgIDAKICAgYnl0
ZUxlbmd0aCAgICAgICAgICAgIGRhdGFWaWV3UHJvdG9HZXR0ZXJCeXRlTGVuZ3RoICAgICAgICBE
b250RW51bXxBY2Nlc3NvciAgICAgICAwCiAgIGJ5dGVPZmZzZXQgICAgICAgICAgICBkYXRhVmll
d1Byb3RvR2V0dGVyQnl0ZU9mZnNldCAgICAgICAgRG9udEVudW18QWNjZXNzb3IgICAgICAgMApA
QCAtNjcsNiArNzEsOCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmll
d1Byb3RvRnVuY0dldFVpbnQxNik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihk
YXRhVmlld1Byb3RvRnVuY0dldFVpbnQzMik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5D
VElPTihkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0MzIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hP
U1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNHZXRGbG9hdDY0KTsKK3N0YXRpYyBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jR2V0QmlnSW50NjQpOworc3RhdGlj
IEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNHZXRCaWdVaW50NjQp
Owogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRJ
bnQ4KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5j
U2V0SW50MTYpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90
b0Z1bmNTZXRJbnQzMik7CkBAIC03NSw2ICs4MSw4IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0VWludDE2KTsKIHN0YXRpYyBKU0NfREVDTEFS
RV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0VWludDMyKTsKIHN0YXRpYyBKU0Nf
REVDTEFSRV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0RmxvYXQzMik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEZsb2F0NjQp
Oworc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRC
aWdJbnQ2NCk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3Rv
RnVuY1NldEJpZ1VpbnQ2NCk7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihkYXRh
Vmlld1Byb3RvR2V0dGVyQnVmZmVyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KGRhdGFWaWV3UHJvdG9HZXR0ZXJCeXRlTGVuZ3RoKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9HZXR0ZXJCeXRlT2Zmc2V0KTsKQEAgLTE2MSw3ICsxNjks
NyBAQCBFbmNvZGVkSlNWYWx1ZSBnZXREYXRhKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgICAgICAgICAgdS5yYXdCeXRlc1tpXSA9ICpkYXRh
UHRyKys7CiAgICAgfQogCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShBZGFwdG9yOjp0b0pT
VmFsdWUodS52YWx1ZSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6
ZW5jb2RlKEFkYXB0b3I6OnRvSlNWYWx1ZShnbG9iYWxPYmplY3QsIHUudmFsdWUpKSk7CiB9CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CkBAIC0yOTUsNiArMzAzLDE2IEBAIEpTQ19ERUZJ
TkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY0dldEZsb2F0NjQsIChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqCiAgICAgcmV0dXJuIGdldERhdGE8RmxvYXQ2NEFkYXB0b3I+KGdsb2Jh
bE9iamVjdCwgY2FsbEZyYW1lKTsKIH0KIAorSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFW
aWV3UHJvdG9GdW5jR2V0QmlnSW50NjQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBD
YWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAgcmV0dXJuIGdldERhdGE8QmlnSW50NjRBZGFw
dG9yPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7Cit9CisKK0pTQ19ERUZJTkVfSE9TVF9GVU5D
VElPTihkYXRhVmlld1Byb3RvRnVuY0dldEJpZ1VpbnQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICByZXR1cm4gZ2V0RGF0YTxC
aWdVaW50NjRBZGFwdG9yPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7Cit9CisKIEpTQ19ERUZJ
TkVfSE9TVF9GVU5DVElPTihkYXRhVmlld1Byb3RvRnVuY1NldEludDgsIChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAgcmV0dXJuIHNl
dERhdGE8SW50OEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKQEAgLTMzNCw2ICsz
NTIsMTYgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0Rmxv
YXQ2NCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmoKIHsKICAgICByZXR1cm4gc2V0RGF0YTxG
bG9hdDY0QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUpOwogfQorCitKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04oZGF0YVZpZXdQcm90b0Z1bmNTZXRCaWdJbnQ2NCwgKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICByZXR1cm4g
c2V0RGF0YTxCaWdJbnQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lKTsKK30KKwor
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGRhdGFWaWV3UHJvdG9GdW5jU2V0QmlnVWludDY0LCAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQorewor
ICAgIHJldHVybiBzZXREYXRhPEJpZ1VpbnQ2NEFkYXB0b3I+KGdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lKTsKK30KIElHTk9SRV9DTEFOR19XQVJOSU5HU19FTkQKIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBl
ZEFycmF5Vmlldy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXcuaAppbmRleCA3NGY4OWFhOGE0ZGM5NGRmYzRlNDdkZWVlODAwZTIzMzMzNWZj
YWFjLi5kZTZjOTdiNzJkNjczY2NkMjA2NjAxZTAyNDBkYjU3ZmU4MWNmMjRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlW
aWV3LmgKQEAgLTQwLDYgKzQwLDggQEAgSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xhc3NJbmZv
KiBnZXRVaW50MTZBcnJheUNsYXNzSW5mbygpOwogSlNfRVhQT1JUX1BSSVZBVEUgY29uc3QgQ2xh
c3NJbmZvKiBnZXRVaW50MzJBcnJheUNsYXNzSW5mbygpOwogSlNfRVhQT1JUX1BSSVZBVEUgY29u
c3QgQ2xhc3NJbmZvKiBnZXRGbG9hdDMyQXJyYXlDbGFzc0luZm8oKTsKIEpTX0VYUE9SVF9QUklW
QVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0RmxvYXQ2NEFycmF5Q2xhc3NJbmZvKCk7CitKU19FWFBP
UlRfUFJJVkFURSBjb25zdCBDbGFzc0luZm8qIGdldEJpZ0ludDY0QXJyYXlDbGFzc0luZm8oKTsK
K0pTX0VYUE9SVF9QUklWQVRFIGNvbnN0IENsYXNzSW5mbyogZ2V0QmlnVWludDY0QXJyYXlDbGFz
c0luZm8oKTsKIAogLy8gQSB0eXBlZCBhcnJheSB2aWV3IGlzIG91ciByZXByZXNlbnRhdGlvbiBv
ZiBhIHR5cGVkIGFycmF5IG9iamVjdCBhcyBzZWVuCiAvLyBmcm9tIEphdmFTY3JpcHQuIEZvciBl
eGFtcGxlOgpAQCAtNzksNyArODEsNiBAQCBKU19FWFBPUlRfUFJJVkFURSBjb25zdCBDbGFzc0lu
Zm8qIGdldEZsb2F0NjRBcnJheUNsYXNzSW5mbygpOwogLy8gICAgIHN0YXRpYyBpbnQ4X3QgdG9O
YXRpdmVGcm9tVWludDMyKHVpbnQzMl90KTsKIC8vICAgICBzdGF0aWMgaW50OF90IHRvTmF0aXZl
RnJvbURvdWJsZShkb3VibGUpOwogLy8gICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShpbnQ4
X3QpOwotLy8gICAgIHN0YXRpYyBkb3VibGUgdG9Eb3VibGUoaW50OF90KTsKIC8vICAgICB0ZW1w
bGF0ZTxUPiBzdGF0aWMgVDo6VHlwZSBjb252ZXJ0VG8odWludDhfdCk7CiAvLyB9OwogCkBAIC05
MCwxMSArOTEsMTMgQEAgZW51bSBjbGFzcyBDb3B5VHlwZSB7CiAKIGV4dGVybiBjb25zdCBBU0NJ
SUxpdGVyYWwgdHlwZWRBcnJheUJ1ZmZlckhhc0JlZW5EZXRhY2hlZEVycm9yTWVzc2FnZTsKIAot
dGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4KK3RlbXBsYXRlPHR5cGVuYW1lIFBhc3NlZEFkYXB0
b3I+CiBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5
QnVmZmVyVmlldyB7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9IEpTQXJyYXlCdWZmZXJWaWV3
OwotICAgIHR5cGVkZWYgdHlwZW5hbWUgQWRhcHRvcjo6VHlwZSBFbGVtZW50VHlwZTsKKyAgICB1
c2luZyBBZGFwdG9yID0gUGFzc2VkQWRhcHRvcjsKKyAgICB1c2luZyBFbGVtZW50VHlwZSA9IHR5
cGVuYW1lIEFkYXB0b3I6OlR5cGU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBlZEFycmF5Q29u
dGVudFR5cGUgY29udGVudFR5cGUgPSBBZGFwdG9yOjpjb250ZW50VHlwZTsKIAogICAgIHN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5
TmFtZXMgfCBJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3Ro
SXNOb3RaZXJvOwogCkBAIC0xMTksMTUgKzEyMiwyMCBAQCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFy
cmF5VmlldyBmaW5hbCA6IHB1YmxpYyBKU0FycmF5QnVmZmVyVmlldyB7CiAgICAgICAgIHJldHVy
biBiaXR3aXNlX2Nhc3Q8dHlwZW5hbWUgQWRhcHRvcjo6VHlwZSo+KHZlY3RvcigpKTsKICAgICB9
CiAKKyAgICBib29sIGluQm91bmRzKHVuc2lnbmVkIGkpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gaSA8IG1fbGVuZ3RoOworICAgIH0KKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIG1l
YW50IHRvIG1hdGNoIGluZGV4ZWQgYWNjZXNzIG1ldGhvZHMgdGhhdCBKU09iamVjdAogICAgIC8v
IHN1cHBvcnRzIC0gaGVuY2UgdGhlIHNsaWdodCByZWR1bmRhbmN5LgogICAgIGJvb2wgY2FuR2V0
SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNvbnN0CiAgICAgewotICAgICAgICByZXR1cm4gaSA8
IG1fbGVuZ3RoOworICAgICAgICByZXR1cm4gaW5Cb3VuZHMoaSkgJiYgQWRhcHRvcjo6Y2FuQ29u
dmVydFRvSlNRdWlja2x5OwogICAgIH0KICAgICBib29sIGNhblNldEluZGV4UXVpY2tseSh1bnNp
Z25lZCBpLCBKU1ZhbHVlIHZhbHVlKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIGkgPCBt
X2xlbmd0aCAmJiB2YWx1ZS5pc051bWJlcigpOworICAgICAgICByZXR1cm4gaSA8IG1fbGVuZ3Ro
ICYmIHZhbHVlLmlzTnVtYmVyKCkgJiYgQWRhcHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5Owog
ICAgIH0KICAgICAKICAgICB0eXBlbmFtZSBBZGFwdG9yOjpUeXBlIGdldEluZGV4UXVpY2tseUFz
TmF0aXZlVmFsdWUodW5zaWduZWQgaSkgY29uc3QKQEAgLTEzNiwxNCArMTQ0LDkgQEAgY2xhc3Mg
SlNHZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcg
ewogICAgICAgICByZXR1cm4gdHlwZWRWZWN0b3IoKVtpXTsKICAgICB9CiAgICAgCi0gICAgZG91
YmxlIGdldEluZGV4UXVpY2tseUFzRG91YmxlKHVuc2lnbmVkIGkpCi0gICAgewotICAgICAgICBy
ZXR1cm4gQWRhcHRvcjo6dG9Eb3VibGUoZ2V0SW5kZXhRdWlja2x5QXNOYXRpdmVWYWx1ZShpKSk7
Ci0gICAgfQotICAgIAogICAgIEpTVmFsdWUgZ2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpIGNv
bnN0CiAgICAgewotICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9KU1ZhbHVlKGdldEluZGV4UXVp
Y2tseUFzTmF0aXZlVmFsdWUoaSkpOworICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9KU1ZhbHVl
KG51bGxwdHIsIGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpOwogICAgIH0KICAgICAK
ICAgICB2b2lkIHNldEluZGV4UXVpY2tseVRvTmF0aXZlVmFsdWUodW5zaWduZWQgaSwgdHlwZW5h
bWUgQWRhcHRvcjo6VHlwZSB2YWx1ZSkKQEAgLTE1MiwxMSArMTU1LDYgQEAgY2xhc3MgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAg
ICAgICB0eXBlZFZlY3RvcigpW2ldID0gdmFsdWU7CiAgICAgfQogICAgIAotICAgIHZvaWQgc2V0
SW5kZXhRdWlja2x5VG9Eb3VibGUodW5zaWduZWQgaSwgZG91YmxlIHZhbHVlKQotICAgIHsKLSAg
ICAgICAgc2V0SW5kZXhRdWlja2x5VG9OYXRpdmVWYWx1ZShpLCB0b05hdGl2ZUZyb21WYWx1ZTxB
ZGFwdG9yPihqc051bWJlcih2YWx1ZSkpKTsKLSAgICB9Ci0gICAgCiAgICAgdm9pZCBzZXRJbmRl
eFF1aWNrbHkodW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VS
VCghdmFsdWUuaXNPYmplY3QoKSk7CkBAIC0yNDcsNiArMjQ1LDEwIEBAIGNsYXNzIEpTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3IGZpbmFsIDogcHVibGljIEpTQXJyYXlCdWZmZXJWaWV3IHsKICAgICAg
ICAgICAgIHJldHVybiBnZXRGbG9hdDMyQXJyYXlDbGFzc0luZm8oKTsKICAgICAgICAgY2FzZSBU
eXBlRmxvYXQ2NDoKICAgICAgICAgICAgIHJldHVybiBnZXRGbG9hdDY0QXJyYXlDbGFzc0luZm8o
KTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICByZXR1cm4gZ2V0Qmln
SW50NjRBcnJheUNsYXNzSW5mbygpOworICAgICAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAg
ICAgICAgICByZXR1cm4gZ2V0QmlnVWludDY0QXJyYXlDbGFzc0luZm8oKTsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI3NSw2ICsyNzcsMTAgQEAgY2xhc3MgSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewogICAgICAg
ICAgICAgcmV0dXJuIHZtLmZsb2F0MzJBcnJheVNwYWNlPG1vZGU+KCk7CiAgICAgICAgIGNhc2Ug
VHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1cm4gdm0uZmxvYXQ2NEFycmF5U3BhY2U8bW9k
ZT4oKTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICByZXR1cm4gdm0u
YmlnSW50NjRBcnJheVNwYWNlPG1vZGU+KCk7CisgICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoK
KyAgICAgICAgICAgIHJldHVybiB2bS5iaWdVaW50NjRBcnJheVNwYWNlPG1vZGU+KCk7CiAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yODMsNyArMjg5LDcgQEAgY2xhc3MgSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXcgZmluYWwgOiBwdWJsaWMgSlNBcnJheUJ1ZmZlclZpZXcgewog
ICAgIAogICAgIEFycmF5QnVmZmVyKiBleGlzdGluZ0J1ZmZlcigpOwogCi0gICAgc3RhdGljIGNv
bnN0IFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9yYWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVW
YWx1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIFR5cGVkQXJyYXlTdG9y
YWdlVHlwZSA9IEFkYXB0b3I6OnR5cGVWYWx1ZTsKIAogICAgIC8vIFRoaXMgaXMgdGhlIGRlZmF1
bHQgRE9NIHVud3JhcHBpbmcuIEl0IGNhbGxzIHRvVW5zaGFyZWROYXRpdmVUeXBlZFZpZXcoKS4K
ICAgICBzdGF0aWMgUmVmUHRyPHR5cGVuYW1lIEFkYXB0b3I6OlZpZXdUeXBlPiB0b1dyYXBwZWQo
Vk0mLCBKU1ZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3IuaAppbmRleCA1
ZjQ1YTYxZTNlMjBlYmE0ZjZkNTY4YTVhNTUzMDhhZGEyZGMyYWVjLi42OTIyNWU1MGUxNGM1NGU5
YmJhN2Y0ZGE2MjM0NTY4NzcwNDQzYmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1
Y3Rvci5oCkBAIC0zOCw2ICszOCw4IEBAIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hP
U1RfRlVOQ1RJT04oY2FsbFVpbnQxNkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oY2FsbFVpbnQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpT
Q19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY2FsbEZsb2F0MzJBcnJheSk7CiBKU19FWFBPUlRfUFJJ
VkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNhbGxGbG9hdDY0QXJyYXkpOworSlNfRVhQ
T1JUX1BSSVZBVEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjYWxsQmlnSW50NjRBcnJheSk7
CitKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNhbGxCaWdVaW50
NjRBcnJheSk7CiBKU19FWFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNh
bGxEYXRhVmlldyk7CiAKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJ
T04oY29uc3RydWN0SW50OEFycmF5KTsKQEAgLTQ5LDYgKzUxLDggQEAgSlNfRVhQT1JUX1BSSVZB
VEUgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RVaW50MTZBcnJheSk7CiBKU19F
WFBPUlRfUFJJVkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdFVpbnQzMkFy
cmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3Ry
dWN0RmxvYXQzMkFycmF5KTsKIEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oY29uc3RydWN0RmxvYXQ2NEFycmF5KTsKK0pTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNM
QVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0QmlnSW50NjRBcnJheSk7CitKU19FWFBPUlRfUFJJ
VkFURSBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEJpZ1VpbnQ2NEFycmF5KTsK
IEpTX0VYUE9SVF9QUklWQVRFIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0RGF0
YVZpZXcpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaWV3Q2xhc3M+CkBAIC04Nyw2ICs5MSwxMCBA
QCBjbGFzcyBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yIGZpbmFsIDogcHVibGlj
IEludGVybmFsRnVuY3Rpb24gewogICAgICAgICAgICAgcmV0dXJuIGNhbGxGbG9hdDMyQXJyYXk7
CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAgICAgICByZXR1cm4gY2FsbEZsb2F0
NjRBcnJheTsKKyAgICAgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgICAgICByZXR1cm4g
Y2FsbEJpZ0ludDY0QXJyYXk7CisgICAgICAgIGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAg
ICAgIHJldHVybiBjYWxsQmlnVWludDY0QXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZURhdGFWaWV3
OgogICAgICAgICAgICAgcmV0dXJuIGNhbGxEYXRhVmlldzsKICAgICAgICAgZGVmYXVsdDoKQEAg
LTExNiw2ICsxMjQsMTAgQEAgY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rv
ciBmaW5hbCA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKICAgICAgICAgICAgIHJldHVybiBj
b25zdHJ1Y3RGbG9hdDMyQXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6CiAgICAgICAg
ICAgICByZXR1cm4gY29uc3RydWN0RmxvYXQ2NEFycmF5OworICAgICAgICBjYXNlIFR5cGVCaWdJ
bnQ2NDoKKyAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RCaWdJbnQ2NEFycmF5OworICAgICAg
ICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgICAgICByZXR1cm4gY29uc3RydWN0QmlnVWlu
dDY0QXJyYXk7CiAgICAgICAgIGNhc2UgVHlwZURhdGFWaWV3OgogICAgICAgICAgICAgcmV0dXJu
IGNvbnN0cnVjdERhdGFWaWV3OwogICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdDb25zdHJ1Y3Rv
cklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3Q29uc3RydWN0b3JJbmxpbmVzLmgKaW5kZXggYTA5ZTMyYTZmZWZmZDJkODE2YWRm
MGZjYTA5MzliODI1NzZiMWE2NC4uNzg2NTUyYTJiODYwOTcyYjZkZmM3NzUyY2IxMDgxNWYzNzcy
YWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXdDb25zdHJ1Y3RvcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9ySW5saW5lcy5o
CkBAIC0xOTMsNiArMTkzLDExIEBAIGlubGluZSBKU09iamVjdCogY29uc3RydWN0R2VuZXJpY1R5
cGVkQXJyYXlWaWV3V2l0aEFyZ3VtZW50cyhKU0dsb2JhbE9iamVjdCogZ2xvCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIGlmIChj
b250ZW50VHlwZShvYmplY3QtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkg
IT0gVmlld0NsYXNzOjpjb250ZW50VHlwZSkgeworICAgICAgICAgICAgICAgIHRocm93VHlwZUVy
cm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgbmV3
IHR5cGVkIGFycmF5IGFyZSBkaWZmZXJlbnQiX3MpOworICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBsZW5ndGggPSB2aWV3LT5sZW5n
dGgoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFRoaXMgZ2V0UHJvcGVydHlT
bG90IG9wZXJhdGlvbiBzaG91bGQgbm90IGJlIG9ic2VydmVkIGJ5IHRoZSBQcm94eS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlW
aWV3SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdJbmxpbmVzLmgKaW5kZXggM2NkYTYzN2VlZjc3ZWFmODk1NjFmNzYwZmQ2NmIw
ZjMxODI3NzYyYS4uNmEyMTVlNWQxNzEzZGNlZTY3Mzk0YjM0YTRhZjA1N2E5MmRkZDBjZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKQEAgLTE2Miw2ICsxNjIsOSBAQCBib29sIEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXRXaXRoU3BlY2lmaWNUeXBlKAogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2lnbmVkIG9mZnNldCwgSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXc8T3RoZXJBZGFwdG9yPiogb3RoZXIsCiAgICAgdW5zaWduZWQgb3RoZXJPZmZz
ZXQsIHVuc2lnbmVkIGxlbmd0aCwgQ29weVR5cGUgdHlwZSkKIHsKKyAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OworCiAgICAgLy8gSGFuZGxlIHRoZSBoaWxhcmlvdXMgY2FzZTogdGhlIGFjdCBvZiBnZXR0aW5n
IHRoZSBsZW5ndGggY291bGQgaGF2ZSByZXN1bHRlZAogICAgIC8vIGluIGRldGFjaGluZy4gV2Vs
bCwgbm8uIFRoYXQnbGwgbmV2ZXIgaGFwcGVuIGJlY2F1c2UgdGhlcmUgY2Fubm90IGJlCiAgICAg
Ly8gc2lkZS1lZmZlY3RzIG9uIGdldHRpbmcgdGhlIGxlbmd0aCBvZiBhIHR5cGVkIGFycmF5LiBC
dXQgcHJlZGljdGluZyB3aGVyZSB0aGVyZQpAQCAtMTcxLDggKzE3NCwxNSBAQCBib29sIEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+OjpzZXRXaXRoU3BlY2lmaWNUeXBlKAogICAgIGxl
bmd0aCA9IHN0ZDo6bWluKGxlbmd0aCwgb3RoZXItPmxlbmd0aCgpKTsKIAogICAgIFJFTEVBU0Vf
QVNTRVJUKG90aGVyLT5jYW5BY2Nlc3NSYW5nZVF1aWNrbHkob3RoZXJPZmZzZXQsIGxlbmd0aCkp
OwotICAgIGlmICghdmFsaWRhdGVSYW5nZShnbG9iYWxPYmplY3QsIG9mZnNldCwgbGVuZ3RoKSkK
KyAgICBib29sIHN1Y2Nlc3MgPSB2YWxpZGF0ZVJhbmdlKGdsb2JhbE9iamVjdCwgb2Zmc2V0LCBs
ZW5ndGgpOworICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlvbigpID09IHN1Y2Nl
c3MpOworICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
Y29uc3RleHByIChBZGFwdG9yOjpjb250ZW50VHlwZSAhPSBPdGhlckFkYXB0b3I6OmNvbnRlbnRU
eXBlKSB7CisgICAgICAgIHRocm93VHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJDb250
ZW50IHR5cGVzIG9mIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gdHlwZWQgYXJyYXlzIGFyZSBkaWZm
ZXJlbnQiX3MpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAgIAogICAgIC8vIFRo
aXMgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBjb3B5aW5nIGJldHdlZW4gdGhlIHNhbWUgYXJyYXku
IE5vdGUgdGhhdAogICAgIC8vIHNldCgpIHdpbGwgb25seSBjYWxsIHRoaXMgaWYgdGhlIHR5cGVz
IGRpZmZlciwgd2hpY2ggaW1wbGljaXRseSBndWFyYW50ZWVzCkBAIC0yODksNiArMjk5LDEyIEBA
IGJvb2wgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OnNldCgKICAgICBjYXNlIFR5
cGVGbG9hdDY0OgogICAgICAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIHNldFdpdGhTcGVj
aWZpY1R5cGU8RmxvYXQ2NEFkYXB0b3I+KAogICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZz
ZXQsIGpzQ2FzdDxKU0Zsb2F0NjRBcnJheSo+KG9iamVjdCksIG9iamVjdE9mZnNldCwgbGVuZ3Ro
LCB0eXBlKSk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIFJFTEVBU0VfQU5EX1JF
VFVSTihzY29wZSwgc2V0V2l0aFNwZWNpZmljVHlwZTxCaWdJbnQ2NEFkYXB0b3I+KAorICAgICAg
ICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpzQ2FzdDxKU0JpZ0ludDY0QXJyYXkqPihvYmpl
Y3QpLCBvYmplY3RPZmZzZXQsIGxlbmd0aCwgdHlwZSkpOworICAgIGNhc2UgVHlwZUJpZ1VpbnQ2
NDoKKyAgICAgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBzZXRXaXRoU3BlY2lmaWNUeXBl
PEJpZ1VpbnQ2NEFkYXB0b3I+KAorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LCBvZmZzZXQsIGpz
Q2FzdDxKU0JpZ1VpbnQ2NEFycmF5Kj4ob2JqZWN0KSwgb2JqZWN0T2Zmc2V0LCBsZW5ndGgsIHR5
cGUpKTsKICAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6IHsK
ICAgICAgICAgYm9vbCBzdWNjZXNzID0gdmFsaWRhdGVSYW5nZShnbG9iYWxPYmplY3QsIG9mZnNl
dCwgbGVuZ3RoKTsKQEAgLTQzMywxNCArNDQ5LDI0IEBAIGJvb2wgSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXc8QWRhcHRvcj46OmRlbGV0ZVByb3BlcnR5KAogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFw
dG9yPgogYm9vbCBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6Z2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleCgKLSAgICBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbE9iamVjdCosIHVu
c2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQorICAgIEpTT2JqZWN0KiBv
YmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSwgUHJvcGVydHlTbG90JiBzbG90KQogeworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0o
KTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXcqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNHZW5lcmljVHlwZWRBcnJh
eVZpZXcqPihvYmplY3QpOwogCi0gICAgaWYgKHRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAh
dGhpc09iamVjdC0+Y2FuR2V0SW5kZXhRdWlja2x5KHByb3BlcnR5TmFtZSkpCisgICAgaWYgKHRo
aXNPYmplY3QtPmlzRGV0YWNoZWQoKSB8fCAhdGhpc09iamVjdC0+aW5Cb3VuZHMocHJvcGVydHlO
YW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2Jq
ZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB0aGlz
T2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJvcGVydHlOYW1lKSk7CisgICAgSlNWYWx1ZSB2YWx1
ZTsKKyAgICBpZiBjb25zdGV4cHIgKEFkYXB0b3I6OmNhbkNvbnZlcnRUb0pTUXVpY2tseSkKKyAg
ICAgICAgdmFsdWUgPSB0aGlzT2JqZWN0LT5nZXRJbmRleFF1aWNrbHkocHJvcGVydHlOYW1lKTsK
KyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHRoaXNPYmplY3QtPmdldElu
ZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUocHJvcGVydHlOYW1lKTsKKyAgICAgICAgdmFsdWUgPSBB
ZGFwdG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKKyAgICB9CisgICAgc2xvdC5zZXRWYWx1
ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5v
bmUpLCB2YWx1ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVu
Y3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFy
cmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oCmluZGV4IDJlMGE3ODIwMTc3Yzg0NmRiNDc3MjQw
YjE2NjU5NTkzYjQwNGI5MWUuLjhjOTQxMjkzOTdlOGFiYTQxNDA3MmViN2E5YjAwOGFlYzQ2MjRi
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5
cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaApA
QCAtMjcyLDExICsyNzIsMTkgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmlj
VHlwZWRBcnJheVZpZXdQcm90b0Z1bmNKb2luKFZNJiB2bSwgSlNHbG9iYWwKICAgICB1bnNpZ25l
ZCBsZW5ndGggPSB0aGlzT2JqZWN0LT5sZW5ndGgoKTsKICAgICBhdXRvIGpvaW5XaXRoU2VwYXJh
dG9yID0gWyZdIChTdHJpbmdWaWV3IHNlcGFyYXRvcikgLT4gRW5jb2RlZEpTVmFsdWUgewogICAg
ICAgICBKU1N0cmluZ0pvaW5lciBqb2luZXIoZ2xvYmFsT2JqZWN0LCBzZXBhcmF0b3IsIGxlbmd0
aCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkp
OworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogICAgICAgICBpZiAo
IXRoaXNPYmplY3QtPmlzRGV0YWNoZWQoKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChn
bG9iYWxPYmplY3QsIHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShpKSk7Ci0gICAgICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAg
ICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZTsKKyAgICAgICAgICAgICAgICBpZiBjb25zdGV4cHIg
KFZpZXdDbGFzczo6QWRhcHRvcjo6Y2FuQ29udmVydFRvSlNRdWlja2x5KQorICAgICAgICAgICAg
ICAgICAgICB2YWx1ZSA9IHRoaXNPYmplY3QtPmdldEluZGV4UXVpY2tseShpKTsKKyAgICAgICAg
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHRo
aXNPYmplY3QtPmdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSk7CisgICAgICAgICAgICAg
ICAgICAgIHZhbHVlID0gVmlld0NsYXNzOjpBZGFwdG9yOjp0b0pTVmFsdWUoZ2xvYmFsT2JqZWN0
LCBuYXRpdmVWYWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHsgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGpvaW5lci5h
cHBlbmQoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKQEAgLTI5Miwx
MCArMzAwLDEwIEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgZ2VuZXJpY1R5cGVkQXJy
YXlWaWV3UHJvdG9GdW5jSm9pbihWTSYgdm0sIEpTR2xvYmFsCiAgICAgfQogCiAgICAgSlNTdHJp
bmcqIHNlcGFyYXRvclN0cmluZyA9IHNlcGFyYXRvclZhbHVlLnRvU3RyaW5nKGdsb2JhbE9iamVj
dCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Cisg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAogICAgIGF1dG8gdmlld1dpdGhT
dHJpbmcgPSBzZXBhcmF0b3JTdHJpbmctPnZpZXdXaXRoVW5kZXJseWluZ1N0cmluZyhnbG9iYWxP
YmplY3QpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIGpvaW5X
aXRoU2VwYXJhdG9yKHZpZXdXaXRoU3RyaW5nLnZpZXcpOwogfQogCkBAIC00NTQsNiArNDYyLDEx
IEBAIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgZ2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJv
dG9GdW5jU2xpY2UoVk0mIHZtLCBKU0dsb2JhCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgQVNTRVJUKCFyZXN1bHQtPmlzRGV0YWNoZWQoKSk7
CiAKKyAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jdHlwZWRhcnJheS1zcGVjaWVzLWNy
ZWF0ZQorICAgIC8vIElmIHJlc3VsdC5bW0NvbnRlbnRUeXBlXV0g4omgIGV4ZW1wbGFyLltbQ29u
dGVudFR5cGVdXSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIGlmIChjb250ZW50
VHlwZShyZXN1bHQtPmNsYXNzSW5mbyh2bSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkgIT0gVmll
d0NsYXNzOjpjb250ZW50VHlwZSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xv
YmFsT2JqZWN0LCBzY29wZSwgIkNvbnRlbnQgdHlwZXMgb2Ygc291cmNlIGFuZCBjcmVhdGVkIHR5
cGVkIGFycmF5cyBhcmUgZGlmZmVyZW50Il9zKTsKKwogICAgIC8vIFdlIHJldHVybiBlYXJseSBo
ZXJlIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIGEgYmFja2luZyBzdG9yZSBpZiBsZW5ndGggaXMg
MCBhbmQgbWVtbW92ZSBkb2VzIG5vdCBsaWtlIG51bGxwdHJzCiAgICAgaWYgKCFsZW5ndGgpCiAg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKQEAgLTUwMiw2ICs1MTUsMTQg
QEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQcm90
b0Z1bmNTbGljZShWTSYgdm0sIEpTR2xvYmEKICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAg
ICAgICBqc0Nhc3Q8SlNGbG9hdDY0QXJyYXkqPihyZXN1bHQpLT5zZXQoZ2xvYmFsT2JqZWN0LCAw
LCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBDb3B5VHlwZTo6TGVmdFRvUmlnaHQpOwogICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKKyAgICAgICAganNDYXN0PEpTQmlnSW50NjRB
cnJheSo+KHJlc3VsdCktPnNldChnbG9iYWxPYmplY3QsIDAsIHRoaXNPYmplY3QsIGJlZ2luLCBs
ZW5ndGgsIENvcHlUeXBlOjpMZWZ0VG9SaWdodCk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUocmVzdWx0KTsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6CisgICAgICAgIHNjb3BlLnJl
bGVhc2UoKTsKKyAgICAgICAganNDYXN0PEpTQmlnVWludDY0QXJyYXkqPihyZXN1bHQpLT5zZXQo
Z2xvYmFsT2JqZWN0LCAwLCB0aGlzT2JqZWN0LCBiZWdpbiwgbGVuZ3RoLCBDb3B5VHlwZTo6TGVm
dFRvUmlnaHQpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBA
IC01NDMsNyArNTY0LDcgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlw
ZWRBcnJheVZpZXdQcml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYKICAgICBSZWZQdHI8QXJy
YXlCdWZmZXI+IGFycmF5QnVmZmVyID0gdGhpc09iamVjdC0+cG9zc2libHlTaGFyZWRCdWZmZXIo
KTsKICAgICBpZiAoVU5MSUtFTFkoIWFycmF5QnVmZmVyKSkgewogICAgICAgICB0aHJvd091dE9m
TWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVk
SlNWYWx1ZSgpOworICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VS
VCh0aGlzTGVuZ3RoID09IHRoaXNPYmplY3QtPmxlbmd0aCgpKTsKIApAQCAtNTY3LDEzICs1ODgs
MTQgQEAgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZWRBcnJheVZpZXdQ
cml2YXRlRnVuY1N1YmFycmF5Q3JlYXRlKFZNJnYKICAgICBBU1NFUlQoIWFyZ3MuaGFzT3ZlcmZs
b3dlZCgpKTsKIAogICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3QoZ2xvYmFsT2JqZWN0
LCBzcGVjaWVzLCBhcmdzLCAic3BlY2llcyBpcyBub3QgYSBjb25zdHJ1Y3RvciIpOwotICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0FycmF5
QnVmZmVyVmlldyo+KHZtLCByZXN1bHQpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHJlc3VsdCk7CisgICAgSlNBcnJheUJ1ZmZlclZpZXcqIHZhbGlkYXRlZCA9IHZhbGlkYXRlVHlw
ZWRBcnJheShnbG9iYWxPYmplY3QsIHJlc3VsdCk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgeyB9KTsKKyAgICBpZiAoY29udGVudFR5cGUodmFsaWRhdGVkLT5jbGFzc0luZm8odm0p
LT50eXBlZEFycmF5U3RvcmFnZVR5cGUpICE9IFZpZXdDbGFzczo6Y29udGVudFR5cGUpCisgICAg
ICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGdsb2JhbE9iamVjdCwgc2NvcGUsICJUeXBlZEFy
cmF5LnByb3RvdHlwZS5zdWJhcnJheSBjb25zdHJ1Y3RlZCB0eXBlZCBhcnJheSBvZiBkaWZmZXJl
bnQgY29udGVudCB0eXBlIGZyb20gfHRoaXN8Il9zKTsKIAotICAgIHRocm93VHlwZUVycm9yKGds
b2JhbE9iamVjdCwgc2NvcGUsICJzcGVjaWVzIGNvbnN0cnVjdG9yIGRpZCBub3QgcmV0dXJuIGEg
VHlwZWRBcnJheSBWaWV3Il9zKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUo
KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh2YWxpZGF0ZWQpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCA4NWM3NjNjNTRlMDI5ZDE1ZDlmZDQ5YmI4ZjJhZTJiN2RkYjBhOTRk
Li43NTBhZDUxZWRkNmM5OTg5Nzg0YWUwZDQyNWExMmM1OGJkOWMyOTI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC00NTcsNiAr
NDU3LDggQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNHbG9iYWxPYmplY3Q6OnNf
Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7CiAgIFVpbnQzMkFycmF5ICAgICAgICAgICBKU0ds
b2JhbE9iamVjdDo6bV90eXBlZEFycmF5VWludDMyICAgICAgICAgICBEb250RW51bXxDbGFzc1N0
cnVjdHVyZQogICBGbG9hdDMyQXJyYXkgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6Om1fdHlwZWRB
cnJheUZsb2F0MzIgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKICAgRmxvYXQ2NEFy
cmF5ICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlGbG9hdDY0ICAgICAgICAg
IERvbnRFbnVtfENsYXNzU3RydWN0dXJlCisgIEJpZ0ludDY0QXJyYXkgICAgICAgICBKU0dsb2Jh
bE9iamVjdDo6bV90eXBlZEFycmF5QmlnSW50NjQgICAgICAgICBEb250RW51bXxDbGFzc1N0cnVj
dHVyZQorICBCaWdVaW50NjRBcnJheSAgICAgICAgSlNHbG9iYWxPYmplY3Q6Om1fdHlwZWRBcnJh
eUJpZ1VpbnQ2NCAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKICAgRGF0YVZpZXcgICAg
ICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3R5cGVkQXJyYXlEYXRhVmlldyAgICAgICAgIERv
bnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIERhdGUgICAgICAgICAgICAgICAgICBKU0dsb2JhbE9i
amVjdDo6bV9kYXRlU3RydWN0dXJlICAgICAgICAgICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVy
ZQogICBFcnJvciAgICAgICAgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6Om1fZXJyb3JTdHJ1Y3R1
cmUgICAgICAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKQEAgLTEyMDcsMTIgKzEyMDks
MTggQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3Rv
ciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0
YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNvbnN0YW50Ojp0eXBlZEFycmF5R2V0T3JpZ2lu
YWxDb25zdHJ1Y3RvcildLmluaXRMYXRlcihbXSAoY29uc3QgSW5pdGlhbGl6ZXI8SlNDZWxsPiYg
aW5pdCkgewogICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0s
IGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KGluaXQub3duZXIpLCAwLCBTdHJpbmcoKSwgdHlwZWRB
cnJheVZpZXdQcml2YXRlRnVuY0dldE9yaWdpbmFsQ29uc3RydWN0b3IpKTsKICAgICAgICAgfSk7
CisgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVD
b25zdGFudDo6dHlwZWRBcnJheUNvbnRlbnRUeXBlKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0
aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CisgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9u
OjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAs
IFN0cmluZygpLCB0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jQ29udGVudFR5cGUpKTsKKyAgICAg
ICAgfSk7CiAgICAgbV9saW5rVGltZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlu
a1RpbWVDb25zdGFudDo6dHlwZWRBcnJheVNvcnQpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRp
YWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246
OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwg
U3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNTb3J0KSk7CiAgICAgICAgIH0pOwog
ICAgIG1fbGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29u
c3RhbnQ6OmlzVHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVy
PEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0
ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5n
KCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1R5cGVkQXJyYXlWaWV3LCBJc1R5cGVkQXJy
YXlWaWV3SW50cmluc2ljKSk7CiAgICAgICAgIH0pOworICAgIG1fbGlua1RpbWVDb25zdGFudHNb
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6OmlzQmlnSW50VHlwZWRBcnJh
eVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsK
KyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8
SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIHR5cGVkQXJyYXlWaWV3
UHJpdmF0ZUZ1bmNJc0JpZ0ludFR5cGVkQXJyYXlWaWV3KSk7CisgICAgICAgIH0pOwogICAgIG1f
bGlua1RpbWVDb25zdGFudHNbc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KExpbmtUaW1lQ29uc3RhbnQ6
OmlzU2hhcmVkVHlwZWRBcnJheVZpZXcpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVy
PEpTQ2VsbD4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0
ZShpbml0LnZtLCBqc0Nhc3Q8SlNHbG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5n
KCksIHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVkQXJyYXlWaWV3KSk7CiAg
ICAgICAgIH0pOwpAQCAtMTIzNCw2ICsxMjQyLDkgQEAgY2FwaXRhbE5hbWUgIyMgQ29uc3RydWN0
b3IqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGZlYXR1cmVGbGFnID8gY2FwaXRhbE5hbWUK
ICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVuc2lnbmVkPihMaW5rVGltZUNv
bnN0YW50OjppbnN0YW5jZU9mKV0uaW5pdExhdGVyKFtdIChjb25zdCBJbml0aWFsaXplcjxKU0Nl
bGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5p
dC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25lciksIDAsIFN0cmluZygpLCBv
YmplY3RQcml2YXRlRnVuY0luc3RhbmNlT2YpKTsKICAgICAgICAgfSk7CisgICAgbV9saW5rVGlt
ZUNvbnN0YW50c1tzdGF0aWNfY2FzdDx1bnNpZ25lZD4oTGlua1RpbWVDb25zdGFudDo6dG9CaWdJ
bnQpXS5pbml0TGF0ZXIoW10gKGNvbnN0IEluaXRpYWxpemVyPEpTQ2VsbD4mIGluaXQpIHsKKyAg
ICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBqc0Nhc3Q8SlNH
bG9iYWxPYmplY3QqPihpbml0Lm93bmVyKSwgMCwgU3RyaW5nKCksIGdsb2JhbEZ1bmNUb0JpZ0lu
dCkpOworICAgICAgICB9KTsKICAgICBtX2xpbmtUaW1lQ29uc3RhbnRzW3N0YXRpY19jYXN0PHVu
c2lnbmVkPihMaW5rVGltZUNvbnN0YW50OjpCdWlsdGluTG9nKV0uaW5pdExhdGVyKFtdIChjb25z
dCBJbml0aWFsaXplcjxKU0NlbGw+JiBpbml0KSB7CiAgICAgICAgICAgICBpbml0LnNldChKU0Z1
bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwganNDYXN0PEpTR2xvYmFsT2JqZWN0Kj4oaW5pdC5vd25l
ciksIDEsIFN0cmluZygpLCBnbG9iYWxGdW5jQnVpbHRpbkxvZykpOwogICAgICAgICB9KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
RnVuY3Rpb25zLmNwcAppbmRleCBkNGRmMDMzZTljMzFhNTQ4MzAzY2M5NTNjYTU5MjlmMWFjZGVm
ZDJlLi4yYzZkYTk2NGNjZmI4NTYzMzRmYjdjMmM4YTE5NmRlZWQ2OTJhNTQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3RGdW5j
dGlvbnMuY3BwCkBAIC05NjcsNCArOTY3LDkgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGds
b2JhbEZ1bmNEYXRlVGltZUZvcm1hdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QKICAg
ICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShkYXRlVGltZUZvcm1h
dC0+Zm9ybWF0KGdsb2JhbE9iamVjdCwgdmFsdWUpKSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTihnbG9iYWxGdW5jVG9CaWdJbnQsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShj
YWxsRnJhbWUtPmFyZ3VtZW50KDApLnRvQmlnSW50KGdsb2JhbE9iamVjdCkpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oCmluZGV4IDRkZmI3ZWY2ZDZkZGYwMTZkMzBkYWRj
NjQxZWZiM2I3NWJiZTRlMDUuLmNjOGFmYmM0NmM3MzgyYmQ4MjdiYTVmM2M0YTk1ZjJlMjdkMmMy
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3RGdW5jdGlvbnMuaApAQCAtNTksNiArNTksNyBAQCBKU0NfREVDTEFSRV9IT1NUX0ZV
TkNUSU9OKGdsb2JhbEZ1bmNJbXBvcnRNb2R1bGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElP
TihnbG9iYWxGdW5jUHJvcGVydHlJc0VudW1lcmFibGUpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5D
VElPTihnbG9iYWxGdW5jQ29weURhdGFQcm9wZXJ0aWVzKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVO
Q1RJT04oZ2xvYmFsRnVuY0RhdGVUaW1lRm9ybWF0KTsKK0pTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJ
T04oZ2xvYmFsRnVuY1RvQmlnSW50KTsKIAogSlNfRVhQT1JUX1BSSVZBVEUgZG91YmxlIGpzVG9O
dW1iZXIoU3RyaW5nVmlldyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGUu
Y3BwCmluZGV4IDQ2MmYzZWRlMzI1ZDZkNDY0ZTZkNjNlM2Q1ZDcwZWE4YWVjYjBlMjQuLmZjYjY5
N2MyZDA5ZThiZjc1MzA2ODQ4ZTNiYzE4MDNkMTc3ODUzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNUeXBlLmNwcApAQCAtODQsNiArODQsOCBAQCB2b2lkIHByaW50SW50ZXJu
YWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpKU1R5cGUgdHlwZSkKICAgICBDQVNFKFVpbnQzMkFy
cmF5VHlwZSkKICAgICBDQVNFKEZsb2F0MzJBcnJheVR5cGUpCiAgICAgQ0FTRShGbG9hdDY0QXJy
YXlUeXBlKQorICAgIENBU0UoQmlnSW50NjRBcnJheVR5cGUpCisgICAgQ0FTRShCaWdVaW50NjRB
cnJheVR5cGUpCiAgICAgQ0FTRShEYXRhVmlld1R5cGUpCiAgICAgQ0FTRShHZXR0ZXJTZXR0ZXJU
eXBlKQogICAgIENBU0UoR2xvYmFsT2JqZWN0VHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNUeXBlLmgKaW5kZXggMzZiMTc0YzVmNTg0Y2FmZTFkZTIwYjIwNjNmYmE4YjJkNWZhNmQ5
Ny4uMDFhZjkzZTg1MjJmNjI4MTc3OTRmNGI2OWE1ZjM1NGYwMjk3MjM1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAgLTg3LDYgKzg3LDggQEAgZW51bSBKU1R5cGUg
OiB1aW50OF90IHsKICAgICBVaW50MzJBcnJheVR5cGUsCiAgICAgRmxvYXQzMkFycmF5VHlwZSwK
ICAgICBGbG9hdDY0QXJyYXlUeXBlLAorICAgIEJpZ0ludDY0QXJyYXlUeXBlLAorICAgIEJpZ1Vp
bnQ2NEFycmF5VHlwZSwKICAgICBEYXRhVmlld1R5cGUsCiAgICAgLy8gRW5kIEpTQXJyYXlCdWZm
ZXJWaWV3IHR5cGVzLgogCkBAIC0xNDEsNiArMTQzLDcgQEAgc3RhdGljIGNvbnN0ZXhwciB1aW50
MzJfdCBMYXN0T2JqZWN0VHlwZSA9IE1heEpTVHlwZTsKIAogc3RhdGljIGNvbnN0ZXhwciB1aW50
MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlcyA9IExhc3RUeXBlZEFycmF5VHlwZSAtIEZpcnN0
VHlwZWRBcnJheVR5cGUgKyAxOwogc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5
cGVkQXJyYXlUeXBlc0V4Y2x1ZGluZ0RhdGFWaWV3ID0gTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXMg
LSAxOworc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBOdW1iZXJPZlR5cGVkQXJyYXlUeXBlc0V4
Y2x1ZGluZ0JpZ0ludEFycmF5c0FuZERhdGFWaWV3ID0gTnVtYmVyT2ZUeXBlZEFycmF5VHlwZXMg
LSAzOwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihKU1R5cGUpID09IHNpemVvZih1aW50OF90KSwg
InNpemVvZihKU1R5cGUpIGlzIG9uZSBieXRlLiIpOwogc3RhdGljX2Fzc2VydChMYXN0SlNDT2Jq
ZWN0VHlwZSA8IDBiMTExMDAwMDAsICJFbWJlZGRlciBjYW4gdXNlIDBiMTExMDAwMDAgb3IgdXBw
ZXIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNU
eXBlZEFycmF5Q29uc3RydWN0b3JzLmNwcAppbmRleCA4NGU2NTExMjZmNDI4ZGNhOGVkZGE0Mzk0
NmRkNzBjMWUxNzg0MmVlLi45NWFiZWM1NDA5YTMxZWE3ODMxM2QzYzVmMzlhZGI0NTg1YjhmYWQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy5jcHAKQEAgLTQzLDYgKzQzLDggQEAgTUFLRV9TX0lORk8oVWlu
dDE2QXJyYXkpOwogTUFLRV9TX0lORk8oVWludDMyQXJyYXkpOwogTUFLRV9TX0lORk8oRmxvYXQz
MkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0NjRBcnJheSk7CitNQUtFX1NfSU5GTyhCaWdJbnQ2
NEFycmF5KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NEFycmF5KTsKIE1BS0VfU19JTkZPKERhdGFW
aWV3KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCmluZGV4IDAxOTIwYTQx
ZTA5YWEzNzM0MTJiZjZiOTBkZDg3M2I3YmU1NzE4ZGMuLjA2NDU1MzA5MjI4YTBlYmU5ZGExM2E3
NDA4NDgxMTNhMzIzZjE5MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVHlwZWRBcnJheUNvbnN0cnVjdG9ycy5oCkBAIC00MCw2ICs0MCw4IEBAIHVz
aW5nIEpTVWludDE2QXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29u
c3RydWN0b3I8SlNVaW50MTZBcnJhCiB1c2luZyBKU1VpbnQzMkFycmF5Q29uc3RydWN0b3IgPSBK
U0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTVWludDMyQXJyYXk+OwogdXNpbmcg
SlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3Ry
dWN0b3I8SlNGbG9hdDMyQXJyYXk+OwogdXNpbmcgSlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciA9
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3Q29uc3RydWN0b3I8SlNGbG9hdDY0QXJyYXk+OwordXNp
bmcgSlNCaWdJbnQ2NEFycmF5Q29uc3RydWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0Nv
bnN0cnVjdG9yPEpTQmlnSW50NjRBcnJheT47Cit1c2luZyBKU0JpZ1VpbnQ2NEFycmF5Q29uc3Ry
dWN0b3IgPSBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld0NvbnN0cnVjdG9yPEpTQmlnVWludDY0QXJy
YXk+OwogdXNpbmcgSlNEYXRhVmlld0NvbnN0cnVjdG9yID0gSlNHZW5lcmljVHlwZWRBcnJheVZp
ZXdDb25zdHJ1Y3RvcjxKU0RhdGFWaWV3PjsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKEpTSW50OEFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNJbnQxNkFycmF5Q29uc3RydWN0b3IsIElu
dGVybmFsRnVuY3Rpb24pOwpAQCAtNTAsNiArNTIsOCBAQCBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShKU1VpbnQxNkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24p
OwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNVaW50MzJBcnJheUNvbnN0
cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIFNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NI
QVJBQkxFKEpTRmxvYXQzMkFycmF5Q29uc3RydWN0b3IsIEludGVybmFsRnVuY3Rpb24pOwogU1RB
VElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNGbG9hdDY0QXJyYXlDb25zdHJ1Y3Rv
ciwgSW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJM
RShKU0JpZ0ludDY0QXJyYXlDb25zdHJ1Y3RvciwgSW50ZXJuYWxGdW5jdGlvbik7CitTVEFUSUNf
QVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU0JpZ1VpbnQ2NEFycmF5Q29uc3RydWN0b3Is
IEludGVybmFsRnVuY3Rpb24pOwogU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUo
SlNEYXRhVmlld0NvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uKTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVk
QXJyYXlQcm90b3R5cGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlw
ZWRBcnJheVByb3RvdHlwZXMuY3BwCmluZGV4IDJiYjE0NTI1ZjViZDExNjhjZjQ2NzMxNzM5OTMy
NzY4NzgxMDkwNTYuLmJhODE4ZWEzMDgyZmY0MDRjOWQ0YTdmMTQxODFlYzk3N2I4MTkzMGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3Rv
dHlwZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eVByb3RvdHlwZXMuY3BwCkBAIC00Nyw2ICs0Nyw4IEBAIE1BS0VfU19JTkZPKFVpbnQxNkFycmF5
KTsKIE1BS0VfU19JTkZPKFVpbnQzMkFycmF5KTsKIE1BS0VfU19JTkZPKEZsb2F0MzJBcnJheSk7
CiBNQUtFX1NfSU5GTyhGbG9hdDY0QXJyYXkpOworTUFLRV9TX0lORk8oQmlnSW50NjRBcnJheSk7
CitNQUtFX1NfSU5GTyhCaWdVaW50NjRBcnJheSk7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90
b3R5cGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlQcm90
b3R5cGVzLmgKaW5kZXggMDdiOTY4NjkzZTgwZjQ1ODU4NmNjMTJiYzVkYWZmZWZhNDFlMzU5OS4u
NTExYjExMjg4Nzg4NWNjNTdhODE4MzIzZjIzYWFlNDJkMWFhOWY4NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlZEFycmF5UHJvdG90eXBlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVByb3RvdHlwZXMuaApA
QCAtMzksNSArMzksNyBAQCB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBl
PEpTVWludDE2QXJyYXk+IEpTVWludDE2QXJyYXlQcm90b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTVWludDMyQXJyYXk+IEpTVWludDMyQXJyYXlQcm90
b3R5cGU7CiB0eXBlZGVmIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlPEpTRmxvYXQz
MkFycmF5PiBKU0Zsb2F0MzJBcnJheVByb3RvdHlwZTsKIHR5cGVkZWYgSlNHZW5lcmljVHlwZWRB
cnJheVZpZXdQcm90b3R5cGU8SlNGbG9hdDY0QXJyYXk+IEpTRmxvYXQ2NEFycmF5UHJvdG90eXBl
OwordHlwZWRlZiBKU0dlbmVyaWNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZTxKU0JpZ0ludDY0QXJy
YXk+IEpTQmlnSW50NjRBcnJheVByb3RvdHlwZTsKK3R5cGVkZWYgSlNHZW5lcmljVHlwZWRBcnJh
eVZpZXdQcm90b3R5cGU8SlNCaWdVaW50NjRBcnJheT4gSlNCaWdVaW50NjRBcnJheVByb3RvdHlw
ZTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwCmluZGV4IGVmMmM5
MTBjZGI0Y2VkZGY3MzM1YjA1NTdjZGVmNjhlOTAwMmI3OTcuLjM2YTVhMTA2YzIyYjYyYjVmNWUz
ZmFjYWIwMzU4ZjMzMzE3ZTJiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwCkBAIC03Miw2ICs3
MiwxMCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1By
b3RvR2V0dGVyRnVuY1RvU3RyaW5nVGFnKTsKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxK
U0ludDE2QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVVaW50MTY6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg
ICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU1VpbnQxNkFycmF5Pih2bSwgZ2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdJ
bnQ2NDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0Jp
Z0ludDY0QXJyYXk+KHZtLCBnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSk7ICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgcmV0dXJuIGZ1bmN0aW9uTmFtZTxKU0JpZ1VpbnQ2NEFycmF5Pih2bSwgZ2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUpOyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIE5vdFR5cGVkQXJy
YXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIFR5cGVEYXRhVmlldzogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29w
ZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTg2LDYg
KzkwLDEyIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVG
dW5jSXNUeXBlZEFycmF5VmlldywgKEpTR2xvYmFsT2JqCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc0Jvb2xlYW4odmFsdWUuaXNDZWxsKCkgJiYgaXNUeXBlZFZpZXcodmFsdWUuYXNDZWxs
KCktPmNsYXNzSW5mbyhnbG9iYWxPYmplY3QtPnZtKCkpLT50eXBlZEFycmF5U3RvcmFnZVR5cGUp
KSk7CiB9CiAKK0pTQ19ERUZJTkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVG
dW5jSXNCaWdJbnRUeXBlZEFycmF5VmlldywgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBKU1ZhbHVlIHZhbHVlID0gY2FsbEZyYW1l
LT51bmNoZWNrZWRBcmd1bWVudCgwKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9v
bGVhbih2YWx1ZS5pc0NlbGwoKSAmJiBpc0JpZ0ludFR5cGVkVmlldyh2YWx1ZS5hc0NlbGwoKS0+
Y2xhc3NJbmZvKGdsb2JhbE9iamVjdC0+dm0oKSktPnR5cGVkQXJyYXlTdG9yYWdlVHlwZSkpKTsK
K30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJ
c1NoYXJlZFR5cGVkQXJyYXlWaWV3LCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIEpTVmFsdWUgdmFsdWUgPSBjYWxsRnJhbWUtPnVu
Y2hlY2tlZEFyZ3VtZW50KDApOwpAQCAtMTcxLDYgKzE4MSwxNiBAQCBKU0NfREVGSU5FX0hPU1Rf
RlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2YXRlRnVuY0xlbmd0aCwgKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIodGhpc09iamVjdC0+
bGVuZ3RoKCkpKTsKIH0KIAorSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3
UHJpdmF0ZUZ1bmNDb250ZW50VHlwZSwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENh
bGxGcmFtZSogY2FsbEZyYW1lKSkKK3sKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTVmFsdWUg
YXJndW1lbnQgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgIGlmICghYXJndW1lbnQuaXND
ZWxsKCkgfHwgIWlzVHlwZWRWaWV3KGFyZ3VtZW50LmFzQ2VsbCgpLT5jbGFzc0luZm8odm0pLT50
eXBlZEFycmF5U3RvcmFnZVR5cGUpKQorICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihn
bG9iYWxPYmplY3QsIHNjb3BlLCAiUmVjZWl2ZXIgc2hvdWxkIGJlIGEgdHlwZWQgYXJyYXkgdmll
dyJfcyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihzdGF0aWNfY2FzdDxp
bnQzMl90Pihjb250ZW50VHlwZShhcmd1bWVudC5hc0NlbGwoKS0+Y2xhc3NJbmZvKHZtKS0+dHlw
ZWRBcnJheVN0b3JhZ2VUeXBlKSkpKTsKK30KKwogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKHR5
cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNHZXRPcmlnaW5hbENvbnN0cnVjdG9yLCAoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUpKQogewogICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTM4OCw2ICs0MDgsMTAgQEAgSlNDX0RFRklORV9I
T1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJvdG9HZXR0ZXJGdW5jVG9TdHJpbmdUYWcsIChK
U0dsb2JhbE9iamUKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05vbnRyaXZpYWxT
dHJpbmcodm0sICJJbnQxNkFycmF5Il9zKSk7CiAgICAgY2FzZSBUeXBlVWludDE2OgogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTm9udHJpdmlhbFN0cmluZyh2bSwgIlVpbnQxNkFy
cmF5Il9zKSk7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOb250cml2aWFsU3RyaW5nKHZtLCAiQmlnSW50NjRBcnJheSJfcykpOworICAg
IGNhc2UgVHlwZUJpZ1VpbnQ2NDoKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc05v
bnRyaXZpYWxTdHJpbmcodm0sICJCaWdVaW50NjRBcnJheSJfcykpOwogICAgIGNhc2UgTm90VHlw
ZWRBcnJheToKICAgICBjYXNlIFR5cGVEYXRhVmlldzoKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuaAppbmRleCBkMzUzMGZmNmQ2
MTRlZmUwZDIyMTI3YzM4Zjk2OTBjMmNjZjIwZWY0Li5hMmE2NDMxNzZlZDJkM2E4MDZjMTI1YmFj
Y2NkNzcwODZmYTMzYzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5oCkBAIC01MiwxMSArNTIsMTMgQEAg
Y2xhc3MgSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZSBmaW5hbCA6IHB1YmxpYyBKU05vbkZpbmFs
T2JqZWN0IHsKIH07CiAKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQ
cml2YXRlRnVuY0lzVHlwZWRBcnJheVZpZXcpOworSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0
eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jSXNCaWdJbnRUeXBlZEFycmF5Vmlldyk7CiBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNJc1NoYXJlZFR5cGVk
QXJyYXlWaWV3KTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04odHlwZWRBcnJheVZpZXdQcml2
YXRlRnVuY0lzRGV0YWNoZWQpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5
Vmlld1ByaXZhdGVGdW5jRGVmYXVsdENvbXBhcmF0b3IpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5D
VElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jU29ydCk7CiBKU0NfREVDTEFSRV9IT1NUX0ZV
TkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJpdmF0ZUZ1bmNMZW5ndGgpOworSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jQ29udGVudFR5cGUpOwogSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTih0eXBlZEFycmF5Vmlld1ByaXZhdGVGdW5jR2V0T3JpZ2luYWxD
b25zdHJ1Y3Rvcik7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKHR5cGVkQXJyYXlWaWV3UHJp
dmF0ZUZ1bmNTdWJhcnJheUNyZWF0ZSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuY3BwCmluZGV4IDRiOWY5NWNmNjMxYmRhNTM1NGU3NTFh
ZDQwMjkxNjJjZGE3ZjdiYzguLjkwYjMwNDU2NzBhZjBhYmUyZjZkMDI3ZWRlOWQ4ODVmZmYwNGFm
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJh
eXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMu
Y3BwCkBAIC02MSw2ICs2MSw4IEBAIE1BS0VfU19JTkZPKFVpbnQxNik7CiBNQUtFX1NfSU5GTyhV
aW50MzIpOwogTUFLRV9TX0lORk8oRmxvYXQzMik7CiBNQUtFX1NfSU5GTyhGbG9hdDY0KTsKK01B
S0VfU19JTkZPKEJpZ0ludDY0KTsKK01BS0VfU19JTkZPKEJpZ1VpbnQ2NCk7CiAKIE1BS0VfQ09O
U1RSVUNUT1JTKERhdGFWaWV3KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlZEFycmF5cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNUeXBlZEFycmF5cy5oCmluZGV4IGMzODEyOTg0YjRkN2I4N2JiMWUzMDFlMjE5N2I4NjA1YzBm
ZWNhYzEuLmEzMDNhMDc4OGEwNDRhMGVmODY0NjhjMzA1ZDFlNmZlZjhhMjNhNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZWRBcnJheXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1R5cGVkQXJyYXlzLmgKQEAgLTM5LDYgKzM5
LDggQEAgdXNpbmcgSlNVaW50MTZBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQx
NkFkYXB0b3I+OwogdXNpbmcgSlNVaW50MzJBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
PFVpbnQzMkFkYXB0b3I+OwogdXNpbmcgSlNGbG9hdDMyQXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFy
cmF5VmlldzxGbG9hdDMyQWRhcHRvcj47CiB1c2luZyBKU0Zsb2F0NjRBcnJheSA9IEpTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9yPjsKK3VzaW5nIEpTQmlnSW50NjRBcnJheSA9
IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEJpZ0ludDY0QWRhcHRvcj47Cit1c2luZyBKU0JpZ1Vp
bnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnVWludDY0QWRhcHRvcj47CiAK
IEpTX0VYUE9SVF9QUklWQVRFIEpTVWludDhBcnJheSogY3JlYXRlVWludDhUeXBlZEFycmF5KEpT
R2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgUmVmUHRyPEFycmF5QnVmZmVyPiYmLCB1bnNpZ25l
ZCBieXRlT2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Ub05hdGl2ZUZyb21WYWx1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVG9OYXRpdmVGcm9tVmFsdWUuaAppbmRleCAyNTMyNmQ2MGQ2ZDU5NGNl
MjU3OTc2NTg2MTQxNTU5ZTAzZmY4ZWJhLi43NDYwODk1ZjRiZjJlNzM3NmQwMTMzMzcxNTM3NWYz
YWI1OTQxM2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Ub05h
dGl2ZUZyb21WYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1RvTmF0
aXZlRnJvbVZhbHVlLmgKQEAgLTI2LDEyICsyNiwxNCBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiVHlwZWRBcnJheUFkYXB0b3JzLmgiCiAKIG5h
bWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogdHlwZW5hbWUgQWRh
cHRvcjo6VHlwZSB0b05hdGl2ZUZyb21WYWx1ZShKU1ZhbHVlIHZhbHVlKQogeworICAgIC8vIEZJ
WE1FOiBCaWdJbnQKICAgICBpZiAodmFsdWUuaXNJbnQzMigpKQogICAgICAgICByZXR1cm4gQWRh
cHRvcjo6dG9OYXRpdmVGcm9tSW50MzIodmFsdWUuYXNJbnQzMigpKTsKICAgICByZXR1cm4gQWRh
cHRvcjo6dG9OYXRpdmVGcm9tRG91YmxlKHZhbHVlLmFzRG91YmxlKCkpOwpAQCAtNDAsMjEgKzQy
LDM3IEBAIHR5cGVuYW1lIEFkYXB0b3I6OlR5cGUgdG9OYXRpdmVGcm9tVmFsdWUoSlNWYWx1ZSB2
YWx1ZSkKIHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+CiB0eXBlbmFtZSBBZGFwdG9yOjpUeXBl
IHRvTmF0aXZlRnJvbVZhbHVlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUg
dmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKLSAgICAgICAgcmV0dXJuIEFkYXB0
b3I6OnRvTmF0aXZlRnJvbUludDMyKHZhbHVlLmFzSW50MzIoKSk7Ci0gICAgaWYgKHZhbHVlLmlz
TnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFs
dWUuYXNEb3VibGUoKSk7Ci0gICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbURvdWJsZSh2
YWx1ZS50b051bWJlcihnbG9iYWxPYmplY3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNf
c2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4gfHwgc3RkOjppc19zYW1lX3Y8QWRhcHRv
ciwgQmlnVWludDY0QWRhcHRvcj4pIHsKKyAgICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3Nh
bWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0b3I+KQorICAgICAgICAgICAgcmV0dXJuIHZhbHVl
LnRvQmlnSW50NjQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0
dXJuIHZhbHVlLnRvQmlnVUludDY0KGdsb2JhbE9iamVjdCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgaWYgKHZhbHVlLmlzSW50MzIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05h
dGl2ZUZyb21JbnQzMih2YWx1ZS5hc0ludDMyKCkpOworICAgICAgICBpZiAodmFsdWUuaXNOdW1i
ZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3VibGUodmFs
dWUuYXNEb3VibGUoKSk7CisgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21Eb3Vi
bGUodmFsdWUudG9OdW1iZXIoZ2xvYmFsT2JqZWN0KSk7CisgICAgfQogfQogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBBZGFwdG9yPgogT3B0aW9uYWw8dHlwZW5hbWUgQWRhcHRvcjo6VHlwZT4gdG9OYXRp
dmVGcm9tVmFsdWVXaXRob3V0Q29lcmNpb24oSlNWYWx1ZSB2YWx1ZSkKIHsKLSAgICBpZiAoIXZh
bHVlLmlzTnVtYmVyKCkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKHZh
bHVlLmlzSW50MzIoKSkKLSAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvTmF0aXZlRnJvbUludDMy
V2l0aG91dENvZXJjaW9uKHZhbHVlLmFzSW50MzIoKSk7Ci0gICAgcmV0dXJuIEFkYXB0b3I6OnRv
TmF0aXZlRnJvbURvdWJsZVdpdGhvdXRDb2VyY2lvbih2YWx1ZS5hc0RvdWJsZSgpKTsKKyAgICBp
ZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZV92PEFkYXB0b3IsIEJpZ0ludDY0QWRhcHRvcj4gfHwg
c3RkOjppc19zYW1lX3Y8QWRhcHRvciwgQmlnVWludDY0QWRhcHRvcj4pIHsKKyAgICAgICAgaWYg
KCF2YWx1ZS5pc0JpZ0ludCgpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3NhbWVfdjxBZGFwdG9yLCBCaWdJbnQ2NEFkYXB0
b3I+KQorICAgICAgICAgICAgcmV0dXJuIEpTQmlnSW50Ojp0b0JpZ0ludDY0KHZhbHVlKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIEpTQmlnSW50Ojp0b0JpZ1VJbnQ2NCh2YWx1
ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCF2YWx1ZS5pc051bWJlcigpKQorICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgaWYgKHZhbHVlLmlzSW50MzIoKSkK
KyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b05hdGl2ZUZyb21JbnQzMldpdGhvdXRDb2Vy
Y2lvbih2YWx1ZS5hc0ludDMyKCkpOworICAgICAgICByZXR1cm4gQWRhcHRvcjo6dG9OYXRpdmVG
cm9tRG91YmxlV2l0aG91dENvZXJjaW9uKHZhbHVlLmFzRG91YmxlKCkpOworICAgIH0KIH0KIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlZEFycmF5QWRhcHRvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVkQXJyYXlBZGFwdG9ycy5oCmluZGV4IGUzMjRkNDBhMjYzMTgyYjcyM2IzNjdiYTI5MGMx
MWYyZDYwMTA4ZjMuLjNkOWIzZTQ3ZmMwNWJlOTcyOTY0Mzc3YTA3MTY2OGE0ZTIyNzQwN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9y
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlBZGFwdG9y
cy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiSlNCaWdJ
bnQuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTWF0aENvbW1vbi5oIgog
I2luY2x1ZGUgIlR5cGVkQXJyYXlUeXBlLmgiCkBAIC0zOSwyMSArNDAsMTggQEAgc3RydWN0IElu
dGVncmFsVHlwZWRBcnJheUFkYXB0b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBlOwogICAg
IHR5cGVkZWYgVmlld1R5cGVBcmcgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJn
IEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9
IHR5cGVWYWx1ZUFyZzsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWluVmFs
dWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4
cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5
cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVW
YWx1ZSA9IHR5cGVWYWx1ZUFyZzsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWluVmFs
dWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIFR5cGVBcmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+
OjptYXgoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5
ID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250
ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1Zh
bHVlIHRvSlNWYWx1ZShUeXBlIHZhbHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShK
U0dsb2JhbE9iamVjdCosIFR5cGUgdmFsdWUpCiAgICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0
KCFzdGQ6OmlzX2Zsb2F0aW5nX3BvaW50PFR5cGU+Ojp2YWx1ZSwgIiIpOwogICAgICAgICByZXR1
cm4ganNOdW1iZXIodmFsdWUpOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgZG91YmxlIHRvRG91
YmxlKFR5cGUgdmFsdWUpCi0gICAgewotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91Ymxl
Pih2YWx1ZSk7Ci0gICAgfQotICAgIAogICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMy
KGludDMyX3QgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4o
dmFsdWUpOwpAQCAtMTE1LDIwICsxMTMsMTcgQEAgc3RydWN0IEZsb2F0VHlwZWRBcnJheUFkYXB0
b3IgewogICAgIHR5cGVkZWYgVHlwZUFyZyBUeXBlOwogICAgIHR5cGVkZWYgVmlld1R5cGVBcmcg
Vmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1ZpZXdUeXBlQXJnIEpTVmlld1R5cGU7Ci0gICAgc3Rh
dGljIGNvbnN0IFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsKLSAgICBj
b25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKLSAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFR5cGVB
cmcgbWF4VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlUeXBlIHR5cGVWYWx1ZSA9IHR5cGVWYWx1ZUFyZzsK
KyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWluVmFsdWUgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFR5cGVBcmc+Ojpsb3dlc3QoKTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVBcmcgbWF4
VmFsdWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFR5cGVBcmc+OjptYXgoKTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIGJvb2wgY2FuQ29udmVydFRvSlNRdWlja2x5ID0gdHJ1ZTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBjb250ZW50VHlwZSA9IEpTQzo6Y29udGVu
dFR5cGUodHlwZVZhbHVlKTsKIAotICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShUeXBlIHZh
bHVlKQorICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCosIFR5cGUg
dmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4ganNEb3VibGVOdW1iZXIocHVyaWZ5TmFOKHZh
bHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGRvdWJsZSB0b0RvdWJsZShUeXBlIHZhbHVlKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4odmFsdWUpOwotICAgIH0K
LQogICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCiAgICAg
ewogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUpOwpAQCAtMTcyLDYgKzE2
Nyw0NyBAQCBzdHJ1Y3QgRmxvYXRUeXBlZEFycmF5QWRhcHRvciB7CiAgICAgfQogfTsKIAordGVt
cGxhdGU8CisgICAgdHlwZW5hbWUgVHlwZUFyZywgdHlwZW5hbWUgVmlld1R5cGVBcmcsIHR5cGVu
YW1lIEpTVmlld1R5cGVBcmcsCisgICAgVHlwZWRBcnJheVR5cGUgdHlwZVZhbHVlQXJnPgorc3Ry
dWN0IEJpZ0ludFR5cGVkQXJyYXlBZGFwdG9yIHsKKyAgICB0eXBlZGVmIFR5cGVBcmcgVHlwZTsK
KyAgICB0eXBlZGVmIFZpZXdUeXBlQXJnIFZpZXdUeXBlOworICAgIHR5cGVkZWYgSlNWaWV3VHlw
ZUFyZyBKU1ZpZXdUeXBlOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRBcnJheVR5cGUgdHlw
ZVZhbHVlID0gdHlwZVZhbHVlQXJnOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZUFyZyBtaW5W
YWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFyZz46Omxvd2VzdCgpOworICAgIHN0YXRp
YyBjb25zdGV4cHIgVHlwZUFyZyBtYXhWYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8VHlwZUFy
Zz46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBjYW5Db252ZXJ0VG9KU1F1aWNr
bHkgPSBmYWxzZTsKKyAgICBzdGF0aWMgY29uc3RleHByIFR5cGVkQXJyYXlDb250ZW50VHlwZSBj
b250ZW50VHlwZSA9IEpTQzo6Y29udGVudFR5cGUodHlwZVZhbHVlKTsKKworICAgIHN0YXRpYyBK
U1ZhbHVlIHRvSlNWYWx1ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUeXBlIHZhbHVl
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBK
U0JpZ0ludDo6bWFrZUhlYXBCaWdJbnRPckJpZ0ludDMyKGdsb2JhbE9iamVjdCwgdmFsdWUpOwor
ICAgIH0KKworICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUp
CisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VHlwZT4odmFsdWUpOworICAgIH0K
KworICAgIHN0YXRpYyBUeXBlIHRvTmF0aXZlRnJvbVVpbnQzMih1aW50MzJfdCB2YWx1ZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPih2YWx1ZSk7CisgICAgfQorCisg
ICAgc3RhdGljIFR5cGUgdG9OYXRpdmVGcm9tRG91YmxlKGRvdWJsZSB2YWx1ZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPih2YWx1ZSk7CisgICAgfQorCisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgT3RoZXJBZGFwdG9yPgorICAgIHN0YXRpYyB0eXBlbmFtZSBPdGhlckFk
YXB0b3I6OlR5cGUgY29udmVydFRvKFR5cGUgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8dHlwZW5hbWUgT3RoZXJBZGFwdG9yOjpUeXBlPih2YWx1ZSk7CisgICAgfQor
fTsKKwogc3RydWN0IEludDhBZGFwdG9yOwogc3RydWN0IEludDE2QWRhcHRvcjsKIHN0cnVjdCBJ
bnQzMkFkYXB0b3I7CkBAIC0xODEsNiArMjE3LDggQEAgc3RydWN0IFVpbnQxNkFkYXB0b3I7CiBz
dHJ1Y3QgVWludDMyQWRhcHRvcjsKIHN0cnVjdCBGbG9hdDMyQWRhcHRvcjsKIHN0cnVjdCBGbG9h
dDY0QWRhcHRvcjsKK3N0cnVjdCBCaWdJbnQ2NEFkYXB0b3I7CitzdHJ1Y3QgQmlnVWludDY0QWRh
cHRvcjsKIAogdGVtcGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4gY2xhc3MgR2VuZXJpY1R5cGVkQXJy
YXlWaWV3OwogdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8SW50OEFkYXB0b3I+IEludDhB
cnJheTsKQEAgLTE5Miw2ICsyMzAsOCBAQCB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxV
aW50MTZBZGFwdG9yPiBVaW50MTZBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3
PFVpbnQzMkFkYXB0b3I+IFVpbnQzMkFycmF5OwogdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZp
ZXc8RmxvYXQzMkFkYXB0b3I+IEZsb2F0MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJy
YXlWaWV3PEZsb2F0NjRBZGFwdG9yPiBGbG9hdDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBl
ZEFycmF5VmlldzxCaWdJbnQ2NEFkYXB0b3I+IEJpZ0ludDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVy
aWNUeXBlZEFycmF5VmlldzxCaWdVaW50NjRBZGFwdG9yPiBCaWdVaW50NjRBcnJheTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgQWRhcHRvcj4gY2xhc3MgSlNHZW5lcmljVHlwZWRBcnJheVZpZXc7CiB1
c2luZyBKU0ludDhBcnJheSA9IEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEludDhBZGFwdG9yPjsK
QEAgLTIwMyw2ICsyNDMsOCBAQCB1c2luZyBKU1VpbnQxNkFycmF5ID0gSlNHZW5lcmljVHlwZWRB
cnJheVZpZXc8VWludDE2QWRhcHRvcj47CiB1c2luZyBKU1VpbnQzMkFycmF5ID0gSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXc8VWludDMyQWRhcHRvcj47CiB1c2luZyBKU0Zsb2F0MzJBcnJheSA9IEpT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0MzJBZGFwdG9yPjsKIHVzaW5nIEpTRmxvYXQ2NEFy
cmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8RmxvYXQ2NEFkYXB0b3I+OwordXNpbmcgSlNC
aWdJbnQ2NEFycmF5ID0gSlNHZW5lcmljVHlwZWRBcnJheVZpZXc8QmlnSW50NjRBZGFwdG9yPjsK
K3VzaW5nIEpTQmlnVWludDY0QXJyYXkgPSBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdVaW50
NjRBZGFwdG9yPjsKIAogc3RydWN0IEludDhBZGFwdG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRh
cHRvcjxpbnQ4X3QsIEludDhBcnJheSwgSlNJbnQ4QXJyYXksIFR5cGVJbnQ4PiB7IH07CiBzdHJ1
Y3QgSW50MTZBZGFwdG9yIDogSW50ZWdyYWxUeXBlZEFycmF5QWRhcHRvcjxpbnQxNl90LCBJbnQx
NkFycmF5LCBKU0ludDE2QXJyYXksIFR5cGVJbnQxNj4geyB9OwpAQCAtMjEyLDI1ICsyNTQsMjQg
QEAgc3RydWN0IFVpbnQxNkFkYXB0b3IgOiBJbnRlZ3JhbFR5cGVkQXJyYXlBZGFwdG9yPHVpbnQx
Nl90LCBVaW50MTZBcnJheSwgSlNVaW50MTYKIHN0cnVjdCBVaW50MzJBZGFwdG9yIDogSW50ZWdy
YWxUeXBlZEFycmF5QWRhcHRvcjx1aW50MzJfdCwgVWludDMyQXJyYXksIEpTVWludDMyQXJyYXks
IFR5cGVVaW50MzI+IHsgfTsKIHN0cnVjdCBGbG9hdDMyQWRhcHRvciA6IEZsb2F0VHlwZWRBcnJh
eUFkYXB0b3I8ZmxvYXQsIEZsb2F0MzJBcnJheSwgSlNGbG9hdDMyQXJyYXksIFR5cGVGbG9hdDMy
PiB7IH07CiBzdHJ1Y3QgRmxvYXQ2NEFkYXB0b3IgOiBGbG9hdFR5cGVkQXJyYXlBZGFwdG9yPGRv
dWJsZSwgRmxvYXQ2NEFycmF5LCBKU0Zsb2F0NjRBcnJheSwgVHlwZUZsb2F0NjQ+IHsgfTsKK3N0
cnVjdCBCaWdJbnQ2NEFkYXB0b3IgOiBCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjxpbnQ2NF90LCBC
aWdJbnQ2NEFycmF5LCBKU0JpZ0ludDY0QXJyYXksIFR5cGVCaWdJbnQ2ND4geyB9Oworc3RydWN0
IEJpZ1VpbnQ2NEFkYXB0b3IgOiBCaWdJbnRUeXBlZEFycmF5QWRhcHRvcjx1aW50NjRfdCwgQmln
VWludDY0QXJyYXksIEpTQmlnVWludDY0QXJyYXksIFR5cGVCaWdVaW50NjQ+IHsgfTsKIAogc3Ry
dWN0IFVpbnQ4Q2xhbXBlZEFkYXB0b3IgewogICAgIHR5cGVkZWYgdWludDhfdCBUeXBlOwogICAg
IHR5cGVkZWYgVWludDhDbGFtcGVkQXJyYXkgVmlld1R5cGU7CiAgICAgdHlwZWRlZiBKU1VpbnQ4
Q2xhbXBlZEFycmF5IEpTVmlld1R5cGU7Ci0gICAgc3RhdGljIGNvbnN0IFR5cGVkQXJyYXlUeXBl
IHR5cGVWYWx1ZSA9IFR5cGVVaW50OENsYW1wZWQ7Ci0gICAgY29uc3RleHByIHN0YXRpYyBjb25z
dCB1aW50OF90IG1pblZhbHVlID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50OF90Pjo6bG93ZXN0
KCk7Ci0gICAgY29uc3RleHByIHN0YXRpYyBjb25zdCB1aW50OF90IG1heFZhbHVlID0gc3RkOjpu
dW1lcmljX2xpbWl0czx1aW50OF90Pjo6bWF4KCk7CisgICAgc3RhdGljIGNvbnN0ZXhwciBUeXBl
ZEFycmF5VHlwZSB0eXBlVmFsdWUgPSBUeXBlVWludDhDbGFtcGVkOworICAgIHN0YXRpYyBjb25z
dGV4cHIgdWludDhfdCBtaW5WYWx1ZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDhfdD46Omxv
d2VzdCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBtYXhWYWx1ZSA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDhfdD46Om1heCgpOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBj
YW5Db252ZXJ0VG9KU1F1aWNrbHkgPSB0cnVlOworICAgIHN0YXRpYyBjb25zdGV4cHIgVHlwZWRB
cnJheUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlID0gSlNDOjpjb250ZW50VHlwZSh0eXBlVmFsdWUp
OwogCi0gICAgc3RhdGljIEpTVmFsdWUgdG9KU1ZhbHVlKHVpbnQ4X3QgdmFsdWUpCisgICAgc3Rh
dGljIEpTVmFsdWUgdG9KU1ZhbHVlKEpTR2xvYmFsT2JqZWN0KiwgdWludDhfdCB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIHJldHVybiBqc051bWJlcih2YWx1ZSk7CiAgICAgfQogCi0gICAgc3RhdGlj
IGRvdWJsZSB0b0RvdWJsZSh1aW50OF90IHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGRvdWJsZT4odmFsdWUpOwotICAgIH0KLQogICAgIHN0YXRpYyBUeXBlIHRvTmF0
aXZlRnJvbUludDMyKGludDMyX3QgdmFsdWUpCiAgICAgewogICAgICAgICByZXR1cm4gY2xhbXAo
dmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRB
cnJheVR5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5
cGUuY3BwCmluZGV4IGMyNDE4NWI4OTI0ZjY2OWIxZDdlYTY5ZmFjNTI1NTljMWNhYTFkMzMuLmYy
OTZlMzc0OTI1YTJmMDkwYmNhY2Q2MTNhZWU5MDNjZGJlODI3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFycmF5VHlwZS5jcHAKQEAgLTUzLDYgKzUzLDEw
IEBAIGNvbnN0IENsYXNzSW5mbyogY29uc3RydWN0b3JDbGFzc0luZm9Gb3JUeXBlKFR5cGVkQXJy
YXlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBKU0Zsb2F0MzJBcnJheUNvbnN0cnVjdG9yOjpp
bmZvKCk7CiAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgcmV0dXJuIEpTRmxvYXQ2NEFy
cmF5Q29uc3RydWN0b3I6OmluZm8oKTsKKyAgICBjYXNlIFR5cGVCaWdJbnQ2NDoKKyAgICAgICAg
cmV0dXJuIEpTQmlnSW50NjRBcnJheUNvbnN0cnVjdG9yOjppbmZvKCk7CisgICAgY2FzZSBUeXBl
QmlnVWludDY0OgorICAgICAgICByZXR1cm4gSlNCaWdVaW50NjRBcnJheUNvbnN0cnVjdG9yOjpp
bmZvKCk7CiAgICAgY2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgIHJldHVybiBKU0RhdGFWaWV3
Q29uc3RydWN0b3I6OmluZm8oKTsKICAgICB9CkBAIC05OSw2ICsxMDMsMTIgQEAgdm9pZCBwcmlu
dEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIFR5cGVkQXJyYXlUeXBlIHR5cGUpCiAgICAgY2Fz
ZSBUeXBlRmxvYXQ2NDoKICAgICAgICAgb3V0LnByaW50KCJUeXBlRmxvYXQ2NCIpOwogICAgICAg
ICByZXR1cm47CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgICAgIG91dC5wcmludCgiVHlw
ZUJpZ0ludDY0Iik7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFR5cGVCaWdVaW50NjQ6Cisg
ICAgICAgIG91dC5wcmludCgiVHlwZUJpZ1VpbnQ2NCIpOworICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBUeXBlRGF0YVZpZXc6CiAgICAgICAgIG91dC5wcmludCgiVHlwZURhdGFWaWV3Iik7CiAg
ICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVkQXJyYXlUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlZEFy
cmF5VHlwZS5oCmluZGV4IDA3ZDE3NTNhYjhjYzI4MGM4ZDZkZGM5MTM3YjQwYTc0NzQzODJiNGYu
LjZmNDBlMWNmOGYwN2EwYmZmZDJkN2MyYzI0OTAyNWMyZDUwZDM2NDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlUeXBlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheVR5cGUuaApAQCAtNDIsNyArNDIsOSBA
QCBzdHJ1Y3QgQ2xhc3NJbmZvOwogICAgIG1hY3JvKEludDMyKSBcCiAgICAgbWFjcm8oVWludDMy
KSBcCiAgICAgbWFjcm8oRmxvYXQzMikgXAotICAgIG1hY3JvKEZsb2F0NjQpCisgICAgbWFjcm8o
RmxvYXQ2NCkgXAorICAgIG1hY3JvKEJpZ0ludDY0KSBcCisgICAgbWFjcm8oQmlnVWludDY0KQog
CiAjZGVmaW5lIEZPUl9FQUNIX1RZUEVEX0FSUkFZX1RZUEUobWFjcm8pIFwKICAgICBGT1JfRUFD
SF9UWVBFRF9BUlJBWV9UWVBFX0VYQ0xVRElOR19EQVRBX1ZJRVcobWFjcm8pIFwKQEAgLTU1LDYg
KzU3LDEyIEBAIGVudW0gVHlwZWRBcnJheVR5cGUgewogI3VuZGVmIERFQ0xBUkVfVFlQRURfQVJS
QVlfVFlQRQogfTsKIAorZW51bSBjbGFzcyBUeXBlZEFycmF5Q29udGVudFR5cGUgOiB1aW50OF90
IHsKKyAgICBOb25lLAorICAgIE51bWJlciwKKyAgICBCaWdJbnQsCit9OworCiAjZGVmaW5lIEFT
U0VSVF9UWVBFRF9BUlJBWV9UWVBFKG5hbWUpIFwKICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19j
YXN0PHVpbnQzMl90PihUeXBlICMjIG5hbWUpID09IChzdGF0aWNfY2FzdDx1aW50MzJfdD4obmFt
ZSAjIyBBcnJheVR5cGUpIC0gRmlyc3RUeXBlZEFycmF5VHlwZSArIHN0YXRpY19jYXN0PHVpbnQz
Ml90PihUeXBlSW50OCkpLCAiIik7CiAgICAgRk9SX0VBQ0hfVFlQRURfQVJSQVlfVFlQRV9FWENM
VURJTkdfREFUQV9WSUVXKEFTU0VSVF9UWVBFRF9BUlJBWV9UWVBFKQpAQCAtODUsNiArOTMsMTcg
QEAgaW5saW5lIGJvb2wgaXNUeXBlZFZpZXcoVHlwZWRBcnJheVR5cGUgdHlwZSkKICAgICB9CiB9
CiAKK2lubGluZSBib29sIGlzQmlnSW50VHlwZWRWaWV3KFR5cGVkQXJyYXlUeXBlIHR5cGUpCit7
CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgY2FzZSBU
eXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBpbmxpbmUgdW5zaWduZWQgbG9nRWxlbWVudFNp
emUoVHlwZWRBcnJheVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTEwMyw2
ICsxMjIsOCBAQCBpbmxpbmUgdW5zaWduZWQgbG9nRWxlbWVudFNpemUoVHlwZWRBcnJheVR5cGUg
dHlwZSkKICAgICBjYXNlIFR5cGVGbG9hdDMyOgogICAgICAgICByZXR1cm4gMjsKICAgICBjYXNl
IFR5cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZUJpZ0ludDY0OgorICAgIGNhc2UgVHlwZUJpZ1Vp
bnQ2NDoKICAgICAgICAgcmV0dXJuIDM7CiAgICAgfQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CkBAIC0xNTksNiArMTgwLDE3IEBAIGlubGluZSBib29sIGlzRmxvYXQoVHlwZWRB
cnJheVR5cGUgdHlwZSkKICAgICB9CiB9CiAKK2lubGluZSBib29sIGlzQmlnSW50KFR5cGVkQXJy
YXlUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBUeXBlQmlnSW50
NjQ6CisgICAgY2FzZSBUeXBlQmlnVWludDY0OgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBpbmxpbmUgYm9vbCBp
c1NpZ25lZChUeXBlZEFycmF5VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAt
MTY3LDYgKzE5OSw3IEBAIGlubGluZSBib29sIGlzU2lnbmVkKFR5cGVkQXJyYXlUeXBlIHR5cGUp
CiAgICAgY2FzZSBUeXBlSW50MzI6CiAgICAgY2FzZSBUeXBlRmxvYXQzMjoKICAgICBjYXNlIFR5
cGVGbG9hdDY0OgorICAgIGNhc2UgVHlwZUJpZ0ludDY0OgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNzgsNiArMjExLDI5IEBA
IGlubGluZSBib29sIGlzQ2xhbXBlZChUeXBlZEFycmF5VHlwZSB0eXBlKQogICAgIHJldHVybiB0
eXBlID09IFR5cGVVaW50OENsYW1wZWQ7CiB9CiAKK2lubGluZSBjb25zdGV4cHIgVHlwZWRBcnJh
eUNvbnRlbnRUeXBlIGNvbnRlbnRUeXBlKFR5cGVkQXJyYXlUeXBlIHR5cGUpCit7CisgICAgc3dp
dGNoICh0eXBlKSB7CisgICAgY2FzZSBUeXBlQmlnSW50NjQ6CisgICAgY2FzZSBUeXBlQmlnVWlu
dDY0OgorICAgICAgICByZXR1cm4gVHlwZWRBcnJheUNvbnRlbnRUeXBlOjpCaWdJbnQ7CisgICAg
Y2FzZSBUeXBlSW50ODoKKyAgICBjYXNlIFR5cGVJbnQxNjoKKyAgICBjYXNlIFR5cGVJbnQzMjoK
KyAgICBjYXNlIFR5cGVVaW50ODoKKyAgICBjYXNlIFR5cGVVaW50MTY6CisgICAgY2FzZSBUeXBl
VWludDMyOgorICAgIGNhc2UgVHlwZUZsb2F0MzI6CisgICAgY2FzZSBUeXBlRmxvYXQ2NDoKKyAg
ICBjYXNlIFR5cGVVaW50OENsYW1wZWQ6CisgICAgICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVu
dFR5cGU6Ok51bWJlcjsKKyAgICBjYXNlIE5vdFR5cGVkQXJyYXk6CisgICAgY2FzZSBUeXBlRGF0
YVZpZXc6CisgICAgICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVudFR5cGU6Ok5vbmU7CisgICAg
fQorICAgIHJldHVybiBUeXBlZEFycmF5Q29udGVudFR5cGU6Ok5vbmU7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlZEFycmF5cy5oCmluZGV4IDhmZTliMzZjYjI3N2YyM2QwYTk4NmRmMTNmMDljNmRl
ZjI1OWE5YzkuLjgyNzAxZjc4MGI3YTM1YjIzOWI1OTQwMmRiMzZkMTkyNzA2OWNlYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVkQXJyYXlzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZWRBcnJheXMuaApAQCAtMzksNSArMzks
NyBAQCB0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxVaW50MTZBZGFwdG9yPiBVaW50MTZB
cnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PFVpbnQzMkFkYXB0b3I+IFVpbnQz
MkFycmF5OwogdHlwZWRlZiBHZW5lcmljVHlwZWRBcnJheVZpZXc8RmxvYXQzMkFkYXB0b3I+IEZs
b2F0MzJBcnJheTsKIHR5cGVkZWYgR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEZsb2F0NjRBZGFwdG9y
PiBGbG9hdDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdJbnQ2NEFk
YXB0b3I+IEJpZ0ludDY0QXJyYXk7Cit0eXBlZGVmIEdlbmVyaWNUeXBlZEFycmF5VmlldzxCaWdV
aW50NjRBZGFwdG9yPiBCaWdVaW50NjRBcnJheTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5kZXggODQwM2UyYzgxYzcyNjgxYzBkNTEwODc5
YThiZTk4MGY2ZTFlMGY4Yy4uZTcxYTNjZWQ1ZjE4NzRlNDlhNWRkMjA5MDlkZjZmODIwODBiZjRh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAtMTQ3MSw3ICsxNDcxLDkg
QEAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFwaVZhbHVlV3JhcHBl
clNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmcKIERZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9N
RU1CRVJfU0xPVyhhcnJheUJ1ZmZlclNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0Fy
cmF5QnVmZmVyKQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFycmF5
SXRlcmF0b3JTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgSlNBcnJheUl0ZXJhdG9yKQog
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGFzeW5jR2VuZXJhdG9yU3Bh
Y2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQXN5bmNHZW5lcmF0b3IpCitEWU5BTUlDX0lT
T19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coYmlnSW50NjRBcnJheVNwYWNlLCBjZWxsSGVh
cENlbGxUeXBlLmdldCgpLCBKU0JpZ0ludDY0QXJyYXkpCiBEWU5BTUlDX0lTT19TVUJTUEFDRV9E
RUZJTkVfTUVNQkVSX1NMT1coYmlnSW50T2JqZWN0U3BhY2UsIGNlbGxIZWFwQ2VsbFR5cGUuZ2V0
KCksIEJpZ0ludE9iamVjdCkKK0RZTkFNSUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xP
VyhiaWdVaW50NjRBcnJheVNwYWNlLCBjZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU0JpZ1VpbnQ2
NEFycmF5KQogRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUl9TTE9XKGJvb2xlYW5P
YmplY3RTcGFjZSwgY2VsbEhlYXBDZWxsVHlwZS5nZXQoKSwgQm9vbGVhbk9iamVjdCkKIERZTkFN
SUNfSVNPX1NVQlNQQUNFX0RFRklORV9NRU1CRVJfU0xPVyhib3VuZEZ1bmN0aW9uU3BhY2UsIGNl
bGxIZWFwQ2VsbFR5cGUuZ2V0KCksIEpTQm91bmRGdW5jdGlvbikgLy8gSGFzaDoweGQ3OTE2ZDQx
CiBEWU5BTUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSX1NMT1coY2FsbGJhY2tDb25zdHJ1
Y3RvclNwYWNlLCBjYWxsYmFja0NvbnN0cnVjdG9ySGVhcENlbGxUeXBlLmdldCgpLCBKU0NhbGxi
YWNrQ29uc3RydWN0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAppbmRleCAyN2FhZmMw
MzI2NmZkMzdjMjVhYTJhNDMxMjJlYjZhMTNlNjU4Yzk3Li43MGFlMzY1MjM2YzdmMTY4ZDZjOWE0
NTc1NDdiYmYzYTA1OTA2M2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTQ5
Myw3ICs0OTMsOSBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4s
IHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIERZTkFNSUNfSVNPX1NVQlNQ
QUNFX0RFRklORV9NRU1CRVIoYXJyYXlCdWZmZXJTcGFjZSkKICAgICBEWU5BTUlDX0lTT19TVUJT
UEFDRV9ERUZJTkVfTUVNQkVSKGFycmF5SXRlcmF0b3JTcGFjZSkKICAgICBEWU5BTUlDX0lTT19T
VUJTUEFDRV9ERUZJTkVfTUVNQkVSKGFzeW5jR2VuZXJhdG9yU3BhY2UpCisgICAgRFlOQU1JQ19J
U09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJbnQ2NEFycmF5U3BhY2UpCiAgICAgRFlOQU1J
Q19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihiaWdJbnRPYmplY3RTcGFjZSkKKyAgICBEWU5B
TUlDX0lTT19TVUJTUEFDRV9ERUZJTkVfTUVNQkVSKGJpZ1VpbnQ2NEFycmF5U3BhY2UpCiAgICAg
RFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib29sZWFuT2JqZWN0U3BhY2UpCiAg
ICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihib3VuZEZ1bmN0aW9uU3BhY2Up
CiAgICAgRFlOQU1JQ19JU09fU1VCU1BBQ0VfREVGSU5FX01FTUJFUihjYWxsYmFja0NvbnN0cnVj
dG9yU3BhY2UpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDBjZjIwY2E3MjJjYjQ1YzQ3MmRlNzE4Y2ZmNmY2MmIxNTBiNjMzNGMuLmVjMzJl
YWMxMGVjZDhlOGY1YWZmM2UzMDZhYWJlNjc0NTEwYzc4YWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEt
MDEtMzEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlND
XSBJbXBsZW1lbnQgQmlnSW50NjRBcnJheSBhbmQgQmlnVWludDY0QXJyYXkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgwMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRocm91Z2ggdGhpcyBwYXRjaCwg
d2UgZW5jb3VudGVyIHR3byB0ZXN0MjYyIGZhaWx1cmVzIGFuZCBmb3VuZCB0aGF0IHRoZXNlIHRl
c3RzIGhhdmUgaXNzdWVzLgorCisgICAgICAgICogc3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1h
cnJheS1tb2Rlcy1wcm9maWxlLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICog
c3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1ieXRlLW9mZnNldC5qczogQWRkZWQuCisgICAgICAg
IChmb28pOgorICAgICAgICAqIHN0cmVzcy9iaWdpbnQtdHlwZWQtYXJyYXktY2Fub25pY2FsLW51
bWVyaWMtaW5kZXgtc3RyaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKG1ha2VUZXN0LmFzc2VydCk6
CisgICAgICAgIChtYWtlVGVzdCk6CisgICAgICAgIChjb25zdC50ZXN0SW52YWxpZEluZGljZXMu
bWFrZVRlc3Quc2V0IGFzc2VydCk6CisgICAgICAgIChjb25zdC50ZXN0SW52YWxpZEluZGljZXMu
bWFrZVRlc3QpOgorICAgICAgICAoY29uc3QudGVzdFZhbGlkSW5kaWNlcy5tYWtlVGVzdC5zZXQg
YXNzZXJ0KToKKyAgICAgICAgKGNvbnN0LnRlc3RWYWxpZEluZGljZXMubWFrZVRlc3QpOgorICAg
ICAgICAqIHN0cmVzcy9iaWdpbnQtdHlwZWQtYXJyYXktY29uc3RydWN0b3ItdW5kZWZpbmVkLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LWdldC1ieS12YWwt
cHJvZmlsaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RBcnJheS50ZXN0Q29kZSk6CisgICAg
ICAgICh0ZXN0QXJyYXkpOgorICAgICAgICAqIHN0cmVzcy9iaWdpbnQtdHlwZWQtYXJyYXktbGFz
dEluZGV4T2YtZXhjZXB0aW9uLWNoZWNrLmpzOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlc3MvYmln
aW50LXR5cGVkLWFycmF5LXB1dC1ieS12YWwtcHJvZmlsaW5nLmpzOiBBZGRlZC4KKyAgICAgICAg
KHRlc3RBcnJheS50ZXN0Q29kZSk6CisgICAgICAgICh0ZXN0QXJyYXkpOgorICAgICAgICAqIHN0
cmVzcy9iaWdpbnQtdHlwZWRhcnJheS1nZXRvd25wcm9wZXJ0eS5qczogQWRkZWQuCisgICAgICAg
IChhc3NlcnQpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiBzdHJlc3MvYmlnaW50NjRhcnJh
eS1ieXRlbGVuZ3RoLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QxKToKKyAgICAgICAgKHRlc3Qy
KToKKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKiBzdHJlc3MvYmlnaW50NjRhcnJheS1n
ZXQtYnktdmFsLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHRlc3Qx
KToKKyAgICAgICAgKHRlc3QyKToKKyAgICAgICAgKiBzdHJlc3MvYmlnaW50NjRhcnJheS1wdXQt
YnktdmFsLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAgICAgICAgKHRlc3QxMSk6
CisgICAgICAgICh0ZXN0MTIpOgorICAgICAgICAodGVzdDIxKToKKyAgICAgICAgKHRlc3QyMik6
CisgICAgICAgICogdGVzdDI2Mi9jb25maWcueWFtbDoKKyAgICAgICAgKiB0ZXN0MjYyL2V4cGVj
dGF0aW9ucy55YW1sOgorCiAyMDIxLTAxLTI5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0pTQ10gQWRqdXN0IHByb3BlcnR5IG9yZGVyIG9mIGhvc3QgSlNG
dW5jdGlvbgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LWFy
cmF5LW1vZGVzLXByb2ZpbGUuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQtdHlwZWQtYXJyYXkt
YXJyYXktbW9kZXMtcHJvZmlsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTU0NmMyMWFjMjFhZmVkZmNkYjgy
NjBlOTRiYmEzZDRkMDE2ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmln
aW50LXR5cGVkLWFycmF5LWFycmF5LW1vZGVzLXByb2ZpbGUuanMKQEAgLTAsMCArMSwxNyBAQAor
ZnVuY3Rpb24gZm9vKG8pIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKSB7Cisg
ICAgICAgIG8uZiA9IG8uZjsKKyAgICB9Cit9CisKK2xldCB0eXBlZEFycmF5cyA9IFsKKyAgICBC
aWdJbnQ2NEFycmF5LAorICAgIEJpZ1VpbnQ2NEFycmF5LAorXTsKKworZm9yIChsZXQgY29uc3Ry
dWN0b3Igb2YgdHlwZWRBcnJheXMpIHsKKyAgICBsZXQgYSA9IG5ldyBjb25zdHJ1Y3RvcigwKTsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgZm9vKGEpOwor
ICAgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1i
eXRlLW9mZnNldC5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1ieXRlLW9m
ZnNldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YzNjODA5NzYxMjU2Y2ZkNjc2YzI1YjU3M2I0ZDQ4YjM2ODY4
NDBkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5
LWJ5dGUtb2Zmc2V0LmpzCkBAIC0wLDAgKzEsMTcgQEAKK2Z1bmN0aW9uIGZvbyhhcnJheSkgewor
ICAgIHJldHVybiBhcnJheS5ieXRlT2Zmc2V0OworfQorCitub0lubGluZShmb28pOworCitmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKG5ldyBC
aWdJbnQ2NEFycmF5KDEwMCkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgdGhyb3cg
IkVycm9yOiBiYWQgcmVzdWx0IGZvciBmYXN0IHR5cGVkIGFycmF5OiAiICsgcmVzdWx0OworICAg
IHJlc3VsdCA9IGZvbyhuZXcgQmlnSW50NjRBcnJheSgxMDAwMDApKTsKKyAgICBpZiAocmVzdWx0
ICE9IDApCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCBmb3IgYmlnIHR5cGVkIGFy
cmF5OiAiICsgcmVzdWx0OworICAgIHJlc3VsdCA9IGZvbyhuZXcgQmlnSW50NjRBcnJheShuZXcg
QXJyYXlCdWZmZXIoMTAwKSwgOCwgMSkpOworICAgIGlmIChyZXN1bHQgIT0gOCkKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGZvciB3YXN0ZWZ1bCB0eXBlZCBhcnJheTogIiArIHJl
c3VsdDsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1j
YW5vbmljYWwtbnVtZXJpYy1pbmRleC1zdHJpbmcuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQt
dHlwZWQtYXJyYXktY2Fub25pY2FsLW51bWVyaWMtaW5kZXgtc3RyaW5nLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIwODM2Y2RjODI5NDA4MDU3YmVjMmM3N2ExNjQ1ZGQ3ZGI5Nzk1MmYKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQtdHlwZWQtYXJyYXktY2Fub25pY2FsLW51bWVyaWMt
aW5kZXgtc3RyaW5nLmpzCkBAIC0wLDAgKzEsOTMgQEAKKy8vQCByZXF1aXJlT3B0aW9ucygiLS1m
b3JjZUVhZ2VyQ29tcGlsYXRpb249dHJ1ZSIsICItLW9zckV4aXRDb3VudEZvclJlb3B0aW1pemF0
aW9uPTEwIiwgIi0tdXNlQ29uY3VycmVudEpJVD0wIikKKworY29uc3QgdHlwZWRBcnJheXMgPSBb
CisgICAgQmlnSW50NjRBcnJheSwKKyAgICBCaWdVaW50NjRBcnJheSwKK107CisKK2NvbnN0IGZh
aWx1cmVzID0gbmV3IFNldCgpOworCitsZXQgdmFsdWUgPSAwOworZnVuY3Rpb24gbWFrZVRlc3Qo
dGVzdCkgeworICAgIG5vSW5saW5lKHRlc3QpOworCisgICAgZnVuY3Rpb24gYXNzZXJ0KHR5cGVk
QXJyYXksIGNvbmRpdGlvbiwgbWVzc2FnZSkgeworICAgICAgICBpZiAoIWNvbmRpdGlvbikKKyAg
ICAgICAgICAgIGZhaWx1cmVzLmFkZChgJHt0eXBlZEFycmF5Lm5hbWV9OiAke21lc3NhZ2V9YCk7
CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdEZvcih0eXBlZEFycmF5LCBrZXkpIHsKKyAgICAg
ICAgcmV0dXJuIG5ldyBGdW5jdGlvbigna2V5JywgJ3R5cGVkQXJyYXknLCAndGVzdCcsICdhc3Nl
cnQnLCBgCisgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IEJpZ0ludCgke3ZhbHVlKyt9ICUgMTI4
KTsKKyAgICAgICAgICAgIGNvbnN0IHU4ID0gbmV3IHR5cGVkQXJyYXkoMSk7CisgICAgICAgICAg
ICB1OFtrZXldID0gdmFsdWU7CisgICAgICAgICAgICB0ZXN0KHU4LCBrZXksIHZhbHVlLCBhc3Nl
cnQpOworICAgICAgICBgKS5iaW5kKHVuZGVmaW5lZCwga2V5LCB0eXBlZEFycmF5LCB0ZXN0LCBh
c3NlcnQuYmluZCh1bmRlZmluZWQsIHR5cGVkQXJyYXkpKTsKKyAgICB9OworCisgICAgcmV0dXJu
IGZ1bmN0aW9uKGtleXMpIHsKKyAgICAgICAgZm9yIChsZXQgdHlwZWRBcnJheSBvZiB0eXBlZEFy
cmF5cykgeworICAgICAgICAgICAgZm9yIChsZXQga2V5IG9mIGtleXMpIHsKKyAgICAgICAgICAg
ICAgICBjb25zdCBydW5UZXN0ID0gdGVzdEZvcih0eXBlZEFycmF5LCBrZXkpOworICAgICAgICAg
ICAgICAgIG5vSW5saW5lKHJ1blRlc3QpOworICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTA7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCitjb25zdCB0
ZXN0SW52YWxpZEluZGljZXMgPSBtYWtlVGVzdCgoYXJyYXksIGtleSwgdmFsdWUsIGFzc2VydCkg
PT4geworICAgIGFzc2VydChhcnJheVtrZXldID09PSB1bmRlZmluZWQsIGAke2tleS50b1N0cmlu
ZygpfSBzaG91bGQgbm90IGJlIHNldGApOworICAgIGFzc2VydCghKGtleSBpbiBhcnJheSksIGAk
e2tleS50b1N0cmluZygpfSBzaG91bGQgbm90IGJlIGluIGFycmF5YCk7CisKKyAgICBjb25zdCBr
ZXlzID0gT2JqZWN0LmtleXMoYXJyYXkpOworICAgIGFzc2VydChrZXlzLmxlbmd0aCA9PT0gMSwg
YG5vIG5ldyBrZXlzIHNob3VsZCBiZSBhZGRlZGApOworICAgIGFzc2VydChrZXlzWzBdID09PSAn
MCcsIGAnMCcgc2hvdWxkIGJlIHRoZSBvbmx5IGtleWApOworICAgIGFzc2VydChhcnJheVswXSA9
PT0gMG4sIGBvZmZzZXQgMCBzaG91bGQgbm90IGhhdmUgYmVlbiBtb2RpZmllZGApOworCisgICAg
YXNzZXJ0KGFycmF5Lmhhc093blByb3BlcnR5KGtleSkgPT09IGZhbHNlLCBgaGFzT3duUHJvcGVy
dHkoJHtrZXkudG9TdHJpbmcoKX0pIHNob3VsZCBiZSBmYWxzZWApOworICAgIGFzc2VydChPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFycmF5LCBrZXkpID09PSB1bmRlZmluZWQsIGBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCR7a2V5LnRvU3RyaW5nKCl9KSBzaG91bGQg
YmUgdW5kZWZpbmVkYCk7Cit9KTsKKwordGVzdEludmFsaWRJbmRpY2VzKFsKKyAgICAnLTAnLAor
ICAgICctMScsCisgICAgLTEsCisgICAgMSwKKyAgICAnSW5maW5pdHknLAorICAgICctSW5maW5p
dHknLAorICAgICdOYU4nLAorICAgICcwLjEnLAorICAgICc0Mjk0OTY3Mjk0JywKKyAgICAnNDI5
NDk2NzI5NScsCisgICAgJzQyOTQ5NjcyOTYnLAorXSk7CisKK2NvbnN0IHRlc3RWYWxpZEluZGlj
ZXMgPSBtYWtlVGVzdCgoYXJyYXksIGtleSwgdmFsdWUsIGFzc2VydCkgPT4geworICAgIGFzc2Vy
dChhcnJheVtrZXldID09PSB2YWx1ZSwgYCR7a2V5LnRvU3RyaW5nKCl9IHNob3VsZCBiZSBzZXQg
dG8gJHt2YWx1ZX1gKTsKKyAgICBhc3NlcnQoa2V5IGluIGFycmF5LCBgc2hvdWxkIGNvbnRhaW4g
a2V5ICR7a2V5LnRvU3RyaW5nKCl9YCk7CisKKyAgICBhc3NlcnQoYXJyYXkuaGFzT3duUHJvcGVy
dHkoa2V5KSA9PT0gdHJ1ZSwgYGhhc093blByb3BlcnR5KCR7a2V5LnRvU3RyaW5nKCl9KSBzaG91
bGQgYmUgdHJ1ZWApOworICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGFycmF5LCBrZXkpOworICAgIGFzc2VydCh0eXBlb2YgZGVzY3JpcHRvciA9
PT0gJ29iamVjdCcsIGBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCR7a2V5LnRvU3Ry
aW5nKCl9KSByZXR1cm4gYW4gb2JqZWN0YCk7CisgICAgYXNzZXJ0KGRlc2NyaXB0b3IudmFsdWUg
PT09IHZhbHVlLCBgZGVzY3JpcHRvci52YWx1ZSBzaG91bGQgYmUgJHt2YWx1ZX1gKTsKKyAgICBh
c3NlcnQoZGVzY3JpcHRvci53cml0YWJsZSA9PT0gdHJ1ZSwgYGRlc2NyaXB0b3Iud3JpdGFibGUg
c2hvdWxkIGJlIHRydWVgKTsKKyAgICBhc3NlcnQoZGVzY3JpcHRvci5lbnVtZXJhYmxlID09PSB0
cnVlLCBgZGVzY3JpcHRvci5lbnVtZXJhYmxlIHNob3VsZCBiZSB0cnVlYCk7CisgICAgYXNzZXJ0
KGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID09PSB0cnVlLCBgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgc2hvdWxkIGJlIHRydWVgKTsKK30pOworCit0ZXN0VmFsaWRJbmRpY2VzKFsKKyAgICAnMDEn
LAorICAgICcwLjEwJywKKyAgICAnK0luZmluaXR5JywKKyAgICAnLU5hTicsCisgICAgJy0wLjAn
LAorICAgIFN5bWJvbCgnMScpLAorICAgICcwJywKKyAgICAwLAorXSk7CisKK2lmIChmYWlsdXJl
cy5zaXplKQorICAgIHRocm93IG5ldyBFcnJvcihgU3VidGVzdHMgZmFpbGVkOlxuJHtBcnJheS5m
cm9tKGZhaWx1cmVzKS5qb2luKCdcbicpfWApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
YmlnaW50LXR5cGVkLWFycmF5LWNvbnN0cnVjdG9yLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvc3Ry
ZXNzL2JpZ2ludC10eXBlZC1hcnJheS1jb25zdHJ1Y3Rvci11bmRlZmluZWQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmI2NjI2NzBiYTc1MzM2NzU0MTNjMWZlZTdkZjJmODNiM2IxNTdiYgotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvc3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1jb25zdHJ1Y3Rvci11bmRl
ZmluZWQuanMKQEAgLTAsMCArMSw0IEBACisvLyBVbmRlZmluZWQgZm9yIGxlbmd0aCBhcmd1bWVu
dCBvZiB0eXBlZCBhcnJheSBjb25zdHJ1Y3RvciBzaG91bGQgYmUgdHJlYXRlZAorLy8gdGhlIHNh
bWUgYXMgaWYgdGhlIGFyZ3VtZW50IHdhcyBvbWl0dGVkLCBtZWFuaW5nIHRoZSB3aG9sZSBidWZm
ZXIgaXMgdXNlZC4KK2lmIChuZXcgQmlnSW50NjRBcnJheShuZXcgQXJyYXlCdWZmZXIoOCksIDAs
IHVuZGVmaW5lZCkubGVuZ3RoICE9IDEpCisgICAgdGhyb3cgInVuZGVmaW5lZCBsZW5ndGggc2hv
dWxkIHJlc3VsdCBpbiB0aGUgd2hvbGUgYnVmZmVyIGJlaW5nIHVzZWQiOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LWdldC1ieS12YWwtcHJvZmlsaW5nLmpz
IGIvSlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LWdldC1ieS12YWwtcHJvZmlsaW5n
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM1MjcwYmU0YzM5Mjk0MzNlNmU0Yzg0MGJlMmVjYWI4MjA2ZjZjMTAK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQtdHlwZWQtYXJyYXktZ2V0
LWJ5LXZhbC1wcm9maWxpbmcuanMKQEAgLTAsMCArMSw5NiBAQAorLy9AIHNsb3chCisKK2Z1bmN0
aW9uIHRlc3RBcnJheShhcnJheVR5cGUpCit7CisgICAgdmFyIHRlc3RDb2RlID0KKyAgICAgICAg
YAorICAgICAgICAvLyBXZSBtYWtlIHRoaXMgbG9vayBsaWtlIGEgcG9seW1vcnBoaWMgdHlwZXMg
Zm9yIGluY29taW5nT2JqZWN0IGJ1dCB0aGUgR2V0QnlWYWwgYXJlIG5ldmVyIGFjdHVhbGx5Cisg
ICAgICAgIC8vIHBvbHltb3JwaGljLiBUaGUgYm9vbGVhbiBpc1R5cGVkQXJyYXkgbGV0IHVzIGRp
ZmZlcmVudGlhdGUgdGhlIHR5cGVzLgorICAgICAgICBmdW5jdGlvbiAkeyBhcnJheVR5cGUgfUFu
ZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMoaW5jb21pbmdPYmplY3QsIGl0ZXJhdGlvbkxlbmd0
aCwgaXNUeXBlZEFycmF5KSB7CisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gMG47CisgICAgICAg
ICAgICBvdXRwdXQgKz0gQmlnSW50KGluY29taW5nT2JqZWN0Lmxlbmd0aCk7CisKKyAgICAgICAg
ICAgIGlmIChpc1R5cGVkQXJyYXkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGl0ZXJhdGlvbkxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIG91dHB1dCAr
PSBpbmNvbWluZ09iamVjdFtpXTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlcmF0aW9uTGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0ICs9IGluY29taW5nT2JqZWN0W2ld
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBv
dXRwdXQ7CisgICAgICAgIH0KKyAgICAgICAgbm9JbmxpbmUoJHsgYXJyYXlUeXBlIH1BbmRPYmpl
Y3RTcGVjdWxhdGlvbkluQm91bmRzKTsKKworICAgICAgICB2YXIgdHlwZWRBcnJheSA9IG5ldyAk
eyBhcnJheVR5cGUgfSg2NCk7CisgICAgICAgIHZhciByZWd1bGFyQXJyYXkgPSBuZXcgQXJyYXko
NjQpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDY0OyArK2kpIHsKKyAgICAgICAgICAg
IHR5cGVkQXJyYXlbaV0gPSBCaWdJbnQoaSk7CisgICAgICAgICAgICByZWd1bGFyQXJyYXlbaV0g
PSBCaWdJbnQoaSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBBY2Nlc3MgaW4gYm91bmRzLgor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDFlNDsgKytpKSB7CisgICAgICAgICAgICB2YXIg
b3V0cHV0ID0gJHsgYXJyYXlUeXBlIH1BbmRPYmplY3RTcGVjdWxhdGlvbkluQm91bmRzKHR5cGVk
QXJyYXksIDY0LCB0cnVlKTsKKyAgICAgICAgICAgIGlmIChvdXRwdXQgIT09IDMybiAqIDY1bikK
KyAgICAgICAgICAgICAgICB0aHJvdyAiJHsgYXJyYXlUeXBlIH1BbmRPYmplY3RTcGVjdWxhdGlv
bkluQm91bmRzKHR5cGVkQXJyYXksIDY0LCB0cnVlKSBmYWlsZWQsIHZhbHVlID0gIiArIG91dHB1
dDsKKworICAgICAgICAgICAgdmFyIG91dHB1dCA9ICR7IGFycmF5VHlwZSB9QW5kT2JqZWN0U3Bl
Y3VsYXRpb25JbkJvdW5kcyhyZWd1bGFyQXJyYXksIDY0LCBmYWxzZSk7CisgICAgICAgICAgICBp
ZiAob3V0cHV0ICE9PSAzMm4gKiA2NW4pCisgICAgICAgICAgICAgICAgdGhyb3cgIiR7IGFycmF5
VHlwZSB9QW5kT2JqZWN0U3BlY3VsYXRpb25JbkJvdW5kcyhyZWd1bGFyQXJyYXksIDY0LCBmYWxz
ZSkgZmFpbGVkLCB2YWx1ZSA9ICIgKyBvdXRwdXQ7CisgICAgICAgIH0KKworICAgICAgICAvLyBP
bmUgb3V0IG9mIGJvdW5kcyBvbiB0b3Agb2YgdGhlIGluIGJvdW5kcyBwcm9maWxlLgorICAgICAg
ICB7CisgICAgICAgICAgICB2YXIgZXJyb3IgPSBudWxsOworICAgICAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgICAgICAkeyBhcnJheVR5cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMo
dHlwZWRBcnJheSwgMTI4LCB0cnVlKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgICAgICAgICBlcnJvciA9IGU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoU3Ry
aW5nKGVycm9yKSAhPT0gIlR5cGVFcnJvcjogSW52YWxpZCBtaXggb2YgQmlnSW50IGFuZCBvdGhl
ciB0eXBlIGluIGFkZGl0aW9uLiIpCisgICAgICAgICAgICAgICAgdGhyb3cgIiR7IGFycmF5VHlw
ZSB9QW5kT2JqZWN0U3BlY3VsYXRpb25JbkJvdW5kcyh0eXBlZEFycmF5LCAxMjgsIHRydWUpIGZh
aWxlZCwgdmFsdWUgPSAiICsgb3V0cHV0OworCisgICAgICAgICAgICB2YXIgZXJyb3IgPSBudWxs
OworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAkeyBhcnJheVR5cGUgfUFuZE9i
amVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMocmVndWxhckFycmF5LCAxMjgsIGZhbHNlKTsKKyAgICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICBlcnJvciA9IGU7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gIlR5cGVFcnJvcjogSW52
YWxpZCBtaXggb2YgQmlnSW50IGFuZCBvdGhlciB0eXBlIGluIGFkZGl0aW9uLiIpCisgICAgICAg
ICAgICAgICAgdGhyb3cgIiR7IGFycmF5VHlwZSB9QW5kT2JqZWN0U3BlY3VsYXRpb25JbkJvdW5k
cyhyZWd1bGFyQXJyYXksIDEyOCwgZmFsc2UpIGZhaWxlZCwgdmFsdWUgPSAiICsgb3V0cHV0Owor
ICAgICAgICB9CisKKyAgICAgICAgLy8gU2FtZSBidXQgaGVyZSB3ZSBtYWtlIG91dC1vZi1ib3Vu
ZHMgYSBub3JtYWwgY2FzZS4KKyAgICAgICAgZnVuY3Rpb24gJHsgYXJyYXlUeXBlIH1BbmRPYmpl
Y3RTcGVjdWxhdGlvbk91dE9mQm91bmRzKGluY29taW5nT2JqZWN0LCBpdGVyYXRpb25MZW5ndGgs
IGlzVHlwZWRBcnJheSkgeworICAgICAgICAgICAgdmFyIG91dHB1dCA9IDA7CisgICAgICAgICAg
ICBvdXRwdXQgKz0gaW5jb21pbmdPYmplY3QubGVuZ3RoOworCisgICAgICAgICAgICBpZiAoaXNU
eXBlZEFycmF5KSB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVyYXRp
b25MZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gTnVtYmVyKGlu
Y29taW5nT2JqZWN0W2ldKXwwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVyYXRpb25MZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgICAgICAgICBvdXRwdXQgKz0gTnVtYmVyKGluY29taW5nT2Jq
ZWN0W2ldKXwwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiBvdXRwdXQ7CisgICAgICAgIH0KKyAgICAgICAgbm9JbmxpbmUoJHsgYXJyYXlUeXBl
IH1BbmRPYmplY3RTcGVjdWxhdGlvbk91dE9mQm91bmRzKTsKKworICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IDFlNDsgKytpKSB7CisgICAgICAgICAgICB2YXIgb3V0cHV0ID0gJHsgYXJyYXlU
eXBlIH1BbmRPYmplY3RTcGVjdWxhdGlvbk91dE9mQm91bmRzKHR5cGVkQXJyYXksIDEyOCwgdHJ1
ZSk7CisgICAgICAgICAgICBpZiAob3V0cHV0ICE9PSAzMiAqIDY1KQorICAgICAgICAgICAgICAg
IHRocm93ICIkeyBhcnJheVR5cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uT3V0T2ZCb3VuZHModHlw
ZWRBcnJheSwgMTI4LCB0cnVlKSBmYWlsZWQsIHZhbHVlID0gIiArIG91dHB1dDsKKworICAgICAg
ICAgICAgdmFyIG91dHB1dCA9ICR7IGFycmF5VHlwZSB9QW5kT2JqZWN0U3BlY3VsYXRpb25PdXRP
ZkJvdW5kcyhyZWd1bGFyQXJyYXksIDEyOCwgZmFsc2UpOworICAgICAgICAgICAgaWYgKG91dHB1
dCAhPT0gMzIgKiA2NSkKKyAgICAgICAgICAgICAgICB0aHJvdyAiJHsgYXJyYXlUeXBlIH1BbmRP
YmplY3RTcGVjdWxhdGlvbk91dE9mQm91bmRzKHJlZ3VsYXJBcnJheSwgMTI4LCBmYWxzZSkgZmFp
bGVkLCB2YWx1ZSA9ICIgKyBvdXRwdXQ7CisgICAgICAgIH1gCisgICAgZXZhbCh0ZXN0Q29kZSk7
Cit9CisKK3Rlc3RBcnJheSgiQmlnSW50NjRBcnJheSIpOwordGVzdEFycmF5KCJCaWdVaW50NjRB
cnJheSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LWxh
c3RJbmRleE9mLWV4Y2VwdGlvbi1jaGVjay5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZ2ludC10eXBl
ZC1hcnJheS1sYXN0SW5kZXhPZi1leGNlcHRpb24tY2hlY2suanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE1OTUx
MDZhNjEwMDBlNTNiZjE1MzZiZGY2NmY2ZDlhMTg4ZmFhMwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvc3RyZXNzL2JpZ2ludC10eXBlZC1hcnJheS1sYXN0SW5kZXhPZi1leGNlcHRpb24tY2hl
Y2suanMKQEAgLTAsMCArMSw1IEBACisvL0AgcnVuRGVmYXVsdAorCituZXcgQmlnSW50NjRBcnJh
eSgpLmxhc3RJbmRleE9mKDBuLCB7CisgICAgdmFsdWVPZjogKCkgPT4gLTEKK30pOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LXB1dC1ieS12YWwtcHJvZmls
aW5nLmpzIGIvSlNUZXN0cy9zdHJlc3MvYmlnaW50LXR5cGVkLWFycmF5LXB1dC1ieS12YWwtcHJv
ZmlsaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYWFiOGIxZWMzMmMzNjA4ZGNlZDA1YmQ5MTg2M2E5ZTg2
NmFlOTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQtdHlwZWQtYXJy
YXktcHV0LWJ5LXZhbC1wcm9maWxpbmcuanMKQEAgLTAsMCArMSw5MSBAQAorZnVuY3Rpb24gdGVz
dEFycmF5KGFycmF5VHlwZSkKK3sKKyAgICB2YXIgdGVzdENvZGUgPQorICAgICAgICBgCisgICAg
ICAgIGZ1bmN0aW9uIHRlc3RPdXRPZkJvdW5kc1ZhbHVlcyhyZWd1bGFyQXJyYXksIHR5cGVkQXJy
YXkpIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgeworICAgICAg
ICAgICAgICAgIHZhciB0eXBlZEFycmF5VmFsdWUgPSB0eXBlZEFycmF5W2ldCisgICAgICAgICAg
ICAgICAgaWYgKHR5cGVkQXJyYXlWYWx1ZSAhPT0gQmlnSW50KGkpKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRocm93ICJGYWlsZWQgJHsgYXJyYXlUeXBlIH1BbmRPYmplY3RTcGVjdWxhdGlvbklu
Qm91bmRzLCB0eXBlZEFycmF5VmFsdWUgPSAiICsgdHlwZWRBcnJheVZhbHVlICsgIiBmb3IgaSA9
ICIgKyBpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB2YXIgcmVndWxhckFy
cmF5VmFsdWUgPSByZWd1bGFyQXJyYXlbaV07CisgICAgICAgICAgICAgICAgaWYgKHJlZ3VsYXJB
cnJheVZhbHVlICE9PSBCaWdJbnQoaSkpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhyb3cgIkZh
aWxlZCAkeyBhcnJheVR5cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMsIHJlZ3VsYXJB
cnJheVZhbHVlID0gIiArIHJlZ3VsYXJBcnJheVZhbHVlICsgIiBmb3IgaSA9ICIgKyBpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAx
NjsgaSA8IDI0OyArK2kpIHsKKyAgICAgICAgICAgICAgICB2YXIgdHlwZWRBcnJheVZhbHVlID0g
dHlwZWRBcnJheVtpXQorICAgICAgICAgICAgICAgIGlmICh0eXBlZEFycmF5VmFsdWUgIT09IHVu
ZGVmaW5lZCkgeworICAgICAgICAgICAgICAgICAgICB0aHJvdyAiRmFpbGVkICR7IGFycmF5VHlw
ZSB9QW5kT2JqZWN0U3BlY3VsYXRpb25JbkJvdW5kcywgdHlwZWRBcnJheVZhbHVlID0gIiArIHR5
cGVkQXJyYXlWYWx1ZSArICIgZm9yIGkgPSAiICsgaTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgdmFyIHJlZ3VsYXJBcnJheVZhbHVlID0gcmVndWxhckFycmF5W2ldOworICAg
ICAgICAgICAgICAgIGlmIChyZWd1bGFyQXJyYXlWYWx1ZSAhPT0gQmlnSW50KGkpKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRocm93ICJGYWlsZWQgJHsgYXJyYXlUeXBlIH1BbmRPYmplY3RTcGVj
dWxhdGlvbkluQm91bmRzLCByZWd1bGFyQXJyYXlWYWx1ZSA9ICIgKyByZWd1bGFyQXJyYXlWYWx1
ZSArICIgZm9yIGkgPSAiICsgaTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKworICAgICAgICAvLyBXZSBtYWtlIHRoaXMgbG9vayBsaWtlIGEgcG9seW1vcnBo
aWMgdHlwZXMgZm9yIGluY29taW5nT2JqZWN0IGJ1dCB0aGUgR2V0QnlWYWwgYXJlIG5ldmVyIGFj
dHVhbGx5CisgICAgICAgIC8vIHBvbHltb3JwaGljLiBUaGUgYm9vbGVhbiBpc1R5cGVkQXJyYXkg
bGV0IHVzIGRpZmZlcmVudGlhdGUgdGhlIHR5cGVzLgorICAgICAgICBmdW5jdGlvbiAkeyBhcnJh
eVR5cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMoaW5jb21pbmdPYmplY3QsIGl0ZXJh
dGlvbkxlbmd0aCwgaXNUeXBlZEFycmF5KSB7CisgICAgICAgICAgICBpZiAoaXNUeXBlZEFycmF5
KSB7CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVyYXRpb25MZW5ndGg7
ICsraSkgeworICAgICAgICAgICAgICAgICAgICBpbmNvbWluZ09iamVjdFtpXSA9IEJpZ0ludChp
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlcmF0aW9uTGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaW5jb21pbmdPYmplY3RbaV0gPSBCaWdJbnQoaSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG5vSW5saW5lKCR7IGFycmF5
VHlwZSB9QW5kT2JqZWN0U3BlY3VsYXRpb25JbkJvdW5kcyk7CisKKyAgICAgICAgdmFyIHR5cGVk
QXJyYXkgPSBuZXcgJHsgYXJyYXlUeXBlIH0oMTYpOworICAgICAgICB2YXIgcmVndWxhckFycmF5
ID0gbmV3IEFycmF5KDE2KTsKKworICAgICAgICAvLyBBY2Nlc3MgaW4gYm91bmRzLgorICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IDFlNDsgKytpKSB7CisgICAgICAgICAgICAkeyBhcnJheVR5
cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMocmVndWxhckFycmF5LCAxNiwgZmFsc2Up
OworICAgICAgICAgICAgJHsgYXJyYXlUeXBlIH1BbmRPYmplY3RTcGVjdWxhdGlvbkluQm91bmRz
KHR5cGVkQXJyYXksIDE2LCB0cnVlKTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDE2OyArK2kpIHsKKyAgICAgICAgICAgIHZhciB0eXBlZEFycmF5VmFsdWUgPSB0eXBl
ZEFycmF5W2ldCisgICAgICAgICAgICBpZiAodHlwZWRBcnJheVZhbHVlICE9PSBCaWdJbnQoaSkp
IHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiRmFpbGVkICR7IGFycmF5VHlwZSB9QW5kT2JqZWN0
U3BlY3VsYXRpb25JbkJvdW5kcywgdHlwZWRBcnJheVZhbHVlID0gIiArIHR5cGVkQXJyYXlWYWx1
ZSArICIgZm9yIGkgPSAiICsgaTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciByZWd1
bGFyQXJyYXlWYWx1ZSA9IHJlZ3VsYXJBcnJheVtpXTsKKyAgICAgICAgICAgIGlmIChyZWd1bGFy
QXJyYXlWYWx1ZSAhPT0gQmlnSW50KGkpKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkZhaWxl
ZCAkeyBhcnJheVR5cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMsIHJlZ3VsYXJBcnJh
eVZhbHVlID0gIiArIHJlZ3VsYXJBcnJheVZhbHVlICsgIiBmb3IgaSA9ICIgKyBpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gT25lICJvdXQgb2YgYm91bmRzIiBvbiB0
b3Agb2YgdGhlIGluIGJvdW5kcyBwcm9maWxlLgorICAgICAgICAkeyBhcnJheVR5cGUgfUFuZE9i
amVjdFNwZWN1bGF0aW9uSW5Cb3VuZHMocmVndWxhckFycmF5LCAyNCwgZmFsc2UpOworICAgICAg
ICAkeyBhcnJheVR5cGUgfUFuZE9iamVjdFNwZWN1bGF0aW9uSW5Cb3VuZHModHlwZWRBcnJheSwg
MjQsIHRydWUpOworICAgICAgICB0ZXN0T3V0T2ZCb3VuZHNWYWx1ZXMocmVndWxhckFycmF5LCB0
eXBlZEFycmF5KTsKKworICAgICAgICAvLyBTYW1lIGJ1dCBoZXJlIHdlIG1ha2Ugb3V0LW9mLWJv
dW5kcyBhIG5vcm1hbCBjYXNlLgorICAgICAgICBmdW5jdGlvbiAkeyBhcnJheVR5cGUgfUFuZE9i
amVjdFNwZWN1bGF0aW9uT3V0T2ZCb3VuZHMoaW5jb21pbmdPYmplY3QsIGl0ZXJhdGlvbkxlbmd0
aCwgaXNUeXBlZEFycmF5KSB7CisgICAgICAgICAgICBpZiAoaXNUeXBlZEFycmF5KSB7CisgICAg
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVyYXRpb25MZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgICAgICAgICBpbmNvbWluZ09iamVjdFtpXSA9IEJpZ0ludChpKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgaXRlcmF0aW9uTGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaW5jb21pbmdPYmplY3RbaV0gPSBCaWdJbnQoaSk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG5vSW5saW5lKCR7IGFycmF5VHlwZSB9QW5k
T2JqZWN0U3BlY3VsYXRpb25PdXRPZkJvdW5kcyk7CisKKyAgICAgICAgdmFyIHR5cGVkQXJyYXkg
PSBuZXcgJHsgYXJyYXlUeXBlIH0oMTYpOworICAgICAgICB2YXIgcmVndWxhckFycmF5ID0gbmV3
IEFycmF5KDE2KTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxZTQ7ICsraSkgeworICAg
ICAgICAgICAgJHsgYXJyYXlUeXBlIH1BbmRPYmplY3RTcGVjdWxhdGlvbkluQm91bmRzKHJlZ3Vs
YXJBcnJheSwgMjQsIGZhbHNlKTsKKyAgICAgICAgICAgICR7IGFycmF5VHlwZSB9QW5kT2JqZWN0
U3BlY3VsYXRpb25JbkJvdW5kcyh0eXBlZEFycmF5LCAyNCwgdHJ1ZSk7CisgICAgICAgIH1gCisg
ICAgZXZhbCh0ZXN0Q29kZSk7Cit9CisKK3Rlc3RBcnJheSgiQmlnSW50NjRBcnJheSIpOwordGVz
dEFycmF5KCJCaWdVaW50NjRBcnJheSIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmln
aW50LXR5cGVkYXJyYXktZ2V0b3ducHJvcGVydHkuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWdpbnQt
dHlwZWRhcnJheS1nZXRvd25wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmU2ZTNlY2Y1YmNhMDhk
ZTNhZTZhY2NhZTkxODgzYzdkZDdlMTM1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJl
c3MvYmlnaW50LXR5cGVkYXJyYXktZ2V0b3ducHJvcGVydHkuanMKQEAgLTAsMCArMSwyMCBAQAor
dHlwZWRBcnJheXMgPSBbQmlnSW50NjRBcnJheSwgQmlnVWludDY0QXJyYXldOworCitmdW5jdGlv
biBhc3NlcnQoY29uZCkgeworICAgIGlmICghY29uZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJiYWQgYXNzZXJ0aW9uISIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgZm9yIChjb25z
dHJ1Y3RvciBvZiB0eXBlZEFycmF5cykgeworICAgICAgICBsZXQgYSA9IG5ldyBjb25zdHJ1Y3Rv
cigxMCk7CisgICAgICAgIGxldCBiID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihh
LCAwKTsKKyAgICAgICAgYXNzZXJ0KGIudmFsdWUgPT09IDBuKTsKKyAgICAgICAgYXNzZXJ0KGIu
d3JpdGFibGUgPT09IHRydWUpOworICAgICAgICBhc3NlcnQoYi5lbnVtZXJhYmxlID09PSB0cnVl
KTsKKyAgICAgICAgYXNzZXJ0KGIuY29uZmlndXJhYmxlID09PSB0cnVlKTsKKyAgICB9Cit9CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyBpKyspCisgICAgZm9vKCk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3N0cmVzcy9iaWdpbnQ2NGFycmF5LWJ5dGVsZW5ndGguanMgYi9KU1Rlc3RzL3N0cmVz
cy9iaWdpbnQ2NGFycmF5LWJ5dGVsZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTk5NjNkNTUzODE4OTY4
NDg0N2QwNjMwYzExM2NjNjJiMGU0NGU0OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3Ry
ZXNzL2JpZ2ludDY0YXJyYXktYnl0ZWxlbmd0aC5qcwpAQCAtMCwwICsxLDIxIEBACitmdW5jdGlv
biB0ZXN0MShhcnJheSkgeworICAgIHJldHVybiBhcnJheS5ieXRlTGVuZ3RoOworfQorbm9Jbmxp
bmUodGVzdDEpOworCitmdW5jdGlvbiB0ZXN0MihhcnJheSkgeworICAgIHJldHVybiBhcnJheS5i
eXRlTGVuZ3RoOworfQorbm9JbmxpbmUodGVzdDIpOworCitmdW5jdGlvbiBzaG91bGRCZShhY3R1
YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRo
cm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKwordmFyIGFycmF5MSA9
IG5ldyBCaWdJbnQ2NEFycmF5KDQpOwordmFyIGFycmF5MiA9IG5ldyBCaWdVaW50NjRBcnJheSg0
KTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgMWU2OyArK2kpIHsKKyAgICBzaG91bGRCZSh0ZXN0MShh
cnJheTEpLCAzMik7CisgICAgc2hvdWxkQmUodGVzdDIoYXJyYXkyKSwgMzIpOworfQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnaW50NjRhcnJheS1nZXQtYnktdmFsLmpzIGIvSlNUZXN0
cy9zdHJlc3MvYmlnaW50NjRhcnJheS1nZXQtYnktdmFsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyMzE5ZGVl
ZWViMTJhN2UwNzRkMDdmZGZmOTFhZmEwZmNhN2QwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3N0cmVzcy9iaWdpbnQ2NGFycmF5LWdldC1ieS12YWwuanMKQEAgLTAsMCArMSwyOCBAQAor
ZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVh
bCk7Cit9CisKK3ZhciBhcnJheTEgPSBuZXcgQmlnSW50NjRBcnJheShbLTFuLCAtMm4sIC0zbl0p
OwordmFyIGFycmF5MiA9IG5ldyBCaWdVaW50NjRBcnJheShbMW4sIDJuLCAzbl0pOworCitmdW5j
dGlvbiB0ZXN0MShhcnJheSkgeworICAgIHZhciByZXN1bHQgPSAwbjsKKyAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgKytpKQorICAgICAgICByZXN1bHQgKz0gYXJyYXlbaV07
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK25vSW5saW5lKHRlc3QxKTsKKworZnVuY3Rpb24gdGVz
dDIoYXJyYXkpIHsKKyAgICB2YXIgcmVzdWx0ID0gMG47CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBhcnJheS5sZW5ndGg7ICsraSkKKyAgICAgICAgcmVzdWx0ICs9IGFycmF5W2ldOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Citub0lubGluZSh0ZXN0Mik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MWU2OyArK2kpIHsKKyAgICBzaG91bGRCZSh0ZXN0MShhcnJheTEpLCAtNm4pOworICAgIHNob3Vs
ZEJlKHRlc3QyKGFycmF5MiksIDZuKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Jp
Z2ludDY0YXJyYXktcHV0LWJ5LXZhbC5qcyBiL0pTVGVzdHMvc3RyZXNzL2JpZ2ludDY0YXJyYXkt
cHV0LWJ5LXZhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTY4NTVjZDNjYjNmZjhkODRiZDMyZGYyY2Y1MWI0
YmQyYTE2YTU0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYmlnaW50NjRhcnJh
eS1wdXQtYnktdmFsLmpzCkBAIC0wLDAgKzEsNDYgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVh
bCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCit2YXIgYXJyYXkxID0g
bmV3IEJpZ0ludDY0QXJyYXkoWy0xbiwgLTJuLCAtM25dKTsKK3ZhciBhcnJheTIgPSBuZXcgQmln
VWludDY0QXJyYXkoWzFuLCAybiwgM25dKTsKKworZnVuY3Rpb24gdGVzdDExKGFycmF5LCB2YWx1
ZSkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpCisgICAgICAg
IGFycmF5W2ldID0gdmFsdWU7Cit9Citub0lubGluZSh0ZXN0MTEpOworCitmdW5jdGlvbiB0ZXN0
MTIoYXJyYXkpIHsKKyAgICB2YXIgcmVzdWx0ID0gMG47CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBhcnJheS5sZW5ndGg7ICsraSkKKyAgICAgICAgcmVzdWx0ICs9IGFycmF5W2ldOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Citub0lubGluZSh0ZXN0MTIpOworCitmdW5jdGlvbiB0ZXN0MjEoYXJy
YXksIHZhbHVlKSB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSkK
KyAgICAgICAgYXJyYXlbaV0gPSB2YWx1ZTsKK30KK25vSW5saW5lKHRlc3QyMSk7CisKK2Z1bmN0
aW9uIHRlc3QyMihhcnJheSkgeworICAgIHZhciByZXN1bHQgPSAwbjsKKyAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgKytpKQorICAgICAgICByZXN1bHQgKz0gYXJyYXlbaV07
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK25vSW5saW5lKHRlc3QyMik7CisKK2ZvciAodmFyIGkg
PSAwOyBpIDwgMWU1OyArK2kpIHsKKyAgICB0ZXN0MTEoYXJyYXkxLCAtMW4pCisgICAgc2hvdWxk
QmUodGVzdDEyKGFycmF5MSksIC0zbik7CisgICAgdGVzdDExKGFycmF5MSwgLTJuKTsKKyAgICBz
aG91bGRCZSh0ZXN0MTIoYXJyYXkxKSwgLTZuKTsKKyAgICB0ZXN0MjEoYXJyYXkyLCAxbik7Cisg
ICAgc2hvdWxkQmUodGVzdDIyKGFycmF5MiksIDNuKTsKKyAgICB0ZXN0MjEoYXJyYXkyLCAybik7
CisgICAgc2hvdWxkQmUodGVzdDIyKGFycmF5MiksIDZuKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL2RhdGEtdmlldy1iaWdpbnQuanMgYi9KU1Rlc3RzL3N0cmVzcy9kYXRhLXZpZXct
YmlnaW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhN2I1MWVjY2E0ZTJkODI0MGEzMjkxZTBjOWU3NmM3NjY0
MGE4NWQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9kYXRhLXZpZXctYmlnaW50
LmpzCkBAIC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQp
IHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCit2YXIgYXJyYXkgPSBuZXcgVWludDhBcnJh
eShbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgMHg4MCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwg
OSwgMTAgXSk7Cit2YXIgZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcoYXJyYXkuYnVmZmVyKTsKKwor
c2hvdWxkQmUoZGF0YVZpZXcuZ2V0QmlnSW50NjQoMCksIDB4MDEwMjAzMDQwNTA2MDduKTsKK3No
b3VsZEJlKGRhdGFWaWV3LmdldEJpZ1VpbnQ2NCgwKSwgMHgwMTAyMDMwNDA1MDYwN24pOworc2hv
dWxkQmUoZGF0YVZpZXcuZ2V0QmlnSW50NjQoOCksIC05MjIzMDg4MzQ5OTAyNDY5NjI1bik7Citz
aG91bGRCZShkYXRhVmlldy5nZXRCaWdVaW50NjQoOCksIDkyMjM2NTU3MjM4MDcwODE5OTFuKTsK
Kworc2hvdWxkQmUoZGF0YVZpZXcuc2V0QmlnSW50NjQoMCwgLTFuKSwgdW5kZWZpbmVkKTsKK3No
b3VsZEJlKGRhdGFWaWV3LmdldEJpZ0ludDY0KDApLCAtMW4pOworc2hvdWxkQmUoZGF0YVZpZXcu
Z2V0QmlnVWludDY0KDApLCAweGZmZmZmZmZmZmZmZmZmZmZuKTsKKworc2hvdWxkQmUoZGF0YVZp
ZXcuc2V0QmlnVWludDY0KDAsIDB4ZmZmZmZmZmZmZmZmZmZmZW4pLCB1bmRlZmluZWQpOworc2hv
dWxkQmUoZGF0YVZpZXcuZ2V0QmlnSW50NjQoMCksIC0ybik7CitzaG91bGRCZShkYXRhVmlldy5n
ZXRCaWdVaW50NjQoMCksIDB4ZmZmZmZmZmZmZmZmZmZmZW4pOworCitzaG91bGRCZShkYXRhVmll
dy5zZXRCaWdVaW50NjQoMCwgMHgxZmZmZmZmZmZmZmZmZmZmZW4pLCB1bmRlZmluZWQpOworc2hv
dWxkQmUoZGF0YVZpZXcuZ2V0QmlnSW50NjQoMCksIC0ybik7CitzaG91bGRCZShkYXRhVmlldy5n
ZXRCaWdVaW50NjQoMCksIDB4ZmZmZmZmZmZmZmZmZmZmZW4pOworc2hvdWxkQmUoZGF0YVZpZXcu
Z2V0VWludDgoMCksIDB4ZmYpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55
YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCmluZGV4IDgzYTZhNzJkNGNmM2Y0YzFj
OWNmOGFiNzE5OWNiZGZjNGUwYzg4ZjYuLjA0Yzc3MTFlMDYzNjZmNWI0MmRjM2UyNWZjYjc3YjM3
YWJiNGJmMDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKQEAgLTI4LDU0ICsyOCw2IEBAIHNraXA6CiAgICAg
LSB0b3AtbGV2ZWwtYXdhaXQKICAgICAtIEludGwuTGlzdEZvcm1hdAogICBwYXRoczoKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRCaWdJbnQ2NAotICAgIC0gdGVz
dC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ1VpbnQ2NAotICAgIC0gdGVzdC9i
dWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEJpZ0ludDY0Ci0KLSAgICAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA4MDAKLSAgICAtIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL1N5bWJvbC50b1N0cmluZ1RhZy9CaWdJbnQKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2J1ZmZlci9CaWdJbnQKLSAgICAt
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2J5dGVMZW5ndGgvQmlnSW50Ci0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ieXRlT2Zmc2V0L0JpZ0lu
dAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvY29weVdpdGhpbi9C
aWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2VudHJpZXMv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ldmVyeS9C
aWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbGwvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maWx0ZXIvQmln
SW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9maW5kL0JpZ0lu
dAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZEluZGV4L0Jp
Z0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZm9yRWFjaC9C
aWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVz
L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaW5kZXhP
Zi9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2pvaW4v
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9rZXlzL0Jp
Z0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbGFzdEluZGV4
T2YvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sZW5n
dGgvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2Uv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2VS
aWdodC9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3Jl
dmVyc2UvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9z
ZXQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGlj
ZS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0L0Jp
Z0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc3ViYXJyYXkv
QmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90b0xvY2Fs
ZVN0cmluZy9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L3RvU3RyaW5nL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvdmFsdWVzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9CaWdJbnQ2NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL0JpZ1VpbnQ2NEFycmF5Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2N0b3JzLWJpZ2ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9mcm9tL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50Ci0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50
Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9H
ZXQvQmlnSW50Ci0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9HZXRPd25Qcm9wZXJ0eS9CaWdJbnQKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludAotICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvT3duUHJvcGVydHlL
ZXlzL0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvU2V0L0JpZ0ludAotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9vZi9CaWdJbnQKLQogICAgIC0gdGVzdC9idWlsdC1pbnMvQXRvbWljcy9hZGQvYmln
aW50CiAgICAgLSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL2FuZC9iaWdpbnQKICAgICAtIHRlc3Qv
YnVpbHQtaW5zL0F0b21pY3MvY29tcGFyZUV4Y2hhbmdlL2JpZ2ludApAQCAtMTAxLDQ2ICs1Myw2
IEBAIHNraXA6CiAgICAgLSB0ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUt
MTMuMC4wLWVzY2FwZWQuanMKICAgICAtIHRlc3QvbGFuZ3VhZ2UvaWRlbnRpZmllcnMvc3RhcnQt
dW5pY29kZS0xMy4wLjAuanMKIAotICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5MDgwMAotICAgIC0gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1i
aWdpbnQ2NGFycmF5LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJp
Z3VpbnQ2NGFycmF5LmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9zZXQvc3JjLXR5cGVkYXJyYXktYmlnLXRocm93cy5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9jdG9ycy90eXBlZGFycmF5LWFyZy9zcmMtdHlwZWRhcnJh
eS1iaWctdGhyb3dzLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcvYmlnaW50LWluaGVyaXRlZC5qcwotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvYmlnaW50
LVN5bWJvbC5pdGVyYXRvci5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9wcm90b3R5cGUvYnVmZmVyL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2J5dGVMZW5ndGgvYmln
aW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9wcm90b3R5cGUvYnl0ZU9mZnNldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9jb3B5V2l0aGluL2Jp
Z2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvcHJvdG90eXBlL2VudHJpZXMvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZXZlcnkvYmlnaW50LWlu
aGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9w
cm90b3R5cGUvZmlsbC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maWx0ZXIvYmlnaW50LWluaGVyaXRlZC5q
cwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUv
ZmluZC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9maW5kSW5kZXgvYmlnaW50LWluaGVyaXRlZC5qcwotICAg
IC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvZm9yRWFj
aC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL3Byb3RvdHlwZS9pbmRleE9mL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL2pvaW4vYmlnaW50
LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9wcm90b3R5cGUva2V5cy9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9iaWdpbnQtaW5o
ZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3By
b3RvdHlwZS9sZW5ndGgvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvbWFwL2JpZ2ludC1pbmhlcml0ZWQuanMK
LSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3Jl
ZHVjZS9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0g
ICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9yZXZl
cnNlL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvcHJvdG90eXBlL3NldC9iaWdpbnQtaW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9zbGljZS9iaWdpbnQt
aW5oZXJpdGVkLmpzCi0gICAgLSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L3Byb3RvdHlwZS9zb21lL2JpZ2ludC1pbmhlcml0ZWQuanMKLSAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvcHJvdG90eXBlL3NvcnQvYmlnaW50LWluaGVyaXRlZC5q
cwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUv
c3ViYXJyYXkvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvYmlnaW50LWluaGVyaXRl
ZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5
cGUvdG9TdHJpbmcvYmlnaW50LWluaGVyaXRlZC5qcwotICAgIC0gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdmFsdWVzL2JpZ2ludC1pbmhlcml0ZWQuanMK
LSAgICAtIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMv
c3ViY2xhc3MtQmlnSW50NjRBcnJheS5qcwotICAgIC0gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwotICAg
IC0gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNs
YXNzLUJpZ0ludDY0QXJyYXkuanMKLSAgICAtIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRBcnJheS5qcwotCiAgICAgIyBy
ZXF1aXJlcyBJQ1UgNjUgKGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9icm93c2Uv
SUNVLTIwNjU0KQogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5
cGUvZm9ybWF0L2VuLXVzLW51bWVyaWMtYXV0by5qcwogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0
aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9lbi11cy1udW1lcmljLWF1dG8u
anMKQEAgLTIxMiwzICsxMjQsNiBAQCBza2lwOgogICAgIC0gdGVzdC9pbnRsNDAyL051bWJlckZv
cm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy91bml0LmpzCiAgICAgLSB0ZXN0L2ludGw0MDIv
TnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9yZXNvbHZlZE9wdGlvbnMvY29tcGFjdERpc3BsYXkuanMK
ICAgICAtIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvc3R5bGUtdW5pdC5qcworCisgICAgIyBO
ZXcgSUNVICg2Nn4pIHJhaXNlcyBhIGRpZmZlcmVudCBmYWlsdXJlCisgICAgLSB0ZXN0L2ludGw0
MDIvTG9jYWxlL2NvbnN0cnVjdG9yLW5vbi1pYW5hLWNhbm9uLmpzCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRp
b25zLnlhbWwKaW5kZXggMzlkYmY4NTM0OTQxMTZiNDU0ZDVmNmVjMTNkYWY5NTkxOWZjZDBiZC4u
ZjY5Zjg5MmZkNTgwOTUyMmUxZmI3NWVlYjI1MDc0ZmY1YTM4MmM3NyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBl
Y3RhdGlvbnMueWFtbApAQCAtODIzLDYgKzgyMywxMiBAQCB0ZXN0L2J1aWx0LWlucy9SZWdFeHAv
cHJvdG90eXBlL2V4ZWMvdS1sYXN0aW5kZXgtYWR2LmpzOgogdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3F1YW50aWZpZXItaW50ZWdlci1saW1pdC5qczoKICAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBJ
bnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogbnVtYmVyIHRvbyBsYXJnZSBpbiB7fSBxdWFudGlm
aWVyJwogICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVz
c2lvbjogbnVtYmVyIHRvbyBsYXJnZSBpbiB7fSBxdWFudGlmaWVyJwordGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9wcm90b3R5cGUvZmlsdGVyL0JpZ0ludC9jYWxsYmFja2ZuLWRldGFjaGJ1ZmZl
ci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogSW52YWxpZCBhcmd1bWVudCB0eXBlIGluIFRv
QmlnSW50IG9wZXJhdGlvbiAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKKyAgc3RyaWN0
IG1vZGU6ICdUeXBlRXJyb3I6IEludmFsaWQgYXJndW1lbnQgdHlwZSBpbiBUb0JpZ0ludCBvcGVy
YXRpb24gKFRlc3Rpbmcgd2l0aCBCaWdJbnQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvQmlnSW50L3ByZWRpY2F0ZS1tYXktZGV0YWNoLWJ1
ZmZlci5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogdGhyb3dzIGEgVHlwZUVycm9yIGdl
dHRpbmcgYSB2YWx1ZSBmcm9tIHRoZSBkZXRhY2hlZCBidWZmZXIgRXhwZWN0ZWQgYSBUeXBlRXJy
b3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rp
bmcgd2l0aCBCaWdJbnQ2NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiB0
aHJvd3MgYSBUeXBlRXJyb3IgZ2V0dGluZyBhIHZhbHVlIGZyb20gdGhlIGRldGFjaGVkIGJ1ZmZl
ciBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMg
dGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEJpZ0ludDY0QXJyYXkuKScKIHRlc3QvaW50bDQw
Mi9EYXRlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2UvZW4tVVMuanM6CiAgIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE54oCJ4oCT4oCJ
MS81LzIwMTnCuywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1ZScKICAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzEvMy8yMDE54oCJ
4oCT4oCJMS81LzIwMTnCuywgwqsxLzMvMjAxOSDigJMgMS81LzIwMTnCuykgdG8gYmUgdHJ1ZScK
QEAgLTg2NSw5ICs4NzEsNiBAQCB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVz
L3VuaWNvZGUtZXh0LWtleS13aXRoLWRpZ2l0LmpzOgogdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25z
dHJ1Y3Rvci1hcHBseS1vcHRpb25zLWNhbm9uaWNhbGl6ZXMtdHdpY2UuanM6CiAgIGRlZmF1bHQ6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3J1LUFybW4tU1XCuywgwqtydS1B
cm1uLUFNwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqtydS1Bcm1uLVNVwrssIMKrcnUtQXJtbi1BTcK7KSB0byBiZSB0cnVl
JwotdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5vbi5qczoKLSAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogbmV3IEludGwuTG9jYWxlKCJtbyIpLm1heGltaXplKCku
dG9TdHJpbmcoKSByZXR1cm5zICJyby1MYXRuLVJPIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtyb8K7
LCDCq3JvLUxhdG4tUk/CuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IG5ldyBJbnRsLkxvY2FsZSgibW8iKS5tYXhpbWl6ZSgpLnRvU3RyaW5nKCkgcmV0dXJucyAi
cm8tTGF0bi1STyIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrcm/Cuywgwqtyby1MYXRuLVJPwrspIHRv
IGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9yLW9wdGlvbnMtcmVnaW9u
LXZhbGlkLmpzOgogICBkZWZhdWx0OiAiVGVzdDI2MkVycm9yOiBuZXcgSW50bC5Mb2NhbGUoJ2Vu
Jywge3JlZ2lvbjogXCI1NTRcIn0pLnRvU3RyaW5nKCkgcmV0dXJucyBcImVuLU5aXCIgRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrZW4tNTU0wrssIMKrZW4tTlrCuykgdG8gYmUgdHJ1ZSIKICAgc3RyaWN0
IG1vZGU6ICJUZXN0MjYyRXJyb3I6IG5ldyBJbnRsLkxvY2FsZSgnZW4nLCB7cmVnaW9uOiBcIjU1
NFwifSkudG9TdHJpbmcoKSByZXR1cm5zIFwiZW4tTlpcIiBFeHBlY3RlZCBTYW1lVmFsdWUowqtl
bi01NTTCuywgwqtlbi1OWsK7KSB0byBiZSB0cnVlIgo=
</data>
<flag name="review"
          id="436896"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
      

    </bug>

</bugzilla>