<?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>69784</bug_id>
          
          <creation_ts>2011-10-10 14:22:14 -0700</creation_ts>
          <short_desc>REGRESSION(r97082): broke Windows build (Requested by smfr on #webkit).</short_desc>
          <delta_ts>2011-10-10 14:30:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>68276</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>andersca</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>481159</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 14:22:14 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/97082 broke the build:
broke Windows build (Requested by smfr 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>481160</commentid>
    <comment_count>1</comment_count>
      <attachid>110404</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 14:22:46 -0700</bug_when>
    <thetext>Created attachment 110404
ROLLOUT of r97082

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>481166</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-10 14:25:00 -0700</bug_when>
    <thetext>*** Bug 69785 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481172</commentid>
    <comment_count>3</comment_count>
      <attachid>110404</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 14:30:55 -0700</bug_when>
    <thetext>Comment on attachment 110404
ROLLOUT of r97082

Clearing flags on attachment: 110404

Committed r97089: &lt;http://trac.webkit.org/changeset/97089&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481173</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 14:30:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110404</attachid>
            <date>2011-10-10 14:22:46 -0700</date>
            <delta_ts>2011-10-10 14:30:54 -0700</delta_ts>
            <desc>ROLLOUT of r97082</desc>
            <filename>bug-69784-20111010212027.patch</filename>
            <type>text/plain</type>
            <size>20006</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwODQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0MjA5MGRlZDNlOTNlYjFiYmQxNjMxNTRhMmJiNjlmNGE3
ODdjNjFmLi4zZDQ4MmU0M2YyOWZmNGUyOTgxZGYwNTYyMmQwYjkwYzcxZTFjODQ1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMTAtMTAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NzA4Mi4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTcwODIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg0CisKKyAgICAgICAgYnJva2UgV2luZG93
cyBidWlsZCAoUmVxdWVzdGVkIGJ5IHNtZnIgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3BwOiBSZW5h
bWVkIGZyb20gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jZy9UZXN0SW52b2NhdGlvbkNHLm1tLgor
ICAgICAgICAoV1RSOjpjcmVhdGVDR0NvbnRleHRGcm9tSW1hZ2UpOgorICAgICAgICAoV1RSOjpj
b21wdXRlTUQ1SGFzaFN0cmluZ0ZvckNvbnRleHQpOgorICAgICAgICAoV1RSOjpkdW1wQml0bWFw
KToKKyAgICAgICAgKFdUUjo6cGFpbnRSZXBhaW50UmVjdE92ZXJsYXkpOgorICAgICAgICAoV1RS
OjpUZXN0SW52b2NhdGlvbjo6ZHVtcFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQpOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbToKKyAgICAg
ICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcpOgorCiAyMDExLTEwLTEw
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIDNEIHRy
YW5zZm9ybXMgYXJlIGZsYXR0ZW5lZCBpbiBXZWJLaXQyIHNuYXBzaG90cwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNjk3ODI2YmMwNjNlMmJhZTg0ZDM5YjNjMmQ2NDQx
MmFiMzE2Y2ZkLi43ODZhY2JjMTFjNjk5ZGFhOTlmZGM2ZTVjOTMzOTkxYWFkOTdhYWRjIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RS
dW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQsNyArNTQsNyBAQAogCQlCQzhE
QUQ3QjEzMTZEOTEwMDBFQzk2RkMgLyogSW5qZWN0ZWRCdW5kbGVNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzhEQUQ3NzEzMTZEN0I5MDBFQzk2
RkMgLyogSW5qZWN0ZWRCdW5kbGVNYWMubW0gKi87IH07CiAJCUJDOEZEOENBMTIwRTUyN0YwMEYz
RTcxQSAvKiBFdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOEZEOEM5MTIwRTUyN0YwMEYzRTcxQSAvKiBFdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJQkM4RkQ4RDIxMjBFNTQ1QjAwRjNFNzFB
IC8qIEpTRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzhGRDhEMDEyMEU1NDVCMDBGM0U3MUEgLyogSlNFdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcCAqLzsgfTsKLQkJQkM5MTkyMDUxMzMzRTRGODAwMzAxMURD
IC8qIFRlc3RJbnZvY2F0aW9uQ0cubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzkxOTIwNDEzMzNFNEY4MDAzMDExREMgLyogVGVzdEludm9jYXRpb25D
Ry5tbSAqLzsgfTsKKwkJQkM5MTkyMDUxMzMzRTRGODAwMzAxMURDIC8qIFRlc3RJbnZvY2F0aW9u
Q0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5
MTkyMDQxMzMzRTRGODAwMzAxMURDIC8qIFRlc3RJbnZvY2F0aW9uQ0cuY3BwICovOyB9OwogCQlC
Qzk1MkMwRDExRjNCOTY1MDAzMzk4QjQgLyogSlNXcmFwcGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOTUyQzBDMTFGM0I5NjUwMDMzOThCNCAv
KiBKU1dyYXBwZXIuY3BwICovOyB9OwogCQlCQzk1MkYxRjExRjNDNjUyMDAzMzk4QjQgLyogSlNM
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzk1MkYxRDExRjNDNjUyMDAzMzk4QjQgLyogSlNMYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAgKi87IH07CiAJCUJDQzk5N0E0MTFEM0M4RjYwMDE3QkNBMiAvKiBJbmplY3Rl
ZEJ1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0M5OTdBMDExRDNDOEY2MDAxN0JDQTIgLyogSW5qZWN0ZWRCdW5kbGUuY3BwICovOyB9OwpA
QCAtMTM4LDcgKzEzOCw3IEBACiAJCUJDOEZEOENCMTIwRTUyQjAwMEYzRTcxQSAvKiBFdmVudFNl
bmRpbmdDb250cm9sbGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFdmVudFNlbmRpbmdD
b250cm9sbGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM4RkQ4RDAxMjBF
NTQ1QjAwRjNFNzFBIC8qIEpTRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwOyBw
YXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0VGVzdFJ1bm5lci9KU0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlCQzhGRDhE
MTEyMEU1NDVCMDBGM0U3MUEgLyogSlNFdmVudFNlbmRpbmdDb250cm9sbGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOyBwYXRo
ID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0VGVzdFJ1bm5lci9KU0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJQkM5MTkyMDQxMzMz
RTRGODAwMzAxMURDIC8qIFRlc3RJbnZvY2F0aW9uQ0cubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBUZXN0SW52b2NhdGlvbkNHLm1tOyBwYXRoID0gY2cvVGVzdElu
dm9jYXRpb25DRy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM5MTkyMDQxMzMz
RTRGODAwMzAxMURDIC8qIFRlc3RJbnZvY2F0aW9uQ0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gVGVzdEludm9jYXRpb25DRy5jcHA7IHBhdGggPSBjZy9UZXN0SW52
b2NhdGlvbkNHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5NTJDMEIxMUYz
Qjk2NTAwMzM5OEI0IC8qIEpTV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5NTJDMEMx
MUYzQjk2NTAwMzM5OEI0IC8qIEpTV3JhcHBlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU1dyYXBwZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCQzk1MkMwRTExRjNCOTdCMDAzMzk4QjQgLyogSlNXcmFwcGFibGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXcmFwcGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTMyNyw3ICszMjcsNyBAQAogCQlCQzkxOTIwMjEzMzNFNENEMDAzMDExREMgLyog
Y2cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUJDOTE5
MjA0MTMzM0U0RjgwMDMwMTFEQyAvKiBUZXN0SW52b2NhdGlvbkNHLm1tICovLAorCQkJCUJDOTE5
MjA0MTMzM0U0RjgwMDMwMTFEQyAvKiBUZXN0SW52b2NhdGlvbkNHLmNwcCAqLywKIAkJCSk7CiAJ
CQluYW1lID0gY2c7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNDg2LDcgKzQ4Niw3
IEBACiAJCQkJQkM3OTM0MzExMThGN0YxOTAwNUVBOEUyIC8qIFRlc3RDb250cm9sbGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDOEM3OTVDMTFEMjc4NUQwMDQ1MzVBMSAvKiBUZXN0Q29udHJv
bGxlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRDdEMkY4MTE5MjEyNzgwMDZEQjdFRSAv
KiBUZXN0SW52b2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCQzkxOTIwNTEzMzNFNEY4
MDAzMDExREMgLyogVGVzdEludm9jYXRpb25DRy5tbSBpbiBTb3VyY2VzICovLAorCQkJCUJDOTE5
MjA1MTMzM0U0RjgwMDMwMTFEQyAvKiBUZXN0SW52b2NhdGlvbkNHLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTU2NzBCODI4MTM4NkZDQTUwMDJFQjM1NSAvKiBFdmVudFNlbmRlclByb3h5Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0
aW9uQ0cuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jZy9UZXN0SW52b2NhdGlvbkNHLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iZWQ4ZjU2MDFmZmM3ZTM4ZmRlMzFjZDFkNGJjZTlmZjgxMDhlZjY4Ci0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jZy9UZXN0SW52b2NhdGlv
bkNHLmNwcApAQCAtMCwwICsxLDE1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJUZXN0SW52b2NhdGlvbi5oIgorCisjaW5jbHVkZSAiUGl4ZWxEdW1wU3Vw
cG9ydC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2luY2x1ZGUgIlRlc3RDb250
cm9sbGVyLmgiCisjaW5jbHVkZSA8SW1hZ2VJTy9DR0ltYWdlRGVzdGluYXRpb24uaD4KKyNpbmNs
dWRlIDxXZWJLaXQyL1dLSW1hZ2VDRy5oPgorI2luY2x1ZGUgPHd0Zi9NRDUuaD4KKyNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgorCisjaWYg
UExBVEZPUk0oTUFDKQorI2luY2x1ZGUgPExhdW5jaFNlcnZpY2VzL1VUQ29yZVR5cGVzLmg+Cisj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKFdJTikKK3N0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrVVRU
eXBlUE5HID0gQ0ZTVFIoInB1YmxpYy5wbmciKTsKKyNlbmRpZgorCituYW1lc3BhY2UgV1RSIHsK
Kworc3RhdGljIENHQ29udGV4dFJlZiBjcmVhdGVDR0NvbnRleHRGcm9tSW1hZ2UoV0tJbWFnZVJl
ZiB3a0ltYWdlKQoreworICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBX
S0ltYWdlQ3JlYXRlQ0dJbWFnZSh3a0ltYWdlKSk7CisKKyAgICBzaXplX3QgcGl4ZWxzV2lkZSA9
IENHSW1hZ2VHZXRXaWR0aChpbWFnZS5nZXQoKSk7CisgICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBD
R0ltYWdlR2V0SGVpZ2h0KGltYWdlLmdldCgpKTsKKyAgICBzaXplX3Qgcm93Qnl0ZXMgPSAoNCAq
IHBpeGVsc1dpZGUgKyA2MykgJiB+NjM7CisgICAgdm9pZCogYnVmZmVyID0gY2FsbG9jKHBpeGVs
c0hpZ2gsIHJvd0J5dGVzKTsKKworICAgIENHQ29sb3JTcGFjZVJlZiBjb2xvclNwYWNlID0gQ0dD
b2xvclNwYWNlQ3JlYXRlRGV2aWNlUkdCKCk7CisgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBD
R0JpdG1hcENvbnRleHRDcmVhdGUoYnVmZmVyLCBwaXhlbHNXaWRlLCBwaXhlbHNIaWdoLCA4LCBy
b3dCeXRlcywgY29sb3JTcGFjZSwga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRGaXJzdCB8IGtD
R0JpdG1hcEJ5dGVPcmRlcjMySG9zdCk7CisgICAgQ0dDb2xvclNwYWNlUmVsZWFzZShjb2xvclNw
YWNlKTsKKyAgICAKKyAgICBDR0NvbnRleHREcmF3SW1hZ2UoY29udGV4dCwgQ0dSZWN0TWFrZSgw
LCAwLCBwaXhlbHNXaWRlLCBwaXhlbHNIaWdoKSwgaW1hZ2UuZ2V0KCkpOworCisgICAgcmV0dXJu
IGNvbnRleHQ7Cit9CisKK3ZvaWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JDb250ZXh0KENHQ29u
dGV4dFJlZiBiaXRtYXBDb250ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQoreworICAgIEFTU0VS
VChDR0JpdG1hcENvbnRleHRHZXRCaXRzUGVyUGl4ZWwoYml0bWFwQ29udGV4dCkgPT0gMzIpOyAv
LyBJbWFnZURpZmYgYXNzdW1lcyAzMiBiaXQgUkdCQSwgd2UgbXVzdCBhcyB3ZWxsLgorICAgIHNp
emVfdCBwaXhlbHNIaWdoID0gQ0dCaXRtYXBDb250ZXh0R2V0SGVpZ2h0KGJpdG1hcENvbnRleHQp
OworICAgIHNpemVfdCBwaXhlbHNXaWRlID0gQ0dCaXRtYXBDb250ZXh0R2V0V2lkdGgoYml0bWFw
Q29udGV4dCk7CisgICAgc2l6ZV90IGJ5dGVzUGVyUm93ID0gQ0dCaXRtYXBDb250ZXh0R2V0Qnl0
ZXNQZXJSb3coYml0bWFwQ29udGV4dCk7CisgICAgCisgICAgLy8gV2UgbmVlZCB0byBzd2FwIHRo
ZSBieXRlcyB0byBlbnN1cmUgY29uc2lzdGVudCBoYXNoZXMgaW5kZXBlbmRlbnRseSBvZiBlbmRp
YW5uZXNzCisgICAgTUQ1IG1kNTsKKyAgICB1bnNpZ25lZCBjaGFyKiBiaXRtYXBEYXRhID0gc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KENHQml0bWFwQ29udGV4dEdldERhdGEoYml0bWFwQ29u
dGV4dCkpOworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAoKENHQml0bWFwQ29udGV4dEdldEJp
dG1hcEluZm8oYml0bWFwQ29udGV4dCkgJiBrQ0dCaXRtYXBCeXRlT3JkZXJNYXNrKSA9PSBrQ0dC
aXRtYXBCeXRlT3JkZXIzMkJpZykgeworICAgICAgICBmb3IgKHVuc2lnbmVkIHJvdyA9IDA7IHJv
dyA8IHBpeGVsc0hpZ2g7IHJvdysrKSB7CisgICAgICAgICAgICBWZWN0b3I8dWludDhfdD4gYnVm
ZmVyKDQgKiBwaXhlbHNXaWRlKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgY29sdW1uID0g
MDsgY29sdW1uIDwgcGl4ZWxzV2lkZTsgY29sdW1uKyspCisgICAgICAgICAgICAgICAgYnVmZmVy
W2NvbHVtbl0gPSBPU1JlYWRMaXR0bGVJbnQzMihiaXRtYXBEYXRhLCA0ICogY29sdW1uKTsKKyAg
ICAgICAgICAgIG1kNS5hZGRCeXRlcyhidWZmZXIpOworICAgICAgICAgICAgYml0bWFwRGF0YSAr
PSBieXRlc1BlclJvdzsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisjZW5kaWYKKyAgICAgICAg
Zm9yICh1bnNpZ25lZCByb3cgPSAwOyByb3cgPCBwaXhlbHNIaWdoOyByb3crKykgeworICAgICAg
ICAgICAgbWQ1LmFkZEJ5dGVzKGJpdG1hcERhdGEsIDQgKiBwaXhlbHNXaWRlKTsKKyAgICAgICAg
ICAgIGJpdG1hcERhdGEgKz0gYnl0ZXNQZXJSb3c7CisgICAgICAgIH0KKyNpZiBQTEFURk9STShN
QUMpCisgICAgfQorI2VuZGlmCisKKyAgICBWZWN0b3I8dWludDhfdCwgMTY+IGhhc2g7CisgICAg
bWQ1LmNoZWNrc3VtKGhhc2gpOworICAgIAorICAgIGhhc2hTdHJpbmdbMF0gPSAnXDAnOworICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgMTY7IGkrKykKKyAgICAgICAgc25wcmludGYoaGFzaFN0cmlu
ZywgMzMsICIlcyUwMngiLCBoYXNoU3RyaW5nLCBoYXNoW2ldKTsKK30KKworc3RhdGljIHZvaWQg
ZHVtcEJpdG1hcChDR0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCwgY29uc3QgY2hhciogY2hlY2tz
dW0pCit7CisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0YsIENHQml0bWFw
Q29udGV4dENyZWF0ZUltYWdlKGJpdG1hcENvbnRleHQpKTsKKyAgICBSZXRhaW5QdHI8Q0ZNdXRh
YmxlRGF0YVJlZj4gaW1hZ2VEYXRhKEFkb3B0Q0YsIENGRGF0YUNyZWF0ZU11dGFibGUoMCwgMCkp
OworICAgIFJldGFpblB0cjxDR0ltYWdlRGVzdGluYXRpb25SZWY+IGltYWdlRGVzdChBZG9wdENG
LCBDR0ltYWdlRGVzdGluYXRpb25DcmVhdGVXaXRoRGF0YShpbWFnZURhdGEuZ2V0KCksIGtVVFR5
cGVQTkcsIDEsIDApKTsKKyAgICBDR0ltYWdlRGVzdGluYXRpb25BZGRJbWFnZShpbWFnZURlc3Qu
Z2V0KCksIGltYWdlLmdldCgpLCAwKTsKKyAgICBDR0ltYWdlRGVzdGluYXRpb25GaW5hbGl6ZShp
bWFnZURlc3QuZ2V0KCkpOworCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSA9IENGRGF0
YUdldEJ5dGVQdHIoaW1hZ2VEYXRhLmdldCgpKTsKKyAgICBjb25zdCBzaXplX3QgZGF0YUxlbmd0
aCA9IENGRGF0YUdldExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOworCisgICAgcHJpbnRQTkcoZGF0
YSwgZGF0YUxlbmd0aCwgY2hlY2tzdW0pOworfQorCitzdGF0aWMgdm9pZCBwYWludFJlcGFpbnRS
ZWN0T3ZlcmxheShDR0NvbnRleHRSZWYgY29udGV4dCwgV0tJbWFnZVJlZiBpbWFnZSwgV0tBcnJh
eVJlZiByZXBhaW50UmVjdHMpCit7CisgICAgV0tTaXplIGltYWdlU2l6ZSA9IFdLSW1hZ2VHZXRT
aXplKGltYWdlKTsKKworICAgIENHQ29udGV4dFNhdmVHU3RhdGUoY29udGV4dCk7CisKKyAgICAv
LyBVc2luZyBhIHRyYW5zcGFyZW5jeSBsYXllciBpcyBlYXNpZXIgdGhhbiBmdXR6aW5nIHdpdGgg
Y2xpcHBpbmcuCisgICAgQ0dDb250ZXh0QmVnaW5UcmFuc3BhcmVuY3lMYXllcihjb250ZXh0LCAw
KTsKKyAgICAKKyAgICAvLyBGbGlwIHRoZSBjb250ZXh0LgorICAgIENHQ29udGV4dFNjYWxlQ1RN
KGNvbnRleHQsIDEsIC0xKTsKKyAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgMCwg
LWltYWdlU2l6ZS5oZWlnaHQpOworICAgIAorICAgIENHQ29udGV4dFNldFJHQkZpbGxDb2xvcihj
b250ZXh0LCAwLCAwLCAwLCBzdGF0aWNfY2FzdDxDR0Zsb2F0PigwLjY2KSk7CisgICAgQ0dDb250
ZXh0RmlsbFJlY3QoY29udGV4dCwgQ0dSZWN0TWFrZSgwLCAwLCBpbWFnZVNpemUud2lkdGgsIGlt
YWdlU2l6ZS5oZWlnaHQpKTsKKworICAgIC8vIENsZWFyIHRoZSByZXBhaW50IHJlY3RzLgorICAg
IHNpemVfdCBjb3VudCA9IFdLQXJyYXlHZXRTaXplKHJlcGFpbnRSZWN0cyk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CisgICAgICAgIFdLUmVjdCByZWN0ID0gV0tS
ZWN0R2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tSZWN0UmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgo
cmVwYWludFJlY3RzLCBpKSkpOworICAgICAgICBDR1JlY3QgY2dSZWN0ID0gQ0dSZWN0TWFrZShy
ZWN0Lm9yaWdpbi54LCByZWN0Lm9yaWdpbi55LCByZWN0LnNpemUud2lkdGgsIHJlY3Quc2l6ZS5o
ZWlnaHQpOworICAgICAgICBDR0NvbnRleHRDbGVhclJlY3QoY29udGV4dCwgY2dSZWN0KTsKKyAg
ICB9CisgICAgCisgICAgQ0dDb250ZXh0RW5kVHJhbnNwYXJlbmN5TGF5ZXIoY29udGV4dCk7Cisg
ICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKK30KKwordm9pZCBUZXN0SW52b2Nh
dGlvbjo6ZHVtcFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQoV0tJbWFnZVJlZiBpbWFnZSwg
V0tBcnJheVJlZiByZXBhaW50UmVjdHMpCit7CisgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBj
cmVhdGVDR0NvbnRleHRGcm9tSW1hZ2UoaW1hZ2UpOworCisgICAgLy8gQSBub24tbnVsbCByZXBh
aW50UmVjdHMgYXJyYXkgbWVhbnMgd2UncmUgZG9pbmcgYSByZXBhaW50IHRlc3QuCisgICAgaWYg
KHJlcGFpbnRSZWN0cykKKyAgICAgICAgcGFpbnRSZXBhaW50UmVjdE92ZXJsYXkoY29udGV4dCwg
aW1hZ2UsIHJlcGFpbnRSZWN0cyk7CisKKyAgICBjaGFyIGFjdHVhbEhhc2hbMzNdOworICAgIGNv
bXB1dGVNRDVIYXNoU3RyaW5nRm9yQ29udGV4dChjb250ZXh0LCBhY3R1YWxIYXNoKTsKKyAgICBp
ZiAoIWNvbXBhcmVBY3R1YWxIYXNoVG9FeHBlY3RlZEFuZER1bXBSZXN1bHRzKGFjdHVhbEhhc2gp
KQorICAgICAgICBkdW1wQml0bWFwKGNvbnRleHQsIGFjdHVhbEhhc2gpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdElu
dm9jYXRpb25DRy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRpb25D
Ry5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NmZDkzZDRkYWZhZTdmZWY2MTQ0
NWQ0MDkyZDhmYjM2YTZjMDZhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cubW0K
KysrIC9kZXYvbnVsbApAQCAtMSwxNjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJUZXN0SW52b2NhdGlvbi5oIgotCi0jaW5jbHVkZSAiUGl4ZWxE
dW1wU3VwcG9ydC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgotI2luY2x1ZGUgIlRl
c3RDb250cm9sbGVyLmgiCi0jaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlv
blNlcnZpY2VzLmg+Ci0jaW5jbHVkZSA8SW1hZ2VJTy9DR0ltYWdlRGVzdGluYXRpb24uaD4KLSNp
bmNsdWRlIDxXZWJLaXQyL1dLSW1hZ2VDRy5oPgotI2luY2x1ZGUgPHd0Zi9NRDUuaD4KLSNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgotCi0j
aWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUgPExhdW5jaFNlcnZpY2VzL1VUQ29yZVR5cGVzLmg+
Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKFdJTikKLXN0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBr
VVRUeXBlUE5HID0gQ0ZTVFIoInB1YmxpYy5wbmciKTsKLSNlbmRpZgotCi1uYW1lc3BhY2UgV1RS
IHsKLQotc3RhdGljIENHQ29udGV4dFJlZiBjcmVhdGVCaXRtYXBDR0NvbnRleHQoc2l6ZV90IHdp
ZHRoLCBzaXplX3QgaGVpZ2h0KQotewotICAgIHNpemVfdCByb3dCeXRlcyA9ICg0ICogd2lkdGgg
KyA2MykgJiB+NjM7Ci0gICAgdm9pZCogYnVmZmVyID0gY2FsbG9jKGhlaWdodCwgcm93Qnl0ZXMp
OwotCi0gICAgQ0dDb2xvclNwYWNlUmVmIGNvbG9yU3BhY2UgPSBDR0NvbG9yU3BhY2VDcmVhdGVE
ZXZpY2VSR0IoKTsKLSAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IENHQml0bWFwQ29udGV4dENy
ZWF0ZShidWZmZXIsIHdpZHRoLCBoZWlnaHQsIDgsIHJvd0J5dGVzLCBjb2xvclNwYWNlLCBrQ0dJ
bWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0IHwga0NHQml0bWFwQnl0ZU9yZGVyMzJIb3N0KTsK
LSAgICBDR0NvbG9yU3BhY2VSZWxlYXNlKGNvbG9yU3BhY2UpOwotICAgIAotICAgIHJldHVybiBj
b250ZXh0OwotfQotCi12b2lkIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQ29udGV4dChDR0NvbnRl
eHRSZWYgYml0bWFwQ29udGV4dCwgY2hhciBoYXNoU3RyaW5nWzMzXSkKLXsKLSAgICBBU1NFUlQo
Q0dCaXRtYXBDb250ZXh0R2V0Qml0c1BlclBpeGVsKGJpdG1hcENvbnRleHQpID09IDMyKTsgLy8g
SW1hZ2VEaWZmIGFzc3VtZXMgMzIgYml0IFJHQkEsIHdlIG11c3QgYXMgd2VsbC4KLSAgICBzaXpl
X3QgcGl4ZWxzSGlnaCA9IENHQml0bWFwQ29udGV4dEdldEhlaWdodChiaXRtYXBDb250ZXh0KTsK
LSAgICBzaXplX3QgcGl4ZWxzV2lkZSA9IENHQml0bWFwQ29udGV4dEdldFdpZHRoKGJpdG1hcENv
bnRleHQpOwotICAgIHNpemVfdCBieXRlc1BlclJvdyA9IENHQml0bWFwQ29udGV4dEdldEJ5dGVz
UGVyUm93KGJpdG1hcENvbnRleHQpOwotICAgIAotICAgIC8vIFdlIG5lZWQgdG8gc3dhcCB0aGUg
Ynl0ZXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgaGFzaGVzIGluZGVwZW5kZW50bHkgb2YgZW5kaWFu
bmVzcwotICAgIE1ENSBtZDU7Ci0gICAgdW5zaWduZWQgY2hhciogYml0bWFwRGF0YSA9IHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGNoYXIqPihDR0JpdG1hcENvbnRleHRHZXREYXRhKGJpdG1hcENvbnRl
eHQpKTsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKChDR0JpdG1hcENvbnRleHRHZXRCaXRt
YXBJbmZvKGJpdG1hcENvbnRleHQpICYga0NHQml0bWFwQnl0ZU9yZGVyTWFzaykgPT0ga0NHQml0
bWFwQnl0ZU9yZGVyMzJCaWcpIHsKLSAgICAgICAgZm9yICh1bnNpZ25lZCByb3cgPSAwOyByb3cg
PCBwaXhlbHNIaWdoOyByb3crKykgewotICAgICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZl
cig0ICogcGl4ZWxzV2lkZSk7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGNvbHVtbiA9IDA7
IGNvbHVtbiA8IHBpeGVsc1dpZGU7IGNvbHVtbisrKQotICAgICAgICAgICAgICAgIGJ1ZmZlcltj
b2x1bW5dID0gT1NSZWFkTGl0dGxlSW50MzIoYml0bWFwRGF0YSwgNCAqIGNvbHVtbik7Ci0gICAg
ICAgICAgICBtZDUuYWRkQnl0ZXMoYnVmZmVyKTsKLSAgICAgICAgICAgIGJpdG1hcERhdGEgKz0g
Ynl0ZXNQZXJSb3c7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotI2VuZGlmCi0gICAgICAgIGZv
ciAodW5zaWduZWQgcm93ID0gMDsgcm93IDwgcGl4ZWxzSGlnaDsgcm93KyspIHsKLSAgICAgICAg
ICAgIG1kNS5hZGRCeXRlcyhiaXRtYXBEYXRhLCA0ICogcGl4ZWxzV2lkZSk7Ci0gICAgICAgICAg
ICBiaXRtYXBEYXRhICs9IGJ5dGVzUGVyUm93OwotICAgICAgICB9Ci0jaWYgUExBVEZPUk0oTUFD
KQotICAgIH0KLSNlbmRpZgotCi0gICAgVmVjdG9yPHVpbnQ4X3QsIDE2PiBoYXNoOwotICAgIG1k
NS5jaGVja3N1bShoYXNoKTsKLSAgICAKLSAgICBoYXNoU3RyaW5nWzBdID0gJ1wwJzsKLSAgICBm
b3IgKGludCBpID0gMDsgaSA8IDE2OyBpKyspCi0gICAgICAgIHNucHJpbnRmKGhhc2hTdHJpbmcs
IDMzLCAiJXMlMDJ4IiwgaGFzaFN0cmluZywgaGFzaFtpXSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1
bXBCaXRtYXAoQ0dDb250ZXh0UmVmIGJpdG1hcENvbnRleHQsIGNvbnN0IGNoYXIqIGNoZWNrc3Vt
KQotewotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBDR0JpdG1hcENv
bnRleHRDcmVhdGVJbWFnZShiaXRtYXBDb250ZXh0KSk7Ci0gICAgUmV0YWluUHRyPENGTXV0YWJs
ZURhdGFSZWY+IGltYWdlRGF0YShBZG9wdENGLCBDRkRhdGFDcmVhdGVNdXRhYmxlKDAsIDApKTsK
LSAgICBSZXRhaW5QdHI8Q0dJbWFnZURlc3RpbmF0aW9uUmVmPiBpbWFnZURlc3QoQWRvcHRDRiwg
Q0dJbWFnZURlc3RpbmF0aW9uQ3JlYXRlV2l0aERhdGEoaW1hZ2VEYXRhLmdldCgpLCBrVVRUeXBl
UE5HLCAxLCAwKSk7Ci0gICAgQ0dJbWFnZURlc3RpbmF0aW9uQWRkSW1hZ2UoaW1hZ2VEZXN0Lmdl
dCgpLCBpbWFnZS5nZXQoKSwgMCk7Ci0gICAgQ0dJbWFnZURlc3RpbmF0aW9uRmluYWxpemUoaW1h
Z2VEZXN0LmdldCgpKTsKLQotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEgPSBDRkRhdGFH
ZXRCeXRlUHRyKGltYWdlRGF0YS5nZXQoKSk7Ci0gICAgY29uc3Qgc2l6ZV90IGRhdGFMZW5ndGgg
PSBDRkRhdGFHZXRMZW5ndGgoaW1hZ2VEYXRhLmdldCgpKTsKLQotICAgIHByaW50UE5HKGRhdGEs
IGRhdGFMZW5ndGgsIGNoZWNrc3VtKTsKLX0KLQotc3RhdGljIHZvaWQgcGFpbnRSZXBhaW50UmVj
dE92ZXJsYXkoQ0dDb250ZXh0UmVmIGNvbnRleHQsIFdLSW1hZ2VSZWYgaW1hZ2UsIFdLQXJyYXlS
ZWYgcmVwYWludFJlY3RzKQotewotICAgIFdLU2l6ZSBpbWFnZVNpemUgPSBXS0ltYWdlR2V0U2l6
ZShpbWFnZSk7Ci0KLSAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOwotCi0gICAgLy8g
VXNpbmcgYSB0cmFuc3BhcmVuY3kgbGF5ZXIgaXMgZWFzaWVyIHRoYW4gZnV0emluZyB3aXRoIGNs
aXBwaW5nLgotICAgIENHQ29udGV4dEJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoY29udGV4dCwgMCk7
Ci0gICAgCi0gICAgLy8gRmxpcCB0aGUgY29udGV4dC4KLSAgICBDR0NvbnRleHRTY2FsZUNUTShj
b250ZXh0LCAxLCAtMSk7Ci0gICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIDAsIC1p
bWFnZVNpemUuaGVpZ2h0KTsKLSAgICAKLSAgICBDR0NvbnRleHRTZXRSR0JGaWxsQ29sb3IoY29u
dGV4dCwgMCwgMCwgMCwgc3RhdGljX2Nhc3Q8Q0dGbG9hdD4oMC42NikpOwotICAgIENHQ29udGV4
dEZpbGxSZWN0KGNvbnRleHQsIENHUmVjdE1ha2UoMCwgMCwgaW1hZ2VTaXplLndpZHRoLCBpbWFn
ZVNpemUuaGVpZ2h0KSk7Ci0KLSAgICAvLyBDbGVhciB0aGUgcmVwYWludCByZWN0cy4KLSAgICBz
aXplX3QgY291bnQgPSBXS0FycmF5R2V0U2l6ZShyZXBhaW50UmVjdHMpOwotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewotICAgICAgICBXS1JlY3QgcmVjdCA9IFdLUmVj
dEdldFZhbHVlKHN0YXRpY19jYXN0PFdLUmVjdFJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KHJl
cGFpbnRSZWN0cywgaSkpKTsKLSAgICAgICAgQ0dSZWN0IGNnUmVjdCA9IENHUmVjdE1ha2UocmVj
dC5vcmlnaW4ueCwgcmVjdC5vcmlnaW4ueSwgcmVjdC5zaXplLndpZHRoLCByZWN0LnNpemUuaGVp
Z2h0KTsKLSAgICAgICAgQ0dDb250ZXh0Q2xlYXJSZWN0KGNvbnRleHQsIGNnUmVjdCk7Ci0gICAg
fQotICAgIAotICAgIENHQ29udGV4dEVuZFRyYW5zcGFyZW5jeUxheWVyKGNvbnRleHQpOwotICAg
IENHQ29udGV4dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7Ci19Ci0KLXZvaWQgVGVzdEludm9jYXRp
b246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKFdLSW1hZ2VSZWYgaW1hZ2UsIFdL
QXJyYXlSZWYgcmVwYWludFJlY3RzKQotewotICAgIC8vIFdlIGRvbid0IHVzZSB0aGUgaW1hZ2Ug
cGFzc2VkIGZyb20gdGhlIFdlYlByb2Nlc3MsIGJlY2F1c2UgaXQgZG9lc24ndCBjb3JyZWN0bHkg
Y2FwdHVyZSBjb21wb3NpdGluZyBsYXllcnMuIEluc3RlYWQsIHNuYXBzaG90Ci0gICAgLy8gdGhl
IHdpbmRvdyB2aWEgQ0dXaW5kb3dMaXN0Q3JlYXRlSW1hZ2UuCi0gICAgUGxhdGZvcm1XZWJWaWV3
KiB3ZWJWaWV3ID0gVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm1haW5XZWJWaWV3KCk7Ci0gICAg
W3dlYlZpZXctPnBsYXRmb3JtVmlldygpIGRpc3BsYXldOwotICAgIFJldGFpblB0cjxDR0ltYWdl
UmVmPiB3aW5kb3dTbmFwc2hvdEltYWdlKEFkb3B0Q0YsIENHV2luZG93TGlzdENyZWF0ZUltYWdl
KENHUmVjdE51bGwsIGtDR1dpbmRvd0xpc3RPcHRpb25JbmNsdWRpbmdXaW5kb3csIFt3ZWJWaWV3
LT5wbGF0Zm9ybVdpbmRvdygpIHdpbmRvd051bWJlcl0sIGtDR1dpbmRvd0ltYWdlQm91bmRzSWdu
b3JlRnJhbWluZyB8IGtDR1dpbmRvd0ltYWdlU2hvdWxkQmVPcGFxdWUpKTsKLQotICAgIFJldGFp
blB0cjxDR0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRDRiwgY3JlYXRlQml0bWFwQ0dDb250ZXh0
KENHSW1hZ2VHZXRXaWR0aCh3aW5kb3dTbmFwc2hvdEltYWdlLmdldCgpKSwgQ0dJbWFnZUdldEhl
aWdodCh3aW5kb3dTbmFwc2hvdEltYWdlLmdldCgpKSkpOwotICAgIENHQ29udGV4dERyYXdJbWFn
ZShjb250ZXh0LmdldCgpLCBDR1JlY3RNYWtlKDAsIDAsIENHSW1hZ2VHZXRXaWR0aCh3aW5kb3dT
bmFwc2hvdEltYWdlLmdldCgpKSwgQ0dJbWFnZUdldEhlaWdodCh3aW5kb3dTbmFwc2hvdEltYWdl
LmdldCgpKSksIHdpbmRvd1NuYXBzaG90SW1hZ2UuZ2V0KCkpOwotCi0gICAgLy8gQSBub24tbnVs
bCByZXBhaW50UmVjdHMgYXJyYXkgbWVhbnMgd2UncmUgZG9pbmcgYSByZXBhaW50IHRlc3QuCi0g
ICAgaWYgKHJlcGFpbnRSZWN0cykKLSAgICAgICAgcGFpbnRSZXBhaW50UmVjdE92ZXJsYXkoY29u
dGV4dC5nZXQoKSwgaW1hZ2UsIHJlcGFpbnRSZWN0cyk7Ci0KLSAgICBjaGFyIGFjdHVhbEhhc2hb
MzNdOwotICAgIGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQ29udGV4dChjb250ZXh0LmdldCgpLCBh
Y3R1YWxIYXNoKTsKLSAgICBpZiAoIWNvbXBhcmVBY3R1YWxIYXNoVG9FeHBlY3RlZEFuZER1bXBS
ZXN1bHRzKGFjdHVhbEhhc2gpKQotICAgICAgICBkdW1wQml0bWFwKGNvbnRleHQuZ2V0KCksIGFj
dHVhbEhhc2gpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbSBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQppbmRleCAzY2MzZTI5MmMyNzJmOWEy
ODdiMDkyNmY5ZTAzMjUxOGU2MmZhZjkxLi4wZDJkMzg0YTNhNjA1YjE5M2FhYTllYzA1MDA0OTY1
NjZkZDM4ZjBlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9y
bVdlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1X
ZWJWaWV3TWFjLm1tCkBAIC01NCw2ICs1NCw3IEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1X
ZWJWaWV3KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvCiAg
ICAgW21fd2luZG93IHNldENvbG9yU3BhY2U6W05TQ29sb3JTcGFjZSBnZW5lcmljUkdCQ29sb3JT
cGFjZV1dOwogICAgIFtbbV93aW5kb3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6bV92aWV3XTsK
ICAgICBbbV93aW5kb3cgb3JkZXJCYWNrOm5pbF07CisgICAgW21fd2luZG93IHNldEF1dG9kaXNw
bGF5Ok5PXTsKICAgICBbbV93aW5kb3cgc2V0UmVsZWFzZWRXaGVuQ2xvc2VkOk5PXTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>