<?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>104212</bug_id>
          
          <creation_ts>2012-12-05 21:36:57 -0800</creation_ts>
          <short_desc>REGRESSION(r136784): This patch breaks chromium build. (Requested by tasak on #webkit).</short_desc>
          <delta_ts>2012-12-05 21:41:33 -0800</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>WONTFIX</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>103897</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>sky</cc>
    
    <cc>tasak</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>784572</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 21:36:57 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/136784 broke the build:
This patch breaks chromium build. (Requested by tasak 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>784574</commentid>
    <comment_count>1</comment_count>
      <attachid>177926</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 21:37:39 -0800</bug_when>
    <thetext>Created attachment 177926
ROLLOUT of r136784

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>784576</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-05 21:41:23 -0800</bug_when>
    <thetext>I confirmed that chromium code was updated. So we don&apos;t need to land this patch.
I will mark WONTFIX.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177926</attachid>
            <date>2012-12-05 21:37:39 -0800</date>
            <delta_ts>2012-12-05 21:41:33 -0800</delta_ts>
            <desc>ROLLOUT of r136784</desc>
            <filename>bug-104212-20121206054355.patch</filename>
            <type>text/plain</type>
            <size>71801</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2Nzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA1OWEzNjU0NmY0YzYy
OGI1MWU2MTM0ZGU3NzdkNTg4Y2ZkZDhjMzEzLi4yMjU2MGRkMzhlYWQ4ODRiODQ3ODEzZTBjY2Ew
MGU0OTM1ZDM2ZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0xMi0wNSAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzNjc4NC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMTM2Nzg0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDQyMTIKKworICAgICAgICBUaGlzIHBhdGNoIGJyZWFrcyBjaHJvbWl1
bSBidWlsZC4gKFJlcXVlc3RlZCBieSB0YXNhayBvbgorICAgICAgICAjd2Via2l0KS4KKworICAg
ICAgICAqIFBsYXRmb3JtLmd5cGk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL2xpbnV4L1dl
YlRoZW1lRW5naW5lLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlRo
ZW1lRW5naW5lKToKKyAgICAgICAgKFNjcm9sbGJhclRyYWNrRXh0cmFQYXJhbXMpOgorICAgICAg
ICAoQnV0dG9uRXh0cmFQYXJhbXMpOgorICAgICAgICAoVGV4dEZpZWxkRXh0cmFQYXJhbXMpOgor
ICAgICAgICAoTWVudUxpc3RFeHRyYVBhcmFtcyk6CisgICAgICAgIChTbGlkZXJFeHRyYVBhcmFt
cyk6CisgICAgICAgIChJbm5lclNwaW5CdXR0b25FeHRyYVBhcmFtcyk6CisgICAgICAgIChQcm9n
cmVzc0JhckV4dHJhUGFyYW1zKToKKyAgICAgICAgKFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6Omdl
dFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6cGFpbnQpOgorCiAyMDEy
LTEyLTA1ICBTY290dCBWaW9sZXQgIDxza3lAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gUmVtb3ZlIGxpbnV4IHRoZW1lIHJlbGF0ZWQgZmlsZXMgYW5kIHN3aXRjaCB0byBkZWZh
dWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZDRmNzY5ZWIxYzIzYmNkMDc1ZWEzN2ExMjU4YzdiZGY4M2E2NTA2
My4uZjA5YzRlZWU2NWNhYjIxOWFmNzMxNzI5ZWUyYWI3YjhmYzg1NzlkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDg1IEBACisyMDEyLTEyLTA1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTM2Nzg0
LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMzY3ODQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDIxMgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYnJlYWtzIGNocm9taXVtIGJ1aWxkLiAoUmVxdWVzdGVkIGJ5IHRhc2Fr
IG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1BsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4OjpzZXRTY3Jv
bGxiYXJDb2xvcnMpOgorICAgICAgICAoV2ViQ29yZTo6Y2xhbXApOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1UaGVtZUNocm9taXVtTGludXg6OnNhdHVyYXRlQW5kQnJpZ2h0ZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1UaGVtZUNocm9taXVtTGludXg6Om91dGxpbmVDb2xvcik6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRBcnJv
d0J1dHRvbik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1UaGVtZUNocm9t
aXVtTGludXguaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBsYXRmb3Jt
VGhlbWVDaHJvbWl1bUxpbnV4KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtVGhlbWVDaHJv
bWl1bUxpbnV4Ojp0aHVtYkluYWN0aXZlQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1UaGVtZUNocm9taXVtTGludXg6OnRodW1iQWN0aXZlQ29sb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1UaGVtZUNocm9taXVtTGludXg6OnRyYWNrQ29sb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1UaGVtZUNocm9taXVtTGludXg6OlBsYXRmb3JtVGhlbWVDaHJvbWl1bUxp
bnV4KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVt
TGludXguY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJh
clRoZW1lQ2hyb21pdW1MaW51eDo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRUcmFja1BpZWNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRCdXR0b24pOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4OjpwYWludFRodW1i
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1MaW51eDo6c2hvdWxk
Q2VudGVyT25UaHVtYik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVt
TGludXg6OmJ1dHRvblNpemUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bUxpbnV4OjptaW5pbXVtVGh1bWJMZW5ndGgpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1MaW51eC5oOiBBZGRlZC4KKyAgICAgICAgKFNjcm9s
bGJhclRoZW1lQ2hyb21pdW1MaW51eCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1BbmRyb2lkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21p
dW1BbmRyb2lkOjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bUxpbnV4LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmdldFdlYlRoZW1lU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bUxpbnV4OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnRoZW1lRm9yUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVt
TGludXg6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZUNocm9taXVtTGludXg6On5SZW5kZXJUaGVtZUNocm9taXVtTGludXgpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjpzeXN0ZW1Db2xvcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OmV4dHJhRGVmYXVsdFN0eWxl
U2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4Ojpjb250
cm9sU3VwcG9ydHNUaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVt
TGludXg6OmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjphY3RpdmVMaXN0Qm94U2VsZWN0aW9u
Rm9yZWdyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1M
aW51eDo6aW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6aW5hY3RpdmVMaXN0Qm94U2VsZWN0
aW9uRm9yZWdyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21p
dW1MaW51eDo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjpwbGF0Zm9ybUluYWN0aXZlU2Vs
ZWN0aW9uQmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hy
b21pdW1MaW51eDo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjpwbGF0Zm9ybUluYWN0aXZl
U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
Q2hyb21pdW1MaW51eDo6c2xpZGVyVGlja1NpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bUxpbnV4OjpzbGlkZXJUaWNrT2Zmc2V0RnJvbVRyYWNrQ2VudGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6YWRqdXN0U2xpZGVyVGh1
bWJTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6c3Vw
cG9ydHNDb250cm9sVGludHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1
bUxpbnV4OjpzZXRDYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bUxpbnV4OjpjYXJldEJsaW5rSW50ZXJ2YWxJbnRlcm5hbCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnNldFNlbGVjdGlvbkNvbG9ycyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnBhaW50Q2hlY2ti
b3gpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjpzZXRDaGVj
a2JveFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4Ojpw
YWludFJhZGlvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6
c2V0UmFkaW9TaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51
eDo6cGFpbnRCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxp
bnV4OjpwYWludFRleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9t
aXVtTGludXg6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVD
aHJvbWl1bUxpbnV4OjpwYWludFNsaWRlclRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRTbGlkZXJUaHVtYik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OmFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRJbm5lclNw
aW5CdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4Ojpw
YWludFByb2dyZXNzQmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1M
aW51eDo6c2hvdWxkT3BlblBpY2tlcldpdGhGNEtleSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1MaW51eC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4KToKKwogMjAxMi0xMi0wNSAgS2VudGFybyBI
YXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4XSBPcHRpbWl6ZSB2OFN0
cmluZygpIGZvciB1bmluaXRpYWxpemVkIERPTSBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDRmYWVhZjhhNGMzN2Q3OTU4N2M2ZjlmM2U3ZjVlNmFmZjNhYWQxN2UuLjgy
NTA0OWIxYTFhM2FlNzViZjQ0MDc0NmU2ZjJlODZlMzhlOTA2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMTItMDUgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMzY3ODQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEz
Njc4NAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
MjEyCisKKyAgICAgICAgVGhpcyBwYXRjaCBicmVha3MgY2hyb21pdW0gYnVpbGQuIChSZXF1ZXN0
ZWQgYnkgdGFzYWsgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lw
OgorICAgICAgICAqIHB1YmxpYy9saW51eC9XZWJSZW5kZXJUaGVtZS5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogcHVibGljL3BsYXRmb3JtL2xpbnV4L1dlYlRoZW1lRW5n
aW5lLmg6IEFkZGVkLgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRTY3JvbGxiYXJDb2xvcnMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6c2V0U2VsZWN0aW9uQ29sb3JzKToKKyAgICAgICAgKiBzcmMvbGludXgv
V2ViUmVuZGVyVGhlbWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OnNldENhcmV0QmxpbmtJbnRlcnZhbCk6CisKIDIwMTItMTItMDUgIEdyZWcgQmlsbG9j
ayAgPGdiaWxsb2NrQGdvb2dsZS5jb20+CiAKICAgICAgICAgQWRkIHJ1bnRpbWUgZW5hYmxlIGZv
ciB3ZWIgaW50ZW50cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBp
IGIvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKaW5kZXggYjk3NGQzODAzYmE5ZDZjOTY5
MWZhYzA0YmU0NjRkMjdmZDI5MmQ5ZS4uMzZlNDE1NmQ0MTk3NzNmNzkzYWNhOWFlMzc1OWE5YjY3
MzIxZmZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKKysrIGIv
U291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKQEAgLTE1Miw2ICsxNTIsNyBAQAogICAgICAg
ICAgICAgJ2Nocm9taXVtL3B1YmxpYy9saW51eC9XZWJGb250SW5mby5oJywKICAgICAgICAgICAg
ICdjaHJvbWl1bS9wdWJsaWMvbGludXgvV2ViRm9udFJlbmRlclN0eWxlLmgnLAogICAgICAgICAg
ICAgJ2Nocm9taXVtL3B1YmxpYy9saW51eC9XZWJTYW5kYm94U3VwcG9ydC5oJywKKyAgICAgICAg
ICAgICdjaHJvbWl1bS9wdWJsaWMvbGludXgvV2ViVGhlbWVFbmdpbmUuaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oJywKICAgICAgICAgICAg
ICdjaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlRoZW1lRW5naW5lLmgnLAogICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy93aW4vV2ViU2FuZGJveFN1cHBvcnQuaCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYlRoZW1lRW5naW5lLmggYi9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYlRoZW1lRW5naW5lLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjg0ZjI5MmQ3Zjg3OGUzMGVlMzQ5ODA4OWM4ZDk3NmMxNWU4MDQ0YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvbGludXgvV2ViVGhlbWVF
bmdpbmUuaApAQCAtMCwwICsxLDE1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViVGhlbWVFbmdpbmVfaAorI2RlZmlu
ZSBXZWJUaGVtZUVuZ2luZV9oCisKKyNpbmNsdWRlICIuLi9XZWJDYW52YXMuaCIKKyNpbmNsdWRl
ICIuLi9XZWJDb2xvci5oIgorI2luY2x1ZGUgIi4uL1dlYlNpemUuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK3N0cnVjdCBXZWJSZWN0OworCitjbGFzcyBXZWJUaGVtZUVuZ2luZSB7CitwdWJs
aWM6CisgICAgLy8gVGhlIFVJIHBhcnQgd2hpY2ggaXMgYmVpbmcgYWNjZXNzZWQuCisgICAgZW51
bSBQYXJ0IHsKKyAgICAgICAgLy8gU2Nyb2xsYmFyVGhlbWUgcGFydHMKKyAgICAgICAgUGFydFNj
cm9sbGJhckRvd25BcnJvdywKKyAgICAgICAgUGFydFNjcm9sbGJhckxlZnRBcnJvdywKKyAgICAg
ICAgUGFydFNjcm9sbGJhclJpZ2h0QXJyb3csCisgICAgICAgIFBhcnRTY3JvbGxiYXJVcEFycm93
LAorICAgICAgICBQYXJ0U2Nyb2xsYmFySG9yaXpvbnRhbFRodW1iLAorICAgICAgICBQYXJ0U2Ny
b2xsYmFyVmVydGljYWxUaHVtYiwKKyAgICAgICAgUGFydFNjcm9sbGJhckhvcml6b250YWxUcmFj
aywKKyAgICAgICAgUGFydFNjcm9sbGJhclZlcnRpY2FsVHJhY2ssCisKKyAgICAgICAgLy8gUmVu
ZGVyVGhlbWUgcGFydHMKKyAgICAgICAgUGFydENoZWNrYm94LAorICAgICAgICBQYXJ0UmFkaW8s
CisgICAgICAgIFBhcnRCdXR0b24sCisgICAgICAgIFBhcnRUZXh0RmllbGQsCisgICAgICAgIFBh
cnRNZW51TGlzdCwKKyAgICAgICAgUGFydFNsaWRlclRyYWNrLAorICAgICAgICBQYXJ0U2xpZGVy
VGh1bWIsCisgICAgICAgIFBhcnRJbm5lclNwaW5CdXR0b24sCisgICAgICAgIFBhcnRQcm9ncmVz
c0JhcgorICAgIH07CisKKyAgICAvLyBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgYXNzb2NpYXRl
ZCBQYXJ0LgorICAgIGVudW0gU3RhdGUgeworICAgICAgICBTdGF0ZURpc2FibGVkLAorICAgICAg
ICBTdGF0ZUhvdmVyLAorICAgICAgICBTdGF0ZU5vcm1hbCwKKyAgICAgICAgU3RhdGVQcmVzc2Vk
LAorICAgIH07CisKKyAgICAvLyBFeHRyYSBwYXJhbWV0ZXJzIGZvciBkcmF3aW5nIHRoZSBQYXJ0
U2Nyb2xsYmFySG9yaXpvbnRhbFRyYWNrIGFuZAorICAgIC8vIFBhcnRTY3JvbGxiYXJWZXJ0aWNh
bFRyYWNrLgorICAgIHN0cnVjdCBTY3JvbGxiYXJUcmFja0V4dHJhUGFyYW1zIHsKKyAgICAgICAg
Ly8gVGhlIGJvdW5kcyBvZiB0aGUgZW50aXJlIHRyYWNrLCBhcyBvcHBvc2VkIHRvIHRoZSBwYXJ0
IGJlaW5nIHBhaW50ZWQuCisgICAgICAgIGludCB0cmFja1g7CisgICAgICAgIGludCB0cmFja1k7
CisgICAgICAgIGludCB0cmFja1dpZHRoOworICAgICAgICBpbnQgdHJhY2tIZWlnaHQ7CisgICAg
fTsKKworICAgIC8vIEV4dHJhIHBhcmFtZXRlcnMgZm9yIFBhcnRDaGVja2JveCwgUGFydFB1c2hC
dXR0b24gYW5kIFBhcnRSYWRpby4KKyAgICBzdHJ1Y3QgQnV0dG9uRXh0cmFQYXJhbXMgeworICAg
ICAgICBib29sIGNoZWNrZWQ7CisgICAgICAgIGJvb2wgaW5kZXRlcm1pbmF0ZTsgLy8gV2hldGhl
ciB0aGUgYnV0dG9uIHN0YXRlIGlzIGluZGV0ZXJtaW5hdGUuCisgICAgICAgIGJvb2wgaXNEZWZh
dWx0OyAvLyBXaGV0aGVyIHRoZSBidXR0b24gaXMgZGVmYXVsdCBidXR0b24uCisgICAgICAgIGJv
b2wgaGFzQm9yZGVyOworICAgICAgICBXZWJDb2xvciBiYWNrZ3JvdW5kQ29sb3I7CisgICAgfTsK
KworICAgIC8vIEV4dHJhIHBhcmFtZXRlcnMgZm9yIFBhcnRUZXh0RmllbGQKKyAgICBzdHJ1Y3Qg
VGV4dEZpZWxkRXh0cmFQYXJhbXMgeworICAgICAgICBib29sIGlzVGV4dEFyZWE7CisgICAgICAg
IGJvb2wgaXNMaXN0Ym94OworICAgICAgICBXZWJDb2xvciBiYWNrZ3JvdW5kQ29sb3I7CisgICAg
fTsKKworICAgIC8vIEV4dHJhIHBhcmFtZXRlcnMgZm9yIFBhcnRNZW51TGlzdAorICAgIHN0cnVj
dCBNZW51TGlzdEV4dHJhUGFyYW1zIHsKKyAgICAgICAgYm9vbCBoYXNCb3JkZXI7CisgICAgICAg
IGJvb2wgaGFzQm9yZGVyUmFkaXVzOworICAgICAgICBpbnQgYXJyb3dYOworICAgICAgICBpbnQg
YXJyb3dZOworICAgICAgICBXZWJDb2xvciBiYWNrZ3JvdW5kQ29sb3I7CisgICAgfTsKKworICAg
IC8vIEV4dHJhIHBhcmFtZXRlcnMgZm9yIFBhcnRTbGlkZXJUcmFjayBhbmQgUGFydFNsaWRlclRo
dW1iCisgICAgc3RydWN0IFNsaWRlckV4dHJhUGFyYW1zIHsKKyAgICAgICAgYm9vbCB2ZXJ0aWNh
bDsKKyAgICAgICAgYm9vbCBpbkRyYWc7CisgICAgfTsKKworICAgIC8vIEV4dHJhIHBhcmFtZXRl
cnMgZm9yIFBhcnRJbm5lclNwaW5CdXR0b24KKyAgICBzdHJ1Y3QgSW5uZXJTcGluQnV0dG9uRXh0
cmFQYXJhbXMgeworICAgICAgICBib29sIHNwaW5VcDsKKyAgICAgICAgYm9vbCByZWFkT25seTsK
KyAgICB9OworCisgICAgLy8gRXh0cmEgcGFyYW1ldGVycyBmb3IgUGFydFByb2dyZXNzQmFyCisg
ICAgc3RydWN0IFByb2dyZXNzQmFyRXh0cmFQYXJhbXMgeworICAgICAgICBib29sIGRldGVybWlu
YXRlOworICAgICAgICBpbnQgdmFsdWVSZWN0WDsKKyAgICAgICAgaW50IHZhbHVlUmVjdFk7Cisg
ICAgICAgIGludCB2YWx1ZVJlY3RXaWR0aDsKKyAgICAgICAgaW50IHZhbHVlUmVjdEhlaWdodDsK
KyAgICB9OworCisgICAgdW5pb24gRXh0cmFQYXJhbXMgeworICAgICAgICBTY3JvbGxiYXJUcmFj
a0V4dHJhUGFyYW1zIHNjcm9sbGJhclRyYWNrOworICAgICAgICBCdXR0b25FeHRyYVBhcmFtcyBi
dXR0b247CisgICAgICAgIFRleHRGaWVsZEV4dHJhUGFyYW1zIHRleHRGaWVsZDsKKyAgICAgICAg
TWVudUxpc3RFeHRyYVBhcmFtcyBtZW51TGlzdDsKKyAgICAgICAgU2xpZGVyRXh0cmFQYXJhbXMg
c2xpZGVyOworICAgICAgICBJbm5lclNwaW5CdXR0b25FeHRyYVBhcmFtcyBpbm5lclNwaW47Cisg
ICAgICAgIFByb2dyZXNzQmFyRXh0cmFQYXJhbXMgcHJvZ3Jlc3NCYXI7CisgICAgfTsKKworICAg
IC8vIEdldHMgdGhlIHNpemUgb2YgdGhlIGdpdmVuIHRoZW1lIHBhcnQuIEZvciB2YXJpYWJsZSBz
aXplZCBpdGVtcworICAgIC8vIGxpa2UgdmVydGljYWwgc2Nyb2xsYmFyIHRodW1icywgdGhlIHdp
ZHRoIHdpbGwgYmUgdGhlIHJlcXVpcmVkIHdpZHRoIG9mCisgICAgLy8gdGhlIHRyYWNrIHdoaWxl
IHRoZSBoZWlnaHQgd2lsbCBiZSB0aGUgbWluaW11bSBoZWlnaHQuCisgICAgdmlydHVhbCBXZWJT
aXplIGdldFNpemUoUGFydCkgeyByZXR1cm4gV2ViU2l6ZSgpOyB9CisgICAgLy8gUGFpbnQgdGhl
IGdpdmVuIHRoZSBnaXZlbiB0aGVtZSBwYXJ0LgorICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJD
YW52YXMqLCBQYXJ0LCBTdGF0ZSwgY29uc3QgV2ViUmVjdCYsIGNvbnN0IEV4dHJhUGFyYW1zKikg
eyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDQ5NmI4NmQ0MTgxMGMzZTFmOGNkM2VjZDBkYTY2
ZmQ0NzFmNTM2YjUuLmY3YjM1MWY5OGEwMTJjMmUwNTkxOGE1NGRjZDFkMTEzYTFhYjYwZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xNzAwLDEyICsxNzAwLDE3
IEBACiAgICAgICAgIH1dLAogICAgICAgICBbJ3VzZV9kZWZhdWx0X3JlbmRlcl90aGVtZT09MScs
IHsKICAgICAgICAgICAnc291cmNlcy8nOiBbCisgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxh
dGZvcm0vY2hyb21pdW0vUGxhdGZvcm1UaGVtZUNocm9taXVtTGludXguaCddLAorICAgICAgICAg
ICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtVGhlbWVDaHJvbWl1bUxp
bnV4LmNwcCddLAogICAgICAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtVGhlbWVDaHJvbWl1bVdpbi5oJ10sCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxh
dGZvcm0vY2hyb21pdW0vUGxhdGZvcm1UaGVtZUNocm9taXVtV2luLmNwcCddLAorICAgICAgICAg
ICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1M
aW51eC5jcHAnXSwKKyAgICAgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9jaHJvbWl1bS9T
Y3JvbGxiYXJUaGVtZUNocm9taXVtTGludXguaCddLAogICAgICAgICAgICAgWydleGNsdWRlJywg
J3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1XaW4uY3BwJ10sCiAgICAg
ICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bVdpbi5oJ10sCiAgICAgICAgICAgXSwKLSAgICAgICAgfSwgeyAjIHVzZV9kZWZhdWx0X3Jl
bmRlcl90aGVtZT09MAorICAgICAgICB9XSwKKyAgICAgICAgWyd1c2VfZGVmYXVsdF9yZW5kZXJf
dGhlbWU9PTAnLCB7CiAgICAgICAgICAgJ3NvdXJjZXMvJzogWwogICAgICAgICAgICAgWydleGNs
dWRlJywgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtVGhlbWVDaHJvbWl1bURlZmF1bHQuY3Bw
J10sCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1U
aGVtZUNocm9taXVtRGVmYXVsdC5oJ10sCkBAIC0yMDA4LDYgKzIwMTMsNyBAQAogICAgICAgICB9
XSwKICAgICAgICAgWyd1c2VfZGVmYXVsdF9yZW5kZXJfdGhlbWU9PTEnLCB7CiAgICAgICAgICAg
J3NvdXJjZXMvJzogWworICAgICAgICAgICAgWydleGNsdWRlJywgJ1JlbmRlclRoZW1lQ2hyb21p
dW1MaW51eC4qJ10sCiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnUmVuZGVyVGhlbWVDaHJvbWl1
bVdpbi4qJ10sCiAgICAgICAgICAgXSwKICAgICAgICAgfV0sCkBAIC0yMDU0LDcgKzIwNjAsNyBA
QAogICAgICAgICBbJ09TPT0iYW5kcm9pZCInLCB7CiAgICAgICAgICAgJ3NvdXJjZXMvJzogWwog
ICAgICAgICAgICAgWydpbmNsdWRlJywgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtRm9u
dFByb3ZpZGVyTGludXhcXC5jcHAkJ10sCi0gICAgICAgICAgICBbJ2luY2x1ZGUnLCAncmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1EZWZhdWx0XFwuY3BwJCddLAorICAgICAgICAgICAgWydp
bmNsdWRlJywgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTGludXhcXC5jcHAkJ10sCiAg
ICAgICAgICAgXSwKICAgICAgICAgfSx7ICMgT1MhPSJhbmRyb2lkIgogICAgICAgICAgICdzb3Vy
Y2VzLyc6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhOTNhZjVlNTcwNjU4Y2M4YjVhMDY0YWMwZGMw
N2RmM2FkYzlhM2MzLi4wMGJkMTVmZDU3MmI1YWExMDQxMDMxMzRlY2VhNDgwZTJkMzJmMTQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0zNDY1LDYgKzM0NjUsOCBAQAogICAgICAgICAgICAgJ3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtRm9udFByb3ZpZGVyLmgnLAogICAgICAgICAgICAgJ3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtRm9udFByb3ZpZGVyTGludXguY3BwJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUZvbnRQcm92aWRlcldpbi5jcHAn
LAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTGludXguY3BwJywK
KyAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4LmgnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwJywKQEAgLTQ2ODIsNiArNDY4NCw4
IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtVGhlbWVDaHJvbWl1bURlZmF1
bHQuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVRoZW1lQ2hy
b21pdW1EZWZhdWx0LmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3Jt
VGhlbWVDaHJvbWl1bUxpbnV4LmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0v
UGxhdGZvcm1UaGVtZUNocm9taXVtTGludXguaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hy
b21pdW0vUGxhdGZvcm1XaWRnZXQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0v
UG9wdXBDb250YWluZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cENvbnRhaW5lci5oJywKQEAgLTQ3MDAsNiArNDcwNCw4IEBACiAgICAgICAgICAgICAncGxhdGZv
cm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bURlZmF1bHQuY3BwJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtRGVm
YXVsdC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNo
cm9taXVtTGludXguY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxi
YXJUaGVtZUNocm9taXVtTGludXguaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0v
U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bU1hYy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJv
bWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTWFjLm1tJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtV2luLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVRoZW1lQ2hyb21pdW1MaW51
eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVRoZW1lQ2hy
b21pdW1MaW51eC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBjYzY0YmE5NmVlMjQ0NTZmYjIxNWVhNDJjZmU1
YTI3ZTgzODBmNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4LmNwcApAQCAtMCwwICsxLDIyMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVRoZW1lQ2hyb21pdW1MaW51eC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Vuc2lnbmVkIFBsYXRmb3JtVGhlbWVDaHJvbWl1
bUxpbnV4OjpzX3RodW1iSW5hY3RpdmVDb2xvciA9IDB4ZWFlYWVhOwordW5zaWduZWQgUGxhdGZv
cm1UaGVtZUNocm9taXVtTGludXg6OnNfdGh1bWJBY3RpdmVDb2xvciA9IDB4ZjRmNGY0OwordW5z
aWduZWQgUGxhdGZvcm1UaGVtZUNocm9taXVtTGludXg6OnNfdHJhY2tDb2xvciA9IDB4ZDNkM2Qz
OworCit2b2lkIFBsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4OjpzZXRTY3JvbGxiYXJDb2xvcnMo
CisgICAgU2tDb2xvciBpbmFjdGl2ZUNvbG9yLCBTa0NvbG9yIGFjdGl2ZUNvbG9yLCBTa0NvbG9y
IHRyYWNrQ29sb3IpCit7CisgICAgc190aHVtYkluYWN0aXZlQ29sb3IgPSBpbmFjdGl2ZUNvbG9y
OworICAgIHNfdGh1bWJBY3RpdmVDb2xvciA9IGFjdGl2ZUNvbG9yOworICAgIHNfdHJhY2tDb2xv
ciA9IHRyYWNrQ29sb3I7Cit9CisKK3N0YXRpYyBTa1NjYWxhciBjbGFtcChTa1NjYWxhciB2YWx1
ZSwgU2tTY2FsYXIgbWluLCBTa1NjYWxhciBtYXgpCit7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0
ZDo6bWF4KHZhbHVlLCBtaW4pLCBtYXgpOworfQorCitTa0NvbG9yIFBsYXRmb3JtVGhlbWVDaHJv
bWl1bUxpbnV4OjpzYXR1cmF0ZUFuZEJyaWdodGVuKGNvbnN0IFNrU2NhbGFyIGhzdlszXSwgU2tT
Y2FsYXIgc2F0dXJhdGVBbW91bnQsIFNrU2NhbGFyIGJyaWdodGVuQW1vdW50KQoreworICAgIFNr
U2NhbGFyIGNvbG9yWzNdOworICAgIGNvbG9yWzBdID0gaHN2WzBdOworICAgIGNvbG9yWzFdID0g
Y2xhbXAoaHN2WzFdICsgc2F0dXJhdGVBbW91bnQsIDAuMCwgMS4wKTsKKyAgICBjb2xvclsyXSA9
IGNsYW1wKGhzdlsyXSArIGJyaWdodGVuQW1vdW50LCAwLjAsIDEuMCk7CisgICAgcmV0dXJuIFNr
SFNWVG9Db2xvcihjb2xvcik7Cit9CisKK1NrQ29sb3IgUGxhdGZvcm1UaGVtZUNocm9taXVtTGlu
dXg6Om91dGxpbmVDb2xvcihjb25zdCBTa1NjYWxhciBoc3YxWzNdLCBjb25zdCBTa1NjYWxhciBo
c3YyWzNdKQoreworICAgIC8vIEdUSyBUaGVtZSBlbmdpbmVzIGhhdmUgd2F5IHRvbyBtdWNoIGNv
bnRyb2wgb3ZlciB0aGUgbGF5b3V0IG9mCisgICAgLy8gdGhlIHNjcm9sbGJhci4gV2UgbWlnaHQg
YmUgYWJsZSB0byBtb3JlIGNsb3NlbHkgYXBwcm94aW1hdGUgaXRzCisgICAgLy8gbG9vay1hbmQt
ZmVlbCwgaWYgd2Ugc2VudCB3aG9sZSBpbWFnZXMgaW5zdGVhZCBvZiBqdXN0IGNvbG9ycworICAg
IC8vIGZyb20gdGhlIGJyb3dzZXIgdG8gdGhlIHJlbmRlcmVyLiBCdXQgZXZlbiB0aGVuLCBzb21l
IHRoZW1lcworICAgIC8vIHdvdWxkIGp1c3QgYnJlYWsuCisgICAgLy8KKyAgICAvLyBTbywgaW5z
dGVhZCwgd2UgZG9uJ3QgZXZlbiB0cnkgdG8gMTAwJSByZXBsaWNhdGUgdGhlIGxvb2sgb2YKKyAg
ICAvLyB0aGUgbmF0aXZlIHNjcm9sbGJhci4gV2UgcmVuZGVyIG91ciBvd24gdmVyc2lvbiwgYnV0
IHdlIG1ha2UKKyAgICAvLyBzdXJlIHRvIHBpY2sgY29sb3JzIHRoYXQgYmxlbmQgaW4gbmljZWx5
IHdpdGggdGhlIHN5c3RlbSBHVEsKKyAgICAvLyB0aGVtZS4gSW4gbW9zdCBjYXNlcywgd2UgY2Fu
IGp1c3Qgc2FtcGxlIGEgY291cGxlIG9mIHBpeGVscworICAgIC8vIGZyb20gdGhlIHN5c3RlbSBz
Y3JvbGxiYXIgYW5kIHVzZSB0aG9zZSBjb2xvcnMgdG8gZHJhdyBvdXIKKyAgICAvLyBzY3JvbGxi
YXIuCisgICAgLy8KKyAgICAvLyBUaGlzIHdvcmtzIGZpbmUgZm9yIHRoZSB0cmFjayBjb2xvciBh
bmQgdGhlIG92ZXJhbGwgdGh1bWIKKyAgICAvLyBjb2xvci4gQnV0IGl0IGZhaWxzIHNwZWN0YWN1
bGFybHkgZm9yIHRoZSBvdXRsaW5lIGNvbG9yIHVzZWQKKyAgICAvLyBhcm91bmQgdGhlIHRodW1i
IHBpZWNlLiBOb3QgYWxsIHRoZW1lcyBoYXZlIGEgY2xlYXJseSBkZWZpbmVkCisgICAgLy8gb3V0
bGluZS4gRm9yIHNvbWUgb2YgdGhlbSBpdCBpcyBwYXJ0aWFsbHkgdHJhbnNwYXJlbnQsIGFuZCBm
b3IKKyAgICAvLyBvdGhlcnMgdGhlIHRoaWNrbmVzcyBpcyB2ZXJ5IHVucHJlZGljdGFibGUuCisg
ICAgLy8KKyAgICAvLyBTbywgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYXBwcm94aW1hdGUgdGhlIHN5
c3RlbSB0aGVtZSwgd2UKKyAgICAvLyBpbnN0ZWFkIHRyeSB0byBjb21wdXRlIGEgcmVhc29uYWJs
ZSBsb29raW5nIGNob2ljZSBiYXNlZCBvbiB0aGUKKyAgICAvLyBrbm93biBjb2xvciBvZiB0aGUg
dHJhY2sgYW5kIHRoZSB0aHVtYiBwaWVjZS4gVGhpcyBpcyBkaWZmaWN1bHQKKyAgICAvLyB3aGVu
IHRyeWluZyB0byBkZWFsIGJvdGggd2l0aCBoaWdoLSBhbmQgbG93LWNvbnRyYXN0IHRoZW1lcywK
KyAgICAvLyBhbmQgYm90aCB3aXRoIHBvc2l0aXZlIGFuZCBpbnZlcnRlZCB0aGVtZXMuCisgICAg
Ly8KKyAgICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gdGVzdGVkIHRvIGxvb2sgT0sg
d2l0aCBhbGwgb2YgdGhlCisgICAgLy8gZGVmYXVsdCBHVEsgdGhlbWVzLgorICAgIFNrU2NhbGFy
IG1pbkRpZmYgPSBjbGFtcCgoaHN2MVsxXSArIGhzdjJbMV0pICogMS4yLCAwLjI4LCAwLjUpOwor
ICAgIFNrU2NhbGFyIGRpZmYgPSBjbGFtcChmYWJzKGhzdjFbMl0gLSBoc3YyWzJdKSAvIDIsIG1p
bkRpZmYsIDAuNSk7CisKKyAgICBpZiAoaHN2MVsyXSArIGhzdjJbMl0gPiAxLjApCisgICAgICAg
IGRpZmYgPSAtZGlmZjsKKworICAgIHJldHVybiBzYXR1cmF0ZUFuZEJyaWdodGVuKGhzdjIsIC0w
LjIsIGRpZmYpOworfQorCit2b2lkIFBsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4OjpwYWludEFy
cm93QnV0dG9uKEdyYXBoaWNzQ29udGV4dCogZ2MsIGNvbnN0IEludFJlY3QmIHJlY3QsIEFycm93
RGlyZWN0aW9uIGRpcmVjdGlvbiwgQ29udHJvbFN0YXRlcyBzdGF0ZXMpCit7CisgICAgUGxhdGZv
cm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0ID0gZ2MtPnBsYXRmb3JtQ29udGV4dCgpOwor
ICAgIGludCB3aWR0aE1pZGRsZSwgbGVuZ3RoTWlkZGxlOworICAgIFNrUGFpbnQgcGFpbnQ7Cisg
ICAgaWYgKGRpcmVjdGlvbiA9PSBOb3J0aCB8fCBkaXJlY3Rpb24gPT0gU291dGgpIHsKKyAgICAg
ICAgd2lkdGhNaWRkbGUgPSByZWN0LndpZHRoKCkgLyAyICsgMTsKKyAgICAgICAgbGVuZ3RoTWlk
ZGxlID0gcmVjdC5oZWlnaHQoKSAvIDIgKyAxOworICAgIH0gZWxzZSB7CisgICAgICAgIGxlbmd0
aE1pZGRsZSA9IHJlY3Qud2lkdGgoKSAvIDIgKyAxOworICAgICAgICB3aWR0aE1pZGRsZSA9IHJl
Y3QuaGVpZ2h0KCkgLyAyICsgMTsKKyAgICB9CisKKyAgICAvLyBDYWxjdWxhdGUgYnV0dG9uIGNv
bG9yLgorICAgIFNrU2NhbGFyIHRyYWNrSFNWWzNdOworICAgIFNrQ29sb3JUb0hTVih0cmFja0Nv
bG9yKCksIHRyYWNrSFNWKTsKKyAgICBTa0NvbG9yIGJ1dHRvbkNvbG9yID0gc2F0dXJhdGVBbmRC
cmlnaHRlbih0cmFja0hTViwgMCwgMC4yKTsKKyAgICBTa0NvbG9yIGJhY2tncm91bmRDb2xvciA9
IGJ1dHRvbkNvbG9yOworICAgIGlmIChzdGF0ZXMgJiBQcmVzc2VkU3RhdGUpIHsKKyAgICAgICAg
U2tTY2FsYXIgYnV0dG9uSFNWWzNdOworICAgICAgICBTa0NvbG9yVG9IU1YoYnV0dG9uQ29sb3Is
IGJ1dHRvbkhTVik7CisgICAgICAgIGJ1dHRvbkNvbG9yID0gc2F0dXJhdGVBbmRCcmlnaHRlbihi
dXR0b25IU1YsIDAsIC0wLjEpOworICAgIH0gZWxzZSBpZiAoc3RhdGVzICYgSG92ZXJTdGF0ZSkg
eworICAgICAgICBTa1NjYWxhciBidXR0b25IU1ZbM107CisgICAgICAgIFNrQ29sb3JUb0hTVihi
dXR0b25Db2xvciwgYnV0dG9uSFNWKTsKKyAgICAgICAgYnV0dG9uQ29sb3IgPSBzYXR1cmF0ZUFu
ZEJyaWdodGVuKGJ1dHRvbkhTViwgMCwgMC4wNSk7CisgICAgfQorCisgICAgU2tJUmVjdCBza3Jl
Y3Q7CisgICAgc2tyZWN0LnNldChyZWN0LngoKSwgcmVjdC55KCksIHJlY3QueCgpICsgcmVjdC53
aWR0aCgpLCByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkpOworICAgIC8vIFBhaW50IHRoZSBiYWNr
Z3JvdW5kICh0aGUgYXJlYSB2aXNpYmxlIGJlaGluZCB0aGUgcm91bmRlZCBjb3JuZXJzKS4KKyAg
ICBwYWludC5zZXRDb2xvcihiYWNrZ3JvdW5kQ29sb3IpOworICAgIHBsYXRmb3JtQ29udGV4dC0+
ZHJhd0lSZWN0KHNrcmVjdCwgcGFpbnQpOworCisgICAgLy8gUGFpbnQgdGhlIGJ1dHRvbidzIG91
dGxpbmUgYW5kIGZpbGwgdGhlIG1pZGRsZQorICAgIFNrUGF0aCBvdXRsaW5lOworICAgIHN3aXRj
aCAoZGlyZWN0aW9uKSB7CisgICAgY2FzZSBOb3J0aDoKKyAgICAgICAgb3V0bGluZS5tb3ZlVG8o
cmVjdC54KCkgKyAwLjUsIHJlY3QueSgpICsgcmVjdC5oZWlnaHQoKSArIDAuNSk7CisgICAgICAg
IG91dGxpbmUuckxpbmVUbygwLCAtKHJlY3QuaGVpZ2h0KCkgLSAyKSk7CisgICAgICAgIG91dGxp
bmUuckxpbmVUbygyLCAtMik7CisgICAgICAgIG91dGxpbmUuckxpbmVUbyhyZWN0LndpZHRoKCkg
LSA1LCAwKTsKKyAgICAgICAgb3V0bGluZS5yTGluZVRvKDIsIDIpOworICAgICAgICBvdXRsaW5l
LnJMaW5lVG8oMCwgcmVjdC5oZWlnaHQoKSAtIDIpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFNvdXRoOgorICAgICAgICBvdXRsaW5lLm1vdmVUbyhyZWN0LngoKSArIDAuNSwgcmVjdC55KCkg
LSAwLjUpOworICAgICAgICBvdXRsaW5lLnJMaW5lVG8oMCwgcmVjdC5oZWlnaHQoKSAtIDIpOwor
ICAgICAgICBvdXRsaW5lLnJMaW5lVG8oMiwgMik7CisgICAgICAgIG91dGxpbmUuckxpbmVUbyhy
ZWN0LndpZHRoKCkgLSA1LCAwKTsKKyAgICAgICAgb3V0bGluZS5yTGluZVRvKDIsIC0yKTsKKyAg
ICAgICAgb3V0bGluZS5yTGluZVRvKDAsIC0ocmVjdC5oZWlnaHQoKSAtIDIpKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBFYXN0OgorICAgICAgICBvdXRsaW5lLm1vdmVUbyhyZWN0LngoKSAt
IDAuNSwgcmVjdC55KCkgKyAwLjUpOworICAgICAgICBvdXRsaW5lLnJMaW5lVG8ocmVjdC53aWR0
aCgpIC0gMiwgMCk7CisgICAgICAgIG91dGxpbmUuckxpbmVUbygyLCAyKTsKKyAgICAgICAgb3V0
bGluZS5yTGluZVRvKDAsIHJlY3QuaGVpZ2h0KCkgLSA1KTsKKyAgICAgICAgb3V0bGluZS5yTGlu
ZVRvKC0yLCAyKTsKKyAgICAgICAgb3V0bGluZS5yTGluZVRvKC0ocmVjdC53aWR0aCgpIC0gMiks
IDApOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlc3Q6CisgICAgICAgIG91dGxpbmUubW92
ZVRvKHJlY3QueCgpICsgcmVjdC53aWR0aCgpICsgMC41LCByZWN0LnkoKSArIDAuNSk7CisgICAg
ICAgIG91dGxpbmUuckxpbmVUbygtKHJlY3Qud2lkdGgoKSAtIDIpLCAwKTsKKyAgICAgICAgb3V0
bGluZS5yTGluZVRvKC0yLCAyKTsKKyAgICAgICAgb3V0bGluZS5yTGluZVRvKDAsIHJlY3QuaGVp
Z2h0KCkgLSA1KTsKKyAgICAgICAgb3V0bGluZS5yTGluZVRvKDIsIDIpOworICAgICAgICBvdXRs
aW5lLnJMaW5lVG8ocmVjdC53aWR0aCgpIC0gMiwgMCk7CisgICAgICAgIGJyZWFrOworICAgIH0K
KyAgICBvdXRsaW5lLmNsb3NlKCk7CisKKyAgICBwYWludC5zZXRTdHlsZShTa1BhaW50OjprRmls
bF9TdHlsZSk7CisgICAgcGFpbnQuc2V0Q29sb3IoYnV0dG9uQ29sb3IpOworICAgIHBsYXRmb3Jt
Q29udGV4dC0+ZHJhd1BhdGgob3V0bGluZSwgcGFpbnQpOworCisgICAgcGFpbnQuc2V0QW50aUFs
aWFzKHRydWUpOworICAgIHBhaW50LnNldFN0eWxlKFNrUGFpbnQ6OmtTdHJva2VfU3R5bGUpOwor
ICAgIFNrU2NhbGFyIHRodW1iSFNWWzNdOworICAgIFNrQ29sb3JUb0hTVih0aHVtYkluYWN0aXZl
Q29sb3IoKSwgdGh1bWJIU1YpOworICAgIHBhaW50LnNldENvbG9yKG91dGxpbmVDb2xvcih0cmFj
a0hTViwgdGh1bWJIU1YpKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQtPmRyYXdQYXRoKG91dGxpbmUs
IHBhaW50KTsKKworICAgIC8vIElmIHRoZSBidXR0b24gaXMgZGlzYWJsZWQgb3IgcmVhZC1vbmx5
LCB0aGUgYXJyb3cgaXMgZHJhd24gd2l0aCB0aGUgb3V0bGluZSBjb2xvci4KKyAgICBpZiAoc3Rh
dGVzICYgRW5hYmxlZFN0YXRlICYmICEoc3RhdGVzICYgUmVhZE9ubHlTdGF0ZSkpCisgICAgICAg
IHBhaW50LnNldENvbG9yKFNLX0NvbG9yQkxBQ0spOworCisgICAgcGFpbnQuc2V0QW50aUFsaWFz
KGZhbHNlKTsKKyAgICBwYWludC5zZXRTdHlsZShTa1BhaW50OjprRmlsbF9TdHlsZSk7CisKKyAg
ICBTa1BhdGggcGF0aDsKKyAgICAvLyBUaGUgY29uc3RhbnRzIGluIHRoaXMgYmxvY2sgb2YgY29k
ZSBhcmUgaGFuZC10YWlsb3JlZCB0byBwcm9kdWNlIGdvb2QKKyAgICAvLyBsb29raW5nIGFycm93
cyB3aXRob3V0IGFudGktYWxpYXNpbmcuCisgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKKyAgICBj
YXNlIE5vcnRoOgorICAgICAgICBwYXRoLm1vdmVUbyhyZWN0LngoKSArIHdpZHRoTWlkZGxlIC0g
NCwgcmVjdC55KCkgKyBsZW5ndGhNaWRkbGUgKyAyKTsKKyAgICAgICAgcGF0aC5yTGluZVRvKDcs
IDApOworICAgICAgICBwYXRoLnJMaW5lVG8oLTQsIC00KTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBTb3V0aDoKKyAgICAgICAgcGF0aC5tb3ZlVG8ocmVjdC54KCkgKyB3aWR0aE1pZGRsZSAt
IDQsIHJlY3QueSgpICsgbGVuZ3RoTWlkZGxlIC0gMyk7CisgICAgICAgIHBhdGguckxpbmVUbyg3
LCAwKTsKKyAgICAgICAgcGF0aC5yTGluZVRvKC00LCA0KTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBFYXN0OgorICAgICAgICBwYXRoLm1vdmVUbyhyZWN0LngoKSArIGxlbmd0aE1pZGRsZSAt
IDMsIHJlY3QueSgpICsgd2lkdGhNaWRkbGUgLSA0KTsKKyAgICAgICAgcGF0aC5yTGluZVRvKDAs
IDcpOworICAgICAgICBwYXRoLnJMaW5lVG8oNCwgLTQpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFdlc3Q6CisgICAgICAgIHBhdGgubW92ZVRvKHJlY3QueCgpICsgbGVuZ3RoTWlkZGxlICsg
MSwgcmVjdC55KCkgKyB3aWR0aE1pZGRsZSAtIDUpOworICAgICAgICBwYXRoLnJMaW5lVG8oMCwg
OSk7CisgICAgICAgIHBhdGguckxpbmVUbygtNCwgLTQpOworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgcGF0aC5jbG9zZSgpOworCisgICAgcGxhdGZvcm1Db250ZXh0LT5kcmF3UGF0aChwYXRo
LCBwYWludCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1UaGVtZUNocm9taXVtTGludXgu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtVGhlbWVDaHJvbWl1
bUxpbnV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzYWViNjQyOWU1MjkyMWRmYzFiNGYwYjVmYmZjMzVkZDY2
MWEzMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4LmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGxh
dGZvcm1UaGVtZUNocm9taXVtTGludXhfaAorI2RlZmluZSBQbGF0Zm9ybVRoZW1lQ2hyb21pdW1M
aW51eF9oCisKKyNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCisjaW5jbHVkZSAiU2tD
b2xvci5oIgorI2luY2x1ZGUgIlNrU2NhbGFyLmgiCisjaW5jbHVkZSAiVGhlbWVUeXBlcy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBsYXRmb3JtVGhlbWVDaHJvbWl1bUxpbnV4
IHsKK3B1YmxpYzoKKyAgICBlbnVtIEFycm93RGlyZWN0aW9uIHsKKyAgICAgICAgTm9ydGgsCisg
ICAgICAgIEVhc3QsCisgICAgICAgIFNvdXRoLAorICAgICAgICBXZXN0LAorICAgIH07CisKKyAg
ICBzdGF0aWMgdm9pZCBzZXRTY3JvbGxiYXJDb2xvcnModW5zaWduZWQgaW5hY3RpdmVDb2xvciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgYWN0aXZlQ29sb3Is
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHRyYWNrQ29sb3Ip
OworICAgIHN0YXRpYyB1bnNpZ25lZCB0aHVtYkluYWN0aXZlQ29sb3IoKSB7IHJldHVybiBzX3Ro
dW1iSW5hY3RpdmVDb2xvcjsgfQorICAgIHN0YXRpYyB1bnNpZ25lZCB0aHVtYkFjdGl2ZUNvbG9y
KCkgeyByZXR1cm4gc190aHVtYkFjdGl2ZUNvbG9yOyB9CisgICAgc3RhdGljIHVuc2lnbmVkIHRy
YWNrQ29sb3IoKSB7IHJldHVybiBzX3RyYWNrQ29sb3I7IH0KKworICAgIHN0YXRpYyBTa0NvbG9y
IHNhdHVyYXRlQW5kQnJpZ2h0ZW4oY29uc3QgU2tTY2FsYXIgaHN2WzNdLCBTa1NjYWxhciBzYXR1
cmF0ZUFtb3VudCwgU2tTY2FsYXIgYnJpZ2h0ZW5BbW91bnQpOworICAgIHN0YXRpYyBTa0NvbG9y
IG91dGxpbmVDb2xvcihjb25zdCBTa1NjYWxhciBoc3YxWzNdLCBjb25zdCBTa1NjYWxhciBoc3Yy
WzNdKTsKKyAgICBzdGF0aWMgdm9pZCBwYWludEFycm93QnV0dG9uKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEludFJlY3QmLCBBcnJvd0RpcmVjdGlvbiwgQ29udHJvbFN0YXRlcyk7CisKK3ByaXZh
dGU6CisgICAgUGxhdGZvcm1UaGVtZUNocm9taXVtTGludXgoKSB7IH0KKworICAgIHN0YXRpYyB1
bnNpZ25lZCBzX3RodW1iSW5hY3RpdmVDb2xvcjsKKyAgICBzdGF0aWMgdW5zaWduZWQgc190aHVt
YkFjdGl2ZUNvbG9yOworICAgIHN0YXRpYyB1bnNpZ25lZCBzX3RyYWNrQ29sb3I7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQbGF0Zm9ybVRoZW1lQ2hyb21pdW1M
aW51eF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3Jv
bGxiYXJUaGVtZUNocm9taXVtTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODhhNDA5
ZTVhYTc1OWYyZTg2MzZhOTcyMDcxZGQ1OGY3NmExNjdmCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4
LmNwcApAQCAtMCwwICsxLDE0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAwOCwgMjAwOSwg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4LmgiCisKKyNpbmNsdWRlICJQbGF0Zm9ybUNv
bnRleHRTa2lhLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAi
U2Nyb2xsYmFyLmgiCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8cHVi
bGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvbGludXgvV2ViVGhlbWVFbmdpbmUuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTY3JvbGxiYXJUaGVtZSogU2Nyb2xsYmFyVGhlbWU6
Om5hdGl2ZVRoZW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFNjcm9sbGJhclRoZW1l
Q2hyb21pdW1MaW51eCwgdGhlbWUsICgpKTsKKyAgICByZXR1cm4gJnRoZW1lOworfQorCitpbnQg
U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4OjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFy
Q29udHJvbFNpemUgY29udHJvbFNpemUpCit7CisgICAgLy8gSG9yaXogYW5kIFZlcnQgc2Nyb2xs
YmFycyBhcmUgdGhlIHNhbWUgdGhpY2tuZXNzLgorICAgIEludFNpemUgc2Nyb2xsYmFyU2l6ZSA9
IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+Z2V0U2l6ZShXZWJL
aXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0U2Nyb2xsYmFyVmVydGljYWxUcmFjayk7CisgICAgcmV0
dXJuIHNjcm9sbGJhclNpemUud2lkdGgoKTsKK30KKwordm9pZCBTY3JvbGxiYXJUaGVtZUNocm9t
aXVtTGludXg6OnBhaW50VHJhY2tQaWVjZShHcmFwaGljc0NvbnRleHQqIGdjLCBTY3JvbGxiYXJU
aGVtZUNsaWVudCogc2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0LCBTY3JvbGxiYXJQYXJ0
IHBhcnRUeXBlKQoreworICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlN0YXRlIHN0YXRlID0g
c2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpID09IHBhcnRUeXBlID8gV2ViS2l0OjpXZWJUaGVtZUVu
Z2luZTo6U3RhdGVIb3ZlciA6IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlN0YXRlTm9ybWFsOwor
ICAgIEludFJlY3QgYWxpZ25SZWN0ID0gdHJhY2tSZWN0KHNjcm9sbGJhciwgZmFsc2UpOworICAg
IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OkV4dHJhUGFyYW1zIGV4dHJhUGFyYW1zOworICAgIFdl
YktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygp
OworICAgIGV4dHJhUGFyYW1zLnNjcm9sbGJhclRyYWNrLnRyYWNrWCA9IGFsaWduUmVjdC54KCk7
CisgICAgZXh0cmFQYXJhbXMuc2Nyb2xsYmFyVHJhY2sudHJhY2tZID0gYWxpZ25SZWN0LnkoKTsK
KyAgICBleHRyYVBhcmFtcy5zY3JvbGxiYXJUcmFjay50cmFja1dpZHRoID0gYWxpZ25SZWN0Lndp
ZHRoKCk7CisgICAgZXh0cmFQYXJhbXMuc2Nyb2xsYmFyVHJhY2sudHJhY2tIZWlnaHQgPSBhbGln
blJlY3QuaGVpZ2h0KCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVu
Z2luZSgpLT5wYWludChjYW52YXMsIHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9u
dGFsU2Nyb2xsYmFyID8gV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydFNjcm9sbGJhckhvcml6
b250YWxUcmFjayA6IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlBhcnRTY3JvbGxiYXJWZXJ0aWNh
bFRyYWNrLCBzdGF0ZSwgV2ViS2l0OjpXZWJSZWN0KHJlY3QpLCAmZXh0cmFQYXJhbXMpOworfQor
Cit2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRCdXR0b24oR3JhcGhpY3ND
b250ZXh0KiBnYywgU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgY29uc3QgSW50UmVj
dCYgcmVjdCwgU2Nyb2xsYmFyUGFydCBwYXJ0KQoreworICAgIFdlYktpdDo6V2ViVGhlbWVFbmdp
bmU6OlBhcnQgcGFpbnRQYXJ0OworICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlN0YXRlIHN0
YXRlID0gV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6U3RhdGVOb3JtYWw7CisgICAgV2ViS2l0OjpX
ZWJDYW52YXMqIGNhbnZhcyA9IGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAg
Ym9vbCBjaGVja01pbiA9IGZhbHNlOworICAgIGJvb2wgY2hlY2tNYXggPSBmYWxzZTsKKyAgICBp
ZiAoc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIpIHsKKyAg
ICAgICAgaWYgKHBhcnQgPT0gQmFja0J1dHRvblN0YXJ0UGFydCkgeworICAgICAgICAgICAgcGFp
bnRQYXJ0ID0gV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydFNjcm9sbGJhckxlZnRBcnJvdzsK
KyAgICAgICAgICAgIGNoZWNrTWluID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHBhaW50UGFydCA9IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlBhcnRTY3JvbGxiYXJSaWdo
dEFycm93OworICAgICAgICAgICAgY2hlY2tNYXggPSB0cnVlOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKHBhcnQgPT0gQmFja0J1dHRvblN0YXJ0UGFydCkgeworICAgICAg
ICAgICAgcGFpbnRQYXJ0ID0gV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydFNjcm9sbGJhclVw
QXJyb3c7CisgICAgICAgICAgICBjaGVja01pbiA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBwYWludFBhcnQgPSBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0U2Nyb2xs
YmFyRG93bkFycm93OworICAgICAgICAgICAgY2hlY2tNYXggPSB0cnVlOworICAgICAgICB9Cisg
ICAgfQorICAgIGlmICgoY2hlY2tNaW4gJiYgKHNjcm9sbGJhci0+Y3VycmVudFBvcygpIDw9IDAp
KQorICAgICAgICB8fCAoY2hlY2tNYXggJiYgc2Nyb2xsYmFyLT5jdXJyZW50UG9zKCkgPT0gc2Ny
b2xsYmFyLT5tYXhpbXVtKCkpKSB7CisgICAgICAgIHN0YXRlID0gV2ViS2l0OjpXZWJUaGVtZUVu
Z2luZTo6U3RhdGVEaXNhYmxlZDsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAocGFydCA9PSBz
Y3JvbGxiYXItPnByZXNzZWRQYXJ0KCkpCisgICAgICAgICAgICBzdGF0ZSA9IFdlYktpdDo6V2Vi
VGhlbWVFbmdpbmU6OlN0YXRlUHJlc3NlZDsKKyAgICAgICAgZWxzZSBpZiAocGFydCA9PSBzY3Jv
bGxiYXItPmhvdmVyZWRQYXJ0KCkpCisgICAgICAgICAgICBzdGF0ZSA9IFdlYktpdDo6V2ViVGhl
bWVFbmdpbmU6OlN0YXRlSG92ZXI7CisgICAgfQorICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJl
bnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnQoY2FudmFzLCBwYWludFBhcnQsIHN0YXRlLCBXZWJL
aXQ6OldlYlJlY3QocmVjdCksIDApOworfQorCit2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1M
aW51eDo6cGFpbnRUaHVtYihHcmFwaGljc0NvbnRleHQqIGdjLCBTY3JvbGxiYXJUaGVtZUNsaWVu
dCogc2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIFdlYktpdDo6V2ViVGhl
bWVFbmdpbmU6OlN0YXRlIHN0YXRlOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBn
Yy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgIGlmIChzY3JvbGxiYXItPnByZXNz
ZWRQYXJ0KCkgPT0gVGh1bWJQYXJ0KQorICAgICAgICBzdGF0ZSA9IFdlYktpdDo6V2ViVGhlbWVF
bmdpbmU6OlN0YXRlUHJlc3NlZDsKKyAgICBlbHNlIGlmIChzY3JvbGxiYXItPmhvdmVyZWRQYXJ0
KCkgPT0gVGh1bWJQYXJ0KQorICAgICAgICBzdGF0ZSA9IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6
OlN0YXRlSG92ZXI7CisgICAgZWxzZQorICAgICAgICBzdGF0ZSA9IFdlYktpdDo6V2ViVGhlbWVF
bmdpbmU6OlN0YXRlTm9ybWFsOworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhl
bWVFbmdpbmUoKS0+cGFpbnQoY2FudmFzLCBzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9y
aXpvbnRhbFNjcm9sbGJhciA/IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlBhcnRTY3JvbGxiYXJI
b3Jpem9udGFsVGh1bWIgOiBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0U2Nyb2xsYmFyVmVy
dGljYWxUaHVtYiwgc3RhdGUsIFdlYktpdDo6V2ViUmVjdChyZWN0KSwgMCk7Cit9CisKK2Jvb2wg
U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4OjpzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJh
clRoZW1lQ2xpZW50KiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQpCit7CisgICAgcmV0
dXJuIChldnQuc2hpZnRLZXkoKSAmJiBldnQuYnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgfHwgKGV2
dC5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24pOworfQorCitJbnRTaXplIFNjcm9sbGJhclRoZW1l
Q2hyb21pdW1MaW51eDo6YnV0dG9uU2l6ZShTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFy
KQoreworICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWxTY3JvbGxi
YXIpIHsKKyAgICAgICAgSW50U2l6ZSBzaXplID0gV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgp
LT50aGVtZUVuZ2luZSgpLT5nZXRTaXplKFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlBhcnRTY3Jv
bGxiYXJVcEFycm93KTsKKyAgICAgICAgcmV0dXJuIEludFNpemUoc2l6ZS53aWR0aCgpLCBzY3Jv
bGxiYXItPmhlaWdodCgpIDwgMiAqIHNpemUuaGVpZ2h0KCkgPyBzY3JvbGxiYXItPmhlaWdodCgp
IC8gMiA6IHNpemUuaGVpZ2h0KCkpOworICAgIH0KKworICAgIC8vIEhvcml6b250YWxTY3JvbGxi
YXIKKyAgICBJbnRTaXplIHNpemUgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1l
RW5naW5lKCktPmdldFNpemUoV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydFNjcm9sbGJhckxl
ZnRBcnJvdyk7CisgICAgcmV0dXJuIEludFNpemUoc2Nyb2xsYmFyLT53aWR0aCgpIDwgMiAqIHNp
emUud2lkdGgoKSA/IHNjcm9sbGJhci0+d2lkdGgoKSAvIDIgOiBzaXplLndpZHRoKCksIHNpemUu
aGVpZ2h0KCkpOworfQorCitpbnQgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4OjptaW5pbXVt
VGh1bWJMZW5ndGgoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikKK3sKKyAgICBpZiAo
c2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsU2Nyb2xsYmFyKSB7CisgICAgICAg
IEludFNpemUgc2l6ZSA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUo
KS0+Z2V0U2l6ZShXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0U2Nyb2xsYmFyVmVydGljYWxU
aHVtYik7CisgICAgICAgIHJldHVybiBzaXplLmhlaWdodCgpOworICAgIH0KKworICAgIEludFNp
emUgc2l6ZSA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+Z2V0
U2l6ZShXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0U2Nyb2xsYmFySG9yaXpvbnRhbFRodW1i
KTsKKyAgICByZXR1cm4gc2l6ZS53aWR0aCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJU
aGVtZUNocm9taXVtTGludXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Nj
cm9sbGJhclRoZW1lQ2hyb21pdW1MaW51eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMGQwM2ZiMDIzMjEzNGVj
MmNhMjk0MTlmZGFiMjczNDk0NzU0ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtTGludXguaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4X2gKKyNkZWZpbmUg
U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUxpbnV4X2gKKworI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1l
Q2hyb21pdW0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIGNsYXNzIFNjcm9sbGJhclRo
ZW1lQ2hyb21pdW1MaW51eCA6IHB1YmxpYyBTY3JvbGxiYXJUaGVtZUNocm9taXVtIHsKKyAgICBw
dWJsaWM6CisgICAgICAgIHZpcnR1YWwgaW50IHNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJD
b250cm9sU2l6ZSk7CisKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZpcnR1YWwgdm9pZCBwYWlu
dFRyYWNrUGllY2UoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBjb25z
dCBJbnRSZWN0JiwgU2Nyb2xsYmFyUGFydCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwYWludEJ1
dHRvbihHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXJUaGVtZUNsaWVudCosIGNvbnN0IEludFJl
Y3QmLCBTY3JvbGxiYXJQYXJ0KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBhaW50VGh1bWIoR3Jh
cGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBjb25zdCBJbnRSZWN0Jik7Cisg
ICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhclRoZW1lQ2xp
ZW50KiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CisgICAgICAgIHZpcnR1YWwgSW50U2l6
ZSBidXR0b25TaXplKFNjcm9sbGJhclRoZW1lQ2xpZW50Kik7CisgICAgICAgIHZpcnR1YWwgaW50
IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXJUaGVtZUNsaWVudCopOworICAgIH07Cit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1BbmRyb2lkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQW5kcm9pZC5jcHAKaW5kZXggNzhhOWNjOWFj
YmY2ODQyYjk2OGMwNjBjODEyYmYxNjViZmIyMzg0My4uZDI1YTgwNDQ0M2E3ZTYwMGMwMGUyOGRm
NmE1NTNlMDBhYjQ5YjYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1BbmRyb2lkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVDaHJvbWl1bUFuZHJvaWQuY3BwCkBAIC03NCw3ICs3NCw3IEBAIFN0cmlu
ZyBSZW5kZXJUaGVtZUNocm9taXVtQW5kcm9pZDo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dCgpCiAKIFN0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtQW5kcm9pZDo6ZXh0cmFEZWZhdWx0U3R5
bGVTaGVldCgpCiB7Ci0gICAgcmV0dXJuIFJlbmRlclRoZW1lQ2hyb21pdW1EZWZhdWx0OjpleHRy
YURlZmF1bHRTdHlsZVNoZWV0KCkgKworICAgIHJldHVybiBSZW5kZXJUaGVtZUNocm9taXVtTGlu
dXg6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKSArCiAgICAgICAgIFN0cmluZyh0aGVtZUNocm9t
aXVtQW5kcm9pZFVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZih0aGVtZUNocm9taXVtQW5kcm9p
ZFVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1BbmRyb2lkLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaAppbmRleCBlYTllYzMyMjEzNzll
YjAzMjJmNGU3MjVkMzY2YTJmMzAyNGVkZTg4Li4wMjc2MjhlODFhZTEyY2YxZmI3OGQxNDIxZDEz
Y2EwMWNmNjI5OTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bUFuZHJvaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIFJl
bmRlclRoZW1lQ2hyb21pdW1BbmRyb2lkX2gKICNkZWZpbmUgUmVuZGVyVGhlbWVDaHJvbWl1bUFu
ZHJvaWRfaAogCi0jaW5jbHVkZSAiUmVuZGVyVGhlbWVDaHJvbWl1bURlZmF1bHQuaCIKKyNpbmNs
dWRlICJSZW5kZXJUaGVtZUNocm9taXVtTGludXguaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtQW5kcm9pZCA6IHB1YmxpYyBSZW5kZXJUaGVtZUNo
cm9taXVtRGVmYXVsdCB7CitjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtQW5kcm9pZCA6IHB1Ymxp
YyBSZW5kZXJUaGVtZUNocm9taXVtTGludXggewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoKTsKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYURlZmF1
bHRTdHlsZVNoZWV0KCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtTGludXguY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhZjRmYzc4MjJk
MjY4MTlkNjVjYzBhOGZjYzk0YTViNDA0ODIxNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4LmNwcApAQCAtMCwwICsx
LDM4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykg
MjAwOCBDb2xsYWJvcmEgTHRkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJ
bmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZUNocm9taXVtTGludXgu
aCIKKworI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJDb2xvci5oIgor
I2luY2x1ZGUgIlBhaW50SW5mby5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIK
KyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJQcm9ncmVzcy5oIgor
I2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgorI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCisj
aW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZv
cm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9saW51
eC9XZWJUaGVtZUVuZ2luZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Vuc2lnbmVkIFJl
bmRlclRoZW1lQ2hyb21pdW1MaW51eDo6bV9hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3Ig
PQorICAgIDB4ZmYxZTkwZmY7Cit1bnNpZ25lZCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6Om1f
YWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yID0KKyAgICBDb2xvcjo6YmxhY2s7Cit1bnNp
Z25lZCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6Om1faW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3Jv
dW5kQ29sb3IgPQorICAgIDB4ZmZjOGM4Yzg7Cit1bnNpZ25lZCBSZW5kZXJUaGVtZUNocm9taXVt
TGludXg6Om1faW5hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IgPQorICAgIDB4ZmYzMjMy
MzI7CisKK2RvdWJsZSBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6Om1fY2FyZXRCbGlua0ludGVy
dmFsOworCitzdGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVsdEJ1dHRvbkJhY2tncm91bmRDb2xv
ciA9IDB4ZmZkZGRkZGQ7CisKK3N0YXRpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTdGF0ZSBn
ZXRXZWJUaGVtZVN0YXRlKGNvbnN0IFJlbmRlclRoZW1lKiB0aGVtZSwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBvKQoreworICAgIGlmICghdGhlbWUtPmlzRW5hYmxlZChvKSkKKyAgICAgICAgcmV0dXJu
IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlN0YXRlRGlzYWJsZWQ7CisgICAgaWYgKHRoZW1lLT5p
c1ByZXNzZWQobykpCisgICAgICAgIHJldHVybiBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTdGF0
ZVByZXNzZWQ7CisgICAgaWYgKHRoZW1lLT5pc0hvdmVyZWQobykpCisgICAgICAgIHJldHVybiBX
ZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpTdGF0ZUhvdmVyOworCisgICAgcmV0dXJuIFdlYktpdDo6
V2ViVGhlbWVFbmdpbmU6OlN0YXRlTm9ybWFsOworfQorCitQYXNzUmVmUHRyPFJlbmRlclRoZW1l
PiBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBSZW5kZXJUaGVtZUNocm9taXVtTGludXgoKSk7Cit9CisKKy8vIFJlbmRlclRoZW1l
Ojp0aGVtZUZvclBhZ2UgZm9yIEFuZHJvaWQgaXMgZGVmaW5lZCBpbiBSZW5kZXJUaGVtZUNocm9t
aXVtQW5kcm9pZC5jcHAuCisjaWYgIU9TKEFORFJPSUQpCitQYXNzUmVmUHRyPFJlbmRlclRoZW1l
PiBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKFBhZ2UqIHBhZ2UpCit7CisgICAgc3RhdGljIFJl
bmRlclRoZW1lKiBydCA9IFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6Y3JlYXRlKCkubGVha1Jl
ZigpOworICAgIHJldHVybiBydDsKK30KKyNlbmRpZgorCitSZW5kZXJUaGVtZUNocm9taXVtTGlu
dXg6OlJlbmRlclRoZW1lQ2hyb21pdW1MaW51eCgpCit7CisgICAgbV9jYXJldEJsaW5rSW50ZXJ2
YWwgPSBSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKCk7Cit9CisKK1JlbmRlclRoZW1l
Q2hyb21pdW1MaW51eDo6flJlbmRlclRoZW1lQ2hyb21pdW1MaW51eCgpCit7Cit9CisKK0NvbG9y
IFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6c3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNv
bnN0Cit7CisgICAgc3RhdGljIGNvbnN0IENvbG9yIGxpbnV4QnV0dG9uR3JheUNvbG9yKDB4ZmZk
ZGRkZGQpOworCisgICAgaWYgKGNzc1ZhbHVlSWQgPT0gQ1NTVmFsdWVCdXR0b25mYWNlKQorICAg
ICAgICByZXR1cm4gbGludXhCdXR0b25HcmF5Q29sb3I7CisgICAgcmV0dXJuIFJlbmRlclRoZW1l
OjpzeXN0ZW1Db2xvcihjc3NWYWx1ZUlkKTsKK30KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21p
dW1MaW51eDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpCit7CisgICAgcmV0dXJuIFJlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhOjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkgKworICAgICAgICAgICBT
dHJpbmcodGhlbWVDaHJvbWl1bUxpbnV4VXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKHRoZW1l
Q2hyb21pdW1MaW51eFVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKK30KKworYm9vbCBSZW5kZXJUaGVt
ZUNocm9taXVtTGludXg6OmNvbnRyb2xTdXBwb3J0c1RpbnRzKGNvbnN0IFJlbmRlck9iamVjdCog
bykgY29uc3QKK3sKKyAgICByZXR1cm4gaXNFbmFibGVkKG8pOworfQorCitDb2xvciBSZW5kZXJU
aGVtZUNocm9taXVtTGludXg6OmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3Io
KSBjb25zdAoreworICAgIHJldHVybiBDb2xvcigweDI4LCAweDI4LCAweDI4KTsKK30KKworQ29s
b3IgUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjphY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdy
b3VuZENvbG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4gQ29sb3I6OmJsYWNrOworfQorCitDb2xv
ciBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OmluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tn
cm91bmRDb2xvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbG9yKDB4YzgsIDB4YzgsIDB4Yzgp
OworfQorCitDb2xvciBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OmluYWN0aXZlTGlzdEJveFNl
bGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbG9yKDB4MzIs
IDB4MzIsIDB4MzIpOworfQorCitDb2xvciBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnBsYXRm
b3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7Cit9CisKK0NvbG9yIFJlbmRlclRoZW1l
Q2hyb21pdW1MaW51eDo6cGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7
Cit9CisKK0NvbG9yIFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6cGxhdGZvcm1BY3RpdmVTZWxl
Y3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdAoreworICAgIHJldHVybiBtX2FjdGl2ZVNlbGVj
dGlvbkZvcmVncm91bmRDb2xvcjsKK30KKworQ29sb3IgUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4
OjpwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9pbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcjsKK30KKworI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQorSW50U2l6ZSBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6
OnNsaWRlclRpY2tTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW50U2l6ZSgxLCA2KTsKK30K
KworaW50IFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6c2xpZGVyVGlja09mZnNldEZyb21UcmFj
a0NlbnRlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIC0xNjsKK30KKyNlbmRpZgorCit2b2lkIFJl
bmRlclRoZW1lQ2hyb21pdW1MaW51eDo6YWRqdXN0U2xpZGVyVGh1bWJTaXplKFJlbmRlclN0eWxl
KiBzdHlsZSwgRWxlbWVudCogZWxlbWVudCkgY29uc3QKK3sKKyAgICBJbnRTaXplIHNpemUgPSBX
ZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPmdldFNpemUoV2ViS2l0
OjpXZWJUaGVtZUVuZ2luZTo6UGFydFNsaWRlclRodW1iKTsKKworICAgIGlmIChzdHlsZS0+YXBw
ZWFyYW5jZSgpID09IFNsaWRlclRodW1iSG9yaXpvbnRhbFBhcnQpIHsKKyAgICAgICAgc3R5bGUt
PnNldFdpZHRoKExlbmd0aChzaXplLndpZHRoKCksIEZpeGVkKSk7CisgICAgICAgIHN0eWxlLT5z
ZXRIZWlnaHQoTGVuZ3RoKHNpemUuaGVpZ2h0KCksIEZpeGVkKSk7CisgICAgfSBlbHNlIGlmIChz
dHlsZS0+YXBwZWFyYW5jZSgpID09IFNsaWRlclRodW1iVmVydGljYWxQYXJ0KSB7CisgICAgICAg
IHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoc2l6ZS5oZWlnaHQoKSwgRml4ZWQpKTsKKyAgICAgICAg
c3R5bGUtPnNldEhlaWdodChMZW5ndGgoc2l6ZS53aWR0aCgpLCBGaXhlZCkpOworICAgIH0gZWxz
ZQorICAgICAgICBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YWRqdXN0U2xpZGVyVGh1bWJTaXpl
KHN0eWxlLCBlbGVtZW50KTsKK30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnN1
cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9p
ZCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnNldENhcmV0QmxpbmtJbnRlcnZhbChkb3VibGUg
aW50ZXJ2YWwpCit7CisgICAgbV9jYXJldEJsaW5rSW50ZXJ2YWwgPSBpbnRlcnZhbDsKK30KKwor
ZG91YmxlIFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6Y2FyZXRCbGlua0ludGVydmFsSW50ZXJu
YWwoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhcmV0QmxpbmtJbnRlcnZhbDsKK30KKwordm9p
ZCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnNldFNlbGVjdGlvbkNvbG9ycygKKyAgICB1bnNp
Z25lZCBhY3RpdmVCYWNrZ3JvdW5kQ29sb3IsCisgICAgdW5zaWduZWQgYWN0aXZlRm9yZWdyb3Vu
ZENvbG9yLAorICAgIHVuc2lnbmVkIGluYWN0aXZlQmFja2dyb3VuZENvbG9yLAorICAgIHVuc2ln
bmVkIGluYWN0aXZlRm9yZWdyb3VuZENvbG9yKQoreworICAgIG1fYWN0aXZlU2VsZWN0aW9uQmFj
a2dyb3VuZENvbG9yID0gYWN0aXZlQmFja2dyb3VuZENvbG9yOworICAgIG1fYWN0aXZlU2VsZWN0
aW9uRm9yZWdyb3VuZENvbG9yID0gYWN0aXZlRm9yZWdyb3VuZENvbG9yOworICAgIG1faW5hY3Rp
dmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgPSBpbmFjdGl2ZUJhY2tncm91bmRDb2xvcjsKKyAg
ICBtX2luYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yID0gaW5hY3RpdmVGb3JlZ3JvdW5k
Q29sb3I7Cit9CisKK2Jvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjpwYWludENoZWNrYm94
KFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBpLCBjb25zdCBJbnRSZWN0JiByZWN0
KQoreworICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OkV4dHJhUGFyYW1zIGV4dHJhUGFyYW1z
OworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBpLmNvbnRleHQtPnBsYXRmb3JtQ29u
dGV4dCgpLT5jYW52YXMoKTsKKyAgICBleHRyYVBhcmFtcy5idXR0b24uY2hlY2tlZCA9IGlzQ2hl
Y2tlZChvKTsKKyAgICBleHRyYVBhcmFtcy5idXR0b24uaW5kZXRlcm1pbmF0ZSA9IGlzSW5kZXRl
cm1pbmF0ZShvKTsKKworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdp
bmUoKS0+cGFpbnQoY2FudmFzLCBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0Q2hlY2tib3gs
IGdldFdlYlRoZW1lU3RhdGUodGhpcywgbyksIFdlYktpdDo6V2ViUmVjdChyZWN0KSwgJmV4dHJh
UGFyYW1zKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1
bUxpbnV4OjpzZXRDaGVja2JveFNpemUoUmVuZGVyU3R5bGUqIHN0eWxlKSBjb25zdAoreworICAg
IC8vIElmIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBib3RoIHNwZWNpZmllZCwgdGhlbiB3ZSBo
YXZlIG5vdGhpbmcgdG8gZG8uCisgICAgaWYgKCFzdHlsZS0+d2lkdGgoKS5pc0ludHJpbnNpY09y
QXV0bygpICYmICFzdHlsZS0+aGVpZ2h0KCkuaXNBdXRvKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEludFNpemUgc2l6ZSA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdp
bmUoKS0+Z2V0U2l6ZShXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0Q2hlY2tib3gpOworICAg
IHNldFNpemVJZkF1dG8oc3R5bGUsIHNpemUpOworfQorCitib29sIFJlbmRlclRoZW1lQ2hyb21p
dW1MaW51eDo6cGFpbnRSYWRpbyhSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwg
Y29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpFeHRy
YVBhcmFtcyBleHRyYVBhcmFtczsKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gaS5j
b250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgZXh0cmFQYXJhbXMuYnV0
dG9uLmNoZWNrZWQgPSBpc0NoZWNrZWQobyk7CisKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJy
ZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50KGNhbnZhcywgV2ViS2l0OjpXZWJUaGVtZUVuZ2lu
ZTo6UGFydFJhZGlvLCBnZXRXZWJUaGVtZVN0YXRlKHRoaXMsIG8pLCBXZWJLaXQ6OldlYlJlY3Qo
cmVjdCksICZleHRyYVBhcmFtcyk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFJlbmRl
clRoZW1lQ2hyb21pdW1MaW51eDo6c2V0UmFkaW9TaXplKFJlbmRlclN0eWxlKiBzdHlsZSkgY29u
c3QKK3sKKyAgICAvLyBJZiB0aGUgd2lkdGggYW5kIGhlaWdodCBhcmUgYm90aCBzcGVjaWZpZWQs
IHRoZW4gd2UgaGF2ZSBub3RoaW5nIHRvIGRvLgorICAgIGlmICghc3R5bGUtPndpZHRoKCkuaXNJ
bnRyaW5zaWNPckF1dG8oKSAmJiAhc3R5bGUtPmhlaWdodCgpLmlzQXV0bygpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBJbnRTaXplIHNpemUgPSBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCkt
PnRoZW1lRW5naW5lKCktPmdldFNpemUoV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydFJhZGlv
KTsKKyAgICBzZXRTaXplSWZBdXRvKHN0eWxlLCBzaXplKTsKK30KKworYm9vbCBSZW5kZXJUaGVt
ZUNocm9taXVtTGludXg6OnBhaW50QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJ
bmZvJiBpLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIFdlYktpdDo6V2ViVGhlbWVFbmdp
bmU6OkV4dHJhUGFyYW1zIGV4dHJhUGFyYW1zOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52
YXMgPSBpLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAgICBleHRyYVBh
cmFtcy5idXR0b24uaXNEZWZhdWx0ID0gaXNEZWZhdWx0KG8pOworICAgIGV4dHJhUGFyYW1zLmJ1
dHRvbi5oYXNCb3JkZXIgPSB0cnVlOworICAgIGV4dHJhUGFyYW1zLmJ1dHRvbi5iYWNrZ3JvdW5k
Q29sb3IgPSBkZWZhdWx0QnV0dG9uQmFja2dyb3VuZENvbG9yOworICAgIGlmIChvLT5oYXNCYWNr
Z3JvdW5kKCkpCisgICAgICAgIGV4dHJhUGFyYW1zLmJ1dHRvbi5iYWNrZ3JvdW5kQ29sb3IgPSBv
LT5zdHlsZSgpLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29s
b3IpLnJnYigpOworCisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2lu
ZSgpLT5wYWludChjYW52YXMsIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OlBhcnRCdXR0b24sIGdl
dFdlYlRoZW1lU3RhdGUodGhpcywgbyksIFdlYktpdDo6V2ViUmVjdChyZWN0KSwgJmV4dHJhUGFy
YW1zKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUxp
bnV4OjpwYWludFRleHRGaWVsZChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwg
Y29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBXZWJUaGVtZUVuZ2luZSBkb2VzIG5vdCBo
YW5kbGUgYm9yZGVyIHJvdW5kZWQgY29ybmVyIGFuZCBiYWNrZ3JvdW5kIGltYWdlCisgICAgLy8g
c28gcmV0dXJuIHRydWUgdG8gZHJhdyBDU1MgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kLgorICAgIGlm
IChvLT5zdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSB8fCBvLT5zdHlsZSgpLT5oYXNCYWNrZ3Jv
dW5kSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBDb250cm9sUGFydCBwYXJ0
ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpOworCisgICAgV2ViS2l0OjpXZWJUaGVtZUVuZ2lu
ZTo6RXh0cmFQYXJhbXMgZXh0cmFQYXJhbXM7CisgICAgZXh0cmFQYXJhbXMudGV4dEZpZWxkLmlz
VGV4dEFyZWEgPSBwYXJ0ID09IFRleHRBcmVhUGFydDsKKyAgICBleHRyYVBhcmFtcy50ZXh0Rmll
bGQuaXNMaXN0Ym94ID0gcGFydCA9PSBMaXN0Ym94UGFydDsKKworICAgIFdlYktpdDo6V2ViQ2Fu
dmFzKiBjYW52YXMgPSBpLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKwor
ICAgIC8vIEZhbGxiYWNrIHRvIHdoaXRlIGlmIHRoZSBzcGVjaWZpZWQgY29sb3Igb2JqZWN0IGlz
IGludmFsaWQuCisgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yKENvbG9yOjp3aGl0ZSk7CisgICAg
aWYgKG8tPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91
bmRDb2xvcikuaXNWYWxpZCgpKQorICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSBvLT5zdHlsZSgp
LT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpOworICAg
IGV4dHJhUGFyYW1zLnRleHRGaWVsZC5iYWNrZ3JvdW5kQ29sb3IgPSBiYWNrZ3JvdW5kQ29sb3Iu
cmdiKCk7CisKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCkt
PnBhaW50KGNhbnZhcywgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydFRleHRGaWVsZCwgZ2V0
V2ViVGhlbWVTdGF0ZSh0aGlzLCBvKSwgV2ViS2l0OjpXZWJSZWN0KHJlY3QpLCAmZXh0cmFQYXJh
bXMpOworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTGlu
dXg6OnBhaW50TWVudUxpc3QoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIGksIGNv
bnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgaWYgKCFvLT5pc0JveCgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjb25zdCBpbnQgcmlnaHQgPSByZWN0LngoKSArIHJlY3Qud2lkdGgo
KTsKKyAgICBjb25zdCBpbnQgbWlkZGxlID0gcmVjdC55KCkgKyByZWN0LmhlaWdodCgpIC8gMjsK
KworICAgIFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OkV4dHJhUGFyYW1zIGV4dHJhUGFyYW1zOwor
ICAgIGV4dHJhUGFyYW1zLm1lbnVMaXN0LmFycm93WCA9IChvLT5zdHlsZSgpLT5kaXJlY3Rpb24o
KSA9PSBSVEwpID8gcmVjdC54KCkgKyA3IDogcmlnaHQgLSAxMzsKKyAgICBleHRyYVBhcmFtcy5t
ZW51TGlzdC5hcnJvd1kgPSBtaWRkbGU7CisgICAgY29uc3QgUmVuZGVyQm94KiBib3ggPSB0b1Jl
bmRlckJveChvKTsKKyAgICAvLyBNYXRjaCBDaHJvbWl1bSBXaW4gYmVoYXZpb3VyIG9mIHNob3dp
bmcgYWxsIGJvcmRlcnMgaWYgYW55IGFyZSBzaG93bi4KKyAgICBleHRyYVBhcmFtcy5tZW51TGlz
dC5oYXNCb3JkZXIgPSBib3gtPmJvcmRlclJpZ2h0KCkgfHwgYm94LT5ib3JkZXJMZWZ0KCkgfHwg
Ym94LT5ib3JkZXJUb3AoKSB8fCBib3gtPmJvcmRlckJvdHRvbSgpOworICAgIGV4dHJhUGFyYW1z
Lm1lbnVMaXN0Lmhhc0JvcmRlclJhZGl1cyA9IG8tPnN0eWxlKCktPmhhc0JvcmRlclJhZGl1cygp
OworICAgIC8vIEZhbGxiYWNrIHRvIHRyYW5zcGFyZW50IGlmIHRoZSBzcGVjaWZpZWQgY29sb3Ig
b2JqZWN0IGlzIGludmFsaWQuCisgICAgZXh0cmFQYXJhbXMubWVudUxpc3QuYmFja2dyb3VuZENv
bG9yID0gQ29sb3I6OnRyYW5zcGFyZW50OworICAgIGlmIChvLT5oYXNCYWNrZ3JvdW5kKCkpCisg
ICAgICAgIGV4dHJhUGFyYW1zLm1lbnVMaXN0LmJhY2tncm91bmRDb2xvciA9IG8tPnN0eWxlKCkt
PnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcikucmdiKCk7
CisKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gaS5jb250ZXh0LT5wbGF0Zm9ybUNv
bnRleHQoKS0+Y2FudmFzKCk7CisKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRo
ZW1lRW5naW5lKCktPnBhaW50KGNhbnZhcywgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6UGFydE1l
bnVMaXN0LCBnZXRXZWJUaGVtZVN0YXRlKHRoaXMsIG8pLCBXZWJLaXQ6OldlYlJlY3QocmVjdCks
ICZleHRyYVBhcmFtcyk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFJlbmRlclRoZW1l
Q2hyb21pdW1MaW51eDo6cGFpbnRTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBh
aW50SW5mbyYgaSwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBXZWJLaXQ6OldlYlRoZW1l
RW5naW5lOjpFeHRyYVBhcmFtcyBleHRyYVBhcmFtczsKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyog
Y2FudmFzID0gaS5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgZXh0
cmFQYXJhbXMuc2xpZGVyLnZlcnRpY2FsID0gby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpID09IFNs
aWRlclZlcnRpY2FsUGFydDsKKworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhl
bWVFbmdpbmUoKS0+cGFpbnQoY2FudmFzLCBXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0U2xp
ZGVyVHJhY2ssIGdldFdlYlRoZW1lU3RhdGUodGhpcywgbyksIFdlYktpdDo6V2ViUmVjdChyZWN0
KSwgJmV4dHJhUGFyYW1zKTsKKworI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQorICAgIHBh
aW50U2xpZGVyVGlja3MobywgaSwgcmVjdCk7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsK
K30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OnBhaW50U2xpZGVyVGh1bWIoUmVu
ZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHJlY3QpCit7
CisgICAgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6RXh0cmFQYXJhbXMgZXh0cmFQYXJhbXM7Cisg
ICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IGkuY29udGV4dC0+cGxhdGZvcm1Db250ZXh0
KCktPmNhbnZhcygpOworICAgIGV4dHJhUGFyYW1zLnNsaWRlci52ZXJ0aWNhbCA9IG8tPnN0eWxl
KCktPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJUaHVtYlZlcnRpY2FsUGFydDsKKyAgICBleHRyYVBh
cmFtcy5zbGlkZXIuaW5EcmFnID0gaXNQcmVzc2VkKG8pOworCisgICAgV2ViS2l0OjpQbGF0Zm9y
bTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludChjYW52YXMsIFdlYktpdDo6V2ViVGhl
bWVFbmdpbmU6OlBhcnRTbGlkZXJUaHVtYiwgZ2V0V2ViVGhlbWVTdGF0ZSh0aGlzLCBvKSwgV2Vi
S2l0OjpXZWJSZWN0KHJlY3QpLCAmZXh0cmFQYXJhbXMpOworICAgIHJldHVybiBmYWxzZTsKK30K
Kwordm9pZCBSZW5kZXJUaGVtZUNocm9taXVtTGludXg6OmFkanVzdElubmVyU3BpbkJ1dHRvblN0
eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsZW1lbnQqKSBjb25zdAor
eworICAgIEludFNpemUgc2l6ZSA9IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVF
bmdpbmUoKS0+Z2V0U2l6ZShXZWJLaXQ6OldlYlRoZW1lRW5naW5lOjpQYXJ0SW5uZXJTcGluQnV0
dG9uKTsKKworICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoc2l6ZS53aWR0aCgpLCBGaXhlZCkp
OworICAgIHN0eWxlLT5zZXRNaW5XaWR0aChMZW5ndGgoc2l6ZS53aWR0aCgpLCBGaXhlZCkpOwor
fQorCitib29sIFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6cGFpbnRJbm5lclNwaW5CdXR0b24o
UmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHJlY3Qp
Cit7CisgICAgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZTo6RXh0cmFQYXJhbXMgZXh0cmFQYXJhbXM7
CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IGkuY29udGV4dC0+cGxhdGZvcm1Db250
ZXh0KCktPmNhbnZhcygpOworICAgIGV4dHJhUGFyYW1zLmlubmVyU3Bpbi5zcGluVXAgPSAoY29u
dHJvbFN0YXRlc0ZvclJlbmRlcmVyKG8pICYgU3BpblVwU3RhdGUpOworICAgIGV4dHJhUGFyYW1z
LmlubmVyU3Bpbi5yZWFkT25seSA9IGlzUmVhZE9ubHlDb250cm9sKG8pOworCisgICAgV2ViS2l0
OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludChjYW52YXMsIFdlYktp
dDo6V2ViVGhlbWVFbmdpbmU6OlBhcnRJbm5lclNwaW5CdXR0b24sIGdldFdlYlRoZW1lU3RhdGUo
dGhpcywgbyksIFdlYktpdDo6V2ViUmVjdChyZWN0KSwgJmV4dHJhUGFyYW1zKTsKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKKyNpZiBFTkFCTEUoUFJPR1JFU1NfRUxFTUVOVCkKKworYm9vbCBSZW5k
ZXJUaGVtZUNocm9taXVtTGludXg6OnBhaW50UHJvZ3Jlc3NCYXIoUmVuZGVyT2JqZWN0KiBvLCBj
b25zdCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgaWYgKCFvLT5p
c1Byb2dyZXNzKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVuZGVyUHJvZ3Jlc3Mq
IHJlbmRlclByb2dyZXNzID0gdG9SZW5kZXJQcm9ncmVzcyhvKTsKKyAgICBJbnRSZWN0IHZhbHVl
UmVjdCA9IHByb2dyZXNzVmFsdWVSZWN0Rm9yKHJlbmRlclByb2dyZXNzLCByZWN0KTsKKworICAg
IFdlYktpdDo6V2ViVGhlbWVFbmdpbmU6OkV4dHJhUGFyYW1zIGV4dHJhUGFyYW1zOworICAgIGV4
dHJhUGFyYW1zLnByb2dyZXNzQmFyLmRldGVybWluYXRlID0gcmVuZGVyUHJvZ3Jlc3MtPmlzRGV0
ZXJtaW5hdGUoKTsKKyAgICBleHRyYVBhcmFtcy5wcm9ncmVzc0Jhci52YWx1ZVJlY3RYID0gdmFs
dWVSZWN0LngoKTsKKyAgICBleHRyYVBhcmFtcy5wcm9ncmVzc0Jhci52YWx1ZVJlY3RZID0gdmFs
dWVSZWN0LnkoKTsKKyAgICBleHRyYVBhcmFtcy5wcm9ncmVzc0Jhci52YWx1ZVJlY3RXaWR0aCA9
IHZhbHVlUmVjdC53aWR0aCgpOworICAgIGV4dHJhUGFyYW1zLnByb2dyZXNzQmFyLnZhbHVlUmVj
dEhlaWdodCA9IHZhbHVlUmVjdC5oZWlnaHQoKTsKKworICAgIERpcmVjdGlvbkZsaXBwaW5nU2Nv
cGUgc2NvcGUobywgaSwgcmVjdCk7CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IGku
Y29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgIFdlYktpdDo6UGxhdGZv
cm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnQoY2FudmFzLCBXZWJLaXQ6OldlYlRo
ZW1lRW5naW5lOjpQYXJ0UHJvZ3Jlc3NCYXIsIGdldFdlYlRoZW1lU3RhdGUodGhpcywgbyksIFdl
YktpdDo6V2ViUmVjdChyZWN0KSwgJmV4dHJhUGFyYW1zKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKKyNlbmRpZgorCitib29sIFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eDo6c2hvdWxkT3BlblBp
Y2tlcldpdGhGNEtleSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtTGludXguaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtTGludXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmM0YjM1ZGI1OGJiMzJkMWE2ZDRiZGQ4
NWJjMTRlNjg1ZmMxOTBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1MaW51eC5oCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICog
VGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBwcm9qZWN0LgorICoKKyAqIENvcHlyaWdo
dCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA2IE1p
Y2hhZWwgRW1tZWwgbWlrZS5lbW1lbEBnbWFpbC5jb20KKyAqIENvcHlyaWdodCAoQykgMjAwNyBI
b2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgorICogQ29weXJpZ2h0IChDKSAyMDA3IEFscCBUb2tl
ciA8YWxwQGF0b2tlci5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgR29vZ2xlLCBJ
bmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJlbmRlclRoZW1lQ2hyb21pdW1MaW51
eF9oCisjZGVmaW5lIFJlbmRlclRoZW1lQ2hyb21pdW1MaW51eF9oCisKKyNpbmNsdWRlICJSZW5k
ZXJUaGVtZUNocm9taXVtU2tpYS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICBjbGFz
cyBSZW5kZXJUaGVtZUNocm9taXVtTGludXggOiBwdWJsaWMgUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWEgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+
IGNyZWF0ZSgpOworICAgICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNoZWV0
KCk7CisKKyAgICAgICAgdmlydHVhbCBDb2xvciBzeXN0ZW1Db2xvcihpbnQgY3NzVmFsaWRJZCkg
Y29uc3Q7CisKKyAgICAgICAgLy8gQSBtZXRob2QgYXNraW5nIGlmIHRoZSBjb250cm9sIGNoYW5n
ZXMgaXRzIHRpbnQgd2hlbiB0aGUgd2luZG93IGhhcyBmb2N1cyBvciBub3QuCisgICAgICAgIHZp
cnR1YWwgYm9vbCBjb250cm9sU3VwcG9ydHNUaW50cyhjb25zdCBSZW5kZXJPYmplY3QqKSBjb25z
dDsKKworICAgICAgICAvLyBMaXN0IEJveCBzZWxlY3Rpb24gY29sb3IKKyAgICAgICAgdmlydHVh
bCBDb2xvciBhY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKCkgY29uc3Q7Cisg
ICAgICAgIHZpcnR1YWwgQ29sb3IgYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xv
cigpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIENvbG9yIGluYWN0aXZlTGlzdEJveFNlbGVjdGlv
bkJhY2tncm91bmRDb2xvcigpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIENvbG9yIGluYWN0aXZl
TGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigpIGNvbnN0OworCisgICAgICAgIHZpcnR1
YWwgQ29sb3IgcGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdDsK
KyAgICAgICAgdmlydHVhbCBDb2xvciBwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1BY3RpdmVTZWxl
Y3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBDb2xvciBwbGF0
Zm9ybUluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Q7CisKKyNpZiBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkKKyAgICAgICAgdmlydHVhbCBJbnRTaXplIHNsaWRlclRpY2tT
aXplKCkgY29uc3QgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwgaW50IHNsaWRlclRpY2tPZmZz
ZXRGcm9tVHJhY2tDZW50ZXIoKSBjb25zdCBPVkVSUklERTsKKyNlbmRpZgorICAgICAgICB2aXJ0
dWFsIHZvaWQgYWRqdXN0U2xpZGVyVGh1bWJTaXplKFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNv
bnN0OworCisgICAgICAgIHN0YXRpYyB2b2lkIHNldENhcmV0QmxpbmtJbnRlcnZhbChkb3VibGUg
aW50ZXJ2YWwpOworICAgICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWxJbnRl
cm5hbCgpIGNvbnN0OworCisgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludENoZWNrYm94KFJlbmRl
ck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIHNldENoZWNrYm94U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0OworCisgICAgICAg
IHZpcnR1YWwgYm9vbCBwYWludFJhZGlvKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHNldFJhZGlvU2l6ZShSZW5k
ZXJTdHlsZSopIGNvbnN0OworCisgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludEJ1dHRvbihSZW5k
ZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgICAgIHZp
cnR1YWwgYm9vbCBwYWludFRleHRGaWVsZChSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7CisgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0KFJl
bmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICAgICAg
dmlydHVhbCBib29sIHBhaW50U2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpOworICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTbGlkZXJU
aHVtYihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisK
KyAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdElubmVyU3BpbkJ1dHRvblN0eWxlKFN0eWxlUmVz
b2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBi
b29sIHBhaW50SW5uZXJTcGluQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKKworICAgICAgICB2aXJ0dWFsIGJvb2wgcG9wc01lbnVCeVNwYWNl
T3JSZXR1cm4oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CisKKyNpZiBFTkFCTEUo
UFJPR1JFU1NfRUxFTUVOVCkKKyAgICAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIo
UmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworI2VuZGlm
CisKKyAgICAgICAgdmlydHVhbCBib29sIHNob3VsZE9wZW5QaWNrZXJXaXRoRjRLZXkoKSBjb25z
dCBPVkVSUklERTsKKworICAgICAgICBzdGF0aWMgdm9pZCBzZXRTZWxlY3Rpb25Db2xvcnModW5z
aWduZWQgYWN0aXZlQmFja2dyb3VuZENvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgYWN0aXZlRm9yZWdyb3VuZENvbG9yLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW5hY3RpdmVCYWNrZ3JvdW5kQ29s
b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmFj
dGl2ZUZvcmVncm91bmRDb2xvcik7CisKKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFJlbmRlclRo
ZW1lQ2hyb21pdW1MaW51eCgpOworICAgICAgICB2aXJ0dWFsIH5SZW5kZXJUaGVtZUNocm9taXVt
TGludXgoKTsKKworICAgIHByaXZhdGU6CisgICAgICAgIC8vIEEgZ2VuZXJhbCBtZXRob2QgYXNr
aW5nIGlmIGFueSBjb250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFsbC4KKyAgICAgICAg
dmlydHVhbCBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3Q7CisKKyAgICAgICAgc3Rh
dGljIGRvdWJsZSBtX2NhcmV0QmxpbmtJbnRlcnZhbDsKKworICAgICAgICBzdGF0aWMgdW5zaWdu
ZWQgbV9hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7CisgICAgICAgIHN0YXRpYyB1bnNp
Z25lZCBtX2FjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcjsKKyAgICAgICAgc3RhdGljIHVu
c2lnbmVkIG1faW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7CisgICAgICAgIHN0YXRp
YyB1bnNpZ25lZCBtX2luYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yOworICAgIH07CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFJlbmRlclRoZW1lQ2hyb21pdW1M
aW51eF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggZGE5NWVjN2EwYmM3ZjViZGRh
YWZkMzRjNzIxNmU1OGM3NGNkYWRiZS4uY2IxNTNlYWIwYjhmMGJlN2JjNTc3ZWRkNmM1NzhhNDRi
ZDAxNTcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNDM5LDYgKzQzOSw3IEBA
CiAgICAgICAgICAgICAgICAgJ3NyYy9saW51eC9XZWJGb250SW5mby5jcHAnLAogICAgICAgICAg
ICAgICAgICdzcmMvbGludXgvV2ViRm9udFJlbmRlcmluZy5jcHAnLAogICAgICAgICAgICAgICAg
ICdzcmMvbGludXgvV2ViRm9udFJlbmRlclN0eWxlLmNwcCcsCisgICAgICAgICAgICAgICAgJ3Ny
Yy9saW51eC9XZWJSZW5kZXJUaGVtZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMveDExL1dl
YlNjcmVlbkluZm9GYWN0b3J5LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9tYWMvV2ViSW5w
dXRFdmVudEZhY3RvcnkubW0nLAogICAgICAgICAgICAgICAgICdzcmMvbWFjL1dlYlNjcmVlbklu
Zm9GYWN0b3J5Lm1tJywKQEAgLTg0NSw2ICs4NDYsMTAgQEAKICAgICAgICAgICAgICAgICAgICAg
XSwKICAgICAgICAgICAgICAgICB9XSwKICAgICAgICAgICAgICAgICBbJ3VzZV9kZWZhdWx0X3Jl
bmRlcl90aGVtZT09MScsIHsKKyAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMvJzogWworICAg
ICAgICAgICAgICAgICAgICAgICAgWydleGNsdWRlJywgJ3NyYy9saW51eC9XZWJSZW5kZXJUaGVt
ZS5jcHAnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsnZXhjbHVkZScsICdwdWJsaWMvbGlu
dXgvV2ViUmVuZGVyVGhlbWUuaCddLAorICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9kZWZhdWx0JywKICAgICAgICAgICAgICAgICAgICAgXSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL2xpbnV4L1dlYlJlbmRlclRoZW1lLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9saW51eC9XZWJSZW5kZXJUaGVtZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFlNTE3YzY2NDc5ZDdlNGRiOTQ1MWNiZTllM2JlYTQ5Zjg1YTA5ODgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9saW51eC9XZWJSZW5kZXJUaGVtZS5o
CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSm9lbCBTdGFubGV5
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViUmVuZGVyVGhlbWVfaAorI2RlZmluZSBXZWJS
ZW5kZXJUaGVtZV9oCisKKyNpbmNsdWRlICIuLi9wbGF0Zm9ybS9XZWJDb21tb24uaCIKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKKy8vIFNldCBjYXJldCBibGluayBpbnRlcnZhbCBmb3IgdGV4dCBp
bnB1dCBhcmVhcy4KK1dFQktJVF9FWFBPUlQgdm9pZCBzZXRDYXJldEJsaW5rSW50ZXJ2YWwoZG91
YmxlKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vbGludXgvV2ViVGhlbWVFbmdpbmUu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL2xpbnV4L1dlYlRoZW1l
RW5naW5lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc3YWU1Y2ViYTg3YjM3NDEyZDQ3ZDA4NzdhOTk1MmMzMWFi
ZWU4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3Bs
YXRmb3JtL2xpbnV4L1dlYlRoZW1lRW5naW5lLmgKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICIu
Li8uLi8uLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvbGludXgvV2ViVGhlbWVFbmdp
bmUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA0
NDMxNDBjMDE0OWRiMWZjNDc0ODQ5YWZkODExNmZmNzQ0NmM0OWRiLi41MzJiMjFiZmI1NTFjYWYz
OGUyYWNmNDg2ZjExMWJjNjBkMGM1ZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCkBAIC0xNzksNiArMTc5LDEwIEBACiAjaW5jbHVkZSAiUmVuZGVyVGhl
bWVDaHJvbWl1bVdpbi5oIgogI2VuZGlmCiAjZWxzZQorI2lmIE9TKFVOSVgpICYmICFPUyhEQVJX
SU4pICYmICFFTkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCisjaW5jbHVkZSAiUGxhdGZvcm1U
aGVtZUNocm9taXVtTGludXguaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZUNocm9taXVtTGludXgu
aCIKKyNlbmRpZgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjZW5kaWYKIApAQCAtMzU2NCw2
ICszNTY4LDggQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0U2Nyb2xsYmFyQ29sb3JzKHVuc2lnbmVk
IGluYWN0aXZlQ29sb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgdHJhY2tDb2xvcikgewogI2lmIEVOQUJMRShERUZBVUxUX1JFTkRFUl9USEVNRSkKICAg
ICBQbGF0Zm9ybVRoZW1lQ2hyb21pdW1EZWZhdWx0OjpzZXRTY3JvbGxiYXJDb2xvcnMoaW5hY3Rp
dmVDb2xvciwgYWN0aXZlQ29sb3IsIHRyYWNrQ29sb3IpOworI2VsaWYgT1MoVU5JWCkgJiYgIU9T
KERBUldJTikgJiYgIU9TKEFORFJPSUQpCisgICAgUGxhdGZvcm1UaGVtZUNocm9taXVtTGludXg6
OnNldFNjcm9sbGJhckNvbG9ycyhpbmFjdGl2ZUNvbG9yLCBhY3RpdmVDb2xvciwgdHJhY2tDb2xv
cik7CiAjZW5kaWYKIH0KIApAQCAtMzU3NCw2ICszNTgwLDkgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
c2V0U2VsZWN0aW9uQ29sb3JzKHVuc2lnbmVkIGFjdGl2ZUJhY2tncm91bmRDb2xvciwKICNpZiBF
TkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCiAgICAgUmVuZGVyVGhlbWVDaHJvbWl1bURlZmF1
bHQ6OnNldFNlbGVjdGlvbkNvbG9ycyhhY3RpdmVCYWNrZ3JvdW5kQ29sb3IsIGFjdGl2ZUZvcmVn
cm91bmRDb2xvciwgaW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IsIGluYWN0aXZlRm9yZWdyb3VuZENv
bG9yKTsKICAgICB0aGVtZSgpLT5wbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOworI2VsaWYgT1Mo
VU5JWCkgJiYgIU9TKERBUldJTikgJiYgIU9TKEFORFJPSUQpCisgICAgUmVuZGVyVGhlbWVDaHJv
bWl1bUxpbnV4OjpzZXRTZWxlY3Rpb25Db2xvcnMoYWN0aXZlQmFja2dyb3VuZENvbG9yLCBhY3Rp
dmVGb3JlZ3JvdW5kQ29sb3IsIGluYWN0aXZlQmFja2dyb3VuZENvbG9yLCBpbmFjdGl2ZUZvcmVn
cm91bmRDb2xvcik7CisgICAgdGhlbWUoKS0+cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKICNl
bmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9saW51eC9X
ZWJSZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9saW51eC9XZWJS
ZW5kZXJUaGVtZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTZlYTIyYzRiMzhjYjA0YjJiYjVkOWExYjQyOWRi
MDdmODQxYmJmMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L2xpbnV4L1dlYlJlbmRlclRoZW1lLmNwcApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEpvZWwgU3RhbmxleS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiV2ViUmVuZGVyVGhlbWUuaCIKKworI2luY2x1ZGUgIlJlbmRlclRo
ZW1lQ2hyb21pdW1MaW51eC5oIgorI2luY2x1ZGUgIldlYlZpZXcuaCIKKwordXNpbmcgV2ViQ29y
ZTo6UmVuZGVyVGhlbWU7Cit1c2luZyBXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTGludXg7
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIHNldENhcmV0QmxpbmtJbnRlcnZhbChkb3Vi
bGUgaW50ZXJ2YWwpCit7CisgICAgUmVuZGVyVGhlbWVDaHJvbWl1bUxpbnV4OjpzZXRDYXJldEJs
aW5rSW50ZXJ2YWwoaW50ZXJ2YWwpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1ZmY3YWM1YjMx
MzI5YmRkODNiMzRhNmNmMjUzMmZjOTBiNTE1NjhkLi42NmFlNGI2MjlhNDViMjc5MjE0ODIzZTQy
NzdlYjY4MTVlOTc1MzgwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTItMDUgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMzY3ODQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEz
Njc4NAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
MjEyCisKKyAgICAgICAgVGhpcyBwYXRjaCBicmVha3MgY2hyb21pdW0gYnVpbGQuIChSZXF1ZXN0
ZWQgYnkgdGFzYWsgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jb25maWcvYnVpbGRfdW5pdHRlc3QucHk6CisgICAgICAgIChTaG91bGRC
dWlsZFRlc3QpOgorCiAyMDEyLTEyLTA1ICBIYWx0b24gSHVvICA8aGFsdG9uLmh1b0BpbnRlbC5j
b20+CiAKICAgICAgICAgW0NNYWtlXSBVbmlmeSBjb2Rpbmcgc3R5bGUgZm9yIENNYWtlIGZpbGVz
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvYnVpbGRf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvYnVpbGRf
dW5pdHRlc3QucHkKaW5kZXggOTczOTk1ZGM3ZWJjNTA2YjMzMTU4OWEyNDU2NmUwN2NmYzc5OTA3
YS4uYmI2MzRkMzEwMzIxMTVkNmE5ZTZlY2YxMDE0NmMwMDZjNTVlMmZkMyAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2J1aWxkX3VuaXR0ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9idWlsZF91bml0dGVzdC5w
eQpAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBTaG91bGRCdWlsZFRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAoWyJTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvZm9v
Il0sIFsibWFjLWxlb3BhcmQiLCAibWFjLWxpb24iLCAgIm1hYy1tb3VudGFpbmxpb24iLCAibWFj
LXNub3dsZW9wYXJkIl0pLAogICAgICAgICAoWyJTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93eC93
eGNvZGUvd2luL2ZvbyJdLCBbXSksCiAgICAgICAgIChbIlNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbSIsICJTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMuaCJdLCBbIm1hYy1sZW9wYXJkIiwgIm1hYy1saW9uIiwgICJtYWMtbW91bnRhaW5saW9u
IiwgIm1hYy1zbm93bGVvcGFyZCJdKSwKLSAgICAgICAgKFsiU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1EZWZhdWx0LmgiXSwgWyJjaHJvbWl1bS1saW51eCJdKSwK
KyAgICAgICAgKFsiU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1M
aW51eC5oIl0sIFsiY2hyb21pdW0tbGludXgiXSksCiAgICAgICAgIChbIlNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmgiXSwgW10pLAogICAgICAgICAoWyJUb29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9MZWFr
c1ZpZXdlci9MZWFrc1ZpZXdlci5qcyJdLCBbXSksCiAgICAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>