<?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>92356</bug_id>
          
          <creation_ts>2012-07-26 02:22:55 -0700</creation_ts>
          <short_desc>REGRESSION(r123715): Breaks compilation on multiple platforms (Requested by vsevik on #webkit).</short_desc>
          <delta_ts>2012-07-26 02:32:49 -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>92108</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>pfeldman</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>679079</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 02:22:55 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/123715 broke the build:
Breaks compilation on multiple platforms (Requested by vsevik 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>679081</commentid>
    <comment_count>1</comment_count>
      <attachid>154588</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 02:23:34 -0700</bug_when>
    <thetext>Created attachment 154588
ROLLOUT of r123715

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>679085</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-26 02:32:49 -0700</bug_when>
    <thetext>Committed r123719: &lt;http://trac.webkit.org/changeset/123719&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154588</attachid>
            <date>2012-07-26 02:23:34 -0700</date>
            <delta_ts>2012-07-26 02:32:42 -0700</delta_ts>
            <desc>ROLLOUT of r123715</desc>
            <filename>bug-92356-20120726092907.patch</filename>
            <type>text/plain</type>
            <size>39289</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgxMDEwZTA0NDA5Yjhm
NTcyMGQ3ZGY1MjY0NDg0MGUzNTI3OGJhZi4uYmVhOGNkNWMxZjYxMzJkOGFhNjYyZTNlMzI3M2Ex
ZTRmNmZhMGZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTA3LTI2ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTIzNzE1LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjM3MTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyMzU2CisKKyAgICAgICAgQnJlYWtzIGNvbXBpbGF0aW9uIG9uIG11bHRpcGxl
IHBsYXRmb3JtcyAoUmVxdWVzdGVkIGJ5IHZzZXZpaworICAgICAgICBvbiAjd2Via2l0KS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdGVkUGFnZURlc3Ryb3llZCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmg6CisgICAgICAgIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmdldFJlc3BvbnNlQm9keSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvclJlc291
cmNlQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhOjpS
ZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6OlJl
c291cmNlRGF0YTo6c2V0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3Vy
Y2VzRGF0YTo6UmVzb3VyY2VEYXRhOjpkYXRhTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Ok5l
dHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OmFwcGVuZERhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6ZGVjb2RlRGF0YVRv
Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVz
b3VyY2VDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpt
YXliZUFkZFJlc291cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2Vz
RGF0YTo6bWF5YmVEZWNvZGVEYXRhVG9Db250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdv
cmtSZXNvdXJjZXNEYXRhOjpzZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZW5zdXJlRnJlZVNwYWNlKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaDoKKyAgICAgICAgKFJlc291cmNlRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRh
OjpjYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChOZXR3b3JrUmVzb3VyY2VzRGF0YSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlOjp+Q2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6ZGVsZXRlSWZQb3NzaWJsZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmg6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXJGaXJlZCk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Y2xlYXJQcmVsb2Fkcyk6
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAg
IChDYWNoZWRSZXNvdXJjZUxvYWRlcik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpldmljdCk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKEludGVy
bmFscyk6CisKIDIwMTItMDctMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBBZGQgKmV4cGxpY2l0KiBrZXl3b3JkIHRvIGNvbnN0cnVjdG9ycyBp
biBXZWJDb3JlL3BsYXRmb3JtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKaW5kZXggYWI2ZTM3N2MxNWNhZjg1MDQxYTgwZDVlMzQ1MDYzNjcw
M2YwNWM1Yi4uYzNmOWYwOGIzMzlkYmFjMWI2NzIwOTA3OTRhNzU0OWIwMDM4Mjg4YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAt
MTY1LDggKzE2NSw2IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIo
UGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAjaWYgRU5BQkxFKEpBVkFT
Q1JJUFRfREVCVUdHRVIpCiAgICAgcnVudGltZUFnZW50LT5zZXRTY3JpcHREZWJ1Z1NlcnZlcigm
bV9kZWJ1Z2dlckFnZW50LT5zY3JpcHREZWJ1Z1NlcnZlcigpKTsKICNlbmRpZgotCi0gICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMobV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpKTsKIH0KIAogSW5zcGVjdG9yQ29udHJvbGxlcjo6fkluc3Bl
Y3RvckNvbnRyb2xsZXIoKQpAQCAtMTg1LDcgKzE4Myw2IEBAIFBhc3NPd25QdHI8SW5zcGVjdG9y
Q29udHJvbGxlcj4gSW5zcGVjdG9yQ29udHJvbGxlcjo6Y3JlYXRlKFBhZ2UqIHBhZ2UsIEluc3Bl
Y3RvCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKQog
ewogICAgIGRpc2Nvbm5lY3RGcm9udGVuZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6dW5yZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdl
dCgpKTsKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+ZGlzY29ubmVjdCgpOwogICAgIG1f
aW5zcGVjdG9yQ2xpZW50LT5pbnNwZWN0b3JEZXN0cm95ZWQoKTsKICAgICBtX2luc3BlY3RvckNs
aWVudCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDBiYzE2ZjQ5NDA3MTNlNzFjZjhlODgzMWUzZDAyZDEz
YmY1YjVjNzguLmRmYWEwYTRjNGQ1MmIwNmEyZjE0NWZiMjdiNzk3MzY3YWUyOWVkMmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCkBAIC04MCwxMCArODAsNiBAQCBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc2V0VGlt
ZXJFdmVudE5hbWUgPSAic2V0VGltZXIiOwogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNsZWFy
VGltZXJFdmVudE5hbWUgPSAiY2xlYXJUaW1lciI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
dGltZXJGaXJlZEV2ZW50TmFtZSA9ICJ0aW1lckZpcmVkIjsKIAotbmFtZXNwYWNlIHsKLXN0YXRp
YyBIYXNoU2V0PEluc3RydW1lbnRpbmdBZ2VudHMqPiogaW5zdHJ1bWVudGluZ0FnZW50c1NldCA9
IDA7Ci19Ci0KIGludCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNfZnJvbnRlbmRDb3VudGVy
ID0gMDsKIAogc3RhdGljIGJvb2wgZXZlbnRIYXNMaXN0ZW5lcnMoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIERPTVdpbmRvdyogd2luZG93LCBOb2RlKiBub2RlLCBjb25zdCBWZWN0b3I8
RXZlbnRDb250ZXh0PiYgYW5jZXN0b3JzKQpAQCAtODQ4LDE4ICs4NDQsNiBAQCB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6bG9hZGVyRGV0YWNoZWRGcm9tRnJhbWVJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqCiAgICAgICAgIGluc3BlY3RvclBhZ2VBZ2VudC0+bG9hZGVyRGV0YWNoZWRG
cm9tRnJhbWUobG9hZGVyKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxEZXN0cm95Q2FjaGVkUmVzb3VyY2VJbXBsKENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJj
ZSkKLXsKLSAgICBpZiAoIWluc3RydW1lbnRpbmdBZ2VudHNTZXQpCi0gICAgICAgIHJldHVybjsK
LSAgICBIYXNoU2V0PEluc3RydW1lbnRpbmdBZ2VudHMqPjo6aXRlcmF0b3IgZW5kID0gaW5zdHJ1
bWVudGluZ0FnZW50c1NldC0+ZW5kKCk7Ci0gICAgZm9yIChIYXNoU2V0PEluc3RydW1lbnRpbmdB
Z2VudHMqPjo6aXRlcmF0b3IgaXQgPSBpbnN0cnVtZW50aW5nQWdlbnRzU2V0LT5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9ICppdDsKLSAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIGlu
c3BlY3RvclJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNv
dXJjZUFnZW50KCkpCi0gICAgICAgICAgICBpbnNwZWN0b3JSZXNvdXJjZUFnZW50LT53aWxsRGVz
dHJveUNhY2hlZFJlc291cmNlKGNhY2hlZFJlc291cmNlKTsKLSAgICB9Ci19Ci0KIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0
ZUhUTUxJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2ln
bmVkIGludCBsZW5ndGgsIHVuc2lnbmVkIGludCBzdGFydExpbmUsIEZyYW1lKiBmcmFtZSkKIHsK
ICAgICBpbnQgdGltZWxpbmVBZ2VudElkID0gMDsKQEAgLTExNTcsMjIgKzExNDEsNiBAQCBXVEY6
OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiYgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp0aHJlYWRTcAogICAgIHJldHVybiAqaW5zdGFuY2U7CiB9CiAKLXZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKLXsKLSAgICBpZiAoIWluc3RydW1l
bnRpbmdBZ2VudHNTZXQpCi0gICAgICAgIGluc3RydW1lbnRpbmdBZ2VudHNTZXQgPSBuZXcgSGFz
aFNldDxJbnN0cnVtZW50aW5nQWdlbnRzKj4oKTsKLSAgICBpbnN0cnVtZW50aW5nQWdlbnRzU2V0
LT5hZGQoaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp1bnJlZ2lzdGVySW5zdHJ1bWVudGluZ0FnZW50cyhJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzKQotewotICAgIGlmICghaW5zdHJ1bWVudGluZ0FnZW50c1Nl
dCkKLSAgICAgICAgcmV0dXJuOwotICAgIGluc3RydW1lbnRpbmdBZ2VudHNTZXQtPnJlbW92ZShp
bnN0cnVtZW50aW5nQWdlbnRzKTsKLSAgICBpZiAoIWluc3RydW1lbnRpbmdBZ2VudHNTZXQtPnNp
emUoKSkKLSAgICAgICAgZGVsZXRlIGluc3RydW1lbnRpbmdBZ2VudHNTZXQ7Ci19Ci0KIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cmV0cmlldmVUaW1l
bGluZUFnZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQog
ewogICAgIGlmICghY29va2llLmZpcnN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDYxNDdmNzdkZWY4MzI0NzQ2Yjli
NmE3YTlkNDFiNjlhM2VhMTMzM2UuLjMyODdmNzFjYWFmYWJlMzA0NDhkMWU5YTZhOTk4YjhlNzAy
OTVmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKQEAgLTE4Nyw3ICsxODcsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgZnJhbWVEZXRhY2hlZEZyb21QYXJlbnQoRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRD
b21taXRMb2FkKEZyYW1lKiwgRG9jdW1lbnRMb2FkZXIqKTsKICAgICBzdGF0aWMgdm9pZCBsb2Fk
ZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSosIERvY3VtZW50TG9hZGVyKik7Ci0gICAgc3RhdGlj
IHZvaWQgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwogCiAgICAg
c3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsV3JpdGVIVE1MKERvY3Vt
ZW50KiwgdW5zaWduZWQgaW50IGxlbmd0aCwgdW5zaWduZWQgaW50IHN0YXJ0TGluZSk7CiAgICAg
c3RhdGljIHZvaWQgZGlkV3JpdGVIVE1MKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYsIHVuc2lnbmVkIGludCBlbmRMaW5lKTsKQEAgLTI2NCw5ICsyNjMsNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uUG9zaXRpb24qIG92ZXJyaWRlR2VvbG9jYXRpb25Qb3Np
dGlvbihQYWdlKiwgR2VvbG9jYXRpb25Qb3NpdGlvbiopOwogI2VuZGlmCiAKLSAgICBzdGF0aWMg
dm9pZCByZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMoSW5zdHJ1bWVudGluZ0FnZW50cyopOwot
ICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJJbnN0cnVtZW50aW5nQWdlbnRzKEluc3RydW1lbnRp
bmdBZ2VudHMqKTsKLQogcHJpdmF0ZToKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHN0YXRp
YyBXVEY6OlRocmVhZFNwZWNpZmljPEluc3BlY3RvclRpbWVsaW5lQWdlbnQqPiYgdGhyZWFkU3Bl
Y2lmaWNUaW1lbGluZUFnZW50Rm9yT3JwaGFuRXZlbnRzKCk7CkBAIC0zNjMsNyArMzU5LDYgQEAg
cHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBmcmFtZURldGFjaGVkRnJvbVBhcmVudEltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ29tbWl0TG9h
ZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2UqLCBEb2N1bWVudExvYWRlciopOwogICAg
IHN0YXRpYyB2b2lkIGxvYWRlckRldGFjaGVkRnJvbUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgRG9jdW1lbnRMb2FkZXIqKTsKLSAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveUNhY2hl
ZFJlc291cmNlSW1wbChDYWNoZWRSZXNvdXJjZSopOwogCiAgICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsV3JpdGVIVE1MSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiwgdW5zaWduZWQgaW50IGxlbmd0aCwgdW5zaWduZWQgaW50IHN0YXJ0TGluZSwgRnJhbWUqKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRXcml0ZUhUTUxJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSYsIHVuc2lnbmVkIGludCBlbmRMaW5lKTsKQEAgLTEyMDUsMTQgKzEyMDAs
NiBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmxvYWRlckRldGFjaGVk
RnJvbUZyYW1lKEZyYW1lKiBmcmFtZSwgRG9jdQogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShDYWNoZWRS
ZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UpCi17Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICBG
QVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKLSAgICB3aWxsRGVzdHJveUNhY2hl
ZFJlc291cmNlSW1wbChjYWNoZWRSZXNvdXJjZSk7Ci0jZW5kaWYKLX0KLQogaW5saW5lIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxX
cml0ZUhUTUwoRG9jdW1lbnQqIGRvY3VtZW50LCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCB1bnNpZ25l
ZCBpbnQgc3RhcnRMaW5lKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggNjUx
NDhiMjIxYzVhMzFjODBkMzlhYzRkNzQ2NDY0ZjVmMDU2MzQzNi4uODc3NmJiODU1MTRhZDY3MTdj
YzUwMjRmNTBjNmUyZTVjMjhlM2E4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQg
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZURhdGEodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBjaGFyCiAKICAgICBpZiAoZGF0YSkgewogICAgICAgICBOZXR3b3JrUmVz
b3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhIGNvbnN0KiByZXNvdXJjZURhdGEgPSBtX3Jlc291cmNl
c0RhdGEtPmRhdGEocmVxdWVzdElkKTsKLSAgICAgICAgaWYgKG1fcmVzb3VyY2VzRGF0YS0+cmVz
b3VyY2VUeXBlKHJlcXVlc3RJZCkgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpPdGhlclJlc291cmNl
IHx8IChyZXNvdXJjZURhdGEgJiYgaXNFcnJvclN0YXR1c0NvZGUocmVzb3VyY2VEYXRhLT5odHRw
U3RhdHVzQ29kZSgpKSAmJiByZXNvdXJjZURhdGEtPmNhY2hlZFJlc291cmNlKCkpKQorICAgICAg
ICBpZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUocmVxdWVzdElkKSA9PSBJbnNwZWN0
b3JQYWdlQWdlbnQ6Ok90aGVyUmVzb3VyY2UgfHwgKHJlc291cmNlRGF0YSAmJiBpc0Vycm9yU3Rh
dHVzQ29kZShyZXNvdXJjZURhdGEtPmh0dHBTdGF0dXNDb2RlKCkpICYmIChyZXNvdXJjZURhdGEt
PmNhY2hlZFJlc291cmNlKCkpKSkKICAgICAgICAgICAgIG1fcmVzb3VyY2VzRGF0YS0+bWF5YmVB
ZGRSZXNvdXJjZURhdGEocmVxdWVzdElkLCBkYXRhLCBkYXRhTGVuZ3RoKTsKICAgICB9CiAKQEAg
LTM2NCwyMSArMzY0LDYgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRMb2FkWEhS
U3luY2hyb25vdXNseSgpCiAgICAgbV9sb2FkaW5nWEhSU3luY2hyb25vdXNseSA9IGZhbHNlOwog
fQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxEZXN0cm95Q2FjaGVkUmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlKQotewotICAgIFZlY3RvcjxTdHJpbmc+
IHJlcXVlc3RJZHMgPSBtX3Jlc291cmNlc0RhdGEtPnJlbW92ZUNhY2hlZFJlc291cmNlKGNhY2hl
ZFJlc291cmNlKTsKLSAgICBpZiAoIXJlcXVlc3RJZHMuc2l6ZSgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBTdHJpbmcgY29udGVudDsKLSAgICBib29sIGJhc2U2NEVuY29kZWQ7Ci0gICAgaWYg
KCFJbnNwZWN0b3JQYWdlQWdlbnQ6OmNhY2hlZFJlc291cmNlQ29udGVudChjYWNoZWRSZXNvdXJj
ZSwgJmNvbnRlbnQsICZiYXNlNjRFbmNvZGVkKSkKLSAgICAgICAgcmV0dXJuOwotICAgIFZlY3Rv
cjxTdHJpbmc+OjppdGVyYXRvciBlbmQgPSByZXF1ZXN0SWRzLmVuZCgpOwotICAgIGZvciAoVmVj
dG9yPFN0cmluZz46Oml0ZXJhdG9yIGl0ID0gcmVxdWVzdElkcy5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpCi0gICAgICAgIG1fcmVzb3VyY2VzRGF0YS0+c2V0UmVzb3VyY2VDb250ZW50KCppdCwg
Y29udGVudCwgYmFzZTY0RW5jb2RlZCk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6YXBwbHlVc2VyQWdlbnRPdmVycmlkZShTdHJpbmcqIHVzZXJBZ2VudCkKIHsKICAgICBTdHJp
bmcgdXNlckFnZW50T3ZlcnJpZGUgPSBtX3N0YXRlLT5nZXRTdHJpbmcoUmVzb3VyY2VBZ2VudFN0
YXRlOjp1c2VyQWdlbnRPdmVycmlkZSk7CkBAIC01NDQsNyArNTI5LDcgQEAgdm9pZCBJbnNwZWN0
b3JSZXNvdXJjZUFnZW50OjpnZXRSZXNwb25zZUJvZHkoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5n
LCBjb25zdCBTdHIKICAgICB9CiAKICAgICBpZiAocmVzb3VyY2VEYXRhLT5oYXNDb250ZW50KCkp
IHsKLSAgICAgICAgKmJhc2U2NEVuY29kZWQgPSByZXNvdXJjZURhdGEtPmJhc2U2NEVuY29kZWQo
KTsKKyAgICAgICAgKmJhc2U2NEVuY29kZWQgPSBmYWxzZTsKICAgICAgICAgKmNvbnRlbnQgPSBy
ZXNvdXJjZURhdGEtPmNvbnRlbnQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCmluZGV4IDhk
YWIyNTMwOGIyZTZjNTU5YWE2NDhlNDM1ODc1YmI3M2M2M2MzOTYuLjU0Y2Y0OGUxZmZiNWViZDVl
MzdhZDg3YjU4YjIwZTRlYzVjNmFjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaApAQCAtMTAzLDcgKzEwMyw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpZFJlY2VpdmVYSFJSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIp
OwogICAgIHZvaWQgd2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KCk7CiAgICAgdm9pZCBkaWRMb2Fk
WEhSU3luY2hyb25vdXNseSgpOwotICAgIHZvaWQgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZSopOwogCiAgICAgdm9pZCBhcHBseVVzZXJBZ2VudE92ZXJyaWRlKFN0cmlu
ZyogdXNlckFnZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05l
dHdvcmtSZXNvdXJjZXNEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3Jr
UmVzb3VyY2VzRGF0YS5jcHAKaW5kZXggOWVmNzVmYjE0ZGE0ZDJiYjIxZDgxZmE0ZTc2OTFhNjBj
OTk3ZDY1Ny4uNjE5YTE5YWE2ZGYzN2I5MzM2OWVkYTkyODU4NTdhZDY1OGIxMDdiYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwCkBA
IC0zOCwxMCArMzgsMTAgQEAKIAogbmFtZXNwYWNlIHsKIC8vIDEwME1CCi1zdGF0aWMgc2l6ZV90
IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSA9IDEwMCAqIDEwMDAgKiAxMDAwOworc3RhdGlj
IGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUgPSAxMDAgKiAxMDAwICogMTAwMDsKIAog
Ly8gMTBNQgotc3RhdGljIHNpemVfdCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSA9
IDEwICogMTAwMCAqIDEwMDA7CitzdGF0aWMgaW50IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRl
bnRTaXplID0gMTAgKiAxMDAwICogMTAwMDsKIH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTEsMTkgKzUxLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIE5ldHdvcmtSZXNvdXJjZXNEYXRh
OjpSZXNvdXJjZURhdGE6OlJlc291cmNlRGF0YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29u
c3QgU3RyaW5nJiBsb2FkZXJJZCkKICAgICA6IG1fcmVxdWVzdElkKHJlcXVlc3RJZCkKICAgICAs
IG1fbG9hZGVySWQobG9hZGVySWQpCi0gICAgLCBtX2Jhc2U2NEVuY29kZWQoZmFsc2UpCiAgICAg
LCBtX2lzQ29udGVudFB1cmdlZChmYWxzZSkKICAgICAsIG1fdHlwZShJbnNwZWN0b3JQYWdlQWdl
bnQ6Ok90aGVyUmVzb3VyY2UpCi0gICAgLCBtX2NhY2hlZFJlc291cmNlKDApCiB7CiB9CiAKLXZv
aWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6c2V0Q29udGVudChjb25zdCBT
dHJpbmcmIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCkKK3ZvaWQgTmV0d29ya1Jlc291cmNl
c0RhdGE6OlJlc291cmNlRGF0YTo6c2V0Q29udGVudChjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiB7
CiAgICAgQVNTRVJUKCFoYXNEYXRhKCkpOwogICAgIEFTU0VSVCghaGFzQ29udGVudCgpKTsKICAg
ICBtX2NvbnRlbnQgPSBjb250ZW50OwotICAgIG1fYmFzZTY0RW5jb2RlZCA9IGJhc2U2NEVuY29k
ZWQ7CiB9CiAKIHVuc2lnbmVkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OnJl
bW92ZUNvbnRlbnQoKQpAQCAtODksMTIgKzg2LDEyIEBAIHVuc2lnbmVkIE5ldHdvcmtSZXNvdXJj
ZXNEYXRhOjpSZXNvdXJjZURhdGE6OnB1cmdlQ29udGVudCgpCiAgICAgcmV0dXJuIHJlbW92ZUNv
bnRlbnQoKTsKIH0KIAotc2l6ZV90IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6
OmRhdGFMZW5ndGgoKSBjb25zdAoraW50IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURh
dGE6OmRhdGFMZW5ndGgoKSBjb25zdAogewogICAgIHJldHVybiBtX2RhdGFCdWZmZXIgPyBtX2Rh
dGFCdWZmZXItPnNpemUoKSA6IDA7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJl
c291cmNlRGF0YTo6YXBwZW5kRGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0
aCkKK3ZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6YXBwZW5kRGF0YShj
b25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkKIHsKICAgICBBU1NFUlQoIWhhc0NvbnRl
bnQoKSk7CiAgICAgaWYgKCFtX2RhdGFCdWZmZXIpCkBAIC0xMDMsMTAgKzEwMCwxMCBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OmFwcGVuZERhdGEoY29uc3QgY2hh
ciogZGF0YSwgc2l6ZV90IGRhdAogICAgICAgICBtX2RhdGFCdWZmZXItPmFwcGVuZChkYXRhLCBk
YXRhTGVuZ3RoKTsKIH0KIAotc2l6ZV90IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURh
dGE6OmRlY29kZURhdGFUb0NvbnRlbnQoKQoraW50IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNv
dXJjZURhdGE6OmRlY29kZURhdGFUb0NvbnRlbnQoKQogewogICAgIEFTU0VSVCghaGFzQ29udGVu
dCgpKTsKLSAgICBzaXplX3QgZGF0YUxlbmd0aCA9IG1fZGF0YUJ1ZmZlci0+c2l6ZSgpOworICAg
IGludCBkYXRhTGVuZ3RoID0gbV9kYXRhQnVmZmVyLT5zaXplKCk7CiAgICAgbV9jb250ZW50ID0g
bV9kZWNvZGVyLT5kZWNvZGUobV9kYXRhQnVmZmVyLT5kYXRhKCksIG1fZGF0YUJ1ZmZlci0+c2l6
ZSgpKTsKICAgICBtX2NvbnRlbnQgKz0gbV9kZWNvZGVyLT5mbHVzaCgpOwogICAgIG1fZGF0YUJ1
ZmZlciA9IG51bGxwdHI7CkBAIC0xNzQsMTIgKzE3MSwxMiBAQCBJbnNwZWN0b3JQYWdlQWdlbnQ6
OlJlc291cmNlVHlwZSBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6cmVzb3VyY2VUeXBlKGNvbnN0IFN0
cmluZwogICAgIHJldHVybiByZXNvdXJjZURhdGEtPnR5cGUoKTsKIH0KIAotdm9pZCBOZXR3b3Jr
UmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VDb250ZW50KGNvbnN0IFN0cmluZyYgcmVxdWVzdElk
LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCkKK3ZvaWQgTmV0d29y
a1Jlc291cmNlc0RhdGE6OnNldFJlc291cmNlQ29udGVudChjb25zdCBTdHJpbmcmIHJlcXVlc3RJ
ZCwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogewogICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VE
YXRhID0gbV9yZXF1ZXN0SWRUb1Jlc291cmNlRGF0YU1hcC5nZXQocmVxdWVzdElkKTsKICAgICBp
ZiAoIXJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuOwotICAgIHNpemVfdCBkYXRhTGVuZ3Ro
ID0gMiAqIGNvbnRlbnQubGVuZ3RoKCk7CisgICAgaW50IGRhdGFMZW5ndGggPSAyICogY29udGVu
dC5sZW5ndGgoKTsKICAgICBpZiAoZGF0YUxlbmd0aCA+IG1fbWF4aW11bVNpbmdsZVJlc291cmNl
Q29udGVudFNpemUpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAocmVzb3VyY2VEYXRhLT5pc0Nv
bnRlbnRQdXJnZWQoKSkKQEAgLTE4OSwxMiArMTg2LDEyIEBAIHZvaWQgTmV0d29ya1Jlc291cmNl
c0RhdGE6OnNldFJlc291cmNlQ29udGVudChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3Qg
U3RyCiAgICAgICAgIGlmIChyZXNvdXJjZURhdGEtPmhhc0NvbnRlbnQoKSkKICAgICAgICAgICAg
IG1fY29udGVudFNpemUgLT0gcmVzb3VyY2VEYXRhLT5yZW1vdmVDb250ZW50KCk7CiAgICAgICAg
IG1fcmVxdWVzdElkc0RlcXVlLmFwcGVuZChyZXF1ZXN0SWQpOwotICAgICAgICByZXNvdXJjZURh
dGEtPnNldENvbnRlbnQoY29udGVudCwgYmFzZTY0RW5jb2RlZCk7CisgICAgICAgIHJlc291cmNl
RGF0YS0+c2V0Q29udGVudChjb250ZW50KTsKICAgICAgICAgbV9jb250ZW50U2l6ZSArPSBkYXRh
TGVuZ3RoOwogICAgIH0KIH0KIAotdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6bWF5YmVBZGRS
ZXNvdXJjZURhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCBkYXRhTGVuZ3RoKQordm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6bWF5YmVBZGRSZXNv
dXJjZURhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBk
YXRhTGVuZ3RoKQogewogICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gbV9yZXF1ZXN0
SWRUb1Jlc291cmNlRGF0YU1hcC5nZXQocmVxdWVzdElkKTsKICAgICBpZiAoIXJlc291cmNlRGF0
YSkKQEAgLTIyMCw3ICsyMTcsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjptYXliZURl
Y29kZURhdGFUb0NvbnRlbnQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpCiAgICAgaWYgKCFyZXNv
dXJjZURhdGEtPmhhc0RhdGEoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fY29udGVudFNpemUg
Kz0gcmVzb3VyY2VEYXRhLT5kZWNvZGVEYXRhVG9Db250ZW50KCk7Ci0gICAgc2l6ZV90IGRhdGFM
ZW5ndGggPSAyICogcmVzb3VyY2VEYXRhLT5jb250ZW50KCkubGVuZ3RoKCk7CisgICAgaW50IGRh
dGFMZW5ndGggPSAyICogcmVzb3VyY2VEYXRhLT5jb250ZW50KCkubGVuZ3RoKCk7CiAgICAgaWYg
KGRhdGFMZW5ndGggPiBtX21heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKQogICAgICAg
ICBtX2NvbnRlbnRTaXplIC09IHJlc291cmNlRGF0YS0+cHVyZ2VDb250ZW50KCk7CiB9CkBAIC0y
NDgsMjIgKzI0NSw2IEBAIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGEgY29uc3Qq
IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpkYXRhKGNvbnN0IFN0cmluCiAgICAgcmV0dXJuIG1fcmVx
dWVzdElkVG9SZXNvdXJjZURhdGFNYXAuZ2V0KHJlcXVlc3RJZCk7CiB9CiAKLVZlY3RvcjxTdHJp
bmc+IE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpyZW1vdmVDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNv
dXJjZSogY2FjaGVkUmVzb3VyY2UpCi17Ci0gICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OwotICAg
IFJlc291cmNlRGF0YU1hcDo6aXRlcmF0b3IgaXQ7Ci0gICAgUmVzb3VyY2VEYXRhTWFwOjppdGVy
YXRvciBlbmQgPSBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwLmVuZCgpOwotICAgIGZvciAo
aXQgPSBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkgewotICAgICAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IGl0LT5zZWNvbmQ7Ci0g
ICAgICAgIGlmIChyZXNvdXJjZURhdGEtPmNhY2hlZFJlc291cmNlKCkgPT0gY2FjaGVkUmVzb3Vy
Y2UpIHsKLSAgICAgICAgICAgIHJlc291cmNlRGF0YS0+c2V0Q2FjaGVkUmVzb3VyY2UoMCk7Ci0g
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKGl0LT5maXJzdCk7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpjbGVh
cihjb25zdCBTdHJpbmcmIHByZXNlcnZlZExvYWRlcklkKQogewogICAgIG1fcmVxdWVzdElkc0Rl
cXVlLmNsZWFyKCk7CkBAIC0yODMsNyArMjY0LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0
YTo6Y2xlYXIoY29uc3QgU3RyaW5nJiBwcmVzZXJ2ZWRMb2FkZXJJZCkKICAgICBtX3JlcXVlc3RJ
ZFRvUmVzb3VyY2VEYXRhTWFwLnN3YXAocHJlc2VydmVkTWFwKTsKIH0KIAotdm9pZCBOZXR3b3Jr
UmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHMoc2l6ZV90IG1heGltdW1S
ZXNvdXJjZXNDb250ZW50U2l6ZSwgc2l6ZV90IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRT
aXplKQordm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1p
dHMoaW50IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwgaW50IG1heGltdW1TaW5nbGVSZXNv
dXJjZUNvbnRlbnRTaXplKQogewogICAgIGNsZWFyKCk7CiAgICAgbV9tYXhpbXVtUmVzb3VyY2Vz
Q29udGVudFNpemUgPSBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemU7CkBAIC0zMDIsNyArMjgz
LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6ZW5zdXJlTm9EYXRhRm9yUmVxdWVzdElk
KGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKQogICAgIH0KIH0KIAotYm9vbCBOZXR3b3JrUmVzb3Vy
Y2VzRGF0YTo6ZW5zdXJlRnJlZVNwYWNlKHNpemVfdCBzaXplKQorYm9vbCBOZXR3b3JrUmVzb3Vy
Y2VzRGF0YTo6ZW5zdXJlRnJlZVNwYWNlKGludCBzaXplKQogewogICAgIGlmIChzaXplID4gbV9t
YXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKaW5kZXggNzAy
NmQyYzllZmVmOTQ2NzE5NDBhMzlkY2M3YjA5MGZlMjhiY2VkMi4uMWIxNzJlNzllMDEyM2U4MWMx
YzU2ZTE5NGZhYTM5MGM3ZTU3N2JkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZm5kZWYgTmV0d29y
a1Jlc291cmNlc0RhdGFfaAogI2RlZmluZSBOZXR3b3JrUmVzb3VyY2VzRGF0YV9oCiAKKyNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2Vu
dC5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKIApAQCAtNjQsOSArNjUsNyBA
QCBwdWJsaWM6CiAKICAgICAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3QgeyByZXR1cm4gIW1f
Y29udGVudC5pc051bGwoKTsgfQogICAgICAgICBTdHJpbmcgY29udGVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fY29udGVudDsgfQotICAgICAgICB2b2lkIHNldENvbnRlbnQoY29uc3QgU3RyaW5nJiwg
Ym9vbCBiYXNlNjRFbmNvZGVkKTsKLQotICAgICAgICBib29sIGJhc2U2NEVuY29kZWQoKSBjb25z
dCB7IHJldHVybiBtX2Jhc2U2NEVuY29kZWQ7IH0KKyAgICAgICAgdm9pZCBzZXRDb250ZW50KGNv
bnN0IFN0cmluZyYpOwogCiAgICAgICAgIHVuc2lnbmVkIHJlbW92ZUNvbnRlbnQoKTsKICAgICAg
ICAgYm9vbCBpc0NvbnRlbnRQdXJnZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ29udGVudFB1cmdl
ZDsgfQpAQCAtODcsMjEgKzg2LDIwIEBAIHB1YmxpYzoKICAgICAgICAgUGFzc1JlZlB0cjxTaGFy
ZWRCdWZmZXI+IGJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyOyB9CiAgICAgICAgIHZv
aWQgc2V0QnVmZmVyKFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIpIHsgbV9idWZmZXIg
PSBidWZmZXI7IH0KIAotICAgICAgICBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UoKSBj
b25zdCB7IHJldHVybiBtX2NhY2hlZFJlc291cmNlOyB9CisgICAgICAgIENhY2hlZFJlc291cmNl
KiBjYWNoZWRSZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkUmVzb3VyY2UuZ2V0KCk7
IH0KICAgICAgICAgdm9pZCBzZXRDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogY2FjaGVk
UmVzb3VyY2UpIHsgbV9jYWNoZWRSZXNvdXJjZSA9IGNhY2hlZFJlc291cmNlOyB9CiAKICAgICBw
cml2YXRlOgogICAgICAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGFCdWZm
ZXI7IH0KLSAgICAgICAgc2l6ZV90IGRhdGFMZW5ndGgoKSBjb25zdDsKLSAgICAgICAgdm9pZCBh
cHBlbmREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoKTsKLSAgICAgICAg
c2l6ZV90IGRlY29kZURhdGFUb0NvbnRlbnQoKTsKKyAgICAgICAgaW50IGRhdGFMZW5ndGgoKSBj
b25zdDsKKyAgICAgICAgdm9pZCBhcHBlbmREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRh
TGVuZ3RoKTsKKyAgICAgICAgaW50IGRlY29kZURhdGFUb0NvbnRlbnQoKTsKIAogICAgICAgICBT
dHJpbmcgbV9yZXF1ZXN0SWQ7CiAgICAgICAgIFN0cmluZyBtX2xvYWRlcklkOwogICAgICAgICBT
dHJpbmcgbV9mcmFtZUlkOwogICAgICAgICBTdHJpbmcgbV91cmw7CiAgICAgICAgIFN0cmluZyBt
X2NvbnRlbnQ7Ci0gICAgICAgIGJvb2wgbV9iYXNlNjRFbmNvZGVkOwogICAgICAgICBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBtX2RhdGFCdWZmZXI7CiAgICAgICAgIGJvb2wgbV9pc0NvbnRlbnRQdXJn
ZWQ7CiAgICAgICAgIEluc3BlY3RvclBhZ2VBZ2VudDo6UmVzb3VyY2VUeXBlIG1fdHlwZTsKQEAg
LTExMSw3ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNv
ZGVyPiBtX2RlY29kZXI7CiAKICAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9idWZmZXI7
Ci0gICAgICAgIENhY2hlZFJlc291cmNlKiBtX2NhY2hlZFJlc291cmNlOworICAgICAgICBDYWNo
ZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gbV9jYWNoZWRSZXNvdXJjZTsKICAgICB9
OwogCiAgICAgTmV0d29ya1Jlc291cmNlc0RhdGEoKTsKQEAgLTEyMiwyOCArMTIwLDI3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQs
IGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHZv
aWQgc2V0UmVzb3VyY2VUeXBlKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBJbnNwZWN0b3JQYWdl
QWdlbnQ6OlJlc291cmNlVHlwZSk7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50OjpSZXNvdXJjZVR5
cGUgcmVzb3VyY2VUeXBlKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKTsKLSAgICB2b2lkIHNldFJl
c291cmNlQ29udGVudChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBjb250
ZW50LCBib29sIGJhc2U2NEVuY29kZWQgPSBmYWxzZSk7Ci0gICAgdm9pZCBtYXliZUFkZFJlc291
cmNlRGF0YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90
IGRhdGFMZW5ndGgpOworICAgIHZvaWQgc2V0UmVzb3VyY2VDb250ZW50KGNvbnN0IFN0cmluZyYg
cmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpOworICAgIHZvaWQgbWF5YmVBZGRSZXNv
dXJjZURhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBk
YXRhTGVuZ3RoKTsKICAgICB2b2lkIG1heWJlRGVjb2RlRGF0YVRvQ29udGVudChjb25zdCBTdHJp
bmcmIHJlcXVlc3RJZCk7CiAgICAgdm9pZCBhZGRDYWNoZWRSZXNvdXJjZShjb25zdCBTdHJpbmcm
IHJlcXVlc3RJZCwgQ2FjaGVkUmVzb3VyY2UqKTsKICAgICB2b2lkIGFkZFJlc291cmNlU2hhcmVk
QnVmZmVyKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4s
IGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSk7CiAgICAgUmVzb3VyY2VEYXRhIGNvbnN0
KiBkYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkKTsKLSAgICBWZWN0b3I8U3RyaW5nPiByZW1v
dmVDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgY2xlYXIoY29uc3Qg
U3RyaW5nJiBwcmVzZXJ2ZWRMb2FkZXJJZCA9IFN0cmluZygpKTsKIAotICAgIHZvaWQgc2V0UmVz
b3VyY2VzRGF0YVNpemVMaW1pdHMoc2l6ZV90IG1heGltdW1SZXNvdXJjZXNDb250ZW50U2l6ZSwg
c2l6ZV90IG1heGltdW1TaW5nbGVSZXNvdXJjZUNvbnRlbnRTaXplKTsKKyAgICB2b2lkIHNldFJl
c291cmNlc0RhdGFTaXplTGltaXRzKGludCBtYXhpbXVtUmVzb3VyY2VzQ29udGVudFNpemUsIGlu
dCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSk7CiAKIHByaXZhdGU6CiAgICAgdm9p
ZCBlbnN1cmVOb0RhdGFGb3JSZXF1ZXN0SWQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOwotICAg
IGJvb2wgZW5zdXJlRnJlZVNwYWNlKHNpemVfdCBzaXplKTsKKyAgICBib29sIGVuc3VyZUZyZWVT
cGFjZShpbnQgc2l6ZSk7CiAKICAgICBEZXF1ZTxTdHJpbmc+IG1fcmVxdWVzdElkc0RlcXVlOwog
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVzb3VyY2VEYXRhKj4gUmVzb3VyY2VEYXRh
TWFwOwogICAgIFJlc291cmNlRGF0YU1hcCBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwOwot
ICAgIHNpemVfdCBtX2NvbnRlbnRTaXplOwotICAgIHNpemVfdCBtX21heGltdW1SZXNvdXJjZXND
b250ZW50U2l6ZTsKLSAgICBzaXplX3QgbV9tYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6
ZTsKKyAgICBpbnQgbV9jb250ZW50U2l6ZTsKKyAgICBpbnQgbV9tYXhpbXVtUmVzb3VyY2VzQ29u
dGVudFNpemU7CisgICAgaW50IG1fbWF4aW11bVNpbmdsZVJlc291cmNlQ29udGVudFNpemU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCA1NzE0Mzk2NTZkYWMyNDNkYjk0YjczMDJhZjZh
ZjQwNDljMDExMjliLi4zOTk4ZWZkMzI2MzMzZmFiMjJhNTNkYzRmZGE0MDIyZjhlMzk4YjU0IDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAg
LTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
I2luY2x1ZGUgIlB1cmdlYWJsZUJ1ZmZlci5oIgpAQCAtMTc3LDcgKzE3Niw3IEBAIENhY2hlZFJl
c291cmNlOjp+Q2FjaGVkUmVzb3VyY2UoKQogICAgIEFTU0VSVCghaW5DYWNoZSgpKTsKICAgICBB
U1NFUlQoIW1fZGVsZXRlZCk7CiAgICAgQVNTRVJUKHVybCgpLmlzTnVsbCgpIHx8IG1lbW9yeUNh
Y2hlKCktPnJlc291cmNlRm9yVVJMKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwoKSkpICE9IHRo
aXMpOwotCisgICAgCiAjaWZuZGVmIE5ERUJVRwogICAgIG1fZGVsZXRlZCA9IHRydWU7CiAgICAg
Y2FjaGVkUmVzb3VyY2VMZWFrQ291bnRlci5kZWNyZW1lbnQoKTsKQEAgLTQzMSw4ICs0MzAsOSBA
QCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1vdmVDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQq
IGNsaWVudCkKICAgICAgICAgZGlkUmVtb3ZlQ2xpZW50KGNsaWVudCk7CiAgICAgfQogCi0gICAg
Ym9vbCBkZWxldGVkID0gZGVsZXRlSWZQb3NzaWJsZSgpOwotICAgIGlmICghZGVsZXRlZCAmJiAh
aGFzQ2xpZW50cygpICYmIGluQ2FjaGUoKSkgeworICAgIGlmIChjYW5EZWxldGUoKSAmJiAhaW5D
YWNoZSgpKQorICAgICAgICBkZWxldGUgdGhpczsKKyAgICBlbHNlIGlmICghaGFzQ2xpZW50cygp
ICYmIGluQ2FjaGUoKSkgewogICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZVJl
c291cmNlc1NpemUodGhpcyk7CiAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZUZyb21MaXZl
RGVjb2RlZFJlc291cmNlc0xpc3QodGhpcyk7CiAgICAgICAgIGFsbENsaWVudHNSZW1vdmVkKCk7
CkBAIC00NDksMTQgKzQ0OSwxMCBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1vdmVDbGllbnQo
Q2FjaGVkUmVzb3VyY2VDbGllbnQqIGNsaWVudCkKICAgICAvLyBUaGlzIG9iamVjdCBtYXkgYmUg
ZGVhZCBoZXJlLgogfQogCi1ib29sIENhY2hlZFJlc291cmNlOjpkZWxldGVJZlBvc3NpYmxlKCkK
K3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUoKQogewotICAgIGlmIChjYW5E
ZWxldGUoKSAmJiAhaW5DYWNoZSgpKSB7Ci0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSh0aGlzKTsKKyAgICBpZiAoY2FuRGVsZXRlKCkg
JiYgIWluQ2FjaGUoKSkKICAgICAgICAgZGVsZXRlIHRoaXM7Ci0gICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CiB9CiAgICAgCiB2b2lkIENhY2hlZFJlc291cmNl
OjpzZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA5YWExZjZhMmU5ZWM1YzUwMTQ3YjIwMWIwYzdi
MDE1YWI2NThkZGQxLi43ZmJmNzMzNjU4NTViMzhhNzA1M2M1OTJkYjYwNmY4ZjFlZDJhODRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtMTE1
LDcgKzExNSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZENsaWVudChDYWNoZWRSZXNvdXJjZUNs
aWVudCopOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50Kik7CiAg
ICAgYm9vbCBoYXNDbGllbnRzKCkgY29uc3QgeyByZXR1cm4gIW1fY2xpZW50cy5pc0VtcHR5KCkg
fHwgIW1fY2xpZW50c0F3YWl0aW5nQ2FsbGJhY2suaXNFbXB0eSgpOyB9Ci0gICAgYm9vbCBkZWxl
dGVJZlBvc3NpYmxlKCk7CisgICAgdm9pZCBkZWxldGVJZlBvc3NpYmxlKCk7CiAKICAgICBlbnVt
IFByZWxvYWRSZXN1bHQgewogICAgICAgICBQcmVsb2FkTm90UmVmZXJlbmNlZCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IDlhODg3MjRhMTUwZDFhZTZlNGE4NTBhMTE4YTljNGYzOGVlZTllMWYuLmUxOTg3YzNmZTM4
Mjc5MzJjZGEzYmNjODMyYzUxY2NhOGZhZDE2MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNjc2LDExICs2NzYs
NyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSgpCiB2b2lkIENhY2hlZFJl
c291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXJGaXJlZChU
aW1lcjxDYWNoZWRSZXNvdXJjZUxvYWRlcj4qIHRpbWVyKQogewogICAgIEFTU0VSVF9VTlVTRUQo
dGltZXIsIHRpbWVyID09ICZtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lcik7
Ci0gICAgZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpOwotfQogCi12b2lkIENhY2hl
ZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCkKLXsKICAg
ICB0eXBlZGVmIFZlY3RvcjxTdHJpbmcsIDEwPiBTdHJpbmdWZWN0b3I7CiAgICAgU3RyaW5nVmVj
dG9yIHJlc291cmNlc1RvRGVsZXRlOwogCkBAIC04MTcsOCArODEzLDkgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6Y2xlYXJQcmVsb2FkcygpCiAgICAgZm9yIChMaXN0SGFzaFNldDxDYWNo
ZWRSZXNvdXJjZSo+OjppdGVyYXRvciBpdCA9IG1fcHJlbG9hZHMtPmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkgewogICAgICAgICBDYWNoZWRSZXNvdXJjZSogcmVzID0gKml0OwogICAgICAgICBy
ZXMtPmRlY3JlYXNlUHJlbG9hZENvdW50KCk7Ci0gICAgICAgIGJvb2wgZGVsZXRlZCA9IHJlcy0+
ZGVsZXRlSWZQb3NzaWJsZSgpOwotICAgICAgICBpZiAoIWRlbGV0ZWQgJiYgcmVzLT5wcmVsb2Fk
UmVzdWx0KCkgPT0gQ2FjaGVkUmVzb3VyY2U6OlByZWxvYWROb3RSZWZlcmVuY2VkKQorICAgICAg
ICBpZiAocmVzLT5jYW5EZWxldGUoKSAmJiAhcmVzLT5pbkNhY2hlKCkpCisgICAgICAgICAgICBk
ZWxldGUgcmVzOworICAgICAgICBlbHNlIGlmIChyZXMtPnByZWxvYWRSZXN1bHQoKSA9PSBDYWNo
ZWRSZXNvdXJjZTo6UHJlbG9hZE5vdFJlZmVyZW5jZWQpCiAgICAgICAgICAgICBtZW1vcnlDYWNo
ZSgpLT5yZW1vdmUocmVzKTsKICAgICB9CiAgICAgbV9wcmVsb2Fkcy5jbGVhcigpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRl
eCA1ZWViMzg3MWYwM2I0MGY4NjA5ODAwMTU0NjgxYzViMDU2ZDNhY2I1Li5kODJiM2JmNDJhNzM4
Yzc3NWI4NmEwODM2MmFkNWE5YTEyYWU5ZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtMTA1LDcgKzEwNSw2IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgcmVtb3ZlQ2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKSBj
b25zdDsKICAgICB2b2lkIGxvYWREb25lKCk7Ci0gICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3Vt
ZW50UmVzb3VyY2VzKCk7CiAgICAgCiAgICAgdm9pZCBpbmNyZW1lbnRSZXF1ZXN0Q291bnQoY29u
c3QgQ2FjaGVkUmVzb3VyY2UqKTsKICAgICB2b2lkIGRlY3JlbWVudFJlcXVlc3RDb3VudChjb25z
dCBDYWNoZWRSZXNvdXJjZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHAKaW5kZXggNWRjMDQ3NDAyY2IzZDc0OGVkOTczNDc5ZTY0MjI4NzU5Mzc4ODkyZC4u
Mjk5ZDEwYTcwNTEyOGI2YWNmZjIzOGZlMDcxOTlhOTk0NTlkNDI1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC00MDIsNyArNDAyLDggQEAgdm9p
ZCBNZW1vcnlDYWNoZTo6ZXZpY3QoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIH0gZWxz
ZQogICAgICAgICBBU1NFUlQobV9yZXNvdXJjZXMuZ2V0KHJlc291cmNlLT51cmwoKSkgIT0gcmVz
b3VyY2UpOwogCi0gICAgcmVzb3VyY2UtPmRlbGV0ZUlmUG9zc2libGUoKTsKKyAgICBpZiAocmVz
b3VyY2UtPmNhbkRlbGV0ZSgpKQorICAgICAgICBkZWxldGUgcmVzb3VyY2U7CiB9CiAKIHN0YXRp
YyBpbmxpbmUgdW5zaWduZWQgZmFzdExvZzIodW5zaWduZWQgaSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDQ0NWI4NzgxNWE3NmNlYmI1NzNhYTk5
YmFkMDI0ZjRlNDNlNTBjZDQuLjUzMWIwNGY2Y2MyODc3OGQwYWYyOTIwM2EyYTAwNmIxZTRhMjgy
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0
dGluZ3MuaCIKIAorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAi
Q2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBlNWE5MGMxMzk5M2E5ZTlm
ZTAxN2M1YWYzOWRmZjdhZTE1NDAzMWY1Li45YTk1NTM3N2U4M2ZlMTg1MTQwYzRlMWJhNjgwZDhj
ZWZjZmE4MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xMDk1LDE5
ICsxMDk1LDYgQEAgdm9pZCBJbnRlcm5hbHM6OnJlc3VtZUFuaW1hdGlvbnMoRG9jdW1lbnQqIGRv
Y3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKICAgICBjb250cm9sbGVyLT5yZXN1bWVB
bmltYXRpb25zKCk7CiB9CiAKLXZvaWQgSW50ZXJuYWxzOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50
UmVzb3VyY2VzKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Ci17
Ci0gICAgaWYgKCFkb2N1bWVudCkgewotICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNo
ZWRSZXNvdXJjZUxvYWRlciA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpOwotICAg
IGlmICghY2FjaGVkUmVzb3VyY2VMb2FkZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBjYWNoZWRS
ZXNvdXJjZUxvYWRlci0+Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpOwotfQotCiB2
b2lkIEludGVybmFsczo6YWxsb3dSb3VuZGluZ0hhY2tzKCkgY29uc3QKIHsKICAgICBzZXR0aW5n
cygpLT5hbGxvd1JvdW5kaW5nSGFja3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmlu
ZGV4IGQ1MTBiYjQ5Y2JlNjc1NjQ0N2RlYmZhMWRlYTFhM2Y1MTdlNDI0NTYuLjE2N2I1MjkxOWU5
MmViNzljYzFmZWQ5ZWZmOWM1OGI4ZDA3NTg2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaApAQCAtMTgyLDggKzE4Miw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHN1c3BlbmRBbmltYXRp
b25zKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIHZvaWQgcmVzdW1lQW5p
bWF0aW9ucyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKIAotICAgIHZvaWQgZ2Fy
YmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKLQogICAgIHZvaWQgYWxsb3dSb3VuZGluZ0hhY2tzKCkgY29uc3Q7CiAKICNpZiBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU1ZTZlZDQxYzZkMTkxNDcyYTFkNGU4ZTllMjYyYThkYmNk
MTIwNTQuLmZmNDdiYzI4NmQzM2JjMjYzZmRkNjU2MjdlOTE4NTU3ZmNkZjFiODEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0wNy0yNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMzcxNS4K
KyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTIzNzE1CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjM1NgorCisgICAgICAg
IEJyZWFrcyBjb21waWxhdGlvbiBvbiBtdWx0aXBsZSBwbGF0Zm9ybXMgKFJlcXVlc3RlZCBieSB2
c2V2aWsKKyAgICAgICAgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3Bl
Y3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFnZS1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNv
dXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRl
c3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sOiBSZW1vdmVkLgorCiAyMDEyLTA3LTI2ICBL
cmlzdMOzZiBLb3N6dHnDsyAgPGtrcmlzdG9mQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBb
UXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBTa2lwIHRoZSBmYWlsaW5nIHRlc3RzLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVz
b3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVk
LW1vdmVkLXRvLXN0b3JhZ2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3M2I0MWViYjdlYTRjODYzNzViZGE1MzUxOGNhMzYyNDIxYjgwYmM1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC1tb3ZlZC10by1z
dG9yYWdlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxNjogRG9uZTEuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IERv
bmUyLgotVGVzdHMgY29udGVudCBpcyBtb3ZlZCBmcm9tIGNhY2hlZCByZXNvdXJjZSB0byByZXNv
dXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFnZSB3aGVuIGNhY2hlZCByZXNvdXJjZSBpcyBkZXN0cm95
ZWQuCi0KLUJ1ZyA5MjEwOCAgCi1odHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdv
cmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9NDAwCi1y
ZXF1ZXN0LnR5cGU6IGltYWdlCi1yZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3Rp
bmcgY29udGVudDogNTM2Ci1SZWxlYXNpbmcgY2FjaGVkIHJlc291cmNlLgotcmVxdWVzdC5jb250
ZW50Lmxlbmd0aCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDUzNgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1k
ZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3Jh
Z2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjllODhlY2MyZDZkNTA0M2Q3
NTZiZTAxYTU5ZThhNmZhNDU2NGI4Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2Nh
Y2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFnZS5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTA5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5z
cGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIGltYWdlOwotZnVuY3Rpb24gbG9hZEZpcnN0SW1h
Z2UoKSB7Ci0gICAgaW1hZ2UgPSBuZXcgSW1hZ2UoKTsKLSAgICBpbWFnZS5vbmxvYWQgPSBmaXJz
dEltYWdlTG9hZGVkOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOwotICAg
IGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEm
c2l6ZT00MDAiOwotfQotCi1mdW5jdGlvbiBmaXJzdEltYWdlTG9hZGVkKCkKLXsKLSAgICBjb25z
b2xlLmxvZygiRG9uZTEuIik7Ci19Ci0KLWZ1bmN0aW9uIGxvYWRTZWNvbmRJbWFnZSgpIHsKLSAg
ICBpbWFnZS5vbmxvYWQgPSBzZWNvbmRJbWFnZUxvYWRlZDsKLSAgICBpbWFnZS5zcmMgPSAicmVz
b3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlJnJhbmRvbT0xJnNpemU9MjAwIjsKLX0KLQot
ZnVuY3Rpb24gc2Vjb25kSW1hZ2VMb2FkZWQoKQotewotICAgIGNvbnNvbGUubG9nKCJEb25lMi4i
KTsKLX0KLQotZnVuY3Rpb24gZm9yY2VDYWNoZWRSZXNvdXJjZUxvYWRlckdDKCkgewotICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLmdhcmJhZ2VDb2xs
ZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8g
U2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3Rv
ciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMsIHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1p
dHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNv
dXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIHZhciBpbWFnZVJlcXVlc3Q7Ci0gICAgZnVuY3Rpb24g
c3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihz
dGVwMik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRGaXJzdElt
YWdlKCkiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBp
bWFnZVJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVxdWVzdHNbV2ViSW5z
cGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlcXVlc3RzLmxlbmd0aCAtIDFdOwotICAgICAgICBpbWFn
ZVJlcXVlc3QucmVxdWVzdENvbnRlbnQoc3RlcDMpOwotICAgIH0KLQotICAgIHZhciBvcmlnaW5h
bENvbnRlbnRMZW5ndGg7Ci0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoaW1hZ2VSZXF1ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LnR5cGU6ICIgKyBpbWFnZVJlcXVlc3QudHlwZSk7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFm
dGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7
Ci0gICAgICAgIG9yaWdpbmFsQ29udGVudExlbmd0aCA9IGltYWdlUmVxdWVzdC5jb250ZW50Lmxl
bmd0aDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKGltYWdlUmVxdWVzdC5jb250
ZW50Lmxlbmd0aCA+IDAsICJObyBjb250ZW50IGJlZm9yZSBkZXN0cm95aW5nIENhY2hlZFJlc291
cmNlLiIpOwotCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWxlYXNpbmcgY2Fj
aGVkIHJlc291cmNlLiIpOwotICAgICAgICAvLyBMb2FkaW5nIGFub3RoZXIgaW1hZ2UgdG8gdGhl
IHNhbWUgaW1hZ2UgZWxlbWVudCBzbyB0aGF0IHRoZSBvcmlnaW5hbCBpbWFnZSBjYWNoZWQgcmVz
b3VyY2UgaXMgcmVsZWFzZWQuCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZm
ZXIoc3RlcDQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkU2Vj
b25kSW1hZ2UoKSIpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA0KG1zZykKLSAgICB7Ci0g
ICAgICAgIC8vIERpc2FibGUtZW5hYmxlIGNhY2hlIHRvIGZvcmNlIE1lbW9yeUNhY2hlOjpldmlj
dFJlc291cmNlcygpLgotICAgICAgICBOZXR3b3JrQWdlbnQuc2V0Q2FjaGVEaXNhYmxlZCh0cnVl
LCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDUobXNnKQotICAgIHsKLSAgICAg
ICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQoZmFsc2UsIHN0ZXA2KTsKLSAgICB9Ci0K
LSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewotICAgICAgICAvLyBGb3JjZSBDYWNoZWRSZXNv
dXJjZUxvYWRlciBnYXJiYWdlIGNvbGxlY3RvciBydW4uCi0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImZvcmNlQ2FjaGVkUmVzb3VyY2VMb2FkZXJHQygpIik7Ci0KLSAgICAg
ICAgLy8gUmUtcmVxdWVzdCBjb250ZW50IG5vdyB0aGF0IENhY2hlZFJlc291cmNlIHNob3VsZCBo
YXZlIGJlZW4gZGVzdHJveWVkLgotICAgICAgICBkZWxldGUgaW1hZ2VSZXF1ZXN0Ll9jb250ZW50
OwotICAgICAgICBpbWFnZVJlcXVlc3QucmVxdWVzdENvbnRlbnQoc3RlcDcpOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIHN0ZXA3KCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiAr
IGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7Ci0gICAgICAgIG9yaWdpbmFsQ29udGVudExl
bmd0aCA9IGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aDsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCA9PT0gb3JpZ2luYWxDb250
ZW50TGVuZ3RoLCAiQ29udGVudCBjaGFuZ2VkIGFmdGVyIGNhY2hlZCByZXNvdXJjZSB3YXMgZGVz
dHJveWVkIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNE
YXRhKHN0ZXA4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgY29udGVudCBpcyBtb3Zl
ZCBmcm9tIGNhY2hlZCByZXNvdXJjZSB0byByZXNvdXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFnZSB3
aGVuIGNhY2hlZCByZXNvdXJjZSBpcyBkZXN0cm95ZWQuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMTA4Ij5CdWcgOTIxMDg8L2E+Ci08L2Jv
ZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2Nh
Y2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YTQyNzQ1NmYzYTk5NmMzYjViOTIxZWY0M2Uy
MTg0ZDhiMjJiMzViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291
cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IERvbmUxLgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDMzOiBEb25lMi4KLVRlc3RzIGNhY2hlZCByZXNvdXJjZSBjb250
ZW50IGlzIGRpc2NhcmRlZCB3aGVuIGNhY2hlZCByZXNvdXJjZSBpcyBkZXN0cm95ZWQgaWYgY29u
dGVudCBzaXplIGlzIHRvbyBiaWcgZm9yIHRoZSByZXNvdXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFn
ZS4KLQotQnVnIDkyMTA4ICAKLWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29y
ay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDAKLXJl
cXVlc3QudHlwZTogaW1hZ2UKLXJlcXVlc3QuY29udGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGlu
ZyBjb250ZW50OiA1MzYKLVJlbGVhc2luZyBjYWNoZWQgcmVzb3VyY2UuCi1yZXF1ZXN0LmNvbnRl
bnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBudWxsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3ll
ZC10b28tYmlnLWRpc2NhcmRlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkYzE1MGY2MDUwOGFjNTAzNzU2ZGY1
OWNiZTVjYjEwMzFiZjdiOTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQt
cmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMDYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgaW1hZ2U7Ci1mdW5jdGlvbiBsb2FkRmlyc3RJbWFnZSgp
IHsKLSAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgY29uc29sZS5sb2coIlRo
aXMgdGVzdCBjYW4gbm90IGJlIHJ1biBhcyB3aW5kb3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFi
bGUuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgLy8gTWFrZSBzdXJlIHRoZXJlIGlz
IG5vIGVub3VnaCBzcGFjZSB0byBzYXZlIGNvbnRlbnQgaW4gcmVzb3VyY2UgYWdlbnQncyBzdG9y
YWdlLgotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6
ZUxpbWl0cygxMDAsIDEwMCk7Ci0KLSAgICBpbWFnZSA9IG5ldyBJbWFnZSgpOwotICAgIGltYWdl
Lm9ubG9hZCA9IGZpcnN0SW1hZ2VMb2FkZWQ7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbWFnZSk7Ci0gICAgaW1hZ2Uuc3JjID0gInJlc291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1p
bWFnZSZyYW5kb209MSZzaXplPTQwMCI7Ci19Ci0KLWZ1bmN0aW9uIGZpcnN0SW1hZ2VMb2FkZWQo
KQotewotICAgIGNvbnNvbGUubG9nKCJEb25lMS4iKTsKLX0KLQotZnVuY3Rpb24gbG9hZFNlY29u
ZEltYWdlKCkgewotICAgIGltYWdlLm9ubG9hZCA9IHNlY29uZEltYWdlTG9hZGVkOwotICAgIGlt
YWdlLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6
ZT0yMDAiOwotfQotCi1mdW5jdGlvbiBzZWNvbmRJbWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29s
ZS5sb2coIkRvbmUyLiIpOwotfQotCi1mdW5jdGlvbiBmb3JjZUNhY2hlZFJlc291cmNlTG9hZGVy
R0MoKSB7Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpOwotfQotCi1mdW5jdGlvbiB0ZXN0
KCkKLXsKLSAgICB2YXIgaW1hZ2VSZXF1ZXN0OwotICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29s
ZVNuaWZmZXIoc3RlcDIpOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRG
aXJzdEltYWdlKCkiKTsKLQotICAgIGZ1bmN0aW9uIHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIGlt
YWdlUmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXF1ZXN0c1tXZWJJbnNw
ZWN0b3IucGFuZWxzLm5ldHdvcmsucmVxdWVzdHMubGVuZ3RoIC0gMV07Ci0gICAgICAgIGltYWdl
UmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoaW1hZ2VSZXF1ZXN0
LnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LnR5cGU6ICIg
KyBpbWFnZVJlcXVlc3QudHlwZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJy
ZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdl
UmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1
ZShpbWFnZVJlcXVlc3QuY29udGVudC5sZW5ndGggPiAwLCAiTm8gY29udGVudCBiZWZvcmUgZGVz
dHJveWluZyBDYWNoZWRSZXNvdXJjZS4iKTsKLQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiUmVsZWFzaW5nIGNhY2hlZCByZXNvdXJjZS4iKTsKLSAgICAgICAgLy8gTG9hZGluZyBh
bm90aGVyIGltYWdlIHRvIHRoZSBzYW1lIGltYWdlIGVsZW1lbnQgc28gdGhhdCB0aGUgb3JpZ2lu
YWwgaW1hZ2UgY2FjaGVkIHJlc291cmNlIGlzIHJlbGVhc2VkLgotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXA0KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgibG9hZFNlY29uZEltYWdlKCkiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwNChtc2cpCi0gICAgewotICAgICAgICAvLyBEaXNhYmxlLWVuYWJsZSBjYWNoZSB0byBmb3Jj
ZSBNZW1vcnlDYWNoZTo6ZXZpY3RSZXNvdXJjZXMoKS4KLSAgICAgICAgTmV0d29ya0FnZW50LnNl
dENhY2hlRGlzYWJsZWQodHJ1ZSwgc3RlcDUpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1
KG1zZykKLSAgICB7Ci0gICAgICAgIE5ldHdvcmtBZ2VudC5zZXRDYWNoZURpc2FibGVkKGZhbHNl
LCBzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDYoKQotICAgIHsKLSAgICAgICAg
Ly8gRm9yY2UgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgZ2FyYmFnZSBjb2xsZWN0b3IgcnVuLgotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJmb3JjZUNhY2hlZFJlc291cmNlTG9h
ZGVyR0MoKSIpOwotCi0gICAgICAgIC8vIFJlLXJlcXVlc3QgY29udGVudCBub3cgdGhhdCBDYWNo
ZWRSZXNvdXJjZSBzaG91bGQgaGF2ZSBiZWVuIGRlc3Ryb3llZC4KLSAgICAgICAgZGVsZXRlIGlt
YWdlUmVxdWVzdC5fY29udGVudDsKLSAgICAgICAgaW1hZ2VSZXF1ZXN0LnJlcXVlc3RDb250ZW50
KHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNygpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVzdC5jb250ZW50IGFmdGVyIHJlcXVlc3Rpbmcg
Y29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50KTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRUcnVlKCFpbWFnZVJlcXVlc3QuY29udGVudCwgIkNvbnRlbnQgYXZhaWxhYmxlIGFm
dGVyIENhY2hlZFJlc291cmNlIHdhcyBkZXN0cm95ZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXA4KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+VGVzdHMgY2FjaGVkIHJlc291cmNlIGNvbnRlbnQgaXMgZGlzY2FyZGVkIHdoZW4gY2Fj
aGVkIHJlc291cmNlIGlzIGRlc3Ryb3llZCBpZiBjb250ZW50IHNpemUgaXMgdG9vIGJpZyBmb3Ig
dGhlIHJlc291cmNlIGFnZW50J3MgZGF0YSBzdG9yYWdlLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjEwOCI+QnVnIDkyMTA4PC9hPgotPC9i
b2R5PgotPC9odG1sPgotCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>