<?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>82638</bug_id>
          
          <creation_ts>2012-03-29 12:10:42 -0700</creation_ts>
          <short_desc>REGRESSION(r112553): It made all tests crash on Qt WK2 (Requested by Ossy_away on #webkit).</short_desc>
          <delta_ts>2012-03-29 12:25:35 -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>82228</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>abarth</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>591419</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-29 12:10:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/112553 broke the build:
It made all tests crash on Qt WK2 (Requested by Ossy_away 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>591420</commentid>
    <comment_count>1</comment_count>
      <attachid>134637</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-29 12:11:46 -0700</bug_when>
    <thetext>Created attachment 134637
ROLLOUT of r112553

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>591438</commentid>
    <comment_count>2</comment_count>
      <attachid>134637</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-29 12:25:19 -0700</bug_when>
    <thetext>Comment on attachment 134637
ROLLOUT of r112553

Clearing flags on attachment: 134637

Committed r112559: &lt;http://trac.webkit.org/changeset/112559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591439</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-29 12:25:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134637</attachid>
            <date>2012-03-29 12:11:46 -0700</date>
            <delta_ts>2012-03-29 12:25:18 -0700</delta_ts>
            <desc>ROLLOUT of r112553</desc>
            <filename>bug-82638-20120329191438.patch</filename>
            <type>text/plain</type>
            <size>45167</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRmZTM2MmU5YWQyZWRm
NDA5YmFlYjIyNWJmOWQ1MDcwZWE3YmE3ZS4uYTQ4ZTBjZmU1MThmMTE0YWNlNzA0NTVkMzdhNWEz
ODVkZDZkMzVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAzLTI5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTEyNTUzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTI1NTMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgyNjM4CisKKyAgICAgICAgSXQgbWFkZSBhbGwgdGVzdHMgY3Jhc2ggb24gUXQg
V0syIChSZXF1ZXN0ZWQgYnkgT3NzeV9hd2F5IG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAg
ICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHZW9sb2NhdGlvbjo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6
bGFzdFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpyZXF1ZXN0UGVy
bWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6c3RhcnRVcGRhdGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAg
KiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBwYWdlL0dlb2xvY2F0aW9uQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEdlb2xvY2F0aW9uQ2xpZW50KToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlQ2xpZW50czo6UGFnZUNsaWVudHMpOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQYWdlQ2xp
ZW50cyk6CisgICAgICAgIChQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Omdlb2xvY2F0
aW9uQ29udHJvbGxlcik6CisKIDIwMTItMDMtMjkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBG
aWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBIYXNoTWFwPD46
OmFkZCBzaG91bGQgcmV0dXJuIGEgbW9yZSBkZXNjcmlwdGl2ZSBvYmplY3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQ2hhbmdlTG9nCmluZGV4IDA1MWYwYjM2NTA1NzA0OWZlN2Y5NzkxYzJjOThhMmE2MGQw
MGFmOTQuLmM3ZTc4NDBmM2I5ZWFmZjU5NzNhZWExZDlkNjQ0Njc3OTM2MTdmNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTI5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTEyNTUzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTI1NTMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgyNjM4CisKKyAgICAgICAgSXQgbWFkZSBhbGwgdGVzdHMgY3Jhc2ggb24gUXQg
V0syIChSZXF1ZXN0ZWQgYnkgT3NzeV9hd2F5IG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAg
ICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQ
YWdlUHJpdmF0ZTo6V2ViUGFnZVByaXZhdGUpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpXZWJQYWdlUHJpdmF0ZTo6aW5pdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvR2VvbG9j
YXRpb25Db250cm9sbGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChHZW9sb2NhdGlv
bkNvbnRyb2xsZXJDbGllbnRCbGFja0JlcnJ5OjpvbkxvY2F0aW9uVXBkYXRlKToKKyAgICAgICAg
KEdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudEJsYWNrQmVycnk6Om9uTG9jYXRpb25FcnJvcik6
CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnQuY3BwOgorICAg
ICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0OjpudW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlvblBl
cm1pc3Npb25SZXF1ZXN0cyk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnQ6OnJlc2V0
R2VvbG9jYXRpb25Nb2NrKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydDo6c2V0TW9j
a0dlb2xvY2F0aW9uRXJyb3IpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0OjpzZXRN
b2NrR2VvbG9jYXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9y
dDo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24pOgorCiAyMDEyLTAzLTI5ICBNYXJrIFBpbGdy
aW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBHRU9MT0NBVElPTiBzaG91bGQg
YmUgaW1wbGVtZW50ZWQgYXMgUGFnZSBTdXBwbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDRkZWY3NTU5NjZhNDViZjBiZTI5MGViMjcxNzE1ZWYzNTIwN2NkZTEuLjJlMjRjZTNh
MjA5ZTJlMmU1ZDlmODlmYmMzMDEyNGFjN2RkZGQ3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MTI1NTMuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExMjU1Mwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI2MzgKKwor
ICAgICAgICBJdCBtYWRlIGFsbCB0ZXN0cyBjcmFzaCBvbiBRdCBXSzIgKFJlcXVlc3RlZCBieSBP
c3N5X2F3YXkgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBzcmMvV2ViVmlld0lt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwpOgorCiAy
MDEyLTAzLTI5ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgSGFzaE1hcDw+OjphZGQgc2hvdWxkIHJldHVybiBh
IG1vcmUgZGVzY3JpcHRpdmUgb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNGMyZjcwMzBmYTM2
YmVhOTRlYjdlNWExMDEzOWVmNzBkMWUxODEwNS4uMzNkYjg0YjQxZjI2Nzg0NzIxYTA2YzA0NTYx
NTE3Mzk1MjIwYjcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAz
LTI5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTEyNTUzLgorICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8xMTI1NTMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgyNjM4CisKKyAgICAgICAgSXQgbWFkZSBhbGwgdGVzdHMgY3Jh
c2ggb24gUXQgV0syIChSZXF1ZXN0ZWQgYnkgT3NzeV9hd2F5IG9uCisgICAgICAgICN3ZWJraXQp
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNw
cDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6cmVzZXRHZW9sb2NhdGlvbkNs
aWVudE1vY2spOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRNb2NrR2Vv
bG9jYXRpb25QZXJtaXNzaW9uKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6
c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24pOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcik6CisgICAgICAgIChEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRHdGs6Om51bWJlck9mUGVuZGluZ0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Rz
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0ay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Okdlb2xvY2F0aW9uQ2xpZW50Ojp1cGRhdGVQb3NpdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6Okdlb2xvY2F0aW9uQ2xpZW50OjplcnJvck9jY3VyZWQpOgorICAgICAgICAq
IHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19pbml0
KToKKwogMjAxMi0wMy0yOSAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgR0VPTE9DQVRJT04gc2hvdWxkIGJlIGltcGxlbWVudGVkIGFzIFBhZ2UgU3VwcGxl
bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDRhODk1OGE5NTU5ZTdlYTRkYTAwNmExMTc3ZjQ5Y2Zj
ZjY5YjVkMTYuLjA3Y2M2NTY4NDExY2ZhZjhmOWQwN2I1N2E1NTliNTYzYjBmZjgwZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMy0yOSAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjExMjU1My4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MTEyNTUzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MjYzOAorCisgICAgICAgIEl0IG1hZGUgYWxsIHRlc3RzIGNyYXNoIG9uIFF0IFdLMiAoUmVxdWVz
dGVkIGJ5IE9zc3lfYXdheSBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfZ2VvbG9jYXRp
b25EaWRDaGFuZ2VQb3NpdGlvbjpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfZ2VvbG9jYXRpb25E
aWRGYWlsV2l0aEVycm9yOl0pOgorCiAyMDEyLTAzLTI5ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVp
cmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgSGFzaE1h
cDw+OjphZGQgc2hvdWxkIHJldHVybiBhIG1vcmUgZGVzY3JpcHRpdmUgb2JqZWN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCmluZGV4IGZlMGNiNzU2OGRiOTY1NThjNWU1ZDQyMWFmNjUzZDUyMzczNTg1NTguLjVjNDU0
ZWViNWU3NjljMmNiMjc5YmM4ZDY3NTNhNjNiNjg2ODViYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTItMDMtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTI1NTMuCisg
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExMjU1MworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI2MzgKKworICAgICAgICBJ
dCBtYWRlIGFsbCB0ZXN0cyBjcmFzaCBvbiBRdCBXSzIgKFJlcXVlc3RlZCBieSBPc3N5X2F3YXkg
b24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAg
ICAgICAoUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0OjpyZXNldEdlb2xvY2F0aW9uTW9jayk6CisgICAgICAgIChEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbik6CisgICAgICAg
IChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24pOgor
ICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvbkVycm9y
KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpudW1iZXJPZlBlbmRpbmdHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvR2Vv
bG9jYXRpb25DbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVu
dFF0Ojpwb3NpdGlvblVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGll
bnRRdDo6c3RhcnRVcGRhdGluZyk6CisKIDIwMTItMDMtMjkgIE1hcmsgUGlsZ3JpbSAgPHBpbGdy
aW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEdFT0xPQ0FUSU9OIHNob3VsZCBiZSBpbXBsZW1l
bnRlZCBhcyBQYWdlIFN1cHBsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBmN2VjYzhjOGM3YzE2
MGNhMTEyODU0MGIwYzY3Y2I3ZTFhNTE4Y2UzLi5kZDlmMWYzOWE4ODc4OGJjZTkxZGEyNzExMzI3
NWEzN2NhZDZjZjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMt
MjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTI1NTMuCisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzExMjU1MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODI2MzgKKworICAgICAgICBJdCBtYWRlIGFsbCB0ZXN0cyBjcmFz
aCBvbiBRdCBXSzIgKFJlcXVlc3RlZCBieSBPc3N5X2F3YXkgb24KKyAgICAgICAgI3dlYmtpdCku
CisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJh
bWUpOgorICAgICAgICAoV2ViVmlldzo6Z2VvbG9jYXRpb25EaWRDaGFuZ2VQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJWaWV3OjpnZW9sb2NhdGlvbkRpZEZhaWxXaXRoRXJyb3IpOgorCiAyMDEyLTAz
LTI5ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5i
b3NzYS5vcmc+CiAKICAgICAgICAgSGFzaE1hcDw+OjphZGQgc2hvdWxkIHJldHVybiBhIG1vcmUg
ZGVzY3JpcHRpdmUgb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDljMWNkMjlkMzY0MWQ2ZTU2ODdmOWY5
YjI3OTM3OGYyYjI2NDQ3Zi4uZTVkNzg5YTAzNjU4ZTBlNjA1NTdlNzZlYzhkOWFhNTlkZjU2ZTIw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTI5ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTEyNTUzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8xMTI1NTMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgyNjM4CisKKyAgICAgICAgSXQgbWFkZSBhbGwgdGVzdHMgY3Jhc2ggb24gUXQgV0syIChSZXF1
ZXN0ZWQgYnkgT3NzeV9hd2F5IG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJHZW9sb2NhdGlvbk1hbmFnZXI6OmRpZENoYW5nZVBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViR2VvbG9jYXRpb25NYW5hZ2VyOjpkaWRGYWlsVG9EZXRlcm1pbmVQb3Np
dGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpzZXRHZW9Mb2NhdGlvblBl
cm1pc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisKIDIwMTItMDMtMjkgIENhaW8gTWFy
Y2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KIAog
ICAgICAgICBIYXNoTWFwPD46OmFkZCBzaG91bGQgcmV0dXJuIGEgbW9yZSBkZXNjcmlwdGl2ZSBv
YmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5jcHAKaW5kZXggZGMzOWRiM2NiYzY2Y2Q0NzVkMjBhZGY5NmNmZTRmNmE2OTYzY2QxOS4u
MmU4NmJhNzRkMmQyY2NhMjU3ZGQ5MDk2MTIyNDlmMDE2ODJiOWEzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAgLTI3NSw3
ICsyNzUsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpzdG9wKCkKIHsKICAgICBQYWdlKiBwYWdlID0g
dGhpcy0+cGFnZSgpOwogICAgIGlmIChwYWdlICYmIG1fYWxsb3dHZW9sb2NhdGlvbiA9PSBJblBy
b2dyZXNzKQotICAgICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmNhbmNl
bFBlcm1pc3Npb25SZXF1ZXN0KHRoaXMpOworICAgICAgICBwYWdlLT5nZW9sb2NhdGlvbkNvbnRy
b2xsZXIoKS0+Y2FuY2VsUGVybWlzc2lvblJlcXVlc3QodGhpcyk7CiAgICAgLy8gVGhlIGZyYW1l
IG1heSBiZSBtb3ZpbmcgdG8gYSBuZXcgcGFnZSBhbmQgd2Ugd2FudCB0byBnZXQgdGhlIHBlcm1p
c3Npb25zIGZyb20gdGhlIG5ldyBwYWdlJ3MgY2xpZW50LgogICAgIG1fYWxsb3dHZW9sb2NhdGlv
biA9IFVua25vd247CiAgICAgY2FuY2VsQWxsUmVxdWVzdHMoKTsKQEAgLTI5MSw3ICsyOTEsNyBA
QCBHZW9wb3NpdGlvbiogR2VvbG9jYXRpb246Omxhc3RQb3NpdGlvbigpCiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIG1fbGFzdFBvc2l0aW9uID0gY3JlYXRlR2VvcG9z
aXRpb24oR2VvbG9jYXRpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UpLT5sYXN0UG9zaXRpb24oKSk7
CisgICAgbV9sYXN0UG9zaXRpb24gPSBjcmVhdGVHZW9wb3NpdGlvbihwYWdlLT5nZW9sb2NhdGlv
bkNvbnRyb2xsZXIoKS0+bGFzdFBvc2l0aW9uKCkpOwogCiAgICAgcmV0dXJuIG1fbGFzdFBvc2l0
aW9uLmdldCgpOwogfQpAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgR2VvbG9jYXRpb246OnJlcXVl
c3RQZXJtaXNzaW9uKCkKICAgICBtX2FsbG93R2VvbG9jYXRpb24gPSBJblByb2dyZXNzOwogCiAg
ICAgLy8gQXNrIHRoZSBlbWJlZGRlcjogaXQgbWFpbnRhaW5zIHRoZSBnZW9sb2NhdGlvbiBjaGFs
bGVuZ2UgcG9saWN5IGl0c2VsZi4KLSAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFn
ZSktPnJlcXVlc3RQZXJtaXNzaW9uKHRoaXMpOworICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJv
bGxlcigpLT5yZXF1ZXN0UGVybWlzc2lvbih0aGlzKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6
cG9zaXRpb25DaGFuZ2VkSW50ZXJuYWwoKQpAQCAtNjc2LDcgKzY3Niw3IEBAIGJvb2wgR2VvbG9j
YXRpb246OnN0YXJ0VXBkYXRpbmcoR2VvTm90aWZpZXIqIG5vdGlmaWVyKQogICAgIGlmICghcGFn
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgR2VvbG9jYXRpb25Db250cm9sbGVyOjpm
cm9tKHBhZ2UpLT5hZGRPYnNlcnZlcih0aGlzLCBub3RpZmllci0+b3B0aW9ucygpLT5lbmFibGVI
aWdoQWNjdXJhY3koKSk7CisgICAgcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmFkZE9i
c2VydmVyKHRoaXMsIG5vdGlmaWVyLT5vcHRpb25zKCktPmVuYWJsZUhpZ2hBY2N1cmFjeSgpKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtNjg2LDcgKzY4Niw3IEBAIHZvaWQgR2VvbG9jYXRp
b246OnN0b3BVcGRhdGluZygpCiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSktPnJlbW92ZU9ic2VydmVyKHRoaXMp
OworICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVPYnNlcnZlcih0aGlz
KTsKIH0KIAogI2lmIFVTRShQUkVFTVBUX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT04pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKaW5kZXggZWJj
ODY1NmNiYzBjOWRmZTRiN2VlMGVhZDM1NTlkNGQzMTJjM2UyZi4uYjUzOTk4NjA2MDI0YTdlOTJm
NDQ3NjgyMjNmNjcyM2E5YWEyMjZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2VvbG9jYXRpb24vR2VvbG9jYXRpb24uaApAQCAtNDEsOSArNDEsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRnJhbWU7Ci1jbGFzcyBHZW9sb2NhdGlv
bkNvbnRyb2xsZXI7Ci1jbGFzcyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Q
b3NpdGlvbjsKK2NsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGQ2NGU4
YjZhMmFkMDNhMWIzMzY5OGQyZGQyOTZiNmVkOTQ4Y2Q5N2EuLmM5MWYzMTg4MzliZDNhYWNmYWM3
ZGI0NjllNDhhMDY5ODUxZDFiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKQEAgLTEyNSwx
NyArMTI1LDYgQEAgR2VvbG9jYXRpb25Qb3NpdGlvbiogR2VvbG9jYXRpb25Db250cm9sbGVyOjps
YXN0UG9zaXRpb24oKQogICAgIHJldHVybiBtX2NsaWVudC0+bGFzdFBvc2l0aW9uKCk7CiB9CiAK
LWNvbnN0IEF0b21pY1N0cmluZyYgR2VvbG9jYXRpb25Db250cm9sbGVyOjpzdXBwbGVtZW50TmFt
ZSgpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiR2Vv
bG9jYXRpb25Db250cm9sbGVyIikpOwotICAgIHJldHVybiBuYW1lOwotfQotCi12b2lkIHByb3Zp
ZGVHZW9sb2NhdGlvblRvKFBhZ2UqIHBhZ2UsIEdlb2xvY2F0aW9uQ2xpZW50KiBjbGllbnQpCi17
Ci0gICAgU3VwcGxlbWVudDxQYWdlPjo6cHJvdmlkZVRvKHBhZ2UsIEdlb2xvY2F0aW9uQ29udHJv
bGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgR2VvbG9jYXRpb25Db250cm9sbGVyOjpjcmVhdGUocGFn
ZSwgY2xpZW50KSk7Ci19Ci0gICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRleCBiNWY0ZjYxMDdj
NzRkYzY5NzRiYThkZGIyY2UzNjE5YzM1ZWQxODRhLi45YjEwMzk3MDI0MTliN2M3OWJiODViNjA2
Y2U1YWE2NzRjZjhjNjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xv
Y2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAK
ICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAKICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgotI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQxLDcgKzQwLDcgQEAg
Y2xhc3MgR2VvbG9jYXRpb25FcnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFz
cyBQYWdlOwogCi1jbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgU3VwcGxlbWVu
dDxQYWdlPiB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgfkdlb2xvY2F0
aW9uQ29udHJvbGxlcigpOwpAQCAtNjEsOSArNjAsNiBAQCBwdWJsaWM6CiAKICAgICBHZW9sb2Nh
dGlvbkNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAotICAgIHN0YXRpYyBj
b25zdCBBdG9taWNTdHJpbmcmIHN1cHBsZW1lbnROYW1lKCk7Ci0gICAgc3RhdGljIEdlb2xvY2F0
aW9uQ29udHJvbGxlciogZnJvbShQYWdlKiBwYWdlKSB7IHJldHVybiBzdGF0aWNfY2FzdDxHZW9s
b2NhdGlvbkNvbnRyb2xsZXIqPihTdXBwbGVtZW50PFBhZ2U+Ojpmcm9tKHBhZ2UsIHN1cHBsZW1l
bnROYW1lKCkpKTsgfQotCiBwcml2YXRlOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdl
KiwgR2VvbG9jYXRpb25DbGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBhMTc4YWM4
YWNlNTU5ZTEwNDJiYjAyMWM3NDU2M2Y3N2U1YjI2NTIxLi4wYzQyNmY3ZTBjMTdmNjMyOTI3OGZm
MWJkZGRkNWFmMzc4NDVjNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTcyMSwxMiArMTcy
MSw5IEBAIF9fWk43V2ViQ29yZThEcmFnRGF0YUMxRVJLTjNXVEY2U3RyaW5nRVJLTlNfOEludFBv
aW50RVM3X05TXzEzRHJhZ09wZXJhdGlvbkVOU18yCiBfX1pON1dlYkNvcmUxMUdlb2xvY2F0aW9u
MTJzZXRJc0FsbG93ZWRFYgogX19aTjdXZWJDb3JlMTFHZW9sb2NhdGlvbkQxRXYKIF9fWk5LN1dl
YkNvcmUxMUdlb2xvY2F0aW9uNWZyYW1lRXYKLV9fWk43V2ViQ29yZTIwcHJvdmlkZUdlb2xvY2F0
aW9uVG9FUE5TXzRQYWdlRVBOU18xN0dlb2xvY2F0aW9uQ2xpZW50RQogX19aTjdXZWJDb3JlMjFH
ZW9sb2NhdGlvbkNsaWVudE1vY2sxM3NldFBlcm1pc3Npb25FYgogX19aTjdXZWJDb3JlMjFHZW9s
b2NhdGlvbkNvbnRyb2xsZXIxM2Vycm9yT2NjdXJyZWRFUE5TXzE2R2VvbG9jYXRpb25FcnJvckUK
LV9fWk43V2ViQ29yZTIxR2VvbG9jYXRpb25Db250cm9sbGVyMTRzdXBwbGVtZW50TmFtZUV2CiBf
X1pON1dlYkNvcmUyMUdlb2xvY2F0aW9uQ29udHJvbGxlcjE1cG9zaXRpb25DaGFuZ2VkRVBOU18x
OUdlb2xvY2F0aW9uUG9zaXRpb25FCi1fX1pON1dlYkNvcmUyMUdlb2xvY2F0aW9uQ29udHJvbGxl
cjRmcm9tRVBOU180UGFnZUUKICNlbmRpZgogCiAjaWYgRU5BQkxFKElDT05EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25DbGllbnQuaAppbmRleCBkODkzODcxMDU1NTE0Zjhi
NTA4NzUyMTMwNTI0OGVlODczMGZiNGVkLi40NGNiOTA5MTcyZDA5N2YxNzIwZGFjZWMzNWU5ZTVl
NGI5YjdiNjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNsaWVudC5oCkBAIC0z
MCw3ICszMCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgR2VvbG9jYXRpb247CiBj
bGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwotY2xhc3MgUGFnZTsKIAogY2xhc3MgR2VvbG9jYXRp
b25DbGllbnQgewogcHVibGljOgpAQCAtNDgsMTQgKzQ3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oR2VvbG9jYXRpb24qKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGNhbmNlbFBlcm1pc3Npb25SZXF1ZXN0KEdlb2xvY2F0aW9uKikgPSAwOwogCi0gICAg
dm9pZCBwcm92aWRlR2VvbG9jYXRpb25UbyhQYWdlKiwgR2VvbG9jYXRpb25DbGllbnQqKTsKLQog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uQ2xpZW50KCkgeyB9CiB9OwogCi12
b2lkIHByb3ZpZGVHZW9sb2NhdGlvblRvKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBHZW9sb2NhdGlvbkNsaWVudF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAppbmRleCAyM2RiYWQwNDFkOGUzYTNjNWI2M2M1MzhhYzc4OTA1ODhiNmQy
Y2E0Li5kNzJiNWZiMGI0NWY2NjUwZjQ1NmRkODdmOTZmZmE2ZjMxMTNlZWRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgog
I2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUg
Ikdlb2xvY2F0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCkBA
IC0xMjEsNiArMTIyLDkgQEAgUGFnZTo6UGFnZShQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihJbnNwZWN0
b3JDb250cm9sbGVyOjpjcmVhdGUodGhpcywgcGFnZUNsaWVudHMuaW5zcGVjdG9yQ2xpZW50KSkK
ICNlbmRpZgorI2lmIEVOQUJMRShHRU9MT0NBVElPTikKKyAgICAsIG1fZ2VvbG9jYXRpb25Db250
cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKHRoaXMsIHBhZ2VDbGllbnRzLmdl
b2xvY2F0aW9uQ2xpZW50KSkKKyNlbmRpZgogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAg
LCBtX3BvaW50ZXJMb2NrQ29udHJvbGxlcihQb2ludGVyTG9ja0NvbnRyb2xsZXI6OmNyZWF0ZSh0
aGlzKSkKICNlbmRpZgpAQCAtMTExNiw2ICsxMTIwLDcgQEAgUGFnZTo6UGFnZUNsaWVudHM6OlBh
Z2VDbGllbnRzKCkKICAgICAsIGVkaXRvckNsaWVudCgwKQogICAgICwgZHJhZ0NsaWVudCgwKQog
ICAgICwgaW5zcGVjdG9yQ2xpZW50KDApCisgICAgLCBnZW9sb2NhdGlvbkNsaWVudCgwKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCmluZGV4IGQ1N2U4NTM0NTBjMDZmMzZkMGI1OTg3MWRjNGNkZGY3Yzdi
YTlhMzEuLmQyYTc2MTZjNGE2ZjM4ZDJiNjUyMDJmYTgzODg3ZGQxZTM1ODNjZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCkBAIC02Myw2ICs2Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBG
b2N1c0NvbnRyb2xsZXI7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgRnJhbWVTZWxlY3Rp
b247CisgICAgY2xhc3MgR2VvbG9jYXRpb25DbGllbnQ7CisgICAgY2xhc3MgR2VvbG9jYXRpb25D
b250cm9sbGVyOwogICAgIGNsYXNzIEhhbHRhYmxlUGx1Z2luOwogICAgIGNsYXNzIEhpc3RvcnlJ
dGVtOwogICAgIGNsYXNzIEluc3BlY3RvckNsaWVudDsKQEAgLTEwNiw2ICsxMDgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBFZGl0b3JDbGllbnQqIGVkaXRvckNsaWVudDsK
ICAgICAgICAgICAgIERyYWdDbGllbnQqIGRyYWdDbGllbnQ7CiAgICAgICAgICAgICBJbnNwZWN0
b3JDbGllbnQqIGluc3BlY3RvckNsaWVudDsKKyAgICAgICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50
KiBnZW9sb2NhdGlvbkNsaWVudDsKICAgICAgICAgICAgIFJlZlB0cjxCYWNrRm9yd2FyZExpc3Q+
IGJhY2tGb3J3YXJkQ2xpZW50OwogICAgICAgICB9OwogCkBAIC0xNjQsNiArMTY3LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIEluc3BlY3Rv
ckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2luc3Bl
Y3RvckNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgorI2lmIEVOQUJMRShHRU9MT0NBVElPTikK
KyAgICAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBnZW9sb2NhdGlvbkNvbnRyb2xsZXIoKSBj
b25zdCB7IHJldHVybiBtX2dlb2xvY2F0aW9uQ29udHJvbGxlci5nZXQoKTsgfQorI2VuZGlmCiAj
aWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAgICAgUG9pbnRlckxvY2tDb250cm9sbGVyKiBw
b2ludGVyTG9ja0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3BvaW50ZXJMb2NrQ29udHJv
bGxlci5nZXQoKTsgfQogI2VuZGlmCkBAIC0zNTYsNiArMzYyLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIE93blB0cjxJbnNwZWN0b3JDb250
cm9sbGVyPiBtX2luc3BlY3RvckNvbnRyb2xsZXI7CiAjZW5kaWYKKyNpZiBFTkFCTEUoR0VPTE9D
QVRJT04pCisgICAgICAgIE93blB0cjxHZW9sb2NhdGlvbkNvbnRyb2xsZXI+IG1fZ2VvbG9jYXRp
b25Db250cm9sbGVyOworI2VuZGlmCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAgICAg
T3duUHRyPFBvaW50ZXJMb2NrQ29udHJvbGxlcj4gbV9wb2ludGVyTG9ja0NvbnRyb2xsZXI7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDM5MTMw
MGE3MjMwNGNjN2JjODIzMDg5NWI5NTFhMDZlNDZlODVlMGEuLjE5YzkxNGYzOGFiZDg3ZTY2N2Rm
MTI1MzkzNTFiMDVhYjE1Y2Y2ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQ
YWdlLmNwcApAQCAtMzI1LDYgKzMyNSw3IEBAIFdlYlBhZ2VQcml2YXRlOjpXZWJQYWdlUHJpdmF0
ZShXZWJQYWdlKiB3ZWJQYWdlLCBXZWJQYWdlQ2xpZW50KiBjbGllbnQsIGNvbnN0IEluCiAgICAg
LCBtX2xhc3RVc2VyRXZlbnRUaW1lc3RhbXAoMC4wKQogICAgICwgbV9wbHVnaW5Nb3VzZUJ1dHRv
blByZXNzZWQoZmFsc2UpCiAgICAgLCBtX3BsdWdpbk1heU9wZW5OZXdUYWIoZmFsc2UpCisgICAg
LCBtX2dlb2xvY2F0aW9uQ2xpZW50KDApCiAgICAgLCBtX2luUmVnaW9uU2Nyb2xsU3RhcnRpbmdO
b2RlKDApCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICwgbV9yb290TGF5
ZXJDb21taXRUaW1lcihhZG9wdFB0cihuZXcgVGltZXI8V2ViUGFnZVByaXZhdGU+KHRoaXMsICZX
ZWJQYWdlUHJpdmF0ZTo6cm9vdExheWVyQ29tbWl0VGltZXJGaXJlZCkpKQpAQCAtNDI3LDE3ICs0
MjgsMTcgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6aW5pdChjb25zdCBXZWJTdHJpbmcmIHBhZ2VH
cm91cE5hbWUpCiAgICAgcGFnZUNsaWVudHMuZHJhZ0NsaWVudCA9IGRyYWdDbGllbnQ7CiAgICAg
cGFnZUNsaWVudHMuaW5zcGVjdG9yQ2xpZW50ID0gaW5zcGVjdG9yQ2xpZW50OwogCi0gICAgbV9w
YWdlID0gbmV3IFBhZ2UocGFnZUNsaWVudHMpOworICAgIC8vIE5vdGUgdGhlIG9iamVjdCB3aWxs
IGJlIGRlc3Ryb3llZCB3aGVuIHRoZSBwYWdlIGlzIGRlc3Ryb3llZC4KICNpZiBFTkFCTEVfRFJU
Ci0gICAgaWYgKGdldGVudigiZHJ0UnVuIikpIHsKLSAgICAgICAgLy8gSW4gY2FzZSBydW5uaW5n
IGluIER1bXBSZW5kZXJUcmVlIG1vZGUgc2V0IHRoZSBjb250cm9sbGVyIHRvIG1vY2sgcHJvdmlk
ZXIuCi0gICAgICAgIEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9jayA9IG5ldyBHZW9sb2NhdGlv
bkNsaWVudE1vY2soKTsKLSAgICAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8obV9w
YWdlLCBtb2NrKTsKLSAgICAgICAgbW9jay0+c2V0Q29udHJvbGxlcihXZWJDb3JlOjpHZW9sb2Nh
dGlvbkNvbnRyb2xsZXI6OmZyb20obV9wYWdlKSk7Ci0gICAgfSBlbHNlCi0jZWxzZQotICAgICAg
ICBXZWJDb3JlOjpwcm92aWRlR2VvbG9jYXRpb25UbyhtX3BhZ2UsIG5ldyBHZW9sb2NhdGlvbkNv
bnRyb2xsZXJDbGllbnRCbGFja0JlcnJ5KHRoaXMpKTsKKyAgICBpZiAoZ2V0ZW52KCJkcnRSdW4i
KSkKKyAgICAgICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgR2VvbG9jYXRp
b25DbGllbnRNb2NrKCk7CisgICAgZWxzZQogI2VuZGlmCisgICAgICAgIHBhZ2VDbGllbnRzLmdl
b2xvY2F0aW9uQ2xpZW50ID0gbV9nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNv
bnRyb2xsZXJDbGllbnRCbGFja0JlcnJ5KHRoaXMpOworI2Vsc2UKKyAgICBwYWdlQ2xpZW50cy5n
ZW9sb2NhdGlvbkNsaWVudCA9IG1fZ2VvbG9jYXRpb25DbGllbnQ7CisKKyAgICBtX3BhZ2UgPSBu
ZXcgUGFnZShwYWdlQ2xpZW50cyk7CiAgICAgV2ViQ29yZTo6cHJvdmlkZURldmljZU9yaWVudGF0
aW9uVG8obV9wYWdlLCBuZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRCbGFja0JlcnJ5KHRoaXMp
KTsKICAgICBXZWJDb3JlOjpwcm92aWRlRGV2aWNlTW90aW9uVG8obV9wYWdlLCBuZXcgRGV2aWNl
TW90aW9uQ2xpZW50QmxhY2tCZXJyeSh0aGlzKSk7CiAKQEAgLTQ0NSw2ICs0NDYsMTIgQEAgdm9p
ZCBXZWJQYWdlUHJpdmF0ZTo6aW5pdChjb25zdCBXZWJTdHJpbmcmIHBhZ2VHcm91cE5hbWUpCiAg
ICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihtX3BhZ2UsIE5vdGlmaWNhdGlvblByZXNl
bnRlckltcGw6Omluc3RhbmNlKCkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEVfRFJUCisgICAgLy8g
SW4gY2FzZSBydW5uaW5nIGluIER1bXBSZW5kZXJUcmVlIG1vZGUgc2V0IHRoZSBjb250cm9sbGVy
IHRvIG1vY2sgcHJvdmlkZXIuCisgICAgaWYgKGdldGVudigiZHJ0UnVuIikpCisgICAgICAgIHN0
YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+KHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9u
Q2xpZW50KS0+c2V0Q29udHJvbGxlcihtX3BhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpKTsK
KyNlbmRpZgorCiAgICAgbV9wYWdlLT5zZXRDdXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplKDI1
Nik7CiAgICAgbV9wYWdlLT5zZXRDdXN0b21IVE1MVG9rZW5pemVyVGltZURlbGF5KDAuMyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9HZW9s
b2NhdGlvbkNvbnRyb2xsZXJDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnRCbGFja0Jl
cnJ5LmNwcAppbmRleCBiMzM3ZDAzOTZhNTZjNDA2NWM0ZGU2NTczY2Q4NzJhMWJhMjQxNGYyLi5i
YTIyMDQzZTlmNzBkMTA1ZmYwNmFjN2IwY2IwNGFkZGQ0ZTM0NDcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25Db250cm9sbGVy
Q2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0dlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC04
MiwxMyArODIsMTMgQEAgdm9pZCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnRCbGFja0JlcnJ5
OjpvbkxvY2F0aW9uVXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGQKIHsKICAgICBtX2xhc3RQb3Np
dGlvbiA9IEdlb2xvY2F0aW9uUG9zaXRpb246OmNyZWF0ZSh0aW1lc3RhbXAsIGxhdGl0dWRlLCBs
b25naXR1ZGUsIGFjY3VyYWN5LCBhbHRpdHVkZVZhbGlkLCBhbHRpdHVkZSwgYWx0aXR1ZGVBY2N1
cmFjeVZhbGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFsdGl0dWRlQWNjdXJhY3ksIGhlYWRpbmdWYWxpZCwgaGVhZGluZywgc3BlZWRWYWxpZCwg
c3BlZWQpOwotICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShtX3dlYlBhZ2VQcml2YXRl
LT5tX3BhZ2UpLT5wb3NpdGlvbkNoYW5nZWQobV9sYXN0UG9zaXRpb24uZ2V0KCkpOworICAgIG1f
d2ViUGFnZVByaXZhdGUtPm1fcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPnBvc2l0aW9u
Q2hhbmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25Db250
cm9sbGVyQ2xpZW50QmxhY2tCZXJyeTo6b25Mb2NhdGlvbkVycm9yKGNvbnN0IGNoYXIqIGVycm9y
U3RyKQogewogICAgIFJlZlB0cjxHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IEdlb2xvY2F0aW9u
RXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVycm9yOjpQb3NpdGlvblVuYXZhaWxhYmxlLCBTdHJp
bmc6OmZyb21VVEY4KGVycm9yU3RyKSk7Ci0gICAgR2VvbG9jYXRpb25Db250cm9sbGVyOjpmcm9t
KG1fd2ViUGFnZVByaXZhdGUtPm1fcGFnZSktPmVycm9yT2NjdXJyZWQoZXJyb3IuZ2V0KCkpOwor
ICAgIG1fd2ViUGFnZVByaXZhdGUtPm1fcGFnZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmVy
cm9yT2NjdXJyZWQoZXJyb3IuZ2V0KCkpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudEJsYWNrQmVycnk6Om9uUGVybWlzc2lvbih2b2lkKiBjb250ZXh0LCBib29sIGlzQWxs
b3dlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
S2l0U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnQuY3BwCmluZGV4IGQyZjQ4NTk1OWJlZTll
ZjY3MTFkNDQ2MTUxMjlhNjRlNGEzYmJhZDMuLjhjN2QyYjhkMjdkMjIyYmQxNGJhNmU0M2I4MWNl
M2Y2NWE2OWY4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYktpdFN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0LmNwcApAQCAtOTYsMTMg
Kzk2LDEzIEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0OjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KEZyYW1lKiBtYWluRnJhbWUsIGludCBkCiAKIGludCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnQ6Om51bWJlck9mUGVuZGluZ0dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKFdlYlBh
Z2UqIHdlYlBhZ2UpCiB7Ci0gICAgR2VvbG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0g
dG9HZW9sb2NhdGlvbkNsaWVudE1vY2soR2VvbG9jYXRpb25Db250cm9sbGVyKGNvcmVQYWdlKHdl
YlBhZ2UpKS0+Y2xpZW50KCkpOworICAgIEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9ja0NsaWVu
dCA9IHRvR2VvbG9jYXRpb25DbGllbnRNb2NrKGNvcmVQYWdlKHdlYlBhZ2UpLT5nZW9sb2NhdGlv
bkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOwogICAgIHJldHVybiBtb2NrQ2xpZW50LT5udW1iZXJP
ZlBlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnQ6OnJlc2V0R2VvbG9jYXRpb25Nb2NrKFdlYlBhZ2UqIHdlYlBhZ2UpCiB7Ci0gICAgR2Vv
bG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVudE1vY2so
R2VvbG9jYXRpb25Db250cm9sbGVyOjpmcm9tKGNvcmVQYWdlKHdlYlBhZ2UpKS0+Y2xpZW50KCkp
OworICAgIEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9ja0NsaWVudCA9IHRvR2VvbG9jYXRpb25D
bGllbnRNb2NrKGNvcmVQYWdlKHdlYlBhZ2UpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xp
ZW50KCkpOwogICAgIG1vY2tDbGllbnQtPnJlc2V0KCk7CiB9CiAKQEAgLTExOCwxOSArMTE4LDE5
IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0OjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihX
ZWJQYWdlKiB3ZWJQYWdlLCBpbnQgZXJyb3JDCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAg
IEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9ja0NsaWVudCA9IHN0YXRpY19jYXN0PEdlb2xvY2F0
aW9uQ2xpZW50TW9jayo+KEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlUGFnZSh3ZWJQ
YWdlKSktPmNsaWVudCgpKTsKKyAgICBHZW9sb2NhdGlvbkNsaWVudE1vY2sqIG1vY2tDbGllbnQg
PSBzdGF0aWNfY2FzdDxHZW9sb2NhdGlvbkNsaWVudE1vY2sqPihjb3JlUGFnZSh3ZWJQYWdlKS0+
Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmNsaWVudCgpKTsKICAgICBtb2NrQ2xpZW50LT5zZXRF
cnJvcihHZW9sb2NhdGlvbkVycm9yOjpjcmVhdGUoY29kZSwgbWVzc2FnZSkpOwogfQogCiB2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydDo6c2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbihXZWJQ
YWdlKiB3ZWJQYWdlLCBib29sIGFsbG93ZWQpCiB7Ci0gICAgR2VvbG9jYXRpb25DbGllbnRNb2Nr
KiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVudE1vY2soR2VvbG9jYXRpb25Db250cm9s
bGVyOjpmcm9tKGNvcmVQYWdlKHdlYlBhZ2UpKS0+Y2xpZW50KCkpOworICAgIEdlb2xvY2F0aW9u
Q2xpZW50TW9jayogbW9ja0NsaWVudCA9IHRvR2VvbG9jYXRpb25DbGllbnRNb2NrKGNvcmVQYWdl
KHdlYlBhZ2UpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOwogICAgIG1vY2tD
bGllbnQtPnNldFBlcm1pc3Npb24oYWxsb3dlZCk7CiB9CiAKIHZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0OjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihXZWJQYWdlKiB3ZWJQYWdlLCBkb3Vi
bGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSkKIHsKLSAgICBH
ZW9sb2NhdGlvbkNsaWVudE1vY2sqIG1vY2tDbGllbnQgPSB0b0dlb2xvY2F0aW9uQ2xpZW50TW9j
ayhHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20oY29yZVBhZ2Uod2ViUGFnZSkpLT5jbGllbnQo
KSk7CisgICAgR2VvbG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlv
bkNsaWVudE1vY2soY29yZVBhZ2Uod2ViUGFnZSktPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5j
bGllbnQoKSk7CiAgICAgbW9ja0NsaWVudC0+c2V0UG9zaXRpb24oR2VvbG9jYXRpb25Qb3NpdGlv
bjo6Y3JlYXRlKGN1cnJlbnRUaW1lKCksIGxhdGl0dWRlLCBsb25naXR1ZGUsIGFjY3VyYWN5KSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA1
ODFjNzIyYjA1NmQ1ZGZlNjFhNWJmNjA1ZDA3N2E1NDkwZDlkNTljLi4xYjNhYjU4OWQ2ZjdjNGU3
YWJkYzExMTQ0OWQyN2E4MWJlZjIzMTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCkBAIC02Myw3ICs2Myw2IEBACiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiR2VvbG9jYXRpb25DbGllbnRQcm94
eS5oIgotI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmgiCkBAIC0zODYsNiArMzg1LDcgQEAgV2ViVmlld0lt
cGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNsaWVudCkKICAgICBwYWdlQ2xpZW50cy5l
ZGl0b3JDbGllbnQgPSAmbV9lZGl0b3JDbGllbnRJbXBsOwogICAgIHBhZ2VDbGllbnRzLmRyYWdD
bGllbnQgPSAmbV9kcmFnQ2xpZW50SW1wbDsKICAgICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGll
bnQgPSAmbV9pbnNwZWN0b3JDbGllbnRJbXBsOworICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9u
Q2xpZW50ID0gbV9nZW9sb2NhdGlvbkNsaWVudFByb3h5LmdldCgpOwogICAgIHBhZ2VDbGllbnRz
LmJhY2tGb3J3YXJkQ2xpZW50ID0gQmFja0ZvcndhcmRMaXN0Q2hyb21pdW06OmNyZWF0ZSh0aGlz
KTsKIAogICAgIG1fcGFnZSA9IGFkb3B0UHRyKG5ldyBQYWdlKHBhZ2VDbGllbnRzKSk7CkBAIC00
MDMsOSArNDAzLDggQEAgV2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKFdlYlZpZXdDbGllbnQqIGNs
aWVudCkKICNlbmRpZgogCiAgICAgcHJvdmlkZURldmljZU9yaWVudGF0aW9uVG8obV9wYWdlLmdl
dCgpLCBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkuZ2V0KCkpOwotICAgIHByb3ZpZGVH
ZW9sb2NhdGlvblRvKG1fcGFnZS5nZXQoKSwgbV9nZW9sb2NhdGlvbkNsaWVudFByb3h5LmdldCgp
KTsKLSAgICBtX2dlb2xvY2F0aW9uQ2xpZW50UHJveHktPnNldENvbnRyb2xsZXIoR2VvbG9jYXRp
b25Db250cm9sbGVyOjpmcm9tKG1fcGFnZS5nZXQoKSkpOwotICAgIAorICAgIG1fZ2VvbG9jYXRp
b25DbGllbnRQcm94eS0+c2V0Q29udHJvbGxlcihtX3BhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxl
cigpKTsKKwogICAgIG1fcGFnZS0+c2V0R3JvdXBOYW1lKHBhZ2VHcm91cE5hbWUpOwogCiAjaWYg
RU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAppbmRl
eCAxYTAwNzM5N2U3ZDQ4ZGU5NDE0NTNhMTMyZmNmZWRkY2UwNDE3MzNmLi4zMDBmMWRiMjYzM2M2
OTEwM2QzMDY0NmFmMTBlNjM3OTBjNTVjODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAK
QEAgLTc5NCw3ICs3OTQsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2NhbGVQ
YWdlQnkoV2ViS2l0V2ViVmlldyogd2ViVmlldywgZmxvYXQgc2NhbGVGYQogdm9pZCBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGs6OnJlc2V0R2VvbG9jYXRpb25DbGllbnRNb2NrKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcpCiB7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotICAgIEdlb2xvY2F0aW9u
Q2xpZW50TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+KEdl
b2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlKHdlYlZpZXcpKS0+Y2xpZW50KCkpOworICAg
IEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xp
ZW50TW9jayo+KGNvcmUod2ViVmlldyktPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQo
KSk7CiAgICAgbW9jay0+cmVzZXQoKTsKICNlbmRpZgogfQpAQCAtODAyLDcgKzgwMiw3IEBAIHZv
aWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpyZXNldEdlb2xvY2F0aW9uQ2xpZW50TW9jayhX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3CiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6c2V0
TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbihXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBib29sIGFs
bG93ZWQpCiB7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotICAgIEdlb2xvY2F0aW9uQ2xpZW50
TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+KEdlb2xvY2F0
aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlKHdlYlZpZXcpKS0+Y2xpZW50KCkpOworICAgIEdlb2xv
Y2F0aW9uQ2xpZW50TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9j
ayo+KGNvcmUod2ViVmlldyktPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CiAg
ICAgbW9jay0+c2V0UGVybWlzc2lvbihhbGxvd2VkKTsKICNlbmRpZgogfQpAQCAtODEwLDcgKzgx
MCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpzZXRNb2NrR2VvbG9jYXRpb25Q
ZXJtaXNzaW9uKFdlYktpdFdlYlZpZXcqIHdlYlZpCiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0azo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oV2ViS2l0V2ViVmlldyogd2ViVmlldywg
ZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3kpCiB7CiAj
aWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotICAgIEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9jayA9
IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+KEdlb2xvY2F0aW9uQ29udHJvbGxl
cjo6ZnJvbShjb3JlKHdlYlZpZXcpKS0+Y2xpZW50KCkpOworICAgIEdlb2xvY2F0aW9uQ2xpZW50
TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9jayo+KGNvcmUod2Vi
VmlldyktPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CiAKICAgICBkb3VibGUg
dGltZXN0YW1wID0gZ19nZXRfcmVhbF90aW1lKCkgLyAxMDAwMDAwLjA7CiAgICAgbW9jay0+c2V0
UG9zaXRpb24oR2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKHRpbWVzdGFtcCwgbGF0aXR1ZGUs
IGxvbmdpdHVkZSwgYWNjdXJhY3kpKTsKQEAgLTgyMCw3ICs4MjAsNyBAQCB2b2lkIER1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0azo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oV2ViS2l0V2ViVmll
dyogd2ViVmlldwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OnNldE1vY2tHZW9sb2Nh
dGlvbkVycm9yKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGludCBlcnJvckNvZGUsIGNvbnN0IGdj
aGFyKiBlcnJvck1lc3NhZ2UpCiB7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotICAgIEdlb2xv
Y2F0aW9uQ2xpZW50TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0aW9uQ2xpZW50TW9j
ayo+KEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlKHdlYlZpZXcpKS0+Y2xpZW50KCkp
OworICAgIEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9jayA9IHN0YXRpY19jYXN0PEdlb2xvY2F0
aW9uQ2xpZW50TW9jayo+KGNvcmUod2ViVmlldyktPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5j
bGllbnQoKSk7CiAKICAgICBHZW9sb2NhdGlvbkVycm9yOjpFcnJvckNvZGUgY29kZTsKICAgICBz
d2l0Y2ggKGVycm9yQ29kZSkgewpAQCAtODQwLDcgKzg0MCw3IEBAIHZvaWQgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBpCiBpbnQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpudW1iZXJPZlBlbmRpbmdHZW9s
b2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewogI2lm
IEVOQUJMRShHRU9MT0NBVElPTikKLSAgICBHZW9sb2NhdGlvbkNsaWVudE1vY2sqIG1vY2sgPSBz
dGF0aWNfY2FzdDxHZW9sb2NhdGlvbkNsaWVudE1vY2sqPihHZW9sb2NhdGlvbkNvbnRyb2xsZXI6
OmZyb20oY29yZSh3ZWJWaWV3KSktPmNsaWVudCgpKTsKKyAgICBHZW9sb2NhdGlvbkNsaWVudE1v
Y2sqIG1vY2sgPSBzdGF0aWNfY2FzdDxHZW9sb2NhdGlvbkNsaWVudE1vY2sqPihjb3JlKHdlYlZp
ZXcpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOwogICAgIHJldHVybiBtb2Nr
LT5udW1iZXJPZlBlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoKTsKICNlbmRpZgogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGllbnRH
dGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25DbGll
bnRHdGsuY3BwCmluZGV4IDlmNjkxNWM4NzkwZTdlY2ZmMzNmNjM5OGNmYmU3ZTY0MjlhYzAzYWIu
LjJiOTA2MTg2M2Q3MTc3NjU0NjFlZTIyNjhiYTM5MWY2Y2FjY2M1MmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0dlb2xvY2F0aW9uQ2xpZW50R3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9HZW9sb2NhdGlvbkNsaWVudEd0
ay5jcHAKQEAgLTE3NSwxMyArMTc1LDEzIEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnQ6OnVwZGF0
ZVBvc2l0aW9uKCkKIHsKICAgICBtX2xhc3RQb3NpdGlvbiA9IFdlYkNvcmU6Okdlb2xvY2F0aW9u
UG9zaXRpb246OmNyZWF0ZShzdGF0aWNfY2FzdDxkb3VibGU+KG1fdGltZXN0YW1wKSwgbV9sYXRp
dHVkZSwgbV9sb25naXR1ZGUsIG1fYWNjdXJhY3ksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgbV9hbHRpdHVkZSwgdHJ1ZSwg
bV9hbHRpdHVkZUFjY3VyYWN5LCBmYWxzZSwgMCwgZmFsc2UsIDApOwotICAgIFdlYkNvcmU6Okdl
b2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlKG1fd2ViVmlldykpLT5wb3NpdGlvbkNoYW5n
ZWQobV9sYXN0UG9zaXRpb24uZ2V0KCkpOworICAgIGNvcmUobV93ZWJWaWV3KS0+Z2VvbG9jYXRp
b25Db250cm9sbGVyKCktPnBvc2l0aW9uQ2hhbmdlZChtX2xhc3RQb3NpdGlvbi5nZXQoKSk7CiB9
CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnQ6OmVycm9yT2NjdXJlZChjb25zdCBjaGFyKiBtZXNz
YWdlKQogewogICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IFdl
YkNvcmU6Okdlb2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9y
OjpQb3NpdGlvblVuYXZhaWxhYmxlLCBtZXNzYWdlKTsKLSAgICBXZWJDb3JlOjpHZW9sb2NhdGlv
bkNvbnRyb2xsZXI6OmZyb20oY29yZShtX3dlYlZpZXcpKS0+ZXJyb3JPY2N1cnJlZChlcnJvci5n
ZXQoKSk7CisgICAgY29yZShtX3dlYlZpZXcpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+ZXJy
b3JPY2N1cnJlZChlcnJvci5nZXQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA2OWJmNmYzZjE2NjdlNzk3Nzc0OGExZDhmMDVkMGQ3
ODY5N2VmY2JjLi41MWZjZGVlOWU5YmIxYTY2NTFhMDQyMDUzNzk2ZjAxOTJiZjZiMzJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC01OSwxMCArNTks
OSBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2Fk
ZXJUeXBlcy5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2luY2x1ZGUgIkdPd25QdHJHdGsu
aCIKICNpbmNsdWRlICJHZW9sb2NhdGlvbkNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkdlb2xvY2F0
aW9uQ2xpZW50TW9jay5oIgotI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgIkdPd25QdHJHdGsuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNs
dWRlICJHdGtVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJHdGtWZXJzaW9uaW5nLmgiCkBAIC0zNTY4
LDE3ICszNTY3LDE1IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19pbml0KFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcpCiAgICAgcGFnZUNsaWVudHMuZWRpdG9yQ2xpZW50ID0gbmV3IFdlYktp
dDo6RWRpdG9yQ2xpZW50KHdlYlZpZXcpOwogICAgIHBhZ2VDbGllbnRzLmRyYWdDbGllbnQgPSBu
ZXcgV2ViS2l0OjpEcmFnQ2xpZW50KHdlYlZpZXcpOwogICAgIHBhZ2VDbGllbnRzLmluc3BlY3Rv
ckNsaWVudCA9IG5ldyBXZWJLaXQ6Okluc3BlY3RvckNsaWVudCh3ZWJWaWV3KTsKKyNpZiBFTkFC
TEUoR0VPTE9DQVRJT04pCisgICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcFJl
bmRlclRyZWVNb2RlRW5hYmxlZCgpKQorICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNs
aWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudE1vY2s7CisgICAgZWxzZQorICAgICAgICBwYWdl
Q2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBXZWJLaXQ6Okdlb2xvY2F0aW9uQ2xpZW50
KHdlYlZpZXcpOworI2VuZGlmCiAKICAgICBwcml2LT5jb3JlUGFnZSA9IG5ldyBQYWdlKHBhZ2VD
bGllbnRzKTsKIAotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLSAgICBpZiAoRHVtcFJlbmRlclRy
ZWVTdXBwb3J0R3RrOjpkdW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKCkpIHsKLSAgICAgICAgR2Vv
bG9jYXRpb25DbGllbnRNb2NrKiBtb2NrID0gbmV3IEdlb2xvY2F0aW9uQ2xpZW50TW9jazsKLSAg
ICAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8ocHJpdi0+Y29yZVBhZ2UsIG1vY2sp
OwotICAgICAgICBtb2NrLT5zZXRDb250cm9sbGVyKEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJv
bShwcml2LT5jb3JlUGFnZSkpOwotICAgIH0gZWxzZQotICAgICAgICBXZWJDb3JlOjpwcm92aWRl
R2VvbG9jYXRpb25Ubyhwcml2LT5jb3JlUGFnZSwgbmV3IFdlYktpdDo6R2VvbG9jYXRpb25DbGll
bnQod2ViVmlldykpOwotI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAg
ICBXZWJDb3JlOjpwcm92aWRlRGV2aWNlTW90aW9uVG8ocHJpdi0+Y29yZVBhZ2UsIG5ldyBEZXZp
Y2VNb3Rpb25DbGllbnRHdGspOwogICAgIFdlYkNvcmU6OnByb3ZpZGVEZXZpY2VPcmllbnRhdGlv
blRvKHByaXYtPmNvcmVQYWdlLCBuZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRHdGspOwpAQCAt
MzU4OSw2ICszNTg2LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2luaXQoV2ViS2l0
V2ViVmlldyogd2ViVmlldykKICNlbmRpZgogCiAgICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9y
dEd0azo6ZHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZCgpKSB7CisjaWYgRU5BQkxFKEdFT0xPQ0FU
SU9OKQorICAgICAgICBzdGF0aWNfY2FzdDxHZW9sb2NhdGlvbkNsaWVudE1vY2sqPihwYWdlQ2xp
ZW50cy5nZW9sb2NhdGlvbkNsaWVudCktPnNldENvbnRyb2xsZXIocHJpdi0+Y29yZVBhZ2UtPmdl
b2xvY2F0aW9uQ29udHJvbGxlcigpKTsKKyNlbmRpZgogICAgICAgICAvLyBTZXQgc29tZSB0ZXN0
aW5nLXNwZWNpZmljIHNldHRpbmdzCiAgICAgICAgIHByaXYtPmNvcmVQYWdlLT5zZXR0aW5ncygp
LT5zZXRJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCh0cnVlKTsKICAgICAgICAgcHJp
di0+Y29yZVBhZ2UtPnNldHRpbmdzKCktPnNldFZhbGlkYXRpb25NZXNzYWdlVGltZXJNYWduaWZp
Y2F0aW9uKC0xKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCA0NGI2M2Ni
MTZmZGZjOWNjZWFiM2ZmMGVkYmMzNjYyODM5MzY2MTgwLi5jNDE4YjAzOTFhMTgwMTU3Mjk3MGY4
YjE5NDdlNDBlN2RjODY0YzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBA
IC03MzYsMTAgKzczNiwxMCBAQCBzdGF0aWMgTlNTdHJpbmcgKmxlYWtPdXRsb29rUXVpcmtzVXNl
clNjcmlwdENvbnRlbnRzKCkKICAgICBwYWdlQ2xpZW50cy5lZGl0b3JDbGllbnQgPSBuZXcgV2Vi
RWRpdG9yQ2xpZW50KHNlbGYpOwogICAgIHBhZ2VDbGllbnRzLmRyYWdDbGllbnQgPSBuZXcgV2Vi
RHJhZ0NsaWVudChzZWxmKTsKICAgICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGllbnQgPSBuZXcg
V2ViSW5zcGVjdG9yQ2xpZW50KHNlbGYpOwotICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBhZ2Uo
cGFnZUNsaWVudHMpOwogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLSAgICBXZWJDb3JlOjpwcm92
aWRlR2VvbG9jYXRpb25UbyhfcHJpdmF0ZS0+cGFnZSwgbmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50
KHNlbGYpKTsKKyAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBXZWJHZW9s
b2NhdGlvbkNsaWVudChzZWxmKTsKICNlbmRpZgorICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBh
Z2UocGFnZUNsaWVudHMpOwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVH
QUNZX05PVElGSUNBVElPTlMpCiAgICAgV2ViQ29yZTo6cHJvdmlkZU5vdGlmaWNhdGlvbihfcHJp
dmF0ZS0+cGFnZSwgbmV3IFdlYk5vdGlmaWNhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKQEAg
LTYzODIsNyArNjM4Miw3IEBAIHN0YXRpYyB2b2lkIGdsaWJDb250ZXh0SXRlcmF0aW9uQ2FsbGJh
Y2soQ0ZSdW5Mb29wT2JzZXJ2ZXJSZWYsIENGUnVuTG9vcEFjdGl2aXR5CiB7CiAjaWYgRU5BQkxF
KEdFT0xPQ0FUSU9OKQogICAgIGlmIChfcHJpdmF0ZSAmJiBfcHJpdmF0ZS0+cGFnZSkKLSAgICAg
ICAgV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVyOjpmcm9tKF9wcml2YXRlLT5wYWdlKS0+
cG9zaXRpb25DaGFuZ2VkKGNvcmUocG9zaXRpb24pKTsKKyAgICAgICAgX3ByaXZhdGUtPnBhZ2Ut
Pmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5wb3NpdGlvbkNoYW5nZWQoY29yZShwb3NpdGlvbikp
OwogI2VuZGlmIC8vIEVOQUJMRShHRU9MT0NBVElPTikKIH0KIApAQCAtNjM5MSw3ICs2MzkxLDcg
QEAgc3RhdGljIHZvaWQgZ2xpYkNvbnRleHRJdGVyYXRpb25DYWxsYmFjayhDRlJ1bkxvb3BPYnNl
cnZlclJlZiwgQ0ZSdW5Mb29wQWN0aXZpdHkKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAgICAg
aWYgKF9wcml2YXRlICYmIF9wcml2YXRlLT5wYWdlKSB7CiAgICAgICAgIFJlZlB0cjxHZW9sb2Nh
dGlvbkVycm9yPiBnZW9sb2NhdGlvRXJyb3IgPSBHZW9sb2NhdGlvbkVycm9yOjpjcmVhdGUoR2Vv
bG9jYXRpb25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJsZSwgW2Vycm9yIGxvY2FsaXplZERlc2Ny
aXB0aW9uXSk7Ci0gICAgICAgIFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShf
cHJpdmF0ZS0+cGFnZSktPmVycm9yT2NjdXJyZWQoZ2VvbG9jYXRpb0Vycm9yLmdldCgpKTsKKyAg
ICAgICAgX3ByaXZhdGUtPnBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3Vy
cmVkKGdlb2xvY2F0aW9FcnJvci5nZXQoKSk7CiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShHRU9M
T0NBVElPTikKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA1MTA1ODI3MmFkOTBh
Y2FkYzlmYWY4ZmM3ZGNhY2FjNjRlMmJiNGI4Li5lOTY5MDNlNmI3YmFkNjQyNGIzMWYxMGM4ZTIx
MjMyYzJmMzM2ZDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC02Nyw3ICs2Nyw2
IEBACiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQogI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ2xpZW50
TW9jay5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ2xpZW50UXQuaCIKLSNpbmNsdWRlICJHZW9s
b2NhdGlvbkNvbnRyb2xsZXIuaCIKICNlbmRpZgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uUGVybWlz
c2lvbkNsaWVudFF0LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCkBAIC0zMjcsMTYg
KzMyNiwxMyBAQCBRV2ViUGFnZVByaXZhdGU6OlFXZWJQYWdlUHJpdmF0ZShRV2ViUGFnZSAqcXEp
CiAgICAgcGFnZUNsaWVudHMuZWRpdG9yQ2xpZW50ID0gbmV3IEVkaXRvckNsaWVudFF0KHEpOwog
ICAgIHBhZ2VDbGllbnRzLmRyYWdDbGllbnQgPSBuZXcgRHJhZ0NsaWVudFF0KHEpOwogICAgIHBh
Z2VDbGllbnRzLmluc3BlY3RvckNsaWVudCA9IG5ldyBJbnNwZWN0b3JDbGllbnRRdChxKTsKLSAg
ICBwYWdlID0gbmV3IFBhZ2UocGFnZUNsaWVudHMpOwogI2lmIEVOQUJMRShHRU9MT0NBVElPTikK
LSAgICBpZiAodXNlTW9jaykgewotICAgICAgICAvLyBJbiBjYXNlIHJ1bm5pbmcgaW4gRHVtcFJl
bmRlclRyZWUgbW9kZSBzZXQgdGhlIGNvbnRyb2xsZXIgdG8gbW9jayBwcm92aWRlci4KLSAgICAg
ICAgR2VvbG9jYXRpb25DbGllbnRNb2NrKiBtb2NrID0gbmV3IEdlb2xvY2F0aW9uQ2xpZW50TW9j
azsKLSAgICAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8ocGFnZSwgbW9jayk7Ci0g
ICAgICAgIG1vY2stPnNldENvbnRyb2xsZXIoV2ViQ29yZTo6R2VvbG9jYXRpb25Db250cm9sbGVy
Ojpmcm9tKHBhZ2UpKTsKLSAgICB9IGVsc2UKLSAgICAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xv
Y2F0aW9uVG8ocGFnZSwgbmV3IEdlb2xvY2F0aW9uQ2xpZW50UXQocSkpOworICAgIGlmICh1c2VN
b2NrKQorICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlvbkNsaWVudCA9IG5ldyBHZW9sb2Nh
dGlvbkNsaWVudE1vY2s7CisgICAgZWxzZQorICAgICAgICBwYWdlQ2xpZW50cy5nZW9sb2NhdGlv
bkNsaWVudCA9IG5ldyBHZW9sb2NhdGlvbkNsaWVudFF0KHEpOwogI2VuZGlmCisgICAgcGFnZSA9
IG5ldyBQYWdlKHBhZ2VDbGllbnRzKTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQog
ICAgIGlmICh1c2VNb2NrKQogICAgICAgICBXZWJDb3JlOjpwcm92aWRlRGV2aWNlT3JpZW50YXRp
b25UbyhwYWdlLCBuZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrKTsKQEAgLTM1NSw2ICsz
NTEsMTEgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQog
ICAgIC8vIGFzIGV4cGVjdGVkIG91dCBvZiB0aGUgYm94LCB3ZSB1c2UgYSBkZWZhdWx0IGdyb3Vw
IHNpbWlsYXIgdG8gd2hhdCBvdGhlciBwb3J0cyBhcmUgZG9pbmcuCiAgICAgcGFnZS0+c2V0R3Jv
dXBOYW1lKCJEZWZhdWx0IEdyb3VwIik7CiAKKyAgICAvLyBJbiBjYXNlIHJ1bm5pbmcgaW4gRHVt
cFJlbmRlclRyZWUgbW9kZSBzZXQgdGhlIGNvbnRyb2xsZXIgdG8gbW9jayBwcm92aWRlci4KKyNp
ZiBFTkFCTEUoR0VPTE9DQVRJT04pCisgICAgaWYgKFFXZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVuKQor
ICAgICAgICBzdGF0aWNfY2FzdDxHZW9sb2NhdGlvbkNsaWVudE1vY2sqPihwYWdlQ2xpZW50cy5n
ZW9sb2NhdGlvbkNsaWVudCktPnNldENvbnRyb2xsZXIocGFnZS0+Z2VvbG9jYXRpb25Db250cm9s
bGVyKCkpOworI2VuZGlmCiAgICAgc2V0dGluZ3MgPSBuZXcgUVdlYlNldHRpbmdzKHBhZ2UtPnNl
dHRpbmdzKCkpOwogCiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cAppbmRleCBmZjdjMDk0MTdkOGYxZGM4ODhlOTY0YjVjZmIxMmE0MDNkY2JkMDc1Li40NzQ2YTcw
OWU5MzdjMTgyZWYzYmU0MzJlZTgxOGMzZmUwNmE2OGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cApAQCAtODQwLDcgKzg0MCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnJlc2V0
R2VvbG9jYXRpb25Nb2NrKFFXZWJQYWdlKiBwYWdlKQogewogI2lmIEVOQUJMRShHRU9MT0NBVElP
TikKICAgICBQYWdlKiBjb3JlUGFnZSA9IFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKTsKLSAg
ICBHZW9sb2NhdGlvbkNsaWVudE1vY2sqIG1vY2tDbGllbnQgPSB0b0dlb2xvY2F0aW9uQ2xpZW50
TW9jayhHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20oY29yZVBhZ2UpLT5jbGllbnQoKSk7Cisg
ICAgR2VvbG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVu
dE1vY2soY29yZVBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5jbGllbnQoKSk7CiAgICAg
bW9ja0NsaWVudC0+cmVzZXQoKTsKICNlbmRpZgogfQpAQCAtODQ5LDcgKzg0OSw3IEBAIHZvaWQg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvblBlcm1pc3Npb24oUVdl
YlBhZ2UqIHBhZ2UsIGJvb2wKIHsKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAgICAgUGFnZSog
Y29yZVBhZ2UgPSBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSk7Ci0gICAgR2VvbG9jYXRpb25D
bGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVudE1vY2soR2VvbG9jYXRp
b25Db250cm9sbGVyOjpmcm9tKGNvcmVQYWdlKS0+Y2xpZW50KCkpOworICAgIEdlb2xvY2F0aW9u
Q2xpZW50TW9jayogbW9ja0NsaWVudCA9IHRvR2VvbG9jYXRpb25DbGllbnRNb2NrKGNvcmVQYWdl
LT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOwogICAgIG1vY2tDbGllbnQtPnNl
dFBlcm1pc3Npb24oYWxsb3dlZCk7CiAjZW5kaWYKIH0KQEAgLTg1OCw3ICs4NTgsNyBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihRV2Vi
UGFnZSogcGFnZSwgZG91YmxlCiB7CiAjaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQogICAgIFBhZ2Uq
IGNvcmVQYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpOwotICAgIEdlb2xvY2F0aW9u
Q2xpZW50TW9jayogbW9ja0NsaWVudCA9IHRvR2VvbG9jYXRpb25DbGllbnRNb2NrKEdlb2xvY2F0
aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlUGFnZSktPmNsaWVudCgpKTsKKyAgICBHZW9sb2NhdGlv
bkNsaWVudE1vY2sqIG1vY2tDbGllbnQgPSB0b0dlb2xvY2F0aW9uQ2xpZW50TW9jayhjb3JlUGFn
ZS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmNsaWVudCgpKTsKICAgICBtb2NrQ2xpZW50LT5z
ZXRQb3NpdGlvbihHZW9sb2NhdGlvblBvc2l0aW9uOjpjcmVhdGUoY3VycmVudFRpbWUoKSwgbGF0
aXR1ZGUsIGxvbmdpdHVkZSwgYWNjdXJhY3kpKTsKICNlbmRpZgogfQpAQCAtODc4LDcgKzg3OCw3
IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tHZW9sb2NhdGlvbkVycm9y
KFFXZWJQYWdlKiBwYWdlLCBpbnQgZXJyb3JDCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAg
IEdlb2xvY2F0aW9uQ2xpZW50TW9jayogbW9ja0NsaWVudCA9IHN0YXRpY19jYXN0PEdlb2xvY2F0
aW9uQ2xpZW50TW9jayo+KEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShjb3JlUGFnZSktPmNs
aWVudCgpKTsKKyAgICBHZW9sb2NhdGlvbkNsaWVudE1vY2sqIG1vY2tDbGllbnQgPSBzdGF0aWNf
Y2FzdDxHZW9sb2NhdGlvbkNsaWVudE1vY2sqPihjb3JlUGFnZS0+Z2VvbG9jYXRpb25Db250cm9s
bGVyKCktPmNsaWVudCgpKTsKICAgICBtb2NrQ2xpZW50LT5zZXRFcnJvcihHZW9sb2NhdGlvbkVy
cm9yOjpjcmVhdGUoY29kZSwgbWVzc2FnZSkpOwogI2VuZGlmCiB9CkBAIC04ODcsNyArODg3LDcg
QEAgaW50IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpudW1iZXJPZlBlbmRpbmdHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0cyhRV2ViUGEKIHsKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAg
ICAgUGFnZSogY29yZVBhZ2UgPSBRV2ViUGFnZVByaXZhdGU6OmNvcmUocGFnZSk7Ci0gICAgR2Vv
bG9jYXRpb25DbGllbnRNb2NrKiBtb2NrQ2xpZW50ID0gdG9HZW9sb2NhdGlvbkNsaWVudE1vY2so
R2VvbG9jYXRpb25Db250cm9sbGVyOjpmcm9tKGNvcmVQYWdlKS0+Y2xpZW50KCkpOworICAgIEdl
b2xvY2F0aW9uQ2xpZW50TW9jayogbW9ja0NsaWVudCA9IHRvR2VvbG9jYXRpb25DbGllbnRNb2Nr
KGNvcmVQYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+Y2xpZW50KCkpOwogICAgIHJldHVy
biBtb2NrQ2xpZW50LT5udW1iZXJPZlBlbmRpbmdQZXJtaXNzaW9uUmVxdWVzdHMoKTsKICNlbHNl
CiAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9HZW9sb2NhdGlvbkNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvR2VvbG9jYXRpb25DbGllbnRRdC5jcHAKaW5kZXggODU1MWNmOTA2NjMyZDE0NjE2MDEy
NmE0NWUwZmZkMzNjNTk1OWRjZC4uY2RhNWYzNTBiYTYyNWQ4YzUxMGMyOTMyZTJjZmJiOGMzNGM0
NTdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9HZW9sb2Nh
dGlvbkNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0dl
b2xvY2F0aW9uQ2xpZW50UXQuY3BwCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgR2VvbG9jYXRpb25D
bGllbnRRdDo6cG9zaXRpb25VcGRhdGVkKGNvbnN0IFFHZW9Qb3NpdGlvbkluZm8mIGdlb1Bvc2l0
aW9uKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
b3ZpZGVzSGVhZGluZywgaGVhZGluZywgcHJvdmlkZXNTcGVlZCwgc3BlZWQpOwogCiAgICAgV2Vi
Q29yZTo6UGFnZSogcGFnZSA9IFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShtX3BhZ2UpOwotICAgIEdl
b2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKS0+cG9zaXRpb25DaGFuZ2VkKG1fbGFzdFBv
c2l0aW9uLmdldCgpKTsKKyAgICBwYWdlLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+cG9zaXRp
b25DaGFuZ2VkKG1fbGFzdFBvc2l0aW9uLmdldCgpKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNs
aWVudFF0OjpzdGFydFVwZGF0aW5nKCkKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIEdlb2xvY2F0
aW9uQ2xpZW50UXQ6OnN0YXJ0VXBkYXRpbmcoKQogICAgIGlmICghbV9sb2NhdGlvbikgewogICAg
ICAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gUVdlYlBhZ2VQcml2YXRlOjpjb3JlKG1fcGFnZSk7
CiAgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpHZW9sb2NhdGlvbkVycm9yPiBlcnJvciA9IEdlb2xv
Y2F0aW9uRXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVycm9yOjpQb3NpdGlvblVuYXZhaWxhYmxl
LCBmYWlsZWRUb1N0YXJ0U2VydmljZUVycm9yTWVzc2FnZSk7Ci0gICAgICAgIEdlb2xvY2F0aW9u
Q29udHJvbGxlcjo6ZnJvbShwYWdlKS0+ZXJyb3JPY2N1cnJlZChlcnJvci5nZXQoKSk7CisgICAg
ICAgIHBhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGVycm9yLmdl
dCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBl
MWFiMGNjNmNjODc5MzZlMzNmYTAzYWZmMGVkMTNhYWYwM2NhYTVjLi5mMzQyZWJkZDkzY2NmMjZh
ZWY1MTdhYTUzMmZjOTUyYzY3OGQ4NTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtMjY2Niw4
ICsyNjY2LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0V2l0aEZy
YW1lKAogICAgIHBhZ2VDbGllbnRzLmVkaXRvckNsaWVudCA9IG5ldyBXZWJFZGl0b3JDbGllbnQo
dGhpcyk7CiAgICAgcGFnZUNsaWVudHMuZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHRo
aXMpOwogICAgIHBhZ2VDbGllbnRzLmluc3BlY3RvckNsaWVudCA9IG1faW5zcGVjdG9yQ2xpZW50
OworICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9uQ2xpZW50ID0gbmV3IFdlYkdlb2xvY2F0aW9u
Q2xpZW50KHRoaXMpOwogICAgIG1fcGFnZSA9IG5ldyBQYWdlKHBhZ2VDbGllbnRzKTsKLSAgICBw
cm92aWRlR2VvbG9jYXRpb25UbyhtX3BhZ2UsIG5ldyBXZWJHZW9sb2NhdGlvbkNsaWVudCh0aGlz
KSk7CiAKICAgICBCU1RSIGxvY2FsU3RvcmFnZVBhdGg7CiAgICAgaWYgKFNVQ0NFRURFRChtX3By
ZWZlcmVuY2VzLT5sb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgoJmxvY2FsU3RvcmFnZVBhdGgpKSkg
ewpAQCAtNjU2Niw3ICs2NTY2LDcgQEAgSFJFU1VMVCBXZWJWaWV3OjpnZW9sb2NhdGlvbkRpZENo
YW5nZVBvc2l0aW9uKElXZWJHZW9sb2NhdGlvblBvc2l0aW9uKiBwb3NpdGlvbikKIHsKICAgICBp
ZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKLSAgICBHZW9sb2NhdGlvbkNvbnRy
b2xsZXI6OmZyb20obV9wYWdlKS0+cG9zaXRpb25DaGFuZ2VkKGNvcmUocG9zaXRpb24pKTsKKyAg
ICBtX3BhZ2UtPmdlb2xvY2F0aW9uQ29udHJvbGxlcigpLT5wb3NpdGlvbkNoYW5nZWQoY29yZShw
b3NpdGlvbikpOwogICAgIHJldHVybiBTX09LOwogfQogCkBAIC02NTg0LDcgKzY1ODQsNyBAQCBI
UkVTVUxUIFdlYlZpZXc6Omdlb2xvY2F0aW9uRGlkRmFpbFdpdGhFcnJvcihJV2ViRXJyb3IqIGVy
cm9yKQogICAgIFN5c0ZyZWVTdHJpbmcoZGVzY3JpcHRpb25CU1RSKTsKIAogICAgIFJlZlB0cjxH
ZW9sb2NhdGlvbkVycm9yPiBnZW9sb2NhdGlvbkVycm9yID0gR2VvbG9jYXRpb25FcnJvcjo6Y3Jl
YXRlKEdlb2xvY2F0aW9uRXJyb3I6OlBvc2l0aW9uVW5hdmFpbGFibGUsIGRlc2NyaXB0aW9uU3Ry
aW5nKTsKLSAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20obV9wYWdlKS0+ZXJyb3JPY2N1
cnJlZChnZW9sb2NhdGlvbkVycm9yLmdldCgpKTsKKyAgICBtX3BhZ2UtPmdlb2xvY2F0aW9uQ29u
dHJvbGxlcigpLT5lcnJvck9jY3VycmVkKGdlb2xvY2F0aW9uRXJyb3IuZ2V0KCkpOwogICAgIHJl
dHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dl
b2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5jcHAKaW5kZXggMmI5NzY3
NjNmN2UxNjllZjhmYTcwNDEyZDA2NGFkNGE4ZDJlZDc0YS4uNjBiODFkMTI0MzRlMWQ4MjhmNGVh
MzFkODVjOWQ4OWUxMWM2MDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLmNwcApAQCAt
ODEsNyArODEsNyBAQCB2b2lkIFdlYkdlb2xvY2F0aW9uTWFuYWdlcjo6ZGlkQ2hhbmdlUG9zaXRp
b24oY29uc3QgV2ViR2VvbG9jYXRpb25Qb3NpdGlvbjo6RGF0YQogICAgIGZvciAoOyBpdCAhPSBl
bmQ7ICsraXQpIHsKICAgICAgICAgV2ViUGFnZSogcGFnZSA9ICppdDsKICAgICAgICAgaWYgKHBh
Z2UtPmNvcmVQYWdlKCkpCi0gICAgICAgICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20o
cGFnZS0+Y29yZVBhZ2UoKSktPnBvc2l0aW9uQ2hhbmdlZChwb3NpdGlvbi5nZXQoKSk7CisgICAg
ICAgICAgICBwYWdlLT5jb3JlUGFnZSgpLT5nZW9sb2NhdGlvbkNvbnRyb2xsZXIoKS0+cG9zaXRp
b25DaGFuZ2VkKHBvc2l0aW9uLmdldCgpKTsKICAgICB9CiAjZW5kaWYgLy8gRU5BQkxFKEdFT0xP
Q0FUSU9OKQogfQpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFdlYkdlb2xvY2F0aW9uTWFuYWdlcjo6
ZGlkRmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24oKQogICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQp
IHsKICAgICAgICAgV2ViUGFnZSogcGFnZSA9ICppdDsKICAgICAgICAgaWYgKHBhZ2UtPmNvcmVQ
YWdlKCkpCi0gICAgICAgICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZS0+Y29y
ZVBhZ2UoKSktPmVycm9yT2NjdXJyZWQoZXJyb3IuZ2V0KCkpOworICAgICAgICAgICAgcGFnZS0+
Y29yZVBhZ2UoKS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmVycm9yT2NjdXJyZWQoZXJyb3Iu
Z2V0KCkpOwogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJT04pCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCmluZGV4IGM2MGEzMGJhZjJmNDRjNTgwYmJmMDg3ZWUwZmRlZjhjZjBiNGYw
YTkuLjQyZjg2NzQ4Mjk0NjdkMGY1YzFmZWY4ZWU4NWNhZWVlZmQ4ZDZkNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCkBAIC0xOTgsNyArMTk4LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0
R2VvTG9jYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wK
ICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAgICAgY29uc3QgSGFzaFNldDxQYWdlKj4mIHBhZ2Vz
ID0gUGFnZUdyb3VwOjpwYWdlR3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5wYWdlcygp
OwogICAgIGZvciAoSGFzaFNldDxQYWdlKj46Oml0ZXJhdG9yIGl0ZXIgPSBwYWdlcy5iZWdpbigp
OyBpdGVyICE9IHBhZ2VzLmVuZCgpOyArK2l0ZXIpCi0gICAgICAgIHN0YXRpY19jYXN0PEdlb2xv
Y2F0aW9uQ2xpZW50TW9jayo+KEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbSgqaXRlciktPmNs
aWVudCgpKS0+c2V0UGVybWlzc2lvbihlbmFibGVkKTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8R2Vv
bG9jYXRpb25DbGllbnRNb2NrKj4oKCppdGVyKS0+Z2VvbG9jYXRpb25Db250cm9sbGVyKCktPmNs
aWVudCgpKS0+c2V0UGVybWlzc2lvbihlbmFibGVkKTsKICNlbmRpZiAvLyBFTkFCTEUoR0VPTE9D
QVRJT04pCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAppbmRleCAwZGI3OWEyYzMxZTkxY2MwNzNmM2RiOTIwNGIyYzkwNDNiOTM0MjFjLi45Zjhm
YjhlMjQ2YjExYjQyMGRlZWYwYzhkMTljZDE2ZWMwMGE5MDA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yMzIsNyArMjMyLDcgQEAgV2Vi
UGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgcGFnZUNsaWVudHMuZHJhZ0NsaWVudCA9IG5ldyBXZWJE
cmFnQ2xpZW50KHRoaXMpOwogICAgIHBhZ2VDbGllbnRzLmJhY2tGb3J3YXJkQ2xpZW50ID0gV2Vi
QmFja0ZvcndhcmRMaXN0UHJveHk6OmNyZWF0ZSh0aGlzKTsKICNpZiBFTkFCTEUoR0VPTE9DQVRJ
T04pCi0gICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8obV9wYWdlLmdldCgpLCBuZXcg
V2ViR2VvbG9jYXRpb25DbGllbnQodGhpcykpOworICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9u
Q2xpZW50ID0gbmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHRoaXMpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGllbnQgPSBuZXcgV2Vi
SW5zcGVjdG9yQ2xpZW50KHRoaXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>