<?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>43626</bug_id>
          
          <creation_ts>2010-08-06 09:46:49 -0700</creation_ts>
          <short_desc>REGRESSION(r64849): This patch did not compile on Windows (Requested by abarth on #webkit).</short_desc>
          <delta_ts>2010-08-06 09:52:48 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>43207</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>261307</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-06 09:46:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/64849 broke the build:
This patch did not compile on Windows (Requested by abarth 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>261308</commentid>
    <comment_count>1</comment_count>
      <attachid>63734</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-06 09:46:58 -0700</bug_when>
    <thetext>Created attachment 63734
ROLLOUT of r64849

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 --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261313</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-06 09:52:48 -0700</bug_when>
    <thetext>Looks like jberlin is trying to fix this live.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63734</attachid>
            <date>2010-08-06 09:46:58 -0700</date>
            <delta_ts>2010-08-06 09:52:13 -0700</delta_ts>
            <desc>ROLLOUT of r64849</desc>
            <filename>bug-43626-20100806164657.patch</filename>
            <type>text/plain</type>
            <size>27350</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FuZHJvaWQubWsgYi9KYXZhU2NyaXB0Q29yZS9B
bmRyb2lkLm1rCmluZGV4IDhkZDUzYzE5MzgxMWMwOGI0ZjNjOWZiNjRkNDIzZmNlMWM2ZGIzNjYu
LjFjNzE1YTFjM2EyNDIyY2FhYjQzZmFlODdhNzlhN2YyMjA0ZWMyYTIgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL0FuZHJvaWQubWsKKysrIGIvSmF2YVNjcmlwdENvcmUvQW5kcm9pZC5tawpA
QCAtOTYsNyArOTYsNiBAQCBMT0NBTF9TUkNfRklMRVMgOj0gXAogCXJ1bnRpbWUvRXhlY3V0YWJs
ZS5jcHAgXAogCXJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgXAogCXJ1bnRpbWUvRnVu
Y3Rpb25Qcm90b3R5cGUuY3BwIFwKLQlydW50aW1lL0dDSGFuZGxlLmNwcCBcCiAJcnVudGltZS9H
ZXR0ZXJTZXR0ZXIuY3BwIFwKIAlydW50aW1lL0dsb2JhbEV2YWxGdW5jdGlvbi5jcHAgXAogCXJ1
bnRpbWUvSWRlbnRpZmllci5jcHAgXApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg2ZjA5NzM2ZjdiMzIxOTJhOTlk
MjM0OTA1MjM5OGI3NzEwZTZmM2QuLjMxMDhjZmFmZDUxNmZkOGE4MWE0NjY1MjRiYjVhZDdmNjFm
N2I4YmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0wOC0wNiAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjY0ODQ5LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC82NDg0OQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDM2MjYKKworICAgICAgICBUaGlzIHBhdGNoIGRpZCBub3QgY29tcGlsZSBvbiBXaW5kb3dz
IChSZXF1ZXN0ZWQgYnkgYWJhcnRoIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICog
QW5kcm9pZC5tazoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS5wcm86CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBydW50aW1lL0NvbGxlY3Rvci5jcHA6CisgICAgICAg
IChKU0M6OkhlYXA6OmRlc3Ryb3kpOgorICAgICAgICAoSlNDOjpIZWFwOjphbGxvY2F0ZUJsb2Nr
KToKKyAgICAgICAgKEpTQzo6SGVhcDo6ZnJlZUJsb2NrKToKKyAgICAgICAgKEpTQzo6SGVhcDo6
bWFya1Jvb3RzKToKKyAgICAgICAgKiBydW50aW1lL0NvbGxlY3Rvci5oOgorICAgICAgICAoSlND
OjpIZWFwOjphbGxvY2F0ZU51bWJlcik6CisgICAgICAgICogcnVudGltZS9HQ0hhbmRsZS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogcnVudGltZS9HQ0hhbmRsZS5oOiBSZW1vdmVkLgorICAgICAg
ICAqIHJ1bnRpbWUvV2Vha0dDUHRyLmg6CisgICAgICAgIChKU0M6OldlYWtHQ1B0cjo6V2Vha0dD
UHRyKToKKyAgICAgICAgKEpTQzo6V2Vha0dDUHRyOjpnZXQpOgorICAgICAgICAoSlNDOjpXZWFr
R0NQdHI6OmNsZWFyKToKKyAgICAgICAgKEpTQzo6V2Vha0dDUHRyOjphc3NpZ24pOgorICAgICAg
ICAoSlNDOjpnZXRQdHIpOgorCiAyMDEwLTA4LTA2ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgV2luZG93cyBCdWlsZCBGaXguIFVucmV2aWV3ZWQuCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IDJlYWQ4ZTAwODExMGIzNTdkOWM3ZmI0ZTRiMmVhNDYwYzA2YmQx
NzIuLjI2ODQ3MWEzOTM1ZWVmYmU4ZThjOGQ2ZmMwMTExMDdmYmM4MmQyOWYgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1h
a2VmaWxlLmFtCkBAIC0yNjgsOCArMjY4LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBc
CiAJSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblByb3RvdHlwZS5oIFwKIAlKYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAgXAogCUphdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmggXAotCUphdmFTY3JpcHRDb3JlL3J1bnRpbWUv
R0NIYW5kbGUuY3BwIFwKLQlKYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDSGFuZGxlLmggXAogCUph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVyLmNwcCBcCiAJSmF2YVNjcmlwdENvcmUv
cnVudGltZS9HZXR0ZXJTZXR0ZXIuaCBcCiAJSmF2YVNjcmlwdENvcmUvcnVudGltZS9HbG9iYWxF
dmFsRnVuY3Rpb24uY3BwIFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmV4cCBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCBlYjFhYThk
NzVhODY2MjA1YzJjMWFlNjIyZTIzNjYzNGU4Zjg5ZTA4Li41OTY1NjgxMGQ0MmZmMjgyZmM0Mzll
MjA1ZWQ0MjY2NmIxZjljYmViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5leHAKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0xNDEs
NyArMTQxLDYgQEAgX19aTjNKU0MxMlN0cmluZ09iamVjdDI0Z2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWUKIF9fWk4zSlNDMTJTdHJpbmdPYmpl
Y3QzcHV0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRVJOU18x
NVB1dFByb3BlcnR5U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Q0aW5mb0UKIF9fWk4zSlND
MTJTdHJpbmdPYmplY3RDMkVQTlNfOUV4ZWNTdGF0ZUVOM1dURjE3Tm9uTnVsbFBhc3NSZWZQdHJJ
TlNfOVN0cnVjdHVyZUVFRVJLTlNfN1VTdHJpbmdFCi1fX1pOM0pTQzEyV2Vha0dDSGFuZGxlNHBv
b2xFdgogX19aTjNKU0MxMmpzTnVtYmVyQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVkCiBfX1pOM0pTQzEy
bm9uSW5saW5lTmFORXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzNHN0b3BFdgpAQCAtMTcyLDcg
KzE3MSw2IEBAIF9fWk4zSlNDMTZJbnRlcm5hbEZ1bmN0aW9uQzJFUE5TXzEySlNHbG9iYWxEYXRh
RVBOU18xNEpTR2xvYmFsT2JqZWN0RU4zV1RGMTdOb25OCiBfX1pOM0pTQzE2SlNWYXJpYWJsZU9i
amVjdDE0ZGVsZXRlUHJvcGVydHlFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFCiBf
X1pOM0pTQzE2SlNWYXJpYWJsZU9iamVjdDE0c3ltYm9sVGFibGVHZXRFUktOU18xMElkZW50aWZp
ZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0MxNkpTVmFyaWFibGVPYmplY3Qx
OWdldE93blByb3BlcnR5TmFtZXNFUE5TXzlFeGVjU3RhdGVFUk5TXzE3UHJvcGVydHlOYW1lQXJy
YXlFTlNfMTVFbnVtZXJhdGlvbk1vZGVFCi1fX1pOM0pTQzE2V2Vha0dDSGFuZGxlUG9vbDRmcmVl
RVBOU18xMldlYWtHQ0hhbmRsZUUKIF9fWk4zSlNDMTZjcmVhdGVSYW5nZUVycm9yRVBOU185RXhl
Y1N0YXRlRVJLTlNfN1VTdHJpbmdFCiBfX1pOM0pTQzE2dGhyb3dTeW50YXhFcnJvckVQTlNfOUV4
ZWNTdGF0ZUUKIF9fWk4zSlNDMTZ0b1VJbnQzMlNsb3dDYXNlRWRSYgpAQCAtMjAzLDcgKzIwMSw2
IEBAIF9fWk4zSlNDMjVldmFsdWF0ZUluR2xvYmFsQ2FsbEZyYW1lRVJLTlNfN1VTdHJpbmdFUk5T
XzdKU1ZhbHVlRVBOU18xNEpTR2xvYmFsT2JqCiBfX1pOM0pTQzM1Y3JlYXRlSW50ZXJydXB0ZWRF
eGVjdXRpb25FeGNlcHRpb25FUE5TXzEySlNHbG9iYWxEYXRhRQogX19aTjNKU0MzTmFORQogX19a
TjNKU0M0SGVhcDE0cHJpbWFyeUhlYXBFbmRFdgotX19aTjNKU0M0SGVhcDE1YWRkV2Vha0dDSGFu
ZGxlRVBOU182SlNDZWxsRQogX19aTjNKU0M0SGVhcDE1cmVjb3JkRXh0cmFDb3N0RW0KIF9fWk4z
SlNDNEhlYXAxNm9iamVjdFR5cGVDb3VudHNFdgogX19aTjNKU0M0SGVhcDE2cHJpbWFyeUhlYXBC
ZWdpbkV2CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBhODVkMTFjM2ZmZWE3ZGQ4
YTUyYWMwNjY1ZGM4ZjNhOTg3NDlmMzA2Li5lNDhkNWViMGQxMWFhYTI4OTgyZDcyZTkzNWFkNjEw
NWZmZjE1Y2YxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBp
CisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTIxNyw4ICsyMTcs
NiBAQAogICAgICAgICAgICAgJ3J1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaCcsCiAgICAgICAg
ICAgICAncnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwJywKICAgICAgICAgICAgICdydW50
aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oJywKLSAgICAgICAgICAgICdydW50aW1lL0dDSGFuZGxl
LmNwcCcsCi0gICAgICAgICAgICAncnVudGltZS9HQ0hhbmRsZS5oJywKICAgICAgICAgICAgICdy
dW50aW1lL0dldHRlclNldHRlci5jcHAnLAogICAgICAgICAgICAgJ3J1bnRpbWUvR2V0dGVyU2V0
dGVyLmgnLAogICAgICAgICAgICAgJ3J1bnRpbWUvR2xvYmFsRXZhbEZ1bmN0aW9uLmNwcCcsCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8gYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8KaW5kZXggZDZjNDQyMDg4ZmUyYmYxYTU5MmZmYWYxMjlk
NDdlMDFjMzgzNzEwMi4uODhjYTg3NjYwNTZmNzYyMThmNDI0OTlkNDQ4ZjMwMzM5YmZmMzFkMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCisrKyBiL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnBybwpAQCAtMTQwLDcgKzE0MCw2IEBAIFNPVVJDRVMg
Kz0gXAogICAgIHJ1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAgXAogICAgIHJ1bnRpbWUv
RnVuY3Rpb25Qcm90b3R5cGUuY3BwIFwKICAgICBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5j
cHAgXAotICAgIHJ1bnRpbWUvR0NIYW5kbGUuY3BwIFwKICAgICBydW50aW1lL0dldHRlclNldHRl
ci5jcHAgXAogICAgIHJ1bnRpbWUvR2xvYmFsRXZhbEZ1bmN0aW9uLmNwcCBcCiAgICAgcnVudGlt
ZS9JZGVudGlmaWVyLmNwcCBcCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkODUyNjRkN2ZhY2RlYjIyZTk5
ZTg0Mjg0ZjQ0ZTJjMDhiZTk0YWU3Li5mM2QzMjRkMzMxODVmNGE0NWNmYWQ2YmJlZTA5YzBkMWRi
OTY2NGVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUxMiwxMiArNTEyLDYgQEAKIAkJREQyNzI0Njgx
MjA4RDFGRjAwRjlBQkU3IC8qIEFsaWduZWRNZW1vcnlBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEREMjcyNDY3MTIwOEQxRkYwMEY5QUJF
NyAvKiBBbGlnbmVkTWVtb3J5QWxsb2NhdG9yLmggKi87IH07CiAJCUREMjcyNDY5MTIwOEQxRkYw
MEY5QUJFNyAvKiBBbGlnbmVkTWVtb3J5QWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERDI3MjQ2NzEyMDhEMUZGMDBGOUFCRTcgLyogQWxp
Z25lZE1lbW9yeUFsbG9jYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUREMzc3Q0JDMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEREMzc3Q0JCMTIwNzJD
MTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQlEREU4MkFEMzEyMDlEOTU1MDA1QzE3NTYgLyogR0NIYW5kbGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFODJBRDEx
MjA5RDk1NTAwNUMxNzU2IC8qIEdDSGFuZGxlLmNwcCAqLzsgfTsKLQkJRERFODJBRDQxMjA5RDk1
NTAwNUMxNzU2IC8qIEdDSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IERERTgyQUQxMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5jcHAg
Ki87IH07Ci0JCURERTgyQUQ1MTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREU4MkFEMTEyMDlEOTU1
MDA1QzE3NTYgLyogR0NIYW5kbGUuY3BwICovOyB9OwotCQlEREU4MkFENjEyMDlEOTU1MDA1QzE3
NTYgLyogR0NIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IERERTgyQUQyMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5oICovOyB9OwotCQlE
REU4MkFENzEyMDlEOTU1MDA1QzE3NTYgLyogR0NIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFODJBRDExMjA5RDk1NTAwNUMxNzU2IC8q
IEdDSGFuZGxlLmNwcCAqLzsgfTsKLQkJRERFODJBRDgxMjA5RDk1NTAwNUMxNzU2IC8qIEdDSGFu
ZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREU4
MkFEMjEyMDlEOTU1MDA1QzE3NTYgLyogR0NIYW5kbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlEREY3QUJENDExRjYwRUQyMDAxMDhFMzYgLyog
R0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBEREY3QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNr
LmggKi87IH07CiAJCURERjdBQkQ1MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJh
Y2tDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
REY3QUJEMzExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovOyB9
OwogCQlFMTI0QThGNzBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY1MEU1NTU3NzUw
MDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0xMDY0LDggKzEwNTgsNiBAQAogCQlEMjEyMDIyOTBBRDQz
MTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUREMjcyNDY3MTIwOEQxRkYwMEY5QUJFNyAvKiBBbGlnbmVkTWVtb3J5QWxsb2NhdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFsaWduZWRNZW1vcnlBbGxvY2F0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREQzNzdDQkIxMjA3MkMxODAwNkEyNTE3IC8q
IEJpdG1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCaXRtYXAuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRERFODJBRDExMjA5RDk1NTAwNUMxNzU2IC8qIEdD
SGFuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDSGFuZGxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRERFODJBRDIxMjA5RDk1NTAwNUMx
NzU2IC8qIEdDSGFuZGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDSGFu
ZGxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERjdBQkQyMTFGNjBFRDIwMDEw
OEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CURERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMUQ1MTc1MEIyRTc5OEQwMDU2QzE4
OCAvKiBTdHJpbmdFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Ry
aW5nRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjMyLDggKzE2MjQs
NiBAQAogCQkJCUJDMjY4MEMxMEUxNkQ0RTkwMEEwNkU5MiAvKiBGdW5jdGlvbkNvbnN0cnVjdG9y
LmggKi8sCiAJCQkJRjY5MkE4NUMwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9uUHJvdG90eXBl
LmNwcCAqLywKIAkJCQlGNjkyQTg1RDAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5
cGUuaCAqLywKLQkJCQlEREU4MkFEMTEyMDlEOTU1MDA1QzE3NTYgLyogR0NIYW5kbGUuY3BwICov
LAotCQkJCURERTgyQUQyMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5oICovLAogCQkJCUJD
MDJFOUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAogCQkJCUJDMzM3
QkRFMEUxQUYwQjgwMDc2OTE4QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLywKIAkJCQlCQzI1N0RFRDBF
MUY1MkVEMDAxNkI2QzkgLyogR2xvYmFsRXZhbEZ1bmN0aW9uLmNwcCAqLywKQEAgLTE5MjIsNyAr
MTkxMiw2IEBACiAJCQkJMTQ0MDA1Q0MwQTUzMzhGODAwMDVGMDYxIC8qIE5vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTE0NDAwNzRBMEE1MzZDQzIwMDA1RjA2MSAvKiBOb2RlTGlzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJREQyNzI0NjgxMjA4RDFGRjAwRjlBQkU3IC8qIEFsaWduZWRNZW1vcnlB
bGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCURERTgyQUQ2MTIwOUQ5NTUwMDVDMTc1NiAv
KiBHQ0hhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMjI1LDcgKzIyMTQsNiBAQAogCQkJCTk2
ODhDQjE2MEVEMTJCNEUwMDFENjQ5RiAvKiBYODZBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCURERjdBQkQ0MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCUREMjcyNDY5MTIwOEQxRkYwMEY5QUJFNyAvKiBBbGlnbmVkTWVtb3J5
QWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQlEREU4MkFEODEyMDlEOTU1MDA1QzE3NTYg
LyogR0NIYW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjQ4Nyw3ICsyNDc1LDYgQEAKIAkJCQkx
NDEyMTEzNDBBNDg3OTU4MDA0ODAyNTUgLyogbWluaWRvbS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTQ0MDA2M0YwQTUzNTk4QTAwMDVGMDYxIC8qIE5vZGUuYyBpbiBTb3VyY2VzICovLAogCQkJCTE0
NDAwNzRCMEE1MzZDQzIwMDA1RjA2MSAvKiBOb2RlTGlzdC5jIGluIFNvdXJjZXMgKi8sCi0JCQkJ
RERFODJBRDUxMjA5RDk1NTAwNUMxNzU2IC8qIEdDSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMjQ5Niw3ICsyNDgzLDYgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKIAkJCQkxNDQwRjYxMDBBNEY4NTY3MDAwNUYwNjEgLyogdGVzdGFwaS5jIGlu
IFNvdXJjZXMgKi8sCi0JCQkJRERFODJBRDQxMjA5RDk1NTAwNUMxNzU2IC8qIEdDSGFuZGxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpAQCAtMjY3Niw3ICsyNjYyLDYgQEAKIAkJCQk4NkQwOEQ1MzExNzkz
NjEzMDA2RTVFRDAgLyogV1RGVGhyZWFkRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEREY3
QUJENTExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJODYyN0U1RUIxMUYxMjgxOTAwQTMxM0I1IC8qIFBhZ2VBbGxvY2F0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCURERTgyQUQ3MTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRs
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI2ODUsNyArMjY3MCw2IEBACiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJOTMyRjVCREQwODIyQTFDNzAw
NzM2OTc1IC8qIGpzYy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlEREU4MkFEMzEyMDlEOTU1MDA1
QzE3NTYgLyogR0NIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bGxlY3Rvci5jcHAKaW5kZXggNGE4MTkxMzQ5MjYwNDUxZTBkMTc1ZWM5NzFjZDg3NGQ4ZjY4Yjhh
Yi4uNGJmNzNhMzIwZjc2MWZlNjNjNTBjMjQwYjA5ZjQ2YWU5Yjg1NDZlNSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29sbGVjdG9yLmNwcApAQCAtMTcwLDkgKzE3MCw2IEBAIHZvaWQgSGVhcDo6ZGVz
dHJveSgpCiAKICAgICBmcmVlQmxvY2tzKCk7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbV93ZWFrR0NIYW5kbGVQb29scy5zaXplKCk7ICsraSkKLSAgICAgICAgbV93ZWFrR0NIYW5k
bGVQb29sc1tpXS5kZWFsbG9jYXRlKCk7Ci0KICNpZiBFTkFCTEUoSlNDX01VTFRJUExFX1RIUkVB
RFMpCiAgICAgaWYgKG1fY3VycmVudFRocmVhZFJlZ2lzdHJhcikgewogICAgICAgICBpbnQgZXJy
b3IgPSBwdGhyZWFkX2tleV9kZWxldGUobV9jdXJyZW50VGhyZWFkUmVnaXN0cmFyKTsKQEAgLTE5
Miw3ICsxODksNyBAQCB2b2lkIEhlYXA6OmRlc3Ryb3koKQogCiBORVZFUl9JTkxJTkUgQ29sbGVj
dG9yQmxvY2sqIEhlYXA6OmFsbG9jYXRlQmxvY2soKQogewotICAgIEFsaWduZWRDb2xsZWN0b3JC
bG9jayBhbGxvY2F0aW9uID0gbV9ibG9ja2FsbG9jYXRvci5hbGxvY2F0ZSgpOworICAgIEFsaWdu
ZWRCbG9jayBhbGxvY2F0aW9uID0gbV9ibG9ja2FsbG9jYXRvci5hbGxvY2F0ZSgpOwogICAgIENv
bGxlY3RvckJsb2NrKiBibG9jayA9IHN0YXRpY19jYXN0PENvbGxlY3RvckJsb2NrKj4oYWxsb2Nh
dGlvbi5iYXNlKCkpOwogICAgIGlmICghYmxvY2spCiAgICAgICAgIENSQVNIKCk7CkBAIC0yMTAs
MTIgKzIwNywxMiBAQCBORVZFUl9JTkxJTkUgQ29sbGVjdG9yQmxvY2sqIEhlYXA6OmFsbG9jYXRl
QmxvY2soKQogCiAgICAgc2l6ZV90IG51bUJsb2NrcyA9IG1faGVhcC5udW1CbG9ja3M7CiAgICAg
aWYgKG1faGVhcC51c2VkQmxvY2tzID09IG51bUJsb2NrcykgewotICAgICAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IG1heE51bUJsb2NrcyA9IFVMT05HX01BWCAvIHNpemVvZihBbGlnbmVkQ29sbGVj
dG9yQmxvY2spIC8gR1JPV1RIX0ZBQ1RPUjsKKyAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBt
YXhOdW1CbG9ja3MgPSBVTE9OR19NQVggLyBzaXplb2YoQWxpZ25lZEJsb2NrKSAvIEdST1dUSF9G
QUNUT1I7CiAgICAgICAgIGlmIChudW1CbG9ja3MgPiBtYXhOdW1CbG9ja3MpCiAgICAgICAgICAg
ICBDUkFTSCgpOwogICAgICAgICBudW1CbG9ja3MgPSBtYXgoTUlOX0FSUkFZX1NJWkUsIG51bUJs
b2NrcyAqIEdST1dUSF9GQUNUT1IpOwogICAgICAgICBtX2hlYXAubnVtQmxvY2tzID0gbnVtQmxv
Y2tzOwotICAgICAgICBtX2hlYXAuYmxvY2tzID0gc3RhdGljX2Nhc3Q8QWxpZ25lZENvbGxlY3Rv
ckJsb2NrKj4oZmFzdFJlYWxsb2MobV9oZWFwLmJsb2NrcywgbnVtQmxvY2tzICogc2l6ZW9mKEFs
aWduZWRDb2xsZWN0b3JCbG9jaykpKTsKKyAgICAgICAgbV9oZWFwLmJsb2NrcyA9IHN0YXRpY19j
YXN0PEFsaWduZWRCbG9jayo+KGZhc3RSZWFsbG9jKG1faGVhcC5ibG9ja3MsIG51bUJsb2NrcyAq
IHNpemVvZihBbGlnbmVkQmxvY2spKSk7CiAgICAgfQogICAgIG1faGVhcC5ibG9ja3NbbV9oZWFw
LnVzZWRCbG9ja3MrK10gPSBhbGxvY2F0aW9uOwogCkBAIC0yMzgsNyArMjM1LDcgQEAgTkVWRVJf
SU5MSU5FIHZvaWQgSGVhcDo6ZnJlZUJsb2NrKHNpemVfdCBibG9jaykKIAogICAgIGlmIChtX2hl
YXAubnVtQmxvY2tzID4gTUlOX0FSUkFZX1NJWkUgJiYgbV9oZWFwLnVzZWRCbG9ja3MgPCBtX2hl
YXAubnVtQmxvY2tzIC8gTE9XX1dBVEVSX0ZBQ1RPUikgewogICAgICAgICBtX2hlYXAubnVtQmxv
Y2tzID0gbV9oZWFwLm51bUJsb2NrcyAvIEdST1dUSF9GQUNUT1I7IAotICAgICAgICBtX2hlYXAu
YmxvY2tzID0gc3RhdGljX2Nhc3Q8QWxpZ25lZENvbGxlY3RvckJsb2NrKj4oZmFzdFJlYWxsb2Mo
bV9oZWFwLmJsb2NrcywgbV9oZWFwLm51bUJsb2NrcyAqIHNpemVvZihBbGlnbmVkQ29sbGVjdG9y
QmxvY2spKSk7CisgICAgICAgIG1faGVhcC5ibG9ja3MgPSBzdGF0aWNfY2FzdDxBbGlnbmVkQmxv
Y2sqPihmYXN0UmVhbGxvYyhtX2hlYXAuYmxvY2tzLCBtX2hlYXAubnVtQmxvY2tzICogc2l6ZW9m
KEFsaWduZWRCbG9jaykpKTsKICAgICB9CiB9CiAKQEAgLTkwOSwzNiArOTA2LDYgQEAgdm9pZCBI
ZWFwOjptYXJrU3RhY2tPYmplY3RzQ29uc2VydmF0aXZlbHkoTWFya1N0YWNrJiBtYXJrU3RhY2sp
CiAjZW5kaWYKIH0KIAotdm9pZCBIZWFwOjp1cGRhdGVXZWFrR0NIYW5kbGVzKCkKLXsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV93ZWFrR0NIYW5kbGVQb29scy5zaXplKCk7ICsraSkK
LSAgICAgICAgd2Vha0dDSGFuZGxlUG9vbChpKS0+dXBkYXRlKCk7Ci19Ci0KLXZvaWQgV2Vha0dD
SGFuZGxlUG9vbDo6dXBkYXRlKCkKLXsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgV2Vh
a0dDSGFuZGxlUG9vbDo6bnVtUG9vbEVudHJpZXM7ICsraSkgewotICAgICAgICBpZiAobV9lbnRy
aWVzW2ldLmlzVmFsaWRQdHIoKSkgewotICAgICAgICAgICAgSlNDZWxsKiBjZWxsID0gbV9lbnRy
aWVzW2ldLmdldCgpOwotICAgICAgICAgICAgaWYgKCFjZWxsIHx8ICFIZWFwOjppc0NlbGxNYXJr
ZWQoY2VsbCkpCi0gICAgICAgICAgICAgICAgbV9lbnRyaWVzW2ldLmludmFsaWRhdGUoKTsKLSAg
ICAgICAgfQotICAgIH0KLX0KLQotV2Vha0dDSGFuZGxlKiBIZWFwOjphZGRXZWFrR0NIYW5kbGUo
SlNDZWxsKiBwdHIpCi17Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fd2Vha0dDSGFu
ZGxlUG9vbHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGlmICghd2Vha0dDSGFuZGxlUG9vbChpKS0+
aXNGdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4gd2Vha0dDSGFuZGxlUG9vbChpKS0+YWxsb2Nh
dGUocHRyKTsKLQotICAgIEFsaWduZWRNZW1vcnk8V2Vha0dDSGFuZGxlUG9vbDo6cG9vbFNpemU+
IGFsbG9jYXRpb24gPSBtX3dlYWtHQ0hhbmRsZVBvb2xBbGxvY2F0b3IuYWxsb2NhdGUoKTsKLSAg
ICBtX3dlYWtHQ0hhbmRsZVBvb2xzLmFwcGVuZChhbGxvY2F0aW9uKTsKLQotICAgIFdlYWtHQ0hh
bmRsZVBvb2wqIHBvb2wgPSBuZXcgKGFsbG9jYXRpb24pIFdlYWtHQ0hhbmRsZVBvb2woKTsKLSAg
ICByZXR1cm4gcG9vbC0+YWxsb2NhdGUocHRyKTsKLX0KLQogdm9pZCBIZWFwOjpwcm90ZWN0KEpT
VmFsdWUgaykKIHsKICAgICBBU1NFUlQoayk7CkBAIC0xMDc1LDggKzEwNDIsNiBAQCB2b2lkIEhl
YXA6Om1hcmtSb290cygpCiAgICAgbWFya1N0YWNrLmRyYWluKCk7CiAgICAgbWFya1N0YWNrLmNv
bXBhY3QoKTsKIAotICAgIHVwZGF0ZVdlYWtHQ0hhbmRsZXMoKTsKLQogICAgIG1faGVhcC5vcGVy
YXRpb25JblByb2dyZXNzID0gTm9PcGVyYXRpb247CiB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxl
Y3Rvci5oCmluZGV4IDM4YzE3OGJjMmNjNTU1NjYxYzBlMTUwMGJjM2I0ZTc5ZDY2NWEwY2MuLjdl
NDA1MWZlYmMwODAyYTRjOTI1ODBiMWNhMTQ3YWMwOWMwNjc2YTEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db2xsZWN0b3IuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb2xsZWN0b3JfaAogCiAj
aW5jbHVkZSAiQWxpZ25lZE1lbW9yeUFsbG9jYXRvci5oIgotI2luY2x1ZGUgIkdDSGFuZGxlLmgi
CiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8d3Rm
L0JpdG1hcC5oPgpAQCAtNjMsMTMgKzYyLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNvbnN0
IHNpemVfdCBCTE9DS19TSVpFID0gMjU2ICogMTAyNDsgLy8gMjU2awogI2VuZGlmCiAKLSAgICB0
eXBlZGVmIEFsaWduZWRNZW1vcnlBbGxvY2F0b3I8QkxPQ0tfU0laRT4gQ29sbGVjdG9yQmxvY2tB
bGxvY2F0b3I7Ci0gICAgdHlwZWRlZiBBbGlnbmVkTWVtb3J5PEJMT0NLX1NJWkU+IEFsaWduZWRD
b2xsZWN0b3JCbG9jazsKKyAgICB0eXBlZGVmIEFsaWduZWRNZW1vcnlBbGxvY2F0b3I8QkxPQ0tf
U0laRT4gQWxpZ25lZEFsbG9jYXRvcjsKKyAgICB0eXBlZGVmIEFsaWduZWRNZW1vcnk8QkxPQ0tf
U0laRT4gQWxpZ25lZEJsb2NrOwogCiAgICAgc3RydWN0IENvbGxlY3RvckhlYXAgewogICAgICAg
ICBzaXplX3QgbmV4dEJsb2NrOwogICAgICAgICBzaXplX3QgbmV4dENlbGw7Ci0gICAgICAgIEFs
aWduZWRDb2xsZWN0b3JCbG9jayogYmxvY2tzOworICAgICAgICBBbGlnbmVkQmxvY2sqIGJsb2Nr
czsKICAgICAgICAgCiAgICAgICAgIHZvaWQqIG5leHROdW1iZXI7CiAKQEAgLTEzMiw4ICsxMzEs
NiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIGJvb2wgaXNDZWxsTWFya2VkKGNv
bnN0IEpTQ2VsbCopOwogICAgICAgICBzdGF0aWMgdm9pZCBtYXJrQ2VsbChKU0NlbGwqKTsKIAot
ICAgICAgICBXZWFrR0NIYW5kbGUqIGFkZFdlYWtHQ0hhbmRsZShKU0NlbGwqKTsKLQogICAgICAg
ICB2b2lkIG1hcmtDb25zZXJ2YXRpdmVseShNYXJrU3RhY2smLCB2b2lkKiBzdGFydCwgdm9pZCog
ZW5kKTsKIAogICAgICAgICBIYXNoU2V0PE1hcmtlZEFyZ3VtZW50QnVmZmVyKj4mIG1hcmtMaXN0
U2V0KCkgeyBpZiAoIW1fbWFya0xpc3RTZXQpIG1fbWFya0xpc3RTZXQgPSBuZXcgSGFzaFNldDxN
YXJrZWRBcmd1bWVudEJ1ZmZlcio+OyByZXR1cm4gKm1fbWFya0xpc3RTZXQ7IH0KQEAgLTE3NSwx
NSArMTcyLDExIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIG1hcmtPdGhlclRocmVh
ZENvbnNlcnZhdGl2ZWx5KE1hcmtTdGFjayYsIFRocmVhZCopOwogICAgICAgICB2b2lkIG1hcmtT
dGFja09iamVjdHNDb25zZXJ2YXRpdmVseShNYXJrU3RhY2smKTsKIAotICAgICAgICB2b2lkIHVw
ZGF0ZVdlYWtHQ0hhbmRsZXMoKTsKLSAgICAgICAgV2Vha0dDSGFuZGxlUG9vbCogd2Vha0dDSGFu
ZGxlUG9vbChzaXplX3QgaW5kZXgpOwotCiAgICAgICAgIHR5cGVkZWYgSGFzaENvdW50ZWRTZXQ8
SlNDZWxsKj4gUHJvdGVjdENvdW50U2V0OwogCiAgICAgICAgIENvbGxlY3RvckhlYXAgbV9oZWFw
OwogCiAgICAgICAgIFByb3RlY3RDb3VudFNldCBtX3Byb3RlY3RlZFZhbHVlczsKLSAgICAgICAg
V1RGOjpWZWN0b3I8QWxpZ25lZE1lbW9yeTxXZWFrR0NIYW5kbGVQb29sOjpwb29sU2l6ZT4gPiBt
X3dlYWtHQ0hhbmRsZVBvb2xzOwogCiAgICAgICAgIEhhc2hTZXQ8TWFya2VkQXJndW1lbnRCdWZm
ZXIqPiogbV9tYXJrTGlzdFNldDsKIApAQCAtMjAxLDggKzE5NCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogI2VuZGlmCiAKICAgICAgICAgLy8gQWxsb2NhdGVzIGNvbGxlY3RvciBibG9ja3Mgd2l0aCBj
b3JyZWN0IGFsaWdubWVudAotICAgICAgICBDb2xsZWN0b3JCbG9ja0FsbG9jYXRvciBtX2Jsb2Nr
YWxsb2NhdG9yOyAKLSAgICAgICAgV2Vha0dDSGFuZGxlUG9vbDo6QWxsb2NhdG9yIG1fd2Vha0dD
SGFuZGxlUG9vbEFsbG9jYXRvcjsgCisgICAgICAgIEFsaWduZWRBbGxvY2F0b3IgbV9ibG9ja2Fs
bG9jYXRvcjsgCiAgICAgICAgIAogICAgICAgICBKU0dsb2JhbERhdGEqIG1fZ2xvYmFsRGF0YTsK
ICAgICB9OwpAQCAtMzEwLDEyICszMDIsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9o
ZWFwLm5leHROdW1iZXIgPSBzdGF0aWNfY2FzdDxjaGFyKj4ocmVzdWx0KSArIChDRUxMX1NJWkUg
LyAyKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0KLQotICAgIGlubGluZSBXZWFr
R0NIYW5kbGVQb29sKiBIZWFwOjp3ZWFrR0NIYW5kbGVQb29sKHNpemVfdCBpbmRleCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWFrR0NIYW5kbGVQb29sKj4obV93ZWFrR0NI
YW5kbGVQb29sc1tpbmRleF0uYmFzZSgpKTsKLSAgICB9CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAog
I2VuZGlmIC8qIENvbGxlY3Rvcl9oICovCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0dDSGFuZGxlLmNwcCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NIYW5kbGUuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzMxNTE3ZTYxNWZjNjBmNjUwY2Y3MmI2ZTk4
YjcxMzkzMTViZDYyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NIYW5kbGUuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsOTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJHQ0hhbmRsZS5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLQotV2Vha0dDSGFuZGxlUG9vbCogV2Vh
a0dDSGFuZGxlOjpwb29sKCkKLXsKLSAgICB1aW50cHRyX3QgcG9vbCA9IChyZWludGVycHJldF9j
YXN0PHVpbnRwdHJfdD4odGhpcykgJiBXZWFrR0NIYW5kbGVQb29sOjpwb29sTWFzayk7Ci0gICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V2Vha0dDSGFuZGxlUG9vbCo+KHBvb2wpOwotfQotCi1X
ZWFrR0NIYW5kbGVQb29sOjpXZWFrR0NIYW5kbGVQb29sKCkKLXsKLSAgICBBU1NFUlQoc2l6ZW9m
KFdlYWtHQ0hhbmRsZVBvb2wpIDw9IFdlYWtHQ0hhbmRsZVBvb2w6OnBvb2xTaXplKTsKLSAgICBt
X2VudHJpZXNTaXplID0gMDsKLSAgICBtX2luaXRpYWxBbGxvYyA9IDE7Ci0gICAgbV9lbnRyaWVz
WzBdLnNldE5leHRJbkZyZWVMaXN0KDApOwotfQotCi1XZWFrR0NIYW5kbGUqIFdlYWtHQ0hhbmRs
ZVBvb2w6OmFsbG9jYXRlKEpTQ2VsbCogY2VsbCkKLXsKLSAgICBBU1NFUlQoY2VsbCk7Ci0gICAg
QVNTRVJUKG1fZW50cmllc1swXS5pc05leHQoKSk7Ci0gICAgdW5zaWduZWQgZnJlZUxpc3QgPSBt
X2VudHJpZXNbMF0uZ2V0TmV4dEluRnJlZUxpc3QoKTsKLSAgICBBU1NFUlQoZnJlZUxpc3QgPCBX
ZWFrR0NIYW5kbGVQb29sOjpudW1Qb29sRW50cmllcyk7Ci0gICAgQVNTRVJUKG1fZW50cmllc1Np
emUgPCBXZWFrR0NIYW5kbGVQb29sOjpudW1Qb29sRW50cmllcyk7Ci0KLSAgICBpZiAobV9lbnRy
aWVzU2l6ZSA9PSBXZWFrR0NIYW5kbGVQb29sOjpudW1Qb29sRW50cmllcyAtIDEpCi0gICAgICAg
IHJldHVybiAwOwotCi0gICAgaWYgKGZyZWVMaXN0KSB7Ci0gICAgICAgIHVuc2lnbmVkIGkgPSBm
cmVlTGlzdDsKLSAgICAgICAgZnJlZUxpc3QgPSBtX2VudHJpZXNbaV0uZ2V0TmV4dEluRnJlZUxp
c3QoKTsKLSAgICAgICAgbV9lbnRyaWVzW2ldLnNldChjZWxsKTsKLSAgICAgICAgbV9lbnRyaWVz
WzBdLnNldE5leHRJbkZyZWVMaXN0KGZyZWVMaXN0KTsKLSAgICAgICAgKyttX2VudHJpZXNTaXpl
OwotICAgICAgICByZXR1cm4gJm1fZW50cmllc1tpXTsKLSAgICB9Ci0KLSAgICBBU1NFUlQobV9p
bml0aWFsQWxsb2MgPCBXZWFrR0NIYW5kbGVQb29sOjpudW1Qb29sRW50cmllcyk7Ci0KLSAgICB1
bnNpZ25lZCBpID0gbV9pbml0aWFsQWxsb2M7Ci0gICAgKyttX2luaXRpYWxBbGxvYzsKLSAgICBt
X2VudHJpZXNbaV0uc2V0KGNlbGwpOwotICAgICsrbV9lbnRyaWVzU2l6ZTsKLSAgICByZXR1cm4g
Jm1fZW50cmllc1tpXTsKLQotfQotCi12b2lkIFdlYWtHQ0hhbmRsZVBvb2w6OmZyZWUoV2Vha0dD
SGFuZGxlKiBoYW5kbGUpCi17Ci0gICAgQVNTRVJUKGhhbmRsZS0+cG9vbCgpID09IHRoaXMpOwot
ICAgIEFTU0VSVChtX2VudHJpZXNbMF0uaXNOZXh0KCkpOwotICAgIHVuc2lnbmVkIGZyZWVMaXN0
ID0gbV9lbnRyaWVzWzBdLmdldE5leHRJbkZyZWVMaXN0KCk7Ci0gICAgQVNTRVJUKGZyZWVMaXN0
IDwgV2Vha0dDSGFuZGxlUG9vbDo6bnVtUG9vbEVudHJpZXMpOwotICAgIGhhbmRsZS0+c2V0TmV4
dEluRnJlZUxpc3QoZnJlZUxpc3QpOwotICAgIG1fZW50cmllc1swXS5zZXROZXh0SW5GcmVlTGlz
dChoYW5kbGUgLSBtX2VudHJpZXMpOwotICAgIC0tbV9lbnRyaWVzU2l6ZTsKLX0KLQotdm9pZCog
V2Vha0dDSGFuZGxlUG9vbDo6b3BlcmF0b3IgbmV3KHNpemVfdCwgQWxpZ25lZE1lbW9yeTxXZWFr
R0NIYW5kbGVQb29sOjpwb29sU2l6ZT4mIGFsbG9jYXRpb24pCi17Ci0gICAgcmV0dXJuIGFsbG9j
YXRpb24uYmFzZSgpOwotfQotCi19CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0dDSGFuZGxlLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDSGFuZGxlLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4YTdiZTlmOGIxZDAwZTZkYmZlZWRkY2UzMmUzNDU5Y2Jj
MGQzN2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9HQ0hhbmRsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEdDSGFuZGxlX2gKLSNkZWZpbmUgR0NIYW5kbGVf
aAotCi0jaW5jbHVkZSAiQWxpZ25lZE1lbW9yeUFsbG9jYXRvci5oIgotCi1uYW1lc3BhY2UgSlND
IHsKLQotY2xhc3MgSGVhcDsKLWNsYXNzIEpTQ2VsbDsKLWNsYXNzIFdlYWtHQ0hhbmRsZTsKLWNs
YXNzIFdlYWtHQ0hhbmRsZVBvb2w7Ci0KLWNsYXNzIFdlYWtHQ0hhbmRsZSB7Ci0gICAgZnJpZW5k
IGNsYXNzIFdlYWtHQ0hhbmRsZVBvb2w7Ci0KLXB1YmxpYzoKLSAgICAvLyBCZWNhdXNlIEpTQ2Vs
bCBvYmplY3RzIGFyZSBhbGlnbmVkLCB3ZSBjYW4gdXNlIHRoZSBsb3dlciB0d28gYml0cyBhcwot
ICAgIC8vIHN0YXR1cyBmbGFncy4gVGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCBpcyBzZXQgd2hl
biB0aGUgaGFuZGxlIGlzIG5vdCBhCi0gICAgLy8gcG9pbnRlciwgaS5lLiB3aGVuIGl0J3MgdXNl
ZCBhcyBhIG9mZnNldCBmb3IgdGhlIGZyZWUgbGlzdCBpbgotICAgIC8vIFdlYWtHQ0hhbmRsZVBv
b2wuIFRoZSBzZWNvbmQgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGlzIHNldCB3aGVuIHRoZSBvYmpl
Y3QKLSAgICAvLyB0aGUgcG9pbnRlciBjb3JyZXNwb25kcyB0byBoYXMgYmVlbiBkZWxldGVkIGJ5
IGEgZ2FyYmFnZSBjb2xsZWN0aW9uCi0KLSAgICBib29sIGlzVmFsaWRQdHIoKSB7IHJldHVybiAh
KG1fcHRyICYgMyk7IH0KLSAgICBib29sIGlzUHRyKCkgeyByZXR1cm4gIShtX3B0ciAmIDEpOyB9
Ci0gICAgYm9vbCBpc05leHQoKSB7IHJldHVybiAobV9wdHIgJiAzKSA9PSAxOyB9Ci0KLSAgICB2
b2lkIGludmFsaWRhdGUoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGlzVmFsaWRQdHIoKSk7Ci0g
ICAgICAgIG1fcHRyIHw9IDI7Ci0gICAgfQotCi0gICAgSlNDZWxsKiBnZXQoKQotICAgIHsKLSAg
ICAgICAgQVNTRVJUKGlzUHRyKCkpOwotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxK
U0NlbGwqPihtX3B0ciAmIH4zKTsKLSAgICB9Ci0KLSAgICB2b2lkIHNldChKU0NlbGwqIHApCi0g
ICAgewotICAgICAgICBtX3B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwKTsKLSAg
ICAgICAgQVNTRVJUKGlzUHRyKCkpOwotICAgIH0KLQotICAgIFdlYWtHQ0hhbmRsZVBvb2wqIHBv
b2woKTsKLQotcHJpdmF0ZToKLSAgICB1aW50cHRyX3QgZ2V0TmV4dEluRnJlZUxpc3QoKQotICAg
IHsKLSAgICAgICAgQVNTRVJUKGlzTmV4dCgpKTsKLSAgICAgICAgcmV0dXJuIG1fcHRyID4+IDI7
Ci0gICAgfQotCi0gICAgdm9pZCBzZXROZXh0SW5GcmVlTGlzdCh1aW50cHRyX3QgbikKLSAgICB7
Ci0gICAgICAgIG1fcHRyID0gKG4gPDwgMikgfCAxOwotICAgICAgICBBU1NFUlQoaXNOZXh0KCkp
OwotICAgIH0KLQotICAgIHVpbnRwdHJfdCBtX3B0cjsKLX07Ci0KLWNsYXNzIFdlYWtHQ0hhbmRs
ZVBvb2wgewotcHVibGljOgotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgcG9vbFNpemUgPSAzMiAq
IDEwMjQ7IC8vIDMyawotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgcG9vbE1hc2sgPSB+KHBvb2xT
aXplIC0gMSk7Ci0gICAgc3RhdGljIGNvbnN0IHNpemVfdCBudW1Qb29sRW50cmllcyA9IChwb29s
U2l6ZSAtIHNpemVvZihIZWFwKikgLSAzICogc2l6ZW9mKHVuc2lnbmVkKSkgLyBzaXplb2YoV2Vh
a0dDSGFuZGxlKTsKLQotICAgIHR5cGVkZWYgQWxpZ25lZE1lbW9yeUFsbG9jYXRvcjxXZWFrR0NI
YW5kbGVQb29sOjpwb29sU2l6ZT4gQWxsb2NhdG9yOwotCi0gICAgV2Vha0dDSGFuZGxlUG9vbCgp
OwotCi0gICAgV2Vha0dDSGFuZGxlKiBhbGxvY2F0ZShKU0NlbGwqIGNlbGwpOwotICAgIHZvaWQg
ZnJlZShXZWFrR0NIYW5kbGUqKTsKLQotICAgIGJvb2wgaXNGdWxsKCkKLSAgICB7Ci0gICAgICAg
IEFTU0VSVChtX2VudHJpZXNTaXplIDwgV2Vha0dDSGFuZGxlUG9vbDo6bnVtUG9vbEVudHJpZXMp
OwotICAgICAgICByZXR1cm4gbV9lbnRyaWVzU2l6ZSA9PSBXZWFrR0NIYW5kbGVQb29sOjpudW1Q
b29sRW50cmllcyAtIDE7Ci0gICAgfQotCi0gICAgdm9pZCB1cGRhdGUoKTsKLQotICAgIHZvaWQq
IG9wZXJhdG9yIG5ldyhzaXplX3QsIEFsaWduZWRNZW1vcnk8V2Vha0dDSGFuZGxlUG9vbDo6cG9v
bFNpemU+Jik7Ci0KLXByaXZhdGU6Ci0gICAgSGVhcCogbV9oZWFwOwotICAgIHVuc2lnbmVkIG1f
ZW50cmllc1NpemU7Ci0gICAgdW5zaWduZWQgbV9pbml0aWFsQWxsb2M7Ci0KLSAgICBXZWFrR0NI
YW5kbGUgbV9lbnRyaWVzW1dlYWtHQ0hhbmRsZVBvb2w6Om51bVBvb2xFbnRyaWVzXTsKLX07Ci0K
LX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIu
aCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKaW5kZXggYWM3N2NmMzVmYmUz
NzUzMTBhNjk5NGQzYzhjNDU2M2E0YzAxZWI0Zi4uOWRjZTg1ODcwNDkxOWY2NTc1ZWIyOTcwY2I4
OGZiMmQwNjljMjJlYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCkBAIC0yNyw3ICsy
Nyw2IEBACiAjZGVmaW5lIFdlYWtHQ1B0cl9oCiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKLSNp
bmNsdWRlICJHQ0hhbmRsZS5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgSlNDIHsKQEAgLTM1LDM0ICszNCwyMyBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vIEEgc21h
cnQgcG9pbnRlciB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0
aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6
IE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKLSAgICBXZWFrR0NQdHIoKQotICAgICAgICA6IG1fcHRy
KDApCi0gICAgewotICAgIH0KLQorICAgIFdlYWtHQ1B0cigpIDogbV9wdHIoMCkgeyB9CiAgICAg
V2Vha0dDUHRyKFQqIHB0cikgeyBhc3NpZ24ocHRyKTsgfQogCi0gICAgfldlYWtHQ1B0cigpCi0g
ICAgewotICAgICAgICBpZiAobV9wdHIpCi0gICAgICAgICAgICBtX3B0ci0+cG9vbCgpLT5mcmVl
KG1fcHRyKTsKLSAgICB9Ci0KICAgICBUKiBnZXQoKSBjb25zdAogICAgIHsKLSAgICAgICAgaWYg
KG1fcHRyICYmIG1fcHRyLT5pc1ZhbGlkUHRyKCkpCi0gICAgICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VCo+KG1fcHRyLT5nZXQoKSk7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICBpZiAo
IW1fcHRyIHx8ICFIZWFwOjppc0NlbGxNYXJrZWQobV9wdHIpKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiBtX3B0cjsKICAgICB9CiAgICAgCi0gICAgYm9vbCBjbGVhcihK
U0NlbGwqIHApCisgICAgYm9vbCBjbGVhcihKU0NlbGwqIHB0cikKICAgICB7Ci0gICAgICAgIGlm
ICghbV9wdHIgfHwgbV9wdHItPmdldCgpICE9IHApCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICAgICAgbV9wdHItPnBvb2woKS0+ZnJlZShtX3B0cik7Ci0gICAgICAgIG1fcHRyID0g
MDsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGlmIChwdHIgPT0gbV9wdHIpIHsKKyAg
ICAgICAgICAgIG1fcHRyID0gMDsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9
CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICBUJiBvcGVyYXRvciooKSBjb25z
dCB7IHJldHVybiAqZ2V0KCk7IH0KQEAgLTc0LDcgKzYyLDcgQEAgcHVibGljOgogI2lmIENPTVBJ
TEVSKFdJTlNDVykKICAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9wdHI7IH0K
ICNlbHNlCi0gICAgdHlwZWRlZiBXZWFrR0NIYW5kbGUqIFdlYWtHQ1B0cjo6KlVuc3BlY2lmaWVk
Qm9vbFR5cGU7CisgICAgdHlwZWRlZiBUKiBXZWFrR0NQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBl
OwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJldHVybiBnZXQo
KSA/ICZXZWFrR0NQdHI6Om1fcHRyIDogMDsgfQogI2VuZGlmCiAKQEAgLTg1LDE2ICs3MywxNCBA
QCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICB2b2lkIGFzc2lnbihKU0NlbGwqIHB0
cikKKyAgICB2b2lkIGFzc2lnbihUKiBwdHIpCiAgICAgewogICAgICAgICBBU1NFUlQocHRyKTsK
LSAgICAgICAgaWYgKG1fcHRyKQotICAgICAgICAgICAgbV9wdHItPnNldChwdHIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBtX3B0ciA9IEhlYXA6OmhlYXAocHRyKS0+YWRkV2Vha0dDSGFu
ZGxlKHB0cik7CisgICAgICAgIEhlYXA6Om1hcmtDZWxsKHB0cik7CisgICAgICAgIG1fcHRyID0g
cHRyOwogICAgIH0KIAotICAgIFdlYWtHQ0hhbmRsZSogbV9wdHI7CisgICAgVCogbV9wdHI7CiB9
OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIFdlYWtHQ1B0cjxUPiYgV2Vha0dDUHRy
PFQ+OjpvcGVyYXRvcj0oVCogb3B0cikKQEAgLTE0Myw3ICsxMjksNyBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIFdlYWtHQ1B0cjxUPiBjb25zdF9wb2ludGVyX2Nh
c3QoY29uc3QgVwogICAgIHJldHVybiBXZWFrR0NQdHI8VD4oY29uc3RfY2FzdDxUKj4ocC5nZXQo
KSkpOyAKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSBUKiBnZXQoY29uc3QgV2Vh
a0dDUHRyPFQ+JiBwKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSBUKiBnZXRQdHIoY29u
c3QgV2Vha0dDUHRyPFQ+JiBwKQogewogICAgIHJldHVybiBwLmdldCgpOwogfQo=
</data>
<flag name="commit-queue"
          id="52143"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>