<?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>94657</bug_id>
          
          <creation_ts>2012-08-21 17:58:37 -0700</creation_ts>
          <short_desc>REGRESSION(r126202): Causes assertion failures on Chromium Linux dbg compositing layout tests (Requested by dominicc on #webkit).</short_desc>
          <delta_ts>2012-08-21 18:10:45 -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>93677</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>aelias</cc>
    
    <cc>dominicc</cc>
    
    <cc>enne</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>701402</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 17:58:37 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/126202 broke the build:
Causes assertion failures on Chromium Linux dbg compositing layout tests (Requested by dominicc 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>701404</commentid>
    <comment_count>1</comment_count>
      <attachid>159827</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 17:59:14 -0700</bug_when>
    <thetext>Created attachment 159827
ROLLOUT of r126202

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>701406</commentid>
    <comment_count>2</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2012-08-21 18:01:57 -0700</bug_when>
    <thetext>*** Bug 94655 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701417</commentid>
    <comment_count>3</comment_count>
      <attachid>159827</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 18:10:42 -0700</bug_when>
    <thetext>Comment on attachment 159827
ROLLOUT of r126202

Clearing flags on attachment: 159827

Committed r126240: &lt;http://trac.webkit.org/changeset/126240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701418</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-21 18:10:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159827</attachid>
            <date>2012-08-21 17:59:14 -0700</date>
            <delta_ts>2012-08-21 18:10:42 -0700</delta_ts>
            <desc>ROLLOUT of r126202</desc>
            <filename>bug-94657-20120822010532.patch</filename>
            <type>text/plain</type>
            <size>38877</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZkMzQyMTI1OWI0YTFk
ZWE4YjI3ZTEwZjZhYTFjM2UzZjBlZGY2Ni4uNTVmZmZmZDJhNTk0Njk0NTg2NDZmOWY0ZDgwOWRi
YWExZDE5NWU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTA4LTIxICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI2MjAyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjYyMDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk0NjU3CisKKyAgICAgICAgQ2F1c2VzIGFzc2VydGlvbiBmYWlsdXJlcyBvbiBD
aHJvbWl1bSBMaW51eCBkYmcgY29tcG9zaXRpbmcKKyAgICAgICAgbGF5b3V0IHRlc3RzIChSZXF1
ZXN0ZWQgYnkgZG9taW5pY2Mgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9GcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVCdWZmZXJTa1BpY3R1cmVDYW52YXNMYXll
clRleHR1cmVVcGRhdGVyOjp1cGRhdGVUZXh0dXJlUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmFwcGx5RmlsdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OmRyYXdSZW5kZXJQYXNzUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdZVVZWaWRlb1F1YWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJSZW5kZXJlckNocm9taXVtOjpnZXRGcmFtZWJ1ZmZlclRleHR1cmUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpiaW5kRnJhbWVidWZmZXJUb1RleHR1cmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1
bS5oOgorICAgICAgICAoTGF5ZXJSZW5kZXJlckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jlc291cmNlUHJvdmlkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q0NSZXNvdXJjZVByb3ZpZGVyOjpjcmVhdGVSZXNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1Jlc291cmNlUHJvdmlkZXI6OmNyZWF0ZVJlc291cmNlRnJvbUV4dGVybmFsVGV4
dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Jlc291cmNlUHJvdmlkZXI6OmRlbGV0ZVJlc291
cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVzb3VyY2VQcm92aWRlcjo6dXBsb2FkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDUmVzb3VyY2VQcm92aWRlcjo6bG9ja0ZvcldyaXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDUmVzb3VyY2VQcm92aWRlcjo6dW5sb2NrRm9yV3JpdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NSZXNvdXJjZVByb3ZpZGVyOjpmbHVzaCk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1Jlc291cmNlUHJvdmlkZXI6OnNoYWxsb3dGbHVzaElmU3VwcG9ydGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVzb3VyY2VQcm92aWRlcjo6bG9ja0ZvclJlYWQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NSZXNvdXJjZVByb3ZpZGVyOjp1bmxvY2tGb3JSZWFkKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDUmVzb3VyY2VQcm92aWRlcjo6Q0NSZXNvdXJjZVByb3ZpZGVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jlc291cmNlUHJvdmlkZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoQ0NSZXNvdXJjZVByb3ZpZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2U6OlJlc291cmNlKToKKyAgICAgICAg
KFJlc291cmNlKToKKyAgICAgICAgKENDU2NvcGVkTG9ja1Jlc291cmNlRm9yUmVhZCk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ1Njb3BlZExvY2tSZXNvdXJjZUZvclJlYWQ6OkNDU2NvcGVkTG9ja1Jl
c291cmNlRm9yUmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njb3BlZExvY2tSZXNvdXJjZUZv
clJlYWQ6On5DQ1Njb3BlZExvY2tSZXNvdXJjZUZvclJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFkOjp0ZXh0dXJlSWQpOgorICAgICAgICAoQ0NTY29w
ZWRMb2NrUmVzb3VyY2VGb3JXcml0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njb3BlZExvY2tS
ZXNvdXJjZUZvcldyaXRlOjpDQ1Njb3BlZExvY2tSZXNvdXJjZUZvcldyaXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDU2NvcGVkTG9ja1Jlc291cmNlRm9yV3JpdGU6On5DQ1Njb3BlZExvY2tSZXNv
dXJjZUZvcldyaXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2NvcGVkTG9ja1Jlc291cmNlRm9y
V3JpdGU6OnRleHR1cmVJZCk6CisKIDIwMTItMDgtMjAgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gUmVtb3ZlIGdldFRvU3RyaW5nTmFtZSgpIGFu
ZCBnZXRUb1N0cmluZ1RlbXBsYXRlKCkgZnJvbSBWOEJpbmRpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggMTgxMDY4NDVlMDY0MTIzODM3MTZlYjYzZDFkM2MyODU1MDY1NWE5ZS4uYzkz
NWI1NjcwNTFiZDJjYTM1NDk4N2QzZTdmMGY1NjdlNmY2ODU4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wOC0yMSAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjEyNjIwMi4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI2
MjAyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDY1
NworCisgICAgICAgIENhdXNlcyBhc3NlcnRpb24gZmFpbHVyZXMgb24gQ2hyb21pdW0gTGludXgg
ZGJnIGNvbXBvc2l0aW5nCisgICAgICAgIGxheW91dCB0ZXN0cyAoUmVxdWVzdGVkIGJ5IGRvbWlu
aWNjIG9uICN3ZWJraXQpLgorCisgICAgICAgICogdGVzdHMvQ0NSZXNvdXJjZVByb3ZpZGVyVGVz
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNDUmVzb3VyY2VQcm92aWRlclRlc3Q6OkNDUmVzb3Vy
Y2VQcm92aWRlclRlc3QpOgorICAgICAgICAoV2ViS2l0OjpDQ1Jlc291cmNlUHJvdmlkZXJUZXN0
OjpnZXRSZXNvdXJjZVBpeGVscyk6CisgICAgICAgIChXZWJLaXQ6OlRFU1RfRik6CisKIDIwMTIt
MDgtMjEgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtDaHJvbWl1bV0gRmluZC1pbi1wYWdlIGNvb3JkaW5hdGVzIHNob3VsZCB1c2Ug
Y29udGFpbmluZ0Jsb2NrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9GcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVwZGF0
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRnJhbWVC
dWZmZXJTa1BpY3R1cmVDYW52YXNMYXllclRleHR1cmVVcGRhdGVyLmNwcAppbmRleCAxMDFhZDRi
YjE3OWI2ZGIzY2I5YTY5NjkxOWMwNmQ4ZDk3MWYyM2EwLi5kYTJlY2M2MTA5YzVkNGVjYjRiNjg4
OTBiMDg2ZjEyYTA5YTY0NDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9GcmFtZUJ1ZmZlclNrUGljdHVyZUNhbnZhc0xheWVyVGV4dHVyZVVw
ZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZyYW1lQnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlci5jcHAKQEAgLTEw
Nyw3ICsxMDcsNyBAQCB2b2lkIEZyYW1lQnVmZmVyU2tQaWN0dXJlQ2FudmFzTGF5ZXJUZXh0dXJl
VXBkYXRlcjo6dXBkYXRlVGV4dHVyZVJlY3QoV2ViR3JhcGhpYwogICAgIGNvbnRleHQtPm1ha2VD
b250ZXh0Q3VycmVudCgpOwogCiAgICAgdGV4dHVyZS0+YWNxdWlyZUJhY2tpbmdUZXh0dXJlKHJl
c291cmNlUHJvdmlkZXIpOwotICAgIENDUmVzb3VyY2VQcm92aWRlcjo6U2NvcGVkV3JpdGVMb2Nr
R0wgbG9jayhyZXNvdXJjZVByb3ZpZGVyLCB0ZXh0dXJlLT5yZXNvdXJjZUlkKCkpOworICAgIEND
U2NvcGVkTG9ja1Jlc291cmNlRm9yV3JpdGUgbG9jayhyZXNvdXJjZVByb3ZpZGVyLCB0ZXh0dXJl
LT5yZXNvdXJjZUlkKCkpOwogICAgIC8vIENyZWF0ZSBhbiBhY2NlbGVyYXRlZCBjYW52YXMgdG8g
ZHJhdyBvbi4KICAgICBPd25QdHI8U2tDYW52YXM+IGNhbnZhcyA9IGNyZWF0ZUFjY2VsZXJhdGVk
Q2FudmFzKGdyQ29udGV4dCwgdGV4dHVyZS0+c2l6ZSgpLCBsb2NrLnRleHR1cmVJZCgpKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggODRmMDBhMWM3YjljNDQz
MGJkMzE1YWMxMzY2OTFjMjEwMmNlZWM3My4uMzZlNDdkMTc3ZDRhZmIzYjAxNzMxYzkwZDRjODBm
YzMzZDA1ZGRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC0z
NjMsNyArMzYzLDcgQEAgc3RhdGljIGlubGluZSBTa0JpdG1hcCBhcHBseUZpbHRlcnMoTGF5ZXJS
ZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyLCBjb25zdAogCiAgICAgbGF5ZXJSZW5kZXJl
ci0+Y29udGV4dCgpLT5mbHVzaCgpOwogCi0gICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpTY29wZWRX
cml0ZUxvY2tHTCBsb2NrKGxheWVyUmVuZGVyZXItPnJlc291cmNlUHJvdmlkZXIoKSwgc291cmNl
VGV4dHVyZS0+aWQoKSk7CisgICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JXcml0ZSBsb2NrKGxh
eWVyUmVuZGVyZXItPnJlc291cmNlUHJvdmlkZXIoKSwgc291cmNlVGV4dHVyZS0+aWQoKSk7CiAg
ICAgU2tCaXRtYXAgc291cmNlID0gQ0NSZW5kZXJTdXJmYWNlRmlsdGVyczo6YXBwbHkoZmlsdGVy
cywgbG9jay50ZXh0dXJlSWQoKSwgc291cmNlVGV4dHVyZS0+c2l6ZSgpLCBmaWx0ZXJDb250ZXh0
LCBmaWx0ZXJHckNvbnRleHQpOwogICAgIHJldHVybiBzb3VyY2U7CiB9CkBAIC00NjUsMjAgKzQ2
NSwyMCBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKERy
YXdpbmdGcmFtZSYgZnJhbWUsIGNvbnN0IENDUmVuZAogICAgIC8vIEZJWE1FOiBDYWNoZSB0aGlz
IHZhbHVlIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBkbyBpdCBmb3IgYm90aCB0aGUgc3VyZmFj
ZSBhbmQgaXRzIHJlcGxpY2EuCiAgICAgLy8gQXBwbHkgZmlsdGVycyB0byB0aGUgY29udGVudHMg
dGV4dHVyZS4KICAgICBTa0JpdG1hcCBmaWx0ZXJCaXRtYXAgPSBhcHBseUZpbHRlcnModGhpcywg
cmVuZGVyUGFzcy0+ZmlsdGVycygpLCBjb250ZW50c1RleHR1cmUpOwotICAgIE93blB0cjxDQ1Jl
c291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrR0w+IGNvbnRlbnRzUmVzb3VyY2VMb2NrOwor
ICAgIE93blB0cjxDQ1Njb3BlZExvY2tSZXNvdXJjZUZvclJlYWQ+IGNvbnRlbnRzUmVzb3VyY2VM
b2NrOwogICAgIHVuc2lnbmVkIGNvbnRlbnRzVGV4dHVyZUlkID0gMDsKICAgICBpZiAoZmlsdGVy
Qml0bWFwLmdldFRleHR1cmUoKSkgewogICAgICAgICBHclRleHR1cmUqIHRleHR1cmUgPSByZWlu
dGVycHJldF9jYXN0PEdyVGV4dHVyZSo+KGZpbHRlckJpdG1hcC5nZXRUZXh0dXJlKCkpOwogICAg
ICAgICBjb250ZW50c1RleHR1cmVJZCA9IHRleHR1cmUtPmdldFRleHR1cmVIYW5kbGUoKTsKICAg
ICB9IGVsc2UgewotICAgICAgICBjb250ZW50c1Jlc291cmNlTG9jayA9IGFkb3B0UHRyKG5ldyBD
Q1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrR0wobV9yZXNvdXJjZVByb3ZpZGVyLCBj
b250ZW50c1RleHR1cmUtPmlkKCkpKTsKKyAgICAgICAgY29udGVudHNSZXNvdXJjZUxvY2sgPSBh
ZG9wdFB0cihuZXcgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFkKG1fcmVzb3VyY2VQcm92aWRl
ciwgY29udGVudHNUZXh0dXJlLT5pZCgpKSk7CiAgICAgICAgIGNvbnRlbnRzVGV4dHVyZUlkID0g
Y29udGVudHNSZXNvdXJjZUxvY2stPnRleHR1cmVJZCgpOwogICAgIH0KIAogICAgIC8vIERyYXcg
dGhlIGJhY2tncm91bmQgdGV4dHVyZSBpZiB0aGVyZSBpcyBvbmUuCiAgICAgaWYgKGJhY2tncm91
bmRUZXh0dXJlKSB7CiAgICAgICAgIEFTU0VSVChiYWNrZ3JvdW5kVGV4dHVyZS0+c2l6ZSgpID09
IHF1YWQtPnF1YWRSZWN0KCkuc2l6ZSgpKTsKLSAgICAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpT
Y29wZWRSZWFkTG9ja0dMIGxvY2sobV9yZXNvdXJjZVByb3ZpZGVyLCBiYWNrZ3JvdW5kVGV4dHVy
ZS0+aWQoKSk7CisgICAgICAgIENDU2NvcGVkTG9ja1Jlc291cmNlRm9yUmVhZCBsb2NrKG1fcmVz
b3VyY2VQcm92aWRlciwgYmFja2dyb3VuZFRleHR1cmUtPmlkKCkpOwogICAgICAgICBjb3B5VGV4
dHVyZVRvRnJhbWVidWZmZXIoZnJhbWUsIGxvY2sudGV4dHVyZUlkKCksIHF1YWQtPnF1YWRSZWN0
KCksIHF1YWQtPnF1YWRUcmFuc2Zvcm0oKSk7CiAgICAgfQogCkBAIC00OTUsMTAgKzQ5NSwxMCBA
QCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclBhc3NRdWFkKERyYXdpbmdG
cmFtZSYgZnJhbWUsIGNvbnN0IENDUmVuZAogICAgICAgICBkZXZpY2VMYXllckVkZ2VzLmluZmxh
dGVBbnRpQWxpYXNpbmdEaXN0YW5jZSgpOwogICAgIH0KIAotICAgIE93blB0cjxDQ1Jlc291cmNl
UHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrR0w+IG1hc2tSZXNvdXJjZUxvY2s7CisgICAgT3duUHRy
PENDU2NvcGVkTG9ja1Jlc291cmNlRm9yUmVhZD4gbWFza1Jlc291cmNlTG9jazsKICAgICB1bnNp
Z25lZCBtYXNrVGV4dHVyZUlkID0gMDsKICAgICBpZiAocXVhZC0+bWFza1Jlc291cmNlSWQoKSkg
ewotICAgICAgICBtYXNrUmVzb3VyY2VMb2NrID0gYWRvcHRQdHIobmV3IENDUmVzb3VyY2VQcm92
aWRlcjo6U2NvcGVkUmVhZExvY2tHTChtX3Jlc291cmNlUHJvdmlkZXIsIHF1YWQtPm1hc2tSZXNv
dXJjZUlkKCkpKTsKKyAgICAgICAgbWFza1Jlc291cmNlTG9jayA9IGFkb3B0UHRyKG5ldyBDQ1Nj
b3BlZExvY2tSZXNvdXJjZUZvclJlYWQobV9yZXNvdXJjZVByb3ZpZGVyLCBxdWFkLT5tYXNrUmVz
b3VyY2VJZCgpKSk7CiAgICAgICAgIG1hc2tUZXh0dXJlSWQgPSBtYXNrUmVzb3VyY2VMb2NrLT50
ZXh0dXJlSWQoKTsKICAgICB9CiAKQEAgLTY4OSw3ICs2ODksNyBAQCB2b2lkIExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKGNvbnN0IERyYXdpbmdGcmFtZSYgZnJhbWUsIGNvbnN0
IENDVGlsZQogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dXNlUHJvZ3JhbSh1bmlmb3Jt
cy5wcm9ncmFtKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtMWkodW5p
Zm9ybXMuc2FtcGxlckxvY2F0aW9uLCAwKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT5hY3RpdmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFMCkpOwotICAgIENDUmVz
b3VyY2VQcm92aWRlcjo6U2NvcGVkUmVhZExvY2tHTCBxdWFkUmVzb3VyY2VMb2NrKG1fcmVzb3Vy
Y2VQcm92aWRlciwgcXVhZC0+cmVzb3VyY2VJZCgpKTsKKyAgICBDQ1Njb3BlZExvY2tSZXNvdXJj
ZUZvclJlYWQgcXVhZFJlc291cmNlTG9jayhtX3Jlc291cmNlUHJvdmlkZXIsIHF1YWQtPnJlc291
cmNlSWQoKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT5iaW5kVGV4dHVyZShHcmFw
aGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgcXVhZFJlc291cmNlTG9jay50ZXh0dXJlSWQoKSkp
OwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dGV4UGFyYW1ldGVyaShHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfTUlOX0ZJTFRF
UiwgcXVhZC0+dGV4dHVyZUZpbHRlcigpKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT50ZXhQYXJhbWV0ZXJpKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV9NQUdfRklMVEVSLCBxdWFkLT50ZXh0dXJlRmlsdGVyKCkpKTsKQEAg
LTc5Niw5ICs3OTYsOSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1lVVlZpZGVv
UXVhZChjb25zdCBEcmF3aW5nRnJhbWUmIGZyYW1lLCBjb25zdCBDQwogICAgIGNvbnN0IENDVmlk
ZW9MYXllckltcGw6OkZyYW1lUGxhbmUmIHVQbGFuZSA9IHF1YWQtPnVQbGFuZSgpOwogICAgIGNv
bnN0IENDVmlkZW9MYXllckltcGw6OkZyYW1lUGxhbmUmIHZQbGFuZSA9IHF1YWQtPnZQbGFuZSgp
OwogCi0gICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpTY29wZWRSZWFkTG9ja0dMIHlQbGFuZUxvY2so
bV9yZXNvdXJjZVByb3ZpZGVyLCB5UGxhbmUucmVzb3VyY2VJZCk7Ci0gICAgQ0NSZXNvdXJjZVBy
b3ZpZGVyOjpTY29wZWRSZWFkTG9ja0dMIHVQbGFuZUxvY2sobV9yZXNvdXJjZVByb3ZpZGVyLCB1
UGxhbmUucmVzb3VyY2VJZCk7Ci0gICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpTY29wZWRSZWFkTG9j
a0dMIHZQbGFuZUxvY2sobV9yZXNvdXJjZVByb3ZpZGVyLCB2UGxhbmUucmVzb3VyY2VJZCk7Cisg
ICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFkIHlQbGFuZUxvY2sobV9yZXNvdXJjZVByb3Zp
ZGVyLCB5UGxhbmUucmVzb3VyY2VJZCk7CisgICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFk
IHVQbGFuZUxvY2sobV9yZXNvdXJjZVByb3ZpZGVyLCB1UGxhbmUucmVzb3VyY2VJZCk7CisgICAg
Q0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFkIHZQbGFuZUxvY2sobV9yZXNvdXJjZVByb3ZpZGVy
LCB2UGxhbmUucmVzb3VyY2VJZCk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT5hY3Rp
dmVUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFMSkpOwogICAgIEdMQyhjb250ZXh0
KCksIGNvbnRleHQoKS0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQs
IHlQbGFuZUxvY2sudGV4dHVyZUlkKCkpKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCkt
PmFjdGl2ZVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkUyKSk7CkBAIC05MDcsNyAr
OTA3LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlUXVhZChjb25z
dCBEcmF3aW5nRnJhbWUmIGZyYW1lLCBjb25zdCBDQ1QKICAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPnVuaWZvcm00ZihiaW5kaW5nLnRleFRyYW5zZm9ybUxvY2F0aW9uLCB1dlJlY3QueCgp
LCB1dlJlY3QueSgpLCB1dlJlY3Qud2lkdGgoKSwgdXZSZWN0LmhlaWdodCgpKSk7CiAKICAgICBH
TEMoY29udGV4dCgpLCBjb250ZXh0KCktPmFjdGl2ZVRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6
OlRFWFRVUkUwKSk7Ci0gICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpTY29wZWRSZWFkTG9ja0dMIHF1
YWRSZXNvdXJjZUxvY2sobV9yZXNvdXJjZVByb3ZpZGVyLCBxdWFkLT5yZXNvdXJjZUlkKCkpOwor
ICAgIENDU2NvcGVkTG9ja1Jlc291cmNlRm9yUmVhZCBxdWFkUmVzb3VyY2VMb2NrKG1fcmVzb3Vy
Y2VQcm92aWRlciwgcXVhZC0+cmVzb3VyY2VJZCgpKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBxdWFkUmVz
b3VyY2VMb2NrLnRleHR1cmVJZCgpKSk7CiAKICAgICAvLyBGSVhNRTogc2V0dGluZyB0aGUgdGV4
dHVyZSBwYXJhbWV0ZXJzIGV2ZXJ5IHRpbWUgaXMgcmVkdW5kYW50LiBNb3ZlIHRoaXMgY29kZSBz
b21ld2hlcmUKQEAgLTExOTksNyArMTE5OSw3IEBAIGJvb2wgTGF5ZXJSZW5kZXJlckNocm9taXVt
OjpnZXRGcmFtZWJ1ZmZlclRleHR1cmUoQ0NTY29wZWRUZXh0dXJlKiB0ZXh0dXJlLCBjb25zCiAg
ICAgaWYgKCF0ZXh0dXJlLT5pZCgpICYmICF0ZXh0dXJlLT5hbGxvY2F0ZShDQ1JlbmRlcmVyOjpJ
bXBsUG9vbCwgZGV2aWNlUmVjdC5zaXplKCksIEdyYXBoaWNzQ29udGV4dDNEOjpSR0IsIENDUmVz
b3VyY2VQcm92aWRlcjo6VGV4dHVyZVVzYWdlQW55KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpTY29wZWRXcml0ZUxvY2tHTCBsb2NrKG1fcmVzb3Vy
Y2VQcm92aWRlciwgdGV4dHVyZS0+aWQoKSk7CisgICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JX
cml0ZSBsb2NrKG1fcmVzb3VyY2VQcm92aWRlciwgdGV4dHVyZS0+aWQoKSk7CiAgICAgR0xDKG1f
Y29udGV4dCwgbV9jb250ZXh0LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVS
RV8yRCwgbG9jay50ZXh0dXJlSWQoKSkpOwogICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+
Y29weVRleEltYWdlMkQoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIDAsIHRleHR1cmUt
PmZvcm1hdCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGV2aWNlUmVjdC54KCksIGRldmljZVJlY3QueSgpLCBkZXZpY2VSZWN0LndpZHRoKCksIGRldmlj
ZVJlY3QuaGVpZ2h0KCksIDApKTsKQEAgLTEyMjYsNyArMTIyNiw3IEBAIGJvb2wgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpiaW5kRnJhbWVidWZmZXJUb1RleHR1cmUoRHJhd2luZ0ZyYW1lJiBmcmFt
ZSwgY29uc3QKICAgICBBU1NFUlQodGV4dHVyZS0+aWQoKSk7CiAKICAgICBHTEMobV9jb250ZXh0
LCBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZG
RVIsIG1fb2Zmc2NyZWVuRnJhbWVidWZmZXJJZCkpOwotICAgIG1fY3VycmVudEZyYW1lYnVmZmVy
TG9jayA9IGFkb3B0UHRyKG5ldyBDQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFdyaXRlTG9ja0dM
KG1fcmVzb3VyY2VQcm92aWRlciwgdGV4dHVyZS0+aWQoKSkpOworICAgIG1fY3VycmVudEZyYW1l
YnVmZmVyTG9jayA9IGFkb3B0UHRyKG5ldyBDQ1Njb3BlZExvY2tSZXNvdXJjZUZvcldyaXRlKG1f
cmVzb3VyY2VQcm92aWRlciwgdGV4dHVyZS0+aWQoKSkpOwogICAgIHVuc2lnbmVkIHRleHR1cmVJ
ZCA9IG1fY3VycmVudEZyYW1lYnVmZmVyTG9jay0+dGV4dHVyZUlkKCk7CiAgICAgR0xDKG1fY29u
dGV4dCwgbV9jb250ZXh0LT5mcmFtZWJ1ZmZlclRleHR1cmUyRChHcmFwaGljc0NvbnRleHQzRDo6
RlJBTUVCVUZGRVIsIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9BVFRBQ0hNRU5UMCwgR3JhcGhp
Y3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIHRleHR1cmVJZCwgMCkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDM1NzVjMTkzZDc3MDI0NWZjOGVhNGYwMzgzOTNiZTgx
NmI5Yjg3ZTAuLjA5Y2QwZTI5MTExOWJlNzQxOTQyMjhmOTAzN2Q5YWVkZTNmMWRhYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC0yNDgsNyArMjQ4LDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fdmlzaWJsZTsKICAgICBUZXh0dXJlVXBsb2FkZXJPcHRpb24gbV90ZXh0
dXJlVXBsb2FkZXJTZXR0aW5nOwogCi0gICAgT3duUHRyPENDUmVzb3VyY2VQcm92aWRlcjo6U2Nv
cGVkV3JpdGVMb2NrR0w+IG1fY3VycmVudEZyYW1lYnVmZmVyTG9jazsKKyAgICBPd25QdHI8Q0NT
Y29wZWRMb2NrUmVzb3VyY2VGb3JXcml0ZT4gbV9jdXJyZW50RnJhbWVidWZmZXJMb2NrOwogfTsK
IAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Jlc291cmNlUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZXNvdXJjZVByb3ZpZGVyLmNwcAppbmRleCAyMzQ0MmFiZTQ1
MTEwMTZlMGFlZmMzNGI3YjAzN2ExMzRlYjg4NDk2Li44YTVkNmFmOWRmOTBiNmNmMmI2Yzk0ODZj
ZTA5ZWExNWQ3ZDRjMGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1Jlc291cmNlUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVzb3VyY2VQcm92aWRlci5jcHAK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmgiIC8vIEZvciB0aGUgR0xDKCkgbWFjcm8KICNpbmNsdWRlICJMYXll
clRleHR1cmVTdWJJbWFnZS5oIgotI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJHcmFwaGljc0NvbnRleHQzRC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAKQEAg
LTg5LDI0ICs4OCwxMyBAQCBib29sIENDUmVzb3VyY2VQcm92aWRlcjo6aW5Vc2VCeUNvbnN1bWVy
KFJlc291cmNlSWQgaWQpCiAKIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBDQ1Jlc291
cmNlUHJvdmlkZXI6OmNyZWF0ZVJlc291cmNlKGludCBwb29sLCBjb25zdCBJbnRTaXplJiBzaXpl
LCBHQzNEZW51bSBmb3JtYXQsIFRleHR1cmVVc2FnZUhpbnQgaGludCkKIHsKLSAgICBzd2l0Y2gg
KG1fZGVmYXVsdFJlc291cmNlVHlwZSkgewotICAgIGNhc2UgR0xUZXh0dXJlOgotICAgICAgICBy
ZXR1cm4gY3JlYXRlR0xUZXh0dXJlKHBvb2wsIHNpemUsIGZvcm1hdCwgaGludCk7Ci0gICAgY2Fz
ZSBCaXRtYXA6Ci0gICAgICAgIEFTU0VSVChmb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlJH
QkEpOwotICAgICAgICByZXR1cm4gY3JlYXRlQml0bWFwKHBvb2wsIHNpemUpOwotICAgIH0KLQot
ICAgIENSQVNIKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLUNDUmVzb3VyY2VQcm92aWRlcjo6UmVz
b3VyY2VJZCBDQ1Jlc291cmNlUHJvdmlkZXI6OmNyZWF0ZUdMVGV4dHVyZShpbnQgcG9vbCwgY29u
c3QgSW50U2l6ZSYgc2l6ZSwgR0MzRGVudW0gZm9ybWF0LCBUZXh0dXJlVXNhZ2VIaW50IGhpbnQp
Ci17CiAgICAgQVNTRVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKICAgICB1bnNpZ25lZCB0
ZXh0dXJlSWQgPSAwOwogICAgIFdlYkdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0M2QgPSBtX2Nv
bnRleHQtPmNvbnRleHQzRCgpOwotICAgIEFTU0VSVChjb250ZXh0M2QpOworICAgIGlmICghY29u
dGV4dDNkKSB7CisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBwYXRoIGZvciBzb2Z0
d2FyZSBjb21wb3NpdGluZy4KKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIEdMQyhjb250
ZXh0M2QsIHRleHR1cmVJZCA9IGNvbnRleHQzZC0+Y3JlYXRlVGV4dHVyZSgpKTsKICAgICBHTEMo
Y29udGV4dDNkLCBjb250ZXh0M2QtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhU
VVJFXzJELCB0ZXh0dXJlSWQpKTsKICAgICBHTEMoY29udGV4dDNkLCBjb250ZXh0M2QtPnRleFBh
cmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFX01JTl9GSUxURVIsIEdyYXBoaWNzQ29udGV4dDNEOjpMSU5FQVIpKTsKQEAgLTEy
NywyMyArMTE1LDEyIEBAIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBDQ1Jlc291cmNl
UHJvdmlkZXI6OmNyZWF0ZUdMVGV4dHVyZShpbnQgcG9vbCwgY29uCiAgICAgcmV0dXJuIGlkOwog
fQogCi1DQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgQ0NSZXNvdXJjZVByb3ZpZGVyOjpj
cmVhdGVCaXRtYXAoaW50IHBvb2wsIGNvbnN0IEludFNpemUmIHNpemUpCi17Ci0gICAgQVNTRVJU
KENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKLQotICAgIHVpbnQ4X3QqIHBpeGVscyA9IG5ldyB1
aW50OF90W3NpemUud2lkdGgoKSAqIHNpemUuaGVpZ2h0KCkgKiA0XTsKLQotICAgIFJlc291cmNl
SWQgaWQgPSBtX25leHRJZCsrOwotICAgIFJlc291cmNlIHJlc291cmNlKHBpeGVscywgcG9vbCwg
c2l6ZSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEpOwotICAgIG1fcmVzb3VyY2VzLmFkZChpZCwg
cmVzb3VyY2UpOwotICAgIHJldHVybiBpZDsKLX0KLQogQ0NSZXNvdXJjZVByb3ZpZGVyOjpSZXNv
dXJjZUlkIENDUmVzb3VyY2VQcm92aWRlcjo6Y3JlYXRlUmVzb3VyY2VGcm9tRXh0ZXJuYWxUZXh0
dXJlKHVuc2lnbmVkIHRleHR1cmVJZCkKIHsKICAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhy
ZWFkKCkpOwogICAgIFJlc291cmNlSWQgaWQgPSBtX25leHRJZCsrOwotICAgIFJlc291cmNlIHJl
c291cmNlKHRleHR1cmVJZCwgMCwgSW50U2l6ZSgpLCAwKTsKKyAgICBSZXNvdXJjZSByZXNvdXJj
ZTsKKyAgICByZXNvdXJjZS5nbElkID0gdGV4dHVyZUlkOwogICAgIHJlc291cmNlLmV4dGVybmFs
ID0gdHJ1ZTsKICAgICBtX3Jlc291cmNlcy5hZGQoaWQsIHJlc291cmNlKTsKICAgICByZXR1cm4g
aWQ7CkBAIC0xNTIsMTcgKzEyOSwxNSBAQCBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQg
Q0NSZXNvdXJjZVByb3ZpZGVyOjpjcmVhdGVSZXNvdXJjZUZyb21FeHRlcm5hbFRleAogdm9pZCBD
Q1Jlc291cmNlUHJvdmlkZXI6OmRlbGV0ZVJlc291cmNlKFJlc291cmNlSWQgaWQpCiB7CiAgICAg
QVNTRVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKKyAgICBXZWJHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dDNkID0gbV9jb250ZXh0LT5jb250ZXh0M0QoKTsKKyAgICBpZiAoIWNvbnRleHQz
ZCkgeworICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgcGF0aCBmb3Igc29mdHdhcmUg
Y29tcG9zaXRpbmcuCisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgUmVzb3VyY2VNYXA6Oml0
ZXJhdG9yIGl0ID0gbV9yZXNvdXJjZXMuZmluZChpZCk7CiAgICAgQVNTRVJUKGl0ICE9IG1fcmVz
b3VyY2VzLmVuZCgpICYmICFpdC0+c2Vjb25kLmxvY2tlZEZvcldyaXRlICYmICFpdC0+c2Vjb25k
LmxvY2tGb3JSZWFkQ291bnQpOwotCi0gICAgaWYgKGl0LT5zZWNvbmQuZ2xJZCAmJiAhaXQtPnNl
Y29uZC5leHRlcm5hbCkgewotICAgICAgICBXZWJHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDNk
ID0gbV9jb250ZXh0LT5jb250ZXh0M0QoKTsKLSAgICAgICAgQVNTRVJUKGNvbnRleHQzZCk7Cisg
ICAgaWYgKCFpdC0+c2Vjb25kLmV4dGVybmFsKQogICAgICAgICBHTEMoY29udGV4dDNkLCBjb250
ZXh0M2QtPmRlbGV0ZVRleHR1cmUoaXQtPnNlY29uZC5nbElkKSk7Ci0gICAgfQotICAgIGlmIChp
dC0+c2Vjb25kLnBpeGVscykKLSAgICAgICAgZGVsZXRlIGl0LT5zZWNvbmQucGl4ZWxzOwotCiAg
ICAgbV9yZXNvdXJjZXMucmVtb3ZlKGl0KTsKIH0KIApAQCAtMTc4LDY4ICsxNTMsNzEgQEAgdm9p
ZCBDQ1Jlc291cmNlUHJvdmlkZXI6OmRlbGV0ZU93bmVkUmVzb3VyY2VzKGludCBwb29sKQogICAg
ICAgICBkZWxldGVSZXNvdXJjZSgqaXQpOwogfQogCi1DQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291
cmNlVHlwZSBDQ1Jlc291cmNlUHJvdmlkZXI6OnJlc291cmNlVHlwZShSZXNvdXJjZUlkIGlkKQor
dm9pZCBDQ1Jlc291cmNlUHJvdmlkZXI6OnVwbG9hZChSZXNvdXJjZUlkIGlkLCBjb25zdCB1aW50
OF90KiBpbWFnZSwgY29uc3QgSW50UmVjdCYgaW1hZ2VSZWN0LCBjb25zdCBJbnRSZWN0JiBzb3Vy
Y2VSZWN0LCBjb25zdCBJbnRTaXplJiBkZXN0T2Zmc2V0KQogeworICAgIEFTU0VSVChDQ1Byb3h5
Ojppc0ltcGxUaHJlYWQoKSk7CisgICAgQVNTRVJUKG1fdGV4U3ViSW1hZ2UuZ2V0KCkpOworICAg
IFdlYkdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0M2QgPSBtX2NvbnRleHQtPmNvbnRleHQzRCgp
OworICAgIGlmICghY29udGV4dDNkKSB7CisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhp
cyBwYXRoIGZvciBzb2Z0d2FyZSBjb21wb3NpdGluZy4KKyAgICAgICAgcmV0dXJuOworICAgIH0K
ICAgICBSZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3Jlc291cmNlcy5maW5kKGlkKTsKLSAg
ICBBU1NFUlQoaXQgIT0gbV9yZXNvdXJjZXMuZW5kKCkpOwotICAgIHJldHVybiBpdC0+c2Vjb25k
LnR5cGU7CisgICAgQVNTRVJUKGl0ICE9IG1fcmVzb3VyY2VzLmVuZCgpICYmICFpdC0+c2Vjb25k
LmxvY2tlZEZvcldyaXRlICYmICFpdC0+c2Vjb25kLmxvY2tGb3JSZWFkQ291bnQgJiYgIWl0LT5z
ZWNvbmQuZXh0ZXJuYWwpOworCisgICAgY29udGV4dDNkLT5iaW5kVGV4dHVyZShHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRV8yRCwgaXQtPnNlY29uZC5nbElkKTsKKyAgICBtX3RleFN1YkltYWdl
LT51cGxvYWQoaW1hZ2UsIGltYWdlUmVjdCwgc291cmNlUmVjdCwgZGVzdE9mZnNldCwgaXQtPnNl
Y29uZC5mb3JtYXQsIGNvbnRleHQzZCk7CiB9CiAKLXZvaWQgQ0NSZXNvdXJjZVByb3ZpZGVyOjp1
cGxvYWQoUmVzb3VyY2VJZCBpZCwgY29uc3QgdWludDhfdCogaW1hZ2UsIGNvbnN0IEludFJlY3Qm
IGltYWdlUmVjdCwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgY29uc3QgSW50U2l6ZSYgZGVz
dE9mZnNldCkKK3Vuc2lnbmVkIENDUmVzb3VyY2VQcm92aWRlcjo6bG9ja0ZvcldyaXRlKFJlc291
cmNlSWQgaWQpCiB7CiAgICAgQVNTRVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKICAgICBS
ZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3Jlc291cmNlcy5maW5kKGlkKTsKICAgICBBU1NF
UlQoaXQgIT0gbV9yZXNvdXJjZXMuZW5kKCkgJiYgIWl0LT5zZWNvbmQubG9ja2VkRm9yV3JpdGUg
JiYgIWl0LT5zZWNvbmQubG9ja0ZvclJlYWRDb3VudCAmJiAhaXQtPnNlY29uZC5leHRlcm5hbCk7
CisgICAgaXQtPnNlY29uZC5sb2NrZWRGb3JXcml0ZSA9IHRydWU7CisgICAgcmV0dXJuIGl0LT5z
ZWNvbmQuZ2xJZDsKK30KIAotICAgIGlmIChpdC0+c2Vjb25kLmdsSWQpIHsKLSAgICAgICAgV2Vi
R3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQzZCA9IG1fY29udGV4dC0+Y29udGV4dDNEKCk7Ci0g
ICAgICAgIEFTU0VSVChjb250ZXh0M2QpOwotICAgICAgICBBU1NFUlQobV90ZXhTdWJJbWFnZS5n
ZXQoKSk7Ci0gICAgICAgIGNvbnRleHQzZC0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6
OlRFWFRVUkVfMkQsIGl0LT5zZWNvbmQuZ2xJZCk7Ci0gICAgICAgIG1fdGV4U3ViSW1hZ2UtPnVw
bG9hZChpbWFnZSwgaW1hZ2VSZWN0LCBzb3VyY2VSZWN0LCBkZXN0T2Zmc2V0LCBpdC0+c2Vjb25k
LmZvcm1hdCwgY29udGV4dDNkKTsKLSAgICB9Ci0KLSAgICBpZiAoaXQtPnNlY29uZC5waXhlbHMp
IHsKLSAgICAgICAgU2tCaXRtYXAgc3JjRnVsbDsKLSAgICAgICAgc3JjRnVsbC5zZXRDb25maWco
U2tCaXRtYXA6OmtBUkdCXzg4ODhfQ29uZmlnLCBpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VSZWN0
LmhlaWdodCgpKTsKLSAgICAgICAgc3JjRnVsbC5zZXRQaXhlbHMoY29uc3RfY2FzdDx1aW50OF90
Kj4oaW1hZ2UpKTsKLSAgICAgICAgU2tCaXRtYXAgc3JjU3Vic2V0OwotICAgICAgICBTa0lSZWN0
IHNrU291cmNlUmVjdCA9IFNrSVJlY3Q6Ok1ha2VYWVdIKHNvdXJjZVJlY3QueCgpLCBzb3VyY2VS
ZWN0LnkoKSwgc291cmNlUmVjdC53aWR0aCgpLCBzb3VyY2VSZWN0LmhlaWdodCgpKTsKLSAgICAg
ICAgc2tTb3VyY2VSZWN0Lm9mZnNldCgtaW1hZ2VSZWN0LngoKSwgLWltYWdlUmVjdC55KCkpOwot
ICAgICAgICBzcmNGdWxsLmV4dHJhY3RTdWJzZXQoJnNyY1N1YnNldCwgc2tTb3VyY2VSZWN0KTsK
LQotICAgICAgICBTY29wZWRXcml0ZUxvY2tTb2Z0d2FyZSBsb2NrKHRoaXMsIGlkKTsKLSAgICAg
ICAgU2tDYW52YXMqIGRlc3QgPSBsb2NrLnNrQ2FudmFzKCk7Ci0gICAgICAgIGRlc3QtPndyaXRl
UGl4ZWxzKHNyY1N1YnNldCwgZGVzdE9mZnNldC53aWR0aCgpLCBkZXN0T2Zmc2V0LmhlaWdodCgp
KTsKLSAgICB9Cit2b2lkIENDUmVzb3VyY2VQcm92aWRlcjo6dW5sb2NrRm9yV3JpdGUoUmVzb3Vy
Y2VJZCBpZCkKK3sKKyAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkpOworICAgIFJl
c291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1fcmVzb3VyY2VzLmZpbmQoaWQpOworICAgIEFTU0VS
VChpdCAhPSBtX3Jlc291cmNlcy5lbmQoKSAmJiBpdC0+c2Vjb25kLmxvY2tlZEZvcldyaXRlICYm
ICFpdC0+c2Vjb25kLmV4dGVybmFsKTsKKyAgICBpdC0+c2Vjb25kLmxvY2tlZEZvcldyaXRlID0g
ZmFsc2U7CiB9CiAKIHZvaWQgQ0NSZXNvdXJjZVByb3ZpZGVyOjpmbHVzaCgpCiB7CiAgICAgQVNT
RVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKICAgICBXZWJHcmFwaGljc0NvbnRleHQzRCog
Y29udGV4dDNkID0gbV9jb250ZXh0LT5jb250ZXh0M0QoKTsKLSAgICBpZiAoY29udGV4dDNkKQot
ICAgICAgICBjb250ZXh0M2QtPmZsdXNoKCk7CisgICAgaWYgKCFjb250ZXh0M2QpIHsKKyAgICAg
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIHBhdGggZm9yIHNvZnR3YXJlIGNvbXBvc2l0aW5n
LgorICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNvbnRleHQzZC0+Zmx1c2goKTsKIH0KIAog
Ym9vbCBDQ1Jlc291cmNlUHJvdmlkZXI6OnNoYWxsb3dGbHVzaElmU3VwcG9ydGVkKCkKIHsKICAg
ICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkpOwogICAgIFdlYkdyYXBoaWNzQ29udGV4
dDNEKiBjb250ZXh0M2QgPSBtX2NvbnRleHQtPmNvbnRleHQzRCgpOwotICAgIGlmICghY29udGV4
dDNkIHx8ICFtX3VzZVNoYWxsb3dGbHVzaCkKKyAgICBpZiAoIWNvbnRleHQzZCkgeworICAgICAg
ICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgcGF0aCBmb3Igc29mdHdhcmUgY29tcG9zaXRpbmcu
CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKLSAgICBjb250ZXh0M2QtPnNoYWxsb3dG
bHVzaENIUk9NSVVNKCk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaWYgKG1fdXNlU2hhbGxvd0Zs
dXNoKQorICAgICAgICBjb250ZXh0M2QtPnNoYWxsb3dGbHVzaENIUk9NSVVNKCk7CisgICAgcmV0
dXJuIG1fdXNlU2hhbGxvd0ZsdXNoOwogfQogCi1jb25zdCBDQ1Jlc291cmNlUHJvdmlkZXI6OlJl
c291cmNlKiBDQ1Jlc291cmNlUHJvdmlkZXI6OmxvY2tGb3JSZWFkKFJlc291cmNlSWQgaWQpCit1
bnNpZ25lZCBDQ1Jlc291cmNlUHJvdmlkZXI6OmxvY2tGb3JSZWFkKFJlc291cmNlSWQgaWQpCiB7
CiAgICAgQVNTRVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKICAgICBSZXNvdXJjZU1hcDo6
aXRlcmF0b3IgaXQgPSBtX3Jlc291cmNlcy5maW5kKGlkKTsKICAgICBBU1NFUlQoaXQgIT0gbV9y
ZXNvdXJjZXMuZW5kKCkgJiYgIWl0LT5zZWNvbmQubG9ja2VkRm9yV3JpdGUpOwotICAgIGl0LT5z
ZWNvbmQubG9ja0ZvclJlYWRDb3VudCsrOwotICAgIHJldHVybiAmaXQtPnNlY29uZDsKKyAgICAr
KyhpdC0+c2Vjb25kLmxvY2tGb3JSZWFkQ291bnQpOworICAgIHJldHVybiBpdC0+c2Vjb25kLmds
SWQ7CiB9CiAKIHZvaWQgQ0NSZXNvdXJjZVByb3ZpZGVyOjp1bmxvY2tGb3JSZWFkKFJlc291cmNl
SWQgaWQpCkBAIC0yNDcsOTQgKzIyNSwxNyBAQCB2b2lkIENDUmVzb3VyY2VQcm92aWRlcjo6dW5s
b2NrRm9yUmVhZChSZXNvdXJjZUlkIGlkKQogICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJl
YWQoKSk7CiAgICAgUmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGl0ID0gbV9yZXNvdXJjZXMuZmluZChp
ZCk7CiAgICAgQVNTRVJUKGl0ICE9IG1fcmVzb3VyY2VzLmVuZCgpICYmIGl0LT5zZWNvbmQubG9j
a0ZvclJlYWRDb3VudCA+IDApOwotICAgIGl0LT5zZWNvbmQubG9ja0ZvclJlYWRDb3VudC0tOwot
fQotCi1jb25zdCBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlKiBDQ1Jlc291cmNlUHJvdmlk
ZXI6OmxvY2tGb3JXcml0ZShSZXNvdXJjZUlkIGlkKQotewotICAgIEFTU0VSVChDQ1Byb3h5Ojpp
c0ltcGxUaHJlYWQoKSk7Ci0gICAgUmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGl0ID0gbV9yZXNvdXJj
ZXMuZmluZChpZCk7Ci0gICAgQVNTRVJUKGl0ICE9IG1fcmVzb3VyY2VzLmVuZCgpICYmICFpdC0+
c2Vjb25kLmxvY2tlZEZvcldyaXRlICYmICFpdC0+c2Vjb25kLmxvY2tGb3JSZWFkQ291bnQgJiYg
IWl0LT5zZWNvbmQuZXh0ZXJuYWwpOwotICAgIGl0LT5zZWNvbmQubG9ja2VkRm9yV3JpdGUgPSB0
cnVlOwotICAgIHJldHVybiAmaXQtPnNlY29uZDsKLX0KLQotdm9pZCBDQ1Jlc291cmNlUHJvdmlk
ZXI6OnVubG9ja0ZvcldyaXRlKFJlc291cmNlSWQgaWQpCi17Ci0gICAgQVNTRVJUKENDUHJveHk6
OmlzSW1wbFRocmVhZCgpKTsKLSAgICBSZXNvdXJjZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3Jlc291
cmNlcy5maW5kKGlkKTsKLSAgICBBU1NFUlQoaXQgIT0gbV9yZXNvdXJjZXMuZW5kKCkgJiYgaXQt
PnNlY29uZC5sb2NrZWRGb3JXcml0ZSAmJiAhaXQtPnNlY29uZC5leHRlcm5hbCk7Ci0gICAgaXQt
PnNlY29uZC5sb2NrZWRGb3JXcml0ZSA9IGZhbHNlOwotfQotCi1DQ1Jlc291cmNlUHJvdmlkZXI6
OlNjb3BlZFJlYWRMb2NrR0w6OlNjb3BlZFJlYWRMb2NrR0woQ0NSZXNvdXJjZVByb3ZpZGVyKiBy
ZXNvdXJjZVByb3ZpZGVyLCBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgcmVzb3VyY2VJ
ZCkKLSAgICA6IG1fcmVzb3VyY2VQcm92aWRlcihyZXNvdXJjZVByb3ZpZGVyKQotICAgICwgbV9y
ZXNvdXJjZUlkKHJlc291cmNlSWQpCi0gICAgLCBtX3RleHR1cmVJZChyZXNvdXJjZVByb3ZpZGVy
LT5sb2NrRm9yUmVhZChyZXNvdXJjZUlkKS0+Z2xJZCkKLXsKLSAgICBBU1NFUlQobV90ZXh0dXJl
SWQpOwotfQotCi1DQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrR0w6On5TY29wZWRS
ZWFkTG9ja0dMKCkKLXsKLSAgICBtX3Jlc291cmNlUHJvdmlkZXItPnVubG9ja0ZvclJlYWQobV9y
ZXNvdXJjZUlkKTsKLX0KLQotQ0NSZXNvdXJjZVByb3ZpZGVyOjpTY29wZWRXcml0ZUxvY2tHTDo6
U2NvcGVkV3JpdGVMb2NrR0woQ0NSZXNvdXJjZVByb3ZpZGVyKiByZXNvdXJjZVByb3ZpZGVyLCBD
Q1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgcmVzb3VyY2VJZCkKLSAgICA6IG1fcmVzb3Vy
Y2VQcm92aWRlcihyZXNvdXJjZVByb3ZpZGVyKQotICAgICwgbV9yZXNvdXJjZUlkKHJlc291cmNl
SWQpCi0gICAgLCBtX3RleHR1cmVJZChyZXNvdXJjZVByb3ZpZGVyLT5sb2NrRm9yV3JpdGUocmVz
b3VyY2VJZCktPmdsSWQpCi17Ci0gICAgQVNTRVJUKG1fdGV4dHVyZUlkKTsKLX0KLQotQ0NSZXNv
dXJjZVByb3ZpZGVyOjpTY29wZWRXcml0ZUxvY2tHTDo6flNjb3BlZFdyaXRlTG9ja0dMKCkKLXsK
LSAgICBtX3Jlc291cmNlUHJvdmlkZXItPnVubG9ja0ZvcldyaXRlKG1fcmVzb3VyY2VJZCk7Ci19
Ci0KLXZvaWQgQ0NSZXNvdXJjZVByb3ZpZGVyOjpwb3B1bGF0ZVNrQml0bWFwV2l0aFJlc291cmNl
KFNrQml0bWFwKiBza0JpdG1hcCwgY29uc3QgUmVzb3VyY2UqIHJlc291cmNlKQotewotICAgIEFT
U0VSVChyZXNvdXJjZS0+cGl4ZWxzKTsKLSAgICBBU1NFUlQocmVzb3VyY2UtPmZvcm1hdCA9PSBH
cmFwaGljc0NvbnRleHQzRDo6UkdCQSk7Ci0gICAgc2tCaXRtYXAtPnNldENvbmZpZyhTa0JpdG1h
cDo6a0FSR0JfODg4OF9Db25maWcsIHJlc291cmNlLT5zaXplLndpZHRoKCksIHJlc291cmNlLT5z
aXplLmhlaWdodCgpKTsKLSAgICBza0JpdG1hcC0+c2V0UGl4ZWxzKHJlc291cmNlLT5waXhlbHMp
OwotfQotCi1DQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrU29mdHdhcmU6OlNjb3Bl
ZFJlYWRMb2NrU29mdHdhcmUoQ0NSZXNvdXJjZVByb3ZpZGVyKiByZXNvdXJjZVByb3ZpZGVyLCBD
Q1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgcmVzb3VyY2VJZCkKLSAgICA6IG1fcmVzb3Vy
Y2VQcm92aWRlcihyZXNvdXJjZVByb3ZpZGVyKQotICAgICwgbV9yZXNvdXJjZUlkKHJlc291cmNl
SWQpCi17Ci0gICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpwb3B1bGF0ZVNrQml0bWFwV2l0aFJlc291
cmNlKCZtX3NrQml0bWFwLCByZXNvdXJjZVByb3ZpZGVyLT5sb2NrRm9yUmVhZChyZXNvdXJjZUlk
KSk7Ci19Ci0KLUNDUmVzb3VyY2VQcm92aWRlcjo6U2NvcGVkUmVhZExvY2tTb2Z0d2FyZTo6flNj
b3BlZFJlYWRMb2NrU29mdHdhcmUoKQotewotICAgIG1fcmVzb3VyY2VQcm92aWRlci0+dW5sb2Nr
Rm9yUmVhZChtX3Jlc291cmNlSWQpOwotfQotCi1DQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFdy
aXRlTG9ja1NvZnR3YXJlOjpTY29wZWRXcml0ZUxvY2tTb2Z0d2FyZShDQ1Jlc291cmNlUHJvdmlk
ZXIqIHJlc291cmNlUHJvdmlkZXIsIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCByZXNv
dXJjZUlkKQotICAgIDogbV9yZXNvdXJjZVByb3ZpZGVyKHJlc291cmNlUHJvdmlkZXIpCi0gICAg
LCBtX3Jlc291cmNlSWQocmVzb3VyY2VJZCkKLXsKLSAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OnBv
cHVsYXRlU2tCaXRtYXBXaXRoUmVzb3VyY2UoJm1fc2tCaXRtYXAsIHJlc291cmNlUHJvdmlkZXIt
PmxvY2tGb3JXcml0ZShyZXNvdXJjZUlkKSk7Ci0gICAgbV9za0NhbnZhcy5zZXRCaXRtYXBEZXZp
Y2UobV9za0JpdG1hcCk7Ci19Ci0KLUNDUmVzb3VyY2VQcm92aWRlcjo6U2NvcGVkV3JpdGVMb2Nr
U29mdHdhcmU6On5TY29wZWRXcml0ZUxvY2tTb2Z0d2FyZSgpCi17Ci0gICAgbV9yZXNvdXJjZVBy
b3ZpZGVyLT51bmxvY2tGb3JXcml0ZShtX3Jlc291cmNlSWQpOworICAgIC0tKGl0LT5zZWNvbmQu
bG9ja0ZvclJlYWRDb3VudCk7CiB9CiAKIENDUmVzb3VyY2VQcm92aWRlcjo6Q0NSZXNvdXJjZVBy
b3ZpZGVyKENDR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQogICAgIDogbV9jb250ZXh0KGNvbnRl
eHQpCiAgICAgLCBtX25leHRJZCgxKQogICAgICwgbV9uZXh0Q2hpbGQoMSkKLSAgICAsIG1fZGVm
YXVsdFJlc291cmNlVHlwZShHTFRleHR1cmUpCiAgICAgLCBtX3VzZVRleHR1cmVTdG9yYWdlRXh0
KGZhbHNlKQogICAgICwgbV91c2VUZXh0dXJlVXNhZ2VIaW50KGZhbHNlKQogICAgICwgbV91c2VT
aGFsbG93Rmx1c2goZmFsc2UpCi0gICAgLCBtX21heFRleHR1cmVTaXplKElOVF9NQVgpCisgICAg
LCBtX21heFRleHR1cmVTaXplKDApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVzb3VyY2VQcm92aWRlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZXNvdXJjZVByb3Zp
ZGVyLmgKaW5kZXggZWJhZDRiOTg2NGZmYjcxMmM1NmIxMmQ4OTk1N2Q5NGFhNWQwNTZhZC4uZTky
N2QyOTJmY2RjODNlYTAxZjdlMjgxZDVjZmNmNWNjMjhiZTZjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZXNvdXJjZVByb3ZpZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZXNvdXJjZVByb3ZpZGVyLmgKQEAgLTMwLDggKzMwLDYgQEAKICNpbmNsdWRlICJDQ0dyYXBoaWNz
Q29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiSW50
U2l6ZS5oIgotI2luY2x1ZGUgIlNrQml0bWFwLmgiCi0jaW5jbHVkZSAiU2tDYW52YXMuaCIKICNp
bmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KQEAgLTQ2LDYgKzQ0LDggQEAgY2xhc3MgV2ViR3JhcGhpY3NDb250ZXh0
M0Q7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ0NTY29wZWRMb2NrUmVzb3VyY2VG
b3JSZWFkOworY2xhc3MgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JXcml0ZTsKIGNsYXNzIEludFJl
Y3Q7CiBjbGFzcyBMYXllclRleHR1cmVTdWJJbWFnZTsKIApAQCAtNTgsMTAgKzU4LDYgQEAgcHVi
bGljOgogICAgIHR5cGVkZWYgVmVjdG9yPFJlc291cmNlSWQ+IFJlc291cmNlSWRBcnJheTsKICAg
ICB0eXBlZGVmIEhhc2hNYXA8UmVzb3VyY2VJZCwgUmVzb3VyY2VJZD4gUmVzb3VyY2VJZE1hcDsK
ICAgICBlbnVtIFRleHR1cmVVc2FnZUhpbnQgeyBUZXh0dXJlVXNhZ2VBbnksIFRleHR1cmVVc2Fn
ZUZyYW1lYnVmZmVyIH07Ci0gICAgZW51bSBSZXNvdXJjZVR5cGUgewotICAgICAgICBHTFRleHR1
cmUgPSAxLAotICAgICAgICBCaXRtYXAsCi0gICAgfTsKICAgICBzdHJ1Y3QgTWFpbGJveCB7CiAg
ICAgICAgIEdDM0RieXRlIG5hbWVbNjRdOwogICAgIH07CkBAIC05MSwxOSArODcsMTEgQEAgcHVi
bGljOgogCiAgICAgLy8gUHJvZHVjZXIgaW50ZXJmYWNlLgogCi0gICAgdm9pZCBzZXREZWZhdWx0
UmVzb3VyY2VUeXBlKFJlc291cmNlVHlwZSB0eXBlKSB7IG1fZGVmYXVsdFJlc291cmNlVHlwZSA9
IHR5cGU7IH0KLSAgICBSZXNvdXJjZVR5cGUgZGVmYXVsdFJlc291cmNlVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZGVmYXVsdFJlc291cmNlVHlwZTsgfQotICAgIFJlc291cmNlVHlwZSByZXNvdXJj
ZVR5cGUoUmVzb3VyY2VJZCk7Ci0KLSAgICAvLyBDcmVhdGVzIGEgcmVzb3VyY2Ugb2YgdGhlIGRl
ZmF1bHQgcmVzb3VyY2UgdHlwZS4KKyAgICAvLyBDcmVhdGVzIGEgcmVzb3VyY2Ugb2YgdGhlIGdp
dmVuIHNpemUvZm9ybWF0LCBpbnRvIHRoZSBnaXZlbiBwb29sLgogICAgIFJlc291cmNlSWQgY3Jl
YXRlUmVzb3VyY2UoaW50IHBvb2wsIGNvbnN0IEludFNpemUmLCBHQzNEZW51bSBmb3JtYXQsIFRl
eHR1cmVVc2FnZUhpbnQpOwogCi0gICAgLy8gWW91IGNhbiBhbHNvIGV4cGxpY2l0bHkgY3JlYXRl
IGEgc3BlY2lmaWMgcmVzb3VyY2UgdHlwZS4KLSAgICBSZXNvdXJjZUlkIGNyZWF0ZUdMVGV4dHVy
ZShpbnQgcG9vbCwgY29uc3QgSW50U2l6ZSYsIEdDM0RlbnVtIGZvcm1hdCwgVGV4dHVyZVVzYWdl
SGludCk7Ci0gICAgUmVzb3VyY2VJZCBjcmVhdGVCaXRtYXAoaW50IHBvb2wsIGNvbnN0IEludFNp
emUmKTsKLSAgICAvLyBXcmFwcyBhbiBleHRlcm5hbCB0ZXh0dXJlIGludG8gYSBHTCByZXNvdXJj
ZS4KKyAgICAvLyBXcmFwcyBhbiBleHRlcm5hbCB0ZXh0dXJlIGludG8gYSByZXNvdXJjZS4KICAg
ICBSZXNvdXJjZUlkIGNyZWF0ZVJlc291cmNlRnJvbUV4dGVybmFsVGV4dHVyZSh1bnNpZ25lZCB0
ZXh0dXJlSWQpOwotCiAgICAgdm9pZCBkZWxldGVSZXNvdXJjZShSZXNvdXJjZUlkKTsKIAogICAg
IC8vIERlbGV0ZXMgYWxsIHJlc291cmNlcyBvd25lZCBieSBhIGdpdmVuIHBvb2wuCkBAIC0xNTks
NzIgKzE0NywxMyBAQCBwdWJsaWM6CiAgICAgLy8gT25seSBmb3IgdGVzdGluZwogICAgIHNpemVf
dCBtYWlsYm94Q291bnQoKSBjb25zdCB7IHJldHVybiBtX21haWxib3hlcy5zaXplKCk7IH0KIAot
ICAgIC8vIFRoZSBmb2xsb3dpbmcgbG9jayBjbGFzc2VzIGFyZSBwYXJ0IG9mIHRoZSBDQ1Jlc291
cmNlUHJvdmlkZXIgQVBJIGFuZCBhcmUKLSAgICAvLyBuZWVkZWQgdG8gcmVhZCBhbmQgd3JpdGUg
dGhlIHJlc291cmNlIGNvbnRlbnRzLiBUaGUgdXNlciBtdXN0IGVuc3VyZQotICAgIC8vIHRoYXQg
dGhleSBvbmx5IHVzZSBHTCBsb2NrcyBvbiBHTCByZXNvdXJjZXMsIGV0YywgYW5kIHRoaXMgaXMg
ZW5mb3JjZWQKLSAgICAvLyBieSBhc3NlcnRpb25zLgotICAgIGNsYXNzIFNjb3BlZFJlYWRMb2Nr
R0wgewotICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY29wZWRSZWFkTG9ja0dMKTsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIFNjb3BlZFJlYWRMb2NrR0woQ0NSZXNvdXJjZVByb3ZpZGVyKiwg
Q0NSZXNvdXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkKTsKLSAgICAgICAgflNjb3BlZFJlYWRMb2Nr
R0woKTsKLQotICAgICAgICB1bnNpZ25lZCB0ZXh0dXJlSWQoKSBjb25zdCB7IHJldHVybiBtX3Rl
eHR1cmVJZDsgfQotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyKiBt
X3Jlc291cmNlUHJvdmlkZXI7Ci0gICAgICAgIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJ
ZCBtX3Jlc291cmNlSWQ7Ci0gICAgICAgIHVuc2lnbmVkIG1fdGV4dHVyZUlkOwotICAgIH07Ci0K
LSAgICBjbGFzcyBTY29wZWRXcml0ZUxvY2tHTCB7Ci0gICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjb3BlZFdyaXRlTG9ja0dMKTsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFNjb3BlZFdyaXRl
TG9ja0dMKENDUmVzb3VyY2VQcm92aWRlciosIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJ
ZCk7Ci0gICAgICAgIH5TY29wZWRXcml0ZUxvY2tHTCgpOwotCi0gICAgICAgIHVuc2lnbmVkIHRl
eHR1cmVJZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dHVyZUlkOyB9Ci0KLSAgICBwcml2YXRlOgot
ICAgICAgICBDQ1Jlc291cmNlUHJvdmlkZXIqIG1fcmVzb3VyY2VQcm92aWRlcjsKLSAgICAgICAg
Q0NSZXNvdXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkIG1fcmVzb3VyY2VJZDsKLSAgICAgICAgdW5z
aWduZWQgbV90ZXh0dXJlSWQ7Ci0gICAgfTsKLQotICAgIGNsYXNzIFNjb3BlZFJlYWRMb2NrU29m
dHdhcmUgewotICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY29wZWRSZWFkTG9ja1NvZnR3
YXJlKTsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFNjb3BlZFJlYWRMb2NrU29mdHdhcmUoQ0NSZXNv
dXJjZVByb3ZpZGVyKiwgQ0NSZXNvdXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkKTsKLSAgICAgICAg
flNjb3BlZFJlYWRMb2NrU29mdHdhcmUoKTsKLQotICAgICAgICBjb25zdCBTa0JpdG1hcCogc2tC
aXRtYXAoKSBjb25zdCB7IHJldHVybiAmbV9za0JpdG1hcDsgfQotCi0gICAgcHJpdmF0ZToKLSAg
ICAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyKiBtX3Jlc291cmNlUHJvdmlkZXI7Ci0gICAgICAgIEND
UmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBtX3Jlc291cmNlSWQ7Ci0gICAgICAgIFNrQml0
bWFwIG1fc2tCaXRtYXA7Ci0gICAgfTsKLQotICAgIGNsYXNzIFNjb3BlZFdyaXRlTG9ja1NvZnR3
YXJlIHsKLSAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVkV3JpdGVMb2NrU29mdHdh
cmUpOwotICAgIHB1YmxpYzoKLSAgICAgICAgU2NvcGVkV3JpdGVMb2NrU29mdHdhcmUoQ0NSZXNv
dXJjZVByb3ZpZGVyKiwgQ0NSZXNvdXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkKTsKLSAgICAgICAg
flNjb3BlZFdyaXRlTG9ja1NvZnR3YXJlKCk7Ci0KLSAgICAgICAgU2tDYW52YXMqIHNrQ2FudmFz
KCkgeyByZXR1cm4gJm1fc2tDYW52YXM7IH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIENDUmVz
b3VyY2VQcm92aWRlciogbV9yZXNvdXJjZVByb3ZpZGVyOwotICAgICAgICBDQ1Jlc291cmNlUHJv
dmlkZXI6OlJlc291cmNlSWQgbV9yZXNvdXJjZUlkOwotICAgICAgICBTa0JpdG1hcCBtX3NrQml0
bWFwOwotICAgICAgICBTa0NhbnZhcyBtX3NrQ2FudmFzOwotICAgIH07Ci0KIHByaXZhdGU6Cisg
ICAgZnJpZW5kIGNsYXNzIENDU2NvcGVkTG9ja1Jlc291cmNlRm9yUmVhZDsKKyAgICBmcmllbmQg
Y2xhc3MgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JXcml0ZTsKKwogICAgIHN0cnVjdCBSZXNvdXJj
ZSB7CiAgICAgICAgIFJlc291cmNlKCkKICAgICAgICAgICAgIDogZ2xJZCgwKQotICAgICAgICAg
ICAgLCBwaXhlbHMoMCkKICAgICAgICAgICAgICwgcG9vbCgwKQogICAgICAgICAgICAgLCBsb2Nr
Rm9yUmVhZENvdW50KDApCiAgICAgICAgICAgICAsIGxvY2tlZEZvcldyaXRlKGZhbHNlKQpAQCAt
MjMyLDIzICsxNjEsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgLCBleHBvcnRlZChmYWxzZSkK
ICAgICAgICAgICAgICwgc2l6ZSgpCiAgICAgICAgICAgICAsIGZvcm1hdCgwKQotICAgICAgICAg
ICAgLCB0eXBlKHN0YXRpY19jYXN0PFJlc291cmNlVHlwZT4oMCkpCiAgICAgICAgIHsgfQogICAg
ICAgICBSZXNvdXJjZSh1bnNpZ25lZCB0ZXh0dXJlSWQsIGludCBwb29sLCBjb25zdCBJbnRTaXpl
JiBzaXplLCBHQzNEZW51bSBmb3JtYXQpCiAgICAgICAgICAgICA6IGdsSWQodGV4dHVyZUlkKQot
ICAgICAgICAgICAgLCBwaXhlbHMoMCkKLSAgICAgICAgICAgICwgcG9vbChwb29sKQotICAgICAg
ICAgICAgLCBsb2NrRm9yUmVhZENvdW50KDApCi0gICAgICAgICAgICAsIGxvY2tlZEZvcldyaXRl
KGZhbHNlKQotICAgICAgICAgICAgLCBleHRlcm5hbChmYWxzZSkKLSAgICAgICAgICAgICwgZXhw
b3J0ZWQoZmFsc2UpCi0gICAgICAgICAgICAsIHNpemUoc2l6ZSkKLSAgICAgICAgICAgICwgZm9y
bWF0KGZvcm1hdCkKLSAgICAgICAgICAgICwgdHlwZShHTFRleHR1cmUpCi0gICAgICAgIHsgfQot
ICAgICAgICBSZXNvdXJjZSh1aW50OF90KiBwaXhlbHMsIGludCBwb29sLCBjb25zdCBJbnRTaXpl
JiBzaXplLCBHQzNEZW51bSBmb3JtYXQpCi0gICAgICAgICAgICA6IGdsSWQoMCkKLSAgICAgICAg
ICAgICwgcGl4ZWxzKHBpeGVscykKICAgICAgICAgICAgICwgcG9vbChwb29sKQogICAgICAgICAg
ICAgLCBsb2NrRm9yUmVhZENvdW50KDApCiAgICAgICAgICAgICAsIGxvY2tlZEZvcldyaXRlKGZh
bHNlKQpAQCAtMjU2LDEwICsxNzEsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgLCBleHBvcnRl
ZChmYWxzZSkKICAgICAgICAgICAgICwgc2l6ZShzaXplKQogICAgICAgICAgICAgLCBmb3JtYXQo
Zm9ybWF0KQotICAgICAgICAgICAgLCB0eXBlKEJpdG1hcCkKICAgICAgICAgeyB9CiAgICAgICAg
IHVuc2lnbmVkIGdsSWQ7Ci0gICAgICAgIHVpbnQ4X3QqIHBpeGVsczsKICAgICAgICAgaW50IHBv
b2w7CiAgICAgICAgIGludCBsb2NrRm9yUmVhZENvdW50OwogICAgICAgICBib29sIGxvY2tlZEZv
cldyaXRlOwpAQCAtMjY3LDcgKzE4MCw2IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXhwb3J0
ZWQ7CiAgICAgICAgIEludFNpemUgc2l6ZTsKICAgICAgICAgR0MzRGVudW0gZm9ybWF0OwotICAg
ICAgICBSZXNvdXJjZVR5cGUgdHlwZTsKICAgICB9OwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZXNv
dXJjZUlkLCBSZXNvdXJjZT4gUmVzb3VyY2VNYXA7CiAgICAgc3RydWN0IENoaWxkIHsKQEAgLTI4
MCwxMSArMTkyLDEzIEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ0NSZXNvdXJjZVByb3ZpZGVy
KENDR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgYm9vbCBpbml0aWFsaXplKCk7CiAKLSAgICBjb25z
dCBSZXNvdXJjZSogbG9ja0ZvclJlYWQoUmVzb3VyY2VJZCk7Ci0gICAgdm9pZCB1bmxvY2tGb3JS
ZWFkKFJlc291cmNlSWQpOwotICAgIGNvbnN0IFJlc291cmNlKiBsb2NrRm9yV3JpdGUoUmVzb3Vy
Y2VJZCk7CisgICAgLy8gR2V0cyBhIEdMIHRleHR1cmUgaWQgcmVwcmVzZW50aW5nIHRoZSByZXNv
dXJjZSwgdGhhdCBjYW4gYmUgcmVuZGVyZWQgaW50by4KKyAgICB1bnNpZ25lZCBsb2NrRm9yV3Jp
dGUoUmVzb3VyY2VJZCk7CiAgICAgdm9pZCB1bmxvY2tGb3JXcml0ZShSZXNvdXJjZUlkKTsKLSAg
ICBzdGF0aWMgdm9pZCBwb3B1bGF0ZVNrQml0bWFwV2l0aFJlc291cmNlKFNrQml0bWFwKiwgY29u
c3QgUmVzb3VyY2UqKTsKKworICAgIC8vIEdldHMgYSBHTCB0ZXh0dXJlIGlkIHJlcHJlc2VudGlu
ZyB0aGUgcmVzb3VyY2UsIHRoYXQgY2FuIGJlIHJlbmRlcmVkIHdpdGguCisgICAgdW5zaWduZWQg
bG9ja0ZvclJlYWQoUmVzb3VyY2VJZCk7CisgICAgdm9pZCB1bmxvY2tGb3JSZWFkKFJlc291cmNl
SWQpOwogCiAgICAgYm9vbCB0cmFuc2ZlclJlc291cmNlKFdlYktpdDo6V2ViR3JhcGhpY3NDb250
ZXh0M0QqLCBSZXNvdXJjZUlkLCBUcmFuc2ZlcmFibGVSZXNvdXJjZSopOwogICAgIHZvaWQgdHJp
bU1haWxib3hEZXF1ZSgpOwpAQCAtMjk3LDcgKzIxMSw2IEBAIHByaXZhdGU6CiAKICAgICBEZXF1
ZTxNYWlsYm94PiBtX21haWxib3hlczsKIAotICAgIFJlc291cmNlVHlwZSBtX2RlZmF1bHRSZXNv
dXJjZVR5cGU7CiAgICAgYm9vbCBtX3VzZVRleHR1cmVTdG9yYWdlRXh0OwogICAgIGJvb2wgbV91
c2VUZXh0dXJlVXNhZ2VIaW50OwogICAgIGJvb2wgbV91c2VTaGFsbG93Rmx1c2g7CkBAIC0zMDUs
NiArMjE4LDUxIEBAIHByaXZhdGU6CiAgICAgaW50IG1fbWF4VGV4dHVyZVNpemU7CiB9OwogCitj
bGFzcyBDQ1Njb3BlZExvY2tSZXNvdXJjZUZvclJlYWQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENDU2NvcGVkTG9ja1Jlc291cmNlRm9yUmVhZCk7CitwdWJsaWM6CisgICAgQ0NTY29wZWRM
b2NrUmVzb3VyY2VGb3JSZWFkKENDUmVzb3VyY2VQcm92aWRlciogcmVzb3VyY2VQcm92aWRlciwg
Q0NSZXNvdXJjZVByb3ZpZGVyOjpSZXNvdXJjZUlkIHJlc291cmNlSWQpCisgICAgICAgIDogbV9y
ZXNvdXJjZVByb3ZpZGVyKHJlc291cmNlUHJvdmlkZXIpCisgICAgICAgICwgbV9yZXNvdXJjZUlk
KHJlc291cmNlSWQpCisgICAgICAgICwgbV90ZXh0dXJlSWQocmVzb3VyY2VQcm92aWRlci0+bG9j
a0ZvclJlYWQocmVzb3VyY2VJZCkpCisgICAgeworICAgICAgICBBU1NFUlQobV90ZXh0dXJlSWQp
OworICAgIH0KKworICAgIH5DQ1Njb3BlZExvY2tSZXNvdXJjZUZvclJlYWQoKQorICAgIHsKKyAg
ICAgICAgbV9yZXNvdXJjZVByb3ZpZGVyLT51bmxvY2tGb3JSZWFkKG1fcmVzb3VyY2VJZCk7Cisg
ICAgfQorCisgICAgdW5zaWduZWQgdGV4dHVyZUlkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJl
SWQ7IH0KKworcHJpdmF0ZToKKyAgICBDQ1Jlc291cmNlUHJvdmlkZXIqIG1fcmVzb3VyY2VQcm92
aWRlcjsKKyAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgbV9yZXNvdXJjZUlkOwor
ICAgIHVuc2lnbmVkIG1fdGV4dHVyZUlkOworfTsKKworY2xhc3MgQ0NTY29wZWRMb2NrUmVzb3Vy
Y2VGb3JXcml0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NTY29wZWRMb2NrUmVzb3Vy
Y2VGb3JXcml0ZSk7CitwdWJsaWM6CisgICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JXcml0ZShD
Q1Jlc291cmNlUHJvdmlkZXIqIHJlc291cmNlUHJvdmlkZXIsIENDUmVzb3VyY2VQcm92aWRlcjo6
UmVzb3VyY2VJZCByZXNvdXJjZUlkKQorICAgICAgICA6IG1fcmVzb3VyY2VQcm92aWRlcihyZXNv
dXJjZVByb3ZpZGVyKQorICAgICAgICAsIG1fcmVzb3VyY2VJZChyZXNvdXJjZUlkKQorICAgICAg
ICAsIG1fdGV4dHVyZUlkKHJlc291cmNlUHJvdmlkZXItPmxvY2tGb3JXcml0ZShyZXNvdXJjZUlk
KSkgeyB9CisKKyAgICB+Q0NTY29wZWRMb2NrUmVzb3VyY2VGb3JXcml0ZSgpCisgICAgeworICAg
ICAgICBtX3Jlc291cmNlUHJvdmlkZXItPnVubG9ja0ZvcldyaXRlKG1fcmVzb3VyY2VJZCk7Cisg
ICAgfQorCisgICAgdW5zaWduZWQgdGV4dHVyZUlkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJl
SWQ7IH0KKworcHJpdmF0ZToKKyAgICBDQ1Jlc291cmNlUHJvdmlkZXIqIG1fcmVzb3VyY2VQcm92
aWRlcjsKKyAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgbV9yZXNvdXJjZUlkOwor
ICAgIHVuc2lnbmVkIG1fdGV4dHVyZUlkOworfTsKKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZXNvdXJjZVByb3ZpZGVyVGVzdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVzb3VyY2VQcm92aWRlclRlc3QuY3Bw
CmluZGV4IGU1NWMzYzVkNzI0YWEzYTg0NTUxNzE1MmM0MTk3OWVmMTNhYjE2ZjQuLjllODU5OWMw
ZjNmNjcxYjY4MGRlMGZmZDI0ODA4MDMyZmNmZTc4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NSZXNvdXJjZVByb3ZpZGVyVGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1Jlc291cmNlUHJvdmlkZXJUZXN0LmNwcApAQCAtMjg3
LDM2ICsyODcsMjMgQEAgcHJpdmF0ZToKICAgICBQZW5kaW5nUHJvZHVjZVRleHR1cmVMaXN0IG1f
cGVuZGluZ1Byb2R1Y2VUZXh0dXJlczsKIH07CiAKLWNsYXNzIENDUmVzb3VyY2VQcm92aWRlclRl
c3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdFdpdGhQYXJhbTxDQ1Jlc291cmNlUHJvdmlkZXI6OlJl
c291cmNlVHlwZT4geworY2xhc3MgQ0NSZXNvdXJjZVByb3ZpZGVyVGVzdCA6IHB1YmxpYyB0ZXN0
aW5nOjpUZXN0IHsKIHB1YmxpYzoKICAgICBDQ1Jlc291cmNlUHJvdmlkZXJUZXN0KCkKICAgICAg
ICAgOiBtX3NoYXJlZERhdGEoQ29udGV4dFNoYXJlZERhdGE6OmNyZWF0ZSgpKQogICAgICAgICAs
IG1fY29udGV4dChGYWtlV2ViQ29tcG9zaXRvck91dHB1dFN1cmZhY2U6OmNyZWF0ZShSZXNvdXJj
ZVByb3ZpZGVyQ29udGV4dDo6Y3JlYXRlKG1fc2hhcmVkRGF0YS5nZXQoKSkpKQogICAgICAgICAs
IG1fcmVzb3VyY2VQcm92aWRlcihDQ1Jlc291cmNlUHJvdmlkZXI6OmNyZWF0ZShtX2NvbnRleHQu
Z2V0KCkpKQogICAgIHsKLSAgICAgICAgbV9yZXNvdXJjZVByb3ZpZGVyLT5zZXREZWZhdWx0UmVz
b3VyY2VUeXBlKEdldFBhcmFtKCkpOwogICAgIH0KIAogICAgIFJlc291cmNlUHJvdmlkZXJDb250
ZXh0KiBjb250ZXh0KCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8UmVzb3VyY2VQcm92aWRlckNvbnRl
eHQqPihtX2NvbnRleHQtPmNvbnRleHQzRCgpKTsgfQogCiAgICAgdm9pZCBnZXRSZXNvdXJjZVBp
eGVscyhDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgaWQsIGNvbnN0IEludFNpemUmIHNp
emUsIFdHQzNEZW51bSBmb3JtYXQsIHVpbnQ4X3QqIHBpeGVscykKICAgICB7Ci0gICAgICAgIGlm
IChHZXRQYXJhbSgpID09IENDUmVzb3VyY2VQcm92aWRlcjo6R0xUZXh0dXJlKSB7Ci0gICAgICAg
ICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrR0wgbG9ja0dMKG1fcmVzb3Vy
Y2VQcm92aWRlci5nZXQoKSwgaWQpOwotICAgICAgICAgICAgQVNTRVJUX05FKDBVLCBsb2NrR0wu
dGV4dHVyZUlkKCkpOwotICAgICAgICAgICAgY29udGV4dCgpLT5iaW5kVGV4dHVyZShHcmFwaGlj
c0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgbG9ja0dMLnRleHR1cmVJZCgpKTsKLSAgICAgICAgICAg
IGNvbnRleHQoKS0+Z2V0UGl4ZWxzKHNpemUsIGZvcm1hdCwgcGl4ZWxzKTsKLSAgICAgICAgfSBl
bHNlIGlmIChHZXRQYXJhbSgpID09IENDUmVzb3VyY2VQcm92aWRlcjo6Qml0bWFwKSB7Ci0gICAg
ICAgICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrU29mdHdhcmUgbG9ja1Nv
ZnR3YXJlKG1fcmVzb3VyY2VQcm92aWRlci5nZXQoKSwgaWQpOwotICAgICAgICAgICAgbWVtY3B5
KHBpeGVscywgbG9ja1NvZnR3YXJlLnNrQml0bWFwKCktPmdldFBpeGVscygpLCBsb2NrU29mdHdh
cmUuc2tCaXRtYXAoKS0+Z2V0U2l6ZSgpKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHZvaWQg
ZXhwZWN0TnVtUmVzb3VyY2VzKGludCBjb3VudCkKLSAgICB7Ci0gICAgICAgIEVYUEVDVF9FUShj
b3VudCwgc3RhdGljX2Nhc3Q8aW50PihtX3Jlc291cmNlUHJvdmlkZXItPm51bVJlc291cmNlcygp
KSk7Ci0gICAgICAgIGlmIChHZXRQYXJhbSgpID09IENDUmVzb3VyY2VQcm92aWRlcjo6R0xUZXh0
dXJlKQotICAgICAgICAgICAgRVhQRUNUX0VRKGNvdW50LCBjb250ZXh0KCktPnRleHR1cmVDb3Vu
dCgpKTsKKyAgICAgICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFkIGxvY2sobV9yZXNvdXJj
ZVByb3ZpZGVyLmdldCgpLCBpZCk7CisgICAgICAgIEFTU0VSVF9ORSgwVSwgbG9jay50ZXh0dXJl
SWQoKSk7CisgICAgICAgIGNvbnRleHQoKS0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6
OlRFWFRVUkVfMkQsIGxvY2sudGV4dHVyZUlkKCkpOworICAgICAgICBjb250ZXh0KCktPmdldFBp
eGVscyhzaXplLCBmb3JtYXQsIHBpeGVscyk7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CkBAIC0zMjYs
NyArMzEzLDcgQEAgcHJvdGVjdGVkOgogICAgIE93blB0cjxDQ1Jlc291cmNlUHJvdmlkZXI+IG1f
cmVzb3VyY2VQcm92aWRlcjsKIH07CiAKLVRFU1RfUChDQ1Jlc291cmNlUHJvdmlkZXJUZXN0LCBC
YXNpYykKK1RFU1RfRihDQ1Jlc291cmNlUHJvdmlkZXJUZXN0LCBCYXNpYykKIHsKICAgICBJbnRT
aXplIHNpemUoMSwgMSk7CiAgICAgV0dDM0RlbnVtIGZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dDNE
OjpSR0JBOwpAQCAtMzM1LDcgKzMyMiw3IEBAIFRFU1RfUChDQ1Jlc291cmNlUHJvdmlkZXJUZXN0
LCBCYXNpYykKICAgICBBU1NFUlRfRVEoNFUsIHBpeGVsU2l6ZSk7CiAKICAgICBDQ1Jlc291cmNl
UHJvdmlkZXI6OlJlc291cmNlSWQgaWQgPSBtX3Jlc291cmNlUHJvdmlkZXItPmNyZWF0ZVJlc291
cmNlKHBvb2wsIHNpemUsIGZvcm1hdCwgQ0NSZXNvdXJjZVByb3ZpZGVyOjpUZXh0dXJlVXNhZ2VB
bnkpOwotICAgIGV4cGVjdE51bVJlc291cmNlcygxKTsKKyAgICBFWFBFQ1RfRVEoMSwgY29udGV4
dCgpLT50ZXh0dXJlQ291bnQoKSk7CiAKICAgICB1aW50OF90IGRhdGFbNF0gPSB7MSwgMiwgMywg
NH07CiAgICAgSW50UmVjdCByZWN0KEludFBvaW50KCksIHNpemUpOwpAQCAtMzQ2LDEwICszMzMs
MTAgQEAgVEVTVF9QKENDUmVzb3VyY2VQcm92aWRlclRlc3QsIEJhc2ljKQogICAgIEVYUEVDVF9F
USgwLCBtZW1jbXAoZGF0YSwgcmVzdWx0LCBwaXhlbFNpemUpKTsKIAogICAgIG1fcmVzb3VyY2VQ
cm92aWRlci0+ZGVsZXRlUmVzb3VyY2UoaWQpOwotICAgIGV4cGVjdE51bVJlc291cmNlcygwKTsK
KyAgICBFWFBFQ1RfRVEoMCwgY29udGV4dCgpLT50ZXh0dXJlQ291bnQoKSk7CiB9CiAKLVRFU1Rf
UChDQ1Jlc291cmNlUHJvdmlkZXJUZXN0LCBEZWxldGVPd25lZFJlc291cmNlcykKK1RFU1RfRihD
Q1Jlc291cmNlUHJvdmlkZXJUZXN0LCBEZWxldGVPd25lZFJlc291cmNlcykKIHsKICAgICBJbnRT
aXplIHNpemUoMSwgMSk7CiAgICAgV0dDM0RlbnVtIGZvcm1hdCA9IEdyYXBoaWNzQ29udGV4dDNE
OjpSR0JBOwpAQCAtMzU4LDE2ICszNDUsMTYgQEAgVEVTVF9QKENDUmVzb3VyY2VQcm92aWRlclRl
c3QsIERlbGV0ZU93bmVkUmVzb3VyY2VzKQogICAgIGNvbnN0IGludCBjb3VudCA9IDM7CiAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgKytpKQogICAgICAgICBtX3Jlc291cmNlUHJvdmlk
ZXItPmNyZWF0ZVJlc291cmNlKHBvb2wsIHNpemUsIGZvcm1hdCwgQ0NSZXNvdXJjZVByb3ZpZGVy
OjpUZXh0dXJlVXNhZ2VBbnkpOwotICAgIGV4cGVjdE51bVJlc291cmNlcygzKTsKKyAgICBFWFBF
Q1RfRVEoMywgY29udGV4dCgpLT50ZXh0dXJlQ291bnQoKSk7CiAKICAgICBtX3Jlc291cmNlUHJv
dmlkZXItPmRlbGV0ZU93bmVkUmVzb3VyY2VzKHBvb2wrMSk7Ci0gICAgZXhwZWN0TnVtUmVzb3Vy
Y2VzKDMpOworICAgIEVYUEVDVF9FUSgzLCBjb250ZXh0KCktPnRleHR1cmVDb3VudCgpKTsKIAog
ICAgIG1fcmVzb3VyY2VQcm92aWRlci0+ZGVsZXRlT3duZWRSZXNvdXJjZXMocG9vbCk7Ci0gICAg
ZXhwZWN0TnVtUmVzb3VyY2VzKDApOworICAgIEVYUEVDVF9FUSgwLCBjb250ZXh0KCktPnRleHR1
cmVDb3VudCgpKTsKIH0KIAotVEVTVF9QKENDUmVzb3VyY2VQcm92aWRlclRlc3QsIFVwbG9hZCkK
K1RFU1RfRihDQ1Jlc291cmNlUHJvdmlkZXJUZXN0LCBVcGxvYWQpCiB7CiAgICAgSW50U2l6ZSBz
aXplKDIsIDIpOwogICAgIFdHQzNEZW51bSBmb3JtYXQgPSBHcmFwaGljc0NvbnRleHQzRDo6UkdC
QTsKQEAgLTQxNSwyOCArNDAyLDEyIEBAIFRFU1RfUChDQ1Jlc291cmNlUHJvdmlkZXJUZXN0LCBV
cGxvYWQpCiAgICAgICAgIGdldFJlc291cmNlUGl4ZWxzKGlkLCBzaXplLCBmb3JtYXQsIHJlc3Vs
dCk7CiAgICAgICAgIEVYUEVDVF9FUSgwLCBtZW1jbXAoZXhwZWN0ZWQsIHJlc3VsdCwgcGl4ZWxT
aXplKSk7CiAgICAgfQotICAgIHsKLSAgICAgICAgSW50UmVjdCBvZmZzZXRJbWFnZVJlY3QoSW50
UG9pbnQoMTAwLCAxMDApLCBzaXplKTsKLSAgICAgICAgSW50UmVjdCBzb3VyY2VSZWN0KDEwMCwg
MTAwLCAxLCAxKTsKLSAgICAgICAgSW50U2l6ZSBkZXN0T2Zmc2V0KDEsIDApOwotICAgICAgICBt
X3Jlc291cmNlUHJvdmlkZXItPnVwbG9hZChpZCwgaW1hZ2UsIG9mZnNldEltYWdlUmVjdCwgc291
cmNlUmVjdCwgZGVzdE9mZnNldCk7Ci0KLSAgICAgICAgdWludDhfdCBleHBlY3RlZFsxNl0gPSB7
MCwgMSwgMiwgMywgICAwLCAxLCAyLCAzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA0LCA1LCA2LCA3LCAgIDAsIDEsIDIsIDN9OwotICAgICAgICBnZXRSZXNvdXJjZVBpeGVscyhp
ZCwgc2l6ZSwgZm9ybWF0LCByZXN1bHQpOwotICAgICAgICBFWFBFQ1RfRVEoMCwgbWVtY21wKGV4
cGVjdGVkLCByZXN1bHQsIHBpeGVsU2l6ZSkpOwotICAgIH0KLQogCiAgICAgbV9yZXNvdXJjZVBy
b3ZpZGVyLT5kZWxldGVSZXNvdXJjZShpZCk7CiB9CiAKLVRFU1RfUChDQ1Jlc291cmNlUHJvdmlk
ZXJUZXN0LCBUcmFuc2ZlclJlc291cmNlcykKK1RFU1RfRihDQ1Jlc291cmNlUHJvdmlkZXJUZXN0
LCBUcmFuc2ZlclJlc291cmNlcykKIHsKLSAgICAvLyBSZXNvdXJjZSB0cmFuc2ZlciBpcyBvbmx5
IHN1cHBvcnRlZCB3aXRoIEdMIHRleHR1cmVzIGZvciBub3cuCi0gICAgaWYgKEdldFBhcmFtKCkg
IT0gQ0NSZXNvdXJjZVByb3ZpZGVyOjpHTFRleHR1cmUpCi0gICAgICAgIHJldHVybjsKLQogICAg
IE93blB0cjxDQ0dyYXBoaWNzQ29udGV4dD4gY2hpbGRDb250ZXh0KEZha2VXZWJDb21wb3NpdG9y
T3V0cHV0U3VyZmFjZTo6Y3JlYXRlKFJlc291cmNlUHJvdmlkZXJDb250ZXh0OjpjcmVhdGUobV9z
aGFyZWREYXRhLmdldCgpKSkpOwogICAgIE93blB0cjxDQ1Jlc291cmNlUHJvdmlkZXI+IGNoaWxk
UmVzb3VyY2VQcm92aWRlcihDQ1Jlc291cmNlUHJvdmlkZXI6OmNyZWF0ZShjaGlsZENvbnRleHQu
Z2V0KCkpKTsKIApAQCAtNTE1LDE0ICs0ODYsMTQgQEAgVEVTVF9QKENDUmVzb3VyY2VQcm92aWRl
clRlc3QsIFRyYW5zZmVyUmVzb3VyY2VzKQogCiAgICAgUmVzb3VyY2VQcm92aWRlckNvbnRleHQq
IGNoaWxkQ29udGV4dDNEID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VQcm92aWRlckNvbnRleHQqPihj
aGlsZENvbnRleHQtPmNvbnRleHQzRCgpKTsKICAgICB7Ci0gICAgICAgIENDUmVzb3VyY2VQcm92
aWRlcjo6U2NvcGVkUmVhZExvY2tHTCBsb2NrKGNoaWxkUmVzb3VyY2VQcm92aWRlci5nZXQoKSwg
aWQxKTsKKyAgICAgICAgQ0NTY29wZWRMb2NrUmVzb3VyY2VGb3JSZWFkIGxvY2soY2hpbGRSZXNv
dXJjZVByb3ZpZGVyLmdldCgpLCBpZDEpOwogICAgICAgICBBU1NFUlRfTkUoMFUsIGxvY2sudGV4
dHVyZUlkKCkpOwogICAgICAgICBjaGlsZENvbnRleHQzRC0+YmluZFRleHR1cmUoR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfMkQsIGxvY2sudGV4dHVyZUlkKCkpOwogICAgICAgICBjaGlsZENv
bnRleHQzRC0+Z2V0UGl4ZWxzKHNpemUsIGZvcm1hdCwgcmVzdWx0KTsKICAgICAgICAgRVhQRUNU
X0VRKDAsIG1lbWNtcChkYXRhMSwgcmVzdWx0LCBwaXhlbFNpemUpKTsKICAgICB9CiAgICAgewot
ICAgICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlNjb3BlZFJlYWRMb2NrR0wgbG9jayhjaGlsZFJl
c291cmNlUHJvdmlkZXIuZ2V0KCksIGlkMik7CisgICAgICAgIENDU2NvcGVkTG9ja1Jlc291cmNl
Rm9yUmVhZCBsb2NrKGNoaWxkUmVzb3VyY2VQcm92aWRlci5nZXQoKSwgaWQyKTsKICAgICAgICAg
QVNTRVJUX05FKDBVLCBsb2NrLnRleHR1cmVJZCgpKTsKICAgICAgICAgY2hpbGRDb250ZXh0M0Qt
PmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBsb2NrLnRleHR1cmVJ
ZCgpKTsKICAgICAgICAgY2hpbGRDb250ZXh0M0QtPmdldFBpeGVscyhzaXplLCBmb3JtYXQsIHJl
c3VsdCk7CkBAIC01NDgsOSArNTE5LDQgQEAgVEVTVF9QKENDUmVzb3VyY2VQcm92aWRlclRlc3Qs
IFRyYW5zZmVyUmVzb3VyY2VzKQogICAgIEVYUEVDVF9FUSgwdSwgbV9yZXNvdXJjZVByb3ZpZGVy
LT5tYWlsYm94Q291bnQoKSk7CiB9CiAKLUlOU1RBTlRJQVRFX1RFU1RfQ0FTRV9QKENDUmVzb3Vy
Y2VQcm92aWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgQ0NSZXNvdXJjZVByb3Zp
ZGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgIDo6dGVzdGluZzo6VmFsdWVzKENDUmVz
b3VyY2VQcm92aWRlcjo6R0xUZXh0dXJlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ0NSZXNvdXJjZVByb3ZpZGVyOjpCaXRtYXApKTsKLQogfSAvLyBuYW1lc3Bh
Y2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>