<?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>77697</bug_id>
          
          <creation_ts>2012-02-02 17:52:58 -0800</creation_ts>
          <short_desc>Simplify SelectorChecker::checkSelector and checkOneSelector</short_desc>
          <delta_ts>2012-02-02 21:29:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>548297</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-02 17:52:58 -0800</bug_when>
    <thetext>These 2 methods go back and forth between element siblings a lot. Their implementation could be simplified by using Element::previous/nextElementSibling, which would also improve readability.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548303</commentid>
    <comment_count>1</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-02 18:00:16 -0800</bug_when>
    <thetext>Incidentally, while looking at those functions: there are several places in the pseudo-class implementation code, where the code is allowed to break out, fall all the way through and return the default &apos;true&apos; if some initial criterion is not met. Some of those cases seem questionable to me, such as with &quot;if (!sel-&gt;parseNth())&quot; (?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548305</commentid>
    <comment_count>2</comment_count>
      <attachid>125222</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-02 18:04:16 -0800</bug_when>
    <thetext>Created attachment 125222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548313</commentid>
    <comment_count>3</comment_count>
      <attachid>125222</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-02 18:14:19 -0800</bug_when>
    <thetext>Comment on attachment 125222
Patch

Looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548400</commentid>
    <comment_count>4</comment_count>
      <attachid>125222</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-02 20:38:28 -0800</bug_when>
    <thetext>Comment on attachment 125222
Patch

Rejecting attachment 125222 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
angeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/css/SelectorChecker.cpp
patching file Source/WebCore/dom/Element.cpp
Hunk #1 succeeded at 1740 (offset 6 lines).
patching file Source/WebCore/dom/Element.h
Hunk #1 FAILED at 499.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/dom/Element.h.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Andreas Kl...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/11420113</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548429</commentid>
    <comment_count>5</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-02 21:29:47 -0800</bug_when>
    <thetext>Committed r106626: &lt;http://trac.webkit.org/changeset/106626&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125222</attachid>
            <date>2012-02-02 18:04:16 -0800</date>
            <delta_ts>2012-02-02 20:38:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77697-20120203110414.patch</filename>
            <type>text/plain</type>
            <size>15655</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI4NTg5NDkyMmJjNzNl
ZTY1ZDFkYzVmMjEzMjZlMjI2MWYxODA0Yy4uNWExMTYwZTFkYzllMDYxNmNjMWI2ZmY4MWI0NjUz
MGU0YmVlZTM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAyLTAyICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNpbXBs
aWZ5IFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvciBhbmQgY2hlY2tPbmVTZWxlY3Rvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTcKKwor
ICAgICAgICBNYWtlIHVzZSBvZiBFbGVtZW50OjpwcmV2aW91cy9uZXh0RWxlbWVudFNpYmxpbmcu
CisgICAgICAgIE1hZGUgdGhvc2UgbWV0aG9kcyBpbmxpbmUuCisgICAgICAgIFNpbXBsaWZ5IGNv
ZGUgaW4gY2hlY2tTZWxlY3RvciBhbmQgY2hlY2tPbmVTZWxlY3RvciwgZXNwLiBmb3IgZmlyc3Qv
bnRoL250aC1sYXN0L2xhc3Qvb25seS1jaGlsZCBpbXBsZW1lbnRhdGlvbnMuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAocmVm
YWN0b3JpbmcpCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcik6CisgICAgICAgIChXZWJD
b3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOgorICAgICAgICAqIGRvbS9F
bGVtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6cHJldmlvdXNFbGVtZW50U2libGluZyk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om5leHRFbGVtZW50U2libGluZyk6CisKIDIwMTItMDEt
MzEgIEpvZSBUaG9tYXMgIDxqb2V0aG9tYXNAbW90b3JvbGEuY29tPgogCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwMQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCA4MjA1YWYwMzljYTljODNiYTljNmI0NzAzOTFmOTk4
NWVjZmJlZWE0Li45NmRmY2E4ZWEwNDhkZDU1MjU2MTNlMjU0MTU2Y2JkODk4YzEzNDNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtNTAwLDEyICs1MDAsOSBAQCBT
ZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVj
dG9yKENTU1NlbGVjdG9yKiBzZWwsCiAgICAgICAgICAgICAgICAgaWYgKHBhcmVudFN0eWxlKQog
ICAgICAgICAgICAgICAgICAgICBwYXJlbnRTdHlsZS0+c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5RGly
ZWN0QWRqYWNlbnRSdWxlcygpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgTm9kZSogbiA9
IGUtPnByZXZpb3VzU2libGluZygpOwotICAgICAgICAgICAgd2hpbGUgKG4gJiYgIW4tPmlzRWxl
bWVudE5vZGUoKSkKLSAgICAgICAgICAgICAgICBuID0gbi0+cHJldmlvdXNTaWJsaW5nKCk7Ci0g
ICAgICAgICAgICBpZiAoIW4pCisgICAgICAgICAgICBlID0gZS0+cHJldmlvdXNFbGVtZW50U2li
bGluZygpOworICAgICAgICAgICAgaWYgKCFlKQogICAgICAgICAgICAgICAgIHJldHVybiBTZWxl
Y3RvckZhaWxzQWxsU2libGluZ3M7Ci0gICAgICAgICAgICBlID0gc3RhdGljX2Nhc3Q8RWxlbWVu
dCo+KG4pOwogICAgICAgICAgICAgcmV0dXJuIGNoZWNrU2VsZWN0b3Ioc2VsLCBlLCBkeW5hbWlj
UHNldWRvLCBmYWxzZSwgdmlzaXRlZE1hdGNoVHlwZSk7CiAgICAgICAgIH0KICAgICBjYXNlIENT
U1NlbGVjdG9yOjpJbmRpcmVjdEFkamFjZW50OgpAQCAtNTE1LDEyICs1MTIsOSBAQCBTZWxlY3Rv
ckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKENT
U1NlbGVjdG9yKiBzZWwsCiAgICAgICAgICAgICAgICAgcGFyZW50U3R5bGUtPnNldENoaWxkcmVu
QWZmZWN0ZWRCeUZvcndhcmRQb3NpdGlvbmFsUnVsZXMoKTsKICAgICAgICAgfQogICAgICAgICB3
aGlsZSAodHJ1ZSkgewotICAgICAgICAgICAgTm9kZSogbiA9IGUtPnByZXZpb3VzU2libGluZygp
OwotICAgICAgICAgICAgd2hpbGUgKG4gJiYgIW4tPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAg
ICAgICAgICBuID0gbi0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgICAgICBpZiAoIW4pCisg
ICAgICAgICAgICBlID0gZS0+cHJldmlvdXNFbGVtZW50U2libGluZygpOworICAgICAgICAgICAg
aWYgKCFlKQogICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzQWxsU2libGluZ3M7
Ci0gICAgICAgICAgICBlID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pOwogICAgICAgICAgICAg
U2VsZWN0b3JNYXRjaCBtYXRjaCA9IGNoZWNrU2VsZWN0b3Ioc2VsLCBlLCBkeW5hbWljUHNldWRv
LCBmYWxzZSwgdmlzaXRlZE1hdGNoVHlwZSk7CiAgICAgICAgICAgICBpZiAobWF0Y2ggPT0gU2Vs
ZWN0b3JNYXRjaGVzIHx8IG1hdGNoID09IFNlbGVjdG9yRmFpbHNBbGxTaWJsaW5ncyB8fCBtYXRj
aCA9PSBTZWxlY3RvckZhaWxzQ29tcGxldGVseSkKICAgICAgICAgICAgICAgICByZXR1cm4gbWF0
Y2g7CkBAIC03NzIsMTIgKzc2Niw5IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNl
bGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsIEVsZW1lbnQqIGUsIFBzZXVkb0lkJiBkCiAgICAgICAg
ICAgICB9CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0ZpcnN0Q2hpbGQ6CiAgICAg
ICAgICAgICAvLyBmaXJzdC1jaGlsZCBtYXRjaGVzIHRoZSBmaXJzdCBjaGlsZCB0aGF0IGlzIGFu
IGVsZW1lbnQKLSAgICAgICAgICAgIGlmIChlLT5wYXJlbnROb2RlKCkgJiYgZS0+cGFyZW50Tm9k
ZSgpLT5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgIGlmIChlLT5wYXJlbnRFbGVtZW50
KCkpIHsKICAgICAgICAgICAgICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgICAgICAgICAg
ICAgIE5vZGUqIG4gPSBlLT5wcmV2aW91c1NpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICB3aGls
ZSAobiAmJiAhbi0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICAgICAgICAgICAgICBuID0gbi0+
cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFuKQorICAgICAgICAgICAg
ICAgIGlmICghZS0+cHJldmlvdXNFbGVtZW50U2libGluZygpKQogICAgICAgICAgICAgICAgICAg
ICByZXN1bHQgPSB0cnVlOwogICAgICAgICAgICAgICAgIGlmICghbV9pc0NvbGxlY3RpbmdSdWxl
c09ubHkpIHsKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU3R5bGUqIGNoaWxkU3R5bGUgPSBl
bGVtZW50U3R5bGUgPyBlbGVtZW50U3R5bGUgOiBlLT5yZW5kZXJTdHlsZSgpOwpAQCAtNzkyLDE3
ICs3ODMsMTUgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoQ1NTU2Vs
ZWN0b3IqIHNlbCwgRWxlbWVudCogZSwgUHNldWRvSWQmIGQKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9GaXJzdE9mVHlwZToKICAgICAgICAgICAg
IC8vIGZpcnN0LW9mLXR5cGUgbWF0Y2hlcyB0aGUgZmlyc3QgZWxlbWVudCBvZiBpdHMgdHlwZQot
ICAgICAgICAgICAgaWYgKGUtPnBhcmVudE5vZGUoKSAmJiBlLT5wYXJlbnROb2RlKCktPmlzRWxl
bWVudE5vZGUoKSkgewotICAgICAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAg
ICAgICAgICBpZiAoZS0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgICAgICAgICAgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOwogICAgICAgICAgICAgICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIHR5cGUg
PSBlLT50YWdRTmFtZSgpOwotICAgICAgICAgICAgICAgIE5vZGUqIG4gPSBlLT5wcmV2aW91c1Np
YmxpbmcoKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgICAgICAg
ICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+aGFz
VGFnTmFtZSh0eXBlKSkKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IEVsZW1lbnQqIHNpYmxp
bmcgPSBlLT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCk7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJs
aW5nLT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHNpYmxpbmctPmhhc1RhZ05hbWUodHlwZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
c3VsdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIG4gPSBuLT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoIW4pCi0gICAgICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgICAgICAgaWYgKCFtX2lzQ29sbGVj
dGluZ1J1bGVzT25seSkgewogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50
U3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50UGFyZW50U3R5bGUgOiBlLT5wYXJlbnROb2Rl
KCktPnJlbmRlclN0eWxlKCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRTdHlsZSkK
QEAgLTgxNCwxNCArODAzLDcgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0
b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWVudCogZSwgUHNldWRvSWQmIGQKICAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvTGFzdENoaWxkOgogICAgICAgICAgICAgLy8gbGFzdC1jaGls
ZCBtYXRjaGVzIHRoZSBsYXN0IGNoaWxkIHRoYXQgaXMgYW4gZWxlbWVudAogICAgICAgICAgICAg
aWYgKEVsZW1lbnQqIHBhcmVudEVsZW1lbnQgPSBlLT5wYXJlbnRFbGVtZW50KCkpIHsKLSAgICAg
ICAgICAgICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGlmIChwYXJl
bnRFbGVtZW50LT5pc0ZpbmlzaGVkUGFyc2luZ0NoaWxkcmVuKCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgTm9kZSogbiA9IGUtPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgICAgICAgICAgICAgIHdo
aWxlIChuICYmICFuLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBu
ID0gbi0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFuKQotICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYm9vbCByZXN1bHQgPSBwYXJlbnRFbGVtZW50LT5pc0ZpbmlzaGVkUGFyc2lu
Z0NoaWxkcmVuKCkgJiYgIWUtPm5leHRFbGVtZW50U2libGluZygpOwogICAgICAgICAgICAgICAg
IGlmICghbV9pc0NvbGxlY3RpbmdSdWxlc09ubHkpIHsKICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyU3R5bGUqIGNoaWxkU3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50U3R5bGUgOiBlLT5y
ZW5kZXJTdHlsZSgpOwogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5
bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50UGFyZW50U3R5bGUgOiBwYXJlbnRFbGVtZW50LT5y
ZW5kZXJTdHlsZSgpOwpAQCAtODQzLDM2ICs4MjUsMTkgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6
OmNoZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWVudCogZSwgUHNldWRvSWQm
IGQKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKCFwYXJlbnRFbGVtZW50
LT5pc0ZpbmlzaGVkUGFyc2luZ0NoaWxkcmVuKCkpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgICAgICAg
ICAgICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIHR5cGUgPSBlLT50YWdRTmFtZSgpOwotICAgICAg
ICAgICAgICAgIE5vZGUqIG4gPSBlLT5uZXh0U2libGluZygpOwotICAgICAgICAgICAgICAgIHdo
aWxlIChuKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkgJiYg
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pLT5oYXNUYWdOYW1lKHR5cGUpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIG4gPSBuLT5uZXh0U2libGlu
ZygpOworICAgICAgICAgICAgICAgIGZvciAoY29uc3QgRWxlbWVudCogc2libGluZyA9IGUtPm5l
eHRFbGVtZW50U2libGluZygpOyBzaWJsaW5nOyBzaWJsaW5nID0gc2libGluZy0+bmV4dEVsZW1l
bnRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNpYmxpbmctPmhhc1RhZ05h
bWUodHlwZSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICghbikKLSAgICAgICAgICAgICAgICAgICAg
cmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb09ubHlDaGlsZDoKICAgICAgICAgICAgIGlm
IChFbGVtZW50KiBwYXJlbnRFbGVtZW50ID0gZS0+cGFyZW50RWxlbWVudCgpKSB7Ci0gICAgICAg
ICAgICAgICAgYm9vbCBmaXJzdENoaWxkID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYm9vbCBs
YXN0Q2hpbGQgPSBmYWxzZTsKLQotICAgICAgICAgICAgICAgIE5vZGUqIG4gPSBlLT5wcmV2aW91
c1NpYmxpbmcoKTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobiAmJiAhbi0+aXNFbGVtZW50Tm9k
ZSgpKQotICAgICAgICAgICAgICAgICAgICBuID0gbi0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKCFuKQotICAgICAgICAgICAgICAgICAgICBmaXJzdENoaWxkID0gdHJ1
ZTsKLSAgICAgICAgICAgICAgICBpZiAoZmlyc3RDaGlsZCAmJiBwYXJlbnRFbGVtZW50LT5pc0Zp
bmlzaGVkUGFyc2luZ0NoaWxkcmVuKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbiA9IGUtPm5l
eHRTaWJsaW5nKCk7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChuICYmICFuLT5pc0VsZW1l
bnROb2RlKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBuID0gbi0+bmV4dFNpYmxpbmcoKTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKCFuKQotICAgICAgICAgICAgICAgICAgICAgICAgbGFz
dENoaWxkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYm9vbCBm
aXJzdENoaWxkID0gIWUtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKTsKKyAgICAgICAgICAgICAg
ICBib29sIG9ubHlDaGlsZCA9IGZpcnN0Q2hpbGQgJiYgcGFyZW50RWxlbWVudC0+aXNGaW5pc2hl
ZFBhcnNpbmdDaGlsZHJlbigpICYmICFlLT5uZXh0RWxlbWVudFNpYmxpbmcoKTsKKwogICAgICAg
ICAgICAgICAgIGlmICghbV9pc0NvbGxlY3RpbmdSdWxlc09ubHkpIHsKICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyU3R5bGUqIGNoaWxkU3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50U3R5
bGUgOiBlLT5yZW5kZXJTdHlsZSgpOwogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSog
cGFyZW50U3R5bGUgPSBlbGVtZW50U3R5bGUgPyBlbGVtZW50UGFyZW50U3R5bGUgOiBwYXJlbnRF
bGVtZW50LT5yZW5kZXJTdHlsZSgpOwpAQCAtODgyLDEwICs4NDcsMTAgQEAgYm9vbCBTZWxlY3Rv
ckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWVudCogZSwg
UHNldWRvSWQmIGQKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBp
ZiAoZmlyc3RDaGlsZCAmJiBjaGlsZFN0eWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgY2hp
bGRTdHlsZS0+c2V0Rmlyc3RDaGlsZFN0YXRlKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChs
YXN0Q2hpbGQgJiYgY2hpbGRTdHlsZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKG9ubHlDaGls
ZCAmJiBjaGlsZFN0eWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRTdHlsZS0+c2V0
TGFzdENoaWxkU3RhdGUoKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGZpcnN0Q2hpbGQgJiYgbGFzdENoaWxkOworICAgICAgICAgICAgICAgIHJldHVybiBvbmx5
Q2hpbGQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvT25seU9mVHlwZToKQEAgLTkwMCwyOCArODY1LDE2IEBAIGJvb2wg
U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsIEVsZW1l
bnQqIGUsIFBzZXVkb0lkJiBkCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlm
ICghcGFyZW50RWxlbWVudC0+aXNGaW5pc2hlZFBhcnNpbmdDaGlsZHJlbigpKQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYm9vbCBmaXJzdENoaWxk
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYm9vbCBsYXN0Q2hpbGQgPSBmYWxzZTsKICAgICAg
ICAgICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiB0eXBlID0gZS0+dGFnUU5hbWUoKTsKLSAg
ICAgICAgICAgICAgICBOb2RlKiBuID0gZS0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgICAg
ICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG4tPmlzRWxlbWVudE5v
ZGUoKSAmJiBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obiktPmhhc1RhZ05hbWUodHlwZSkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgbiA9IG4tPnBy
ZXZpb3VzU2libGluZygpOworICAgICAgICAgICAgICAgIGZvciAoY29uc3QgRWxlbWVudCogc2li
bGluZyA9IGUtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKTsgc2libGluZzsgc2libGluZyA9IHNp
YmxpbmctPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoc2libGluZy0+aGFzVGFnTmFtZSh0eXBlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKCFuKQot
ICAgICAgICAgICAgICAgICAgICBmaXJzdENoaWxkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBp
ZiAoZmlyc3RDaGlsZCkgewotICAgICAgICAgICAgICAgICAgICBuID0gZS0+bmV4dFNpYmxpbmco
KTsKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG4pIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkgJiYgc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pLT5o
YXNUYWdOYW1lKHR5cGUpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbiA9IG4tPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKCFuKQotICAgICAgICAgICAgICAgICAg
ICAgICAgbGFzdENoaWxkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IEVsZW1l
bnQqIHNpYmxpbmcgPSBlLT5uZXh0RWxlbWVudFNpYmxpbmcoKTsgc2libGluZzsgc2libGluZyA9
IHNpYmxpbmctPm5leHRFbGVtZW50U2libGluZygpKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
IChzaWJsaW5nLT5oYXNUYWdOYW1lKHR5cGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXR1cm4gZmly
c3RDaGlsZCAmJiBsYXN0Q2hpbGQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvTnRoQ2hpbGQ6CkBAIC05MjksMTggKzg4MiwxNCBAQCBib29sIFNlbGVjdG9yQ2hlY2tl
cjo6Y2hlY2tPbmVTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLCBFbGVtZW50KiBlLCBQc2V1ZG9J
ZCYgZAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgaWYgKEVsZW1lbnQqIHBh
cmVudEVsZW1lbnQgPSBlLT5wYXJlbnRFbGVtZW50KCkpIHsKICAgICAgICAgICAgICAgICBpbnQg
Y291bnQgPSAxOwotICAgICAgICAgICAgICAgIE5vZGUqIG4gPSBlLT5wcmV2aW91c1NpYmxpbmco
KTsKLSAgICAgICAgICAgICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgICAgICAgICBpZiAo
bi0+aXNFbGVtZW50Tm9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHls
ZSogcyA9IG4tPnJlbmRlclN0eWxlKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBpbmRleCA9IHMgPyBzLT5jaGlsZEluZGV4KCkgOiAwOwotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGluZGV4KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgKz0gaW5k
ZXg7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb3VudCsrOworICAgICAgICAgICAg
ICAgIGZvciAoY29uc3QgRWxlbWVudCogc2libGluZyA9IGUtPnByZXZpb3VzRWxlbWVudFNpYmxp
bmcoKTsgc2libGluZzsgc2libGluZyA9IHNpYmxpbmctPnByZXZpb3VzRWxlbWVudFNpYmxpbmco
KSkgeworICAgICAgICAgICAgICAgICAgICBSZW5kZXJTdHlsZSogcyA9IHNpYmxpbmctPnJlbmRl
clN0eWxlKCk7CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gcyA/IHMtPmNo
aWxkSW5kZXgoKSA6IDA7CisgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgY291bnQgKz0gaW5kZXg7CisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBuID0g
bi0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAg
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKCFtX2lzQ29sbGVjdGluZ1J1bGVz
T25seSkgewpAQCAtOTYyLDEzICs5MTEsMTAgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNr
T25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWVudCogZSwgUHNldWRvSWQmIGQKICAg
ICAgICAgICAgIGlmIChFbGVtZW50KiBwYXJlbnRFbGVtZW50ID0gZS0+cGFyZW50RWxlbWVudCgp
KSB7CiAgICAgICAgICAgICAgICAgaW50IGNvdW50ID0gMTsKICAgICAgICAgICAgICAgICBjb25z
dCBRdWFsaWZpZWROYW1lJiB0eXBlID0gZS0+dGFnUU5hbWUoKTsKLSAgICAgICAgICAgICAgICBO
b2RlKiBuID0gZS0+cHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKG4p
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSAmJiBzdGF0aWNf
Y2FzdDxFbGVtZW50Kj4obiktPmhhc1RhZ05hbWUodHlwZSkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICBjb3VudCsrOwotICAgICAgICAgICAgICAgICAgICBuID0gbi0+cHJldmlvdXNTaWJsaW5n
KCk7CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBFbGVtZW50KiBzaWJsaW5nID0gZS0+cHJl
dmlvdXNFbGVtZW50U2libGluZygpOyBzaWJsaW5nOyBzaWJsaW5nID0gc2libGluZy0+cHJldmlv
dXNFbGVtZW50U2libGluZygpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzaWJsaW5nLT5o
YXNUYWdOYW1lKHR5cGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgKytjb3VudDsKICAgICAg
ICAgICAgICAgICB9Ci0KICAgICAgICAgICAgICAgICBpZiAoIW1faXNDb2xsZWN0aW5nUnVsZXNP
bmx5KSB7CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IGVs
ZW1lbnRTdHlsZSA/IGVsZW1lbnRQYXJlbnRTdHlsZSA6IHBhcmVudEVsZW1lbnQtPnJlbmRlclN0
eWxlKCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRTdHlsZSkKQEAgLTk5MSwxMiAr
OTM3LDggQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0
b3IqIHNlbCwgRWxlbWVudCogZSwgUHNldWRvSWQmIGQKICAgICAgICAgICAgICAgICBpZiAoIXBh
cmVudEVsZW1lbnQtPmlzRmluaXNoZWRQYXJzaW5nQ2hpbGRyZW4oKSkKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIGludCBjb3VudCA9IDE7Ci0gICAg
ICAgICAgICAgICAgTm9kZSogbiA9IGUtPm5leHRTaWJsaW5nKCk7Ci0gICAgICAgICAgICAgICAg
d2hpbGUgKG4pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50Kys7Ci0gICAgICAgICAgICAgICAgICAgIG4g
PSBuLT5uZXh0U2libGluZygpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBm
b3IgKGNvbnN0IEVsZW1lbnQqIHNpYmxpbmcgPSBlLT5uZXh0RWxlbWVudFNpYmxpbmcoKTsgc2li
bGluZzsgc2libGluZyA9IHNpYmxpbmctPm5leHRFbGVtZW50U2libGluZygpKQorICAgICAgICAg
ICAgICAgICAgICArK2NvdW50OwogICAgICAgICAgICAgICAgIGlmIChzZWwtPm1hdGNoTnRoKGNv
dW50KSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CkBA
IC0xMDE0LDExICs5NTYsOSBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rv
cihDU1NTZWxlY3Rvciogc2VsLCBFbGVtZW50KiBlLCBQc2V1ZG9JZCYgZAogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgaW50IGNvdW50ID0gMTsKICAg
ICAgICAgICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiB0eXBlID0gZS0+dGFnUU5hbWUoKTsK
LSAgICAgICAgICAgICAgICBOb2RlKiBuID0gZS0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgICAg
ICAgICB3aGlsZSAobikgewotICAgICAgICAgICAgICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9k
ZSgpICYmIHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+aGFzVGFnTmFtZSh0eXBlKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNvdW50Kys7Ci0gICAgICAgICAgICAgICAgICAgIG4gPSBuLT5u
ZXh0U2libGluZygpOworICAgICAgICAgICAgICAgIGZvciAoY29uc3QgRWxlbWVudCogc2libGlu
ZyA9IGUtPm5leHRFbGVtZW50U2libGluZygpOyBzaWJsaW5nOyBzaWJsaW5nID0gc2libGluZy0+
bmV4dEVsZW1lbnRTaWJsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNpYmxpbmct
Pmhhc1RhZ05hbWUodHlwZSkpCisgICAgICAgICAgICAgICAgICAgICAgICArK2NvdW50OwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoc2VsLT5tYXRjaE50aChjb3VudCkp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmlu
ZGV4IGUxYTYzNzZiZGRmMDljNmY5MDFlMzkwMGRkOThkMTEzYzRlY2VkMjIuLjZjYWU5NTNmOTky
MDVlZTc5OWRhMDI4Y2RmNmJlNjk0ZGRmNGNkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAg
LTE3MzQsMjIgKzE3MzQsNiBAQCBFbGVtZW50KiBFbGVtZW50OjpsYXN0RWxlbWVudENoaWxkKCkg
Y29uc3QKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG4pOwogfQogCi1FbGVtZW50
KiBFbGVtZW50OjpwcmV2aW91c0VsZW1lbnRTaWJsaW5nKCkgY29uc3QKLXsKLSAgICBOb2RlKiBu
ID0gcHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgd2hpbGUgKG4gJiYgIW4tPmlzRWxlbWVudE5vZGUo
KSkKLSAgICAgICAgbiA9IG4tPnByZXZpb3VzU2libGluZygpOwotICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxFbGVtZW50Kj4obik7Ci19Ci0KLUVsZW1lbnQqIEVsZW1lbnQ6Om5leHRFbGVtZW50U2li
bGluZygpIGNvbnN0Ci17Ci0gICAgTm9kZSogbiA9IG5leHRTaWJsaW5nKCk7Ci0gICAgd2hpbGUg
KG4gJiYgIW4tPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgbiA9IG4tPm5leHRTaWJsaW5nKCk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKTsKLX0KLQogdW5zaWduZWQgRWxl
bWVudDo6Y2hpbGRFbGVtZW50Q291bnQoKSBjb25zdAogewogICAgIHVuc2lnbmVkIGNvdW50ID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCmluZGV4IDAxNGEyOGQxYjBkOTQwOTY1NmY2MTYxYWI3MGE1MDk4
MjY0MmUxYjIuLjc1NzA4YWE2NzkwZDc0YjQ1YWY5OTRjZjdjZGQ0OTIyMGYyZTZlZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaApAQCAtNDk5LDYgKzQ5OSwyMiBAQCBpbmxpbmUgRWxlbWVudCogTm9kZTo6
cGFyZW50RWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHBhcmVudCAmJiBwYXJlbnQtPmlzRWxl
bWVudE5vZGUoKSA/IHRvRWxlbWVudChwYXJlbnQpIDogMDsKIH0KIAoraW5saW5lIEVsZW1lbnQq
IEVsZW1lbnQ6OnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKSBjb25zdAoreworICAgIE5vZGUqIG4g
PSBwcmV2aW91c1NpYmxpbmcoKTsKKyAgICB3aGlsZSAobiAmJiAhbi0+aXNFbGVtZW50Tm9kZSgp
KQorICAgICAgICBuID0gbi0+cHJldmlvdXNTaWJsaW5nKCk7CisgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEVsZW1lbnQqPihuKTsKK30KKworaW5saW5lIEVsZW1lbnQqIEVsZW1lbnQ6Om5leHRFbGVt
ZW50U2libGluZygpIGNvbnN0Cit7CisgICAgTm9kZSogbiA9IG5leHRTaWJsaW5nKCk7CisgICAg
d2hpbGUgKG4gJiYgIW4tPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgbiA9IG4tPm5leHRTaWJs
aW5nKCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKTsKK30KKwogaW5saW5l
IE5hbWVkTm9kZU1hcCogRWxlbWVudDo6YXR0cmlidXRlcyhib29sIHJlYWRvbmx5KSBjb25zdAog
ewogICAgIGlmICghaXNTdHlsZUF0dHJpYnV0ZVZhbGlkKCkpCg==
</data>
<flag name="review"
          id="126675"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="126676"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>