<?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>161646</bug_id>
          
          <creation_ts>2016-09-06 14:42:36 -0700</creation_ts>
          <short_desc>REGRESSION(r205494): This change broke the Windows build (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-09-06 14:45:11 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>161100</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1226836</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-06 14:42:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/205494 broke the build:
This change broke the Windows build (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226838</commentid>
    <comment_count>1</comment_count>
      <attachid>288047</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-06 14:43:13 -0700</bug_when>
    <thetext>Created attachment 288047
ROLLOUT of r205494

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>1226840</commentid>
    <comment_count>2</comment_count>
      <attachid>288047</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-09-06 14:45:07 -0700</bug_when>
    <thetext>Comment on attachment 288047
ROLLOUT of r205494

Clearing flags on attachment: 288047

Committed r205508: &lt;http://trac.webkit.org/changeset/205508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1226841</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-09-06 14:45:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288047</attachid>
            <date>2016-09-06 14:43:13 -0700</date>
            <delta_ts>2016-09-06 14:45:07 -0700</delta_ts>
            <desc>ROLLOUT of r205494</desc>
            <filename>bug-161646-20160906144050.patch</filename>
            <type>text/plain</type>
            <size>33930</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NTZkMTk4MzhhOTVlM2VmYzk4NjVkYTk4ODE3NmJkZTQ2YjQ5YTgzLi5kNjRlNmFmMDIxOTYzYmE5
ZjlhYzI2NjJiZmI4ODI1YTMyNTliM2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOSBAQAogMjAxNi0wOS0wNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwNTQ5NC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTY0NgorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGJyb2tlIHRoZSBXaW5kb3dzIGJ1aWxkIChSZXF1ZXN0ZWQgYnkgcnlh
bmhhZGRhZAorICAgICAgICBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CisKKyAgICAgICAgIlR5cGVkIGFycmF5cyBzaG91bGQgdXNlIE1hcmtlZFNwYWNlIGluc3Rl
YWQgb2YgQ29waWVkU3BhY2UiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjExMDAKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMjA1NDk0CisKKzIwMTYtMDktMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDU1MDQuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE2NDUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXggMjBhZTUyYjRi
MzNlZmUzNDUyYzA2ZWI5ZDk2ZjY1ODQ3ZTQ4ZjNiZS4uYjM4N2FhNjFjYjgxOGYzNWEyMjQ5MmFh
NGU1N2VkODBkOWQyOWEwMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCkBAIC0xMzQsNyArMTM0LDcgQEAgQUxXQVlTX0lOTElORSBzdGF0aWMgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsSW50ZXJuYWwoRXhlY1N0YXRlKiBleGUKIH0K
IAogdGVtcGxhdGU8dHlwZW5hbWUgVmlld0NsYXNzPgotY2hhciogbmV3VHlwZWRBcnJheVdpdGhT
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3Qgc2l6ZSwg
Y2hhciogdmVjdG9yKQorY2hhciogbmV3VHlwZWRBcnJheVdpdGhTaXplKEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3Qgc2l6ZSkKIHsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsK
QEAgLTE0NCwxMCArMTQ0LDYgQEAgY2hhciogbmV3VHlwZWRBcnJheVdpdGhTaXplKEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3Qgc2l6ZSwKICAgICAgICAgdGhy
b3dFeGNlcHRpb24oZXhlYywgc2NvcGUsIGNyZWF0ZVJhbmdlRXJyb3IoZXhlYywgQVNDSUlMaXRl
cmFsKCJSZXF1ZXN0ZWQgbGVuZ3RoIGlzIG5lZ2F0aXZlIikpKTsKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQotICAgIAotICAgIGlmICh2ZWN0b3IpCi0gICAgICAgIHJldHVybiBiaXR3aXNlX2Nh
c3Q8Y2hhcio+KFZpZXdDbGFzczo6Y3JlYXRlV2l0aEZhc3RWZWN0b3IoZXhlYywgc3RydWN0dXJl
LCBzaXplLCB2ZWN0b3IpKTsKLSAgICAKICAgICByZXR1cm4gYml0d2lzZV9jYXN0PGNoYXIqPihW
aWV3Q2xhc3M6OmNyZWF0ZShleGVjLCBzdHJ1Y3R1cmUsIHNpemUpKTsKIH0KIApAQCAtOTYyLDkg
Kzk1OCw5IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXIoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIGFycmF5U3RyCiB9CiAKIGNoYXIqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3SW50OEFycmF5V2l0aFNpemUoCi0gICAgRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgaW50MzJfdCBsZW5ndGgsIGNoYXIqIHZlY3RvcikKKyAgICBF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCkKIHsK
LSAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTSW50OEFycmF5PihleGVjLCBzdHJ1
Y3R1cmUsIGxlbmd0aCwgdmVjdG9yKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXpl
PEpTSW50OEFycmF5PihleGVjLCBzdHJ1Y3R1cmUsIGxlbmd0aCk7CiB9CiAKIGNoYXIqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3SW50OEFycmF5V2l0aE9uZUFyZ3VtZW50KApAQCAtOTc2LDkg
Kzk3Miw5IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3SW50OEFycmF5V2l0aE9u
ZUFyZ3VtZW50KAogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0ludDE2QXJy
YXlXaXRoU2l6ZSgKLSAgICBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBp
bnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKQorICAgIEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3RoKQogewotICAgIHJldHVybiBuZXdUeXBlZEFy
cmF5V2l0aFNpemU8SlNJbnQxNkFycmF5PihleGVjLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9y
KTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTSW50MTZBcnJheT4oZXhlYywg
c3RydWN0dXJlLCBsZW5ndGgpOwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0ludDE2QXJyYXlXaXRoT25lQXJndW1lbnQoCkBAIC05OTAsOSArOTg2LDkgQEAgY2hhciogSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdJbnQxNkFycmF5V2l0aE9uZUFyZ3VtZW50KAogfQogCiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0ludDMyQXJyYXlXaXRoU2l6ZSgKLSAgICBF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hh
ciogdmVjdG9yKQorICAgIEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGlu
dDMyX3QgbGVuZ3RoKQogewotICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNpemU8SlNJbnQz
MkFycmF5PihleGVjLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yKTsKKyAgICByZXR1cm4gbmV3
VHlwZWRBcnJheVdpdGhTaXplPEpTSW50MzJBcnJheT4oZXhlYywgc3RydWN0dXJlLCBsZW5ndGgp
OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0ludDMyQXJyYXlXaXRoT25l
QXJndW1lbnQoCkBAIC0xMDA0LDkgKzEwMDAsOSBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0ludDMyQXJyYXlXaXRoT25lQXJndW1lbnQoCiB9CiAKIGNoYXIqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3VWludDhBcnJheVdpdGhTaXplKAotICAgIEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3RoLCBjaGFyKiB2ZWN0b3IpCisgICAg
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgaW50MzJfdCBsZW5ndGgpCiB7
Ci0gICAgcmV0dXJuIG5ld1R5cGVkQXJyYXlXaXRoU2l6ZTxKU1VpbnQ4QXJyYXk+KGV4ZWMsIHN0
cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3IpOworICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNp
emU8SlNVaW50OEFycmF5PihleGVjLCBzdHJ1Y3R1cmUsIGxlbmd0aCk7CiB9CiAKIGNoYXIqIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3VWludDhBcnJheVdpdGhPbmVBcmd1bWVudCgKQEAgLTEw
MTgsOSArMTAxNCw5IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3VWludDhBcnJh
eVdpdGhPbmVBcmd1bWVudCgKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdV
aW50OENsYW1wZWRBcnJheVdpdGhTaXplKAotICAgIEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3RoLCBjaGFyKiB2ZWN0b3IpCisgICAgRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgaW50MzJfdCBsZW5ndGgpCiB7Ci0gICAgcmV0
dXJuIG5ld1R5cGVkQXJyYXlXaXRoU2l6ZTxKU1VpbnQ4Q2xhbXBlZEFycmF5PihleGVjLCBzdHJ1
Y3R1cmUsIGxlbmd0aCwgdmVjdG9yKTsKKyAgICByZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXpl
PEpTVWludDhDbGFtcGVkQXJyYXk+KGV4ZWMsIHN0cnVjdHVyZSwgbGVuZ3RoKTsKIH0KIAogY2hh
ciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdVaW50OENsYW1wZWRBcnJheVdpdGhPbmVBcmd1
bWVudCgKQEAgLTEwMzIsOSArMTAyOCw5IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3VWludDhDbGFtcGVkQXJyYXlXaXRoT25lQXJndW1lbnQoCiB9CiAKIGNoYXIqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3VWludDE2QXJyYXlXaXRoU2l6ZSgKLSAgICBFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKQor
ICAgIEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3Ro
KQogewotICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNpemU8SlNVaW50MTZBcnJheT4oZXhl
Yywgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvcik7CisgICAgcmV0dXJuIG5ld1R5cGVkQXJyYXlX
aXRoU2l6ZTxKU1VpbnQxNkFycmF5PihleGVjLCBzdHJ1Y3R1cmUsIGxlbmd0aCk7CiB9CiAKIGNo
YXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3VWludDE2QXJyYXlXaXRoT25lQXJndW1lbnQo
CkBAIC0xMDQ2LDkgKzEwNDIsOSBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1Vp
bnQxNkFycmF5V2l0aE9uZUFyZ3VtZW50KAogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld1VpbnQzMkFycmF5V2l0aFNpemUoCi0gICAgRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgaW50MzJfdCBsZW5ndGgsIGNoYXIqIHZlY3RvcikKKyAgICBFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBpbnQzMl90IGxlbmd0aCkKIHsKLSAgICBy
ZXR1cm4gbmV3VHlwZWRBcnJheVdpdGhTaXplPEpTVWludDMyQXJyYXk+KGV4ZWMsIHN0cnVjdHVy
ZSwgbGVuZ3RoLCB2ZWN0b3IpOworICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNpemU8SlNV
aW50MzJBcnJheT4oZXhlYywgc3RydWN0dXJlLCBsZW5ndGgpOwogfQogCiBjaGFyKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld1VpbnQzMkFycmF5V2l0aE9uZUFyZ3VtZW50KApAQCAtMTA2MCw5
ICsxMDU2LDkgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdVaW50MzJBcnJheVdp
dGhPbmVBcmd1bWVudCgKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGbG9h
dDMyQXJyYXlXaXRoU2l6ZSgKLSAgICBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBpbnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKQorICAgIEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3RoKQogewotICAgIHJldHVybiBuZXdU
eXBlZEFycmF5V2l0aFNpemU8SlNGbG9hdDMyQXJyYXk+KGV4ZWMsIHN0cnVjdHVyZSwgbGVuZ3Ro
LCB2ZWN0b3IpOworICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNpemU8SlNGbG9hdDMyQXJy
YXk+KGV4ZWMsIHN0cnVjdHVyZSwgbGVuZ3RoKTsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRoT25lQXJndW1lbnQoCkBAIC0xMDc0LDkgKzEwNzAs
OSBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhPbmVB
cmd1bWVudCgKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGbG9hdDY0QXJy
YXlXaXRoU2l6ZSgKLSAgICBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBp
bnQzMl90IGxlbmd0aCwgY2hhciogdmVjdG9yKQorICAgIEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGludDMyX3QgbGVuZ3RoKQogewotICAgIHJldHVybiBuZXdUeXBlZEFy
cmF5V2l0aFNpemU8SlNGbG9hdDY0QXJyYXk+KGV4ZWMsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0
b3IpOworICAgIHJldHVybiBuZXdUeXBlZEFycmF5V2l0aFNpemU8SlNGbG9hdDY0QXJyYXk+KGV4
ZWMsIHN0cnVjdHVyZSwgbGVuZ3RoKTsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdGbG9hdDY0QXJyYXlXaXRoT25lQXJndW1lbnQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5oCmluZGV4IDY1ZWJkOWRiMmQ3NDEwMDQyOGQzM2NjNjJmYTdjN2U0
NDIwOTg5ZTYuLjJjMzkyYzVkNGU2YzViOGVlNzRkMjY1OGJjY2I2ZGNkYzE2ZWFiY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCkBAIC03MSwyMyArNzEsMjMg
QEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmUqLCB2b2lkKiwgc2l6ZV90KSBXVEYKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3QXJyYXlCdWZmZXIoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgc2l6ZV90LCBzaXplX3QpIFdU
Rl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RW1wdHlBcnJheShF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBjaGFyKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJf
dCwgQnV0dGVyZmx5KikgV1RGX0lOVEVSTkFMOwotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdJbnQ4QXJyYXlXaXRoU2l6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQzMl90LCBj
aGFyKikgV1RGX0lOVEVSTkFMOworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdJbnQ4
QXJyYXlXaXRoU2l6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQzMl90KSBXVEZfSU5URVJO
QUw7CiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0ludDhBcnJheVdpdGhPbmVBcmd1
bWVudChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
OwotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdJbnQxNkFycmF5V2l0aFNpemUoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciopIFdURl9JTlRFUk5BTDsKK2NoYXIq
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3SW50MTZBcnJheVdpdGhTaXplKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZSosIGludDMyX3QpIFdURl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTmV3SW50MTZBcnJheVdpdGhPbmVBcmd1bWVudChFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwotY2hhciogSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdJbnQzMkFycmF5V2l0aFNpemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50
MzJfdCwgY2hhciopIFdURl9JTlRFUk5BTDsKK2NoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3SW50MzJBcnJheVdpdGhTaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGludDMyX3QpIFdU
Rl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3SW50MzJBcnJheVdp
dGhPbmVBcmd1bWVudChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RG
X0lOVEVSTkFMOwotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdVaW50OEFycmF5V2l0
aFNpemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJfdCwgY2hhciopIFdURl9JTlRFUk5B
TDsKK2NoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3VWludDhBcnJheVdpdGhTaXplKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGludDMyX3QpIFdURl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3VWludDhBcnJheVdpdGhPbmVBcmd1bWVudChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwotY2hhciogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdVaW50OENsYW1wZWRBcnJheVdpdGhTaXplKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZSosIGludDMyX3QsIGNoYXIqKSBXVEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld1VpbnQ4Q2xhbXBlZEFycmF5V2l0aFNpemUoRXhlY1N0YXRlKiwg
U3RydWN0dXJlKiwgaW50MzJfdCkgV1RGX0lOVEVSTkFMOwogY2hhciogSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdVaW50OENsYW1wZWRBcnJheVdpdGhPbmVBcmd1bWVudChFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwotY2hhciogSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdVaW50MTZBcnJheVdpdGhTaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZSosIGludDMyX3QsIGNoYXIqKSBXVEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld1VpbnQxNkFycmF5V2l0aFNpemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50
MzJfdCkgV1RGX0lOVEVSTkFMOwogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdVaW50
MTZBcnJheVdpdGhPbmVBcmd1bWVudChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNW
YWx1ZSkgV1RGX0lOVEVSTkFMOwotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdVaW50
MzJBcnJheVdpdGhTaXplKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGludDMyX3QsIGNoYXIqKSBX
VEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1VpbnQzMkFycmF5
V2l0aFNpemUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJfdCkgV1RGX0lOVEVSTkFMOwog
Y2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdVaW50MzJBcnJheVdpdGhPbmVBcmd1bWVu
dChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwot
Y2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRoU2l6ZShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQzMl90LCBjaGFyKikgV1RGX0lOVEVSTkFMOworY2hhciog
SklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGbG9hdDMyQXJyYXlXaXRoU2l6ZShFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqLCBpbnQzMl90KSBXVEZfSU5URVJOQUw7CiBjaGFyKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Zsb2F0MzJBcnJheVdpdGhPbmVBcmd1bWVudChFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwotY2hhciogSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoU2l6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
LCBpbnQzMl90LCBjaGFyKikgV1RGX0lOVEVSTkFMOworY2hhciogSklUX09QRVJBVElPTiBvcGVy
YXRpb25OZXdGbG9hdDY0QXJyYXlXaXRoU2l6ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQz
Ml90KSBXVEZfSU5URVJOQUw7CiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Zsb2F0
NjRBcnJheVdpdGhPbmVBcmd1bWVudChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBFbmNvZGVkSlNW
YWx1ZSkgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFs
U3RyaWN0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkUHJvcGVydHksIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkgV1RGX0lO
VEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsTm9uU3RyaWN0KEV4
ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkUHJvcGVydHksIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkgV1RGX0lOVEVSTkFMOwpA
QCAtMTk4LDcgKzE5OCw3IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gdHJpZ2dlck9TUkVudHJ5Tm93
KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgpIFdURl9JCiAKIH0gLy8gZXh0ZXJu
ICJDIgogCi1pbmxpbmUgUF9KSVRPcGVyYXRpb25fRVN0WlAgb3BlcmF0aW9uTmV3VHlwZWRBcnJh
eVdpdGhTaXplRm9yVHlwZShUeXBlZEFycmF5VHlwZSB0eXBlKQoraW5saW5lIFBfSklUT3BlcmF0
aW9uX0VTdFogb3BlcmF0aW9uTmV3VHlwZWRBcnJheVdpdGhTaXplRm9yVHlwZShUeXBlZEFycmF5
VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgVHlwZUludDg6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4
IDZjMWM4ZWQ1MWJhZjBkN2I5YzkwYTZlZjQ5MDY5NjgxYTkwZDBiYzkuLjg3ZmUyNzc0NDNhNmZk
YTRkNTFhMWZiMGQwMzdjMWU4ODIzOTk4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC03MTgwLDggKzcxODAsNiBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlTmV3VHlwZWRBcnJheShOb2RlKiBub2RlKQogICAgIEdQUlJl
ZyBzY3JhdGNoR1BSMiA9IHNjcmF0Y2gyLmdwcigpOwogICAgIAogICAgIEpJVENvbXBpbGVyOjpK
dW1wTGlzdCBzbG93Q2FzZXM7Ci0gICAgCi0gICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKDAp
LCBzdG9yYWdlR1BSKTsKIAogICAgIHNsb3dDYXNlcy5hcHBlbmQobV9qaXQuYnJhbmNoMzIoCiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBYm92ZSwgc2l6ZUdQUiwgVHJ1c3RlZEltbTMyKEpTQXJy
YXlCdWZmZXJWaWV3OjpmYXN0U2l6ZUxpbWl0KSkpOwpAQCAtNzE5MywxMCArNzE5MSwyNiBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3VHlwZWRBcnJheShOb2RlKiBub2RlKQogICAg
ICAgICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoNyksIHNjcmF0Y2hHUFIpOwogICAgICAgICBt
X2ppdC5hbmQzMihUcnVzdGVkSW1tMzIofjcpLCBzY3JhdGNoR1BSKTsKICAgICB9Ci0gICAgbV9q
aXQuZW1pdEFsbG9jYXRlVmFyaWFibGVTaXplZCgKLSAgICAgICAgc3RvcmFnZUdQUiwgbV9qaXQu
dm0oKS0+aGVhcC5zdWJzcGFjZUZvckF1eGlsaWFyeURhdGEoKSwgc2NyYXRjaEdQUiwgc2NyYXRj
aEdQUiwKLSAgICAgICAgc2NyYXRjaEdQUjIsIHNsb3dDYXNlcyk7CisgICAgc2xvd0Nhc2VzLmFw
cGVuZCgKKyAgICAgICAgZW1pdEFsbG9jYXRlQmFzaWNTdG9yYWdlKHNjcmF0Y2hHUFIsIHN0b3Jh
Z2VHUFIpKTsKKyAgICAKKyAgICBtX2ppdC5zdWJQdHIoc2NyYXRjaEdQUiwgc3RvcmFnZUdQUik7
CisgICAgCisgICAgZW1pdEFsbG9jYXRlSlNPYmplY3Q8SlNBcnJheUJ1ZmZlclZpZXc+KAorICAg
ICAgICByZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwgVHJ1c3RlZEltbVB0cigw
KSwgc2NyYXRjaEdQUiwgc2NyYXRjaEdQUjIsCisgICAgICAgIHNsb3dDYXNlcyk7CisgICAgCisg
ICAgbV9qaXQuc3RvcmVQdHIoCisgICAgICAgIHN0b3JhZ2VHUFIsCisgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNBcnJheUJ1ZmZlclZpZXc6Om9mZnNldE9mVmVj
dG9yKCkpKTsKKyAgICBtX2ppdC5zdG9yZTMyKAorICAgICAgICBzaXplR1BSLAorICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZz
ZXRPZkxlbmd0aCgpKSk7CisgICAgbV9qaXQuc3RvcmUzMigKKyAgICAgICAgVHJ1c3RlZEltbTMy
KEZhc3RUeXBlZEFycmF5KSwKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MocmVzdWx0
R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZNb2RlKCkpKTsKICAgICAKKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5icmFu
Y2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHNpemVHUFIpOwogICAgIG1faml0Lm1vdmUo
c2l6ZUdQUiwgc2NyYXRjaEdQUik7CiAgICAgaWYgKGVsZW1lbnRTaXplKHR5cGUpICE9IDQpIHsK
QEAgLTcyMTYsMjQgKzcyMzAsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld1R5
cGVkQXJyYXkoTm9kZSogbm9kZSkKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChz
dG9yYWdlR1BSLCBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNGb3VyKSk7CiAgICAg
bV9qaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBzY3JhdGNoR1BSKS5s
aW5rVG8obG9vcCwgJm1faml0KTsKICAgICBkb25lLmxpbmsoJm1faml0KTsKLSAgICAKLSAgICBl
bWl0QWxsb2NhdGVKU09iamVjdDxKU0FycmF5QnVmZmVyVmlldz4oCi0gICAgICAgIHJlc3VsdEdQ
UiwgVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BS
LCBzY3JhdGNoR1BSMiwKLSAgICAgICAgc2xvd0Nhc2VzKTsKLSAgICAKLSAgICBtX2ppdC5zdG9y
ZVB0cigKLSAgICAgICAgc3RvcmFnZUdQUiwKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MocmVzdWx0R1BSLCBKU0FycmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZWZWN0b3IoKSkpOwotICAg
IG1faml0LnN0b3JlMzIoCi0gICAgICAgIHNpemVHUFIsCi0gICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNBcnJheUJ1ZmZlclZpZXc6Om9mZnNldE9mTGVuZ3RoKCkp
KTsKLSAgICBtX2ppdC5zdG9yZTMyKAotICAgICAgICBUcnVzdGVkSW1tMzIoRmFzdFR5cGVkQXJy
YXkpLAotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyYXlC
dWZmZXJWaWV3OjpvZmZzZXRPZk1vZGUoKSkpOworI2VuZGlmIC8vIFVTRShKU1ZBTFVFMzJfNjQp
CiAgICAgCiAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxsKAogICAgICAgICBz
bG93Q2FzZXMsIHRoaXMsIG9wZXJhdGlvbk5ld1R5cGVkQXJyYXlXaXRoU2l6ZUZvclR5cGUodHlw
ZSksCi0gICAgICAgIHJlc3VsdEdQUiwgc3RydWN0dXJlLCBzaXplR1BSLCBzdG9yYWdlR1BSKSk7
CisgICAgICAgIHJlc3VsdEdQUiwgc3RydWN0dXJlLCBzaXplR1BSKSk7CiAgICAgCiAgICAgY2Vs
bFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDdhODQ5YzcwMWE1ZjQyMmZjMzM0ZDkxNjhkODVm
OTQ2M2JmYmRkYzAuLjViZTAxYzlhNjU3NTkzZmIwYTVjMGNjOGYyYzQzNmI4YWM4MWRjMGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTk4
OCwxOSArOTg4LDE5IEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSk7CiAgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJhdGlvbl9FU3RaUCBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFy
ZzMpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJhdGlvbl9F
U3RaIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEdQUlJl
ZyBhcmcyKQogICAgIHsKLSAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwgYXJnMiwgYXJnMyk7CisgICAgICAgIG1faml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIGFyZzIp
OwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7
CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oUF9KSVRPcGVyYXRp
b25fRVN0WlAgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
c2l6ZV90IGFyZzIsIEdQUlJlZyBhcmczKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oUF9KSVRPcGVyYXRpb25fRVN0WiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBzaXplX3QgYXJnMikKICAgICB7Ci0gICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIFRydXN0ZWRJ
bW0zMihhcmcyKSwgYXJnMyk7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIFRydXN0ZWRJbW0zMihhcmcyKSk7CiAgICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9
Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJhdGlvbl9FU3Ra
UCBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BS
UmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJh
dGlvbl9FU3RaIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBh
cmcyKQogICAgIHsKLSAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIGFyZzIsIGFyZzMpOworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoYXJnMSwgYXJnMik7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihQX0pJVE9wZXJhdGlvbl9FU3RaQiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGJ1dHRlcmZseSkKQEAgLTI1NTAsNiAr
MjU1MCwzMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBtb3ZlRmFsc2VUbyhHUFJSZWcpOwogICAgIHZv
aWQgYmxlc3NCb29sZWFuKEdQUlJlZyk7CiAgICAgCisgICAgLy8gc2l6ZSBjYW4gYmUgYW4gaW1t
ZWRpYXRlIG9yIGEgcmVnaXN0ZXIsIGFuZCBtdXN0IGJlIGluIGJ5dGVzLiBJZiBzaXplIGlzIGEg
cmVnaXN0ZXIsCisgICAgLy8gaXQgbXVzdCBiZSBhIGRpZmZlcmVudCByZWdpc3RlciB0aGFuIHJl
c3VsdEdQUi4gRW1pdHMgY29kZSB0aGF0IHBsYWNlIGEgcG9pbnRlciB0bworICAgIC8vIHRoZSBl
bmQgb2YgdGhlIGFsbG9jYXRpb24uIFRoZSByZXR1cm5lZCBqdW1wIGlzIHRoZSBqdW1wIHRvIHRo
ZSBzbG93IHBhdGguCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU2l6ZVR5cGU+CisgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXAgZW1pdEFsbG9jYXRlQmFzaWNTdG9yYWdlKFNpemVUeXBlIHNpemUsIEdQ
UlJlZyByZXN1bHRHUFIpCisgICAgeworICAgICAgICBDb3BpZWRBbGxvY2F0b3IqIGNvcGllZEFs
bG9jYXRvciA9ICZtX2ppdC52bSgpLT5oZWFwLnN0b3JhZ2VBbGxvY2F0b3IoKTsKKworICAgICAg
ICAvLyBJdCdzIGludmFsaWQgdG8gYWxsb2NhdGUgemVybyBieXRlcyBpbiBDb3BpZWRTcGFjZS4g
CisjaWZuZGVmIE5ERUJVRworICAgICAgICBtX2ppdC5tb3ZlKHNpemUsIHJlc3VsdEdQUik7Cisg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vblplcm9TaXplID0gbV9qaXQuYnJhbmNoVGVz
dDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCByZXN1bHRHUFIpOworICAgICAgICBtX2ppdC5h
Ym9ydFdpdGhSZWFzb24oREZHQmFzaWNTdG9yYWdlQWxsb2NhdG9yWmVyb1NpemUpOworICAgICAg
ICBub25aZXJvU2l6ZS5saW5rKCZtX2ppdCk7CisjZW5kaWYKKworICAgICAgICBtX2ppdC5sb2Fk
UHRyKCZjb3BpZWRBbGxvY2F0b3ItPm1fY3VycmVudFJlbWFpbmluZywgcmVzdWx0R1BSKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgc2xvd1BhdGggPSBtX2ppdC5icmFuY2hTdWJQdHIo
SklUQ29tcGlsZXI6OlNpZ25lZCwgc2l6ZSwgcmVzdWx0R1BSKTsKKyAgICAgICAgbV9qaXQuc3Rv
cmVQdHIocmVzdWx0R1BSLCAmY29waWVkQWxsb2NhdG9yLT5tX2N1cnJlbnRSZW1haW5pbmcpOwor
ICAgICAgICBtX2ppdC5uZWdQdHIocmVzdWx0R1BSKTsKKyAgICAgICAgbV9qaXQuYWRkUHRyKEpJ
VENvbXBpbGVyOjpBYnNvbHV0ZUFkZHJlc3MoJmNvcGllZEFsbG9jYXRvci0+bV9jdXJyZW50UGF5
bG9hZEVuZCksIHJlc3VsdEdQUik7CisgICAgICAgIAorICAgICAgICByZXR1cm4gc2xvd1BhdGg7
CisgICAgfQorCiAgICAgLy8gQWxsb2NhdG9yIGZvciBhIGNlbGwgb2YgYSBzcGVjaWZpYyBzaXpl
LgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBTdHJ1Y3R1cmVUeXBlPiAvLyBTdHJ1Y3R1cmVUeXBl
IGNhbiBiZSBHUFIgb3IgSW1tUHRyLgogICAgIHZvaWQgZW1pdEFsbG9jYXRlSlNDZWxsKApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCmluZGV4IDViMmUy
MGM5ODBjYWYzNDg4NDAyYWZmYjFjMTI5OGQxNmNkZmI3ZTMuLmU0YTZmMTQ4OTg1ZjY5NWVhMTgy
ZGI5OWU3MzY3NmNmZjYzYmQ5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAKQEAgLTQxMzIsOCArNDEzMiw2IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBMQmFzaWNCbG9jayBub25aZXJvQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAg
ICAgICBMQmFzaWNCbG9jayBzbG93Q2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgICAg
ICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBub1N0b3JhZ2UgPSBtX291dC5hbmNob3Io
bV9vdXQuaW50UHRyWmVybyk7CiAKICAgICAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAg
ICAgICAgICBtX291dC5hYm92ZShzaXplLCBtX291dC5jb25zdEludDMyKEpTQXJyYXlCdWZmZXJW
aWV3OjpmYXN0U2l6ZUxpbWl0KSksCkBAIC00MTUzLDE4ICs0MTUxLDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIofnN0YXRpY19jYXN0PGludHB0cl90
Pig3KSkpOwogICAgICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgICAgIExWYWx1ZSBhbGxv
Y2F0b3IgPSBhbGxvY2F0b3JGb3JTaXplKAotICAgICAgICAgICAgICAgIHZtKCkuaGVhcC5zdWJz
cGFjZUZvckF1eGlsaWFyeURhdGEoKSwgYnl0ZVNpemUsIHNsb3dDYXNlKTsKLSAgICAgICAgICAg
IExWYWx1ZSBzdG9yYWdlID0gYWxsb2NhdGVIZWFwQ2VsbChhbGxvY2F0b3IsIHNsb3dDYXNlKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgc3BsYXRXb3JkcygKLSAgICAgICAgICAgICAgICBz
dG9yYWdlLAotICAgICAgICAgICAgICAgIG1fb3V0LmludDMyWmVybywKLSAgICAgICAgICAgICAg
ICBtX291dC5jYXN0VG9JbnQzMihtX291dC5sU2hyKGJ5dGVTaXplLCBtX291dC5jb25zdEludFB0
cigzKSkpLAotICAgICAgICAgICAgICAgIG1fb3V0LmludDY0WmVybywKLSAgICAgICAgICAgICAg
ICBtX2hlYXBzLnR5cGVkQXJyYXlQcm9wZXJ0aWVzKTsKLQotICAgICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgaGF2ZVN0b3JhZ2UgPSBtX291dC5hbmNob3Ioc3RvcmFnZSk7CisgICAgICAgICAgICBM
VmFsdWUgc3RvcmFnZSA9IGFsbG9jYXRlQmFzaWNTdG9yYWdlKGJ5dGVTaXplLCBzbG93Q2FzZSk7
CiAKICAgICAgICAgICAgIExWYWx1ZSBmYXN0UmVzdWx0VmFsdWUgPQogICAgICAgICAgICAgICAg
IGFsbG9jYXRlT2JqZWN0PEpTQXJyYXlCdWZmZXJWaWV3PihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0
clplcm8sIHNsb3dDYXNlKTsKQEAgLTQxNzIsMjEgKzQxNTksMTkgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIG1fb3V0LnN0b3JlUHRyKHN0b3JhZ2UsIGZhc3RSZXN1bHRWYWx1ZSwgbV9oZWFwcy5K
U0FycmF5QnVmZmVyVmlld192ZWN0b3IpOwogICAgICAgICAgICAgbV9vdXQuc3RvcmUzMihzaXpl
LCBmYXN0UmVzdWx0VmFsdWUsIG1faGVhcHMuSlNBcnJheUJ1ZmZlclZpZXdfbGVuZ3RoKTsKICAg
ICAgICAgICAgIG1fb3V0LnN0b3JlMzIobV9vdXQuY29uc3RJbnQzMihGYXN0VHlwZWRBcnJheSks
IGZhc3RSZXN1bHRWYWx1ZSwgbV9oZWFwcy5KU0FycmF5QnVmZmVyVmlld19tb2RlKTsKLSAgICAg
ICAgICAgIAorCiAgICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQu
YW5jaG9yKGZhc3RSZXN1bHRWYWx1ZSk7CiAgICAgICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVh
dGlvbik7CiAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dDYXNlLCBjb250aW51YXRp
b24pOwotICAgICAgICAgICAgTFZhbHVlIHN0b3JhZ2VWYWx1ZSA9IG1fb3V0LnBoaShwb2ludGVy
VHlwZSgpLCBub1N0b3JhZ2UsIGhhdmVTdG9yYWdlKTsKIAogICAgICAgICAgICAgTFZhbHVlIHNs
b3dSZXN1bHRWYWx1ZSA9IGxhenlTbG93UGF0aCgKICAgICAgICAgICAgICAgICBbPV0gKGNvbnN0
IFZlY3RvcjxMb2NhdGlvbj4mIGxvY2F0aW9ucykgLT4gUmVmUHRyPExhenlTbG93UGF0aDo6R2Vu
ZXJhdG9yPiB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVMYXp5Q2FsbEdlbmVy
YXRvcigKICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbk5ld1R5cGVkQXJyYXlXaXRo
U2l6ZUZvclR5cGUodHlwZSksIGxvY2F0aW9uc1swXS5kaXJlY3RHUFIoKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBsb2Nh
dGlvbnNbMV0uZGlyZWN0R1BSKCksCi0gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbnNb
Ml0uZGlyZWN0R1BSKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIGxvY2F0aW9uc1sxXS5kaXJlY3RHUFIoKSk7CiAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBzaXplLCBzdG9yYWdlVmFsdWUpOworICAg
ICAgICAgICAgICAgIHNpemUpOwogICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3Vs
dCA9IG1fb3V0LmFuY2hvcihzbG93UmVzdWx0VmFsdWUpOwogICAgICAgICAgICAgbV9vdXQuanVt
cChjb250aW51YXRpb24pOwogCkBAIC03ODAwLDM5ICs3Nzg1LDMxIEBAIHByaXZhdGU6CiAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgIGhvbGUgPSBtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVu
Y29kZShKU1ZhbHVlKCkpKTsKICAgICAgICAgCi0gICAgICAgIHNwbGF0V29yZHMoYnV0dGVyZmx5
LCBiZWdpbiwgZW5kLCBob2xlLCBoZWFwLT5hdEFueUluZGV4KCkpOwotICAgIH0KLSAgICAKLSAg
ICB2b2lkIHNwbGF0V29yZHMoTFZhbHVlIGJhc2UsIExWYWx1ZSBiZWdpbiwgTFZhbHVlIGVuZCwg
TFZhbHVlIHZhbHVlLCBjb25zdCBBYnN0cmFjdEhlYXAmIGhlYXApCi0gICAgewogICAgICAgICBj
b25zdCB1aW50NjRfdCB1bnJvbGxpbmdMaW1pdCA9IDEwOwogICAgICAgICBpZiAoYmVnaW4tPmhh
c0ludCgpICYmIGVuZC0+aGFzSW50KCkpIHsKICAgICAgICAgICAgIHVpbnQ2NF90IGJlZ2luQ29u
c3QgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oYmVnaW4tPmFzSW50KCkpOwogICAgICAgICAgICAg
dWludDY0X3QgZW5kQ29uc3QgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZW5kLT5hc0ludCgpKTsK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKGVuZENvbnN0IC0gYmVnaW5Db25zdCA8PSB1
bnJvbGxpbmdMaW1pdCkgewotICAgICAgICAgICAgICAgIGZvciAodWludDY0X3QgaSA9IGJlZ2lu
Q29uc3Q7IGkgPCBlbmRDb25zdDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIExWYWx1ZSBw
b2ludGVyID0gbV9vdXQuYWRkKGJhc2UsIG1fb3V0LmNvbnN0SW50UHRyKGkgKiBzaXplb2YodWlu
dDY0X3QpKSk7Ci0gICAgICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlNjQodmFsdWUsIFR5cGVk
UG9pbnRlcihoZWFwLCBwb2ludGVyKSk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGZvciAodWludDY0X3QgaSA9IGJlZ2luQ29uc3Q7IGkgPCBlbmRDb25zdDsgKytpKQorICAg
ICAgICAgICAgICAgICAgICBtX291dC5zdG9yZTY0KGhvbGUsIGJ1dHRlcmZseSwgaGVhcC0+YXQo
aSkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
CisgICAgICAgIC8vIERvdWJsZXMgbXVzdCBiZSBpbml0aWFsaXplZCB0byBQTmFOLgogICAgICAg
ICBMQmFzaWNCbG9jayBpbml0TG9vcCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNp
Y0Jsb2NrIGluaXREb25lID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgCi0gICAgICAgIExC
YXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3JlKGluaXRMb29w
KTsKLSAgICAgICAgCiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG9yaWdpbmFsSW5kZXggPSBtX291
dC5hbmNob3IoZW5kKTsKLSAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxQb2ludGVyID0g
bV9vdXQuYW5jaG9yKGJhc2UpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbFBvaW50
ZXIgPSBtX291dC5hbmNob3IoYnV0dGVyZmx5KTsKICAgICAgICAgbV9vdXQuYnJhbmNoKG1fb3V0
Lm5vdEVxdWFsKGVuZCwgYmVnaW4pLCB1bnN1cmUoaW5pdExvb3ApLCB1bnN1cmUoaW5pdERvbmUp
KTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGluaXRMb29wLCBpbml0RG9uZSk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGluaXRMYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGluaXRM
b29wLCBpbml0RG9uZSk7CiAgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LnBoaShJbnQzMiwg
b3JpZ2luYWxJbmRleCk7CiAgICAgICAgIExWYWx1ZSBwb2ludGVyID0gbV9vdXQucGhpKHBvaW50
ZXJUeXBlKCksIG9yaWdpbmFsUG9pbnRlcik7CiAgICAgICAgIAotICAgICAgICBtX291dC5zdG9y
ZTY0KHZhbHVlLCBUeXBlZFBvaW50ZXIoaGVhcCwgcG9pbnRlcikpOworICAgICAgICBtX291dC5z
dG9yZTY0KGhvbGUsIFR5cGVkUG9pbnRlcihoZWFwLT5hdEFueUluZGV4KCksIHBvaW50ZXIpKTsK
ICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBuZXh0SW5kZXggPSBtX291dC5zdWIoaW5kZXgsIG1f
b3V0LmludDMyT25lKTsKICAgICAgICAgbV9vdXQuYWRkSW5jb21pbmdUb1BoaShpbmRleCwgbV9v
dXQuYW5jaG9yKG5leHRJbmRleCkpOwpAQCAtNzg0MCw3ICs3ODE3LDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwobmV4dEluZGV4
LCBiZWdpbiksIHVuc3VyZShpbml0TG9vcCksIHVuc3VyZShpbml0RG9uZSkpOwogICAgICAgICAK
LSAgICAgICAgbV9vdXQuYXBwZW5kVG8oaW5pdERvbmUsIGxhc3ROZXh0KTsKKyAgICAgICAgbV9v
dXQuYXBwZW5kVG8oaW5pdERvbmUsIGluaXRMYXN0TmV4dCk7CiAgICAgfQogICAgIAogICAgIExW
YWx1ZSBhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZShMVmFsdWUgb2JqZWN0LCBTdHJ1Y3R1cmUqIHBy
ZXZpb3VzU3RydWN0dXJlKQpAQCAtODYxOCw2ICs4NTk1LDMyIEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBhbGxvY2F0ZU9iamVjdChhbGxvY2F0b3IsIHN0cnVjdHVyZSwgYnV0dGVyZmx5LCBz
bG93UGF0aCk7CiAgICAgfQogICAgIAorICAgIC8vIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBl
bmQgb2YgdGhlIGFsbG9jYXRpb24uCisgICAgTFZhbHVlIGFsbG9jYXRlQmFzaWNTdG9yYWdlQW5k
R2V0RW5kKExWYWx1ZSBzaXplLCBMQmFzaWNCbG9jayBzbG93UGF0aCkKKyAgICB7CisgICAgICAg
IENvcGllZEFsbG9jYXRvciYgYWxsb2NhdG9yID0gdm0oKS5oZWFwLnN0b3JhZ2VBbGxvY2F0b3Io
KTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIHN1Y2Nlc3MgPSBtX291dC5uZXdCbG9j
aygpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIHJlbWFpbmluZyA9IG1fb3V0LmxvYWRQdHIo
bV9vdXQuYWJzb2x1dGUoJmFsbG9jYXRvci5tX2N1cnJlbnRSZW1haW5pbmcpKTsKKyAgICAgICAg
TFZhbHVlIG5ld1JlbWFpbmluZyA9IG1fb3V0LnN1YihyZW1haW5pbmcsIHNpemUpOworICAgICAg
ICAKKyAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAgbV9vdXQubGVzc1RoYW4obmV3
UmVtYWluaW5nLCBtX291dC5pbnRQdHJaZXJvKSwKKyAgICAgICAgICAgIHJhcmVseShzbG93UGF0
aCksIHVzdWFsbHkoc3VjY2VzcykpOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8o
c3VjY2Vzcyk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZVB0cihuZXdSZW1haW5pbmcs
IG1fb3V0LmFic29sdXRlKCZhbGxvY2F0b3IubV9jdXJyZW50UmVtYWluaW5nKSk7CisgICAgICAg
IHJldHVybiBtX291dC5zdWIoCisgICAgICAgICAgICBtX291dC5sb2FkUHRyKG1fb3V0LmFic29s
dXRlKCZhbGxvY2F0b3IubV9jdXJyZW50UGF5bG9hZEVuZCkpLCBuZXdSZW1haW5pbmcpOworICAg
IH0KKworICAgIExWYWx1ZSBhbGxvY2F0ZUJhc2ljU3RvcmFnZShMVmFsdWUgc2l6ZSwgTEJhc2lj
QmxvY2sgc2xvd1BhdGgpCisgICAgeworICAgICAgICByZXR1cm4gbV9vdXQuc3ViKGFsbG9jYXRl
QmFzaWNTdG9yYWdlQW5kR2V0RW5kKHNpemUsIHNsb3dQYXRoKSwgc2l6ZSk7CisgICAgfQorICAg
IAogICAgIExWYWx1ZSBhbGxvY2F0ZU9iamVjdChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICB7
CiAgICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRp
b25TaXplKHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9Db3B5VG9rZW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0NvcHlUb2tlbi5oCmluZGV4IGUxZDY4MjQ4Yjg2NDBlMDMyYzllYTU4YTVkZDJkZjUwYjQ0
ZTJhNGEuLjkyN2IyNGEyMzMyY2QzZDgyY2UyMmUxODU4OWE0MzAzMGJkMjdmY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvcHlUb2tlbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0NvcHlUb2tlbi5oCkBAIC0yOSw2ICsyOSw3IEBACiBuYW1lc3Bh
Y2UgSlNDIHsKIAogZW51bSBDb3B5VG9rZW4geworICAgIFR5cGVkQXJyYXlWZWN0b3JDb3B5VG9r
ZW4sCiAgICAgTWFwQmFja2luZ1N0b3JlQ29weVRva2VuLAogICAgIERpcmVjdEFyZ3VtZW50c092
ZXJyaWRlc0NvcHlUb2tlbgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL1Nsb3RWaXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNp
dG9yLmNwcAppbmRleCA5ZDBkOWZkZTM1MmZmZjllZmE5MDEyNzhkNDQ2NWM4ZGY3ZTMxZTE4Li40
NWQ4ODZlNDZkMTk0N2E5MzMzMzYxYzM2ZWJmOWJhMGJmZDNkN2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3IuY3BwCkBAIC0yNDcsOCArMjQ3LDYgQEAgdm9pZCBT
bG90VmlzaXRvcjo6bWFya0F1eGlsaWFyeShjb25zdCB2b2lkKiBiYXNlKQogewogICAgIEhlYXBD
ZWxsKiBjZWxsID0gYml0d2lzZV9jYXN0PEhlYXBDZWxsKj4oYmFzZSk7CiAgICAgCi0gICAgQVNT
RVJUKGNlbGwtPmhlYXAoKSA9PSBoZWFwKCkpOwotICAgIAogICAgIGlmIChIZWFwOjp0ZXN0QW5k
U2V0TWFya2VkKG1fdmVyc2lvbiwgY2VsbCkpIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoSGVh
cDo6aXNNYXJrZWQoY2VsbCkpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDIxNmFkZjVkODBkOTJjMjk3ODk4YzM2ODFhNzg5
ZTYwMWI5ZDljM2YuLjE2YTgxZDc0ZTU3MzUwNjI0ZmU0NmUyMGJkZTFkODAwYmNhYTU5YWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yOTEsNyArMjkx
LDYgQEAgdHlwZWRlZiBjaGFyKiAoSklUX09QRVJBVElPTiAqUF9KSVRPcGVyYXRpb25fRVN0UFMp
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIHZvaWQKIHR5cGVkZWYgY2hhciogKEpJVF9PUEVSQVRJ
T04gKlBfSklUT3BlcmF0aW9uX0VTdFNTKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBzaXplX3Qs
IHNpemVfdCk7CiB0eXBlZGVmIGNoYXIqIChKSVRfT1BFUkFUSU9OICpQX0pJVE9wZXJhdGlvbl9F
U3RaKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQzMl90KTsKIHR5cGVkZWYgY2hhciogKEpJ
VF9PUEVSQVRJT04gKlBfSklUT3BlcmF0aW9uX0VTdFpCKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
LCBpbnQzMl90LCBCdXR0ZXJmbHkqKTsKLXR5cGVkZWYgY2hhciogKEpJVF9PUEVSQVRJT04gKlBf
SklUT3BlcmF0aW9uX0VTdFpQKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBpbnQzMl90LCBjaGFy
Kik7CiB0eXBlZGVmIGNoYXIqIChKSVRfT1BFUkFUSU9OICpQX0pJVE9wZXJhdGlvbl9FWlopKEV4
ZWNTdGF0ZSosIGludDMyX3QsIGludDMyX3QpOwogdHlwZWRlZiBTbG93UGF0aFJldHVyblR5cGUg
KEpJVF9PUEVSQVRJT04gKlNwcnRfSklUT3BlcmF0aW9uX0VDbGkpKEV4ZWNTdGF0ZSosIENhbGxM
aW5rSW5mbyopOwogdHlwZWRlZiBTdHJpbmdJbXBsKiAoSklUX09QRVJBVElPTiAqVF9KSVRPcGVy
YXRpb25fRUpzcykoRXhlY1N0YXRlKiwgSlNTdHJpbmcqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAppbmRleCBiMDEyMGY0MTA4
NTQ0Y2RjZDA3OGZkZGRhMTYzYTUxM2JjYTA5NjVlLi42MjgwZDI1M2I5MmRkNDYyYjgwMGEwNDM2
ZTFmOWViODU1YzFhZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCkBAIC00MiwxNyArNDIsNiBAQCBTdHJpbmcgSlNBcnJh
eUJ1ZmZlclZpZXc6OnRvU3RyaW5nTmFtZShjb25zdCBKU09iamVjdCosIEV4ZWNTdGF0ZSopCiB9
CiAKIEpTQXJyYXlCdWZmZXJWaWV3OjpDb25zdHJ1Y3Rpb25Db250ZXh0OjpDb25zdHJ1Y3Rpb25D
b250ZXh0KAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlLCB1aW50MzJfdCBsZW5ndGgsIHZvaWQq
IHZlY3RvcikKLSAgICA6IG1fc3RydWN0dXJlKHN0cnVjdHVyZSkKLSAgICAsIG1fdmVjdG9yKHZl
Y3RvcikKLSAgICAsIG1fbGVuZ3RoKGxlbmd0aCkKLSAgICAsIG1fbW9kZShGYXN0VHlwZWRBcnJh
eSkKLSAgICAsIG1fYnV0dGVyZmx5KG51bGxwdHIpCi17Ci0gICAgUkVMRUFTRV9BU1NFUlQobGVu
Z3RoIDw9IGZhc3RTaXplTGltaXQpOwotfQotCi1KU0FycmF5QnVmZmVyVmlldzo6Q29uc3RydWN0
aW9uQ29udGV4dDo6Q29uc3RydWN0aW9uQ29udGV4dCgKICAgICBWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCB1aW50MzJfdCBsZW5ndGgsIHVpbnQzMl90IGVsZW1lbnRTaXplLAogICAgIElu
aXRpYWxpemF0aW9uTW9kZSBtb2RlKQogICAgIDogbV9zdHJ1Y3R1cmUoMCkKQEAgLTYxLDI0ICs1
MCwyMyBAQCBKU0FycmF5QnVmZmVyVmlldzo6Q29uc3RydWN0aW9uQ29udGV4dDo6Q29uc3RydWN0
aW9uQ29udGV4dCgKIHsKICAgICBpZiAobGVuZ3RoIDw9IGZhc3RTaXplTGltaXQpIHsKICAgICAg
ICAgLy8gQXR0ZW1wdCBHQyBhbGxvY2F0aW9uLgotICAgICAgICB2b2lkKiB0ZW1wOworICAgICAg
ICB2b2lkKiB0ZW1wID0gMDsKICAgICAgICAgc2l6ZV90IHNpemUgPSBzaXplT2YobGVuZ3RoLCBl
bGVtZW50U2l6ZSk7Ci0gICAgICAgIGlmIChzaXplKSB7Ci0gICAgICAgICAgICB0ZW1wID0gdm0u
aGVhcC50cnlBbGxvY2F0ZUF1eGlsaWFyeShudWxscHRyLCBzaXplKTsKLSAgICAgICAgICAgIGlm
ICghdGVtcCkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgdGVtcCA9IG51bGxwdHI7CisgICAgICAgIC8vIENvcGllZFNwYWNlIG9ubHkgYWxsb3dz
IG5vbi16ZXJvIHNpemUgYWxsb2NhdGlvbnMuCisgICAgICAgIGlmIChzaXplICYmICF2bS5oZWFw
LnRyeUFsbG9jYXRlU3RvcmFnZSgwLCBzaXplLCAmdGVtcCkpCisgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgbV9zdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmU7CiAgICAgICAgIG1fdmVjdG9yID0g
dGVtcDsKICAgICAgICAgbV9tb2RlID0gRmFzdFR5cGVkQXJyYXk7CiAKKyNpZiBVU0UoSlNWQUxV
RTMyXzY0KQogICAgICAgICBpZiAobW9kZSA9PSBaZXJvRmlsbCkgewogICAgICAgICAgICAgdWlu
dDY0X3QqIGFzV29yZHMgPSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KG1fdmVjdG9yKTsKICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IHNpemUgLyBzaXplb2YodWludDY0X3QpOyBpLS07KQog
ICAgICAgICAgICAgICAgIGFzV29yZHNbaV0gPSAwOwogICAgICAgICB9CisjZW5kaWYgLy8gVVNF
KEpTVkFMVUUzMl82NCkKICAgICAgICAgCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMzAs
NyArMTE4LDcgQEAgSlNBcnJheUJ1ZmZlclZpZXc6OkpTQXJyYXlCdWZmZXJWaWV3KFZNJiB2bSwg
Q29uc3RydWN0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fbGVuZ3RoKGNvbnRleHQubGVu
Z3RoKCkpCiAgICAgLCBtX21vZGUoY29udGV4dC5tb2RlKCkpCiB7Ci0gICAgbV92ZWN0b3Iuc2V0
V2l0aG91dEJhcnJpZXIoY29udGV4dC52ZWN0b3IoKSk7CisgICAgbV92ZWN0b3Iuc2V0V2l0aG91
dEJhcnJpZXIoc3RhdGljX2Nhc3Q8Y2hhcio+KGNvbnRleHQudmVjdG9yKCkpKTsKIH0KIAogdm9p
ZCBKU0FycmF5QnVmZmVyVmlldzo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmgKaW5kZXggMzZhODM2
ODNkZTExNDU2ZDNkYWFiM2ZiZjRiOGMxZjM4NjM1M2VlMS4uMmFhNjJhMzJiMWI3Nzg4NTYzMDVk
NjQ1Nzg0ZTU3MzU1ZGJmMjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5QnVmZmVyVmlldy5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIEpTQXJy
YXlCdWZmZXJWaWV3X2gKICNkZWZpbmUgSlNBcnJheUJ1ZmZlclZpZXdfaAogCi0jaW5jbHVkZSAi
QXV4aWxpYXJ5QmFycmllci5oIgorI2luY2x1ZGUgIkNvcHlCYXJyaWVyLmgiCiAjaW5jbHVkZSAi
SlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xMTksOSArMTE5LDYgQEAgcHJvdGVj
dGVkOgogICAgICAgICAKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgQ29uc3RydWN0aW9uQ29u
dGV4dChWTSYsIFN0cnVjdHVyZSosIHVpbnQzMl90IGxlbmd0aCwgdWludDMyX3QgZWxlbWVudFNp
emUsIEluaXRpYWxpemF0aW9uTW9kZSA9IFplcm9GaWxsKTsKICAgICAgICAgCi0gICAgICAgIC8v
IFRoaXMgaXMgb25seSBmb3IgY29uc3RydWN0aW5nIGZhc3QgdHlwZWQgYXJyYXlzLiBJdCdzIHVz
ZWQgYnkgdGhlIEpJVCdzIHNsb3cgcGF0aC4KLSAgICAgICAgQ29uc3RydWN0aW9uQ29udGV4dChT
dHJ1Y3R1cmUqLCB1aW50MzJfdCBsZW5ndGgsIHZvaWQqIHZlY3Rvcik7Ci0gICAgICAgIAogICAg
ICAgICBKU19FWFBPUlRfUFJJVkFURSBDb25zdHJ1Y3Rpb25Db250ZXh0KAogICAgICAgICAgICAg
Vk0mLCBTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiwKICAgICAgICAgICAgIHVu
c2lnbmVkIGJ5dGVPZmZzZXQsIHVuc2lnbmVkIGxlbmd0aCk7CkBAIC0xODUsNyArMTgyLDcgQEAg
cHJvdGVjdGVkOgogCiAgICAgc3RhdGljIFN0cmluZyB0b1N0cmluZ05hbWUoY29uc3QgSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqKTsKIAotICAgIEF1eGlsaWFyeUJhcnJpZXI8dm9pZCo+IG1fdmVjdG9y
OworICAgIENvcHlCYXJyaWVyPGNoYXI+IG1fdmVjdG9yOyAvLyB0aGlzIGlzIHJlYWxseSBhIHZv
aWQqLCBidXQgdm9pZCB3b3VsZCBub3Qgd29yayBoZXJlLgogICAgIHVpbnQzMl90IG1fbGVuZ3Ro
OwogICAgIFR5cGVkQXJyYXlNb2RlIG1fbW9kZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAppbmRleCA0ZjAw
MDBkN2IwOTJiZTNkYmVhZjIxOWNhODhhM2JkZDNmYTI0ZTU5Li5jZWE3YTNiOGNlODlkOWIwZDQw
NmRiYTk0ZDE1YzQ5YTIyOTNjYzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlldy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVkQXJyYXlWaWV3LmgKQEAgLTEwNiw3ICsxMDYsNiBA
QCBwcm90ZWN0ZWQ6CiAgICAgCiBwdWJsaWM6CiAgICAgc3RhdGljIEpTR2VuZXJpY1R5cGVkQXJy
YXlWaWV3KiBjcmVhdGUoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgdW5zaWduZWQgbGVuZ3RoKTsK
LSAgICBzdGF0aWMgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIGNyZWF0ZVdpdGhGYXN0VmVjdG9y
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIHVuc2lnbmVkIGxlbmd0aCwgdm9pZCogdmVjdG9yKTsK
ICAgICBzdGF0aWMgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIGNyZWF0ZVVuaW5pdGlhbGl6ZWQo
RXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXcqIGNyZWF0ZShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqLCBQYXNz
UmVmUHRyPEFycmF5QnVmZmVyPiwgdW5zaWduZWQgYnl0ZU9mZnNldCwgdW5zaWduZWQgbGVuZ3Ro
KTsKICAgICBzdGF0aWMgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIGNyZWF0ZShWTSYsIFN0cnVj
dHVyZSosIFBhc3NSZWZQdHI8dHlwZW5hbWUgQWRhcHRvcjo6Vmlld1R5cGU+IGltcGwpOwpAQCAt
Mjg4LDYgKzI4Nyw3IEBAIHByb3RlY3RlZDoKIAogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVk
U2l6ZShKU0NlbGwqKTsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNs
b3RWaXNpdG9yJik7CisgICAgc3RhdGljIHZvaWQgY29weUJhY2tpbmdTdG9yZShKU0NlbGwqLCBD
b3B5VmlzaXRvciYsIENvcHlUb2tlbik7CiAKICAgICAvLyBBbGxvY2F0ZXMgdGhlIGZ1bGwtb24g
bmF0aXZlIGJ1ZmZlciBhbmQgbW92ZXMgZGF0YSBpbnRvIHRoZSBDIGhlYXAgaWYKICAgICAvLyBu
ZWNlc3NhcnkuIE5vdGUgdGhhdCB0aGlzIG5ldmVyIGFsbG9jYXRlcyBpbiB0aGUgR0MgaGVhcC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5l
cmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKaW5kZXggZWEwOGU4YTRiZmI0NzBhNmU0MjM0NjJi
ZjYwNWI2ZTZiNDk1OTkxMS4uZDgwM2EwOGNiNDc1YjM2NTRiOTU4NjExYjljZTg1MWNjZjYxYjAx
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlw
ZWRBcnJheVZpZXdJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgKQEAgLTYzLDIwICs2Myw2IEBAIEpTR2Vu
ZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+KiBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFw
dG9yPjo6Y3JlYXRlKAogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgotSlNHZW5lcmlj
VHlwZWRBcnJheVZpZXc8QWRhcHRvcj4qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+
OjpjcmVhdGVXaXRoRmFzdFZlY3RvcigKLSAgICBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCB1bnNpZ25lZCBsZW5ndGgsIHZvaWQqIHZlY3RvcikKLXsKLSAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwotICAgIENvbnN0cnVjdGlvbkNvbnRleHQgY29udGV4dChzdHJ1Y3R1cmUs
IGxlbmd0aCwgdmVjdG9yKTsKLSAgICBSRUxFQVNFX0FTU0VSVChjb250ZXh0KTsKLSAgICBKU0dl
bmVyaWNUeXBlZEFycmF5VmlldyogcmVzdWx0ID0KLSAgICAgICAgbmV3IChOb3ROdWxsLCBhbGxv
Y2F0ZUNlbGw8SlNHZW5lcmljVHlwZWRBcnJheVZpZXc+KHZtLmhlYXApKQotICAgICAgICBKU0dl
bmVyaWNUeXBlZEFycmF5Vmlldyh2bSwgY29udGV4dCk7Ci0gICAgcmVzdWx0LT5maW5pc2hDcmVh
dGlvbih2bSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQWRh
cHRvcj4KIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+KiBKU0dlbmVyaWNUeXBlZEFy
cmF5VmlldzxBZGFwdG9yPjo6Y3JlYXRlVW5pbml0aWFsaXplZCgKICAgICBFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCB1bnNpZ25lZCBsZW5ndGgpCiB7CkBAIC00NzcsNyAr
NDYzLDcgQEAgdm9pZCBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6dmlzaXRDaGls
ZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJgogICAgIHN3aXRjaCAodGhpc09iamVjdC0+
bV9tb2RlKSB7CiAgICAgY2FzZSBGYXN0VHlwZWRBcnJheTogewogICAgICAgICBpZiAodGhpc09i
amVjdC0+bV92ZWN0b3IpCi0gICAgICAgICAgICB2aXNpdG9yLm1hcmtBdXhpbGlhcnkodGhpc09i
amVjdC0+bV92ZWN0b3IuZ2V0KCkpOworICAgICAgICAgICAgdmlzaXRvci5jb3B5TGF0ZXIodGhp
c09iamVjdCwgVHlwZWRBcnJheVZlY3RvckNvcHlUb2tlbiwgdGhpc09iamVjdC0+bV92ZWN0b3Iu
Z2V0KCksIHRoaXNPYmplY3QtPmJ5dGVTaXplKCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgICAgIApAQCAtNDk4LDYgKzQ4NCwyNSBAQCB2b2lkIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
PEFkYXB0b3I+Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImCiB9CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIEFkYXB0b3I+Cit2b2lkIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3
PEFkYXB0b3I+Ojpjb3B5QmFja2luZ1N0b3JlKAorICAgIEpTQ2VsbCogY2VsbCwgQ29weVZpc2l0
b3ImIHZpc2l0b3IsIENvcHlUb2tlbiB0b2tlbikKK3sKKyAgICBKU0dlbmVyaWNUeXBlZEFycmF5
VmlldyogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0dlbmVyaWNUeXBlZEFycmF5Vmlldyo+KGNlbGwp
OworICAgIAorICAgIGlmICh0b2tlbiA9PSBUeXBlZEFycmF5VmVjdG9yQ29weVRva2VuCisgICAg
ICAgICYmIHZpc2l0b3IuY2hlY2tJZlNob3VsZENvcHkodGhpc09iamVjdC0+bV92ZWN0b3IuZ2V0
KCkpKSB7CisgICAgICAgIEFTU0VSVCh0aGlzT2JqZWN0LT5tX3ZlY3Rvcik7CisgICAgICAgIHZv
aWQqIG9sZFZlY3RvciA9IHRoaXNPYmplY3QtPnZlY3RvcigpOworICAgICAgICB2b2lkKiBuZXdW
ZWN0b3IgPSB2aXNpdG9yLmFsbG9jYXRlTmV3U3BhY2UodGhpc09iamVjdC0+Ynl0ZVNpemUoKSk7
CisgICAgICAgIG1lbWNweShuZXdWZWN0b3IsIG9sZFZlY3RvciwgdGhpc09iamVjdC0+Ynl0ZVNp
emUoKSk7CisgICAgICAgIHRoaXNPYmplY3QtPm1fdmVjdG9yLnNldFdpdGhvdXRCYXJyaWVyKHN0
YXRpY19jYXN0PGNoYXIqPihuZXdWZWN0b3IpKTsKKyAgICAgICAgdmlzaXRvci5kaWRDb3B5KG9s
ZFZlY3RvciwgdGhpc09iamVjdC0+Ynl0ZVNpemUoKSk7CisgICAgfQorICAgIAorICAgIEJhc2U6
OmNvcHlCYWNraW5nU3RvcmUodGhpc09iamVjdCwgdmlzaXRvciwgdG9rZW4pOworfQorCit0ZW1w
bGF0ZTx0eXBlbmFtZSBBZGFwdG9yPgogQXJyYXlCdWZmZXIqIEpTR2VuZXJpY1R5cGVkQXJyYXlW
aWV3PEFkYXB0b3I+OjpzbG93RG93bkFuZFdhc3RlTWVtb3J5KEpTQXJyYXlCdWZmZXJWaWV3KiBv
YmplY3QpCiB7CiAgICAgSlNHZW5lcmljVHlwZWRBcnJheVZpZXcqIHRoaXNPYmplY3QgPSBqc0Nh
c3Q8SlNHZW5lcmljVHlwZWRBcnJheVZpZXcqPihvYmplY3QpOwpAQCAtNTQ1LDcgKzU1MCw3IEBA
IEFycmF5QnVmZmVyKiBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGFwdG9yPjo6c2xvd0Rvd25B
bmRXYXN0ZU1lbW9yeShKU0FycmF5QnVmCiAgICAgfQogCiAgICAgdGhpc09iamVjdC0+YnV0dGVy
Zmx5KCktPmluZGV4aW5nSGVhZGVyKCktPnNldEFycmF5QnVmZmVyKGJ1ZmZlci5nZXQoKSk7Ci0g
ICAgdGhpc09iamVjdC0+bV92ZWN0b3Iuc2V0V2l0aG91dEJhcnJpZXIoYnVmZmVyLT5kYXRhKCkp
OworICAgIHRoaXNPYmplY3QtPm1fdmVjdG9yLnNldFdpdGhvdXRCYXJyaWVyKHN0YXRpY19jYXN0
PGNoYXIqPihidWZmZXItPmRhdGEoKSkpOwogICAgIHRoaXNPYmplY3QtPm1fbW9kZSA9IFdhc3Rl
ZnVsVHlwZWRBcnJheTsKICAgICBoZWFwLT5hZGRSZWZlcmVuY2UodGhpc09iamVjdCwgYnVmZmVy
LmdldCgpKTsKICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>