<?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>163795</bug_id>
          
          <creation_ts>2016-10-21 10:02:05 -0700</creation_ts>
          <short_desc>WebGLRenderingContextBase.bufferData() should use a union instead of overloading</short_desc>
          <delta_ts>2016-10-27 09:27:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>163764</dependson>
    
    <dependson>163816</dependson>
          <blocked>163791</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1242939</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-21 10:02:05 -0700</bug_when>
    <thetext>WebGLRenderingContextBase.bufferData() should use a union instead of overloading:
- https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243390</commentid>
    <comment_count>1</comment_count>
      <attachid>292501</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 11:00:27 -0700</bug_when>
    <thetext>Created attachment 292501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243397</commentid>
    <comment_count>2</comment_count>
      <attachid>292501</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-22 12:20:22 -0700</bug_when>
    <thetext>Comment on attachment 292501
Patch

Looks good, but GTK and EFL builds are failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243401</commentid>
    <comment_count>3</comment_count>
      <attachid>292504</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 12:55:59 -0700</bug_when>
    <thetext>Created attachment 292504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243406</commentid>
    <comment_count>4</comment_count>
      <attachid>292504</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-22 13:49:21 -0700</bug_when>
    <thetext>Comment on attachment 292504
Patch

Clearing flags on attachment: 292504

Committed r207715: &lt;http://trac.webkit.org/changeset/207715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243407</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-22 13:49:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245147</commentid>
    <comment_count>6</comment_count>
      <attachid>292504</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-10-27 09:27:06 -0700</bug_when>
    <thetext>Comment on attachment 292504
Patch

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

&gt; Source/JavaScriptCore/runtime/JSArrayBuffer.h:80
&gt; +inline ArrayBuffer* JSArrayBuffer::toWrapped(JSValue value)
&gt; +{
&gt; +    return toArrayBuffer(value);
&gt; +}
&gt; +

FYI, this method, and its goal of reducing special handling of ArrayBuffer contradicts https://bugs.webkit.org/show_bug.cgi?id=163986 (SharedArrayBuffer), which requires us to increase the special handling of ArrayBuffer.  It&apos;s going to be necessary for clients of ArrayBuffer to state at the point of use if they are OK with the buffer being shared so that we don&apos;t accidentally use a shared array buffer in a context where it would not be safe to do so.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292501</attachid>
            <date>2016-10-22 11:00:27 -0700</date>
            <delta_ts>2016-10-22 12:55:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163795-20161022105649.patch</filename>
            <type>text/plain</type>
            <size>39713</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OGIxNDI2NTRiYjc1ZTYzNTBlZjU5YTE1MDIzNzhhZWYyYmNkOTAxLi4xM2I1Yjk5YTFiOTUzNjg2
ZGU5NTJmYjJjYWQwZDY2ZjdmNzY0OTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxNi0xMC0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuYnVmZmVyRGF0YSgpIHNob3VsZCB1
c2UgYSB1bmlvbiBpbnN0ZWFkIG9mIG92ZXJsb2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM3OTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmg6Cisg
ICAgICAgIChKU0M6OkFycmF5QnVmZmVyVmlldzo6ZGF0YSk6CisgICAgICAgIEFkZCBhIGRhdGEo
KSBtZXRob2Qgd2hpY2ggYWxpYXNlcyBiYXNlQWRkcmVzcygpIHRvIGFsaWduIHRoZSBBUEkgd2l0
aAorICAgICAgICBBcnJheUJ1ZmZlciBhbmQgcmVkdWNlIHNwZWNpYWwgaGFuZGxpbmcgYXQgY2Fs
bCBzaXRlcy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlci5oOgorICAgICAgICAo
SlNDOjp0b0FycmF5QnVmZmVyKToKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlcjo6dG9XcmFw
cGVkKToKKyAgICAgICAgQWRkIHRvV3JhcHBlZCgpIG1ldGhvZCBzaW1pbGFybHkgd2l0aCBXZWJD
b3JlIHdyYXBwZXIgdHlwZXMgdG8KKyAgICAgICAgcmVkdWNlIHNwZWNpYWwgaGFuZGxpbmcgb2Yg
SlNBcnJheUJ1ZmZlciB0eXBlLgorCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmll
dy5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJWaWV3Ojp0b1dyYXBwZWQpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaDoKKyAgICAgICAgQWRkIHRvV3JhcHBl
ZCgpIG1ldGhvZCBzaW1pbGFybHkgd2l0aCBXZWJDb3JlIHdyYXBwZXIgdHlwZXMgdG8KKyAgICAg
ICAgcmVkdWNlIHNwZWNpYWwgaGFuZGxpbmcgb2YgSlNBcnJheUJ1ZmZlclZpZXcgdHlwZS4KKwog
MjAxNi0xMC0yMSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVRyeUdldEJ5SWQgbmVlZHMgdG8gcGFzcyBpbiBOZWVkc1Rv
U3BpbGwgYWxvbmcgYm90aCB0aGUgY2VsbCBzcGVjdWxhdGlvbiBhbmQgdW50eXBlZCBzcGVjdWxh
dGlvbiBwYXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjExZjFmMjRkYjE5YTRhYjgzMWE2ZmFmYjc3ODY5NGRl
OGQwMTg5MC4uZGU4MjM1OTk0ZWJlMTNiZWY3NjBmZDUwNjA3NTk3NzRmODIwNGVlZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE2LTEwLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKKyAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5idWZmZXJEYXRh
KCkgc2hvdWxkIHVzZSBhIHVuaW9uIGluc3RlYWQgb2Ygb3ZlcmxvYWRpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzc5NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UuYnVmZmVyRGF0YSgpIC8gYnVmZmVyU3ViRGF0YSgpIHNob3VsZCB1c2UgYSB1bmlvbgor
ICAgICAgICBpbnN0ZWFkIG9mIG92ZXJsb2FkaW5nOgorICAgICAgICAtIGh0dHBzOi8vd3d3Lmto
cm9ub3Mub3JnL3JlZ2lzdHJ5L3dlYmdsL3NwZWNzL2xhdGVzdC8xLjAvIzUuMTQKKworICAgICAg
ICBObyBuZXcgdGVzdHMsIG5vIHdlYi1leHBvc2VkIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRE9NQ29udmVydC5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udmVy
dGVyPElETEludGVyZmFjZTxUPj46OmNvbnZlcnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0Lmg6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmg6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZp
ZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRo
SlNCdWlsdGluQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdl
dC5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24u
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1Jl
YWNoYWJsZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50
ZXJmYWNlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJh
YmxlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb2RlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE5vbmRldGVybWluaXN0aWMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5oOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmg6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFR5cGVkZWZzLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmli
dXRlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0YSk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJ1ZmZlclN1YkRhdGEpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoKKwogMjAxNi0x
MC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBS
RUdSRVNTSU9OIChyMjA0NTA4KTogQ3Jhc2ggaW4gaW5pdF9XZWJDcmVhdGVGcmFnbWVudCB3aGVu
IHBhc3RpbmcgKHNlZW4gaW4gbXVsdGlwbGUgYXBwcyB1c2luZyBsZWdhY3kgV2ViS2l0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaAppbmRleCBl
NTJhOGRmMDllNmM3NWZmNWZiYTVhODdjZGY5MzE3ODNkYWE0MzEwLi5iZWZkOTRmMGI0YmU5ZmY5
M2Q0OTI0MDYzOWFiZGI1ODQ3NGQyMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaApAQCAtNjIsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBtX2Jhc2VBZGRyZXNzOwogICAgIH0KIAorICAgIHZvaWQqIGRhdGEoKSBjb25z
dCB7IHJldHVybiBiYXNlQWRkcmVzcygpOyB9CisKICAgICB1bnNpZ25lZCBieXRlT2Zmc2V0KCkg
Y29uc3QKICAgICB7CiAgICAgICAgIGlmIChpc05ldXRlcmVkKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmgKaW5kZXggMDg4MTg2MjIwY2YyOGJjODA4
NjQzZmEzZTY1ZjRhYTU5NjE5MmI2MC4uYWI4YWQzODVlYTVlNzUwNTRjODA2NTU5OTQ3ZDY2ZjI4
MDJmZTdlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZm
ZXIuaApAQCAtNDYsNiArNDYsOCBAQCBwdWJsaWM6CiAgICAgQXJyYXlCdWZmZXIqIGltcGwoKSBj
b25zdCB7IHJldHVybiBtX2ltcGw7IH0KICAgICAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKwor
ICAgIHN0YXRpYyBBcnJheUJ1ZmZlciogdG9XcmFwcGVkKEpTVmFsdWUpOwogICAgIAogICAgIERF
Q0xBUkVfRVhQT1JUX0lORk87CiAgICAgCkBAIC02Nyw4ICs2OSwxMyBAQCBpbmxpbmUgQXJyYXlC
dWZmZXIqIHRvQXJyYXlCdWZmZXIoSlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBKU0FycmF5QnVmZmVy
KiB3cmFwcGVyID0ganNEeW5hbWljQ2FzdDxKU0FycmF5QnVmZmVyKj4odmFsdWUpOwogICAgIGlm
ICghd3JhcHBlcikKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIHJldHVybiB3cmFwcGVyLT5pbXBsKCk7CiB9CiAKK2lubGluZSBBcnJheUJ1ZmZlciogSlNB
cnJheUJ1ZmZlcjo6dG9XcmFwcGVkKEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0dXJuIHRvQXJy
YXlCdWZmZXIodmFsdWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAppbmRleCBiMDEy
MGY0MTA4NTQ0Y2RjZDA3OGZkZGRhMTYzYTUxM2JjYTA5NjVlLi45MTI2NzNhMWUyODI1ODg0NDkw
NjFiNDZmY2Q3Y2Q0Y2RkMDk0N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCkBAIC0xODYsNiArMTg2LDE0IEBAIHZvaWQg
SlNBcnJheUJ1ZmZlclZpZXc6OmZpbmFsaXplKEpTQ2VsbCogY2VsbCkKICAgICAgICAgZmFzdEZy
ZWUodGhpc09iamVjdC0+bV92ZWN0b3IuZ2V0KCkpOwogfQogCitSZWZQdHI8QXJyYXlCdWZmZXJW
aWV3PiBKU0FycmF5QnVmZmVyVmlldzo6dG9XcmFwcGVkKEpTVmFsdWUgdmFsdWUpCit7CisgICAg
YXV0byogd3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih2YWx1ZSk7
CisgICAgaWYgKCF3cmFwcGVyKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4g
d3JhcHBlci0+aW1wbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdU
RiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVm
ZmVyVmlldy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZp
ZXcuaAppbmRleCA0YzAzYzBjMThiNTEwZWFiZDJmY2RiZWNlYzg0ZDZjNmQ4YTg2ZDI1Li5iODY2
NjM2NjhhNjc5NDg1ZTk4MDkwZDVjMjliYjYzYTA2NjVkOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTE3NCw2ICsxNzQs
OCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHB0cmRpZmZfdCBvZmZzZXRPZkxlbmd0aCgpIHsgcmV0
dXJuIE9CSkVDVF9PRkZTRVRPRihKU0FycmF5QnVmZmVyVmlldywgbV9sZW5ndGgpOyB9CiAgICAg
c3RhdGljIHB0cmRpZmZfdCBvZmZzZXRPZk1vZGUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0Yo
SlNBcnJheUJ1ZmZlclZpZXcsIG1fbW9kZSk7IH0KIAorICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiB0b1dyYXBwZWQoSlNWYWx1ZSk7CisKIHByaXZh
dGU6CiAgICAgc3RhdGljIHZvaWQgZmluYWxpemUoSlNDZWxsKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydC5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgKaW5kZXggNmVjZDMxZmEzZGY1Zjc1YzUyOGM0ZmE4
OTYwMTFiMTgwYTgyOGJhOC4uN2RjMDUwYmE4Yjc4Nzc3OGIzNmJjNGZmNjNjZmZjOWM5MWRmNGNl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgKQEAgLTEwNCwy
NSArMTA0LDM2IEBAIHRlbXBsYXRlPD4gc3RydWN0IENvbnZlcnRlcjxJRExCb29sZWFuPiA6IERl
ZmF1bHRDb252ZXJ0ZXI8SURMQm9vbGVhbj4gewogICAgIH0KIH07CiAKKy8vIEFycmF5QnVmZmVy
IHN1cHBvcnQuCit0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8
SlNDOjpBcnJheUJ1ZmZlcj4geworICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTQzo6SlNBcnJh
eUJ1ZmZlcjsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gSlNDOjpBcnJheUJ1ZmZl
cio7Cit9OworCisvLyBBcnJheUJ1ZmZlclZpZXcgc3VwcG9ydC4KK3RlbXBsYXRlPD4gc3RydWN0
IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxKU0M6OkFycmF5QnVmZmVyVmlldz4geworICAg
IHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTQzo6SlNBcnJheUJ1ZmZlclZpZXc7CisgICAgdXNpbmcg
VG9XcmFwcGVkUmV0dXJuVHlwZSA9IFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+OworfTsKKwogLy8g
TUFSSzogLQogLy8gTUFSSzogSW50ZXJmYWNlIHR5cGUKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IENvbnZlcnRlcjxJRExJbnRlcmZhY2U8VD4+IDogRGVmYXVsdENvbnZlcnRlcjxJRExJ
bnRlcmZhY2U8VD4+IHsKLSAgICB1c2luZyBSZXR1cm5UeXBlID0gVCo7CisgICAgdXNpbmcgUmV0
dXJuVHlwZSA9IHR5cGVuYW1lIEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUPjo6VG9XcmFw
cGVkUmV0dXJuVHlwZTsKICAgICB1c2luZyBXcmFwcGVyVHlwZSA9IHR5cGVuYW1lIEpTRE9NV3Jh
cHBlckNvbnZlcnRlclRyYWl0czxUPjo6V3JhcHBlckNsYXNzOwogCi0gICAgc3RhdGljIFQqIGNv
bnZlcnQoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUpCisgICAgc3Rh
dGljIFJldHVyblR5cGUgY29udmVydChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1
ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIEpTQzo6Vk0mIHZtID0gc3RhdGUudm0oKTsKICAgICAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgICAgICBUKiBvYmpl
Y3QgPSBXcmFwcGVyVHlwZTo6dG9XcmFwcGVkKHZhbHVlKTsKKyAgICAgICAgUmV0dXJuVHlwZSBv
YmplY3QgPSBXcmFwcGVyVHlwZTo6dG9XcmFwcGVkKHZhbHVlKTsKICAgICAgICAgaWYgKCFvYmpl
Y3QpCiAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcigmc3RhdGUsIHNjb3BlKTsKICAgICAgICAg
cmV0dXJuIG9iamVjdDsKICAgICB9CiB9OwogCi0KIC8vIFR5cGVkIGFycmF5cyBzdXBwb3J0Lgog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPiBzdHJ1Y3QgSURMSW50ZXJmYWNlPEpTQzo6R2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+PiA6IElETFR5cGU8UmVmPEpTQzo6R2VuZXJpY1R5
cGVkQXJyYXlWaWV3PEFkYXB0b3I+Pj4gewpAQCAtNTQwLDcgKzU1MSw3IEBAIHN0cnVjdCBDb252
ZXJ0ZXI8SURMVW5pb248VC4uLj4+IDogRGVmYXVsdENvbnZlcnRlcjxJRExVbmlvbjxULi4uPj4K
ICAgICAgICAgICAgICAgICB1c2luZyBJbXBsZW1lbnRhdGlvblR5cGUgPSB0eXBlbmFtZSBXVEY6
OlJlbW92ZUNWQW5kUmVmZXJlbmNlPGRlY2x0eXBlKHR5cGUpPjo6dHlwZTo6dHlwZTo6UmF3VHlw
ZTsKICAgICAgICAgICAgICAgICB1c2luZyBXcmFwcGVyVHlwZSA9IHR5cGVuYW1lIEpTRE9NV3Jh
cHBlckNvbnZlcnRlclRyYWl0czxJbXBsZW1lbnRhdGlvblR5cGU+OjpXcmFwcGVyQ2xhc3M7CiAK
LSAgICAgICAgICAgICAgICBhdXRvKiBjYXN0ZWRWYWx1ZSA9IFdyYXBwZXJUeXBlOjp0b1dyYXBw
ZWQodmFsdWUpOworICAgICAgICAgICAgICAgIGF1dG8gY2FzdGVkVmFsdWUgPSBXcmFwcGVyVHlw
ZTo6dG9XcmFwcGVkKHZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIWNhc3RlZFZhbHVlKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGMw
NzFlMjc3ZTljY2Q3ZDgwZmU4YWI4NTVjYWUyZTY2MTUwNDIyMTcuLmZiZmFjY2EzM2RmODZmNTM2
MDkwODU2NDhmZjIyZWNhNjgxMmE3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNzMyLDYgKzE3MzIsNyBAQCBzdWIg
R2VuZXJhdGVIZWFkZXIKICAgICBpZiAoTmVlZHNJbXBsZW1lbnRhdGlvbkNsYXNzKCRpbnRlcmZh
Y2UpKSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJ0ZW1wbGF0ZTw+IHN0cnVjdCBK
U0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8JHtpbXBsVHlwZX0+IHtcbiIpOwogICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9ICR7Y2xhc3NOYW1l
fTtcbiIpOworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHVzaW5nIFRvV3JhcHBl
ZFJldHVyblR5cGUgPSAke2ltcGxUeXBlfSo7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIn07XG4iKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuaAppbmRleCBiNjcyOTUxNjc2
MzU3NWNiYzZhMTdjMTdjYmEzOTNkZGNhZjdmMTY4Li4zMmVmYTdiZDE3ODE2YTU5NTU5ZTU1N2Nl
NGNmODIzYzY4N2JlZjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNJbnRlcmZhY2VOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlu
bGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNv
bnZlcnRlclRyYWl0czxJbnRlcmZhY2VOYW1lPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0g
SlNJbnRlcmZhY2VOYW1lOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBJbnRlcmZh
Y2VOYW1lKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVE
T01PYmplY3QuaAppbmRleCA0MGQ1YTI3YzFmZjA0MGJmYWUxM2RjN2E1YjI5MGE5OWFkMjMzZTk2
Li41NjVkM2ViYzJiYzA1NDlhNTlmZDhmMjRiNGE1YmFjYTI3ZmExMDM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2Jq
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEFjdGl2ZURPTU9iamVjdC5oCkBAIC04Niw2ICs4Niw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0
QWN0aXZlRE9NT2JqZWN0PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0QWN0aXZl
RE9NT2JqZWN0OworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0QWN0aXZlRE9N
T2JqZWN0KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25z
LmgKaW5kZXggNzI1YTBmZmYzNGJhNDQ0ZTU2MDdkZjk2ZjAyNzYyYmYyY2MzYjllYS4uMTA5OWIy
ZDk2NzFiZGJhMWY2MTNlMjI4YmRhYWY0ZjFlYTQyZDNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25z
LmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVk
KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8
PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3RDRVJlYWN0aW9ucz4gewog
ICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdENFUmVhY3Rpb25zOworICAgIHVzaW5nIFRv
V3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Q0VSZWFjdGlvbnMqOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmgKaW5k
ZXggNTNiZDAyYTM1NDY5MjgxNDNhZjc4ZDczODAyMGVlYTU0NWI1OGEyZi4uOTQ0YmMxYWMyMWY3
ZDNjNWJjNDJmZmUxNmNhNTMzNmYyNDJlNmVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllci5oCkBAIC04NCw2ICs4NCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0
Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXI7CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9
IFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
LmgKaW5kZXggOWM4MjVhYmI5OWJhNjU1NTIxMzg4NmFmYThhOTI1M2IwOGMzMjFmYy4uMWFhZTIz
YmUyYmE2MDg4ZDIyZTk1MTk4MzE0ODZjNWNmM2JmNmE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmgKQEAgLTg2LDYgKzg2LDcgQEAg
aW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0
ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVy
Q29udmVydGVyVHJhaXRzPFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcj4gewogICAg
IHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9y
OworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Q2xhc3NXaXRoSlNCdWlsdGlu
Q29uc3RydWN0b3IqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0
cnVjdG9yV2l0aE5vSW50ZXJmYWNlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmpl
Y3QuaAppbmRleCAxN2I5Y2E4MDAxYjIyZGEwN2NjMTFlMTgzZjk1NDlhNWQwODg5YTA0Li4wNzYz
MzBiMGM3YzI5MGI3ZTVmMThhMTg5YzVjOTI4NWQxMzgzNjE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JX
aXRoTm9JbnRlcmZhY2VPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Qu
aApAQCAtODYsNiArODYsNyBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29u
c3RydWN0SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhYwogCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdEN1c3RvbUNvbnN0cnVjdG9y
V2l0aE5vSW50ZXJmYWNlT2JqZWN0PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0
Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q7CisgICAgdXNpbmcgVG9XcmFw
cGVkUmV0dXJuVHlwZSA9IFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVj
dCo7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1l
ZEdldHRlci5oCmluZGV4IDlhMmQ2NGRiNmMwNDI5M2MxOTljYThjOWEyNDZiYmEyZTlkNWFjYjgu
LmE1ZmQ0NWYxNWNiMzVmM2U0ZDNlMTg0MDM5YjBmYjk0MGVlMGM1MTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdl
dHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDdXN0b21OYW1lZEdldHRlci5oCkBAIC05MCw2ICs5MCw3IEBAIGlubGluZSBKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXI+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RD
dXN0b21OYW1lZEdldHRlcjsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdEN1
c3RvbU5hbWVkR2V0dGVyKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCmluZGV4IDZlNWRhZWM3NDI0MWQ3YjJiODQ1ZTlmMTIwZDY4
Y2Y1YTRhODEyNTUuLjQ4YTVjNDRmYTQ2MDYyNTMxYTc4NjRlNmY1NzU0MTQxZjVlMDk1ZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
dmVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAtNzAsNiArNzAsNyBAQCBpbmxpbmUg
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RP
TUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0
ZXJUcmFpdHM8VGVzdEV2ZW50Q29uc3RydWN0b3I+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3Mg
PSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUg
PSBUZXN0RXZlbnRDb25zdHJ1Y3Rvcio7CiB9OwogdGVtcGxhdGU8PiBUZXN0RXZlbnRDb25zdHJ1
Y3Rvcjo6SW5pdCBjb252ZXJ0RGljdGlvbmFyeTxUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SW5pdD4o
SlNDOjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCmlu
ZGV4IDIyMzFiNGIwYjRjNDhlY2RlYjQ4ZWFjMjU0OGExZjU4MTY2YTZjMGYuLmY5ZDA1NzE4NWZi
ZWM3MGM4NzIxZmQ2Zjg3NjZiMjRiYjM5ZGVjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCkBA
IC04MCw2ICs4MCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3Ry
dWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0RXZlbnRUYXJnZXQ+IHsKICAgICB1
c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RFdmVudFRhcmdldDsKKyAgICB1c2luZyBUb1dyYXBw
ZWRSZXR1cm5UeXBlID0gVGVzdEV2ZW50VGFyZ2V0KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFeGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFeGNlcHRpb24uaAppbmRleCAzNzJlNWQ0MGYzZGZjNjg5ZDY4M2M1MDE0MWIz
YmFlMGM4Yzc2MDc1Li4wNDVjYmY2M2VlZWRhZjIwNjFhZTFlZjJjOWM4M2RlZTI4MmRhZDZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RXhjZXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV4Y2VwdGlvbi5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0
KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0
RXhjZXB0aW9uPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0RXhjZXB0aW9uOwor
ICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0RXhjZXB0aW9uKjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5o
CmluZGV4IDZjNDJjNjA0ZDI1MGM3MDg0NGNjYTYwYWE5NDUxMjM4ODJlZTRmZTYuLjUzYTg1NDE2
OTU1NTljODdhOWYwMjc3M2FjMzE4ODYyNTgxMjgzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVy
YXRlSXNSZWFjaGFibGUuaApAQCAtODQsNiArODQsNyBAQCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRv
SlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCog
ZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdEdl
bmVyYXRlSXNSZWFjaGFibGU+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZSo7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFs
T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
R2xvYmFsT2JqZWN0LmgKaW5kZXggMjc4NDJlMWIzYTI5NDM4ZjRlZmI2MTlhZWQwN2MyNTQ4MWEz
MTZlNC4uNTdiMGRiYjNkOWE3MTg5M2RmOGJjNDNmMDUxOTliZWE4YmVhYzM2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuaApAQCAtMTE0LDYgKzExNCw3IEBAIHB1YmxpYzoKIAogdGVtcGxhdGU8
PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3RHbG9iYWxPYmplY3Q+IHsK
ICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RHbG9iYWxPYmplY3Q7CisgICAgdXNpbmcg
VG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3RHbG9iYWxPYmplY3QqOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCmluZGV4IGJkNjNhOTRjNzVjZjhkMTUzYzc0
NWFmMGM1NTNjMjc0ZGMxZGI2MTEuLmFkNjYyNDJmNzcyZTlhNTViMzlkMGQ1Zjg4Y2I1NDAyZTVh
NTU2ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBpbmxpbmUgSlND
OjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUds
b2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJU
cmFpdHM8VGVzdEludGVyZmFjZT4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdElu
dGVyZmFjZTsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdEludGVyZmFjZSo7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCmluZGV4IDg3MDIy
ZDUzNjhlYzQzZDlhYjhmMDVhZWUyMzBkMWEyZjIxNzU5MjMuLjRhYzcxMDUwZDkxMmMxM2E4OWE0
NzZmM2E5OTZiZDc0ZDkyMDYxODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCkBAIC04NCw2ICs4NCw3IEBA
IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBl
ckNvbnZlcnRlclRyYWl0czxUZXN0SXRlcmFibGU+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3Mg
PSBKU1Rlc3RJdGVyYWJsZTsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdEl0
ZXJhYmxlKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IDNmNWY0MjYxY2FhZTY0Zjc5MmJmNTc1YWUx
ZTlkZWI4NjVlOTE2NjYuLmViY2M5MTMwMmI5NjJjNmYxZWYzZDZmZWQ2MDJkMTU3M2Y5YmYzYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtODQsNiAr
ODQsNyBAQCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RP
TVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKICAg
ICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOworICAg
IHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0
b3IuaAppbmRleCA4MDI0MTVkZWM5YzM5NGE5MDE5MGNmMmM4NDAzYmU2Zjg4ZDIxZjBlLi4zYWFh
MTQ1OGYzMDg3NzliNjhlMzc5NjFhOTM0Y2E4NjU2NDY1ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yLmgKQEAgLTg1LDYgKzg1LDcgQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3ROYW1l
ZENvbnN0cnVjdG9yPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0TmFtZWRDb25z
dHJ1Y3RvcjsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdE5hbWVkQ29uc3Ry
dWN0b3IqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmgKaW5kZXggMzg2M2Ri
ZjE5MzU5M2ZiODY3YTMxNjU1ZWY2Njc2NDk2MjU1ZWIzOC4uODAzZDk1NzNmYmZlZDNlYjI1YWU2
MDNjOTlkOWQxMWRjZmI2MTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5oCkBAIC03MSw2ICs3MSw3IEBAIGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRl
clRyYWl0czxUZXN0Tm9kZT4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdE5vZGU7
CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3ROb2RlKjsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCmluZGV4IGY5
NmNiNzZmMDdhNTYzMWFlOTIyNTViNzNkOTYyYmZiNGY2ZTk5NmEuLmEzNDIxYTVlOTg3NDY4NjRk
OTk2ZGQ0NjEyMDA0MjViZWRhZWU3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMu
aApAQCAtODQsNiArODQsNyBAQCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE5vbmRldGVybWluaXN0aWM+
IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3ROb25kZXRlcm1pbmlzdGljOworICAg
IHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyo7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggYmZiYTQ4MTk2NTlkNjdlNmFjOTVh
YjI5ODA0OTQzMjdkMzhmYTMxMi4uMmJjODQ3YzhmNzJjODc2ZWNlNDBjMTQwZjU2MTA4NWU1MGJj
ZjdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouaApAQCAtMTA0LDYgKzEwNCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
CiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0T2Jq
PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0T2JqOworICAgIHVzaW5nIFRvV3Jh
cHBlZFJldHVyblR5cGUgPSBUZXN0T2JqKjsKIH07CiBKU0M6OkpTU3RyaW5nKiBqc1N0cmluZ1dp
dGhDYWNoZShKU0M6OkV4ZWNTdGF0ZSosIFRlc3RPYmo6OkVudW1UeXBlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKaW5kZXggMDY1ZGU1ZmI0YzVlOWUyNTUx
MWU5ZmRmMjdhODNiMzdhNTJlNGFkMC4uYzZiYTMyZDdjYThjY2M4NzgwYzllMzcyM2E4ZjdmYjhi
OGJkMjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCkBA
IC04NCw2ICs4NCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6
OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3Ry
dWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cz4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnM7CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzV2l0aFNlcXVlbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5oCmluZGV4IGE0
Y2U2NGJhYzUzZDNjY2YyNWM1NzBiM2YyNmY0N2NiOTc0MzBhYWQuLjliODk3ZTUzM2U4YTEwZmUy
MjUxYzIyNzQ2ZmNhNmM2NjMwMWJmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuaApAQCAtODQsNiArODQsNyBAQCBp
bmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRl
LCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJD
b252ZXJ0ZXJUcmFpdHM8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+IHsK
ICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0
aFNlcXVlbmNlOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSo7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcnJpZGVCdWlsdGlucy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaAppbmRleCBmYmMyM2I1OGE1ZmU4MjRhMTcz
MDNkNWFkMDQ2M2M1MWQ3MWU3NmM2Li5lZDVmYWUxNGU1ODk4MTdmODUyZGRmZTFlZTI1NzNjZTZm
ZjM1Y2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T3ZlcnJpZGVCdWlsdGlucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmgKQEAgLTkxLDYgKzkxLDcg
QEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBz
dGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFw
cGVyQ29udmVydGVyVHJhaXRzPFRlc3RPdmVycmlkZUJ1aWx0aW5zPiB7CiAgICAgdXNpbmcgV3Jh
cHBlckNsYXNzID0gSlNUZXN0T3ZlcnJpZGVCdWlsdGluczsKKyAgICB1c2luZyBUb1dyYXBwZWRS
ZXR1cm5UeXBlID0gVGVzdE92ZXJyaWRlQnVpbHRpbnMqOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmgKaW5kZXggMTlmZGE0NzJmODdlZTlhOTZl
OGUzZjNkNjA3NWY3M2JlMzIzYzUwYy4uNjY3ZjY5ZDZkMTkzZjJjNTQzMWQ5ZTBkZDFiYmI4Zjhk
NmJlZWJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbi5oCkBAIC04NCw2ICs4NCw3IEBAIGlu
bGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUs
IEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNv
bnZlcnRlclRyYWl0czxUZXN0U2VyaWFsaXphdGlvbj4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFz
cyA9IEpTVGVzdFNlcmlhbGl6YXRpb247CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9
IFRlc3RTZXJpYWxpemF0aW9uKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRl
eCA0OWU1YjQ2MDNmNjY3YjM4MDc5NTFkYTA4ODZjZDY4NGFhMzIyYjBmLi5mMTdmMTdkODUzMWEw
YzE2ZjQ5MTY4MTM4YjAxMzY2NTJjODU1N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC05MCw2ICs5MCw3IEBAIGlubGlu
ZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZl
cnRlclRyYWl0czxUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPiB7CiAgICAgdXNp
bmcgV3JhcHBlckNsYXNzID0gSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOwor
ICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgK
aW5kZXggYjFkMzZiZmE5ZmFjZTlhZWZkNDcwMTMwNWRkN2IxZWEyZmE3NDVlMC4uNmU5YjYwOTYy
Njk2OWM0ODUzODQ1OWZhOWVkOGU3YjI4ZDRmN2I0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKQEAgLTg2
LDYgKzg2LDcgQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhl
Y1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3Qg
SlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3RUeXBlZGVmcz4gewogICAgIHVzaW5nIFdy
YXBwZXJDbGFzcyA9IEpTVGVzdFR5cGVkZWZzOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5
cGUgPSBUZXN0VHlwZWRlZnMqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUu
aAppbmRleCBjOWM4Y2Q4NWUzOTNhOGNhZmE4Nzg4MDNiZjU4MDhiNzUzNjg3OTMwLi40YThjYjRk
ZDZlNTZjYzYxOGVjYjExMDAwYjEwMzQ4ODJiZmRmNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaApAQCAtODcsNiAr
ODcsNyBAQCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RP
TVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8YXR0cmlidXRlPiB7CiAgICAgdXNpbmcgV3JhcHBlckNs
YXNzID0gSlNhdHRyaWJ1dGU7CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IGF0dHJp
YnV0ZSo7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaAppbmRleCA4MGYzMDk1
YmI0ZDI5YjM2MDk3ZWEwMGEwMmVmNTdlYzY2NDg1NDIzLi5jMjQyZDJmMmRkNDEzYzkxNTkwY2Q5
NGQ3MDgzYzM2MmNjYzg0M2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpT
Qzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNET01H
bG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVy
VHJhaXRzPHJlYWRvbmx5PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNyZWFkb25seTsK
KyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gcmVhZG9ubHkqOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1NjUyZTUxZjg3ZDcwMmZlYTg0MmMzM2U3
NWVhMWEyOWY2ZmJlMWI3Li43MjdlZjMzNTVhY2Q2YzkyZjE5MjRjNWM3ODg2YTgyNGQzOGU3YjBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJp
bmdDb250ZXh0LmNwcApAQCAtOTksNyArOTksNyBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OmJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBBcnJheUJ1ZmZlclZpZXcmIGRhdGEsCiAg
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpPVVRfT0ZfTUVNT1JZ
LCAiYnVmZmVyRGF0YSIsICJDb3VsZCBub3QgY3JlYXRlIGludGVybWVkaWF0ZSBBcnJheUJ1ZmZl
clZpZXciKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpidWZmZXJEYXRhKHRhcmdldCwgc2xpY2UuZ2V0KCksIHVzYWdlKTsKKyAgICBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKHRhcmdldCwgQnVmZmVyRGF0YVNvdXJj
ZShzbGljZS5nZXQoKSksIHVzYWdlKTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0
OjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgQXJyYXlC
dWZmZXJWaWV3JiBkYXRhLCBHQzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IGxlbmd0aCkKQEAg
LTExMyw3ICsxMTMsNyBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlclN1YkRh
dGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgb2Zmc2V0LCBBcgogICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6T1VUX09GX01FTU9SWSwgImJ1ZmZlckRhdGEi
LCAiQ291bGQgbm90IGNyZWF0ZSBpbnRlcm1lZGlhdGUgQXJyYXlCdWZmZXJWaWV3Iik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6YnVmZmVy
U3ViRGF0YSh0YXJnZXQsIG9mZnNldCwgc2xpY2UpOworICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6OmJ1ZmZlclN1YkRhdGEodGFyZ2V0LCBvZmZzZXQsIEJ1ZmZlckRhdGFTb3VyY2Uoc2xp
Y2UuZ2V0KCkpKTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb3B5QnVmZmVy
U3ViRGF0YShHQzNEZW51bSwgR0MzRGVudW0sIEdDM0RpbnQ2NCwgR0MzRGludDY0LCBHQzNEaW50
NjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDk2YzI1OTA3ZDJlN2FhMDM1NGUwYjVlNTMwYTE3ZWNi
ZGI0ZGNhMDUuLmRkMmI3YjIzMjYyZGNkMWQ4OTNmNzY0MGMyNGVhY2FiYjI1ZmNhY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCkBAIC0xMDc1LDcgKzEwNzUsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgc2l6ZSwgR0Mz
RAogICAgIH0KIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRh
KEdDM0RlbnVtIHRhcmdldCwgQXJyYXlCdWZmZXIqIGRhdGEsIEdDM0RlbnVtIHVzYWdlKQordm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdldCwg
T3B0aW9uYWw8QnVmZmVyRGF0YVNvdXJjZT4mJiBkYXRhLCBHQzNEZW51bSB1c2FnZSkKIHsKICAg
ICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQogICAgICAgICByZXR1cm47CkBAIC0xMDg2
LDc2ICsxMDg2LDI1IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6YnVmZmVyRGF0
YShHQzNEZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyKiBkYXRhLCBHCiAgICAgV2ViR0xCdWZmZXIq
IGJ1ZmZlciA9IHZhbGlkYXRlQnVmZmVyRGF0YVBhcmFtZXRlcnMoImJ1ZmZlckRhdGEiLCB0YXJn
ZXQsIHVzYWdlKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwotICAgIGlmICgh
aXNFcnJvckdlbmVyYXRlZE9uT3V0T2ZCb3VuZHNBY2Nlc3NlcygpKSB7Ci0gICAgICAgIGlmICgh
YnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEpKSB7Ci0gICAgICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImJ1ZmZlckRhdGEi
LCAiaW52YWxpZCBidWZmZXIiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAg
IH0KLQotICAgIG1fY29udGV4dC0+bW92ZUVycm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCk7Ci0g
ICAgbV9jb250ZXh0LT5idWZmZXJEYXRhKHRhcmdldCwgZGF0YS0+Ynl0ZUxlbmd0aCgpLCBkYXRh
LT5kYXRhKCksIHVzYWdlKTsKLSAgICBpZiAobV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0
aWNFcnJvckxpc3QoKSkgewotICAgICAgICAvLyBUaGUgYnVmZmVyRGF0YSBmdW5jdGlvbiBmYWls
ZWQuIFRlbGwgdGhlIGJ1ZmZlciBpdCBkb2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhpbmtzIGl0
IGRvZXMuCi0gICAgICAgIGJ1ZmZlci0+ZGlzYXNzb2NpYXRlQnVmZmVyRGF0YSgpOwotICAgIH0K
LX0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKEdDM0RlbnVt
IHRhcmdldCwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBkYXRhLCBHQzNEZW51bSB1c2FnZSkK
LXsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKCFkYXRhKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVmZmVyRGF0YSIsICJudWxsIGRhdGEiKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBXZWJHTEJ1ZmZlciogYnVmZmVyID0gdmFsaWRhdGVCdWZmZXJE
YXRhUGFyYW1ldGVycygiYnVmZmVyRGF0YSIsIHRhcmdldCwgdXNhZ2UpOwotICAgIGlmICghYnVm
ZmVyKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFpc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJv
dW5kc0FjY2Vzc2VzKCkpIHsKLSAgICAgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRh
dGEoZGF0YS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVmZmVyRGF0YSIsICJpbnZhbGlkIGJ1ZmZlciIp
OwotICAgICAgICAgICAgcmV0dXJuOworICAgIFdURjo6dmlzaXQoWyZdKGF1dG8mIGRhdGEpIHsK
KyAgICAgICAgaWYgKCFpc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vzc2VzKCkpIHsK
KyAgICAgICAgICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEuZ2V0KCkp
KSB7CisgICAgICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfVkFMVUUsICJidWZmZXJEYXRhIiwgImludmFsaWQgYnVmZmVyIik7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotCi0gICAg
bV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJvckxpc3QoKTsKLSAgICBtX2NvbnRl
eHQtPmJ1ZmZlckRhdGEodGFyZ2V0LCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmJhc2VBZGRy
ZXNzKCksIHVzYWdlKTsKLSAgICBpZiAobV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNF
cnJvckxpc3QoKSkgewotICAgICAgICAvLyBUaGUgYnVmZmVyRGF0YSBmdW5jdGlvbiBmYWlsZWQu
IFRlbGwgdGhlIGJ1ZmZlciBpdCBkb2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhpbmtzIGl0IGRv
ZXMuCi0gICAgICAgIGJ1ZmZlci0+ZGlzYXNzb2NpYXRlQnVmZmVyRGF0YSgpOwotICAgIH0KLX0K
IAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0RlbnVt
IHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgQXJyYXlCdWZmZXIqIGRhdGEpCi17Ci0gICAgaWYg
KGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIFdlYkdMQnVm
ZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKCJidWZmZXJTdWJEYXRh
IiwgdGFyZ2V0LCBHcmFwaGljc0NvbnRleHQzRDo6U1RBVElDX0RSQVcpOwotICAgIGlmICghYnVm
ZmVyKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKG9mZnNldCA8IDApIHsKLSAgICAgICAgc3lu
dGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJidWZmZXJT
dWJEYXRhIiwgIm9mZnNldCA8IDAiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAo
IWRhdGEpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIWlzRXJyb3JHZW5lcmF0ZWRPbk91dE9m
Qm91bmRzQWNjZXNzZXMoKSkgewotICAgICAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVy
U3ViRGF0YShzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhKSkgewotICAgICAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUs
ICJidWZmZXJTdWJEYXRhIiwgIm9mZnNldCBvdXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgbV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJvckxpc3Qo
KTsKKyAgICAgICAgbV9jb250ZXh0LT5idWZmZXJEYXRhKHRhcmdldCwgZGF0YS0+Ynl0ZUxlbmd0
aCgpLCBkYXRhLT5kYXRhKCksIHVzYWdlKTsKKyAgICAgICAgaWYgKG1fY29udGV4dC0+bW92ZUVy
cm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCkpIHsKKyAgICAgICAgICAgIC8vIFRoZSBidWZmZXJE
YXRhIGZ1bmN0aW9uIGZhaWxlZC4gVGVsbCB0aGUgYnVmZmVyIGl0IGRvZXNuJ3QgaGF2ZSB0aGUg
ZGF0YSBpdCB0aGlua3MgaXQgZG9lcy4KKyAgICAgICAgICAgIGJ1ZmZlci0+ZGlzYXNzb2NpYXRl
QnVmZmVyRGF0YSgpOwogICAgICAgICB9Ci0gICAgfQotCi0gICAgbV9jb250ZXh0LT5tb3ZlRXJy
b3JzVG9TeW50aGV0aWNFcnJvckxpc3QoKTsKLSAgICBtX2NvbnRleHQtPmJ1ZmZlclN1YkRhdGEo
dGFyZ2V0LCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhLT5ieXRlTGVuZ3Ro
KCksIGRhdGEtPmRhdGEoKSk7Ci0gICAgaWYgKG1fY29udGV4dC0+bW92ZUVycm9yc1RvU3ludGhl
dGljRXJyb3JMaXN0KCkpIHsKLSAgICAgICAgLy8gVGhlIGJ1ZmZlclN1YkRhdGEgZnVuY3Rpb24g
ZmFpbGVkLiBUZWxsIHRoZSBidWZmZXIgaXQgZG9lc24ndCBoYXZlIHRoZSBkYXRhIGl0IHRoaW5r
cyBpdCBkb2VzLgotICAgICAgICBidWZmZXItPmRpc2Fzc29jaWF0ZUJ1ZmZlckRhdGEoKTsKLSAg
ICB9CisgICAgfSwgZGF0YS52YWx1ZSgpKTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwg
UmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBkYXRhKQordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwg
T3B0aW9uYWw8QnVmZmVyRGF0YVNvdXJjZT4mJiBkYXRhKQogewogICAgIGlmIChpc0NvbnRleHRM
b3N0T3JQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTExNjgsMTkgKzExMTcsMjIgQEAg
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRh
cmdldCwgbG9uZyBsb25nIG9mZnNldCwKICAgICB9CiAgICAgaWYgKCFkYXRhKQogICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFpc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vzc2VzKCkp
IHsKLSAgICAgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEoc3RhdGljX2Nh
c3Q8R0MzRGludHB0cj4ob2Zmc2V0KSwgZGF0YS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVmZmVyU3Vi
RGF0YSIsICJvZmZzZXQgb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1cm47CisKKyAg
ICBXVEY6OnZpc2l0KFsmXShhdXRvJiBkYXRhKSB7CisgICAgICAgIGlmICghaXNFcnJvckdlbmVy
YXRlZE9uT3V0T2ZCb3VuZHNBY2Nlc3NlcygpKSB7CisgICAgICAgICAgICBpZiAoIWJ1ZmZlci0+
YXNzb2NpYXRlQnVmZmVyU3ViRGF0YShzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBk
YXRhLmdldCgpKSkgeworICAgICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVmZmVyU3ViRGF0YSIsICJvZmZzZXQgb3V0IG9m
IHJhbmdlIik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAg
ICB9Ci0gICAgfQogCi0gICAgbV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJvckxp
c3QoKTsKLSAgICBtX2NvbnRleHQtPmJ1ZmZlclN1YkRhdGEodGFyZ2V0LCBzdGF0aWNfY2FzdDxH
QzNEaW50cHRyPihvZmZzZXQpLCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmJhc2VBZGRyZXNz
KCkpOwotICAgIGlmIChtX2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9yTGlzdCgp
KSB7Ci0gICAgICAgIC8vIFRoZSBidWZmZXJTdWJEYXRhIGZ1bmN0aW9uIGZhaWxlZC4gVGVsbCB0
aGUgYnVmZmVyIGl0IGRvZXNuJ3QgaGF2ZSB0aGUgZGF0YSBpdCB0aGlua3MgaXQgZG9lcy4KLSAg
ICAgICAgYnVmZmVyLT5kaXNhc3NvY2lhdGVCdWZmZXJEYXRhKCk7Ci0gICAgfQorICAgICAgICBt
X2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9yTGlzdCgpOworICAgICAgICBtX2Nv
bnRleHQtPmJ1ZmZlclN1YkRhdGEodGFyZ2V0LCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZz
ZXQpLCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmRhdGEoKSk7CisgICAgICAgIGlmIChtX2Nv
bnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9yTGlzdCgpKSB7CisgICAgICAgICAgICAv
LyBUaGUgYnVmZmVyU3ViRGF0YSBmdW5jdGlvbiBmYWlsZWQuIFRlbGwgdGhlIGJ1ZmZlciBpdCBk
b2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhpbmtzIGl0IGRvZXMuCisgICAgICAgICAgICBidWZm
ZXItPmRpc2Fzc29jaWF0ZUJ1ZmZlckRhdGEoKTsKKyAgICAgICAgfQorICAgIH0sIGRhdGEudmFs
dWUoKSk7CiB9CiAKIEdDM0RlbnVtIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNoZWNrRnJh
bWVidWZmZXJTdGF0dXMoR0MzRGVudW0gdGFyZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4IDU2ZjhiMTk5
ZmE5ZTNmMTkyZmU3YTMwODQ2NWM5MzcwMTFlYzhiYjguLjIyNDc0ODJlNDI1Y2Q2NjhkZGQ0Nzg5
ZGVjZWQxOTI0ZTlkNWZhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNs
dWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8cnVudGltZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNsdWRl
IDxydW50aW1lL0ludDMyQXJyYXkuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMzgs
MTEgKzEzOSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBibGVuZEZ1bmMoR0MzRGVudW0gc2ZhY3Rv
ciwgR0MzRGVudW0gZGZhY3Rvcik7CiAgICAgdm9pZCBibGVuZEZ1bmNTZXBhcmF0ZShHQzNEZW51
bSBzcmNSR0IsIEdDM0RlbnVtIGRzdFJHQiwgR0MzRGVudW0gc3JjQWxwaGEsIEdDM0RlbnVtIGRz
dEFscGhhKTsKIAorICAgIHVzaW5nIEJ1ZmZlckRhdGFTb3VyY2UgPSBXVEY6OlZhcmlhbnQ8UmVm
UHRyPEFycmF5QnVmZmVyPiwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4+OwogICAgIHZvaWQgYnVm
ZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBzaXplLCBHQzNEZW51bSB1c2FnZSk7
Ci0gICAgdm9pZCBidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdldCwgQXJyYXlCdWZmZXIqIGRhdGEs
IEdDM0RlbnVtIHVzYWdlKTsKLSAgICB2b2lkIGJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBS
ZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmIGRhdGEsIEdDM0RlbnVtIHVzYWdlKTsKLSAgICB2b2lk
IGJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgb2Zmc2V0LCBBcnJheUJ1
ZmZlciogZGF0YSk7Ci0gICAgdm9pZCBidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9u
ZyBsb25nIG9mZnNldCwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBkYXRhKTsKKyAgICB2b2lk
IGJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBPcHRpb25hbDxCdWZmZXJEYXRhU291cmNlPiYm
LCBHQzNEZW51bSB1c2FnZSk7CisgICAgdm9pZCBidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdl
dCwgbG9uZyBsb25nIG9mZnNldCwgT3B0aW9uYWw8QnVmZmVyRGF0YVNvdXJjZT4mJik7CiAKICAg
ICBHQzNEZW51bSBjaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdDM0RlbnVtIHRhcmdldCk7CiAgICAg
dmlydHVhbCB2b2lkIGNsZWFyKEdDM0RiaXRmaWVsZCBtYXNrKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRs
CmluZGV4IGI1MjE0YWU2NjNlMTMyOGY5MmI5ZjZmMWFmY2Q3YTcwODM3NDk0M2MuLjdlYTI4MGRh
Yzg1MTI5OWRhZWE1ZjhjZTA5NTM0MWNhYjBmM2QxZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsCkBAIC0z
Nyw2ICszNyw3IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR0x1c2hvcnQ7CiB0eXBlZGVmIHVu
c2lnbmVkIGxvbmcgIEdMdWludDsKIHR5cGVkZWYgdW5yZXN0cmljdGVkIGZsb2F0IEdMZmxvYXQ7
CiB0eXBlZGVmIHVucmVzdHJpY3RlZCBmbG9hdCBHTGNsYW1wZjsKK3R5cGVkZWYgKEFycmF5QnVm
ZmVyIG9yIEFycmF5QnVmZmVyVmlldykgQnVmZmVyRGF0YVNvdXJjZTsKIAogWwogICAgIENvbmRp
dGlvbmFsPVdFQkdMLApAQCAtNDg0LDExICs0ODUsOSBAQCB0eXBlZGVmIHVucmVzdHJpY3RlZCBm
bG9hdCBHTGNsYW1wZjsKICAgICB2b2lkIGJsZW5kRXF1YXRpb25TZXBhcmF0ZShHTGVudW0gbW9k
ZVJHQiwgR0xlbnVtIG1vZGVBbHBoYSk7CiAgICAgdm9pZCBibGVuZEZ1bmMoR0xlbnVtIHNmYWN0
b3IsIEdMZW51bSBkZmFjdG9yKTsKICAgICB2b2lkIGJsZW5kRnVuY1NlcGFyYXRlKEdMZW51bSBz
cmNSR0IsIEdMZW51bSBkc3RSR0IsIEdMZW51bSBzcmNBbHBoYSwgR0xlbnVtIGRzdEFscGhhKTsK
LSAgICB2b2lkIGJ1ZmZlckRhdGEoR0xlbnVtIHRhcmdldCwgQXJyYXlCdWZmZXI/IGRhdGEsIEdM
ZW51bSB1c2FnZSk7Ci0gICAgdm9pZCBidWZmZXJEYXRhKEdMZW51bSB0YXJnZXQsIEFycmF5QnVm
ZmVyVmlldz8gZGF0YSwgR0xlbnVtIHVzYWdlKTsKKyAgICB2b2lkIGJ1ZmZlckRhdGEoR0xlbnVt
IHRhcmdldCwgQnVmZmVyRGF0YVNvdXJjZT8gZGF0YSwgR0xlbnVtIHVzYWdlKTsKICAgICB2b2lk
IGJ1ZmZlckRhdGEoR0xlbnVtIHRhcmdldCwgR0xzaXplaXB0ciBzaXplLCBHTGVudW0gdXNhZ2Up
OwotICAgIHZvaWQgYnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGludHB0ciBvZmZzZXQs
IEFycmF5QnVmZmVyPyBkYXRhKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0xlbnVtIHRhcmdl
dCwgR0xpbnRwdHIgb2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXc/IGRhdGEpOworICAgIHZvaWQgYnVm
ZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGludHB0ciBvZmZzZXQsIEJ1ZmZlckRhdGFTb3Vy
Y2U/IGRhdGEpOwogCiAgICAgR0xlbnVtIGNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0xlbnVtIHRh
cmdldCk7CiAgICAgdm9pZCBjbGVhcihHTGJpdGZpZWxkIG1hc2spOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292504</attachid>
            <date>2016-10-22 12:55:59 -0700</date>
            <delta_ts>2016-10-22 13:49:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163795-20161022125218.patch</filename>
            <type>text/plain</type>
            <size>39731</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
OGIxNDI2NTRiYjc1ZTYzNTBlZjU5YTE1MDIzNzhhZWYyYmNkOTAxLi43M2RhZDIwNDUzMWIwZTEz
ZjljMWE1ZTg3YjM3Y2M2NWYzNDI0ZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxNi0xMC0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuYnVmZmVyRGF0YSgpIHNob3VsZCB1
c2UgYSB1bmlvbiBpbnN0ZWFkIG9mIG92ZXJsb2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM3OTUKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICAqIHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmg6CisgICAg
ICAgIChKU0M6OkFycmF5QnVmZmVyVmlldzo6ZGF0YSk6CisgICAgICAgIEFkZCBhIGRhdGEoKSBt
ZXRob2Qgd2hpY2ggYWxpYXNlcyBiYXNlQWRkcmVzcygpIHRvIGFsaWduIHRoZSBBUEkgd2l0aAor
ICAgICAgICBBcnJheUJ1ZmZlciBhbmQgcmVkdWNlIHNwZWNpYWwgaGFuZGxpbmcgYXQgY2FsbCBz
aXRlcy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlci5oOgorICAgICAgICAoSlND
Ojp0b0FycmF5QnVmZmVyKToKKyAgICAgICAgKEpTQzo6SlNBcnJheUJ1ZmZlcjo6dG9XcmFwcGVk
KToKKyAgICAgICAgQWRkIHRvV3JhcHBlZCgpIG1ldGhvZCBzaW1pbGFybHkgd2l0aCBXZWJDb3Jl
IHdyYXBwZXIgdHlwZXMgdG8KKyAgICAgICAgcmVkdWNlIHNwZWNpYWwgaGFuZGxpbmcgb2YgSlNB
cnJheUJ1ZmZlciB0eXBlLgorCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5j
cHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJWaWV3Ojp0b1dyYXBwZWQpOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaDoKKyAgICAgICAgQWRkIHRvV3JhcHBlZCgp
IG1ldGhvZCBzaW1pbGFybHkgd2l0aCBXZWJDb3JlIHdyYXBwZXIgdHlwZXMgdG8KKyAgICAgICAg
cmVkdWNlIHNwZWNpYWwgaGFuZGxpbmcgb2YgSlNBcnJheUJ1ZmZlclZpZXcgdHlwZS4KKwogMjAx
Ni0xMC0yMSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZVRyeUdldEJ5SWQgbmVlZHMgdG8gcGFzcyBpbiBOZWVkc1RvU3Bp
bGwgYWxvbmcgYm90aCB0aGUgY2VsbCBzcGVjdWxhdGlvbiBhbmQgdW50eXBlZCBzcGVjdWxhdGlv
biBwYXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZjExZjFmMjRkYjE5YTRhYjgzMWE2ZmFmYjc3ODY5NGRlOGQw
MTg5MC4uNDkxNGQ0N2E3YTkyODEwZmJlMzE0NjBiNzExYTRmM2VlY2RjMzVmOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDU2IEBACisyMDE2LTEwLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5idWZmZXJEYXRhKCkg
c2hvdWxkIHVzZSBhIHVuaW9uIGluc3RlYWQgb2Ygb3ZlcmxvYWRpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzc5NQorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
YnVmZmVyRGF0YSgpIC8gYnVmZmVyU3ViRGF0YSgpIHNob3VsZCB1c2UgYSB1bmlvbgorICAgICAg
ICBpbnN0ZWFkIG9mIG92ZXJsb2FkaW5nOgorICAgICAgICAtIGh0dHBzOi8vd3d3Lmtocm9ub3Mu
b3JnL3JlZ2lzdHJ5L3dlYmdsL3NwZWNzL2xhdGVzdC8xLjAvIzUuMTQKKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIHdlYi1leHBvc2VkIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRE9NQ29udmVydC5oOgorICAgICAgICAoV2ViQ29yZTo6Q29udmVydGVyPElE
TEludGVyZmFjZTxUPj46OmNvbnZlcnQpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0Lmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWls
dGluQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJs
ZS5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmpl
Y3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
Lmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmg6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROb2RlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRl
dGVybWluaXN0aWMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmg6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6YXRpb24uaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVk
ZWZzLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmg6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlckRhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6YnVmZmVyU3ViRGF0YSk6CisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmJ1ZmZlclN1YkRhdGEpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmlkbDoKKwogMjAxNi0xMC0yMiAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBSRUdSRVNT
SU9OIChyMjA0NTA4KTogQ3Jhc2ggaW4gaW5pdF9XZWJDcmVhdGVGcmFnbWVudCB3aGVuIHBhc3Rp
bmcgKHNlZW4gaW4gbXVsdGlwbGUgYXBwcyB1c2luZyBsZWdhY3kgV2ViS2l0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXJWaWV3LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaAppbmRleCBlNTJhOGRm
MDllNmM3NWZmNWZiYTVhODdjZGY5MzE3ODNkYWE0MzEwLi5iZWZkOTRmMGI0YmU5ZmY5M2Q0OTI0
MDYzOWFiZGI1ODQ3NGQyMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheUJ1ZmZlclZpZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheUJ1ZmZlclZpZXcuaApAQCAtNjIsNiArNjIsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBtX2Jhc2VBZGRyZXNzOwogICAgIH0KIAorICAgIHZvaWQqIGRhdGEoKSBjb25zdCB7IHJl
dHVybiBiYXNlQWRkcmVzcygpOyB9CisKICAgICB1bnNpZ25lZCBieXRlT2Zmc2V0KCkgY29uc3QK
ICAgICB7CiAgICAgICAgIGlmIChpc05ldXRlcmVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5QnVmZmVyLmgKaW5kZXggMDg4MTg2MjIwY2YyOGJjODA4NjQzZmEz
ZTY1ZjRhYTU5NjE5MmI2MC4uYWI4YWQzODVlYTVlNzUwNTRjODA2NTU5OTQ3ZDY2ZjI4MDJmZTdl
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXIuaApA
QCAtNDYsNiArNDYsOCBAQCBwdWJsaWM6CiAgICAgQXJyYXlCdWZmZXIqIGltcGwoKSBjb25zdCB7
IHJldHVybiBtX2ltcGw7IH0KICAgICAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKKworICAgIHN0
YXRpYyBBcnJheUJ1ZmZlciogdG9XcmFwcGVkKEpTVmFsdWUpOwogICAgIAogICAgIERFQ0xBUkVf
RVhQT1JUX0lORk87CiAgICAgCkBAIC02Nyw4ICs2OSwxMyBAQCBpbmxpbmUgQXJyYXlCdWZmZXIq
IHRvQXJyYXlCdWZmZXIoSlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBKU0FycmF5QnVmZmVyKiB3cmFw
cGVyID0ganNEeW5hbWljQ2FzdDxKU0FycmF5QnVmZmVyKj4odmFsdWUpOwogICAgIGlmICghd3Jh
cHBlcikKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJl
dHVybiB3cmFwcGVyLT5pbXBsKCk7CiB9CiAKK2lubGluZSBBcnJheUJ1ZmZlciogSlNBcnJheUJ1
ZmZlcjo6dG9XcmFwcGVkKEpTVmFsdWUgdmFsdWUpCit7CisgICAgcmV0dXJuIHRvQXJyYXlCdWZm
ZXIodmFsdWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAppbmRleCBiMDEyMGY0MTA4
NTQ0Y2RjZDA3OGZkZGRhMTYzYTUxM2JjYTA5NjVlLi45MTI2NzNhMWUyODI1ODg0NDkwNjFiNDZm
Y2Q3Y2Q0Y2RkMDk0N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCkBAIC0xODYsNiArMTg2LDE0IEBAIHZvaWQgSlNBcnJh
eUJ1ZmZlclZpZXc6OmZpbmFsaXplKEpTQ2VsbCogY2VsbCkKICAgICAgICAgZmFzdEZyZWUodGhp
c09iamVjdC0+bV92ZWN0b3IuZ2V0KCkpOwogfQogCitSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiBK
U0FycmF5QnVmZmVyVmlldzo6dG9XcmFwcGVkKEpTVmFsdWUgdmFsdWUpCit7CisgICAgYXV0byog
d3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8SlNBcnJheUJ1ZmZlclZpZXcqPih2YWx1ZSk7CisgICAg
aWYgKCF3cmFwcGVyKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gd3JhcHBl
ci0+aW1wbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmll
dy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaApp
bmRleCA0YzAzYzBjMThiNTEwZWFiZDJmY2RiZWNlYzg0ZDZjNmQ4YTg2ZDI1Li5iODY2NjM2Njhh
Njc5NDg1ZTk4MDkwZDVjMjliYjYzYTA2NjVkOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgKQEAgLTE3NCw2ICsxNzQsOCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHB0cmRpZmZfdCBvZmZzZXRPZkxlbmd0aCgpIHsgcmV0dXJuIE9C
SkVDVF9PRkZTRVRPRihKU0FycmF5QnVmZmVyVmlldywgbV9sZW5ndGgpOyB9CiAgICAgc3RhdGlj
IHB0cmRpZmZfdCBvZmZzZXRPZk1vZGUoKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNBcnJh
eUJ1ZmZlclZpZXcsIG1fbW9kZSk7IH0KIAorICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBS
ZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiB0b1dyYXBwZWQoSlNWYWx1ZSk7CisKIHByaXZhdGU6CiAg
ICAgc3RhdGljIHZvaWQgZmluYWxpemUoSlNDZWxsKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Db252ZXJ0LmgKaW5kZXggNmVjZDMxZmEzZGY1Zjc1YzUyOGM0ZmE4OTYwMTFi
MTgwYTgyOGJhOC4uN2RjMDUwYmE4Yjc4Nzc3OGIzNmJjNGZmNjNjZmZjOWM5MWRmNGNlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmgKQEAgLTEwNCwyNSArMTA0
LDM2IEBAIHRlbXBsYXRlPD4gc3RydWN0IENvbnZlcnRlcjxJRExCb29sZWFuPiA6IERlZmF1bHRD
b252ZXJ0ZXI8SURMQm9vbGVhbj4gewogICAgIH0KIH07CiAKKy8vIEFycmF5QnVmZmVyIHN1cHBv
cnQuCit0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8SlNDOjpB
cnJheUJ1ZmZlcj4geworICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTQzo6SlNBcnJheUJ1ZmZl
cjsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gSlNDOjpBcnJheUJ1ZmZlcio7Cit9
OworCisvLyBBcnJheUJ1ZmZlclZpZXcgc3VwcG9ydC4KK3RlbXBsYXRlPD4gc3RydWN0IEpTRE9N
V3JhcHBlckNvbnZlcnRlclRyYWl0czxKU0M6OkFycmF5QnVmZmVyVmlldz4geworICAgIHVzaW5n
IFdyYXBwZXJDbGFzcyA9IEpTQzo6SlNBcnJheUJ1ZmZlclZpZXc7CisgICAgdXNpbmcgVG9XcmFw
cGVkUmV0dXJuVHlwZSA9IFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+OworfTsKKwogLy8gTUFSSzog
LQogLy8gTUFSSzogSW50ZXJmYWNlIHR5cGUKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IENvbnZlcnRlcjxJRExJbnRlcmZhY2U8VD4+IDogRGVmYXVsdENvbnZlcnRlcjxJRExJbnRlcmZh
Y2U8VD4+IHsKLSAgICB1c2luZyBSZXR1cm5UeXBlID0gVCo7CisgICAgdXNpbmcgUmV0dXJuVHlw
ZSA9IHR5cGVuYW1lIEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUPjo6VG9XcmFwcGVkUmV0
dXJuVHlwZTsKICAgICB1c2luZyBXcmFwcGVyVHlwZSA9IHR5cGVuYW1lIEpTRE9NV3JhcHBlckNv
bnZlcnRlclRyYWl0czxUPjo6V3JhcHBlckNsYXNzOwogCi0gICAgc3RhdGljIFQqIGNvbnZlcnQo
SlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUpCisgICAgc3RhdGljIFJl
dHVyblR5cGUgY29udmVydChKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1ZSB2YWx1
ZSkKICAgICB7CiAgICAgICAgIEpTQzo6Vk0mIHZtID0gc3RhdGUudm0oKTsKICAgICAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgICAgICBUKiBvYmplY3QgPSBX
cmFwcGVyVHlwZTo6dG9XcmFwcGVkKHZhbHVlKTsKKyAgICAgICAgUmV0dXJuVHlwZSBvYmplY3Qg
PSBXcmFwcGVyVHlwZTo6dG9XcmFwcGVkKHZhbHVlKTsKICAgICAgICAgaWYgKCFvYmplY3QpCiAg
ICAgICAgICAgICB0aHJvd1R5cGVFcnJvcigmc3RhdGUsIHNjb3BlKTsKICAgICAgICAgcmV0dXJu
IG9iamVjdDsKICAgICB9CiB9OwogCi0KIC8vIFR5cGVkIGFycmF5cyBzdXBwb3J0LgogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBBZGFwdG9yPiBzdHJ1Y3QgSURMSW50ZXJmYWNlPEpTQzo6R2VuZXJpY1R5
cGVkQXJyYXlWaWV3PEFkYXB0b3I+PiA6IElETFR5cGU8UmVmPEpTQzo6R2VuZXJpY1R5cGVkQXJy
YXlWaWV3PEFkYXB0b3I+Pj4gewpAQCAtNTQwLDcgKzU1MSw3IEBAIHN0cnVjdCBDb252ZXJ0ZXI8
SURMVW5pb248VC4uLj4+IDogRGVmYXVsdENvbnZlcnRlcjxJRExVbmlvbjxULi4uPj4KICAgICAg
ICAgICAgICAgICB1c2luZyBJbXBsZW1lbnRhdGlvblR5cGUgPSB0eXBlbmFtZSBXVEY6OlJlbW92
ZUNWQW5kUmVmZXJlbmNlPGRlY2x0eXBlKHR5cGUpPjo6dHlwZTo6dHlwZTo6UmF3VHlwZTsKICAg
ICAgICAgICAgICAgICB1c2luZyBXcmFwcGVyVHlwZSA9IHR5cGVuYW1lIEpTRE9NV3JhcHBlckNv
bnZlcnRlclRyYWl0czxJbXBsZW1lbnRhdGlvblR5cGU+OjpXcmFwcGVyQ2xhc3M7CiAKLSAgICAg
ICAgICAgICAgICBhdXRvKiBjYXN0ZWRWYWx1ZSA9IFdyYXBwZXJUeXBlOjp0b1dyYXBwZWQodmFs
dWUpOworICAgICAgICAgICAgICAgIGF1dG8gY2FzdGVkVmFsdWUgPSBXcmFwcGVyVHlwZTo6dG9X
cmFwcGVkKHZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIWNhc3RlZFZhbHVlKQogICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGMwNzFlMjc3
ZTljY2Q3ZDgwZmU4YWI4NTVjYWUyZTY2MTUwNDIyMTcuLmZiZmFjY2EzM2RmODZmNTM2MDkwODU2
NDhmZjIyZWNhNjgxMmE3ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNzMyLDYgKzE3MzIsNyBAQCBzdWIgR2VuZXJh
dGVIZWFkZXIKICAgICBpZiAoTmVlZHNJbXBsZW1lbnRhdGlvbkNsYXNzKCRpbnRlcmZhY2UpKSB7
CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJ0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdy
YXBwZXJDb252ZXJ0ZXJUcmFpdHM8JHtpbXBsVHlwZX0+IHtcbiIpOwogICAgICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50LCAiICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9ICR7Y2xhc3NOYW1lfTtcbiIp
OworICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHVzaW5nIFRvV3JhcHBlZFJldHVy
blR5cGUgPSAke2ltcGxUeXBlfSo7XG4iKTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
In07XG4iKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU0ludGVyZmFjZU5hbWUuaAppbmRleCBiNjcyOTUxNjc2MzU3NWNi
YzZhMTdjMTdjYmEzOTNkZGNhZjdmMTY4Li4zMmVmYTdiZDE3ODE2YTU5NTU5ZTU1N2NlNGNmODIz
YzY4N2JlZjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNJbnRlcmZhY2VOYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTSW50ZXJmYWNlTmFtZS5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRl
clRyYWl0czxJbnRlcmZhY2VOYW1lPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNJbnRl
cmZhY2VOYW1lOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBJbnRlcmZhY2VOYW1l
KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RBY3RpdmVET01PYmpl
Y3QuaAppbmRleCA0MGQ1YTI3YzFmZjA0MGJmYWUxM2RjN2E1YjI5MGE5OWFkMjMzZTk2Li41NjVk
M2ViYzJiYzA1NDlhNTlmZDhmMjRiNGE1YmFjYTI3ZmExMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0QWN0aXZlRE9NT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEFjdGl2
ZURPTU9iamVjdC5oCkBAIC04Niw2ICs4Niw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAK
IHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0QWN0aXZl
RE9NT2JqZWN0PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0QWN0aXZlRE9NT2Jq
ZWN0OworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0QWN0aXZlRE9NT2JqZWN0
KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmgKaW5k
ZXggNzI1YTBmZmYzNGJhNDQ0ZTU2MDdkZjk2ZjAyNzYyYmYyY2MzYjllYS4uMTA5OWIyZDk2NzFi
ZGJhMWY2MTNlMjI4YmRhYWY0ZjFlYTQyZDNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmgKQEAg
LTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3RDRVJlYWN0aW9ucz4gewogICAgIHVz
aW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdENFUmVhY3Rpb25zOworICAgIHVzaW5nIFRvV3JhcHBl
ZFJldHVyblR5cGUgPSBUZXN0Q0VSZWFjdGlvbnMqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmgKaW5kZXggNTNi
ZDAyYTM1NDY5MjgxNDNhZjc4ZDczODAyMGVlYTU0NWI1OGEyZi4uOTQ0YmMxYWMyMWY3ZDNjNWJj
NDJmZmUxNmNhNTMzNmYyNDJlNmVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNT
dHJpbmdpZmllci5oCkBAIC04NCw2ICs4NCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAK
IHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllcj4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdENFUmVh
Y3Rpb25zU3RyaW5naWZpZXI7CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3RD
RVJlYWN0aW9uc1N0cmluZ2lmaWVyKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
bGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmgKaW5k
ZXggOWM4MjVhYmI5OWJhNjU1NTIxMzg4NmFmYThhOTI1M2IwOGMzMjFmYy4uMWFhZTIzYmUyYmE2
MDg4ZDIyZTk1MTk4MzE0ODZjNWNmM2JmNmE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmgKQEAgLTg2LDYgKzg2LDcgQEAgaW5saW5l
IEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNE
T01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVy
dGVyVHJhaXRzPFRlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcj4gewogICAgIHVzaW5n
IFdyYXBwZXJDbGFzcyA9IEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yOworICAg
IHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3Ry
dWN0b3IqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEN1c3RvbUNvbnN0cnVjdG9y
V2l0aE5vSW50ZXJmYWNlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaApp
bmRleCAxN2I5Y2E4MDAxYjIyZGEwN2NjMTFlMTgzZjk1NDlhNWQwODg5YTA0Li4wNzYzMzBiMGM3
YzI5MGI3ZTVmMThhMTg5YzVjOTI4NWQxMzgzNjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9J
bnRlcmZhY2VPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3QuaApAQCAt
ODYsNiArODYsNyBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0
SlNUZXN0Q3VzdG9tQ29uc3RydWN0b3JXaXRoTm9JbnRlcmZhYwogCiB0ZW1wbGF0ZTw+IHN0cnVj
dCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdEN1c3RvbUNvbnN0cnVjdG9yV2l0aE5v
SW50ZXJmYWNlT2JqZWN0PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0Q3VzdG9t
Q29uc3RydWN0b3JXaXRoTm9JbnRlcmZhY2VPYmplY3Q7CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0
dXJuVHlwZSA9IFRlc3RDdXN0b21Db25zdHJ1Y3RvcldpdGhOb0ludGVyZmFjZU9iamVjdCo7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRl
ci5oCmluZGV4IDlhMmQ2NGRiNmMwNDI5M2MxOTljYThjOWEyNDZiYmEyZTlkNWFjYjguLmE1ZmQ0
NWYxNWNiMzVmM2U0ZDNlMTg0MDM5YjBmYjk0MGVlMGM1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0b21OYW1lZEdldHRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDdXN0
b21OYW1lZEdldHRlci5oCkBAIC05MCw2ICs5MCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9K
U05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
CiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXI+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RDdXN0b21O
YW1lZEdldHRlcjsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdEN1c3RvbU5h
bWVkR2V0dGVyKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVj
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRDb25zdHJ1Y3Rvci5oCmluZGV4IDZlNWRhZWM3NDI0MWQ3YjJiODQ1ZTlmMTIwZDY4Y2Y1YTRh
ODEyNTUuLjQ4YTVjNDRmYTQ2MDYyNTMxYTc4NjRlNmY1NzU0MTQxZjVlMDk1ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENv
bnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuaApAQCAtNzAsNiArNzAsNyBAQCBpbmxpbmUgSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2Jh
bE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFp
dHM8VGVzdEV2ZW50Q29uc3RydWN0b3I+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rl
c3RFdmVudENvbnN0cnVjdG9yOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0
RXZlbnRDb25zdHJ1Y3Rvcio7CiB9OwogdGVtcGxhdGU8PiBUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6
SW5pdCBjb252ZXJ0RGljdGlvbmFyeTxUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SW5pdD4oSlNDOjpF
eGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCmluZGV4IDIy
MzFiNGIwYjRjNDhlY2RlYjQ4ZWFjMjU0OGExZjU4MTY2YTZjMGYuLmY5ZDA1NzE4NWZiZWM3MGM4
NzIxZmQ2Zjg3NjZiMjRiYjM5ZGVjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5oCkBAIC04MCw2
ICs4MCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpT
RE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0RXZlbnRUYXJnZXQ+IHsKICAgICB1c2luZyBX
cmFwcGVyQ2xhc3MgPSBKU1Rlc3RFdmVudFRhcmdldDsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1
cm5UeXBlID0gVGVzdEV2ZW50VGFyZ2V0KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFeGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RFeGNlcHRpb24uaAppbmRleCAzNzJlNWQ0MGYzZGZjNjg5ZDY4M2M1MDE0MWIzYmFlMGM4
Yzc2MDc1Li4wNDVjYmY2M2VlZWRhZjIwNjFhZTFlZjJjOWM4M2RlZTI4MmRhZDZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV4Y2VwdGlvbi5oCkBAIC04Nyw2ICs4Nyw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05l
d2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAK
IHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0RXhjZXB0
aW9uPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0RXhjZXB0aW9uOworICAgIHVz
aW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0RXhjZXB0aW9uKjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5oCmluZGV4
IDZjNDJjNjA0ZDI1MGM3MDg0NGNjYTYwYWE5NDUxMjM4ODJlZTRmZTYuLjUzYTg1NDE2OTU1NTlj
ODdhOWYwMjc3M2FjMzE4ODYyNTgxMjgzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGUuaApAQCAtODQsNiArODQsNyBAQCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0
ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdEdlbmVyYXRl
SXNSZWFjaGFibGU+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RHZW5lcmF0ZUlz
UmVhY2hhYmxlOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0R2VuZXJhdGVJ
c1JlYWNoYWJsZSo7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFs
T2JqZWN0LmgKaW5kZXggMjc4NDJlMWIzYTI5NDM4ZjRlZmI2MTlhZWQwN2MyNTQ4MWEzMTZlNC4u
NTdiMGRiYjNkOWE3MTg5M2RmOGJjNDNmMDUxOTliZWE4YmVhYzM2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuaApAQCAtMTE0LDYgKzExNCw3IEBAIHB1YmxpYzoKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3RHbG9iYWxPYmplY3Q+IHsKICAgICB1
c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RHbG9iYWxPYmplY3Q7CisgICAgdXNpbmcgVG9XcmFw
cGVkUmV0dXJuVHlwZSA9IFRlc3RHbG9iYWxPYmplY3QqOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCmluZGV4IGJkNjNhOTRjNzVjZjhkMTUzYzc0NWFmMGM1
NTNjMjc0ZGMxZGI2MTEuLmFkNjYyNDJmNzcyZTlhNTViMzlkMGQ1Zjg4Y2I1NDAyZTVhNTU2ZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTExMSw2ICsxMTEsNyBAQCBpbmxpbmUgSlNDOjpKU1Zh
bHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9i
amVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8
VGVzdEludGVyZmFjZT4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdEludGVyZmFj
ZTsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdEludGVyZmFjZSo7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SXRlcmFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCmluZGV4IDg3MDIyZDUzNjhl
YzQzZDlhYjhmMDVhZWUyMzBkMWEyZjIxNzU5MjMuLjRhYzcxMDUwZDkxMmMxM2E4OWE0NzZmM2E5
OTZiZDc0ZDkyMDYxODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCkBAIC04NCw2ICs4NCw3IEBAIGlubGlu
ZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpT
RE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZl
cnRlclRyYWl0czxUZXN0SXRlcmFibGU+IHsKICAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rl
c3RJdGVyYWJsZTsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdEl0ZXJhYmxl
KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCmluZGV4IDNmNWY0MjYxY2FhZTY0Zjc5MmJmNTc1YWUxZTlkZWI4
NjVlOTE2NjYuLmViY2M5MTMwMmI5NjJjNmYxZWYzZDZmZWQ2MDJkMTU3M2Y5YmYzYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApAQCAtODQsNiArODQsNyBA
QCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBw
ZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKICAgICB1c2lu
ZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOworICAgIHVzaW5n
IFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3IuaApp
bmRleCA4MDI0MTVkZWM5YzM5NGE5MDE5MGNmMmM4NDAzYmU2Zjg4ZDIxZjBlLi4zYWFhMTQ1OGYz
MDg3NzliNjhlMzc5NjFhOTM0Y2E4NjU2NDY1ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZENvbnN0
cnVjdG9yLmgKQEAgLTg1LDYgKzg1LDcgQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlD
cmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVt
cGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3ROYW1lZENvbnN0
cnVjdG9yPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0TmFtZWRDb25zdHJ1Y3Rv
cjsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gVGVzdE5hbWVkQ29uc3RydWN0b3Iq
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmgKaW5kZXggMzg2M2RiZjE5MzU5
M2ZiODY3YTMxNjU1ZWY2Njc2NDk2MjU1ZWIzOC4uODAzZDk1NzNmYmZlZDNlYjI1YWU2MDNjOTlk
OWQxMWRjZmI2MTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5oCkBAIC03MSw2ICs3MSw3IEBAIGlubGluZSBKU0M6OkpT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFs
T2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0
czxUZXN0Tm9kZT4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdE5vZGU7CisgICAg
dXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3ROb2RlKjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5oCmluZGV4IGY5NmNiNzZm
MDdhNTYzMWFlOTIyNTViNzNkOTYyYmZiNGY2ZTk5NmEuLmEzNDIxYTVlOTg3NDY4NjRkOTk2ZGQ0
NjEyMDA0MjViZWRhZWU3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuaApAQCAt
ODQsNiArODQsNyBAQCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpF
eGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVj
dCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE5vbmRldGVybWluaXN0aWM+IHsKICAg
ICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3ROb25kZXRlcm1pbmlzdGljOworICAgIHVzaW5n
IFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0Tm9uZGV0ZXJtaW5pc3RpYyo7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggYmZiYTQ4MTk2NTlkNjdlNmFjOTVhYjI5ODA0
OTQzMjdkMzhmYTMxMi4uMmJjODQ3YzhmNzJjODc2ZWNlNDBjMTQwZjU2MTA4NWU1MGJjZjdjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouaApAQCAtMTA0LDYgKzEwNCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRl
bXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0T2JqPiB7CiAg
ICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0T2JqOworICAgIHVzaW5nIFRvV3JhcHBlZFJl
dHVyblR5cGUgPSBUZXN0T2JqKjsKIH07CiBKU0M6OkpTU3RyaW5nKiBqc1N0cmluZ1dpdGhDYWNo
ZShKU0M6OkV4ZWNTdGF0ZSosIFRlc3RPYmo6OkVudW1UeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKaW5kZXggMDY1ZGU1ZmI0YzVlOWUyNTUxMWU5ZmRm
MjdhODNiMzdhNTJlNGFkMC4uYzZiYTMyZDdjYThjY2M4NzgwYzllMzcyM2E4ZjdmYjhiOGJkMjAw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5oCkBAIC04NCw2
ICs4NCw3IEBAIGlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNT
dGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpT
RE9NV3JhcHBlckNvbnZlcnRlclRyYWl0czxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4gewog
ICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM7Cisg
ICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
KjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
V2l0aFNlcXVlbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5oCmluZGV4IGE0Y2U2NGJh
YzUzZDNjY2YyNWM1NzBiM2YyNmY0N2NiOTc0MzBhYWQuLjliODk3ZTUzM2U4YTEwZmUyMjUxYzIy
NzQ2ZmNhNmM2NjMwMWJmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuaApAQCAtODQsNiArODQsNyBAQCBpbmxpbmUg
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCBKU0RP
TUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0
ZXJUcmFpdHM8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+IHsKICAgICB1
c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVl
bmNlOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc1dpdGhTZXF1ZW5jZSo7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zl
cnJpZGVCdWlsdGlucy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE92ZXJyaWRlQnVpbHRpbnMuaAppbmRleCBmYmMyM2I1OGE1ZmU4MjRhMTczMDNkNWFk
MDQ2M2M1MWQ3MWU3NmM2Li5lZDVmYWUxNGU1ODk4MTdmODUyZGRmZTFlZTI1NzNjZTZmZjM1Y2I1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcnJpZGVCdWlsdGlucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPdmVycmlkZUJ1aWx0aW5zLmgKQEAgLTkxLDYgKzkxLDcgQEAgaW5s
aW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwg
SlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29u
dmVydGVyVHJhaXRzPFRlc3RPdmVycmlkZUJ1aWx0aW5zPiB7CiAgICAgdXNpbmcgV3JhcHBlckNs
YXNzID0gSlNUZXN0T3ZlcnJpZGVCdWlsdGluczsKKyAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5U
eXBlID0gVGVzdE92ZXJyaWRlQnVpbHRpbnMqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemF0aW9uLmgKaW5kZXggMTlmZGE0NzJmODdlZTlhOTZlOGUzZjNk
NjA3NWY3M2JlMzIzYzUwYy4uNjY3ZjY5ZDZkMTkzZjJjNTQzMWQ5ZTBkZDFiYmI4ZjhkNmJlZWJl
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFNlcmlhbGl6YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXphdGlvbi5oCkBAIC04NCw2ICs4NCw3IEBAIGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRl
clRyYWl0czxUZXN0U2VyaWFsaXphdGlvbj4gewogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IEpT
VGVzdFNlcmlhbGl6YXRpb247CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IFRlc3RT
ZXJpYWxpemF0aW9uKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRleCA0OWU1
YjQ2MDNmNjY3YjM4MDc5NTFkYTA4ODZjZDY4NGFhMzIyYjBmLi5mMTdmMTdkODUzMWEwYzE2ZjQ5
MTY4MTM4YjAxMzY2NTJjODU1N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC05MCw2ICs5MCw3IEBAIGlubGluZSBKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnCiAKIHRlbXBsYXRlPD4gc3RydWN0IEpTRE9NV3JhcHBlckNvbnZlcnRlclRy
YWl0czxUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlPiB7CiAgICAgdXNpbmcgV3Jh
cHBlckNsYXNzID0gSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOworICAgIHVz
aW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlKjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKaW5kZXgg
YjFkMzZiZmE5ZmFjZTlhZWZkNDcwMTMwNWRkN2IxZWEyZmE3NDVlMC4uNmU5YjYwOTYyNjk2OWM0
ODUzODQ1OWZhOWVkOGU3YjI4ZDRmN2I0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKQEAgLTg2LDYgKzg2
LDcgQEAgaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01X
cmFwcGVyQ29udmVydGVyVHJhaXRzPFRlc3RUeXBlZGVmcz4gewogICAgIHVzaW5nIFdyYXBwZXJD
bGFzcyA9IEpTVGVzdFR5cGVkZWZzOworICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBU
ZXN0VHlwZWRlZnMqOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTYXR0cmlidXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaAppbmRl
eCBjOWM4Y2Q4NWUzOTNhOGNhZmE4Nzg4MDNiZjU4MDhiNzUzNjg3OTMwLi40YThjYjRkZDZlNTZj
YzYxOGVjYjExMDAwYjEwMzQ4ODJiZmRmNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNhdHRyaWJ1dGUuaApAQCAtODcsNiArODcsNyBA
QCBpbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBw
ZXJDb252ZXJ0ZXJUcmFpdHM8YXR0cmlidXRlPiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0g
SlNhdHRyaWJ1dGU7CisgICAgdXNpbmcgVG9XcmFwcGVkUmV0dXJuVHlwZSA9IGF0dHJpYnV0ZSo7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNyZWFkb25seS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTcmVhZG9ubHkuaAppbmRleCA4MGYzMDk1YmI0ZDI5
YjM2MDk3ZWEwMGEwMmVmNTdlYzY2NDg1NDIzLi5jMjQyZDJmMmRkNDEzYzkxNTkwY2Q5NGQ3MDgz
YzM2MmNjYzg0M2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNyZWFkb25seS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU3JlYWRvbmx5LmgKQEAgLTg0LDYgKzg0LDcgQEAgaW5saW5lIEpTQzo6SlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxP
YmplY3QqIGcKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29udmVydGVyVHJhaXRz
PHJlYWRvbmx5PiB7CiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNyZWFkb25seTsKKyAgICB1
c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gcmVhZG9ubHkqOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wy
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJS
ZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1NjUyZTUxZjg3ZDcwMmZlYTg0MmMzM2U3NWVhMWEy
OWY2ZmJlMWI3Li43MjdlZjMzNTVhY2Q2YzkyZjE5MjRjNWM3ODg2YTgyNGQzOGU3YjBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmNwcApAQCAtOTksNyArOTksNyBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJ1
ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBBcnJheUJ1ZmZlclZpZXcmIGRhdGEsCiAgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpPVVRfT0ZfTUVNT1JZLCAiYnVm
ZmVyRGF0YSIsICJDb3VsZCBub3QgY3JlYXRlIGludGVybWVkaWF0ZSBBcnJheUJ1ZmZlclZpZXci
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjpidWZmZXJEYXRhKHRhcmdldCwgc2xpY2UuZ2V0KCksIHVzYWdlKTsKKyAgICBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKHRhcmdldCwgQnVmZmVyRGF0YVNvdXJjZShzbGlj
ZS5nZXQoKSksIHVzYWdlKTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpidWZm
ZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgQXJyYXlCdWZmZXJW
aWV3JiBkYXRhLCBHQzNEdWludCBzcmNPZmZzZXQsIEdDM0R1aW50IGxlbmd0aCkKQEAgLTExMyw3
ICsxMTMsNyBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmJ1ZmZlclN1YkRhdGEoR0Mz
RGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgb2Zmc2V0LCBBcgogICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6T1VUX09GX01FTU9SWSwgImJ1ZmZlckRhdGEiLCAiQ291
bGQgbm90IGNyZWF0ZSBpbnRlcm1lZGlhdGUgQXJyYXlCdWZmZXJWaWV3Iik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9Ci0gICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6YnVmZmVyU3ViRGF0
YSh0YXJnZXQsIG9mZnNldCwgc2xpY2UpOworICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmJ1ZmZlclN1YkRhdGEodGFyZ2V0LCBvZmZzZXQsIEJ1ZmZlckRhdGFTb3VyY2Uoc2xpY2UuZ2V0
KCkpKTsKIH0KIAogdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojpjb3B5QnVmZmVyU3ViRGF0
YShHQzNEZW51bSwgR0MzRGVudW0sIEdDM0RpbnQ2NCwgR0MzRGludDY0LCBHQzNEaW50NjQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCmluZGV4IDk2YzI1OTA3ZDJlN2FhMDM1NGUwYjVlNTMwYTE3ZWNiZGI0ZGNh
MDUuLjkyODNiZWM2ZTFlMDBlZDI2N2Y4NDViNzYxZDc4OWZkNWRlNGYxMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCkBAIC0xMDc1LDcgKzEwNzUsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxvbmcgc2l6ZSwgR0MzRAogICAg
IH0KIH0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKEdDM0Rl
bnVtIHRhcmdldCwgQXJyYXlCdWZmZXIqIGRhdGEsIEdDM0RlbnVtIHVzYWdlKQordm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdldCwgT3B0aW9u
YWw8QnVmZmVyRGF0YVNvdXJjZT4mJiBkYXRhLCBHQzNEZW51bSB1c2FnZSkKIHsKICAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQogICAgICAgICByZXR1cm47CkBAIC0xMDg2LDc2ICsx
MDg2LDI1IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6YnVmZmVyRGF0YShHQzNE
ZW51bSB0YXJnZXQsIEFycmF5QnVmZmVyKiBkYXRhLCBHCiAgICAgV2ViR0xCdWZmZXIqIGJ1ZmZl
ciA9IHZhbGlkYXRlQnVmZmVyRGF0YVBhcmFtZXRlcnMoImJ1ZmZlckRhdGEiLCB0YXJnZXQsIHVz
YWdlKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghaXNFcnJv
ckdlbmVyYXRlZE9uT3V0T2ZCb3VuZHNBY2Nlc3NlcygpKSB7Ci0gICAgICAgIGlmICghYnVmZmVy
LT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEpKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgImJ1ZmZlckRhdGEiLCAiaW52
YWxpZCBidWZmZXIiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLQot
ICAgIG1fY29udGV4dC0+bW92ZUVycm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCk7Ci0gICAgbV9j
b250ZXh0LT5idWZmZXJEYXRhKHRhcmdldCwgZGF0YS0+Ynl0ZUxlbmd0aCgpLCBkYXRhLT5kYXRh
KCksIHVzYWdlKTsKLSAgICBpZiAobV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJv
ckxpc3QoKSkgewotICAgICAgICAvLyBUaGUgYnVmZmVyRGF0YSBmdW5jdGlvbiBmYWlsZWQuIFRl
bGwgdGhlIGJ1ZmZlciBpdCBkb2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhpbmtzIGl0IGRvZXMu
Ci0gICAgICAgIGJ1ZmZlci0+ZGlzYXNzb2NpYXRlQnVmZmVyRGF0YSgpOwotICAgIH0KLX0KIAot
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdl
dCwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBkYXRhLCBHQzNEZW51bSB1c2FnZSkKLXsKLSAg
ICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYg
KCFkYXRhKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX1ZBTFVFLCAiYnVmZmVyRGF0YSIsICJudWxsIGRhdGEiKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICBXZWJHTEJ1ZmZlciogYnVmZmVyID0gdmFsaWRhdGVCdWZmZXJEYXRhUGFy
YW1ldGVycygiYnVmZmVyRGF0YSIsIHRhcmdldCwgdXNhZ2UpOwotICAgIGlmICghYnVmZmVyKQot
ICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFpc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0Fj
Y2Vzc2VzKCkpIHsKLSAgICAgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlckRhdGEoZGF0
YS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVmZmVyRGF0YSIsICJpbnZhbGlkIGJ1ZmZlciIpOwotICAg
ICAgICAgICAgcmV0dXJuOworICAgIFdURjo6dmlzaXQoWyZdKGF1dG8mIGRhdGEpIHsKKyAgICAg
ICAgaWYgKCF0aGlzLT5pc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vzc2VzKCkpIHsK
KyAgICAgICAgICAgIGlmICghYnVmZmVyLT5hc3NvY2lhdGVCdWZmZXJEYXRhKGRhdGEuZ2V0KCkp
KSB7CisgICAgICAgICAgICAgICAgdGhpcy0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJidWZmZXJEYXRhIiwgImludmFsaWQgYnVmZmVyIik7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQot
Ci0gICAgbV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJvckxpc3QoKTsKLSAgICBt
X2NvbnRleHQtPmJ1ZmZlckRhdGEodGFyZ2V0LCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmJh
c2VBZGRyZXNzKCksIHVzYWdlKTsKLSAgICBpZiAobV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50
aGV0aWNFcnJvckxpc3QoKSkgewotICAgICAgICAvLyBUaGUgYnVmZmVyRGF0YSBmdW5jdGlvbiBm
YWlsZWQuIFRlbGwgdGhlIGJ1ZmZlciBpdCBkb2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhpbmtz
IGl0IGRvZXMuCi0gICAgICAgIGJ1ZmZlci0+ZGlzYXNzb2NpYXRlQnVmZmVyRGF0YSgpOwotICAg
IH0KLX0KIAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKEdD
M0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgQXJyYXlCdWZmZXIqIGRhdGEpCi17Ci0g
ICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIFdl
YkdMQnVmZmVyKiBidWZmZXIgPSB2YWxpZGF0ZUJ1ZmZlckRhdGFQYXJhbWV0ZXJzKCJidWZmZXJT
dWJEYXRhIiwgdGFyZ2V0LCBHcmFwaGljc0NvbnRleHQzRDo6U1RBVElDX0RSQVcpOwotICAgIGlm
ICghYnVmZmVyKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKG9mZnNldCA8IDApIHsKLSAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJi
dWZmZXJTdWJEYXRhIiwgIm9mZnNldCA8IDAiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICBpZiAoIWRhdGEpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIWlzRXJyb3JHZW5lcmF0ZWRP
bk91dE9mQm91bmRzQWNjZXNzZXMoKSkgewotICAgICAgICBpZiAoIWJ1ZmZlci0+YXNzb2NpYXRl
QnVmZmVyU3ViRGF0YShzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhKSkgewot
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
VkFMVUUsICJidWZmZXJTdWJEYXRhIiwgIm9mZnNldCBvdXQgb2YgcmFuZ2UiKTsKLSAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgbV9jb250ZXh0LT5tb3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJv
ckxpc3QoKTsKKyAgICAgICAgbV9jb250ZXh0LT5idWZmZXJEYXRhKHRhcmdldCwgZGF0YS0+Ynl0
ZUxlbmd0aCgpLCBkYXRhLT5kYXRhKCksIHVzYWdlKTsKKyAgICAgICAgaWYgKG1fY29udGV4dC0+
bW92ZUVycm9yc1RvU3ludGhldGljRXJyb3JMaXN0KCkpIHsKKyAgICAgICAgICAgIC8vIFRoZSBi
dWZmZXJEYXRhIGZ1bmN0aW9uIGZhaWxlZC4gVGVsbCB0aGUgYnVmZmVyIGl0IGRvZXNuJ3QgaGF2
ZSB0aGUgZGF0YSBpdCB0aGlua3MgaXQgZG9lcy4KKyAgICAgICAgICAgIGJ1ZmZlci0+ZGlzYXNz
b2NpYXRlQnVmZmVyRGF0YSgpOwogICAgICAgICB9Ci0gICAgfQotCi0gICAgbV9jb250ZXh0LT5t
b3ZlRXJyb3JzVG9TeW50aGV0aWNFcnJvckxpc3QoKTsKLSAgICBtX2NvbnRleHQtPmJ1ZmZlclN1
YkRhdGEodGFyZ2V0LCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhLT5ieXRl
TGVuZ3RoKCksIGRhdGEtPmRhdGEoKSk7Ci0gICAgaWYgKG1fY29udGV4dC0+bW92ZUVycm9yc1Rv
U3ludGhldGljRXJyb3JMaXN0KCkpIHsKLSAgICAgICAgLy8gVGhlIGJ1ZmZlclN1YkRhdGEgZnVu
Y3Rpb24gZmFpbGVkLiBUZWxsIHRoZSBidWZmZXIgaXQgZG9lc24ndCBoYXZlIHRoZSBkYXRhIGl0
IHRoaW5rcyBpdCBkb2VzLgotICAgICAgICBidWZmZXItPmRpc2Fzc29jaWF0ZUJ1ZmZlckRhdGEo
KTsKLSAgICB9CisgICAgfSwgZGF0YS52YWx1ZSgpKTsKIH0KIAotdm9pZCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9m
ZnNldCwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiBkYXRhKQordm9pZCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9m
ZnNldCwgT3B0aW9uYWw8QnVmZmVyRGF0YVNvdXJjZT4mJiBkYXRhKQogewogICAgIGlmIChpc0Nv
bnRleHRMb3N0T3JQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTExNjgsMTkgKzExMTcs
MjIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpidWZmZXJTdWJEYXRhKEdDM0Rl
bnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwKICAgICB9CiAgICAgaWYgKCFkYXRhKQogICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFpc0Vycm9yR2VuZXJhdGVkT25PdXRPZkJvdW5kc0FjY2Vz
c2VzKCkpIHsKLSAgICAgICAgaWYgKCFidWZmZXItPmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEoc3Rh
dGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSwgZGF0YS5nZXQoKSkpIHsKLSAgICAgICAgICAg
IHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVm
ZmVyU3ViRGF0YSIsICJvZmZzZXQgb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1cm47
CisKKyAgICBXVEY6OnZpc2l0KFsmXShhdXRvJiBkYXRhKSB7CisgICAgICAgIGlmICghdGhpcy0+
aXNFcnJvckdlbmVyYXRlZE9uT3V0T2ZCb3VuZHNBY2Nlc3NlcygpKSB7CisgICAgICAgICAgICBp
ZiAoIWJ1ZmZlci0+YXNzb2NpYXRlQnVmZmVyU3ViRGF0YShzdGF0aWNfY2FzdDxHQzNEaW50cHRy
PihvZmZzZXQpLCBkYXRhLmdldCgpKSkgeworICAgICAgICAgICAgICAgIHRoaXMtPnN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiYnVmZmVyU3ViRGF0
YSIsICJvZmZzZXQgb3V0IG9mIHJhbmdlIik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQogCi0gICAgbV9jb250ZXh0LT5tb3ZlRXJyb3Jz
VG9TeW50aGV0aWNFcnJvckxpc3QoKTsKLSAgICBtX2NvbnRleHQtPmJ1ZmZlclN1YkRhdGEodGFy
Z2V0LCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhLT5ieXRlTGVuZ3RoKCks
IGRhdGEtPmJhc2VBZGRyZXNzKCkpOwotICAgIGlmIChtX2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5
bnRoZXRpY0Vycm9yTGlzdCgpKSB7Ci0gICAgICAgIC8vIFRoZSBidWZmZXJTdWJEYXRhIGZ1bmN0
aW9uIGZhaWxlZC4gVGVsbCB0aGUgYnVmZmVyIGl0IGRvZXNuJ3QgaGF2ZSB0aGUgZGF0YSBpdCB0
aGlua3MgaXQgZG9lcy4KLSAgICAgICAgYnVmZmVyLT5kaXNhc3NvY2lhdGVCdWZmZXJEYXRhKCk7
Ci0gICAgfQorICAgICAgICBtX2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9yTGlz
dCgpOworICAgICAgICBtX2NvbnRleHQtPmJ1ZmZlclN1YkRhdGEodGFyZ2V0LCBzdGF0aWNfY2Fz
dDxHQzNEaW50cHRyPihvZmZzZXQpLCBkYXRhLT5ieXRlTGVuZ3RoKCksIGRhdGEtPmRhdGEoKSk7
CisgICAgICAgIGlmIChtX2NvbnRleHQtPm1vdmVFcnJvcnNUb1N5bnRoZXRpY0Vycm9yTGlzdCgp
KSB7CisgICAgICAgICAgICAvLyBUaGUgYnVmZmVyU3ViRGF0YSBmdW5jdGlvbiBmYWlsZWQuIFRl
bGwgdGhlIGJ1ZmZlciBpdCBkb2Vzbid0IGhhdmUgdGhlIGRhdGEgaXQgdGhpbmtzIGl0IGRvZXMu
CisgICAgICAgICAgICBidWZmZXItPmRpc2Fzc29jaWF0ZUJ1ZmZlckRhdGEoKTsKKyAgICAgICAg
fQorICAgIH0sIGRhdGEudmFsdWUoKSk7CiB9CiAKIEdDM0RlbnVtIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR0MzRGVudW0gdGFyZ2V0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5oCmluZGV4IDU2ZjhiMTk5ZmE5ZTNmMTkyZmU3YTMwODQ2NWM5MzcwMTFlYzhiYjguLjIyNDc0
ODJlNDI1Y2Q2NjhkZGQ0Nzg5ZGVjZWQxOTI0ZTlkNWZhYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8cnVudGltZS9GbG9hdDMy
QXJyYXkuaD4KICNpbmNsdWRlIDxydW50aW1lL0ludDMyQXJyYXkuaD4KKyNpbmNsdWRlIDx3dGYv
VmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0xMzgsMTEgKzEzOSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBibGVuZEZ1
bmMoR0MzRGVudW0gc2ZhY3RvciwgR0MzRGVudW0gZGZhY3Rvcik7CiAgICAgdm9pZCBibGVuZEZ1
bmNTZXBhcmF0ZShHQzNEZW51bSBzcmNSR0IsIEdDM0RlbnVtIGRzdFJHQiwgR0MzRGVudW0gc3Jj
QWxwaGEsIEdDM0RlbnVtIGRzdEFscGhhKTsKIAorICAgIHVzaW5nIEJ1ZmZlckRhdGFTb3VyY2Ug
PSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEFycmF5QnVmZmVyPiwgUmVmUHRyPEFycmF5QnVmZmVyVmll
dz4+OwogICAgIHZvaWQgYnVmZmVyRGF0YShHQzNEZW51bSB0YXJnZXQsIGxvbmcgbG9uZyBzaXpl
LCBHQzNEZW51bSB1c2FnZSk7Ci0gICAgdm9pZCBidWZmZXJEYXRhKEdDM0RlbnVtIHRhcmdldCwg
QXJyYXlCdWZmZXIqIGRhdGEsIEdDM0RlbnVtIHVzYWdlKTsKLSAgICB2b2lkIGJ1ZmZlckRhdGEo
R0MzRGVudW0gdGFyZ2V0LCBSZWZQdHI8QXJyYXlCdWZmZXJWaWV3PiYmIGRhdGEsIEdDM0RlbnVt
IHVzYWdlKTsKLSAgICB2b2lkIGJ1ZmZlclN1YkRhdGEoR0MzRGVudW0gdGFyZ2V0LCBsb25nIGxv
bmcgb2Zmc2V0LCBBcnJheUJ1ZmZlciogZGF0YSk7Ci0gICAgdm9pZCBidWZmZXJTdWJEYXRhKEdD
M0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4m
JiBkYXRhKTsKKyAgICB2b2lkIGJ1ZmZlckRhdGEoR0MzRGVudW0gdGFyZ2V0LCBPcHRpb25hbDxC
dWZmZXJEYXRhU291cmNlPiYmLCBHQzNEZW51bSB1c2FnZSk7CisgICAgdm9pZCBidWZmZXJTdWJE
YXRhKEdDM0RlbnVtIHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgT3B0aW9uYWw8QnVmZmVyRGF0
YVNvdXJjZT4mJik7CiAKICAgICBHQzNEZW51bSBjaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdDM0Rl
bnVtIHRhcmdldCk7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyKEdDM0RiaXRmaWVsZCBtYXNrKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuaWRsCmluZGV4IGI1MjE0YWU2NjNlMTMyOGY5MmI5ZjZmMWFmY2Q3YTcw
ODM3NDk0M2MuLjdlYTI4MGRhYzg1MTI5OWRhZWE1ZjhjZTA5NTM0MWNhYjBmM2QxZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuaWRsCkBAIC0zNyw2ICszNyw3IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR0x1
c2hvcnQ7CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgIEdMdWludDsKIHR5cGVkZWYgdW5yZXN0cmlj
dGVkIGZsb2F0IEdMZmxvYXQ7CiB0eXBlZGVmIHVucmVzdHJpY3RlZCBmbG9hdCBHTGNsYW1wZjsK
K3R5cGVkZWYgKEFycmF5QnVmZmVyIG9yIEFycmF5QnVmZmVyVmlldykgQnVmZmVyRGF0YVNvdXJj
ZTsKIAogWwogICAgIENvbmRpdGlvbmFsPVdFQkdMLApAQCAtNDg0LDExICs0ODUsOSBAQCB0eXBl
ZGVmIHVucmVzdHJpY3RlZCBmbG9hdCBHTGNsYW1wZjsKICAgICB2b2lkIGJsZW5kRXF1YXRpb25T
ZXBhcmF0ZShHTGVudW0gbW9kZVJHQiwgR0xlbnVtIG1vZGVBbHBoYSk7CiAgICAgdm9pZCBibGVu
ZEZ1bmMoR0xlbnVtIHNmYWN0b3IsIEdMZW51bSBkZmFjdG9yKTsKICAgICB2b2lkIGJsZW5kRnVu
Y1NlcGFyYXRlKEdMZW51bSBzcmNSR0IsIEdMZW51bSBkc3RSR0IsIEdMZW51bSBzcmNBbHBoYSwg
R0xlbnVtIGRzdEFscGhhKTsKLSAgICB2b2lkIGJ1ZmZlckRhdGEoR0xlbnVtIHRhcmdldCwgQXJy
YXlCdWZmZXI/IGRhdGEsIEdMZW51bSB1c2FnZSk7Ci0gICAgdm9pZCBidWZmZXJEYXRhKEdMZW51
bSB0YXJnZXQsIEFycmF5QnVmZmVyVmlldz8gZGF0YSwgR0xlbnVtIHVzYWdlKTsKKyAgICB2b2lk
IGJ1ZmZlckRhdGEoR0xlbnVtIHRhcmdldCwgQnVmZmVyRGF0YVNvdXJjZT8gZGF0YSwgR0xlbnVt
IHVzYWdlKTsKICAgICB2b2lkIGJ1ZmZlckRhdGEoR0xlbnVtIHRhcmdldCwgR0xzaXplaXB0ciBz
aXplLCBHTGVudW0gdXNhZ2UpOwotICAgIHZvaWQgYnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0
LCBHTGludHB0ciBvZmZzZXQsIEFycmF5QnVmZmVyPyBkYXRhKTsKLSAgICB2b2lkIGJ1ZmZlclN1
YkRhdGEoR0xlbnVtIHRhcmdldCwgR0xpbnRwdHIgb2Zmc2V0LCBBcnJheUJ1ZmZlclZpZXc/IGRh
dGEpOworICAgIHZvaWQgYnVmZmVyU3ViRGF0YShHTGVudW0gdGFyZ2V0LCBHTGludHB0ciBvZmZz
ZXQsIEJ1ZmZlckRhdGFTb3VyY2U/IGRhdGEpOwogCiAgICAgR0xlbnVtIGNoZWNrRnJhbWVidWZm
ZXJTdGF0dXMoR0xlbnVtIHRhcmdldCk7CiAgICAgdm9pZCBjbGVhcihHTGJpdGZpZWxkIG1hc2sp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>