<?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>96073</bug_id>
          
          <creation_ts>2012-09-06 23:10:06 -0700</creation_ts>
          <short_desc>REGRESSION(r127822): It broke compilation on chromium debug bots (Requested by loislo on #webkit).</short_desc>
          <delta_ts>2012-09-06 23:15:19 -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>New Bugs</component>
          <version>528+ (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>
          
          <blocked>95500</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>danakj</cc>
    
    <cc>enne</cc>
    
    <cc>loislo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>714155</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-06 23:10:06 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/127822 broke the build:
It broke compilation on chromium debug bots (Requested by loislo on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714157</commentid>
    <comment_count>1</comment_count>
      <attachid>162679</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-06 23:10:45 -0700</bug_when>
    <thetext>Created attachment 162679
ROLLOUT of r127822

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714159</commentid>
    <comment_count>2</comment_count>
      <attachid>162679</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-06 23:15:14 -0700</bug_when>
    <thetext>Comment on attachment 162679
ROLLOUT of r127822

Clearing flags on attachment: 162679

Committed r127832: &lt;http://trac.webkit.org/changeset/127832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714160</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-06 23:15:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162679</attachid>
            <date>2012-09-06 23:10:45 -0700</date>
            <delta_ts>2012-09-06 23:15:14 -0700</delta_ts>
            <desc>ROLLOUT of r127822</desc>
            <filename>bug-96073-20120907061707.patch</filename>
            <type>text/plain</type>
            <size>44478</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FmNTY2ZjRjOTg2MDQ1
YjVlMjI2YWM2NDliZTdlMWYwYzAzNzQ3Ni4uNTY1Zjg2YzAwZmZmNTVjZWRhMDUxYjE1M2ExNTE3
YTdkMDNlN2ViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA5LTA2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI3ODIyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjc4MjIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2MDczCisKKyAgICAgICAgSXQgYnJva2UgY29tcGlsYXRpb24gb24gY2hyb21p
dW0gZGVidWcgYm90cyAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGxvaXNsbyBvbiAjd2Via2l0KS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGlyZWN0UmVuZGVy
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEaXJlY3RSZW5kZXJlcjo6ZGVjaWRlUmVuZGVy
UGFzc0FsbG9jYXRpb25zRm9yRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NEaXJlY3RSZW5k
ZXJlcjo6aGF2ZUNhY2hlZFJlc291cmNlc0ZvclJlbmRlclBhc3NJZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEaXJlY3RSZW5kZXJlci5oOgorICAgICAgICAo
Q0NEaXJlY3RSZW5kZXJlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJl
ZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMpOgorICAgICAgICAoV2ViQ29yZTo6Zmlu
ZFJlbmRlclBhc3NCeUlkKToKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZVJlbmRlclBhc3Nlc1Jl
Y3Vyc2l2ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJQYXNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6Q0NSZW5kZXJQYXNzKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDUmVuZGVyUGFzczo6Y29weSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmg6CisgICAgICAgIChDQ1JlbmRlclBhc3MpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjppZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzc0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3
UXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y29weSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1
YWQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ0NSZW5kZXJQYXNzRHJhd1F1YWQp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzRHJhd1F1YWQ6OnJlbmRlclBhc3NJZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6YXBwZW5kUmVuZGVyUGFz
c2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6YXBwZW5kUXVhZHMpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDQ1JlbmRlclN1cmZhY2UpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyZXI6OmhhdmVDYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJQYXNzSWQp
OgorCiAyMDEyLTA5LTA2ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBUaGUgQ0MgYnV0dG9uIHNob3VsZCBoYXZlIGNocm9tZS1zcGVjaWZpYyByZW5kZXJp
bmcgZm9yIE1hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMTEzNzBjMmI5NDRkNGEx
YzM0YzFhNTNhNDczOGQ2YjJhZmY5YWRjNC4uZjNiNmZjMjIxMTA2N2Y1YWZmZTI1YTUwOWY5MzY3
NzM4NWY2ZDE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxMi0wOS0wNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisK
KyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNzgyMi4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3ODIyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA3MworCisgICAgICAgIEl0IGJyb2tlIGNvbXBp
bGF0aW9uIG9uIGNocm9taXVtIGRlYnVnIGJvdHMgKFJlcXVlc3RlZCBieQorICAgICAgICBsb2lz
bG8gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiB0ZXN0cy9DQ0RyYXdRdWFkVGVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpURVNUKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJ
bXBsVGVzdC5jcHA6CisgICAgICAgICogdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHA6Cisg
ICAgICAgICogdGVzdHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
RVNUKToKKyAgICAgICAgKiB0ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcDoKKyAgICAgICAg
KiB0ZXN0cy9DQ1JlbmRlcmVyR0xUZXN0LmNwcDoKKyAgICAgICAgKEZha2VDQ1JlbmRlcmVyQ2xp
ZW50OjpGYWtlQ0NSZW5kZXJlckNsaWVudCk6CisKIDIwMTItMDktMDYgIERhbmEgSmFuc2VucyAg
PGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNYWtlIFJlbmRlclBh
c3MgaWRzIGhvbGQgYm90aCBnZW5lcmF0aW5nIGxheWVyIGlkIGFuZCBhbiBpbmRleApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEaXJl
Y3RSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0RpcmVjdFJlbmRlcmVyLmNwcAppbmRleCA2YjUzNzg5ZjU1M2ViNWQ1MDczNmQyN2U3
ZDg4Y2U1MTIyNTdjYTViLi40Njg4YmVkMTliZmM0ZTgzNWJhZGYzNzkyNmQ5MDNkMjZhMGVkMzRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0RpcmVjdFJlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0RpcmVjdFJlbmRlcmVyLmNwcApAQCAtMTEyLDEyICsxMTIsMTIg
QEAgSW50UmVjdCBDQ0RpcmVjdFJlbmRlcmVyOjptb3ZlU2Npc3NvclRvV2luZG93U3BhY2UoY29u
c3QgRHJhd2luZ0ZyYW1lJiBmcmFtZSwgRmwKIAogdm9pZCBDQ0RpcmVjdFJlbmRlcmVyOjpkZWNp
ZGVSZW5kZXJQYXNzQWxsb2NhdGlvbnNGb3JGcmFtZShjb25zdCBDQ1JlbmRlclBhc3NMaXN0JiBy
ZW5kZXJQYXNzZXNJbkRyYXdPcmRlcikKIHsKLSAgICBIYXNoTWFwPENDUmVuZGVyUGFzczo6SWQs
IGNvbnN0IENDUmVuZGVyUGFzcyo+IHJlbmRlclBhc3Nlc0luRnJhbWU7CisgICAgSGFzaE1hcDxp
bnQsIGNvbnN0IENDUmVuZGVyUGFzcyo+IHJlbmRlclBhc3Nlc0luRnJhbWU7CiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCByZW5kZXJQYXNzZXNJbkRyYXdPcmRlci5zaXplKCk7ICsraSkKICAg
ICAgICAgcmVuZGVyUGFzc2VzSW5GcmFtZS5zZXQocmVuZGVyUGFzc2VzSW5EcmF3T3JkZXJbaV0t
PmlkKCksIHJlbmRlclBhc3Nlc0luRHJhd09yZGVyW2ldKTsKIAotICAgIFZlY3RvcjxDQ1JlbmRl
clBhc3M6OklkPiBwYXNzZXNUb0RlbGV0ZTsKLSAgICBIYXNoTWFwPENDUmVuZGVyUGFzczo6SWQs
IE93blB0cjxDYWNoZWRUZXh0dXJlPiA+Ojpjb25zdF9pdGVyYXRvciBwYXNzSXRlcmF0b3I7Cisg
ICAgVmVjdG9yPGludD4gcGFzc2VzVG9EZWxldGU7CisgICAgSGFzaE1hcDxpbnQsIE93blB0cjxD
YWNoZWRUZXh0dXJlPiA+Ojpjb25zdF9pdGVyYXRvciBwYXNzSXRlcmF0b3I7CiAgICAgZm9yIChw
YXNzSXRlcmF0b3IgPSBtX3JlbmRlclBhc3NUZXh0dXJlcy5iZWdpbigpOyBwYXNzSXRlcmF0b3Ig
IT0gbV9yZW5kZXJQYXNzVGV4dHVyZXMuZW5kKCk7ICsrcGFzc0l0ZXJhdG9yKSB7CiAgICAgICAg
IGNvbnN0IENDUmVuZGVyUGFzcyogcmVuZGVyUGFzc0luRnJhbWUgPSByZW5kZXJQYXNzZXNJbkZy
YW1lLmdldChwYXNzSXRlcmF0b3ItPmZpcnN0KTsKICAgICAgICAgaWYgKCFyZW5kZXJQYXNzSW5G
cmFtZSkgewpAQCAtMjEyLDcgKzIxMiw3IEBAIGJvb2wgQ0NEaXJlY3RSZW5kZXJlcjo6dXNlUmVu
ZGVyUGFzcyhEcmF3aW5nRnJhbWUmIGZyYW1lLCBjb25zdCBDQ1JlbmRlclBhc3MqIHJlCiAgICAg
cmV0dXJuIGJpbmRGcmFtZWJ1ZmZlclRvVGV4dHVyZShmcmFtZSwgdGV4dHVyZSwgcmVuZGVyUGFz
cy0+b3V0cHV0UmVjdCgpKTsKIH0KIAotYm9vbCBDQ0RpcmVjdFJlbmRlcmVyOjpoYXZlQ2FjaGVk
UmVzb3VyY2VzRm9yUmVuZGVyUGFzc0lkKENDUmVuZGVyUGFzczo6SWQgaWQpIGNvbnN0Citib29s
IENDRGlyZWN0UmVuZGVyZXI6OmhhdmVDYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJQYXNzSWQoaW50
IGlkKSBjb25zdAogewogICAgIENhY2hlZFRleHR1cmUqIHRleHR1cmUgPSBtX3JlbmRlclBhc3NU
ZXh0dXJlcy5nZXQoaWQpOwogICAgIHJldHVybiB0ZXh0dXJlICYmIHRleHR1cmUtPmlkKCkgJiYg
dGV4dHVyZS0+aXNDb21wbGV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEaXJlY3RSZW5kZXJlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEaXJlY3RSZW5kZXJlci5oCmluZGV4
IDczZDYyNGZiYTIzNmRiNjlhNjhiZDllZmUyZTVkOWFmNjM5MjkzZDQuLjI5NDE1MmNkZGYzYTU1
ZWFlZThjYWMyMzViMzFhMmI5ZTAyMzczMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGlyZWN0UmVuZGVyZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RpcmVjdFJlbmRlcmVy
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIENDUmVzb3VyY2VQcm92aWRlciogcmVz
b3VyY2VQcm92aWRlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VQcm92aWRlcjsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGRlY2lkZVJlbmRlclBhc3NBbGxvY2F0aW9uc0ZvckZyYW1lKGNvbnN0
IENDUmVuZGVyUGFzc0xpc3QmIHJlbmRlclBhc3Nlc0luRHJhd09yZGVyKSBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIGJvb2wgaGF2ZUNhY2hlZFJlc291cmNlc0ZvclJlbmRlclBhc3NJZChDQ1JlbmRl
clBhc3M6OklkKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaGF2ZUNhY2hlZFJl
c291cmNlc0ZvclJlbmRlclBhc3NJZChpbnQgaWQpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBkcmF3RnJhbWUoY29uc3QgQ0NSZW5kZXJQYXNzTGlzdCYgcmVuZGVyUGFzc2VzSW5E
cmF3T3JkZXIsIGNvbnN0IENDUmVuZGVyUGFzc0lkSGFzaE1hcCYgcmVuZGVyUGFzc2VzQnlJZCkg
T1ZFUlJJREU7CiAKIHByb3RlY3RlZDoKQEAgLTEwMSw3ICsxMDEsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU1hdHJpY2VzKERyYXdpbmdGcmFtZSYsIGNvbnN0IElu
dFJlY3QmIGRyYXdSZWN0LCBib29sIGZsaXBZKTsKICAgICBzdGF0aWMgSW50UmVjdCBtb3ZlU2Np
c3NvclRvV2luZG93U3BhY2UoY29uc3QgRHJhd2luZ0ZyYW1lJiwgRmxvYXRSZWN0IHNjaXNzb3JS
ZWN0KTsKIAotICAgIGJvb2wgaGF2ZUNhY2hlZFJlc291cmNlcyhDQ1JlbmRlclBhc3M6OklkKSBj
b25zdDsKKyAgICBib29sIGhhdmVDYWNoZWRSZXNvdXJjZXMoaW50IHJlbmRlclBhc3NJZCkgY29u
c3Q7CiAgICAgc3RhdGljIEludFNpemUgcmVuZGVyUGFzc1RleHR1cmVTaXplKGNvbnN0IENDUmVu
ZGVyUGFzcyopOwogICAgIHN0YXRpYyBHQzNEZW51bSByZW5kZXJQYXNzVGV4dHVyZUZvcm1hdChj
b25zdCBDQ1JlbmRlclBhc3MqKTsKIApAQCAtMTE4LDcgKzExOCw3IEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5EcmF3aW5nRnJhbWUoRHJhd2luZ0ZyYW1lJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBmaW5pc2hEcmF3aW5nRnJhbWUoRHJhd2luZ0ZyYW1lJikgPSAwOwogCi0g
ICAgSGFzaE1hcDxDQ1JlbmRlclBhc3M6OklkLCBPd25QdHI8Q2FjaGVkVGV4dHVyZT4gPiBtX3Jl
bmRlclBhc3NUZXh0dXJlczsKKyAgICBIYXNoTWFwPGludCwgT3duUHRyPENhY2hlZFRleHR1cmU+
ID4gbV9yZW5kZXJQYXNzVGV4dHVyZXM7CiAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyKiBtX3Jlc291
cmNlUHJvdmlkZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3Bw
CmluZGV4IDQ0N2MzMmYyYmNkNDc3N2I3OThmY2RhYzA1YTFlZTk1MmMzOGFiYWMuLmQ0NTY3Y2Jl
NDIyOTQ4YzljNTAyMDMyMDhiYWRjNjU1ZWY0YzNjNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5
ZXJUcmVlSG9zdEltcGwuY3BwCkBAIC0zMDksNyArMzA5LDcgQEAgYm9vbCBDQ0xheWVyVHJlZUhv
c3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQYXNzZXMoRnJhbWVEYXRhJiBmcmFtZSkKIAogICAgIEND
TGF5ZXJJdGVyYXRvclR5cGUgZW5kID0gQ0NMYXllckl0ZXJhdG9yVHlwZTo6ZW5kKGZyYW1lLnJl
bmRlclN1cmZhY2VMYXllckxpc3QpOwogICAgIGZvciAoQ0NMYXllckl0ZXJhdG9yVHlwZSBpdCA9
IENDTGF5ZXJJdGVyYXRvclR5cGU6OmJlZ2luKGZyYW1lLnJlbmRlclN1cmZhY2VMYXllckxpc3Qp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgQ0NSZW5kZXJQYXNzOjpJZCB0YXJnZXRSZW5k
ZXJQYXNzSWQgPSBpdC50YXJnZXRSZW5kZXJTdXJmYWNlTGF5ZXIoKS0+cmVuZGVyU3VyZmFjZSgp
LT5yZW5kZXJQYXNzSWQoKTsKKyAgICAgICAgaW50IHRhcmdldFJlbmRlclBhc3NJZCA9IGl0LnRh
cmdldFJlbmRlclN1cmZhY2VMYXllcigpLT5pZCgpOwogICAgICAgICBDQ1JlbmRlclBhc3MqIHRh
cmdldFJlbmRlclBhc3MgPSBmcmFtZS5yZW5kZXJQYXNzZXNCeUlkLmdldCh0YXJnZXRSZW5kZXJQ
YXNzSWQpOwogCiAgICAgICAgIG9jY2x1c2lvblRyYWNrZXIuZW50ZXJMYXllcihpdCk7CkBAIC0z
MTcsNyArMzE3LDcgQEAgYm9vbCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpjYWxjdWxhdGVSZW5kZXJQ
YXNzZXMoRnJhbWVEYXRhJiBmcmFtZSkKICAgICAgICAgQ0NBcHBlbmRRdWFkc0RhdGEgYXBwZW5k
UXVhZHNEYXRhOwogCiAgICAgICAgIGlmIChpdC5yZXByZXNlbnRzQ29udHJpYnV0aW5nUmVuZGVy
U3VyZmFjZSgpKSB7Ci0gICAgICAgICAgICBDQ1JlbmRlclBhc3M6OklkIGNvbnRyaWJ1dGluZ1Jl
bmRlclBhc3NJZCA9IGl0LT5yZW5kZXJTdXJmYWNlKCktPnJlbmRlclBhc3NJZCgpOworICAgICAg
ICAgICAgaW50IGNvbnRyaWJ1dGluZ1JlbmRlclBhc3NJZCA9IGl0LT5pZCgpOwogICAgICAgICAg
ICAgQ0NSZW5kZXJQYXNzKiBjb250cmlidXRpbmdSZW5kZXJQYXNzID0gZnJhbWUucmVuZGVyUGFz
c2VzQnlJZC5nZXQoY29udHJpYnV0aW5nUmVuZGVyUGFzc0lkKTsKICAgICAgICAgICAgIHRhcmdl
dFJlbmRlclBhc3MtPmFwcGVuZFF1YWRzRm9yUmVuZGVyU3VyZmFjZUxheWVyKCppdCwgY29udHJp
YnV0aW5nUmVuZGVyUGFzcywgJm9jY2x1c2lvblRyYWNrZXIsIGFwcGVuZFF1YWRzRGF0YSk7CiAg
ICAgICAgIH0gZWxzZSBpZiAoaXQucmVwcmVzZW50c0l0c2VsZigpICYmICFpdC0+dmlzaWJsZUNv
bnRlbnRSZWN0KCkuaXNFbXB0eSgpKSB7CkBAIC00MTIsMTQgKzQxMiwxNCBAQCBJbnRTaXplIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmNvbnRlbnRTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9yb290
U2Nyb2xsTGF5ZXJJbXBsLT5jaGlsZHJlbigpWzBdLT5jb250ZW50Qm91bmRzKCk7CiB9CiAKLXN0
YXRpYyBpbmxpbmUgQ0NSZW5kZXJQYXNzKiBmaW5kUmVuZGVyUGFzc0J5SWQoQ0NSZW5kZXJQYXNz
OjpJZCByZW5kZXJQYXNzSWQsIGNvbnN0IENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSYg
ZnJhbWUpCitzdGF0aWMgaW5saW5lIENDUmVuZGVyUGFzcyogZmluZFJlbmRlclBhc3NCeUlkKGlu
dCByZW5kZXJQYXNzSWQsIGNvbnN0IENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSYgZnJh
bWUpCiB7CiAgICAgQ0NSZW5kZXJQYXNzSWRIYXNoTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGZy
YW1lLnJlbmRlclBhc3Nlc0J5SWQuZmluZChyZW5kZXJQYXNzSWQpOwogICAgIEFTU0VSVChpdCAh
PSBmcmFtZS5yZW5kZXJQYXNzZXNCeUlkLmVuZCgpKTsKICAgICByZXR1cm4gaXQtPnNlY29uZC5n
ZXQoKTsKIH0KIAotc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKENDUmVu
ZGVyUGFzczo6SWQgcmVtb3ZlUmVuZGVyUGFzc0lkLCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFt
ZURhdGEmIGZyYW1lKQorc3RhdGljIHZvaWQgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKGlu
dCByZW1vdmVSZW5kZXJQYXNzSWQsIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSYgZnJh
bWUpCiB7CiAgICAgQ0NSZW5kZXJQYXNzKiByZW1vdmVSZW5kZXJQYXNzID0gZmluZFJlbmRlclBh
c3NCeUlkKHJlbW92ZVJlbmRlclBhc3NJZCwgZnJhbWUpOwogICAgIHNpemVfdCByZW1vdmVJbmRl
eCA9IGZyYW1lLnJlbmRlclBhc3Nlcy5maW5kKHJlbW92ZVJlbmRlclBhc3MpOwpAQCAtNDM5LDcg
KzQzOSw3IEBAIHN0YXRpYyB2b2lkIHJlbW92ZVJlbmRlclBhc3Nlc1JlY3Vyc2l2ZShDQ1JlbmRl
clBhc3M6OklkIHJlbW92ZVJlbmRlclBhc3NJZCwgQ0NMCiAgICAgICAgIGlmIChjdXJyZW50UXVh
ZC0+bWF0ZXJpYWwoKSAhPSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzKQogICAgICAgICAgICAgY29u
dGludWU7CiAKLSAgICAgICAgQ0NSZW5kZXJQYXNzOjpJZCBuZXh0UmVtb3ZlUmVuZGVyUGFzc0lk
ID0gQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6Om1hdGVyaWFsQ2FzdChjdXJyZW50UXVhZCktPnJlbmRl
clBhc3NJZCgpOworICAgICAgICBpbnQgbmV4dFJlbW92ZVJlbmRlclBhc3NJZCA9IENDUmVuZGVy
UGFzc0RyYXdRdWFkOjptYXRlcmlhbENhc3QoY3VycmVudFF1YWQpLT5yZW5kZXJQYXNzSWQoKTsK
ICAgICAgICAgcmVtb3ZlUmVuZGVyUGFzc2VzUmVjdXJzaXZlKG5leHRSZW1vdmVSZW5kZXJQYXNz
SWQsIGZyYW1lKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAppbmRleCA0ZTU5
M2NmNjc4YTU4ZmI2Y2IxNzE5MTk4MmI5NWZiOTY2YzkxZTc3Li5iMWUzMTYyM2MyODJiNTBmODkz
MzhjNDdjZmQ0MDZlZTcyMjBjYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKQEAgLTM4
LDIzICszOCwyMiBAQCB1c2luZyBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4OwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBDQ1JlbmRlclBh
c3M6OmNyZWF0ZShJZCBpZCwgSW50UmVjdCBvdXRwdXRSZWN0LCBjb25zdCBXZWJLaXQ6OldlYlRy
YW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQpCitQYXNzT3duUHRyPEND
UmVuZGVyUGFzcz4gQ0NSZW5kZXJQYXNzOjpjcmVhdGUoaW50IGlkLCBJbnRSZWN0IG91dHB1dFJl
Y3QsIGNvbnN0IFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybVRvUm9v
dFRhcmdldCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENDUmVuZGVyUGFzcyhpZCwgb3V0
cHV0UmVjdCwgdHJhbnNmb3JtVG9Sb290VGFyZ2V0KSk7CiB9CiAKLUNDUmVuZGVyUGFzczo6Q0NS
ZW5kZXJQYXNzKElkIGlkLCBJbnRSZWN0IG91dHB1dFJlY3QsIGNvbnN0IFdlYktpdDo6V2ViVHJh
bnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybVRvUm9vdFRhcmdldCkKK0NDUmVuZGVyUGFzczo6
Q0NSZW5kZXJQYXNzKGludCBpZCwgSW50UmVjdCBvdXRwdXRSZWN0LCBjb25zdCBXZWJLaXQ6Oldl
YlRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQpCiAgICAgOiBtX2lk
KGlkKQogICAgICwgbV90cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQodHJhbnNmb3JtVG9Sb290VGFyZ2V0
KQogICAgICwgbV9vdXRwdXRSZWN0KG91dHB1dFJlY3QpCiAgICAgLCBtX2hhc1RyYW5zcGFyZW50
QmFja2dyb3VuZCh0cnVlKQogICAgICwgbV9oYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1
cmZhY2UoZmFsc2UpCiB7Ci0gICAgQVNTRVJUKGlkLmZpcnN0ID4gMCk7Ci0gICAgQVNTRVJUKGlk
LnNlY29uZCA+PSAwKTsKKyAgICBBU1NFUlQoaWQgPiAwKTsKIH0KIAotUGFzc093blB0cjxDQ1Jl
bmRlclBhc3M+IENDUmVuZGVyUGFzczo6Y29weShJZCBuZXdJZCkgY29uc3QKK1Bhc3NPd25QdHI8
Q0NSZW5kZXJQYXNzPiBDQ1JlbmRlclBhc3M6OmNvcHkoaW50IG5ld0lkKSBjb25zdAogewogICAg
IEFTU0VSVChuZXdJZCAhPSBtX2lkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAppbmRleCBjZTcx
NGFhNDc0YjI5ZjRiNmYyZjBkNGNiZmQzYzExOTkxMjZhOWQzLi40MGVmMjEyODI0N2QyNmU2Yjk5
ZmNlNGFkZTNmYzgwNDQ5MDg2YmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApAQCAtNjAsMjcg
KzYwLDEwIEBAIHR5cGVkZWYgVmVjdG9yPE93blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gPiBDQ1No
YXJlZFF1YWRTdGF0ZUxpc3Q7CiBjbGFzcyBDQ1JlbmRlclBhc3MgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENDUmVuZGVyUGFzcyk7CiBwdWJsaWM6Ci0gICAgc3RydWN0IElkIHsKLSAgICAg
ICAgaW50IGxheWVySWQ7Ci0gICAgICAgIGludCBpbmRleDsKLQotICAgICAgICBJZChpbnQgbGF5
ZXJJZCwgaW50IGluZGV4KQotICAgICAgICAgICAgOiBsYXllcklkKGxheWVySWQpCi0gICAgICAg
ICAgICAsIGluZGV4KGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQobGF5ZXJJ
ZCA+IDApOwotICAgICAgICAgICAgQVNTRVJUKGluZGV4ID49IDApOwotICAgICAgICB9Ci0KLSAg
ICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IElkJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbGF5
ZXJJZCA9PSBvdGhlci5sYXllcklkICYmIGluZGV4ID09IG90aGVyLmluZGV4OyB9Ci0gICAgICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBJZCYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMg
PT0gb3RoZXIpOyB9Ci0gICAgICAgIGJvb2wgb3BlcmF0b3I8KGNvbnN0IElkJiBvdGhlcikgY29u
c3QgeyByZXR1cm4gbGF5ZXJJZCA8IG90aGVyLmxheWVySWQgfHwgKGxheWVySWQgPT0gb3RoZXIu
bGF5ZXJJZCAmJiBpbmRleCA8IG90aGVyLmluZGV4KTsgfQotICAgIH07Ci0KLSAgICBzdGF0aWMg
UGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNyZWF0ZShJZCwgSW50UmVjdCBvdXRwdXRSZWN0LCBj
b25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1Jvb3RUYXJn
ZXQpOworICAgIHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFzcz4gY3JlYXRlKGludCBpZCwg
SW50UmVjdCBvdXRwdXRSZWN0LCBjb25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4
JiB0cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQpOwogCiAgICAgLy8gQSBzaGFsbG93IGNvcHkgb2YgdGhl
IHJlbmRlciBwYXNzLCB3aGljaCBkb2VzIG5vdCBpbmNsdWRlIGl0cyBxdWFkcy4KLSAgICBQYXNz
T3duUHRyPENDUmVuZGVyUGFzcz4gY29weShJZCBuZXdJZCkgY29uc3Q7CisgICAgUGFzc093blB0
cjxDQ1JlbmRlclBhc3M+IGNvcHkoaW50IG5ld0lkKSBjb25zdDsKIAogICAgIHZvaWQgYXBwZW5k
UXVhZHNGb3JMYXllcihDQ0xheWVySW1wbCosIENDT2NjbHVzaW9uVHJhY2tlckltcGwqLCBDQ0Fw
cGVuZFF1YWRzRGF0YSYpOwogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5
ZXIoQ0NMYXllckltcGwqLCBjb25zdCBDQ1JlbmRlclBhc3MqIGNvbnRyaWJ1dGluZ1JlbmRlclBh
c3MsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqLCBDQ0FwcGVuZFF1YWRzRGF0YSYpOwpAQCAtODgs
NyArNzEsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBDQ1F1YWRMaXN0JiBxdWFkTGlzdCgpIGNv
bnN0IHsgcmV0dXJuIG1fcXVhZExpc3Q7IH0KIAotICAgIElkIGlkKCkgY29uc3QgeyByZXR1cm4g
bV9pZDsgfQorICAgIGludCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIAogICAgIC8vIEZJ
WE1FOiBNb2RpZnkgdGhpcyB0cmFuc2Zvcm0gd2hlbiBtZXJnaW5nIHRoZSBSZW5kZXJQYXNzIGlu
dG8gYSBwYXJlbnQgY29tcG9zaXRvci4KICAgICAvLyBUcmFuc2Zvcm1zIGZyb20gcXVhZCdzIG9y
aWdpbmFsIGNvbnRlbnQgc3BhY2UgdG8gdGhlIHJvb3QgdGFyZ2V0J3MgY29udGVudCBzcGFjZS4K
QEAgLTExMiw5ICs5NSw5IEBAIHB1YmxpYzoKICAgICBib29sIGhhc09jY2x1c2lvbkZyb21PdXRz
aWRlVGFyZ2V0U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzT2NjbHVzaW9uRnJvbU91dHNp
ZGVUYXJnZXRTdXJmYWNlOyB9CiAgICAgdm9pZCBzZXRIYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRh
cmdldFN1cmZhY2UoYm9vbCBoYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UpIHsg
bV9oYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UgPSBoYXNPY2NsdXNpb25Gcm9t
T3V0c2lkZVRhcmdldFN1cmZhY2U7IH0KIHByb3RlY3RlZDoKLSAgICBDQ1JlbmRlclBhc3MoSWQs
IEludFJlY3Qgb3V0cHV0UmVjdCwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgdHJhbnNmb3JtVG9Sb290VGFyZ2V0KTsKKyAgICBDQ1JlbmRlclBhc3MoaW50IGlkLCBJbnRS
ZWN0IG91dHB1dFJlY3QsIGNvbnN0IFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRy
YW5zZm9ybVRvUm9vdFRhcmdldCk7CiAKLSAgICBJZCBtX2lkOworICAgIGludCBtX2lkOwogICAg
IENDUXVhZExpc3QgbV9xdWFkTGlzdDsKICAgICBDQ1NoYXJlZFF1YWRTdGF0ZUxpc3QgbV9zaGFy
ZWRRdWFkU3RhdGVMaXN0OwogICAgIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggbV90
cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQ7CkBAIC0xMjYsMjkgKzEwOSw5IEBAIHByb3RlY3RlZDoKICAg
ICBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMgbV9iYWNrZ3JvdW5kRmlsdGVyczsKIH07CiAK
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotbmFtZXNwYWNlIFdURiB7Ci10ZW1wbGF0ZTw+IHN0
cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6SWQ+IDogR2VuZXJpY0hhc2hU
cmFpdHM8V2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjpJZD4gewotICAgIHN0YXRpYyBjb25zdCBib29s
IGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rl
c3RydWN0aW9uID0gZmFsc2U7Ci0gICAgc3RhdGljIFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6SWQg
ZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6SWQoMCwgMCk7IH0K
LSAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoV2ViQ29yZTo6Q0NSZW5kZXJQ
YXNzOjpJZCYgc2xvdCkgeyBzbG90ID0gV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjpJZCgtMSwgLTEp
OyB9Ci0gICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoV2ViQ29yZTo6Q0NSZW5kZXJQYXNz
OjpJZCB2YWx1ZSkgeyByZXR1cm4gdmFsdWUubGF5ZXJJZCA9PSAtMSAmJiB2YWx1ZS5pbmRleCA9
PSAtMTsgfQotfTsKLXRlbXBsYXRlPD4gc3RydWN0IEludEhhc2g8V2ViQ29yZTo6Q0NSZW5kZXJQ
YXNzOjpJZD4gewotICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFdlYkNvcmU6OkNDUmVu
ZGVyUGFzczo6SWQmIGtleSkgeyByZXR1cm4gUGFpckhhc2g8aW50LCBpbnQ+OjpoYXNoKHN0ZDo6
bWFrZV9wYWlyKGtleS5sYXllcklkLCBrZXkuaW5kZXgpKTsgfQotICAgIHN0YXRpYyBib29sIGVx
dWFsKGNvbnN0IFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6SWQmIGEsIGNvbnN0IFdlYkNvcmU6OkND
UmVuZGVyUGFzczo6SWQmIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQotICAgIHN0YXRpYyBjb25zdCBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKLX07Ci10ZW1wbGF0ZTw+
IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpDQ1JlbmRlclBhc3M6OklkPiB7Ci0gICAgdHlw
ZWRlZiBJbnRIYXNoPFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6SWQ+IEhhc2g7Ci19OwotfSAvLyBu
YW1lc3BhY2UgV1RGCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKIHR5cGVkZWYgVmVjdG9yPENDUmVu
ZGVyUGFzcyo+IENDUmVuZGVyUGFzc0xpc3Q7Ci10eXBlZGVmIEhhc2hNYXA8Q0NSZW5kZXJQYXNz
OjpJZCwgT3duUHRyPENDUmVuZGVyUGFzcz4gPiBDQ1JlbmRlclBhc3NJZEhhc2hNYXA7Ci19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCit0eXBlZGVmIEhhc2hNYXA8aW50LCBPd25QdHI8Q0NSZW5kZXJQ
YXNzPiA+IENDUmVuZGVyUGFzc0lkSGFzaE1hcDsKKworfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFz
c0RyYXdRdWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzc0RyYXdRdWFkLmNwcAppbmRleCBhYWU1Zjc1Mzk4ODZhODIzNDQ1NzVm
YmE1ZTQ0ZTg1NmRiZTY1ZjVjLi44ZDI4NjhlMjMwNWNkN2E5OTkyMTZjNzU2ZGEyNzQzODdhOTQ5
Yjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJhd1F1YWQuY3BwCkBAIC0yOSwx
MiArMjksMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzT3duUHRyPENDUmVuZGVy
UGFzc0RyYXdRdWFkPiBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6Y3JlYXRlKGNvbnN0IENDU2hhcmVk
UXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBDQ1Jl
bmRlclBhc3M6OklkIHJlbmRlclBhc3NJZCwgYm9vbCBpc1JlcGxpY2EsIGNvbnN0IENDUmVzb3Vy
Y2VQcm92aWRlcjo6UmVzb3VyY2VJZCBtYXNrUmVzb3VyY2VJZCwgY29uc3QgSW50UmVjdCYgY29u
dGVudHNDaGFuZ2VkU2luY2VMYXN0RnJhbWUsIGZsb2F0IG1hc2tUZXhDb29yZFNjYWxlWCwgZmxv
YXQgbWFza1RleENvb3JkU2NhbGVZLCBmbG9hdCBtYXNrVGV4Q29vcmRPZmZzZXRYLCBmbG9hdCBt
YXNrVGV4Q29vcmRPZmZzZXRZKQorUGFzc093blB0cjxDQ1JlbmRlclBhc3NEcmF3UXVhZD4gQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQ6OmNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSogc2hhcmVk
UXVhZFN0YXRlLCBjb25zdCBJbnRSZWN0JiBxdWFkUmVjdCwgaW50IHJlbmRlclBhc3NJZCwgYm9v
bCBpc1JlcGxpY2EsIGNvbnN0IENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBtYXNrUmVz
b3VyY2VJZCwgY29uc3QgSW50UmVjdCYgY29udGVudHNDaGFuZ2VkU2luY2VMYXN0RnJhbWUsIGZs
b2F0IG1hc2tUZXhDb29yZFNjYWxlWCwgZmxvYXQgbWFza1RleENvb3JkU2NhbGVZLCBmbG9hdCBt
YXNrVGV4Q29vcmRPZmZzZXRYLCBmbG9hdCBtYXNrVGV4Q29vcmRPZmZzZXRZKQogewogICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgQ0NSZW5kZXJQYXNzRHJhd1F1YWQoc2hhcmVkUXVhZFN0YXRlLCBx
dWFkUmVjdCwgcmVuZGVyUGFzc0lkLCBpc1JlcGxpY2EsIG1hc2tSZXNvdXJjZUlkLCBjb250ZW50
c0NoYW5nZWRTaW5jZUxhc3RGcmFtZSwgbWFza1RleENvb3JkU2NhbGVYLCBtYXNrVGV4Q29vcmRT
Y2FsZVksIG1hc2tUZXhDb29yZE9mZnNldFgsIG1hc2tUZXhDb29yZE9mZnNldFkpKTsKIH0KIAot
Q0NSZW5kZXJQYXNzRHJhd1F1YWQ6OkNDUmVuZGVyUGFzc0RyYXdRdWFkKGNvbnN0IENDU2hhcmVk
UXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBDQ1Jl
bmRlclBhc3M6OklkIHJlbmRlclBhc3NJZCwgYm9vbCBpc1JlcGxpY2EsIENDUmVzb3VyY2VQcm92
aWRlcjo6UmVzb3VyY2VJZCBtYXNrUmVzb3VyY2VJZCwgY29uc3QgSW50UmVjdCYgY29udGVudHND
aGFuZ2VkU2luY2VMYXN0RnJhbWUsIGZsb2F0IG1hc2tUZXhDb29yZFNjYWxlWCwgZmxvYXQgbWFz
a1RleENvb3JkU2NhbGVZLCBmbG9hdCBtYXNrVGV4Q29vcmRPZmZzZXRYLCBmbG9hdCBtYXNrVGV4
Q29vcmRPZmZzZXRZKQorQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6OkNDUmVuZGVyUGFzc0RyYXdRdWFk
KGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3Qm
IHF1YWRSZWN0LCBpbnQgcmVuZGVyUGFzc0lkLCBib29sIGlzUmVwbGljYSwgQ0NSZXNvdXJjZVBy
b3ZpZGVyOjpSZXNvdXJjZUlkIG1hc2tSZXNvdXJjZUlkLCBjb25zdCBJbnRSZWN0JiBjb250ZW50
c0NoYW5nZWRTaW5jZUxhc3RGcmFtZSwgZmxvYXQgbWFza1RleENvb3JkU2NhbGVYLCBmbG9hdCBt
YXNrVGV4Q29vcmRTY2FsZVksIGZsb2F0IG1hc2tUZXhDb29yZE9mZnNldFgsIGZsb2F0IG1hc2tU
ZXhDb29yZE9mZnNldFkpCiAgICAgOiBDQ0RyYXdRdWFkKHNoYXJlZFF1YWRTdGF0ZSwgQ0NEcmF3
UXVhZDo6UmVuZGVyUGFzcywgcXVhZFJlY3QpCiAgICAgLCBtX3JlbmRlclBhc3NJZChyZW5kZXJQ
YXNzSWQpCiAgICAgLCBtX2lzUmVwbGljYShpc1JlcGxpY2EpCkBAIC00NSw4ICs0NSw3IEBAIEND
UmVuZGVyUGFzc0RyYXdRdWFkOjpDQ1JlbmRlclBhc3NEcmF3UXVhZChjb25zdCBDQ1NoYXJlZFF1
YWRTdGF0ZSogc2hhcmVkUXVhZFN0CiAgICAgLCBtX21hc2tUZXhDb29yZE9mZnNldFgobWFza1Rl
eENvb3JkT2Zmc2V0WCkKICAgICAsIG1fbWFza1RleENvb3JkT2Zmc2V0WShtYXNrVGV4Q29vcmRP
ZmZzZXRZKQogewotICAgIEFTU0VSVChtX3JlbmRlclBhc3NJZC5maXJzdCA+IDApOwotICAgIEFT
U0VSVChtX3JlbmRlclBhc3NJZC5zZWNvbmQgPj0gMCk7CisgICAgQVNTRVJUKG1fcmVuZGVyUGFz
c0lkID4gMCk7CiB9CiAKIGNvbnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKiBDQ1JlbmRlclBhc3NE
cmF3UXVhZDo6bWF0ZXJpYWxDYXN0KGNvbnN0IENDRHJhd1F1YWQqIHF1YWQpCkBAIC01NSw3ICs1
NCw3IEBAIGNvbnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKiBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6
bWF0ZXJpYWxDYXN0KGNvbnN0IENDRHJhd1F1YWQqCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IENDUmVuZGVyUGFzc0RyYXdRdWFkKj4ocXVhZCk7CiB9CiAKLVBhc3NPd25QdHI8Q0NSZW5k
ZXJQYXNzRHJhd1F1YWQ+IENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjb3B5KGNvbnN0IENDU2hhcmVk
UXVhZFN0YXRlKiBjb3BpZWRTaGFyZWRRdWFkU3RhdGUsIENDUmVuZGVyUGFzczo6SWQgY29waWVk
UmVuZGVyUGFzc0lkKSBjb25zdAorUGFzc093blB0cjxDQ1JlbmRlclBhc3NEcmF3UXVhZD4gQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQ6OmNvcHkoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIGNvcGllZFNo
YXJlZFF1YWRTdGF0ZSwgaW50IGNvcGllZFJlbmRlclBhc3NJZCkgY29uc3QKIHsKICAgICB1bnNp
Z25lZCBieXRlcyA9IHNpemUoKTsKICAgICBBU1NFUlQoYnl0ZXMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzRHJh
d1F1YWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
UmVuZGVyUGFzc0RyYXdRdWFkLmgKaW5kZXggMjkxMzZlZjk4NmQ1ZGVhZDFmNGVlMmYyZjFhZDY0
MGYzM2M3OGMwMi4uYzRjMzc3MDBkZWYzMzNjMGVmYjU3OGNhMTVkNWJhNjhlNzc1ZDkwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3NEcmF3UXVhZC5oCkBAIC0yNywxOSArMjcsMjAgQEAK
ICNkZWZpbmUgQ0NSZW5kZXJQYXNzRHJhd1F1YWRfaAogCiAjaW5jbHVkZSAiQ0NEcmF3UXVhZC5o
IgotI2luY2x1ZGUgIkNDUmVuZGVyUGFzcy5oIgogI2luY2x1ZGUgIkNDUmVzb3VyY2VQcm92aWRl
ci5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENDUmVuZGVyUGFzczsKKwogY2xhc3MgQ0NS
ZW5kZXJQYXNzRHJhd1F1YWQgOiBwdWJsaWMgQ0NEcmF3UXVhZCB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ0NSZW5kZXJQYXNzRHJhd1F1YWQpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBjcmVhdGUoY29uc3QgQ0NTaGFyZWRRdWFkU3Rh
dGUqLCBjb25zdCBJbnRSZWN0JiwgQ0NSZW5kZXJQYXNzOjpJZCByZW5kZXJQYXNzSWQsIGJvb2wg
aXNSZXBsaWNhLCBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgbWFza1Jlc291cmNlSWQs
IGNvbnN0IEludFJlY3QmIGNvbnRlbnRzQ2hhbmdlZFNpbmNlTGFzdEZyYW1lLCBmbG9hdCBtYXNr
VGV4Q29vcmRTY2FsZVgsIGZsb2F0IG1hc2tUZXhDb29yZFNjYWxlWSwgZmxvYXQgbWFza1RleENv
b3JkT2Zmc2V0WCwgZmxvYXQgbWFza1RleENvb3JkT2Zmc2V0WSk7CisgICAgc3RhdGljIFBhc3NP
d25QdHI8Q0NSZW5kZXJQYXNzRHJhd1F1YWQ+IGNyZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0
ZSosIGNvbnN0IEludFJlY3QmLCBpbnQgcmVuZGVyUGFzc0lkLCBib29sIGlzUmVwbGljYSwgQ0NS
ZXNvdXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkIG1hc2tSZXNvdXJjZUlkLCBjb25zdCBJbnRSZWN0
JiBjb250ZW50c0NoYW5nZWRTaW5jZUxhc3RGcmFtZSwgZmxvYXQgbWFza1RleENvb3JkU2NhbGVY
LCBmbG9hdCBtYXNrVGV4Q29vcmRTY2FsZVksIGZsb2F0IG1hc2tUZXhDb29yZE9mZnNldFgsIGZs
b2F0IG1hc2tUZXhDb29yZE9mZnNldFkpOwogCi0gICAgQ0NSZW5kZXJQYXNzOjpJZCByZW5kZXJQ
YXNzSWQoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclBhc3NJZDsgfQorICAgIGludCByZW5kZXJQ
YXNzSWQoKSBjb25zdCB7IHJldHVybiBtX3JlbmRlclBhc3NJZDsgfQogICAgIGJvb2wgaXNSZXBs
aWNhKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGxpY2E7IH0KICAgICBDQ1Jlc291cmNlUHJvdmlk
ZXI6OlJlc291cmNlSWQgbWFza1Jlc291cmNlSWQoKSBjb25zdCB7IHJldHVybiBtX21hc2tSZXNv
dXJjZUlkOyB9CiAgICAgY29uc3QgSW50UmVjdCYgY29udGVudHNDaGFuZ2VkU2luY2VMYXN0RnJh
bWUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzQ2hhbmdlZFNpbmNlTGFzdEZyYW1lOyB9CkBA
IC01MCwxMiArNTEsMTIgQEAgcHVibGljOgogICAgIGZsb2F0IG1hc2tUZXhDb29yZE9mZnNldFgo
KSBjb25zdCB7IHJldHVybiBtX21hc2tUZXhDb29yZE9mZnNldFg7IH0KICAgICBmbG9hdCBtYXNr
VGV4Q29vcmRPZmZzZXRZKCkgY29uc3QgeyByZXR1cm4gbV9tYXNrVGV4Q29vcmRPZmZzZXRZOyB9
CiAKLSAgICBQYXNzT3duUHRyPENDUmVuZGVyUGFzc0RyYXdRdWFkPiBjb3B5KGNvbnN0IENDU2hh
cmVkUXVhZFN0YXRlKiBjb3BpZWRTaGFyZWRRdWFkU3RhdGUsIENDUmVuZGVyUGFzczo6SWQgY29w
aWVkUmVuZGVyUGFzc0lkKSBjb25zdDsKKyAgICBQYXNzT3duUHRyPENDUmVuZGVyUGFzc0RyYXdR
dWFkPiBjb3B5KGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBjb3BpZWRTaGFyZWRRdWFkU3RhdGUs
IGludCBjb3BpZWRSZW5kZXJQYXNzSWQpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIENDUmVuZGVy
UGFzc0RyYXdRdWFkKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiwgY29uc3QgSW50UmVjdCYsIEND
UmVuZGVyUGFzczo6SWQgcmVuZGVyUGFzc0lkLCBib29sIGlzUmVwbGljYSwgQ0NSZXNvdXJjZVBy
b3ZpZGVyOjpSZXNvdXJjZUlkIG1hc2tSZXNvdXJjZUlkLCBjb25zdCBJbnRSZWN0JiBjb250ZW50
c0NoYW5nZWRTaW5jZUxhc3RGcmFtZSwgZmxvYXQgbWFza1RleENvb3JkU2NhbGVYLCBmbG9hdCBt
YXNrVGV4Q29vcmRTY2FsZVksIGZsb2F0IG1hc2tUZXhDb29yZE9mZnNldFgsIGZsb2F0IG1hc2tU
ZXhDb29yZE9mZnNldFkpOworICAgIENDUmVuZGVyUGFzc0RyYXdRdWFkKGNvbnN0IENDU2hhcmVk
UXVhZFN0YXRlKiwgY29uc3QgSW50UmVjdCYsIGludCByZW5kZXJQYXNzSWQsIGJvb2wgaXNSZXBs
aWNhLCBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgbWFza1Jlc291cmNlSWQsIGNvbnN0
IEludFJlY3QmIGNvbnRlbnRzQ2hhbmdlZFNpbmNlTGFzdEZyYW1lLCBmbG9hdCBtYXNrVGV4Q29v
cmRTY2FsZVgsIGZsb2F0IG1hc2tUZXhDb29yZFNjYWxlWSwgZmxvYXQgbWFza1RleENvb3JkT2Zm
c2V0WCwgZmxvYXQgbWFza1RleENvb3JkT2Zmc2V0WSk7CiAKLSAgICBDQ1JlbmRlclBhc3M6Oklk
IG1fcmVuZGVyUGFzc0lkOworICAgIGludCBtX3JlbmRlclBhc3NJZDsKICAgICBib29sIG1faXNS
ZXBsaWNhOwogICAgIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBtX21hc2tSZXNvdXJj
ZUlkOwogICAgIEludFJlY3QgbV9jb250ZW50c0NoYW5nZWRTaW5jZUxhc3RGcmFtZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4IDE2MzkzYjkzMGQ5MTRhNWRlYzk3ZTMyYWI4
MjlkYjQ5M2ZmMTdmYmUuLjUwYTYzNDlkNWUxZmQ1YmFmNTE0YWI3MTA1MTgxOWUzMDg5MTE4MWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtMTgxLDI0ICsxODEsMTYgQEAg
c3RhdGljIGlubGluZSBJbnRSZWN0IGNvbXB1dGVDbGlwcGVkUmVjdEluVGFyZ2V0KGNvbnN0IEND
TGF5ZXJJbXBsKiBvd25pbmdMYXllcikKICAgICByZXR1cm4gY2xpcHBlZFJlY3RJblRhcmdldDsK
IH0KIAotQ0NSZW5kZXJQYXNzOjpJZCBDQ1JlbmRlclN1cmZhY2U6OnJlbmRlclBhc3NJZCgpCi17
Ci0gICAgaW50IGxheWVySWQgPSBtX293bmluZ0xheWVyLT5pZCgpOwotICAgIGludCBzdWJJZCA9
IDA7Ci0gICAgQVNTRVJUKGxheWVySWQgPiAwKTsKLSAgICByZXR1cm4gQ0NSZW5kZXJQYXNzOjpJ
ZChsYXllcklkLCBzdWJJZCk7Ci19Ci0KIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjphcHBlbmRSZW5k
ZXJQYXNzZXMoQ0NSZW5kZXJQYXNzU2luayYgcGFzc1NpbmspCiB7Ci0gICAgT3duUHRyPENDUmVu
ZGVyUGFzcz4gcGFzcyA9IENDUmVuZGVyUGFzczo6Y3JlYXRlKHJlbmRlclBhc3NJZCgpLCBtX2Nv
bnRlbnRSZWN0LCBtX3NjcmVlblNwYWNlVHJhbnNmb3JtKTsKKyAgICBPd25QdHI8Q0NSZW5kZXJQ
YXNzPiBwYXNzID0gQ0NSZW5kZXJQYXNzOjpjcmVhdGUobV9vd25pbmdMYXllci0+aWQoKSwgbV9j
b250ZW50UmVjdCwgbV9zY3JlZW5TcGFjZVRyYW5zZm9ybSk7CiAgICAgcGFzcy0+c2V0RGFtYWdl
UmVjdChtX2RhbWFnZVRyYWNrZXItPmN1cnJlbnREYW1hZ2VSZWN0KCkpOwogICAgIHBhc3MtPnNl
dEZpbHRlcnMobV9vd25pbmdMYXllci0+ZmlsdGVycygpKTsKICAgICBwYXNzLT5zZXRCYWNrZ3Jv
dW5kRmlsdGVycyhtX293bmluZ0xheWVyLT5iYWNrZ3JvdW5kRmlsdGVycygpKTsKICAgICBwYXNz
U2luay5hcHBlbmRSZW5kZXJQYXNzKHBhc3MucmVsZWFzZSgpKTsKIH0KIAotdm9pZCBDQ1JlbmRl
clN1cmZhY2U6OmFwcGVuZFF1YWRzKENDUXVhZFNpbmsmIHF1YWRTaW5rLCBDQ0FwcGVuZFF1YWRz
RGF0YSYgYXBwZW5kUXVhZHNEYXRhLCBib29sIGZvclJlcGxpY2EsIENDUmVuZGVyUGFzczo6SWQg
cmVuZGVyUGFzc0lkKQordm9pZCBDQ1JlbmRlclN1cmZhY2U6OmFwcGVuZFF1YWRzKENDUXVhZFNp
bmsmIHF1YWRTaW5rLCBDQ0FwcGVuZFF1YWRzRGF0YSYgYXBwZW5kUXVhZHNEYXRhLCBib29sIGZv
clJlcGxpY2EsIGludCByZW5kZXJQYXNzSWQpCiB7CiAgICAgQVNTRVJUKCFmb3JSZXBsaWNhIHx8
IG1fb3duaW5nTGF5ZXItPmhhc1JlcGxpY2EoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmgKaW5kZXggMmQ3YWFhOTNlZmQ1ZmVlM2M3NTUwZjZhYTAzODNhNmYzZjY2MTNmZC4uMDlhMjg0
Njc2ZjIyODIyOTQyNTI1YjEyNWYzYTYzZjNjYzg3YmNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKIAotI2luY2x1ZGUgIkNDUmVuZGVyUGFzcy5oIgogI2luY2x1ZGUgIkNDU2hhcmVkUXVh
ZFN0YXRlLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgpA
QCAtNDEsNiArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENDRGFtYWdlVHJh
Y2tlcjsKIGNsYXNzIENDUXVhZFNpbms7CitjbGFzcyBDQ1JlbmRlclBhc3M7CiBjbGFzcyBDQ1Jl
bmRlclBhc3NTaW5rOwogY2xhc3MgQ0NMYXllckltcGw7CiBjbGFzcyBUZXh0U3RyZWFtOwpAQCAt
MTA2LDEwICsxMDYsOCBAQCBwdWJsaWM6CiAKICAgICBDQ0RhbWFnZVRyYWNrZXIqIGRhbWFnZVRy
YWNrZXIoKSBjb25zdCB7IHJldHVybiBtX2RhbWFnZVRyYWNrZXIuZ2V0KCk7IH0KIAotICAgIEND
UmVuZGVyUGFzczo6SWQgcmVuZGVyUGFzc0lkKCk7Ci0KICAgICB2b2lkIGFwcGVuZFJlbmRlclBh
c3NlcyhDQ1JlbmRlclBhc3NTaW5rJik7Ci0gICAgdm9pZCBhcHBlbmRRdWFkcyhDQ1F1YWRTaW5r
JiwgQ0NBcHBlbmRRdWFkc0RhdGEmLCBib29sIGZvclJlcGxpY2EsIENDUmVuZGVyUGFzczo6SWQg
cmVuZGVyUGFzc0lkKTsKKyAgICB2b2lkIGFwcGVuZFF1YWRzKENDUXVhZFNpbmsmLCBDQ0FwcGVu
ZFF1YWRzRGF0YSYsIGJvb2wgZm9yUmVwbGljYSwgaW50IHJlbmRlclBhc3NJZCk7CiAKIHByaXZh
dGU6CiAgICAgQ0NMYXllckltcGwqIG1fb3duaW5nTGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlcmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlcmVyLmgKaW5k
ZXggMDQ3YmQ4MGYzMTU3YWJhZTkzY2UzMWI0ZmRiOWQ3ZWE2MzZlMTRiNy4uOTQ2YWVjNjMzMzYy
OWVhY2NiYTg4NjgzY2ExZDk3ODRkYTQ1OTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyZXIuaApAQCAtNzcs
NyArNzcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHZpZXdwb3J0Q2hhbmdlZCgpIHsg
fQogCiAgICAgdmlydHVhbCB2b2lkIGRlY2lkZVJlbmRlclBhc3NBbGxvY2F0aW9uc0ZvckZyYW1l
KGNvbnN0IENDUmVuZGVyUGFzc0xpc3QmKSB7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaGF2ZUNhY2hl
ZFJlc291cmNlc0ZvclJlbmRlclBhc3NJZChDQ1JlbmRlclBhc3M6OklkKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXZlQ2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVy
UGFzc0lkKGludCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBk
cmF3RnJhbWUoY29uc3QgQ0NSZW5kZXJQYXNzTGlzdCYsIGNvbnN0IENDUmVuZGVyUGFzc0lkSGFz
aE1hcCYpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q0RyYXdRdWFkVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRHJhd1F1
YWRUZXN0LmNwcAppbmRleCAzYzVjMzg0ZjhmNTU1NzkwNTJjNjM5MzE0MTg3MzY2MjIzMDI4MTNm
Li42YTkyNmIwOWNkMWUxY2U4YzM1MTA4MTc3NTViNDI4YzU1NTA5NzA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRHJhd1F1YWRUZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDRHJhd1F1YWRUZXN0LmNwcApAQCAtMjEwLDcgKzIx
MCw3IEBAIFRFU1QoQ0NEcmF3UXVhZFRlc3QsIGNvcHlJT1N1cmZhY2VEcmF3UXVhZCkKIAogVEVT
VChDQ0RyYXdRdWFkVGVzdCwgY29weVJlbmRlclBhc3NEcmF3UXVhZCkKIHsKLSAgICBDQ1JlbmRl
clBhc3M6OklkIHJlbmRlclBhc3NJZCgyMiwgNjQpOworICAgIGludCByZW5kZXJQYXNzSWQgPSAy
MjsKICAgICBib29sIGlzUmVwbGljYSA9IHRydWU7CiAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpS
ZXNvdXJjZUlkIG1hc2tSZXNvdXJjZUlkID0gNzg7CiAgICAgSW50UmVjdCBjb250ZW50c0NoYW5n
ZWRTaW5jZUxhc3RGcmFtZSg0MiwgMTEsIDc0LCAyNCk7CkBAIC0yMTksNyArMjE5LDcgQEAgVEVT
VChDQ0RyYXdRdWFkVGVzdCwgY29weVJlbmRlclBhc3NEcmF3UXVhZCkKICAgICBmbG9hdCBtYXNr
VGV4Q29vcmRPZmZzZXRYID0gLTQ1OwogICAgIGZsb2F0IG1hc2tUZXhDb29yZE9mZnNldFkgPSAt
MjE7CiAKLSAgICBDQ1JlbmRlclBhc3M6OklkIGNvcGllZFJlbmRlclBhc3NJZCgyMzUsIDExKTsK
KyAgICBpbnQgY29waWVkUmVuZGVyUGFzc0lkID0gMjM1OwogCiAgICAgQ1JFQVRFX1NIQVJFRF9T
VEFURSgpOwogICAgIENSRUFURV9RVUFEXzhfMShDQ1JlbmRlclBhc3NEcmF3UXVhZCwgcmVuZGVy
UGFzc0lkLCBpc1JlcGxpY2EsIG1hc2tSZXNvdXJjZUlkLCBjb250ZW50c0NoYW5nZWRTaW5jZUxh
c3RGcmFtZSwgbWFza1RleENvb3JkU2NhbGVYLCBtYXNrVGV4Q29vcmRTY2FsZVksIG1hc2tUZXhD
b29yZE9mZnNldFgsIG1hc2tUZXhDb29yZE9mZnNldFksIGNvcGllZFJlbmRlclBhc3NJZCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdElt
cGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0
SW1wbFRlc3QuY3BwCmluZGV4IGQ3ZTk1NTc4MzM0YzhjZTBjMWU0ZDI0ZGVlYTJlZTNlN2JhMjgx
MDIuLjc5NmEzMTk4ZTY2NWNhMTQzMGI3ZDgwNDc0MTM3NWQ1ZmY0Y2ZhNzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1wbFRl
c3QuY3BwCkBAIC0zNDc1LDE0ICszNDc1LDEzIEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBs
VGVzdCwgdGV4dHVyZUNhY2hpbmdXaXRoU2Npc3NvcikKICAgICBncmFuZENoaWxkLT5zZXREcmF3
c0NvbnRlbnQodHJ1ZSk7CiAKICAgICBDQ1RpbGVkTGF5ZXJJbXBsKiBjaGlsZFB0ciA9IGNoaWxk
LmdldCgpOwotICAgIENDUmVuZGVyUGFzczo6SWQgY2hpbGRQYXNzSWQoY2hpbGRQdHItPmlkKCks
IDApOwogCiAgICAgY2hpbGQtPmFkZENoaWxkKGdyYW5kQ2hpbGQucmVsZWFzZSgpKTsKICAgICBy
b290LT5hZGRDaGlsZChjaGlsZC5yZWxlYXNlKCkpOwogICAgIG15SG9zdEltcGwtPnNldFJvb3RM
YXllcihyb290LnJlbGVhc2UoKSk7CiAgICAgbXlIb3N0SW1wbC0+c2V0Vmlld3BvcnRTaXplKHJv
b3RSZWN0LnNpemUoKSwgcm9vdFJlY3Quc2l6ZSgpKTsKIAotICAgIEVYUEVDVF9GQUxTRShteUhv
c3RJbXBsLT5yZW5kZXJlcigpLT5oYXZlQ2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVyUGFzc0lkKGNo
aWxkUGFzc0lkKSk7CisgICAgRVhQRUNUX0ZBTFNFKG15SG9zdEltcGwtPnJlbmRlcmVyKCktPmhh
dmVDYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJQYXNzSWQoY2hpbGRQdHItPmlkKCkpKTsKIAogICAg
IHsKICAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwpAQCAtMzQ5
Miw3ICszNDkxLDcgQEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCB0ZXh0dXJlQ2Fj
aGluZ1dpdGhTY2lzc29yKQogICAgIH0KIAogICAgIC8vIFdlIHNob3VsZCBoYXZlIGNhY2hlZCB0
ZXh0dXJlcyBmb3Igc3VyZmFjZSAyLgotICAgIEVYUEVDVF9UUlVFKG15SG9zdEltcGwtPnJlbmRl
cmVyKCktPmhhdmVDYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJQYXNzSWQoY2hpbGRQYXNzSWQpKTsK
KyAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5yZW5kZXJlcigpLT5oYXZlQ2FjaGVkUmVzb3Vy
Y2VzRm9yUmVuZGVyUGFzc0lkKGNoaWxkUHRyLT5pZCgpKSk7CiAKICAgICB7CiAgICAgICAgIEND
TGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKQEAgLTM1MDIsNyArMzUwMSw3IEBA
IFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgdGV4dHVyZUNhY2hpbmdXaXRoU2Npc3Nv
cikKICAgICB9CiAKICAgICAvLyBXZSBzaG91bGQgc3RpbGwgaGF2ZSBjYWNoZWQgdGV4dHVyZXMg
Zm9yIHN1cmZhY2UgMiBhZnRlciBkcmF3aW5nIHdpdGggbm8gZGFtYWdlLgotICAgIEVYUEVDVF9U
UlVFKG15SG9zdEltcGwtPnJlbmRlcmVyKCktPmhhdmVDYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJQ
YXNzSWQoY2hpbGRQYXNzSWQpKTsKKyAgICBFWFBFQ1RfVFJVRShteUhvc3RJbXBsLT5yZW5kZXJl
cigpLT5oYXZlQ2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVyUGFzc0lkKGNoaWxkUHRyLT5pZCgpKSk7
CiAKICAgICAvLyBEYW1hZ2UgYSBzaW5nbGUgdGlsZSBvZiBzdXJmYWNlIDIuCiAgICAgY2hpbGRQ
dHItPnNldFVwZGF0ZVJlY3QoSW50UmVjdCgxMCwgMTAsIDEwLCAxMCkpOwpAQCAtMzUxNSw3ICsz
NTE0LDcgQEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCB0ZXh0dXJlQ2FjaGluZ1dp
dGhTY2lzc29yKQogICAgIH0KIAogICAgIC8vIFdlIHNob3VsZCBoYXZlIGEgY2FjaGVkIHRleHR1
cmUgZm9yIHN1cmZhY2UgMiBhZ2FpbiBldmVuIHRob3VnaCBpdCB3YXMgZGFtYWdlZC4KLSAgICBF
WFBFQ1RfVFJVRShteUhvc3RJbXBsLT5yZW5kZXJlcigpLT5oYXZlQ2FjaGVkUmVzb3VyY2VzRm9y
UmVuZGVyUGFzc0lkKGNoaWxkUGFzc0lkKSk7CisgICAgRVhQRUNUX1RSVUUobXlIb3N0SW1wbC0+
cmVuZGVyZXIoKS0+aGF2ZUNhY2hlZFJlc291cmNlc0ZvclJlbmRlclBhc3NJZChjaGlsZFB0ci0+
aWQoKSkpOwogfQogCiBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIHN1cmZhY2VUZXh0
dXJlQ2FjaGluZykKQEAgLTM4NzcsMTggKzM4NzYsMTggQEAgc3RydWN0IFJlbmRlclBhc3NDYWNo
ZUVudHJ5IHsKIH07CiAKIHN0cnVjdCBSZW5kZXJQYXNzUmVtb3ZhbFRlc3REYXRhIDogcHVibGlj
IENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSB7Ci0gICAgc3RkOjptYXA8Q0NSZW5kZXJQ
YXNzOjpJZCwgUmVuZGVyUGFzc0NhY2hlRW50cnk+IHJlbmRlclBhc3NDYWNoZTsKKyAgICBzdGQ6
Om1hcDxjaGFyLCBSZW5kZXJQYXNzQ2FjaGVFbnRyeT4gcmVuZGVyUGFzc0NhY2hlOwogICAgIE93
blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gc2hhcmVkUXVhZFN0YXRlOwogfTsKIAogY2xhc3MgQ0NU
ZXN0UmVuZGVyUGFzczogcHVibGljIENDUmVuZGVyUGFzcyB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGUoQ0NSZW5kZXJQYXNzOjpJZCBpZCwgSW50
UmVjdCBvdXRwdXRSZWN0LCBjb25zdCBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcm9vdFRyYW5z
Zm9ybSkgeyByZXR1cm4gYWRvcHRQdHIobmV3IENDVGVzdFJlbmRlclBhc3MoaWQsIG91dHB1dFJl
Y3QsIHJvb3RUcmFuc2Zvcm0pKTsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRyPENDUmVuZGVyUGFz
cz4gY3JlYXRlKGludCBpZCwgSW50UmVjdCBvdXRwdXRSZWN0LCBjb25zdCBXZWJUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgcm9vdFRyYW5zZm9ybSkgeyByZXR1cm4gYWRvcHRQdHIobmV3IENDVGVzdFJl
bmRlclBhc3MoaWQsIG91dHB1dFJlY3QsIHJvb3RUcmFuc2Zvcm0pKTsgfQogCiAgICAgdm9pZCBh
cHBlbmRRdWFkKFBhc3NPd25QdHI8Q0NEcmF3UXVhZD4gcXVhZCkgeyBtX3F1YWRMaXN0LmFwcGVu
ZChxdWFkKTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgQ0NUZXN0UmVuZGVyUGFzcyhDQ1JlbmRlclBh
c3M6OklkIGlkLCBJbnRSZWN0IG91dHB1dFJlY3QsIGNvbnN0IFdlYlRyYW5zZm9ybWF0aW9uTWF0
cml4JiByb290VHJhbnNmb3JtKSA6IENDUmVuZGVyUGFzcyhpZCwgb3V0cHV0UmVjdCwgcm9vdFRy
YW5zZm9ybSkgeyB9CisgICAgQ0NUZXN0UmVuZGVyUGFzcyhpbnQgaWQsIEludFJlY3Qgb3V0cHV0
UmVjdCwgY29uc3QgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgmIHJvb3RUcmFuc2Zvcm0pIDogQ0NS
ZW5kZXJQYXNzKGlkLCBvdXRwdXRSZWN0LCByb290VHJhbnNmb3JtKSB7IH0KIH07CiAKIGNsYXNz
IENDVGVzdFJlbmRlcmVyIDogcHVibGljIENDUmVuZGVyZXJHTCwgcHVibGljIENDUmVuZGVyZXJD
bGllbnQgewpAQCAtMzkwMyw5ICszOTAyLDkgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZvaWQg
Y2xlYXJDYWNoZWRUZXh0dXJlcygpIHsgbV90ZXh0dXJlcy5jbGVhcigpOyB9Ci0gICAgdm9pZCBz
ZXRIYXZlQ2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVyUGFzc0lkKENDUmVuZGVyUGFzczo6SWQgaWQp
IHsgbV90ZXh0dXJlcy5hZGQoaWQpOyB9CisgICAgdm9pZCBzZXRIYXZlQ2FjaGVkUmVzb3VyY2Vz
Rm9yUmVuZGVyUGFzc0lkKGludCBpZCkgeyBtX3RleHR1cmVzLmFkZChpZCk7IH0KIAotICAgIHZp
cnR1YWwgYm9vbCBoYXZlQ2FjaGVkUmVzb3VyY2VzRm9yUmVuZGVyUGFzc0lkKENDUmVuZGVyUGFz
czo6SWQgaWQpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fdGV4dHVyZXMuY29udGFpbnMoaWQp
OyB9CisgICAgdmlydHVhbCBib29sIGhhdmVDYWNoZWRSZXNvdXJjZXNGb3JSZW5kZXJQYXNzSWQo
aW50IGlkKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX3RleHR1cmVzLmNvbnRhaW5zKGlkKTsg
fQogCiAgICAgLy8gQ0NSZW5kZXJlckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFs
IGNvbnN0IEludFNpemUmIGRldmljZVZpZXdwb3J0U2l6ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIG1fdmlld3BvcnRTaXplOyB9CkBAIC0zOTIyLDcgKzM5MjEsNyBAQCBwcm90ZWN0ZWQ6CiBw
cml2YXRlOgogICAgIENDTGF5ZXJUcmVlU2V0dGluZ3MgbV9zZXR0aW5nczsKICAgICBJbnRTaXpl
IG1fdmlld3BvcnRTaXplOwotICAgIEhhc2hTZXQ8Q0NSZW5kZXJQYXNzOjpJZD4gbV90ZXh0dXJl
czsKKyAgICBIYXNoU2V0PGludD4gbV90ZXh0dXJlczsKIH07CiAKIHN0YXRpYyB2b2lkIGNvbmZp
Z3VyZVJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBjaGFyKiB0ZXN0U2NyaXB0LCBSZW5kZXJQYXNz
UmVtb3ZhbFRlc3REYXRhJiB0ZXN0RGF0YSwgQ0NUZXN0UmVuZGVyZXIqIHJlbmRlcmVyKQpAQCAt
MzkzNSwxNyArMzkzNCwxMiBAQCBzdGF0aWMgdm9pZCBjb25maWd1cmVSZW5kZXJQYXNzVGVzdERh
dGEoY29uc3QgY2hhciogdGVzdFNjcmlwdCwgUmVuZGVyUGFzc1JlbW92YQogICAgIGNvbnN0IGNo
YXIqIGN1cnJlbnRDaGFyID0gdGVzdFNjcmlwdDsKIAogICAgIC8vIFByZS1jcmVhdGUgcm9vdCBw
YXNzCi0gICAgQ0NSZW5kZXJQYXNzOjpJZCByb290UmVuZGVyUGFzc0lkID0gQ0NSZW5kZXJQYXNz
OjpJZCh0ZXN0U2NyaXB0WzBdLCB0ZXN0U2NyaXB0WzFdKTsKKyAgICBjaGFyIHJvb3RSZW5kZXJQ
YXNzSWQgPSB0ZXN0U2NyaXB0WzBdOwogICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJvb3RSZW5k
ZXJQYXNzID0gQ0NUZXN0UmVuZGVyUGFzczo6Y3JlYXRlKHJvb3RSZW5kZXJQYXNzSWQsIEludFJl
Y3QoKSwgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7Ci0gICAgdGVzdERhdGEucmVuZGVyUGFz
c0NhY2hlLmluc2VydChzdGQ6OnBhaXI8Q0NSZW5kZXJQYXNzOjpJZCwgUmVuZGVyUGFzc0NhY2hl
RW50cnk+KHJvb3RSZW5kZXJQYXNzSWQsIFJlbmRlclBhc3NDYWNoZUVudHJ5KHJvb3RSZW5kZXJQ
YXNzLnJlbGVhc2UoKSkpKTsKKyAgICB0ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGUuaW5zZXJ0KHN0
ZDo6cGFpcjxjaGFyLCBSZW5kZXJQYXNzQ2FjaGVFbnRyeT4ocm9vdFJlbmRlclBhc3NJZCwgUmVu
ZGVyUGFzc0NhY2hlRW50cnkocm9vdFJlbmRlclBhc3MucmVsZWFzZSgpKSkpOwogICAgIHdoaWxl
ICgqY3VycmVudENoYXIpIHsKLSAgICAgICAgaW50IGxheWVySWQgPSAqY3VycmVudENoYXI7Cisg
ICAgICAgIGNoYXIgcmVuZGVyUGFzc0lkID0gY3VycmVudENoYXJbMF07CiAgICAgICAgIGN1cnJl
bnRDaGFyKys7Ci0gICAgICAgIEFTU0VSVF9UUlVFKGN1cnJlbnRDaGFyKTsKLSAgICAgICAgaW50
IGluZGV4ID0gKmN1cnJlbnRDaGFyOwotICAgICAgICBjdXJyZW50Q2hhcisrOwotCi0gICAgICAg
IENDUmVuZGVyUGFzczo6SWQgcmVuZGVyUGFzc0lkID0gQ0NSZW5kZXJQYXNzOjpJZChsYXllcklk
LCBpbmRleCk7CiAKICAgICAgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcmVuZGVyUGFzczsKIApA
QCAtMzk2NSwxMyArMzk1OSw5IEBAIHN0YXRpYyB2b2lkIGNvbmZpZ3VyZVJlbmRlclBhc3NUZXN0
RGF0YShjb25zdCBjaGFyKiB0ZXN0U2NyaXB0LCBSZW5kZXJQYXNzUmVtb3ZhCiAgICAgICAgICAg
ICAgICAgY3VycmVudENoYXIrKzsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoKCpjdXJyZW50Q2hh
ciA+PSAnQScpICYmICgqY3VycmVudENoYXIgPD0gJ1onKSkgewogICAgICAgICAgICAgICAgIC8v
IFJlbmRlclBhc3MgZHJhdyBxdWFkCi0gICAgICAgICAgICAgICAgaW50IGxheWVySWQgPSAqY3Vy
cmVudENoYXI7Ci0gICAgICAgICAgICAgICAgY3VycmVudENoYXIrKzsKLSAgICAgICAgICAgICAg
ICBBU1NFUlRfVFJVRShjdXJyZW50Q2hhcik7Ci0gICAgICAgICAgICAgICAgaW50IGluZGV4ID0g
KmN1cnJlbnRDaGFyOwotICAgICAgICAgICAgICAgIGN1cnJlbnRDaGFyKys7Ci0gICAgICAgICAg
ICAgICAgQ0NSZW5kZXJQYXNzOjpJZCBuZXdSZW5kZXJQYXNzSWQgPSBDQ1JlbmRlclBhc3M6Oklk
KGxheWVySWQsIGluZGV4KTsKKyAgICAgICAgICAgICAgICBjaGFyIG5ld1JlbmRlclBhc3NJZCA9
ICpjdXJyZW50Q2hhcjsKICAgICAgICAgICAgICAgICBBU1NFUlRfTkUocm9vdFJlbmRlclBhc3NJ
ZCwgbmV3UmVuZGVyUGFzc0lkKTsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q2hhcisrOwogICAg
ICAgICAgICAgICAgIGJvb2wgaGFzVGV4dHVyZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgIGJv
b2wgY29udGVudHNDaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAKQEAgLTM5OTcsNyAr
Mzk4Nyw3IEBAIHN0YXRpYyB2b2lkIGNvbmZpZ3VyZVJlbmRlclBhc3NUZXN0RGF0YShjb25zdCBj
aGFyKiB0ZXN0U2NyaXB0LCBSZW5kZXJQYXNzUmVtb3ZhCiAgICAgICAgICAgICAgICAgICAgICAg
ICByZW5kZXJlci0+c2V0SGF2ZUNhY2hlZFJlc291cmNlc0ZvclJlbmRlclBhc3NJZChuZXdSZW5k
ZXJQYXNzSWQpOwogCiAgICAgICAgICAgICAgICAgICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IHJl
bmRlclBhc3MgPSBDQ1Rlc3RSZW5kZXJQYXNzOjpjcmVhdGUobmV3UmVuZGVyUGFzc0lkLCBJbnRS
ZWN0KCksIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOwotICAgICAgICAgICAgICAgICAgICB0
ZXN0RGF0YS5yZW5kZXJQYXNzQ2FjaGUuaW5zZXJ0KHN0ZDo6cGFpcjxDQ1JlbmRlclBhc3M6Oklk
LCBSZW5kZXJQYXNzQ2FjaGVFbnRyeT4obmV3UmVuZGVyUGFzc0lkLCBSZW5kZXJQYXNzQ2FjaGVF
bnRyeShyZW5kZXJQYXNzLnJlbGVhc2UoKSkpKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdERh
dGEucmVuZGVyUGFzc0NhY2hlLmluc2VydChzdGQ6OnBhaXI8Y2hhciwgUmVuZGVyUGFzc0NhY2hl
RW50cnk+KG5ld1JlbmRlclBhc3NJZCwgUmVuZGVyUGFzc0NhY2hlRW50cnkocmVuZGVyUGFzcy5y
ZWxlYXNlKCkpKSk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgSW50UmVj
dCBxdWFkUmVjdCA9IEludFJlY3QoMCwgMCwgMSwgMSk7CkBAIC00MDE4LDkgKzQwMDgsNyBAQCB2
b2lkIGR1bXBSZW5kZXJQYXNzVGVzdERhdGEoY29uc3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0
YSYgdGVzdERhdGEsIGNoYXIqIGJ1ZgogICAgIGNoYXIqIHBvcyA9IGJ1ZmZlcjsKICAgICBmb3Ig
KENDUmVuZGVyUGFzc0xpc3Q6OmNvbnN0X3JldmVyc2VfaXRlcmF0b3IgaXQgPSB0ZXN0RGF0YS5y
ZW5kZXJQYXNzZXMucmJlZ2luKCk7IGl0ICE9IHRlc3REYXRhLnJlbmRlclBhc3Nlcy5yZW5kKCk7
ICsraXQpIHsKICAgICAgICAgY29uc3QgQ0NSZW5kZXJQYXNzKiBjdXJyZW50UGFzcyA9ICppdDsK
LSAgICAgICAgKnBvcyA9IGN1cnJlbnRQYXNzLT5pZCgpLmxheWVySWQ7Ci0gICAgICAgIHBvcysr
OwotICAgICAgICAqcG9zID0gY3VycmVudFBhc3MtPmlkKCkuaW5kZXg7CisgICAgICAgICpwb3Mg
PSBjdXJyZW50UGFzcy0+aWQoKTsKICAgICAgICAgcG9zKys7CiAKICAgICAgICAgQ0NRdWFkTGlz
dDo6Y29uc3RfaXRlcmF0b3IgcXVhZExpc3RJdGVyYXRvciA9IGN1cnJlbnRQYXNzLT5xdWFkTGlz
dCgpLmJlZ2luKCk7CkBAIC00MDMyLDkgKzQwMjAsNyBAQCB2b2lkIGR1bXBSZW5kZXJQYXNzVGVz
dERhdGEoY29uc3QgUmVuZGVyUGFzc1JlbW92YWxUZXN0RGF0YSYgdGVzdERhdGEsIGNoYXIqIGJ1
ZgogICAgICAgICAgICAgICAgIHBvcysrOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgY2FzZSBDQ0RyYXdRdWFkOjpSZW5kZXJQYXNzOgotICAgICAgICAgICAgICAgICpwb3Mg
PSBDQ1JlbmRlclBhc3NEcmF3UXVhZDo6bWF0ZXJpYWxDYXN0KGN1cnJlbnRRdWFkKS0+cmVuZGVy
UGFzc0lkKCkubGF5ZXJJZDsKLSAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAg
ICAqcG9zID0gQ0NSZW5kZXJQYXNzRHJhd1F1YWQ6Om1hdGVyaWFsQ2FzdChjdXJyZW50UXVhZCkt
PnJlbmRlclBhc3NJZCgpLmluZGV4OworICAgICAgICAgICAgICAgICpwb3MgPSBDQ1JlbmRlclBh
c3NEcmF3UXVhZDo6bWF0ZXJpYWxDYXN0KGN1cnJlbnRRdWFkKS0+cmVuZGVyUGFzc0lkKCk7CiAg
ICAgICAgICAgICAgICAgcG9zKys7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBkZWZhdWx0OgpAQCAtNDA3OCwxMTUgKzQwNjQsMTE1IEBAIFRlc3RDYXNlIHJlbW92ZVJlbmRl
clBhc3Nlc0Nhc2VzW10gPQogICAgIHsKICAgICAgICAgewogICAgICAgICAgICAgIlNpbmdsZSBy
b290IHBhc3MiLAotICAgICAgICAgICAgIlIwc3Nzc1xuIiwKLSAgICAgICAgICAgICJSMHNzc3Nc
biIKKyAgICAgICAgICAgICJSc3Nzc1xuIiwKKyAgICAgICAgICAgICJSc3Nzc1xuIgogICAgICAg
ICB9LCB7CiAgICAgICAgICAgICAiU2luZ2xlIHBhc3MgLSBubyBxdWFkcyIsCi0gICAgICAgICAg
ICAiUjBcbiIsCi0gICAgICAgICAgICAiUjBcbiIKKyAgICAgICAgICAgICJSXG4iLAorICAgICAg
ICAgICAgIlJcbiIKICAgICAgICAgfSwgewogICAgICAgICAgICAgIlR3byBwYXNzZXMsIG5vIHJl
bW92YWwiLAotICAgICAgICAgICAgIlIwc3Nzc0Ewc3NzXG4iCi0gICAgICAgICAgICAiQTBzc3Nz
XG4iLAotICAgICAgICAgICAgIlIwc3Nzc0Ewc3NzXG4iCi0gICAgICAgICAgICAiQTBzc3NzXG4i
CisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIsCisgICAg
ICAgICAgICAiUnNzc3NBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIKICAgICAgICAgfSwg
ewogICAgICAgICAgICAgIlR3byBwYXNzZXMsIHJlbW92ZSBsYXN0IiwKLSAgICAgICAgICAgICJS
MHNzc3NBMFtjdF1zc3NcbiIKLSAgICAgICAgICAgICJBMHNzc3NcbiIsCi0gICAgICAgICAgICAi
UjBzc3NzQTBzc3NcbiIKKyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAg
ICAiQXNzc3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBc3NzXG4iCiAgICAgICAgIH0sIHsKICAg
ICAgICAgICAgICJIYXZlIHRleHR1cmUgYnV0IGNvbnRlbnRzIGNoYW5nZWQgLSBsZWF2ZSBwYXNz
IiwKLSAgICAgICAgICAgICJSMHNzc3NBMFt0XXNzc1xuIgotICAgICAgICAgICAgIkEwc3Nzc1xu
IiwKLSAgICAgICAgICAgICJSMHNzc3NBMHNzc1xuIgotICAgICAgICAgICAgIkEwc3Nzc1xuIgor
ICAgICAgICAgICAgIlJzc3NzQVt0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iLAorICAg
ICAgICAgICAgIlJzc3NzQXNzc1xuIgorICAgICAgICAgICAgIkFzc3NzXG4iCiAgICAgICAgIH0s
IHsKICAgICAgICAgICAgICJDb250ZW50cyBkaWRuJ3QgY2hhbmdlIGJ1dCBubyB0ZXh0dXJlIC0g
bGVhdmUgcGFzcyIsCi0gICAgICAgICAgICAiUjBzc3NzQTBbY11zc3NcbiIKLSAgICAgICAgICAg
ICJBMHNzc3NcbiIsCi0gICAgICAgICAgICAiUjBzc3NzQTBzc3NcbiIKLSAgICAgICAgICAgICJB
MHNzc3NcbiIKKyAgICAgICAgICAgICJSc3Nzc0FbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3Nzc1xuIgog
ICAgICAgICB9LCB7CiAgICAgICAgICAgICAiUmVwbGljYTogdHdvIHF1YWRzIHJlZmVyZW5jZSB0
aGUgc2FtZSBwYXNzOyByZW1vdmUiLAotICAgICAgICAgICAgIlIwc3Nzc0EwW2N0XUEwW2N0XXNz
c1xuIgotICAgICAgICAgICAgIkEwc3Nzc1xuIiwKLSAgICAgICAgICAgICJSMHNzc3NBMEEwc3Nz
XG4iCisgICAgICAgICAgICAiUnNzc3NBW2N0XUFbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNz
c3NcbiIsCisgICAgICAgICAgICAiUnNzc3NBQXNzc1xuIgogICAgICAgICB9LCB7CiAgICAgICAg
ICAgICAiUmVwbGljYTogdHdvIHF1YWRzIHJlZmVyZW5jZSB0aGUgc2FtZSBwYXNzOyBsZWF2ZSIs
Ci0gICAgICAgICAgICAiUjBzc3NzQTBbY11BMFtjXXNzc1xuIgotICAgICAgICAgICAgIkEwc3Nz
c1xuIiwKLSAgICAgICAgICAgICJSMHNzc3NBMEEwc3NzXG4iCi0gICAgICAgICAgICAiQTBzc3Nz
XG4iLAorICAgICAgICAgICAgIlJzc3NzQVtjXUFbY11zc3NcbiIKKyAgICAgICAgICAgICJBc3Nz
c1xuIiwKKyAgICAgICAgICAgICJSc3Nzc0FBc3NzXG4iCisgICAgICAgICAgICAiQXNzc3NcbiIs
CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgICJNYW55IHBhc3NlcywgcmVtb3ZlIGFsbCIsCi0g
ICAgICAgICAgICAiUjBzc3NzQTBbY3Rdc3NzXG4iCi0gICAgICAgICAgICAiQTBzc3NCMFtjdF1D
MFtjdF1zXG4iCi0gICAgICAgICAgICAiQjBzc3NEMFtjdF1zc0UwW2N0XUYwW2N0XVxuIgotICAg
ICAgICAgICAgIkUwc3Nzc3NzXG4iCi0gICAgICAgICAgICAiQzBHMFtjdF1cbiIKLSAgICAgICAg
ICAgICJEMHNzc3Nzc3NcbiIKLSAgICAgICAgICAgICJGMHNzc3Nzc3NcbiIKLSAgICAgICAgICAg
ICJHMHNzc1xuIiwKLQotICAgICAgICAgICAgIlIwc3Nzc0Ewc3NzXG4iCisgICAgICAgICAgICAi
UnNzc3NBW2N0XXNzc1xuIgorICAgICAgICAgICAgIkFzc3NCW2N0XUNbY3Rdc1xuIgorICAgICAg
ICAgICAgIkJzc3NEW2N0XXNzRVtjdF1GW2N0XVxuIgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIK
KyAgICAgICAgICAgICJDR1tjdF1cbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAg
ICAgICAgIkZzc3Nzc3NzXG4iCisgICAgICAgICAgICAiR3Nzc1xuIiwKKworICAgICAgICAgICAg
IlJzc3NzQXNzc1xuIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICAiRGVlcCByZWN1cnNpb24s
IHJlbW92ZSBhbGwiLAogCi0gICAgICAgICAgICAiUjBzc3Nzc0EwW2N0XXNzc3NcbiIKLSAgICAg
ICAgICAgICJBMHNzc3NCMHNzc1xuIgotICAgICAgICAgICAgIkIwQzBcbiIKLSAgICAgICAgICAg
ICJDMEQwXG4iCi0gICAgICAgICAgICAiRDBFMFxuIgotICAgICAgICAgICAgIkUwRjBcbiIKLSAg
ICAgICAgICAgICJGMEcwXG4iCi0gICAgICAgICAgICAiRzBIMFxuIgotICAgICAgICAgICAgIkgw
c3NzSTBzc3NcbiIKLSAgICAgICAgICAgICJJMEowXG4iCi0gICAgICAgICAgICAiSjBzc3NzXG4i
LAorICAgICAgICAgICAgIlJzc3Nzc0FbY3Rdc3Nzc1xuIgorICAgICAgICAgICAgIkFzc3NzQnNz
c1xuIgorICAgICAgICAgICAgIkJDXG4iCisgICAgICAgICAgICAiQ0RcbiIKKyAgICAgICAgICAg
ICJERVxuIgorICAgICAgICAgICAgIkVGXG4iCisgICAgICAgICAgICAiRkdcbiIKKyAgICAgICAg
ICAgICJHSFxuIgorICAgICAgICAgICAgIkhzc3NJc3NzXG4iCisgICAgICAgICAgICAiSUpcbiIK
KyAgICAgICAgICAgICJKc3Nzc1xuIiwKICAgICAgICAgICAgIAotICAgICAgICAgICAgIlIwc3Nz
c3NBMHNzc3NcbiIKKyAgICAgICAgICAgICJSc3Nzc3NBc3Nzc1xuIgogICAgICAgICB9LCB7CiAg
ICAgICAgICAgICAiV2lkZSByZWN1cnNpb24sIHJlbW92ZSBhbGwiLAotICAgICAgICAgICAgIlIw
QTBbY3RdQjBbY3RdQzBbY3RdRDBbY3RdRTBbY3RdRjBbY3RdRzBbY3RdSDBbY3RdSTBbY3RdSjBb
Y3RdXG4iCi0gICAgICAgICAgICAiQTBzXG4iCi0gICAgICAgICAgICAiQjBzXG4iCi0gICAgICAg
ICAgICAiQzBzc3NzXG4iCi0gICAgICAgICAgICAiRDBzc3NzXG4iCi0gICAgICAgICAgICAiRTBz
XG4iCi0gICAgICAgICAgICAiRjBcbiIKLSAgICAgICAgICAgICJHMHNcbiIKLSAgICAgICAgICAg
ICJIMHNcbiIKLSAgICAgICAgICAgICJJMHNcbiIKLSAgICAgICAgICAgICJKMHNzc3NcbiIsCisg
ICAgICAgICAgICAiUkFbY3RdQltjdF1DW2N0XURbY3RdRVtjdF1GW2N0XUdbY3RdSFtjdF1JW2N0
XUpbY3RdXG4iCisgICAgICAgICAgICAiQXNcbiIKKyAgICAgICAgICAgICJCc1xuIgorICAgICAg
ICAgICAgIkNzc3NzXG4iCisgICAgICAgICAgICAiRHNzc3NcbiIKKyAgICAgICAgICAgICJFc1xu
IgorICAgICAgICAgICAgIkZcbiIKKyAgICAgICAgICAgICJHc1xuIgorICAgICAgICAgICAgIkhz
XG4iCisgICAgICAgICAgICAiSXNcbiIKKyAgICAgICAgICAgICJKc3Nzc1xuIiwKICAgICAgICAg
ICAgIAotICAgICAgICAgICAgIlIwQTBCMEMwRDBFMEYwRzBIMEkwSjBcbiIKKyAgICAgICAgICAg
ICJSQUJDREVGR0hJSlxuIgogICAgICAgICB9LCB7CiAgICAgICAgICAgICAiUmVtb3ZlIHBhc3Nl
cyByZWdhcmRsZXNzIG9mIGNhY2hlIHN0YXRlIiwKLSAgICAgICAgICAgICJSMHNzc3NBMFtjdF1z
c3NcbiIKLSAgICAgICAgICAgICJBMHNzc0IwQzBzXG4iCi0gICAgICAgICAgICAiQjBzc3NEMFtj
XXNzRTBbdF1GMFxuIgotICAgICAgICAgICAgIkUwc3Nzc3NzXG4iCi0gICAgICAgICAgICAiQzBH
MFxuIgotICAgICAgICAgICAgIkQwc3Nzc3Nzc1xuIgotICAgICAgICAgICAgIkYwc3Nzc3Nzc1xu
IgotICAgICAgICAgICAgIkcwc3NzXG4iLAotCi0gICAgICAgICAgICAiUjBzc3NzQTBzc3NcbiIK
KyAgICAgICAgICAgICJSc3Nzc0FbY3Rdc3NzXG4iCisgICAgICAgICAgICAiQXNzc0JDc1xuIgor
ICAgICAgICAgICAgIkJzc3NEW2Ndc3NFW3RdRlxuIgorICAgICAgICAgICAgIkVzc3Nzc3NcbiIK
KyAgICAgICAgICAgICJDR1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCisgICAgICAgICAg
ICAiRnNzc3Nzc3NcbiIKKyAgICAgICAgICAgICJHc3NzXG4iLAorCisgICAgICAgICAgICAiUnNz
c3NBc3NzXG4iCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgICJMZWF2ZSBzb21lIHBhc3Nlcywg
cmVtb3ZlIG90aGVycyIsCiAKLSAgICAgICAgICAgICJSMHNzc3NBMFtjXXNzc1xuIgotICAgICAg
ICAgICAgIkEwc3NzQjBbdF1DMFtjdF1zXG4iCi0gICAgICAgICAgICAiQjBzc3NEMFtjXXNzXG4i
Ci0gICAgICAgICAgICAiQzBHMFxuIgotICAgICAgICAgICAgIkQwc3Nzc3Nzc1xuIgotICAgICAg
ICAgICAgIkcwc3NzXG4iLAotCi0gICAgICAgICAgICAiUjBzc3NzQTBzc3NcbiIKLSAgICAgICAg
ICAgICJBMHNzc0IwQzBzXG4iCi0gICAgICAgICAgICAiQjBzc3NEMHNzXG4iCi0gICAgICAgICAg
ICAiRDBzc3Nzc3NzXG4iCisgICAgICAgICAgICAiUnNzc3NBW2Ndc3NzXG4iCisgICAgICAgICAg
ICAiQXNzc0JbdF1DW2N0XXNcbiIKKyAgICAgICAgICAgICJCc3NzRFtjXXNzXG4iCisgICAgICAg
ICAgICAiQ0dcbiIKKyAgICAgICAgICAgICJEc3Nzc3Nzc1xuIgorICAgICAgICAgICAgIkdzc3Nc
biIsCisKKyAgICAgICAgICAgICJSc3Nzc0Fzc3NcbiIKKyAgICAgICAgICAgICJBc3NzQkNzXG4i
CisgICAgICAgICAgICAiQnNzc0Rzc1xuIgorICAgICAgICAgICAgIkRzc3Nzc3NzXG4iCiAgICAg
ICAgIH0sIHsKICAgICAgICAgICAgIDAsIDAsIDAKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKaW5kZXggM2Vj
ODZkNzc1MmViZDAwZWEwOGU0N2IxNWZjYjVjNmE5YzkyN2ExNy4uY2EwZGNiMzU3MzQ5YTUxYzIz
YmQxMzhmODI1YmFlMDc1OTMwZTIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCkBAIC0yMzY5LDggKzIzNjksOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVl
SG9zdEltcGwqIGhvc3RJbXBsKSBPVkVSUklERQogICAgIHsKICAgICAgICAgQ0NSZW5kZXJlciog
cmVuZGVyZXIgPSBob3N0SW1wbC0+cmVuZGVyZXIoKTsKLSAgICAgICAgQ0NSZW5kZXJQYXNzOjpJ
ZCBzdXJmYWNlMVJlbmRlclBhc3NJZCA9IGhvc3RJbXBsLT5yb290TGF5ZXIoKS0+Y2hpbGRyZW4o
KVswXS0+cmVuZGVyU3VyZmFjZSgpLT5yZW5kZXJQYXNzSWQoKTsKLSAgICAgICAgQ0NSZW5kZXJQ
YXNzOjpJZCBzdXJmYWNlMlJlbmRlclBhc3NJZCA9IGhvc3RJbXBsLT5yb290TGF5ZXIoKS0+Y2hp
bGRyZW4oKVswXS0+Y2hpbGRyZW4oKVswXS0+cmVuZGVyU3VyZmFjZSgpLT5yZW5kZXJQYXNzSWQo
KTsKKyAgICAgICAgdW5zaWduZWQgc3VyZmFjZTFSZW5kZXJQYXNzSWQgPSBob3N0SW1wbC0+cm9v
dExheWVyKCktPmNoaWxkcmVuKClbMF0tPmlkKCk7CisgICAgICAgIHVuc2lnbmVkIHN1cmZhY2Uy
UmVuZGVyUGFzc0lkID0gaG9zdEltcGwtPnJvb3RMYXllcigpLT5jaGlsZHJlbigpWzBdLT5jaGls
ZHJlbigpWzBdLT5pZCgpOwogCiAgICAgICAgIHN3aXRjaCAoaG9zdEltcGwtPnNvdXJjZUZyYW1l
TnVtYmVyKCkpIHsKICAgICAgICAgY2FzZSAwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHAKaW5kZXggMGY3NmUyZWMwMTlkYjAwNDQxMDI4
NjA5Y2NkZDM4M2Y5NWQ2ZDllYS4uNmFlNDEzNDVmMDdmMjE1OWIyNjcyNWQ2ZjhmZjhiM2U5OTcw
NDg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclBh
c3NUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyUGFz
c1Rlc3QuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHN0cnVjdCBDQ1JlbmRlclBhc3NTaXplIHsKIAog
VEVTVChDQ1JlbmRlclBhc3NUZXN0LCBjb3B5U2hvdWxkQmVJZGVudGljYWxFeGNlcHRJZEFuZFF1
YWRzKQogewotICAgIENDUmVuZGVyUGFzczo6SWQgaWQoMywgMik7CisgICAgaW50IGlkID0gMzsK
ICAgICBJbnRSZWN0IG91dHB1dFJlY3QoNDUsIDIyLCAxMjAsIDEzKTsKICAgICBXZWJUcmFuc2Zv
cm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm1Ub1Jvb3QoMSwgMC41LCAwLjUsIC0wLjUsIC0xLCAwKTsK
IApAQCAtODgsNyArODgsNyBAQCBURVNUKENDUmVuZGVyUGFzc1Rlc3QsIGNvcHlTaG91bGRCZUlk
ZW50aWNhbEV4Y2VwdElkQW5kUXVhZHMpCiAgICAgdGVzdFBhc3MtPnNoYXJlZFF1YWRTdGF0ZUxp
c3QoKS5hcHBlbmQoQ0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1h
dHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMSwgZmFsc2UpKTsKICAgICB0ZXN0UGFzcy0+
cXVhZExpc3QoKS5hcHBlbmQoQ0NDaGVja2VyYm9hcmREcmF3UXVhZDo6Y3JlYXRlKHRlc3RQYXNz
LT5zaGFyZWRRdWFkU3RhdGVMaXN0KCkubGFzdCgpLmdldCgpLCBJbnRSZWN0KCkpKTsKIAotICAg
IENDUmVuZGVyUGFzczo6SWQgbmV3SWQoNjMsIDQpOworICAgIGludCBuZXdJZCA9IDYzOwogCiAg
ICAgT3duUHRyPENDUmVuZGVyUGFzcz4gY29weShwYXNzLT5jb3B5KG5ld0lkKSk7CiAgICAgRVhQ
RUNUX0VRKG5ld0lkLCBjb3B5LT5pZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NSZW5kZXJTdXJmYWNlVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwCmluZGV4IGQ2NmI4Yzk1MTZhM2U4ODI4
NmUzNmI4MTU3YTQwNjFiMDZjYWE0Y2EuLjA2NjkzZjMzNzRmMDllMDU4MzI3YzY5NTUxYzIwZmYy
OTdkMDE3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5k
ZXJTdXJmYWNlVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1Jl
bmRlclN1cmZhY2VUZXN0LmNwcApAQCAtMTI0LDcgKzEyNCw3IEBAIFRFU1QoQ0NSZW5kZXJTdXJm
YWNlVGVzdCwgc2FuaXR5Q2hlY2tTdXJmYWNlQ3JlYXRlc0NvcnJlY3RTaGFyZWRRdWFkU3RhdGUp
CiAgICAgQ0NBcHBlbmRRdWFkc0RhdGEgYXBwZW5kUXVhZHNEYXRhOwogCiAgICAgYm9vbCBmb3JS
ZXBsaWNhID0gZmFsc2U7Ci0gICAgcmVuZGVyU3VyZmFjZS0+YXBwZW5kUXVhZHMobW9ja1F1YWRD
dWxsZXIsIGFwcGVuZFF1YWRzRGF0YSwgZm9yUmVwbGljYSwgQ0NSZW5kZXJQYXNzOjpJZCgyLCAw
KSk7CisgICAgcmVuZGVyU3VyZmFjZS0+YXBwZW5kUXVhZHMobW9ja1F1YWRDdWxsZXIsIGFwcGVu
ZFF1YWRzRGF0YSwgZm9yUmVwbGljYSwgMik7CiAKICAgICBBU1NFUlRfRVEoMXUsIHNoYXJlZFN0
YXRlTGlzdC5zaXplKCkpOwogICAgIENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUg
PSBzaGFyZWRTdGF0ZUxpc3RbMF0uZ2V0KCk7CkBAIC0xNzYsNyArMTc2LDcgQEAgVEVTVChDQ1Jl
bmRlclN1cmZhY2VUZXN0LCBzYW5pdHlDaGVja1N1cmZhY2VDcmVhdGVzQ29ycmVjdFJlbmRlclBh
c3MpCiAgICAgQVNTRVJUX0VRKDF1LCBwYXNzU2luay5yZW5kZXJQYXNzZXMoKS5zaXplKCkpOwog
ICAgIENDUmVuZGVyUGFzcyogcGFzcyA9IHBhc3NTaW5rLnJlbmRlclBhc3NlcygpWzBdLmdldCgp
OwogCi0gICAgRVhQRUNUX0VRKENDUmVuZGVyUGFzczo6SWQoMiwgMCksIHBhc3MtPmlkKCkpOwor
ICAgIEVYUEVDVF9FUSgyLCBwYXNzLT5pZCgpKTsKICAgICBFWFBFQ1RfRVEoY29udGVudFJlY3Qs
IHBhc3MtPm91dHB1dFJlY3QoKSk7CiAgICAgRVhQRUNUX0VRKG9yaWdpbiwgcGFzcy0+dHJhbnNm
b3JtVG9Sb290VGFyZ2V0KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ1JlbmRlcmVyR0xUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NSZW5kZXJlckdMVGVzdC5jcHAKaW5kZXggNzVlNjUzZDZmOGU2ODgwMjU5OWJjOTI1MGJk
MTZkZmQ5ZWVkNGU0OS4uOWQ2ZjIyM2UxZTdmMjBlMGYzNGMwN2ViOWU5NjI5MzQ3MmU5YzA3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlcmVyR0xUZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyZXJHTFRlc3Qu
Y3BwCkBAIC04MCwxMSArODAsOSBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9yb290TGF5ZXIoQ0NM
YXllckltcGw6OmNyZWF0ZSgxKSkKICAgICAgICAgLCBtX21lbW9yeUFsbG9jYXRpb25MaW1pdEJ5
dGVzKENDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlcjo6ZGVmYXVsdE1lbW9yeUFsbG9jYXRpb25M
aW1pdCgpKQogICAgIHsKLSAgICAgICAgbV9yb290TGF5ZXItPmNyZWF0ZVJlbmRlclN1cmZhY2Uo
KTsKLSAgICAgICAgQ0NSZW5kZXJQYXNzOjpJZCByZW5kZXJQYXNzSWQgPSBtX3Jvb3RMYXllci0+
cmVuZGVyU3VyZmFjZSgpLT5yZW5kZXJQYXNzSWQoKTsKLSAgICAgICAgT3duUHRyPENDUmVuZGVy
UGFzcz4gcm9vdFJlbmRlclBhc3MgPSBDQ1JlbmRlclBhc3M6OmNyZWF0ZShyZW5kZXJQYXNzSWQs
IEludFJlY3QoKSwgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7CisgICAgICAgIE93blB0cjxD
Q1JlbmRlclBhc3M+IHJvb3RSZW5kZXJQYXNzID0gQ0NSZW5kZXJQYXNzOjpjcmVhdGUobV9yb290
TGF5ZXItPmlkKCksIEludFJlY3QoKSwgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXgoKSk7CiAgICAg
ICAgIG1fcmVuZGVyUGFzc2VzSW5EcmF3T3JkZXIuYXBwZW5kKHJvb3RSZW5kZXJQYXNzLmdldCgp
KTsKLSAgICAgICAgbV9yZW5kZXJQYXNzZXMuc2V0KHJlbmRlclBhc3NJZCwgcm9vdFJlbmRlclBh
c3MucmVsZWFzZSgpKTsKKyAgICAgICAgbV9yZW5kZXJQYXNzZXMuc2V0KG1fcm9vdExheWVyLT5p
ZCgpLCByb290UmVuZGVyUGFzcy5yZWxlYXNlKCkpOwogICAgIH0KIAogICAgIC8vIENDUmVuZGVy
ZXJDbGllbnQgbWV0aG9kcy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>