<?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>137771</bug_id>
          
          <creation_ts>2014-10-15 23:50:55 -0700</creation_ts>
          <short_desc>CSS JIT: Introduce addressToStackReference</short_desc>
          <delta_ts>2014-10-16 22:17:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1042084</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-10-15 23:50:55 -0700</bug_when>
    <thetext>CSS JIT: Introduce addressToStackReference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042085</commentid>
    <comment_count>1</comment_count>
      <attachid>239934</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-10-15 23:53:43 -0700</bug_when>
    <thetext>Created attachment 239934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042092</commentid>
    <comment_count>2</comment_count>
      <attachid>239938</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-10-16 00:15:33 -0700</bug_when>
    <thetext>Created attachment 239938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042284</commentid>
    <comment_count>3</comment_count>
      <attachid>239938</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-16 21:27:07 -0700</bug_when>
    <thetext>Comment on attachment 239938
Patch

That&apos;s a great idea, this cleans up the code and make it harder to misuse the stack.

I think the name addressToStackReference can be confusing. What do you think of:
-stackReferenceAddress()
-addressOfStackReference()
or simply
-addressOf(StackReference)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042296</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-10-16 22:09:01 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 239938 [details]
&gt; Patch
&gt; 
&gt; That&apos;s a great idea, this cleans up the code and make it harder to misuse
&gt; the stack.
&gt; 
&gt; I think the name addressToStackReference can be confusing. What do you think
&gt; of:
&gt; -stackReferenceAddress()
&gt; -addressOfStackReference()
&gt; or simply
&gt; -addressOf(StackReference)

`addressOf` looks very nice :), its name and parameter&apos;s type describes the role of the function clearly.
I&apos;ll apply this change and land the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042298</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2014-10-16 22:17:49 -0700</bug_when>
    <thetext>Committed r174810: &lt;http://trac.webkit.org/changeset/174810&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239934</attachid>
            <date>2014-10-15 23:53:43 -0700</date>
            <delta_ts>2014-10-16 00:15:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137771-20141016155510.patch</filename>
            <type>text/plain</type>
            <size>10325</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YyZmMxYjRkYjg2YmI3
NTQzZGNiYjcwMTU4MGU5YmRkZWE5NjBhZC4uYzQ3YTc2ZTFlYjI1NTVlYzQ0MGQ3Zjk1NjZiOWM0
ZWVmMTY0ZmI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTEwLTE1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIENTUyBKSVQ6IElu
dHJvZHVjZSBhZGRyZXNzVG9TdGFja1JlZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGFkZHJlc3NUb1N0YWNrUmVmZXJlbmNl
IGFuZCBkcm9wIG9mZnNldFRvU3RhY2tSZWZlcmVuY2UsIGl0J3MgdG9vIHByaW1pdGl2ZS4KKwor
ICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVTZWxlY3Rv
ckNoZWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZVBhcmVudEVsZW1lbnRUcmVlV2Fsa2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJh
dGVEaXJlY3RBZGphY2VudFRyZWVXYWxrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpsb2FkQ2hlY2tpbmdDb250ZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6
Z2VuZXJhdGVBZGphY2VudEJhY2t0cmFja2luZ1RhaWwpOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZURlc2NlbmRhbnRC
YWNrdHJhY2tpbmdUYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNl
bGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNGaXJzdExpbmspOgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZVN0b3JlTGFzdFZpc2l0ZWRFbGVtZW50KToKKyAgICAgICAgKiBjc3NqaXQvU3RhY2tBbGxv
Y2F0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0YWNrQWxsb2NhdG9yOjphZGRyZXNzVG9TdGFj
a1JlZmVyZW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6b2Zmc2V0VG9T
dGFja1JlZmVyZW5jZSk6CisKIDIwMTQtMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBVc2UgaXM8PigpIC8gZG93bmNhc3Q8PigpIGZvciBsaXN0LXJlbGF0
ZWQgcmVuZGVyIG9iamVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxl
Y3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVy
LmNwcAppbmRleCBlZDA1NmE0OWVhNmQ3MzI4MTRkYzYxNjJkYzMyY2JkOGFmMGMwNjMxLi44OGVk
Njk5N2IyNzhhMjY4YWUyZDI2NzkyYjliY2FhMTlkOWIwYzllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBAIC0xNTUwLDEwICsxNTUwLDggQEAgdm9pZCBT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlU2VsZWN0b3JDaGVja2VyKCkKICAgICBpZiAo
bV92aXNpdGVkTW9kZSA9PSBWaXNpdGVkTW9kZTo6VmlzaXRlZCkgewogICAgICAgICBtX2xhc3RW
aXNpdGVkRWxlbWVudCA9IHRlbXBvcmFyeVN0YWNrLnRha2VMYXN0KCk7CiAgICAgICAgIG1fc3Rh
cnRFbGVtZW50ID0gdGVtcG9yYXJ5U3RhY2sudGFrZUxhc3QoKTsKLSAgICAgICAgdW5zaWduZWQg
b2Zmc2V0VG9TdGFydEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3RhY2tSZWZl
cmVuY2UobV9zdGFydEVsZW1lbnQpOwotICAgICAgICBtX2Fzc2VtYmxlci5zdG9yZVB0cihlbGVt
ZW50QWRkcmVzc1JlZ2lzdGVyLCBBc3NlbWJsZXI6OkFkZHJlc3MoQXNzZW1ibGVyOjpzdGFja1Bv
aW50ZXJSZWdpc3Rlciwgb2Zmc2V0VG9TdGFydEVsZW1lbnQpKTsKLSAgICAgICAgdW5zaWduZWQg
b2Zmc2V0VG9MYXN0VmlzaXRlZEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3Rh
Y2tSZWZlcmVuY2UobV9sYXN0VmlzaXRlZEVsZW1lbnQpOwotICAgICAgICBtX2Fzc2VtYmxlci5z
dG9yZVB0cihBc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIobnVsbHB0ciksIEFzc2VtYmxlcjo6QWRk
cmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBvZmZzZXRUb0xhc3RWaXNpdGVk
RWxlbWVudCkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdG9yZVB0cihlbGVtZW50QWRkcmVzc1Jl
Z2lzdGVyLCBtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0YWNrUmVmZXJlbmNlKG1fc3RhcnRF
bGVtZW50KSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnN0b3JlUHRyKEFzc2VtYmxlcjo6VHJ1c3Rl
ZEltbVB0cihudWxscHRyKSwgbV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFja1JlZmVyZW5j
ZShtX2xhc3RWaXNpdGVkRWxlbWVudCkpOwogICAgIH0KIAogICAgIG1fYmFja3RyYWNraW5nU3Rh
Y2sgPSB0ZW1wb3JhcnlTdGFjazsKQEAgLTE1NjgsOCArMTU2Niw3IEBAIHZvaWQgU2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZVNlbGVjdG9yQ2hlY2tlcigpCiAKICAgICBpZiAobV92aXNp
dGVkTW9kZSA9PSBWaXNpdGVkTW9kZTo6VmlzaXRlZCkgewogICAgICAgICBMb2NhbFJlZ2lzdGVy
IGxhc3RWaXNpdGVkRWxlbWVudChtX3JlZ2lzdGVyQWxsb2NhdG9yKTsKLSAgICAgICAgdW5zaWdu
ZWQgb2Zmc2V0VG9MYXN0VmlzaXRlZEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRv
U3RhY2tSZWZlcmVuY2UobV9sYXN0VmlzaXRlZEVsZW1lbnQpOwotICAgICAgICBtX2Fzc2VtYmxl
ci5sb2FkUHRyKEFzc2VtYmxlcjo6QWRkcmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lz
dGVyLCBvZmZzZXRUb0xhc3RWaXNpdGVkRWxlbWVudCksIGxhc3RWaXNpdGVkRWxlbWVudCk7Cisg
ICAgICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIobV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFj
a1JlZmVyZW5jZShtX2xhc3RWaXNpdGVkRWxlbWVudCksIGxhc3RWaXNpdGVkRWxlbWVudCk7CiAg
ICAgICAgIEFzc2VtYmxlcjo6SnVtcCBub0xhc3RWaXNpdGVkRWxlbWVudCA9IG1fYXNzZW1ibGVy
LmJyYW5jaFRlc3RQdHIoQXNzZW1ibGVyOjpaZXJvLCBsYXN0VmlzaXRlZEVsZW1lbnQpOwogICAg
ICAgICBnZW5lcmF0ZUVsZW1lbnRJc0ZpcnN0TGluayhmYWlsdXJlQ2FzZXMsIGxhc3RWaXNpdGVk
RWxlbWVudCk7CiAgICAgICAgIG5vTGFzdFZpc2l0ZWRFbGVtZW50LmxpbmsoJm1fYXNzZW1ibGVy
KTsKQEAgLTE3NDAsOCArMTczNyw3IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZVBhcmVudEVsZW1lbnRUcmVlV2Fsa2VyKEFzc2VtYmxlcjo6SnVtcExpc3QmCiAgICAgICAg
ICAgICBBU1NFUlQoIWN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNr
aW5nU3RhcnQuaXNWYWxpZCgpKTsKICAgICAgICAgICAgIGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZl
bC5kZXNjZW5kYW50QmFja3RyYWNraW5nU3RhcnQgPSBtX2JhY2t0cmFja2luZ1N0YWNrLnRha2VM
YXN0KCk7CiAKLSAgICAgICAgICAgIHVuc2lnbmVkIG9mZnNldFRvRGVzY2VuZGFudEJhY2t0cmFj
a2luZ1N0YXJ0ID0gbV9zdGFja0FsbG9jYXRvci5vZmZzZXRUb1N0YWNrUmVmZXJlbmNlKGN1cnJl
bnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNraW5nU3RhcnQpOwotICAgICAg
ICAgICAgbV9hc3NlbWJsZXIuc3RvcmVQdHIoZWxlbWVudEFkZHJlc3NSZWdpc3RlciwgQXNzZW1i
bGVyOjpBZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvRGVz
Y2VuZGFudEJhY2t0cmFja2luZ1N0YXJ0KSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdG9y
ZVB0cihlbGVtZW50QWRkcmVzc1JlZ2lzdGVyLCBtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0
YWNrUmVmZXJlbmNlKGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNr
aW5nU3RhcnQpKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTE4MjYsOCArMTgyMiw3IEBAIHZv
aWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZURpcmVjdEFkamFjZW50VHJlZVdhbGtl
cihBc3NlbWJsZXI6Okp1bXBMaXN0CiAgICAgICAgIEFTU0VSVCghY3VycmVudEJhY2t0cmFja2lu
Z0xldmVsLmFkamFjZW50QmFja3RyYWNraW5nU3RhcnQuaXNWYWxpZCgpKTsKICAgICAgICAgY3Vy
cmVudEJhY2t0cmFja2luZ0xldmVsLmFkamFjZW50QmFja3RyYWNraW5nU3RhcnQgPSBtX2JhY2t0
cmFja2luZ1N0YWNrLnRha2VMYXN0KCk7CiAKLSAgICAgICAgdW5zaWduZWQgb2Zmc2V0VG9BZGph
Y2VudEJhY2t0cmFja2luZ1N0YXJ0ID0gbV9zdGFja0FsbG9jYXRvci5vZmZzZXRUb1N0YWNrUmVm
ZXJlbmNlKGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2luZ1N0YXJ0
KTsKLSAgICAgICAgbV9hc3NlbWJsZXIuc3RvcmVQdHIoZWxlbWVudEFkZHJlc3NSZWdpc3Rlciwg
QXNzZW1ibGVyOjpBZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNl
dFRvQWRqYWNlbnRCYWNrdHJhY2tpbmdTdGFydCkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdG9y
ZVB0cihlbGVtZW50QWRkcmVzc1JlZ2lzdGVyLCBtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0
YWNrUmVmZXJlbmNlKGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2lu
Z1N0YXJ0KSk7CiAgICAgfQogfQogCkBAIC0xOTAzLDggKzE4OTgsNyBAQCB2b2lkIFNlbGVjdG9y
Q29kZUdlbmVyYXRvcjo6bG9hZENoZWNraW5nQ29udGV4dChBc3NlbWJsZXI6OlJlZ2lzdGVySUQg
Y2hlY2tpbmdDbwogewogICAgIC8vIEdldCB0aGUgY2hlY2tpbmcgY29udGV4dC4KICAgICBSRUxF
QVNFX0FTU0VSVChtX2Z1bmN0aW9uVHlwZSA9PSBGdW5jdGlvblR5cGU6OlNlbGVjdG9yQ2hlY2tl
cldpdGhDaGVja2luZ0NvbnRleHQpOwotICAgIHVuc2lnbmVkIG9mZnNldFRvQ2hlY2tpbmdDb250
ZXh0ID0gbV9zdGFja0FsbG9jYXRvci5vZmZzZXRUb1N0YWNrUmVmZXJlbmNlKG1fY2hlY2tpbmdD
b250ZXh0U3RhY2tSZWZlcmVuY2UpOwotICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVy
OjpBZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvQ2hlY2tp
bmdDb250ZXh0KSwgY2hlY2tpbmdDb250ZXh0KTsKKyAgICBtX2Fzc2VtYmxlci5sb2FkUHRyKG1f
c3RhY2tBbGxvY2F0b3IuYWRkcmVzc1RvU3RhY2tSZWZlcmVuY2UobV9jaGVja2luZ0NvbnRleHRT
dGFja1JlZmVyZW5jZSksIGNoZWNraW5nQ29udGV4dCk7CiB9CiAKIEFzc2VtYmxlcjo6SnVtcCBT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmJyYW5jaE9uUmVzb2x2aW5nTW9kZVdpdGhDaGVja2luZ0Nv
bnRleHQoQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmRpdGlvbiwgU2VsZWN0b3JD
aGVja2VyOjpNb2RlIG1vZGUsIEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBjaGVja2luZ0NvbnRleHQp
CkBAIC0yMTU1LDExICsyMTQ5LDEwIEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZUFkamFjZW50QmFja3RyYWNraW5nVGFpbCgpCiAgICAgbV9iYWNrdHJhY2tpbmdMZXZlbHMu
bGFzdCgpLmFkamFjZW50QmFja3RyYWNraW5nRmFpbHVyZUNhc2VzLmNsZWFyKCk7CiAKICAgICBC
YWNrdHJhY2tpbmdMZXZlbCYgY3VycmVudEJhY2t0cmFja2luZ0xldmVsID0gbV9iYWNrdHJhY2tp
bmdMZXZlbHMubGFzdCgpOwotICAgIHVuc2lnbmVkIG9mZnNldFRvQWRqYWNlbnRCYWNrdHJhY2tp
bmdTdGFydCA9IG1fc3RhY2tBbGxvY2F0b3Iub2Zmc2V0VG9TdGFja1JlZmVyZW5jZShjdXJyZW50
QmFja3RyYWNraW5nTGV2ZWwuYWRqYWNlbnRCYWNrdHJhY2tpbmdTdGFydCk7CisgICAgbV9hc3Nl
bWJsZXIubG9hZFB0cihtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0YWNrUmVmZXJlbmNlKGN1
cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2luZ1N0YXJ0KSwgZWxlbWVu
dEFkZHJlc3NSZWdpc3Rlcik7CiAgICAgbV9iYWNrdHJhY2tpbmdTdGFjay5hcHBlbmQoY3VycmVu
dEJhY2t0cmFja2luZ0xldmVsLmFkamFjZW50QmFja3RyYWNraW5nU3RhcnQpOwogICAgIGN1cnJl
bnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2luZ1N0YXJ0ID0gU3RhY2tBbGxv
Y2F0b3I6OlN0YWNrUmVmZXJlbmNlKCk7CiAKLSAgICBtX2Fzc2VtYmxlci5sb2FkUHRyKEFzc2Vt
Ymxlcjo6QWRkcmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBvZmZzZXRUb0Fk
amFjZW50QmFja3RyYWNraW5nU3RhcnQpLCBlbGVtZW50QWRkcmVzc1JlZ2lzdGVyKTsKICAgICBt
X2Fzc2VtYmxlci5qdW1wKG1fYmFja3RyYWNraW5nTGV2ZWxzLmxhc3QoKS5pbmRpcmVjdEFkamFj
ZW50RW50cnlQb2ludCk7CiB9CiAKQEAgLTIxNzQsOCArMjE2Nyw3IEBAIHZvaWQgU2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZURlc2NlbmRhbnRCYWNrdHJhY2tpbmdUYWlsKCkKICAgICAg
ICAgbV9yZWdpc3RlckFsbG9jYXRvci5kZWFsbG9jYXRlUmVnaXN0ZXIobV9kZXNjZW5kYW50QmFj
a3RyYWNraW5nU3RhcnQpOwogICAgICAgICBtX2Rlc2NlbmRhbnRCYWNrdHJhY2tpbmdTdGFydElu
VXNlID0gZmFsc2U7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdW5zaWduZWQgb2Zmc2V0VG9EZXNj
ZW5kYW50QmFja3RyYWNraW5nU3RhcnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3RhY2tS
ZWZlcmVuY2UoY3VycmVudEJhY2t0cmFja2luZ0xldmVsLmRlc2NlbmRhbnRCYWNrdHJhY2tpbmdT
dGFydCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVyOjpBZGRyZXNzKEFz
c2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvRGVzY2VuZGFudEJhY2t0cmFj
a2luZ1N0YXJ0KSwgZWxlbWVudEFkZHJlc3NSZWdpc3Rlcik7CisgICAgICAgIG1fYXNzZW1ibGVy
LmxvYWRQdHIobV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFja1JlZmVyZW5jZShjdXJyZW50
QmFja3RyYWNraW5nTGV2ZWwuZGVzY2VuZGFudEJhY2t0cmFja2luZ1N0YXJ0KSwgZWxlbWVudEFk
ZHJlc3NSZWdpc3Rlcik7CiAgICAgICAgIG1fYmFja3RyYWNraW5nU3RhY2suYXBwZW5kKGN1cnJl
bnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNraW5nU3RhcnQpOwogICAgICAg
ICBjdXJyZW50QmFja3RyYWNraW5nTGV2ZWwuZGVzY2VuZGFudEJhY2t0cmFja2luZ1N0YXJ0ID0g
U3RhY2tBbGxvY2F0b3I6OlN0YWNrUmVmZXJlbmNlKCk7CiAgICAgfQpAQCAtMzQzOCw4ICszNDMw
LDcgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzVGFyZ2V0
KEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmUKIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9y
OjpnZW5lcmF0ZUVsZW1lbnRJc0ZpcnN0TGluayhBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJl
Q2FzZXMsIEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBlbGVtZW50KQogewogICAgIExvY2FsUmVnaXN0
ZXIgY3VycmVudEVsZW1lbnQobV9yZWdpc3RlckFsbG9jYXRvcik7Ci0gICAgdW5zaWduZWQgb2Zm
c2V0VG9TdGFydEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3RhY2tSZWZlcmVu
Y2UobV9zdGFydEVsZW1lbnQpOwotICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVyOjpB
ZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvU3RhcnRFbGVt
ZW50KSwgY3VycmVudEVsZW1lbnQpOworICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIobV9zdGFja0Fs
bG9jYXRvci5hZGRyZXNzVG9TdGFja1JlZmVyZW5jZShtX3N0YXJ0RWxlbWVudCksIGN1cnJlbnRF
bGVtZW50KTsKIAogICAgIC8vIFRyZWUgd2Fsa2luZyB1cCB0byB0aGUgcHJvdmlkZWQgZWxlbWVu
dCB1bnRpbCBsaW5rIG5vZGUgaXMgZm91bmQuCiAgICAgQXNzZW1ibGVyOjpMYWJlbCBsb29wU3Rh
cnQobV9hc3NlbWJsZXIubGFiZWwoKSk7CkBAIC0zNDYwLDggKzM0NTEsNyBAQCB2b2lkIFNlbGVj
dG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNGaXJzdExpbmsoQXNzZW1ibGVyOjpK
dW1wTGlzdCYgZmFpbAogCiB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVTdG9y
ZUxhc3RWaXNpdGVkRWxlbWVudChBc3NlbWJsZXI6OlJlZ2lzdGVySUQgZWxlbWVudCkKIHsKLSAg
ICB1bnNpZ25lZCBvZmZzZXRUb0xhc3RWaXNpdGVkRWxlbWVudCA9IG1fc3RhY2tBbGxvY2F0b3Iu
b2Zmc2V0VG9TdGFja1JlZmVyZW5jZShtX2xhc3RWaXNpdGVkRWxlbWVudCk7Ci0gICAgbV9hc3Nl
bWJsZXIuc3RvcmVQdHIoZWxlbWVudCwgQXNzZW1ibGVyOjpBZGRyZXNzKEFzc2VtYmxlcjo6c3Rh
Y2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvTGFzdFZpc2l0ZWRFbGVtZW50KSk7CisgICAgbV9h
c3NlbWJsZXIuc3RvcmVQdHIoZWxlbWVudCwgbV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFj
a1JlZmVyZW5jZShtX2xhc3RWaXNpdGVkRWxlbWVudCkpOwogfQogCiB2b2lkIFNlbGVjdG9yQ29k
ZUdlbmVyYXRvcjo6Z2VuZXJhdGVNYXJrUHNldWRvU3R5bGVGb3JQc2V1ZG9FbGVtZW50KEFzc2Vt
Ymxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYgZnJh
Z21lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU3RhY2tBbGxvY2F0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5oCmluZGV4IGE0ZDhmMDk4
MzU3ZTUzM2U1NzRjZjYyYTkyMDQ1MThmMTFmYTc0MWYuLjMwYzZlMDhmYTI0OThiYTU4ZTQwNmFi
YTQ1ZDZhNjBjZTEwMjQxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFj
a0FsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5o
CkBAIC0yMjcsMTAgKzIyNyw5IEBAIGNsYXNzIFN0YWNrQWxsb2NhdG9yIHsKICAgICAgICAgc3Rh
Y2tDLnJlc2V0KCk7CiAgICAgfQogCi0gICAgdW5zaWduZWQgb2Zmc2V0VG9TdGFja1JlZmVyZW5j
ZShTdGFja1JlZmVyZW5jZSBzdGFja1JlZmVyZW5jZSkKKyAgICBKU0M6Ok1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzIGFkZHJlc3NUb1N0YWNrUmVmZXJlbmNlKFN0YWNrUmVmZXJlbmNlIHN0YWNrUmVm
ZXJlbmNlKQogICAgIHsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9vZmZzZXRGcm9tVG9wID49
IHN0YWNrUmVmZXJlbmNlKTsKLSAgICAgICAgcmV0dXJuIG1fb2Zmc2V0RnJvbVRvcCAtIHN0YWNr
UmVmZXJlbmNlOworICAgICAgICByZXR1cm4gSlNDOjpNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhK
U0M6Ok1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlciwgb2Zmc2V0VG9TdGFja1Jl
ZmVyZW5jZShzdGFja1JlZmVyZW5jZSkpCiAgICAgfQogCiBwcml2YXRlOgpAQCAtMjM5LDYgKzIz
OCwxMiBAQCBjbGFzcyBTdGFja0FsbG9jYXRvciB7CiAgICAgICAgIHJldHVybiBKU0M6Ok1hY3Jv
QXNzZW1ibGVyOjpwdXNoVG9TYXZlQnl0ZU9mZnNldCgpOwogICAgIH0KIAorICAgIHVuc2lnbmVk
IG9mZnNldFRvU3RhY2tSZWZlcmVuY2UoU3RhY2tSZWZlcmVuY2Ugc3RhY2tSZWZlcmVuY2UpCisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChtX29mZnNldEZyb21Ub3AgPj0gc3RhY2tSZWZl
cmVuY2UpOworICAgICAgICByZXR1cm4gbV9vZmZzZXRGcm9tVG9wIC0gc3RhY2tSZWZlcmVuY2U7
CisgICAgfQorCiAgICAgdm9pZCByZXNldCgpCiAgICAgewogICAgICAgICBtX29mZnNldEZyb21U
b3AgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239938</attachid>
            <date>2014-10-16 00:15:33 -0700</date>
            <delta_ts>2014-10-16 21:27:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137771-20141016161700.patch</filename>
            <type>text/plain</type>
            <size>10326</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2YyZmMxYjRkYjg2YmI3
NTQzZGNiYjcwMTU4MGU5YmRkZWE5NjBhZC4uMjJlMDRjYjlmODU0OWQ2MGU5ZDk2NWE2ZTUyY2Jj
MThkMTYwZTZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTEwLTE2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIENTUyBKSVQ6IElu
dHJvZHVjZSBhZGRyZXNzVG9TdGFja1JlZmVyZW5jZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGFkZHJlc3NUb1N0YWNrUmVmZXJlbmNl
IGFuZCBkcm9wIG9mZnNldFRvU3RhY2tSZWZlcmVuY2UsIGl0J3MgdG9vIHByaW1pdGl2ZS4KKwor
ICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVTZWxlY3Rv
ckNoZWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZVBhcmVudEVsZW1lbnRUcmVlV2Fsa2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJh
dGVEaXJlY3RBZGphY2VudFRyZWVXYWxrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpsb2FkQ2hlY2tpbmdDb250ZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6
Z2VuZXJhdGVBZGphY2VudEJhY2t0cmFja2luZ1RhaWwpOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZURlc2NlbmRhbnRC
YWNrdHJhY2tpbmdUYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNl
bGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNGaXJzdExpbmspOgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZVN0b3JlTGFzdFZpc2l0ZWRFbGVtZW50KToKKyAgICAgICAgKiBjc3NqaXQvU3RhY2tBbGxv
Y2F0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0YWNrQWxsb2NhdG9yOjphZGRyZXNzVG9TdGFj
a1JlZmVyZW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpTdGFja0FsbG9jYXRvcjo6b2Zmc2V0VG9T
dGFja1JlZmVyZW5jZSk6CisKIDIwMTQtMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBVc2UgaXM8PigpIC8gZG93bmNhc3Q8PigpIGZvciBsaXN0LXJlbGF0
ZWQgcmVuZGVyIG9iamVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxl
Y3RvckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVy
LmNwcAppbmRleCBlZDA1NmE0OWVhNmQ3MzI4MTRkYzYxNjJkYzMyY2JkOGFmMGMwNjMxLi44OGVk
Njk5N2IyNzhhMjY4YWUyZDI2NzkyYjliY2FhMTlkOWIwYzllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBAIC0xNTUwLDEwICsxNTUwLDggQEAgdm9pZCBT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlU2VsZWN0b3JDaGVja2VyKCkKICAgICBpZiAo
bV92aXNpdGVkTW9kZSA9PSBWaXNpdGVkTW9kZTo6VmlzaXRlZCkgewogICAgICAgICBtX2xhc3RW
aXNpdGVkRWxlbWVudCA9IHRlbXBvcmFyeVN0YWNrLnRha2VMYXN0KCk7CiAgICAgICAgIG1fc3Rh
cnRFbGVtZW50ID0gdGVtcG9yYXJ5U3RhY2sudGFrZUxhc3QoKTsKLSAgICAgICAgdW5zaWduZWQg
b2Zmc2V0VG9TdGFydEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3RhY2tSZWZl
cmVuY2UobV9zdGFydEVsZW1lbnQpOwotICAgICAgICBtX2Fzc2VtYmxlci5zdG9yZVB0cihlbGVt
ZW50QWRkcmVzc1JlZ2lzdGVyLCBBc3NlbWJsZXI6OkFkZHJlc3MoQXNzZW1ibGVyOjpzdGFja1Bv
aW50ZXJSZWdpc3Rlciwgb2Zmc2V0VG9TdGFydEVsZW1lbnQpKTsKLSAgICAgICAgdW5zaWduZWQg
b2Zmc2V0VG9MYXN0VmlzaXRlZEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3Rh
Y2tSZWZlcmVuY2UobV9sYXN0VmlzaXRlZEVsZW1lbnQpOwotICAgICAgICBtX2Fzc2VtYmxlci5z
dG9yZVB0cihBc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIobnVsbHB0ciksIEFzc2VtYmxlcjo6QWRk
cmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBvZmZzZXRUb0xhc3RWaXNpdGVk
RWxlbWVudCkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdG9yZVB0cihlbGVtZW50QWRkcmVzc1Jl
Z2lzdGVyLCBtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0YWNrUmVmZXJlbmNlKG1fc3RhcnRF
bGVtZW50KSk7CisgICAgICAgIG1fYXNzZW1ibGVyLnN0b3JlUHRyKEFzc2VtYmxlcjo6VHJ1c3Rl
ZEltbVB0cihudWxscHRyKSwgbV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFja1JlZmVyZW5j
ZShtX2xhc3RWaXNpdGVkRWxlbWVudCkpOwogICAgIH0KIAogICAgIG1fYmFja3RyYWNraW5nU3Rh
Y2sgPSB0ZW1wb3JhcnlTdGFjazsKQEAgLTE1NjgsOCArMTU2Niw3IEBAIHZvaWQgU2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZVNlbGVjdG9yQ2hlY2tlcigpCiAKICAgICBpZiAobV92aXNp
dGVkTW9kZSA9PSBWaXNpdGVkTW9kZTo6VmlzaXRlZCkgewogICAgICAgICBMb2NhbFJlZ2lzdGVy
IGxhc3RWaXNpdGVkRWxlbWVudChtX3JlZ2lzdGVyQWxsb2NhdG9yKTsKLSAgICAgICAgdW5zaWdu
ZWQgb2Zmc2V0VG9MYXN0VmlzaXRlZEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRv
U3RhY2tSZWZlcmVuY2UobV9sYXN0VmlzaXRlZEVsZW1lbnQpOwotICAgICAgICBtX2Fzc2VtYmxl
ci5sb2FkUHRyKEFzc2VtYmxlcjo6QWRkcmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lz
dGVyLCBvZmZzZXRUb0xhc3RWaXNpdGVkRWxlbWVudCksIGxhc3RWaXNpdGVkRWxlbWVudCk7Cisg
ICAgICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIobV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFj
a1JlZmVyZW5jZShtX2xhc3RWaXNpdGVkRWxlbWVudCksIGxhc3RWaXNpdGVkRWxlbWVudCk7CiAg
ICAgICAgIEFzc2VtYmxlcjo6SnVtcCBub0xhc3RWaXNpdGVkRWxlbWVudCA9IG1fYXNzZW1ibGVy
LmJyYW5jaFRlc3RQdHIoQXNzZW1ibGVyOjpaZXJvLCBsYXN0VmlzaXRlZEVsZW1lbnQpOwogICAg
ICAgICBnZW5lcmF0ZUVsZW1lbnRJc0ZpcnN0TGluayhmYWlsdXJlQ2FzZXMsIGxhc3RWaXNpdGVk
RWxlbWVudCk7CiAgICAgICAgIG5vTGFzdFZpc2l0ZWRFbGVtZW50LmxpbmsoJm1fYXNzZW1ibGVy
KTsKQEAgLTE3NDAsOCArMTczNyw3IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZVBhcmVudEVsZW1lbnRUcmVlV2Fsa2VyKEFzc2VtYmxlcjo6SnVtcExpc3QmCiAgICAgICAg
ICAgICBBU1NFUlQoIWN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNr
aW5nU3RhcnQuaXNWYWxpZCgpKTsKICAgICAgICAgICAgIGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZl
bC5kZXNjZW5kYW50QmFja3RyYWNraW5nU3RhcnQgPSBtX2JhY2t0cmFja2luZ1N0YWNrLnRha2VM
YXN0KCk7CiAKLSAgICAgICAgICAgIHVuc2lnbmVkIG9mZnNldFRvRGVzY2VuZGFudEJhY2t0cmFj
a2luZ1N0YXJ0ID0gbV9zdGFja0FsbG9jYXRvci5vZmZzZXRUb1N0YWNrUmVmZXJlbmNlKGN1cnJl
bnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNraW5nU3RhcnQpOwotICAgICAg
ICAgICAgbV9hc3NlbWJsZXIuc3RvcmVQdHIoZWxlbWVudEFkZHJlc3NSZWdpc3RlciwgQXNzZW1i
bGVyOjpBZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvRGVz
Y2VuZGFudEJhY2t0cmFja2luZ1N0YXJ0KSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zdG9y
ZVB0cihlbGVtZW50QWRkcmVzc1JlZ2lzdGVyLCBtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0
YWNrUmVmZXJlbmNlKGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNr
aW5nU3RhcnQpKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTE4MjYsOCArMTgyMiw3IEBAIHZv
aWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZURpcmVjdEFkamFjZW50VHJlZVdhbGtl
cihBc3NlbWJsZXI6Okp1bXBMaXN0CiAgICAgICAgIEFTU0VSVCghY3VycmVudEJhY2t0cmFja2lu
Z0xldmVsLmFkamFjZW50QmFja3RyYWNraW5nU3RhcnQuaXNWYWxpZCgpKTsKICAgICAgICAgY3Vy
cmVudEJhY2t0cmFja2luZ0xldmVsLmFkamFjZW50QmFja3RyYWNraW5nU3RhcnQgPSBtX2JhY2t0
cmFja2luZ1N0YWNrLnRha2VMYXN0KCk7CiAKLSAgICAgICAgdW5zaWduZWQgb2Zmc2V0VG9BZGph
Y2VudEJhY2t0cmFja2luZ1N0YXJ0ID0gbV9zdGFja0FsbG9jYXRvci5vZmZzZXRUb1N0YWNrUmVm
ZXJlbmNlKGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2luZ1N0YXJ0
KTsKLSAgICAgICAgbV9hc3NlbWJsZXIuc3RvcmVQdHIoZWxlbWVudEFkZHJlc3NSZWdpc3Rlciwg
QXNzZW1ibGVyOjpBZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNl
dFRvQWRqYWNlbnRCYWNrdHJhY2tpbmdTdGFydCkpOworICAgICAgICBtX2Fzc2VtYmxlci5zdG9y
ZVB0cihlbGVtZW50QWRkcmVzc1JlZ2lzdGVyLCBtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0
YWNrUmVmZXJlbmNlKGN1cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2lu
Z1N0YXJ0KSk7CiAgICAgfQogfQogCkBAIC0xOTAzLDggKzE4OTgsNyBAQCB2b2lkIFNlbGVjdG9y
Q29kZUdlbmVyYXRvcjo6bG9hZENoZWNraW5nQ29udGV4dChBc3NlbWJsZXI6OlJlZ2lzdGVySUQg
Y2hlY2tpbmdDbwogewogICAgIC8vIEdldCB0aGUgY2hlY2tpbmcgY29udGV4dC4KICAgICBSRUxF
QVNFX0FTU0VSVChtX2Z1bmN0aW9uVHlwZSA9PSBGdW5jdGlvblR5cGU6OlNlbGVjdG9yQ2hlY2tl
cldpdGhDaGVja2luZ0NvbnRleHQpOwotICAgIHVuc2lnbmVkIG9mZnNldFRvQ2hlY2tpbmdDb250
ZXh0ID0gbV9zdGFja0FsbG9jYXRvci5vZmZzZXRUb1N0YWNrUmVmZXJlbmNlKG1fY2hlY2tpbmdD
b250ZXh0U3RhY2tSZWZlcmVuY2UpOwotICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVy
OjpBZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvQ2hlY2tp
bmdDb250ZXh0KSwgY2hlY2tpbmdDb250ZXh0KTsKKyAgICBtX2Fzc2VtYmxlci5sb2FkUHRyKG1f
c3RhY2tBbGxvY2F0b3IuYWRkcmVzc1RvU3RhY2tSZWZlcmVuY2UobV9jaGVja2luZ0NvbnRleHRT
dGFja1JlZmVyZW5jZSksIGNoZWNraW5nQ29udGV4dCk7CiB9CiAKIEFzc2VtYmxlcjo6SnVtcCBT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmJyYW5jaE9uUmVzb2x2aW5nTW9kZVdpdGhDaGVja2luZ0Nv
bnRleHQoQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmRpdGlvbiwgU2VsZWN0b3JD
aGVja2VyOjpNb2RlIG1vZGUsIEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBjaGVja2luZ0NvbnRleHQp
CkBAIC0yMTU1LDExICsyMTQ5LDEwIEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5l
cmF0ZUFkamFjZW50QmFja3RyYWNraW5nVGFpbCgpCiAgICAgbV9iYWNrdHJhY2tpbmdMZXZlbHMu
bGFzdCgpLmFkamFjZW50QmFja3RyYWNraW5nRmFpbHVyZUNhc2VzLmNsZWFyKCk7CiAKICAgICBC
YWNrdHJhY2tpbmdMZXZlbCYgY3VycmVudEJhY2t0cmFja2luZ0xldmVsID0gbV9iYWNrdHJhY2tp
bmdMZXZlbHMubGFzdCgpOwotICAgIHVuc2lnbmVkIG9mZnNldFRvQWRqYWNlbnRCYWNrdHJhY2tp
bmdTdGFydCA9IG1fc3RhY2tBbGxvY2F0b3Iub2Zmc2V0VG9TdGFja1JlZmVyZW5jZShjdXJyZW50
QmFja3RyYWNraW5nTGV2ZWwuYWRqYWNlbnRCYWNrdHJhY2tpbmdTdGFydCk7CisgICAgbV9hc3Nl
bWJsZXIubG9hZFB0cihtX3N0YWNrQWxsb2NhdG9yLmFkZHJlc3NUb1N0YWNrUmVmZXJlbmNlKGN1
cnJlbnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2luZ1N0YXJ0KSwgZWxlbWVu
dEFkZHJlc3NSZWdpc3Rlcik7CiAgICAgbV9iYWNrdHJhY2tpbmdTdGFjay5hcHBlbmQoY3VycmVu
dEJhY2t0cmFja2luZ0xldmVsLmFkamFjZW50QmFja3RyYWNraW5nU3RhcnQpOwogICAgIGN1cnJl
bnRCYWNrdHJhY2tpbmdMZXZlbC5hZGphY2VudEJhY2t0cmFja2luZ1N0YXJ0ID0gU3RhY2tBbGxv
Y2F0b3I6OlN0YWNrUmVmZXJlbmNlKCk7CiAKLSAgICBtX2Fzc2VtYmxlci5sb2FkUHRyKEFzc2Vt
Ymxlcjo6QWRkcmVzcyhBc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBvZmZzZXRUb0Fk
amFjZW50QmFja3RyYWNraW5nU3RhcnQpLCBlbGVtZW50QWRkcmVzc1JlZ2lzdGVyKTsKICAgICBt
X2Fzc2VtYmxlci5qdW1wKG1fYmFja3RyYWNraW5nTGV2ZWxzLmxhc3QoKS5pbmRpcmVjdEFkamFj
ZW50RW50cnlQb2ludCk7CiB9CiAKQEAgLTIxNzQsOCArMjE2Nyw3IEBAIHZvaWQgU2VsZWN0b3JD
b2RlR2VuZXJhdG9yOjpnZW5lcmF0ZURlc2NlbmRhbnRCYWNrdHJhY2tpbmdUYWlsKCkKICAgICAg
ICAgbV9yZWdpc3RlckFsbG9jYXRvci5kZWFsbG9jYXRlUmVnaXN0ZXIobV9kZXNjZW5kYW50QmFj
a3RyYWNraW5nU3RhcnQpOwogICAgICAgICBtX2Rlc2NlbmRhbnRCYWNrdHJhY2tpbmdTdGFydElu
VXNlID0gZmFsc2U7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdW5zaWduZWQgb2Zmc2V0VG9EZXNj
ZW5kYW50QmFja3RyYWNraW5nU3RhcnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3RhY2tS
ZWZlcmVuY2UoY3VycmVudEJhY2t0cmFja2luZ0xldmVsLmRlc2NlbmRhbnRCYWNrdHJhY2tpbmdT
dGFydCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVyOjpBZGRyZXNzKEFz
c2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvRGVzY2VuZGFudEJhY2t0cmFj
a2luZ1N0YXJ0KSwgZWxlbWVudEFkZHJlc3NSZWdpc3Rlcik7CisgICAgICAgIG1fYXNzZW1ibGVy
LmxvYWRQdHIobV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFja1JlZmVyZW5jZShjdXJyZW50
QmFja3RyYWNraW5nTGV2ZWwuZGVzY2VuZGFudEJhY2t0cmFja2luZ1N0YXJ0KSwgZWxlbWVudEFk
ZHJlc3NSZWdpc3Rlcik7CiAgICAgICAgIG1fYmFja3RyYWNraW5nU3RhY2suYXBwZW5kKGN1cnJl
bnRCYWNrdHJhY2tpbmdMZXZlbC5kZXNjZW5kYW50QmFja3RyYWNraW5nU3RhcnQpOwogICAgICAg
ICBjdXJyZW50QmFja3RyYWNraW5nTGV2ZWwuZGVzY2VuZGFudEJhY2t0cmFja2luZ1N0YXJ0ID0g
U3RhY2tBbGxvY2F0b3I6OlN0YWNrUmVmZXJlbmNlKCk7CiAgICAgfQpAQCAtMzQzOCw4ICszNDMw
LDcgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzVGFyZ2V0
KEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmUKIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9y
OjpnZW5lcmF0ZUVsZW1lbnRJc0ZpcnN0TGluayhBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJl
Q2FzZXMsIEFzc2VtYmxlcjo6UmVnaXN0ZXJJRCBlbGVtZW50KQogewogICAgIExvY2FsUmVnaXN0
ZXIgY3VycmVudEVsZW1lbnQobV9yZWdpc3RlckFsbG9jYXRvcik7Ci0gICAgdW5zaWduZWQgb2Zm
c2V0VG9TdGFydEVsZW1lbnQgPSBtX3N0YWNrQWxsb2NhdG9yLm9mZnNldFRvU3RhY2tSZWZlcmVu
Y2UobV9zdGFydEVsZW1lbnQpOwotICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIoQXNzZW1ibGVyOjpB
ZGRyZXNzKEFzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvU3RhcnRFbGVt
ZW50KSwgY3VycmVudEVsZW1lbnQpOworICAgIG1fYXNzZW1ibGVyLmxvYWRQdHIobV9zdGFja0Fs
bG9jYXRvci5hZGRyZXNzVG9TdGFja1JlZmVyZW5jZShtX3N0YXJ0RWxlbWVudCksIGN1cnJlbnRF
bGVtZW50KTsKIAogICAgIC8vIFRyZWUgd2Fsa2luZyB1cCB0byB0aGUgcHJvdmlkZWQgZWxlbWVu
dCB1bnRpbCBsaW5rIG5vZGUgaXMgZm91bmQuCiAgICAgQXNzZW1ibGVyOjpMYWJlbCBsb29wU3Rh
cnQobV9hc3NlbWJsZXIubGFiZWwoKSk7CkBAIC0zNDYwLDggKzM0NTEsNyBAQCB2b2lkIFNlbGVj
dG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNGaXJzdExpbmsoQXNzZW1ibGVyOjpK
dW1wTGlzdCYgZmFpbAogCiB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVTdG9y
ZUxhc3RWaXNpdGVkRWxlbWVudChBc3NlbWJsZXI6OlJlZ2lzdGVySUQgZWxlbWVudCkKIHsKLSAg
ICB1bnNpZ25lZCBvZmZzZXRUb0xhc3RWaXNpdGVkRWxlbWVudCA9IG1fc3RhY2tBbGxvY2F0b3Iu
b2Zmc2V0VG9TdGFja1JlZmVyZW5jZShtX2xhc3RWaXNpdGVkRWxlbWVudCk7Ci0gICAgbV9hc3Nl
bWJsZXIuc3RvcmVQdHIoZWxlbWVudCwgQXNzZW1ibGVyOjpBZGRyZXNzKEFzc2VtYmxlcjo6c3Rh
Y2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldFRvTGFzdFZpc2l0ZWRFbGVtZW50KSk7CisgICAgbV9h
c3NlbWJsZXIuc3RvcmVQdHIoZWxlbWVudCwgbV9zdGFja0FsbG9jYXRvci5hZGRyZXNzVG9TdGFj
a1JlZmVyZW5jZShtX2xhc3RWaXNpdGVkRWxlbWVudCkpOwogfQogCiB2b2lkIFNlbGVjdG9yQ29k
ZUdlbmVyYXRvcjo6Z2VuZXJhdGVNYXJrUHNldWRvU3R5bGVGb3JQc2V1ZG9FbGVtZW50KEFzc2Vt
Ymxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYgZnJh
Z21lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU3RhY2tBbGxvY2F0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5oCmluZGV4IGE0ZDhmMDk4
MzU3ZTUzM2U1NzRjZjYyYTkyMDQ1MThmMTFmYTc0MWYuLjkwMTk5NDk5NDgxMmJkZGQ1NTI2ZTQ2
NjVlZjM2YzMzNmNiZGQzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFj
a0FsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TdGFja0FsbG9jYXRvci5o
CkBAIC0yMjcsMTAgKzIyNyw5IEBAIGNsYXNzIFN0YWNrQWxsb2NhdG9yIHsKICAgICAgICAgc3Rh
Y2tDLnJlc2V0KCk7CiAgICAgfQogCi0gICAgdW5zaWduZWQgb2Zmc2V0VG9TdGFja1JlZmVyZW5j
ZShTdGFja1JlZmVyZW5jZSBzdGFja1JlZmVyZW5jZSkKKyAgICBKU0M6Ok1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzIGFkZHJlc3NUb1N0YWNrUmVmZXJlbmNlKFN0YWNrUmVmZXJlbmNlIHN0YWNrUmVm
ZXJlbmNlKQogICAgIHsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9vZmZzZXRGcm9tVG9wID49
IHN0YWNrUmVmZXJlbmNlKTsKLSAgICAgICAgcmV0dXJuIG1fb2Zmc2V0RnJvbVRvcCAtIHN0YWNr
UmVmZXJlbmNlOworICAgICAgICByZXR1cm4gSlNDOjpNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhK
U0M6Ok1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlciwgb2Zmc2V0VG9TdGFja1Jl
ZmVyZW5jZShzdGFja1JlZmVyZW5jZSkpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTIzOSw2ICsy
MzgsMTIgQEAgY2xhc3MgU3RhY2tBbGxvY2F0b3IgewogICAgICAgICByZXR1cm4gSlNDOjpNYWNy
b0Fzc2VtYmxlcjo6cHVzaFRvU2F2ZUJ5dGVPZmZzZXQoKTsKICAgICB9CiAKKyAgICB1bnNpZ25l
ZCBvZmZzZXRUb1N0YWNrUmVmZXJlbmNlKFN0YWNrUmVmZXJlbmNlIHN0YWNrUmVmZXJlbmNlKQor
ICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobV9vZmZzZXRGcm9tVG9wID49IHN0YWNrUmVm
ZXJlbmNlKTsKKyAgICAgICAgcmV0dXJuIG1fb2Zmc2V0RnJvbVRvcCAtIHN0YWNrUmVmZXJlbmNl
OworICAgIH0KKwogICAgIHZvaWQgcmVzZXQoKQogICAgIHsKICAgICAgICAgbV9vZmZzZXRGcm9t
VG9wID0gMDsK
</data>
<flag name="review"
          id="264688"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>