<?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>58409</bug_id>
          
          <creation_ts>2011-04-12 18:35:31 -0700</creation_ts>
          <short_desc>Update boolean operators in RenderStyle to be compatible with check-webkit-style</short_desc>
          <delta_ts>2011-04-12 21:50:13 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Lawther">mikelawther</reporter>
          <assigned_to name="Mike Lawther">mikelawther</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384602</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-04-12 18:35:31 -0700</bug_when>
    <thetext>Update boolean operators in RenderStyle to be compatible with check-webkit-style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384607</commentid>
    <comment_count>1</comment_count>
      <attachid>89326</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-04-12 18:39:24 -0700</bug_when>
    <thetext>Created attachment 89326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384611</commentid>
    <comment_count>2</comment_count>
      <attachid>89326</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-12 18:45:10 -0700</bug_when>
    <thetext>Comment on attachment 89326
Patch

Seems worthwhile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384664</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-12 21:47:38 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 89326:

http/tests/misc/favicon-loads-with-icon-loading-override.html bug 58412 (author: alice.liu@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384666</commentid>
    <comment_count>4</comment_count>
      <attachid>89326</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-12 21:50:10 -0700</bug_when>
    <thetext>Comment on attachment 89326
Patch

Clearing flags on attachment: 89326

Committed r83698: &lt;http://trac.webkit.org/changeset/83698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384667</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-12 21:50:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89326</attachid>
            <date>2011-04-12 18:39:24 -0700</date>
            <delta_ts>2011-04-12 21:50:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58409-20110413113921.patch</filename>
            <type>text/plain</type>
            <size>31340</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMzMTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1YTkyMjA5NjA2NjUzYzU4
YmE5MDNkNmMxODJkMTRkMWY4ZmY5M2I3Li4yYzgzN2JmNTVjNGQyMDA4ZTUwZDI3ZWQ3Mjg4OThm
YTY0MGExM2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMTIgIE1pa2Ug
TGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYm9vbGVhbiBvcGVyYXRvcnMgaW4g
UmVuZGVyU3R5bGUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIGNoZWNrLXdlYmtpdC1zdHlsZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0MDkKKworICAg
ICAgICBObyBuZXcgZnVuY3Rpb25hbGl0eSwgc28gbm8gbmV3IHRlc3RzLgorCisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjppbmhl
cml0ZWROb3RFcXVhbCk6CisgICAgICAgIChXZWJDb3JlOjpwb3NpdGlvbmVkT2JqZWN0TW92ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmRpZmYpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OmFwcGx5VHJhbnNmb3JtKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppc09y
aWdpbmFsRGlzcGxheUlubGluZVR5cGUpOgorCiAyMDExLTA0LTA4ICBNaXNoYSBUeXV0eXVuaWsg
IDxtaWNoYWVsLnR5dXR5dW5pa0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFz
emxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwCmluZGV4IDg5ODQ4NWZiMTc0YWFiYTUwMzgzZjNlNGJlNDc0MzI0MDExNjE2YjIuLjI4
OGFlNTRlYmJhYTgzOTM1MDMzMzQzNmEwOGUxNzNiOTZiZWVmYzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMTc2LDE3ICsxNzYsMTcg
QEAgUmVuZGVyU3R5bGU6On5SZW5kZXJTdHlsZSgpCiBib29sIFJlbmRlclN0eWxlOjpvcGVyYXRv
cj09KGNvbnN0IFJlbmRlclN0eWxlJiBvKSBjb25zdAogewogICAgIC8vIGNvbXBhcmUgZXZlcnl0
aGluZyBleGNlcHQgdGhlIHBzZXVkb1N0eWxlIHBvaW50ZXIKLSAgICByZXR1cm4gaW5oZXJpdGVk
X2ZsYWdzID09IG8uaW5oZXJpdGVkX2ZsYWdzICYmCi0gICAgICAgICAgICBub25pbmhlcml0ZWRf
ZmxhZ3MgPT0gby5ub25pbmhlcml0ZWRfZmxhZ3MgJiYKLSAgICAgICAgICAgIG1fYm94ID09IG8u
bV9ib3ggJiYKLSAgICAgICAgICAgIHZpc3VhbCA9PSBvLnZpc3VhbCAmJgotICAgICAgICAgICAg
bV9iYWNrZ3JvdW5kID09IG8ubV9iYWNrZ3JvdW5kICYmCi0gICAgICAgICAgICBzdXJyb3VuZCA9
PSBvLnN1cnJvdW5kICYmCi0gICAgICAgICAgICByYXJlTm9uSW5oZXJpdGVkRGF0YSA9PSBvLnJh
cmVOb25Jbmhlcml0ZWREYXRhICYmCi0gICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YSA9PSBv
LnJhcmVJbmhlcml0ZWREYXRhICYmCi0gICAgICAgICAgICBpbmhlcml0ZWQgPT0gby5pbmhlcml0
ZWQKKyAgICByZXR1cm4gaW5oZXJpdGVkX2ZsYWdzID09IG8uaW5oZXJpdGVkX2ZsYWdzCisgICAg
ICAgICYmIG5vbmluaGVyaXRlZF9mbGFncyA9PSBvLm5vbmluaGVyaXRlZF9mbGFncworICAgICAg
ICAmJiBtX2JveCA9PSBvLm1fYm94CisgICAgICAgICYmIHZpc3VhbCA9PSBvLnZpc3VhbAorICAg
ICAgICAmJiBtX2JhY2tncm91bmQgPT0gby5tX2JhY2tncm91bmQKKyAgICAgICAgJiYgc3Vycm91
bmQgPT0gby5zdXJyb3VuZAorICAgICAgICAmJiByYXJlTm9uSW5oZXJpdGVkRGF0YSA9PSBvLnJh
cmVOb25Jbmhlcml0ZWREYXRhCisgICAgICAgICYmIHJhcmVJbmhlcml0ZWREYXRhID09IG8ucmFy
ZUluaGVyaXRlZERhdGEKKyAgICAgICAgJiYgaW5oZXJpdGVkID09IG8uaW5oZXJpdGVkCiAjaWYg
RU5BQkxFKFNWRykKLSAgICAgICAgICAgICYmIG1fc3ZnU3R5bGUgPT0gby5tX3N2Z1N0eWxlCisg
ICAgICAgICYmIG1fc3ZnU3R5bGUgPT0gby5tX3N2Z1N0eWxlCiAjZW5kaWYKICAgICAgICAgICAg
IDsKIH0KQEAgLTI3MiwyMiArMjcyLDIyIEBAIHZvaWQgUmVuZGVyU3R5bGU6OnJlbW92ZUNhY2hl
ZFBzZXVkb1N0eWxlKFBzZXVkb0lkIHBpZCkKIAogYm9vbCBSZW5kZXJTdHlsZTo6aW5oZXJpdGVk
Tm90RXF1YWwoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyKSBjb25zdAogewotICAgIHJldHVybiBp
bmhlcml0ZWRfZmxhZ3MgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncyB8fAotICAgICAgICAgICBp
bmhlcml0ZWQgIT0gb3RoZXItPmluaGVyaXRlZCB8fAorICAgIHJldHVybiBpbmhlcml0ZWRfZmxh
Z3MgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncworICAgICAgICAgICB8fCBpbmhlcml0ZWQgIT0g
b3RoZXItPmluaGVyaXRlZAogI2lmIEVOQUJMRShTVkcpCi0gICAgICAgICAgIG1fc3ZnU3R5bGUt
PmluaGVyaXRlZE5vdEVxdWFsKG90aGVyLT5tX3N2Z1N0eWxlLmdldCgpKSB8fAorICAgICAgICAg
ICB8fCBtX3N2Z1N0eWxlLT5pbmhlcml0ZWROb3RFcXVhbChvdGhlci0+bV9zdmdTdHlsZS5nZXQo
KSkKICNlbmRpZgotICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YSAhPSBvdGhlci0+cmFyZUlu
aGVyaXRlZERhdGE7CisgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhICE9IG90aGVyLT5y
YXJlSW5oZXJpdGVkRGF0YTsKIH0KIAogc3RhdGljIGJvb2wgcG9zaXRpb25lZE9iamVjdE1vdmVk
KGNvbnN0IExlbmd0aEJveCYgYSwgY29uc3QgTGVuZ3RoQm94JiBiKQogewogICAgIC8vIElmIGFu
eSB1bml0IHR5cGVzIGFyZSBkaWZmZXJlbnQsIHRoZW4gd2UgY2FuJ3QgZ3VhcmFudGVlCiAgICAg
Ly8gdGhhdCB0aGlzIHdhcyBqdXN0IGEgbW92ZW1lbnQuCi0gICAgaWYgKGEubGVmdCgpLnR5cGUo
KSAhPSBiLmxlZnQoKS50eXBlKCkgfHwKLSAgICAgICAgYS5yaWdodCgpLnR5cGUoKSAhPSBiLnJp
Z2h0KCkudHlwZSgpIHx8Ci0gICAgICAgIGEudG9wKCkudHlwZSgpICE9IGIudG9wKCkudHlwZSgp
IHx8Ci0gICAgICAgIGEuYm90dG9tKCkudHlwZSgpICE9IGIuYm90dG9tKCkudHlwZSgpKQorICAg
IGlmIChhLmxlZnQoKS50eXBlKCkgIT0gYi5sZWZ0KCkudHlwZSgpCisgICAgICAgIHx8IGEucmln
aHQoKS50eXBlKCkgIT0gYi5yaWdodCgpLnR5cGUoKQorICAgICAgICB8fCBhLnRvcCgpLnR5cGUo
KSAhPSBiLnRvcCgpLnR5cGUoKQorICAgICAgICB8fCBhLmJvdHRvbSgpLnR5cGUoKSAhPSBiLmJv
dHRvbSgpLnR5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gT25seSBvbmUg
dW5pdCBjYW4gYmUgbm9uLWF1dG8gaW4gdGhlIGhvcml6b250YWwgZGlyZWN0aW9uIGFuZApAQCAt
MzE2LDEyICszMTYsMTIgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlclN0eWxlOjpkaWZmKGNvbnN0
IFJlbmRlclN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5nZWRDb24KICAgICB9CiAjZW5kaWYK
IAotICAgIGlmIChtX2JveC0+d2lkdGgoKSAhPSBvdGhlci0+bV9ib3gtPndpZHRoKCkgfHwKLSAg
ICAgICAgbV9ib3gtPm1pbldpZHRoKCkgIT0gb3RoZXItPm1fYm94LT5taW5XaWR0aCgpIHx8Ci0g
ICAgICAgIG1fYm94LT5tYXhXaWR0aCgpICE9IG90aGVyLT5tX2JveC0+bWF4V2lkdGgoKSB8fAot
ICAgICAgICBtX2JveC0+aGVpZ2h0KCkgIT0gb3RoZXItPm1fYm94LT5oZWlnaHQoKSB8fAotICAg
ICAgICBtX2JveC0+bWluSGVpZ2h0KCkgIT0gb3RoZXItPm1fYm94LT5taW5IZWlnaHQoKSB8fAot
ICAgICAgICBtX2JveC0+bWF4SGVpZ2h0KCkgIT0gb3RoZXItPm1fYm94LT5tYXhIZWlnaHQoKSkK
KyAgICBpZiAobV9ib3gtPndpZHRoKCkgIT0gb3RoZXItPm1fYm94LT53aWR0aCgpCisgICAgICAg
IHx8IG1fYm94LT5taW5XaWR0aCgpICE9IG90aGVyLT5tX2JveC0+bWluV2lkdGgoKQorICAgICAg
ICB8fCBtX2JveC0+bWF4V2lkdGgoKSAhPSBvdGhlci0+bV9ib3gtPm1heFdpZHRoKCkKKyAgICAg
ICAgfHwgbV9ib3gtPmhlaWdodCgpICE9IG90aGVyLT5tX2JveC0+aGVpZ2h0KCkKKyAgICAgICAg
fHwgbV9ib3gtPm1pbkhlaWdodCgpICE9IG90aGVyLT5tX2JveC0+bWluSGVpZ2h0KCkKKyAgICAg
ICAgfHwgbV9ib3gtPm1heEhlaWdodCgpICE9IG90aGVyLT5tX2JveC0+bWF4SGVpZ2h0KCkpCiAg
ICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAKICAgICBpZiAobV9ib3gtPnZl
cnRpY2FsQWxpZ24oKSAhPSBvdGhlci0+bV9ib3gtPnZlcnRpY2FsQWxpZ24oKSB8fCBub25pbmhl
cml0ZWRfZmxhZ3MuX3ZlcnRpY2FsX2FsaWduICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3Mu
X3ZlcnRpY2FsX2FsaWduKQpAQCAtMzM3LDE1ICszMzcsMTUgQEAgU3R5bGVEaWZmZXJlbmNlIFJl
bmRlclN0eWxlOjpkaWZmKGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5n
ZWRDb24KICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKIAogICAgIGlmIChy
YXJlTm9uSW5oZXJpdGVkRGF0YS5nZXQoKSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEu
Z2V0KCkpIHsKLSAgICAgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FwcGVhcmFuY2Ug
IT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FwcGVhcmFuY2UgfHwKLSAgICAgICAg
ICAgIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tYXJnaW5CZWZvcmVDb2xsYXBzZSAhPSBvdGhlci0+
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1hcmdpbkJlZm9yZUNvbGxhcHNlIHx8Ci0gICAgICAgICAg
ICByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bWFyZ2luQWZ0ZXJDb2xsYXBzZSAhPSBvdGhlci0+cmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1hcmdpbkFmdGVyQ29sbGFwc2UgfHwKLSAgICAgICAgICAgIHJh
cmVOb25Jbmhlcml0ZWREYXRhLT5saW5lQ2xhbXAgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5saW5lQ2xhbXAgfHwKLSAgICAgICAgICAgIHJhcmVOb25Jbmhlcml0ZWREYXRhLT50ZXh0
T3ZlcmZsb3cgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT50ZXh0T3ZlcmZsb3cpCisg
ICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9hcHBlYXJhbmNlICE9IG90aGVyLT5y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9hcHBlYXJhbmNlIAorICAgICAgICAgICAgfHwgcmFyZU5v
bkluaGVyaXRlZERhdGEtPm1hcmdpbkJlZm9yZUNvbGxhcHNlICE9IG90aGVyLT5yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+bWFyZ2luQmVmb3JlQ29sbGFwc2UKKyAgICAgICAgICAgIHx8IHJhcmVOb25J
bmhlcml0ZWREYXRhLT5tYXJnaW5BZnRlckNvbGxhcHNlICE9IG90aGVyLT5yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+bWFyZ2luQWZ0ZXJDb2xsYXBzZQorICAgICAgICAgICAgfHwgcmFyZU5vbkluaGVy
aXRlZERhdGEtPmxpbmVDbGFtcCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPmxpbmVD
bGFtcAorICAgICAgICAgICAgfHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHRPdmVyZmxvdyAh
PSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPnRleHRPdmVyZmxvdykKICAgICAgICAgICAg
IHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAKLSAgICAgICAgaWYgKHJhcmVOb25Jbmhl
cml0ZWREYXRhLT5mbGV4aWJsZUJveC5nZXQoKSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERh
dGEtPmZsZXhpYmxlQm94LmdldCgpICYmCi0gICAgICAgICAgICAqcmFyZU5vbkluaGVyaXRlZERh
dGEtPmZsZXhpYmxlQm94LmdldCgpICE9ICpvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPmZs
ZXhpYmxlQm94LmdldCgpKQorICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPmZsZXhp
YmxlQm94LmdldCgpICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3gu
Z2V0KCkKKyAgICAgICAgICAgICYmICpyYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3gu
Z2V0KCkgIT0gKm90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGlibGVCb3guZ2V0KCkp
CiAgICAgICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwogCiAgICAgICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgYWRkIGFuIG9wdGltaXplZCBmb3JtIG9mIGxheW91dCB0aGF0IGp1
c3QgcmVjb21wdXRlcyB2aXN1YWwgb3ZlcmZsb3cuCkBAIC0zNTUsMTIgKzM1NSwxMiBAQCBTdHls
ZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyLCB1
bnNpZ25lZCYgY2hhbmdlZENvbgogICAgICAgICBpZiAoIXJhcmVOb25Jbmhlcml0ZWREYXRhLT5y
ZWZsZWN0aW9uRGF0YUVxdWl2YWxlbnQoKm90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS5nZXQo
KSkpCiAgICAgICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwogCi0gICAgICAg
IGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9tdWx0aUNvbC5nZXQoKSAhPSBvdGhlci0+cmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fbXVsdGlDb2wuZ2V0KCkgJiYKLSAgICAgICAgICAgICpyYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV9tdWx0aUNvbC5nZXQoKSAhPSAqb3RoZXItPnJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX211bHRpQ29sLmdldCgpKQorICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fbXVsdGlDb2wuZ2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X211bHRpQ29sLmdldCgpCisgICAgICAgICAgICAmJiAqcmFyZU5vbkluaGVyaXRlZERhdGEtPm1f
bXVsdGlDb2wuZ2V0KCkgIT0gKm90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9tdWx0aUNv
bC5nZXQoKSkKICAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAKLSAg
ICAgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybS5nZXQoKSAhPSBvdGhl
ci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdHJhbnNmb3JtLmdldCgpICYmCi0gICAgICAgICAg
ICAqcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fdHJhbnNmb3JtLmdldCgpICE9ICpvdGhlci0+cmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fdHJhbnNmb3JtLmdldCgpKSB7CisgICAgICAgIGlmIChyYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV90cmFuc2Zvcm0uZ2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX3RyYW5zZm9ybS5nZXQoKQorICAgICAgICAgICAgJiYgKnJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX3RyYW5zZm9ybS5nZXQoKSAhPSAqb3RoZXItPnJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX3RyYW5zZm9ybS5nZXQoKSkgewogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICAgICAgICAgIGNoYW5nZWRDb250ZXh0U2Vuc2l0aXZlUHJvcGVydGllcyB8PSBDb250
ZXh0U2Vuc2l0aXZlUHJvcGVydHlUcmFuc2Zvcm07CiAgICAgICAgICAgICAvLyBEb24ndCByZXR1
cm47IGtlZXAgbG9va2luZyBmb3IgYW5vdGhlciBjaGFuZ2UKQEAgLTM3MSwxMSArMzcxLDExIEBA
IFN0eWxlRGlmZmVyZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBSZW5kZXJTdHlsZSogb3Ro
ZXIsIHVuc2lnbmVkJiBjaGFuZ2VkQ29uCiAKICNpZiAhVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkgIT0gb3RoZXItPnJh
cmVOb25Jbmhlcml0ZWREYXRhLmdldCgpKSB7Ci0gICAgICAgICAgICBpZiAocmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fdHJhbnNmb3JtU3R5bGUzRCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fdHJhbnNmb3JtU3R5bGUzRCB8fAotICAgICAgICAgICAgICAgIHJhcmVOb25Jbmhlcml0
ZWREYXRhLT5tX2JhY2tmYWNlVmlzaWJpbGl0eSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fYmFja2ZhY2VWaXNpYmlsaXR5IHx8Ci0gICAgICAgICAgICAgICAgcmFyZU5vbkluaGVy
aXRlZERhdGEtPm1fcGVyc3BlY3RpdmUgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X3BlcnNwZWN0aXZlIHx8Ci0gICAgICAgICAgICAgICAgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1f
cGVyc3BlY3RpdmVPcmlnaW5YICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9wZXJz
cGVjdGl2ZU9yaWdpblggfHwKLSAgICAgICAgICAgICAgICByYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bV9wZXJzcGVjdGl2ZU9yaWdpblkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3Bl
cnNwZWN0aXZlT3JpZ2luWSkKKyAgICAgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bV90cmFuc2Zvcm1TdHlsZTNEICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV90cmFu
c2Zvcm1TdHlsZTNECisgICAgICAgICAgICAgICAgfHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1f
YmFja2ZhY2VWaXNpYmlsaXR5ICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9iYWNr
ZmFjZVZpc2liaWxpdHkKKyAgICAgICAgICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bV9wZXJzcGVjdGl2ZSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcGVyc3BlY3Rp
dmUKKyAgICAgICAgICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9wZXJzcGVjdGl2
ZU9yaWdpblggIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNwZWN0aXZlT3Jp
Z2luWAorICAgICAgICAgICAgICAgIHx8IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNwZWN0
aXZlT3JpZ2luWSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcGVyc3BlY3RpdmVP
cmlnaW5ZKQogICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAg
ICAgICAgIH0KICNlbmRpZgpAQCAtMzg4LDI0ICszODgsMjQgQEAgU3R5bGVEaWZmZXJlbmNlIFJl
bmRlclN0eWxlOjpkaWZmKGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5n
ZWRDb24KICAgICB9CiAKICAgICBpZiAocmFyZUluaGVyaXRlZERhdGEuZ2V0KCkgIT0gb3RoZXIt
PnJhcmVJbmhlcml0ZWREYXRhLmdldCgpKSB7Ci0gICAgICAgIGlmIChyYXJlSW5oZXJpdGVkRGF0
YS0+aGlnaGxpZ2h0ICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+aGlnaGxpZ2h0IHx8Ci0g
ICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+aW5kZW50ICE9IG90aGVyLT5yYXJlSW5oZXJp
dGVkRGF0YS0+aW5kZW50IHx8Ci0gICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+bV9lZmZl
Y3RpdmVab29tICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+bV9lZmZlY3RpdmVab29tIHx8
Ci0gICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNpemVBZGp1c3QgIT0gb3RoZXIt
PnJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2l6ZUFkanVzdCB8fAotICAgICAgICAgICAgcmFyZUlu
aGVyaXRlZERhdGEtPndvcmRCcmVhayAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPndvcmRC
cmVhayB8fAotICAgICAgICAgICAgcmFyZUluaGVyaXRlZERhdGEtPndvcmRXcmFwICE9IG90aGVy
LT5yYXJlSW5oZXJpdGVkRGF0YS0+d29yZFdyYXAgfHwKLSAgICAgICAgICAgIHJhcmVJbmhlcml0
ZWREYXRhLT5uYnNwTW9kZSAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPm5ic3BNb2RlIHx8
Ci0gICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+a2h0bWxMaW5lQnJlYWsgIT0gb3RoZXIt
PnJhcmVJbmhlcml0ZWREYXRhLT5raHRtbExpbmVCcmVhayB8fAotICAgICAgICAgICAgcmFyZUlu
aGVyaXRlZERhdGEtPnRleHRTZWN1cml0eSAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRl
eHRTZWN1cml0eSB8fAotICAgICAgICAgICAgcmFyZUluaGVyaXRlZERhdGEtPmh5cGhlbnMgIT0g
b3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT5oeXBoZW5zIHx8Ci0gICAgICAgICAgICByYXJlSW5o
ZXJpdGVkRGF0YS0+aHlwaGVuYXRpb25MaW1pdEJlZm9yZSAhPSBvdGhlci0+cmFyZUluaGVyaXRl
ZERhdGEtPmh5cGhlbmF0aW9uTGltaXRCZWZvcmUgfHwKLSAgICAgICAgICAgIHJhcmVJbmhlcml0
ZWREYXRhLT5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRh
LT5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIgfHwKLSAgICAgICAgICAgIHJhcmVJbmhlcml0ZWREYXRh
LT5oeXBoZW5hdGlvblN0cmluZyAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPmh5cGhlbmF0
aW9uU3RyaW5nIHx8Ci0gICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+bG9jYWxlICE9IG90
aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+bG9jYWxlIHx8Ci0gICAgICAgICAgICByYXJlSW5oZXJp
dGVkRGF0YS0+dGV4dEVtcGhhc2lzTWFyayAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRl
eHRFbXBoYXNpc01hcmsgfHwKLSAgICAgICAgICAgIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0RW1w
aGFzaXNQb3NpdGlvbiAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNpc1Bv
c2l0aW9uIHx8Ci0gICAgICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dEVtcGhhc2lzQ3Vz
dG9tTWFyayAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNpc0N1c3RvbU1h
cmsgfHwKLSAgICAgICAgICAgIHJhcmVJbmhlcml0ZWREYXRhLT5tX2xpbmVCb3hDb250YWluICE9
IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+bV9saW5lQm94Q29udGFpbikKKyAgICAgICAgaWYg
KHJhcmVJbmhlcml0ZWREYXRhLT5oaWdobGlnaHQgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRh
LT5oaWdobGlnaHQKKyAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT5pbmRlbnQgIT0g
b3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT5pbmRlbnQKKyAgICAgICAgICAgIHx8IHJhcmVJbmhl
cml0ZWREYXRhLT5tX2VmZmVjdGl2ZVpvb20gIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT5t
X2VmZmVjdGl2ZVpvb20KKyAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U2l6
ZUFkanVzdCAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRTaXplQWRqdXN0CisgICAg
ICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0YS0+d29yZEJyZWFrICE9IG90aGVyLT5yYXJlSW5o
ZXJpdGVkRGF0YS0+d29yZEJyZWFrCisgICAgICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0YS0+
d29yZFdyYXAgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT53b3JkV3JhcAorICAgICAgICAg
ICAgfHwgcmFyZUluaGVyaXRlZERhdGEtPm5ic3BNb2RlICE9IG90aGVyLT5yYXJlSW5oZXJpdGVk
RGF0YS0+bmJzcE1vZGUKKyAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT5raHRtbExp
bmVCcmVhayAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPmtodG1sTGluZUJyZWFrCisgICAg
ICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFNlY3VyaXR5ICE9IG90aGVyLT5yYXJl
SW5oZXJpdGVkRGF0YS0+dGV4dFNlY3VyaXR5CisgICAgICAgICAgICB8fCByYXJlSW5oZXJpdGVk
RGF0YS0+aHlwaGVucyAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPmh5cGhlbnMKKyAgICAg
ICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT5oeXBoZW5hdGlvbkxpbWl0QmVmb3JlICE9IG90
aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+aHlwaGVuYXRpb25MaW1pdEJlZm9yZQorICAgICAgICAg
ICAgfHwgcmFyZUluaGVyaXRlZERhdGEtPmh5cGhlbmF0aW9uTGltaXRBZnRlciAhPSBvdGhlci0+
cmFyZUluaGVyaXRlZERhdGEtPmh5cGhlbmF0aW9uTGltaXRBZnRlcgorICAgICAgICAgICAgfHwg
cmFyZUluaGVyaXRlZERhdGEtPmh5cGhlbmF0aW9uU3RyaW5nICE9IG90aGVyLT5yYXJlSW5oZXJp
dGVkRGF0YS0+aHlwaGVuYXRpb25TdHJpbmcKKyAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWRE
YXRhLT5sb2NhbGUgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT5sb2NhbGUKKyAgICAgICAg
ICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0RW1waGFzaXNNYXJrICE9IG90aGVyLT5yYXJl
SW5oZXJpdGVkRGF0YS0+dGV4dEVtcGhhc2lzTWFyaworICAgICAgICAgICAgfHwgcmFyZUluaGVy
aXRlZERhdGEtPnRleHRFbXBoYXNpc1Bvc2l0aW9uICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0
YS0+dGV4dEVtcGhhc2lzUG9zaXRpb24KKyAgICAgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRh
LT50ZXh0RW1waGFzaXNDdXN0b21NYXJrICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0YS0+dGV4
dEVtcGhhc2lzQ3VzdG9tTWFyaworICAgICAgICAgICAgfHwgcmFyZUluaGVyaXRlZERhdGEtPm1f
bGluZUJveENvbnRhaW4gIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT5tX2xpbmVCb3hDb250
YWluKQogICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKIAogICAgICAg
ICBpZiAoIXJhcmVJbmhlcml0ZWREYXRhLT5zaGFkb3dEYXRhRXF1aXZhbGVudCgqb3RoZXItPnJh
cmVJbmhlcml0ZWREYXRhLmdldCgpKSkKQEAgLTQxNSw1MiArNDE1LDUyIEBAIFN0eWxlRGlmZmVy
ZW5jZSBSZW5kZXJTdHlsZTo6ZGlmZihjb25zdCBSZW5kZXJTdHlsZSogb3RoZXIsIHVuc2lnbmVk
JiBjaGFuZ2VkQ29uCiAgICAgICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0Owog
ICAgIH0KIAotICAgIGlmIChpbmhlcml0ZWQtPmxpbmVfaGVpZ2h0ICE9IG90aGVyLT5pbmhlcml0
ZWQtPmxpbmVfaGVpZ2h0IHx8Ci0gICAgICAgIGluaGVyaXRlZC0+bGlzdF9zdHlsZV9pbWFnZSAh
PSBvdGhlci0+aW5oZXJpdGVkLT5saXN0X3N0eWxlX2ltYWdlIHx8Ci0gICAgICAgIGluaGVyaXRl
ZC0+Zm9udCAhPSBvdGhlci0+aW5oZXJpdGVkLT5mb250IHx8Ci0gICAgICAgIGluaGVyaXRlZC0+
aG9yaXpvbnRhbF9ib3JkZXJfc3BhY2luZyAhPSBvdGhlci0+aW5oZXJpdGVkLT5ob3Jpem9udGFs
X2JvcmRlcl9zcGFjaW5nIHx8Ci0gICAgICAgIGluaGVyaXRlZC0+dmVydGljYWxfYm9yZGVyX3Nw
YWNpbmcgIT0gb3RoZXItPmluaGVyaXRlZC0+dmVydGljYWxfYm9yZGVyX3NwYWNpbmcgfHwKLSAg
ICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9ib3hfZGlyZWN0aW9uICE9IG90aGVyLT5pbmhlcml0ZWRf
ZmxhZ3MuX2JveF9kaXJlY3Rpb24gfHwKLSAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl92aXN1YWxs
eU9yZGVyZWQgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fdmlzdWFsbHlPcmRlcmVkIHx8Ci0g
ICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fcG9zaXRpb24gIT0gb3RoZXItPm5vbmluaGVyaXRl
ZF9mbGFncy5fcG9zaXRpb24gfHwKLSAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9mbG9hdGlu
ZyAhPSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9mbG9hdGluZyB8fAotICAgICAgICBub25p
bmhlcml0ZWRfZmxhZ3MuX29yaWdpbmFsRGlzcGxheSAhPSBvdGhlci0+bm9uaW5oZXJpdGVkX2Zs
YWdzLl9vcmlnaW5hbERpc3BsYXkpCisgICAgaWYgKGluaGVyaXRlZC0+bGluZV9oZWlnaHQgIT0g
b3RoZXItPmluaGVyaXRlZC0+bGluZV9oZWlnaHQKKyAgICAgICAgfHwgaW5oZXJpdGVkLT5saXN0
X3N0eWxlX2ltYWdlICE9IG90aGVyLT5pbmhlcml0ZWQtPmxpc3Rfc3R5bGVfaW1hZ2UKKyAgICAg
ICAgfHwgaW5oZXJpdGVkLT5mb250ICE9IG90aGVyLT5pbmhlcml0ZWQtPmZvbnQKKyAgICAgICAg
fHwgaW5oZXJpdGVkLT5ob3Jpem9udGFsX2JvcmRlcl9zcGFjaW5nICE9IG90aGVyLT5pbmhlcml0
ZWQtPmhvcml6b250YWxfYm9yZGVyX3NwYWNpbmcKKyAgICAgICAgfHwgaW5oZXJpdGVkLT52ZXJ0
aWNhbF9ib3JkZXJfc3BhY2luZyAhPSBvdGhlci0+aW5oZXJpdGVkLT52ZXJ0aWNhbF9ib3JkZXJf
c3BhY2luZworICAgICAgICB8fCBpbmhlcml0ZWRfZmxhZ3MuX2JveF9kaXJlY3Rpb24gIT0gb3Ro
ZXItPmluaGVyaXRlZF9mbGFncy5fYm94X2RpcmVjdGlvbgorICAgICAgICB8fCBpbmhlcml0ZWRf
ZmxhZ3MuX3Zpc3VhbGx5T3JkZXJlZCAhPSBvdGhlci0+aW5oZXJpdGVkX2ZsYWdzLl92aXN1YWxs
eU9yZGVyZWQKKyAgICAgICAgfHwgbm9uaW5oZXJpdGVkX2ZsYWdzLl9wb3NpdGlvbiAhPSBvdGhl
ci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9wb3NpdGlvbgorICAgICAgICB8fCBub25pbmhlcml0ZWRf
ZmxhZ3MuX2Zsb2F0aW5nICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MuX2Zsb2F0aW5nCisg
ICAgICAgIHx8IG5vbmluaGVyaXRlZF9mbGFncy5fb3JpZ2luYWxEaXNwbGF5ICE9IG90aGVyLT5u
b25pbmhlcml0ZWRfZmxhZ3MuX29yaWdpbmFsRGlzcGxheSkKICAgICAgICAgcmV0dXJuIFN0eWxl
RGlmZmVyZW5jZUxheW91dDsKIAogCiAgICAgaWYgKCgoaW50KW5vbmluaGVyaXRlZF9mbGFncy5f
ZWZmZWN0aXZlRGlzcGxheSkgPj0gVEFCTEUpIHsKLSAgICAgICAgaWYgKGluaGVyaXRlZF9mbGFn
cy5fYm9yZGVyX2NvbGxhcHNlICE9IG90aGVyLT5pbmhlcml0ZWRfZmxhZ3MuX2JvcmRlcl9jb2xs
YXBzZSB8fAotICAgICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9lbXB0eV9jZWxscyAhPSBvdGhl
ci0+aW5oZXJpdGVkX2ZsYWdzLl9lbXB0eV9jZWxscyB8fAotICAgICAgICAgICAgaW5oZXJpdGVk
X2ZsYWdzLl9jYXB0aW9uX3NpZGUgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fY2FwdGlvbl9z
aWRlIHx8Ci0gICAgICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX3RhYmxlX2xheW91dCAhPSBv
dGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl90YWJsZV9sYXlvdXQpCisgICAgICAgIGlmIChpbmhl
cml0ZWRfZmxhZ3MuX2JvcmRlcl9jb2xsYXBzZSAhPSBvdGhlci0+aW5oZXJpdGVkX2ZsYWdzLl9i
b3JkZXJfY29sbGFwc2UKKyAgICAgICAgICAgIHx8IGluaGVyaXRlZF9mbGFncy5fZW1wdHlfY2Vs
bHMgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fZW1wdHlfY2VsbHMKKyAgICAgICAgICAgIHx8
IGluaGVyaXRlZF9mbGFncy5fY2FwdGlvbl9zaWRlICE9IG90aGVyLT5pbmhlcml0ZWRfZmxhZ3Mu
X2NhcHRpb25fc2lkZQorICAgICAgICAgICAgfHwgbm9uaW5oZXJpdGVkX2ZsYWdzLl90YWJsZV9s
YXlvdXQgIT0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fdGFibGVfbGF5b3V0KQogICAgICAg
ICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKIAogICAgICAgICAvLyBJbiB0aGUg
Y29sbGFwc2luZyBib3JkZXIgbW9kZWwsICdoaWRkZW4nIHN1cHByZXNzZXMgb3RoZXIgYm9yZGVy
cywgd2hpbGUgJ25vbmUnCiAgICAgICAgIC8vIGRvZXMgbm90LCBzbyB0aGVzZSBzdHlsZSBkaWZm
ZXJlbmNlcyBjYW4gYmUgd2lkdGggZGlmZmVyZW5jZXMuCi0gICAgICAgIGlmIChpbmhlcml0ZWRf
ZmxhZ3MuX2JvcmRlcl9jb2xsYXBzZSAmJgotICAgICAgICAgICAgKChib3JkZXJUb3BTdHlsZSgp
ID09IEJISURERU4gJiYgb3RoZXItPmJvcmRlclRvcFN0eWxlKCkgPT0gQk5PTkUpIHx8Ci0gICAg
ICAgICAgICAgKGJvcmRlclRvcFN0eWxlKCkgPT0gQk5PTkUgJiYgb3RoZXItPmJvcmRlclRvcFN0
eWxlKCkgPT0gQkhJRERFTikgfHwKLSAgICAgICAgICAgICAoYm9yZGVyQm90dG9tU3R5bGUoKSA9
PSBCSElEREVOICYmIG90aGVyLT5ib3JkZXJCb3R0b21TdHlsZSgpID09IEJOT05FKSB8fAotICAg
ICAgICAgICAgIChib3JkZXJCb3R0b21TdHlsZSgpID09IEJOT05FICYmIG90aGVyLT5ib3JkZXJC
b3R0b21TdHlsZSgpID09IEJISURERU4pIHx8Ci0gICAgICAgICAgICAgKGJvcmRlckxlZnRTdHls
ZSgpID09IEJISURERU4gJiYgb3RoZXItPmJvcmRlckxlZnRTdHlsZSgpID09IEJOT05FKSB8fAot
ICAgICAgICAgICAgIChib3JkZXJMZWZ0U3R5bGUoKSA9PSBCTk9ORSAmJiBvdGhlci0+Ym9yZGVy
TGVmdFN0eWxlKCkgPT0gQkhJRERFTikgfHwKLSAgICAgICAgICAgICAoYm9yZGVyUmlnaHRTdHls
ZSgpID09IEJISURERU4gJiYgb3RoZXItPmJvcmRlclJpZ2h0U3R5bGUoKSA9PSBCTk9ORSkgfHwK
LSAgICAgICAgICAgICAoYm9yZGVyUmlnaHRTdHlsZSgpID09IEJOT05FICYmIG90aGVyLT5ib3Jk
ZXJSaWdodFN0eWxlKCkgPT0gQkhJRERFTikpKQorICAgICAgICBpZiAoaW5oZXJpdGVkX2ZsYWdz
Ll9ib3JkZXJfY29sbGFwc2UKKyAgICAgICAgICAgICYmICgoYm9yZGVyVG9wU3R5bGUoKSA9PSBC
SElEREVOICYmIG90aGVyLT5ib3JkZXJUb3BTdHlsZSgpID09IEJOT05FKQorICAgICAgICAgICAg
ICAgIHx8IChib3JkZXJUb3BTdHlsZSgpID09IEJOT05FICYmIG90aGVyLT5ib3JkZXJUb3BTdHls
ZSgpID09IEJISURERU4pCisgICAgICAgICAgICAgICAgfHwgKGJvcmRlckJvdHRvbVN0eWxlKCkg
PT0gQkhJRERFTiAmJiBvdGhlci0+Ym9yZGVyQm90dG9tU3R5bGUoKSA9PSBCTk9ORSkKKyAgICAg
ICAgICAgICAgICB8fCAoYm9yZGVyQm90dG9tU3R5bGUoKSA9PSBCTk9ORSAmJiBvdGhlci0+Ym9y
ZGVyQm90dG9tU3R5bGUoKSA9PSBCSElEREVOKQorICAgICAgICAgICAgICAgIHx8IChib3JkZXJM
ZWZ0U3R5bGUoKSA9PSBCSElEREVOICYmIG90aGVyLT5ib3JkZXJMZWZ0U3R5bGUoKSA9PSBCTk9O
RSkKKyAgICAgICAgICAgICAgICB8fCAoYm9yZGVyTGVmdFN0eWxlKCkgPT0gQk5PTkUgJiYgb3Ro
ZXItPmJvcmRlckxlZnRTdHlsZSgpID09IEJISURERU4pCisgICAgICAgICAgICAgICAgfHwgKGJv
cmRlclJpZ2h0U3R5bGUoKSA9PSBCSElEREVOICYmIG90aGVyLT5ib3JkZXJSaWdodFN0eWxlKCkg
PT0gQk5PTkUpCisgICAgICAgICAgICAgICAgfHwgKGJvcmRlclJpZ2h0U3R5bGUoKSA9PSBCTk9O
RSAmJiBvdGhlci0+Ym9yZGVyUmlnaHRTdHlsZSgpID09IEJISURERU4pKSkKICAgICAgICAgICAg
IHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CiAgICAgfQogCiAgICAgaWYgKG5vbmluaGVy
aXRlZF9mbGFncy5fZWZmZWN0aXZlRGlzcGxheSA9PSBMSVNUX0lURU0pIHsKLSAgICAgICAgaWYg
KGluaGVyaXRlZF9mbGFncy5fbGlzdF9zdHlsZV90eXBlICE9IG90aGVyLT5pbmhlcml0ZWRfZmxh
Z3MuX2xpc3Rfc3R5bGVfdHlwZSB8fAotICAgICAgICAgICAgaW5oZXJpdGVkX2ZsYWdzLl9saXN0
X3N0eWxlX3Bvc2l0aW9uICE9IG90aGVyLT5pbmhlcml0ZWRfZmxhZ3MuX2xpc3Rfc3R5bGVfcG9z
aXRpb24pCisgICAgICAgIGlmIChpbmhlcml0ZWRfZmxhZ3MuX2xpc3Rfc3R5bGVfdHlwZSAhPSBv
dGhlci0+aW5oZXJpdGVkX2ZsYWdzLl9saXN0X3N0eWxlX3R5cGUKKyAgICAgICAgICAgIHx8IGlu
aGVyaXRlZF9mbGFncy5fbGlzdF9zdHlsZV9wb3NpdGlvbiAhPSBvdGhlci0+aW5oZXJpdGVkX2Zs
YWdzLl9saXN0X3N0eWxlX3Bvc2l0aW9uKQogICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVy
ZW5jZUxheW91dDsKICAgICB9CiAKLSAgICBpZiAoaW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2FsaWdu
ICE9IG90aGVyLT5pbmhlcml0ZWRfZmxhZ3MuX3RleHRfYWxpZ24gfHwKLSAgICAgICAgaW5oZXJp
dGVkX2ZsYWdzLl90ZXh0X3RyYW5zZm9ybSAhPSBvdGhlci0+aW5oZXJpdGVkX2ZsYWdzLl90ZXh0
X3RyYW5zZm9ybSB8fAotICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2RpcmVjdGlvbiAhPSBvdGhl
ci0+aW5oZXJpdGVkX2ZsYWdzLl9kaXJlY3Rpb24gfHwKLSAgICAgICAgaW5oZXJpdGVkX2ZsYWdz
Ll93aGl0ZV9zcGFjZSAhPSBvdGhlci0+aW5oZXJpdGVkX2ZsYWdzLl93aGl0ZV9zcGFjZSB8fAot
ICAgICAgICBub25pbmhlcml0ZWRfZmxhZ3MuX2NsZWFyICE9IG90aGVyLT5ub25pbmhlcml0ZWRf
ZmxhZ3MuX2NsZWFyIHx8Ci0gICAgICAgIG5vbmluaGVyaXRlZF9mbGFncy5fdW5pY29kZUJpZGkg
IT0gb3RoZXItPm5vbmluaGVyaXRlZF9mbGFncy5fdW5pY29kZUJpZGkpCisgICAgaWYgKGluaGVy
aXRlZF9mbGFncy5fdGV4dF9hbGlnbiAhPSBvdGhlci0+aW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2Fs
aWduCisgICAgICAgIHx8IGluaGVyaXRlZF9mbGFncy5fdGV4dF90cmFuc2Zvcm0gIT0gb3RoZXIt
PmluaGVyaXRlZF9mbGFncy5fdGV4dF90cmFuc2Zvcm0KKyAgICAgICAgfHwgaW5oZXJpdGVkX2Zs
YWdzLl9kaXJlY3Rpb24gIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fZGlyZWN0aW9uCisgICAg
ICAgIHx8IGluaGVyaXRlZF9mbGFncy5fd2hpdGVfc3BhY2UgIT0gb3RoZXItPmluaGVyaXRlZF9m
bGFncy5fd2hpdGVfc3BhY2UKKyAgICAgICAgfHwgbm9uaW5oZXJpdGVkX2ZsYWdzLl9jbGVhciAh
PSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9jbGVhcgorICAgICAgICB8fCBub25pbmhlcml0
ZWRfZmxhZ3MuX3VuaWNvZGVCaWRpICE9IG90aGVyLT5ub25pbmhlcml0ZWRfZmxhZ3MuX3VuaWNv
ZGVCaWRpKQogICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwogCiAgICAgLy8g
Q2hlY2sgYmxvY2sgZmxvdyBkaXJlY3Rpb24uCkBAIC00NzIsMTYgKzQ3MiwxNiBAQCBTdHlsZURp
ZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyLCB1bnNp
Z25lZCYgY2hhbmdlZENvbgogICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0Owog
CiAgICAgLy8gT3ZlcmZsb3cgcmV0dXJucyBhIGxheW91dCBoaW50LgotICAgIGlmIChub25pbmhl
cml0ZWRfZmxhZ3MuX292ZXJmbG93WCAhPSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVy
Zmxvd1ggfHwKLSAgICAgICAgbm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1kgIT0gb3RoZXIt
Pm5vbmluaGVyaXRlZF9mbGFncy5fb3ZlcmZsb3dZKQorICAgIGlmIChub25pbmhlcml0ZWRfZmxh
Z3MuX292ZXJmbG93WCAhPSBvdGhlci0+bm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1gKKyAg
ICAgICAgfHwgbm9uaW5oZXJpdGVkX2ZsYWdzLl9vdmVyZmxvd1kgIT0gb3RoZXItPm5vbmluaGVy
aXRlZF9mbGFncy5fb3ZlcmZsb3dZKQogICAgICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5
b3V0OwogCiAgICAgLy8gSWYgb3VyIGJvcmRlciB3aWR0aHMgY2hhbmdlLCB0aGVuIHdlIG5lZWQg
dG8gbGF5b3V0LiAgT3RoZXIgY2hhbmdlcyB0byBib3JkZXJzCiAgICAgLy8gb25seSBuZWNlc3Np
dGF0ZSBhIHJlcGFpbnQuCi0gICAgaWYgKGJvcmRlckxlZnRXaWR0aCgpICE9IG90aGVyLT5ib3Jk
ZXJMZWZ0V2lkdGgoKSB8fAotICAgICAgICBib3JkZXJUb3BXaWR0aCgpICE9IG90aGVyLT5ib3Jk
ZXJUb3BXaWR0aCgpIHx8Ci0gICAgICAgIGJvcmRlckJvdHRvbVdpZHRoKCkgIT0gb3RoZXItPmJv
cmRlckJvdHRvbVdpZHRoKCkgfHwKLSAgICAgICAgYm9yZGVyUmlnaHRXaWR0aCgpICE9IG90aGVy
LT5ib3JkZXJSaWdodFdpZHRoKCkpCisgICAgaWYgKGJvcmRlckxlZnRXaWR0aCgpICE9IG90aGVy
LT5ib3JkZXJMZWZ0V2lkdGgoKQorICAgICAgICB8fCBib3JkZXJUb3BXaWR0aCgpICE9IG90aGVy
LT5ib3JkZXJUb3BXaWR0aCgpCisgICAgICAgIHx8IGJvcmRlckJvdHRvbVdpZHRoKCkgIT0gb3Ro
ZXItPmJvcmRlckJvdHRvbVdpZHRoKCkKKyAgICAgICAgfHwgYm9yZGVyUmlnaHRXaWR0aCgpICE9
IG90aGVyLT5ib3JkZXJSaWdodFdpZHRoKCkpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVu
Y2VMYXlvdXQ7CiAKICAgICAvLyBJZiB0aGUgY291bnRlciBkaXJlY3RpdmVzIGNoYW5nZSwgdHJp
Z2dlciBhIHJlbGF5b3V0IHRvIHJlLWNhbGN1bGF0ZSBjb3VudGVyIHZhbHVlcyBhbmQgcmVidWls
ZCB0aGUgY291bnRlciBub2RlIHRyZWUuCkBAIC00ODksMTUgKzQ4OSwxNSBAQCBTdHlsZURpZmZl
cmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyLCB1bnNpZ25l
ZCYgY2hhbmdlZENvbgogICAgIGNvbnN0IENvdW50ZXJEaXJlY3RpdmVNYXAqIG1hcEIgPSBvdGhl
ci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fY291bnRlckRpcmVjdGl2ZXMuZ2V0KCk7CiAgICAg
aWYgKCEobWFwQSA9PSBtYXBCIHx8IChtYXBBICYmIG1hcEIgJiYgKm1hcEEgPT0gKm1hcEIpKSkK
ICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVyZW5jZUxheW91dDsKLSAgICBpZiAocmFyZU5vbklu
aGVyaXRlZERhdGEtPm1fY291bnRlckluY3JlbWVudCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fY291bnRlckluY3JlbWVudCB8fAotICAgICAgICByYXJlTm9uSW5oZXJpdGVkRGF0
YS0+bV9jb3VudGVyUmVzZXQgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2NvdW50
ZXJSZXNldCkKKyAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fY291bnRlckluY3JlbWVu
dCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fY291bnRlckluY3JlbWVudAorICAg
ICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9jb3VudGVyUmVzZXQgIT0gb3RoZXItPnJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX2NvdW50ZXJSZXNldCkKICAgICAgICAgcmV0dXJuIFN0eWxl
RGlmZmVyZW5jZUxheW91dDsKIAogICAgIGlmICgodmlzaWJpbGl0eSgpID09IENPTExBUFNFKSAh
PSAob3RoZXItPnZpc2liaWxpdHkoKSA9PSBDT0xMQVBTRSkpCiAgICAgICAgIHJldHVybiBTdHls
ZURpZmZlcmVuY2VMYXlvdXQ7CiAKLSAgICBpZiAoKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5vcGFj
aXR5ID09IDEgJiYgb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5vcGFjaXR5IDwgMSkgfHwK
LSAgICAgICAgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5vcGFjaXR5IDwgMSAmJiBvdGhlci0+cmFy
ZU5vbkluaGVyaXRlZERhdGEtPm9wYWNpdHkgPT0gMSkpIHsKKyAgICBpZiAoKHJhcmVOb25Jbmhl
cml0ZWREYXRhLT5vcGFjaXR5ID09IDEgJiYgb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5v
cGFjaXR5IDwgMSkKKyAgICAgICAgfHwgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5vcGFjaXR5IDwg
MSAmJiBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm9wYWNpdHkgPT0gMSkpIHsKICAgICAg
ICAgLy8gRklYTUU6IFdlIHdvdWxkIGxpa2UgdG8gdXNlIFNpbXBsaWZpZWRMYXlvdXQgaGVyZSwg
YnV0IHdlIGNhbid0IHF1aXRlIGRvIHRoYXQgeWV0LgogICAgICAgICAvLyBXZSBuZWVkIHRvIG1h
a2Ugc3VyZSBTaW1wbGlmaWVkTGF5b3V0IGNhbiBvcGVyYXRlIGNvcnJlY3RseSBvbiBSZW5kZXJJ
bmxpbmVzICh3ZSB3aWxsIG5lZWQKICAgICAgICAgLy8gdG8gYWRkIGEgc2VsZk5lZWRzU2ltcGxp
ZmllZExheW91dCBiaXQgaW4gb3JkZXIgdG8gbm90IGdldCBjb25mdXNlZCBhbmQgdGFpbnQgZXZl
cnkgbGluZSkuCkBAIC01MjcsOCArNTI3LDggQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlclN0eWxl
OjpkaWZmKGNvbnN0IFJlbmRlclN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5nZWRDb24KICAg
ICAgICAgICAgIC8vIFdlIG5lZWQgdG8gbWFrZSBzdXJlIFNpbXBsaWZpZWRMYXlvdXQgY2FuIG9w
ZXJhdGUgY29ycmVjdGx5IG9uIFJlbmRlcklubGluZXMgKHdlIHdpbGwgbmVlZAogICAgICAgICAg
ICAgLy8gdG8gYWRkIGEgc2VsZk5lZWRzU2ltcGxpZmllZExheW91dCBiaXQgaW4gb3JkZXIgdG8g
bm90IGdldCBjb25mdXNlZCBhbmQgdGFpbnQgZXZlcnkgbGluZSkuCiAgICAgICAgICAgICByZXR1
cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwotICAgICAgICB9IGVsc2UgaWYgKG1fYm94LT56SW5k
ZXgoKSAhPSBvdGhlci0+bV9ib3gtPnpJbmRleCgpIHx8IG1fYm94LT5oYXNBdXRvWkluZGV4KCkg
IT0gb3RoZXItPm1fYm94LT5oYXNBdXRvWkluZGV4KCkgfHwKLSAgICAgICAgICAgICAgICAgdmlz
dWFsLT5jbGlwICE9IG90aGVyLT52aXN1YWwtPmNsaXAgfHwgdmlzdWFsLT5oYXNDbGlwICE9IG90
aGVyLT52aXN1YWwtPmhhc0NsaXApCisgICAgICAgIH0gZWxzZSBpZiAobV9ib3gtPnpJbmRleCgp
ICE9IG90aGVyLT5tX2JveC0+ekluZGV4KCkgfHwgbV9ib3gtPmhhc0F1dG9aSW5kZXgoKSAhPSBv
dGhlci0+bV9ib3gtPmhhc0F1dG9aSW5kZXgoKQorICAgICAgICAgICAgICAgICB8fCB2aXN1YWwt
PmNsaXAgIT0gb3RoZXItPnZpc3VhbC0+Y2xpcCB8fCB2aXN1YWwtPmhhc0NsaXAgIT0gb3RoZXIt
PnZpc3VhbC0+aGFzQ2xpcCkKICAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VSZXBh
aW50TGF5ZXI7CiAgICAgfQogCkBAIC01NDEsMzUgKzU0MSwzNSBAQCBTdHlsZURpZmZlcmVuY2Ug
UmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVuZGVyU3R5bGUqIG90aGVyLCB1bnNpZ25lZCYgY2hh
bmdlZENvbgogI2VuZGlmCiAgICAgfQogCi0gICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X21hc2sgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX21hc2sgfHwKLSAgICAgICAg
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fbWFza0JveEltYWdlICE9IG90aGVyLT5yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+bV9tYXNrQm94SW1hZ2UpCisgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRh
LT5tX21hc2sgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX21hc2sKKyAgICAgICAg
fHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fbWFza0JveEltYWdlICE9IG90aGVyLT5yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+bV9tYXNrQm94SW1hZ2UpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZl
cmVuY2VSZXBhaW50TGF5ZXI7CiAKLSAgICBpZiAoaW5oZXJpdGVkLT5jb2xvciAhPSBvdGhlci0+
aW5oZXJpdGVkLT5jb2xvciB8fAotICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX3Zpc2liaWxpdHkg
IT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fdmlzaWJpbGl0eSB8fAotICAgICAgICBpbmhlcml0
ZWRfZmxhZ3MuX3RleHRfZGVjb3JhdGlvbnMgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fdGV4
dF9kZWNvcmF0aW9ucyB8fAotICAgICAgICBpbmhlcml0ZWRfZmxhZ3MuX2ZvcmNlX2JhY2tncm91
bmRzX3RvX3doaXRlICE9IG90aGVyLT5pbmhlcml0ZWRfZmxhZ3MuX2ZvcmNlX2JhY2tncm91bmRz
X3RvX3doaXRlIHx8Ci0gICAgICAgIGluaGVyaXRlZF9mbGFncy5faW5zaWRlTGluayAhPSBvdGhl
ci0+aW5oZXJpdGVkX2ZsYWdzLl9pbnNpZGVMaW5rIHx8Ci0gICAgICAgIHN1cnJvdW5kLT5ib3Jk
ZXIgIT0gb3RoZXItPnN1cnJvdW5kLT5ib3JkZXIgfHwKLSAgICAgICAgKm1fYmFja2dyb3VuZC5n
ZXQoKSAhPSAqb3RoZXItPm1fYmFja2dyb3VuZC5nZXQoKSB8fAotICAgICAgICB2aXN1YWwtPnRl
eHREZWNvcmF0aW9uICE9IG90aGVyLT52aXN1YWwtPnRleHREZWNvcmF0aW9uIHx8Ci0gICAgICAg
IHJhcmVJbmhlcml0ZWREYXRhLT51c2VyTW9kaWZ5ICE9IG90aGVyLT5yYXJlSW5oZXJpdGVkRGF0
YS0+dXNlck1vZGlmeSB8fAotICAgICAgICByYXJlSW5oZXJpdGVkRGF0YS0+dXNlclNlbGVjdCAh
PSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnVzZXJTZWxlY3QgfHwKLSAgICAgICAgcmFyZU5v
bkluaGVyaXRlZERhdGEtPnVzZXJEcmFnICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
dXNlckRyYWcgfHwKLSAgICAgICAgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYm9yZGVyRml0ICE9
IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ib3JkZXJGaXQgfHwKLSAgICAgICAgcmFy
ZUluaGVyaXRlZERhdGEtPnRleHRGaWxsQ29sb3IgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRh
LT50ZXh0RmlsbENvbG9yIHx8Ci0gICAgICAgIHJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U3Ryb2tl
Q29sb3IgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT50ZXh0U3Ryb2tlQ29sb3IgfHwKLSAg
ICAgICAgcmFyZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNpc0NvbG9yICE9IG90aGVyLT5yYXJl
SW5oZXJpdGVkRGF0YS0+dGV4dEVtcGhhc2lzQ29sb3IgfHwKLSAgICAgICAgcmFyZUluaGVyaXRl
ZERhdGEtPnRleHRFbXBoYXNpc0ZpbGwgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT50ZXh0
RW1waGFzaXNGaWxsKQorICAgIGlmIChpbmhlcml0ZWQtPmNvbG9yICE9IG90aGVyLT5pbmhlcml0
ZWQtPmNvbG9yCisgICAgICAgIHx8IGluaGVyaXRlZF9mbGFncy5fdmlzaWJpbGl0eSAhPSBvdGhl
ci0+aW5oZXJpdGVkX2ZsYWdzLl92aXNpYmlsaXR5CisgICAgICAgIHx8IGluaGVyaXRlZF9mbGFn
cy5fdGV4dF9kZWNvcmF0aW9ucyAhPSBvdGhlci0+aW5oZXJpdGVkX2ZsYWdzLl90ZXh0X2RlY29y
YXRpb25zCisgICAgICAgIHx8IGluaGVyaXRlZF9mbGFncy5fZm9yY2VfYmFja2dyb3VuZHNfdG9f
d2hpdGUgIT0gb3RoZXItPmluaGVyaXRlZF9mbGFncy5fZm9yY2VfYmFja2dyb3VuZHNfdG9fd2hp
dGUKKyAgICAgICAgfHwgaW5oZXJpdGVkX2ZsYWdzLl9pbnNpZGVMaW5rICE9IG90aGVyLT5pbmhl
cml0ZWRfZmxhZ3MuX2luc2lkZUxpbmsKKyAgICAgICAgfHwgc3Vycm91bmQtPmJvcmRlciAhPSBv
dGhlci0+c3Vycm91bmQtPmJvcmRlcgorICAgICAgICB8fCAqbV9iYWNrZ3JvdW5kLmdldCgpICE9
ICpvdGhlci0+bV9iYWNrZ3JvdW5kLmdldCgpCisgICAgICAgIHx8IHZpc3VhbC0+dGV4dERlY29y
YXRpb24gIT0gb3RoZXItPnZpc3VhbC0+dGV4dERlY29yYXRpb24KKyAgICAgICAgfHwgcmFyZUlu
aGVyaXRlZERhdGEtPnVzZXJNb2RpZnkgIT0gb3RoZXItPnJhcmVJbmhlcml0ZWREYXRhLT51c2Vy
TW9kaWZ5CisgICAgICAgIHx8IHJhcmVJbmhlcml0ZWREYXRhLT51c2VyU2VsZWN0ICE9IG90aGVy
LT5yYXJlSW5oZXJpdGVkRGF0YS0+dXNlclNlbGVjdAorICAgICAgICB8fCByYXJlTm9uSW5oZXJp
dGVkRGF0YS0+dXNlckRyYWcgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT51c2VyRHJh
ZworICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ib3JkZXJGaXQgIT0gb3RoZXIt
PnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2JvcmRlckZpdAorICAgICAgICB8fCByYXJlSW5oZXJp
dGVkRGF0YS0+dGV4dEZpbGxDb2xvciAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRG
aWxsQ29sb3IKKyAgICAgICAgfHwgcmFyZUluaGVyaXRlZERhdGEtPnRleHRTdHJva2VDb2xvciAh
PSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRTdHJva2VDb2xvcgorICAgICAgICB8fCBy
YXJlSW5oZXJpdGVkRGF0YS0+dGV4dEVtcGhhc2lzQ29sb3IgIT0gb3RoZXItPnJhcmVJbmhlcml0
ZWREYXRhLT50ZXh0RW1waGFzaXNDb2xvcgorICAgICAgICB8fCByYXJlSW5oZXJpdGVkRGF0YS0+
dGV4dEVtcGhhc2lzRmlsbCAhPSBvdGhlci0+cmFyZUluaGVyaXRlZERhdGEtPnRleHRFbXBoYXNp
c0ZpbGwpCiAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VSZXBhaW50OwogCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS5n
ZXQoKSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEuZ2V0KCkpIHsKLSAgICAgICAgaWYg
KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybVN0eWxlM0QgIT0gb3RoZXItPnJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybVN0eWxlM0QgfHwKLSAgICAgICAgICAgIHJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX2JhY2tmYWNlVmlzaWJpbGl0eSAhPSBvdGhlci0+cmFyZU5vbklu
aGVyaXRlZERhdGEtPm1fYmFja2ZhY2VWaXNpYmlsaXR5IHx8Ci0gICAgICAgICAgICByYXJlTm9u
SW5oZXJpdGVkRGF0YS0+bV9wZXJzcGVjdGl2ZSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fcGVyc3BlY3RpdmUgfHwKLSAgICAgICAgICAgIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X3BlcnNwZWN0aXZlT3JpZ2luWCAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcGVy
c3BlY3RpdmVPcmlnaW5YIHx8Ci0gICAgICAgICAgICByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9w
ZXJzcGVjdGl2ZU9yaWdpblkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNw
ZWN0aXZlT3JpZ2luWSkKKyAgICAgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5z
Zm9ybVN0eWxlM0QgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybVN0
eWxlM0QKKyAgICAgICAgICAgIHx8IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2JhY2tmYWNlVmlz
aWJpbGl0eSAhPSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYmFja2ZhY2VWaXNpYmls
aXR5CisgICAgICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9wZXJzcGVjdGl2ZSAh
PSBvdGhlci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcGVyc3BlY3RpdmUKKyAgICAgICAgICAg
IHx8IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNwZWN0aXZlT3JpZ2luWCAhPSBvdGhlci0+
cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcGVyc3BlY3RpdmVPcmlnaW5YCisgICAgICAgICAgICB8
fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9wZXJzcGVjdGl2ZU9yaWdpblkgIT0gb3RoZXItPnJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX3BlcnNwZWN0aXZlT3JpZ2luWSkKICAgICAgICAgICAgIHJl
dHVybiBTdHlsZURpZmZlcmVuY2VSZWNvbXBvc2l0ZUxheWVyOwogICAgIH0KICNlbmRpZgpAQCAt
NjkzLDExICs2OTMsMTEgQEAgdm9pZCBSZW5kZXJTdHlsZTo6YXBwbHlUcmFuc2Zvcm0oVHJhbnNm
b3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSwgY29uc3QgSW50U2l6ZSYKICAgICBpZiAoYXBwbHlP
cmlnaW4gPT0gSW5jbHVkZVRyYW5zZm9ybU9yaWdpbikgewogICAgICAgICBmb3IgKGkgPSAwOyBp
IDwgczsgaSsrKSB7CiAgICAgICAgICAgICBUcmFuc2Zvcm1PcGVyYXRpb246Ok9wZXJhdGlvblR5
cGUgdHlwZSA9IHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3RyYW5zZm9ybS0+bV9vcGVyYXRpb25z
Lm9wZXJhdGlvbnMoKVtpXS0+Z2V0T3BlcmF0aW9uVHlwZSgpOwotICAgICAgICAgICAgaWYgKHR5
cGUgIT0gVHJhbnNmb3JtT3BlcmF0aW9uOjpUUkFOU0xBVEVfWCAmJgotICAgICAgICAgICAgICAg
ICAgICB0eXBlICE9IFRyYW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1kgJiYKLSAgICAgICAg
ICAgICAgICAgICAgdHlwZSAhPSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURSAmJiAKLSAg
ICAgICAgICAgICAgICAgICAgdHlwZSAhPSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV9a
ICYmIAotICAgICAgICAgICAgICAgICAgICB0eXBlICE9IFRyYW5zZm9ybU9wZXJhdGlvbjo6VFJB
TlNMQVRFXzNECisgICAgICAgICAgICBpZiAodHlwZSAhPSBUcmFuc2Zvcm1PcGVyYXRpb246OlRS
QU5TTEFURV9YCisgICAgICAgICAgICAgICAgICAgICYmIHR5cGUgIT0gVHJhbnNmb3JtT3BlcmF0
aW9uOjpUUkFOU0xBVEVfWQorICAgICAgICAgICAgICAgICAgICAmJiB0eXBlICE9IFRyYW5zZm9y
bU9wZXJhdGlvbjo6VFJBTlNMQVRFIAorICAgICAgICAgICAgICAgICAgICAmJiB0eXBlICE9IFRy
YW5zZm9ybU9wZXJhdGlvbjo6VFJBTlNMQVRFX1oKKyAgICAgICAgICAgICAgICAgICAgJiYgdHlw
ZSAhPSBUcmFuc2Zvcm1PcGVyYXRpb246OlRSQU5TTEFURV8zRAogICAgICAgICAgICAgICAgICAg
ICApIHsKICAgICAgICAgICAgICAgICBhcHBseVRyYW5zZm9ybU9yaWdpbiA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCmluZGV4IDc1OTFhZDVlZGE0MTRiZTFmMDE3OTM1ZjVmOTNlMWRjNzE2ODE2MmUu
LmY1OWQ0OTliODA1OTk2OGI3YzI5MTFmN2FjMmQ0MjliNGJjOWIzNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xNjEsMjQgKzE2MSwyNCBA
QCBwcm90ZWN0ZWQ6CiAgICAgc3RydWN0IEluaGVyaXRlZEZsYWdzIHsKICAgICAgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IEluaGVyaXRlZEZsYWdzJiBvdGhlcikgY29uc3QKICAgICAgICAgewot
ICAgICAgICAgICAgcmV0dXJuIChfZW1wdHlfY2VsbHMgPT0gb3RoZXIuX2VtcHR5X2NlbGxzKSAm
JgotICAgICAgICAgICAgICAgICAgIChfY2FwdGlvbl9zaWRlID09IG90aGVyLl9jYXB0aW9uX3Np
ZGUpICYmCi0gICAgICAgICAgICAgICAgICAgKF9saXN0X3N0eWxlX3R5cGUgPT0gb3RoZXIuX2xp
c3Rfc3R5bGVfdHlwZSkgJiYKLSAgICAgICAgICAgICAgICAgICAoX2xpc3Rfc3R5bGVfcG9zaXRp
b24gPT0gb3RoZXIuX2xpc3Rfc3R5bGVfcG9zaXRpb24pICYmCi0gICAgICAgICAgICAgICAgICAg
KF92aXNpYmlsaXR5ID09IG90aGVyLl92aXNpYmlsaXR5KSAmJgotICAgICAgICAgICAgICAgICAg
IChfdGV4dF9hbGlnbiA9PSBvdGhlci5fdGV4dF9hbGlnbikgJiYKLSAgICAgICAgICAgICAgICAg
ICAoX3RleHRfdHJhbnNmb3JtID09IG90aGVyLl90ZXh0X3RyYW5zZm9ybSkgJiYKLSAgICAgICAg
ICAgICAgICAgICAoX3RleHRfZGVjb3JhdGlvbnMgPT0gb3RoZXIuX3RleHRfZGVjb3JhdGlvbnMp
ICYmCi0gICAgICAgICAgICAgICAgICAgKF9jdXJzb3Jfc3R5bGUgPT0gb3RoZXIuX2N1cnNvcl9z
dHlsZSkgJiYKLSAgICAgICAgICAgICAgICAgICAoX2RpcmVjdGlvbiA9PSBvdGhlci5fZGlyZWN0
aW9uKSAmJgotICAgICAgICAgICAgICAgICAgIChfYm9yZGVyX2NvbGxhcHNlID09IG90aGVyLl9i
b3JkZXJfY29sbGFwc2UpICYmCi0gICAgICAgICAgICAgICAgICAgKF93aGl0ZV9zcGFjZSA9PSBv
dGhlci5fd2hpdGVfc3BhY2UpICYmCi0gICAgICAgICAgICAgICAgICAgKF9ib3hfZGlyZWN0aW9u
ID09IG90aGVyLl9ib3hfZGlyZWN0aW9uKSAmJgotICAgICAgICAgICAgICAgICAgIChfdmlzdWFs
bHlPcmRlcmVkID09IG90aGVyLl92aXN1YWxseU9yZGVyZWQpICYmCi0gICAgICAgICAgICAgICAg
ICAgKF9mb3JjZV9iYWNrZ3JvdW5kc190b193aGl0ZSA9PSBvdGhlci5fZm9yY2VfYmFja2dyb3Vu
ZHNfdG9fd2hpdGUpICYmCi0gICAgICAgICAgICAgICAgICAgKF9wb2ludGVyRXZlbnRzID09IG90
aGVyLl9wb2ludGVyRXZlbnRzKSAmJgotICAgICAgICAgICAgICAgICAgIChfaW5zaWRlTGluayA9
PSBvdGhlci5faW5zaWRlTGluaykgJiYKLSAgICAgICAgICAgICAgICAgICAobV93cml0aW5nTW9k
ZSA9PSBvdGhlci5tX3dyaXRpbmdNb2RlKTsKKyAgICAgICAgICAgIHJldHVybiAoX2VtcHR5X2Nl
bGxzID09IG90aGVyLl9lbXB0eV9jZWxscykKKyAgICAgICAgICAgICAgICAmJiAoX2NhcHRpb25f
c2lkZSA9PSBvdGhlci5fY2FwdGlvbl9zaWRlKQorICAgICAgICAgICAgICAgICYmIChfbGlzdF9z
dHlsZV90eXBlID09IG90aGVyLl9saXN0X3N0eWxlX3R5cGUpCisgICAgICAgICAgICAgICAgJiYg
KF9saXN0X3N0eWxlX3Bvc2l0aW9uID09IG90aGVyLl9saXN0X3N0eWxlX3Bvc2l0aW9uKQorICAg
ICAgICAgICAgICAgICYmIChfdmlzaWJpbGl0eSA9PSBvdGhlci5fdmlzaWJpbGl0eSkKKyAgICAg
ICAgICAgICAgICAmJiAoX3RleHRfYWxpZ24gPT0gb3RoZXIuX3RleHRfYWxpZ24pCisgICAgICAg
ICAgICAgICAgJiYgKF90ZXh0X3RyYW5zZm9ybSA9PSBvdGhlci5fdGV4dF90cmFuc2Zvcm0pCisg
ICAgICAgICAgICAgICAgJiYgKF90ZXh0X2RlY29yYXRpb25zID09IG90aGVyLl90ZXh0X2RlY29y
YXRpb25zKQorICAgICAgICAgICAgICAgICYmIChfY3Vyc29yX3N0eWxlID09IG90aGVyLl9jdXJz
b3Jfc3R5bGUpCisgICAgICAgICAgICAgICAgJiYgKF9kaXJlY3Rpb24gPT0gb3RoZXIuX2RpcmVj
dGlvbikKKyAgICAgICAgICAgICAgICAmJiAoX2JvcmRlcl9jb2xsYXBzZSA9PSBvdGhlci5fYm9y
ZGVyX2NvbGxhcHNlKQorICAgICAgICAgICAgICAgICYmIChfd2hpdGVfc3BhY2UgPT0gb3RoZXIu
X3doaXRlX3NwYWNlKQorICAgICAgICAgICAgICAgICYmIChfYm94X2RpcmVjdGlvbiA9PSBvdGhl
ci5fYm94X2RpcmVjdGlvbikKKyAgICAgICAgICAgICAgICAmJiAoX3Zpc3VhbGx5T3JkZXJlZCA9
PSBvdGhlci5fdmlzdWFsbHlPcmRlcmVkKQorICAgICAgICAgICAgICAgICYmIChfZm9yY2VfYmFj
a2dyb3VuZHNfdG9fd2hpdGUgPT0gb3RoZXIuX2ZvcmNlX2JhY2tncm91bmRzX3RvX3doaXRlKQor
ICAgICAgICAgICAgICAgICYmIChfcG9pbnRlckV2ZW50cyA9PSBvdGhlci5fcG9pbnRlckV2ZW50
cykKKyAgICAgICAgICAgICAgICAmJiAoX2luc2lkZUxpbmsgPT0gb3RoZXIuX2luc2lkZUxpbmsp
CisgICAgICAgICAgICAgICAgJiYgKG1fd3JpdGluZ01vZGUgPT0gb3RoZXIubV93cml0aW5nTW9k
ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgSW5oZXJpdGVk
RmxhZ3MmIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQpAQCAtMTE3
MCw4ICsxMTcwLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc09yaWdpbmFsRGlzcGxheUlubGlu
ZVR5cGUoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG9yaWdpbmFsRGlzcGxheSgpID09
IElOTElORSB8fCBvcmlnaW5hbERpc3BsYXkoKSA9PSBJTkxJTkVfQkxPQ0sgfHwKLSAgICAgICAg
ICAgICAgIG9yaWdpbmFsRGlzcGxheSgpID09IElOTElORV9CT1ggfHwgb3JpZ2luYWxEaXNwbGF5
KCkgPT0gSU5MSU5FX1RBQkxFOworICAgICAgICByZXR1cm4gb3JpZ2luYWxEaXNwbGF5KCkgPT0g
SU5MSU5FIHx8IG9yaWdpbmFsRGlzcGxheSgpID09IElOTElORV9CTE9DSworICAgICAgICAgICAg
fHwgb3JpZ2luYWxEaXNwbGF5KCkgPT0gSU5MSU5FX0JPWCB8fCBvcmlnaW5hbERpc3BsYXkoKSA9
PSBJTkxJTkVfVEFCTEU7CiAgICAgfQogCiAgICAgdm9pZCBzZXRXcml0aW5nTW9kZShXcml0aW5n
TW9kZSB2KSB7IGluaGVyaXRlZF9mbGFncy5tX3dyaXRpbmdNb2RlID0gdjsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>