<?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>73780</bug_id>
          
          <creation_ts>2011-12-04 14:26:29 -0800</creation_ts>
          <short_desc>Convert JSClassRef to use HashMap&lt;OwnPtr&gt;</short_desc>
          <delta_ts>2013-05-07 08:57:58 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73757</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>514767</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-04 14:26:29 -0800</bug_when>
    <thetext>Convert JSClassRef to use HashMap&lt;OwnPtr&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514769</commentid>
    <comment_count>1</comment_count>
      <attachid>117808</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-04 14:31:04 -0800</bug_when>
    <thetext>Created attachment 117808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514825</commentid>
    <comment_count>2</comment_count>
      <attachid>117808</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-12-04 18:49:08 -0800</bug_when>
    <thetext>Comment on attachment 117808
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=117808&amp;action=review

&gt; Source/JavaScriptCore/API/JSClassRef.cpp:82
&gt;                  // Use a local variable here to sidestep an RVCT compiler bug.

Side-stepping RVCT bugs is not an issue anymore AFAIK.
Support for Symbian has been removed from WebKit trunk, and I believe it was the only user of RVCT.
(This comment repeated for each occurrence of that workaround.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515485</commentid>
    <comment_count>3</comment_count>
      <attachid>117808</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 16:17:53 -0800</bug_when>
    <thetext>Comment on attachment 117808
Patch

Clearing flags on attachment: 117808

Committed r102065: &lt;http://trac.webkit.org/changeset/102065&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515486</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 16:17:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117808</attachid>
            <date>2011-12-04 14:31:04 -0800</date>
            <delta_ts>2011-12-05 16:17:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73780-20111204143102.patch</filename>
            <type>text/plain</type>
            <size>13786</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAxOTY4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDExLTEyLTA0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBD
b252ZXJ0IEpTQ2xhc3NSZWYgdG8gdXNlIEhhc2hNYXA8T3duUHRyPgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0RnVu
Y3Rpb25zLmg6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tPYmplY3Q6OmdldE93blByb3BlcnR5
TmFtZXMpOiBVc2UgZ2V0KCkgb24gdGhlIGhhc2ggbWFwCisgICAgICAgIGVudHJpZXMgYmVjYXVz
ZSB0aGUgaGFzaCBtYXAgbm93IGhhcyBhbiBPd25QdHIgaW5zdGVhZCBvZiBhIHJhdyBwb2ludGVy
LgorCisgICAgICAgICogQVBJL0pTQ2xhc3NSZWYuY3BwOgorICAgICAgICAoT3BhcXVlSlNDbGFz
czo6T3BhcXVlSlNDbGFzcyk6IE5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBtX3N0YXRpY1ZhbHVlcyBh
bmQKKyAgICAgICAgbV9zdGF0aWNGdW5jdGlvbnMgc2luY2UgdGhleSBhcmUgbm93IE93blB0ci4g
VXNlIGFkb3B0UHRyIHdoZW4gYWxsb2NhdGluZy4KKyAgICAgICAgUmVtb3ZlZCB0aGUgY29kZSB0
aGF0IGdldHMgYW5kIGRlbGV0ZXMgZXhpc3RpbmcgZW50cmllcywgYW5kIGp1c3QgdXNlIHNldCwK
KyAgICAgICAgd2hpY2ggbm93IGhhbmRsZXMgZGVsZXRpb24gYXV0b21hdGljYWxseSBkdWUgdG8g
aXQgYmVpbmcgT3duUHRyLgorICAgICAgICAoT3BhcXVlSlNDbGFzczo6fk9wYXF1ZUpTQ2xhc3Mp
OiBSZXBsYWNlZCBjb2RlIHRvIGRvIGFsbCB0aGUgZGVsZXRpb24KKyAgICAgICAgd2l0aCBhc3Nl
cnRpb24tb25seSBOREVCVUctb25seSBjb2RlLgorICAgICAgICAoT3BhcXVlSlNDbGFzc0NvbnRl
eHREYXRhOjpPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOiBVc2UgYWRvcHRQdHIgd2hlbgorICAg
ICAgICBhbGxvY2F0aW5nLiBVc2UgT3duUHRyIHdoZW4gYWRkaW5nLiBSZW1vdmVkIHVubmVlZGVk
IGNvZGUgdG8gc2V0CisgICAgICAgIHN0YXRpY1ZhbHVlcyBhbmQgc3RhdGljRnVuY3Rpb25zIHRv
IDAuIFJlbW92ZWQgdW5uZWVkZWQgZGVzdHJ1Y3Rvci4KKyAgICAgICAgKE9wYXF1ZUpTQ2xhc3M6
OnN0YXRpY1ZhbHVlcyk6IEFkZGVkIGdldCBjYWxsLiBBbHNvIHJlbW92ZWQgdW5uZWVkZWQgbG9j
YWwuCisgICAgICAgIChPcGFxdWVKU0NsYXNzOjpzdGF0aWNGdW5jdGlvbnMpOiBEaXR0by4KKyAg
ICAgICAgKE9wYXF1ZUpTQ2xhc3M6OnByb3RvdHlwZSk6IEFkZGVkIHVzZSBvZiBhZG9wdFB0ci4K
KworICAgICAgICAqIEFQSS9KU0NsYXNzUmVmLmg6IE1hZGUgdGhlIHN0YXRpYyB2YWx1ZXMgYW5k
IHN0YXRpYyBmdW5jdGlvbnMgdGFibGVzCisgICAgICAgIHVzZSBPd25QdHIgZm9yIHRoZSBlbnRy
aWVzLiBBbHNvIHVzZWQgT3duUHRyIGZvciB0aGUgcG9pbnRlcnMgdG8gdGhlCisgICAgICAgIHRh
YmxlcyB0aGVtc2VsdmVzLiBBbHNvIHJlbW92ZWQgfk9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSgp
LCBsZXR0aW5nCisgICAgICAgIHRoZSBjb21waWxlciBnZW5lcmF0ZSBpdC4KKwogMjAxMS0xMi0w
NCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERGRyBzaG91bGQg
b3B0aW1pemUgc3RyaWN0IGVxdWFsaXR5CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAkocmV2aXNpb24gMTAxOTY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25z
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIEpTQ2FsbGJhY2tPYmpl
Y3Q8UGFyZW50Pjo6Z2V0T3duUHJvCiAgICAgICAgICAgICBpdGVyYXRvciBlbmQgPSBzdGF0aWNW
YWx1ZXMtPmVuZCgpOwogICAgICAgICAgICAgZm9yIChpdGVyYXRvciBpdCA9IHN0YXRpY1ZhbHVl
cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgICAgICAgICAgU3RyaW5nSW1w
bCogbmFtZSA9IGl0LT5maXJzdC5nZXQoKTsKLSAgICAgICAgICAgICAgICBTdGF0aWNWYWx1ZUVu
dHJ5KiBlbnRyeSA9IGl0LT5zZWNvbmQ7CisgICAgICAgICAgICAgICAgU3RhdGljVmFsdWVFbnRy
eSogZW50cnkgPSBpdC0+c2Vjb25kLmdldCgpOwogICAgICAgICAgICAgICAgIGlmIChlbnRyeS0+
Z2V0UHJvcGVydHkgJiYgKCEoZW50cnktPmF0dHJpYnV0ZXMgJiBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnRFbnVtKSB8fCAobW9kZSA9PSBJbmNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKSkpCiAgICAg
ICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZXMuYWRkKElkZW50aWZpZXIoZXhlYywgbmFtZSkp
OwogICAgICAgICAgICAgfQpAQCAtNDUwLDcgKzQ1MCw3IEBAIHZvaWQgSlNDYWxsYmFja09iamVj
dDxQYXJlbnQ+OjpnZXRPd25Qcm8KICAgICAgICAgICAgIGl0ZXJhdG9yIGVuZCA9IHN0YXRpY0Z1
bmN0aW9ucy0+ZW5kKCk7CiAgICAgICAgICAgICBmb3IgKGl0ZXJhdG9yIGl0ID0gc3RhdGljRnVu
Y3Rpb25zLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgICAgICAgICBTdHJp
bmdJbXBsKiBuYW1lID0gaXQtPmZpcnN0LmdldCgpOwotICAgICAgICAgICAgICAgIFN0YXRpY0Z1
bmN0aW9uRW50cnkqIGVudHJ5ID0gaXQtPnNlY29uZDsKKyAgICAgICAgICAgICAgICBTdGF0aWNG
dW5jdGlvbkVudHJ5KiBlbnRyeSA9IGl0LT5zZWNvbmQuZ2V0KCk7CiAgICAgICAgICAgICAgICAg
aWYgKCEoZW50cnktPmF0dHJpYnV0ZXMgJiBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRFbnVtKSB8
fCAobW9kZSA9PSBJbmNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKSkKICAgICAgICAgICAgICAgICAg
ICAgcHJvcGVydHlOYW1lcy5hZGQoSWRlbnRpZmllcihleGVjLCBuYW1lKSk7CiAgICAgICAgICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHJldmlz
aW9uIDEwMTk2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTcxLDM4ICs3MSwzMCBAQCBPcGFxdWVKU0NsYXNzOjpPcGFxdWVK
U0NsYXNzKGNvbnN0IEpTQ2xhCiAgICAgLCBoYXNJbnN0YW5jZShkZWZpbml0aW9uLT5oYXNJbnN0
YW5jZSkKICAgICAsIGNvbnZlcnRUb1R5cGUoZGVmaW5pdGlvbi0+Y29udmVydFRvVHlwZSkKICAg
ICAsIG1fY2xhc3NOYW1lKHRyeUNyZWF0ZVN0cmluZ0Zyb21VVEY4KGRlZmluaXRpb24tPmNsYXNz
TmFtZSkpCi0gICAgLCBtX3N0YXRpY1ZhbHVlcygwKQotICAgICwgbV9zdGF0aWNGdW5jdGlvbnMo
MCkKIHsKICAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CiAKICAgICBpZiAoY29uc3QgSlNTdGF0
aWNWYWx1ZSogc3RhdGljVmFsdWUgPSBkZWZpbml0aW9uLT5zdGF0aWNWYWx1ZXMpIHsKLSAgICAg
ICAgbV9zdGF0aWNWYWx1ZXMgPSBuZXcgT3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxlKCk7
CisgICAgICAgIG1fc3RhdGljVmFsdWVzID0gYWRvcHRQdHIobmV3IE9wYXF1ZUpTQ2xhc3NTdGF0
aWNWYWx1ZXNUYWJsZSk7CiAgICAgICAgIHdoaWxlIChzdGF0aWNWYWx1ZS0+bmFtZSkgewogICAg
ICAgICAgICAgVVN0cmluZyB2YWx1ZU5hbWUgPSB0cnlDcmVhdGVTdHJpbmdGcm9tVVRGOChzdGF0
aWNWYWx1ZS0+bmFtZSk7CiAgICAgICAgICAgICBpZiAoIXZhbHVlTmFtZS5pc051bGwoKSkgewog
ICAgICAgICAgICAgICAgIC8vIFVzZSBhIGxvY2FsIHZhcmlhYmxlIGhlcmUgdG8gc2lkZXN0ZXAg
YW4gUlZDVCBjb21waWxlciBidWcuCi0gICAgICAgICAgICAgICAgU3RhdGljVmFsdWVFbnRyeSog
ZW50cnkgPSBuZXcgU3RhdGljVmFsdWVFbnRyeShzdGF0aWNWYWx1ZS0+Z2V0UHJvcGVydHksIHN0
YXRpY1ZhbHVlLT5zZXRQcm9wZXJ0eSwgc3RhdGljVmFsdWUtPmF0dHJpYnV0ZXMpOwotICAgICAg
ICAgICAgICAgIFN0cmluZ0ltcGwqIGltcGwgPSB2YWx1ZU5hbWUuaW1wbCgpOwotICAgICAgICAg
ICAgICAgIFN0YXRpY1ZhbHVlRW50cnkqIGV4aXN0aW5nRW50cnkgPSBtX3N0YXRpY1ZhbHVlcy0+
Z2V0KGltcGwpOwotICAgICAgICAgICAgICAgIG1fc3RhdGljVmFsdWVzLT5zZXQoaW1wbCwgZW50
cnkpOwotICAgICAgICAgICAgICAgIGRlbGV0ZSBleGlzdGluZ0VudHJ5OworICAgICAgICAgICAg
ICAgIE93blB0cjxTdGF0aWNWYWx1ZUVudHJ5PiBlbnRyeSA9IGFkb3B0UHRyKG5ldyBTdGF0aWNW
YWx1ZUVudHJ5KHN0YXRpY1ZhbHVlLT5nZXRQcm9wZXJ0eSwgc3RhdGljVmFsdWUtPnNldFByb3Bl
cnR5LCBzdGF0aWNWYWx1ZS0+YXR0cmlidXRlcykpOworICAgICAgICAgICAgICAgIG1fc3RhdGlj
VmFsdWVzLT5zZXQodmFsdWVOYW1lLmltcGwoKSwgZW50cnkucmVsZWFzZSgpKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICsrc3RhdGljVmFsdWU7CiAgICAgICAgIH0KICAgICB9CiAKICAg
ICBpZiAoY29uc3QgSlNTdGF0aWNGdW5jdGlvbiogc3RhdGljRnVuY3Rpb24gPSBkZWZpbml0aW9u
LT5zdGF0aWNGdW5jdGlvbnMpIHsKLSAgICAgICAgbV9zdGF0aWNGdW5jdGlvbnMgPSBuZXcgT3Bh
cXVlSlNDbGFzc1N0YXRpY0Z1bmN0aW9uc1RhYmxlKCk7CisgICAgICAgIG1fc3RhdGljRnVuY3Rp
b25zID0gYWRvcHRQdHIobmV3IE9wYXF1ZUpTQ2xhc3NTdGF0aWNGdW5jdGlvbnNUYWJsZSk7CiAg
ICAgICAgIHdoaWxlIChzdGF0aWNGdW5jdGlvbi0+bmFtZSkgewogICAgICAgICAgICAgVVN0cmlu
ZyBmdW5jdGlvbk5hbWUgPSB0cnlDcmVhdGVTdHJpbmdGcm9tVVRGOChzdGF0aWNGdW5jdGlvbi0+
bmFtZSk7CiAgICAgICAgICAgICBpZiAoIWZ1bmN0aW9uTmFtZS5pc051bGwoKSkgewogICAgICAg
ICAgICAgICAgIC8vIFVzZSBhIGxvY2FsIHZhcmlhYmxlIGhlcmUgdG8gc2lkZXN0ZXAgYW4gUlZD
VCBjb21waWxlciBidWcuCi0gICAgICAgICAgICAgICAgU3RhdGljRnVuY3Rpb25FbnRyeSogZW50
cnkgPSBuZXcgU3RhdGljRnVuY3Rpb25FbnRyeShzdGF0aWNGdW5jdGlvbi0+Y2FsbEFzRnVuY3Rp
b24sIHN0YXRpY0Z1bmN0aW9uLT5hdHRyaWJ1dGVzKTsKLSAgICAgICAgICAgICAgICBTdHJpbmdJ
bXBsKiBpbXBsID0gZnVuY3Rpb25OYW1lLmltcGwoKTsKLSAgICAgICAgICAgICAgICBTdGF0aWNG
dW5jdGlvbkVudHJ5KiBleGlzdGluZ0VudHJ5ID0gbV9zdGF0aWNGdW5jdGlvbnMtPmdldChpbXBs
KTsKLSAgICAgICAgICAgICAgICBtX3N0YXRpY0Z1bmN0aW9ucy0+c2V0KGltcGwsIGVudHJ5KTsK
LSAgICAgICAgICAgICAgICBkZWxldGUgZXhpc3RpbmdFbnRyeTsKKyAgICAgICAgICAgICAgICBP
d25QdHI8U3RhdGljRnVuY3Rpb25FbnRyeT4gZW50cnkgPSBhZG9wdFB0cihuZXcgU3RhdGljRnVu
Y3Rpb25FbnRyeShzdGF0aWNGdW5jdGlvbi0+Y2FsbEFzRnVuY3Rpb24sIHN0YXRpY0Z1bmN0aW9u
LT5hdHRyaWJ1dGVzKSk7CisgICAgICAgICAgICAgICAgbV9zdGF0aWNGdW5jdGlvbnMtPnNldChm
dW5jdGlvbk5hbWUuaW1wbCgpLCBlbnRyeS5yZWxlYXNlKCkpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgKytzdGF0aWNGdW5jdGlvbjsKICAgICAgICAgfQpAQCAtMTE3LDIzICsxMDksMTkg
QEAgT3BhcXVlSlNDbGFzczo6fk9wYXF1ZUpTQ2xhc3MoKQogICAgIC8vIFRoZSBlbXB0eSBzdHJp
bmcgaXMgc2hhcmVkIGFjcm9zcyB0aHJlYWRzICYgaXMgYW4gaWRlbnRpZmllciwgaW4gYWxsIG90
aGVyIGNhc2VzIHdlIHNob3VsZCBoYXZlIGRvbmUgYSBkZWVwIGNvcHkgaW4gY2xhc3NOYW1lKCks
IGJlbG93LiAKICAgICBBU1NFUlQoIW1fY2xhc3NOYW1lLmxlbmd0aCgpIHx8ICFtX2NsYXNzTmFt
ZS5pbXBsKCktPmlzSWRlbnRpZmllcigpKTsKIAorI2lmbmRlZiBOREVCVUcKICAgICBpZiAobV9z
dGF0aWNWYWx1ZXMpIHsKICAgICAgICAgT3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxlOjpj
b25zdF9pdGVyYXRvciBlbmQgPSBtX3N0YXRpY1ZhbHVlcy0+ZW5kKCk7Ci0gICAgICAgIGZvciAo
T3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxlOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3Rh
dGljVmFsdWVzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgZm9yIChPcGFx
dWVKU0NsYXNzU3RhdGljVmFsdWVzVGFibGU6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdGF0aWNW
YWx1ZXMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgICAgIEFTU0VSVCghaXQt
PmZpcnN0LT5pc0lkZW50aWZpZXIoKSk7Ci0gICAgICAgICAgICBkZWxldGUgaXQtPnNlY29uZDsK
LSAgICAgICAgfQotICAgICAgICBkZWxldGUgbV9zdGF0aWNWYWx1ZXM7CiAgICAgfQogCiAgICAg
aWYgKG1fc3RhdGljRnVuY3Rpb25zKSB7CiAgICAgICAgIE9wYXF1ZUpTQ2xhc3NTdGF0aWNGdW5j
dGlvbnNUYWJsZTo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9zdGF0aWNGdW5jdGlvbnMtPmVuZCgp
OwotICAgICAgICBmb3IgKE9wYXF1ZUpTQ2xhc3NTdGF0aWNGdW5jdGlvbnNUYWJsZTo6Y29uc3Rf
aXRlcmF0b3IgaXQgPSBtX3N0YXRpY0Z1bmN0aW9ucy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7CisgICAgICAgIGZvciAoT3BhcXVlSlNDbGFzc1N0YXRpY0Z1bmN0aW9uc1RhYmxlOjpjb25z
dF9pdGVyYXRvciBpdCA9IG1fc3RhdGljRnVuY3Rpb25zLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsr
aXQpCiAgICAgICAgICAgICBBU1NFUlQoIWl0LT5maXJzdC0+aXNJZGVudGlmaWVyKCkpOwotICAg
ICAgICAgICAgZGVsZXRlIGl0LT5zZWNvbmQ7Ci0gICAgICAgIH0KLSAgICAgICAgZGVsZXRlIG1f
c3RhdGljRnVuY3Rpb25zOwogICAgIH0KKyNlbmRpZgogICAgIAogICAgIGlmIChwcm90b3R5cGVD
bGFzcykKICAgICAgICAgSlNDbGFzc1JlbGVhc2UocHJvdG90eXBlQ2xhc3MpOwpAQCAtMTYyLDQx
ICsxNTAsMjUgQEAgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhOjpPcGFxdWVKU0NsYXNzQwogICAg
IDogbV9jbGFzcyhqc0NsYXNzKQogewogICAgIGlmIChqc0NsYXNzLT5tX3N0YXRpY1ZhbHVlcykg
ewotICAgICAgICBzdGF0aWNWYWx1ZXMgPSBuZXcgT3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1Rh
YmxlOworICAgICAgICBzdGF0aWNWYWx1ZXMgPSBhZG9wdFB0cihuZXcgT3BhcXVlSlNDbGFzc1N0
YXRpY1ZhbHVlc1RhYmxlKTsKICAgICAgICAgT3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxl
Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBqc0NsYXNzLT5tX3N0YXRpY1ZhbHVlcy0+ZW5kKCk7CiAg
ICAgICAgIGZvciAoT3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxlOjpjb25zdF9pdGVyYXRv
ciBpdCA9IGpzQ2xhc3MtPm1fc3RhdGljVmFsdWVzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKICAgICAgICAgICAgIEFTU0VSVCghaXQtPmZpcnN0LT5pc0lkZW50aWZpZXIoKSk7CiAgICAg
ICAgICAgICAvLyBVc2UgYSBsb2NhbCB2YXJpYWJsZSBoZXJlIHRvIHNpZGVzdGVwIGFuIFJWQ1Qg
Y29tcGlsZXIgYnVnLgotICAgICAgICAgICAgU3RhdGljVmFsdWVFbnRyeSogZW50cnkgPSBuZXcg
U3RhdGljVmFsdWVFbnRyeShpdC0+c2Vjb25kLT5nZXRQcm9wZXJ0eSwgaXQtPnNlY29uZC0+c2V0
UHJvcGVydHksIGl0LT5zZWNvbmQtPmF0dHJpYnV0ZXMpOwotICAgICAgICAgICAgc3RhdGljVmFs
dWVzLT5hZGQoU3RyaW5nSW1wbDo6Y3JlYXRlKGl0LT5maXJzdC0+Y2hhcmFjdGVycygpLCBpdC0+
Zmlyc3QtPmxlbmd0aCgpKSwgZW50cnkpOworICAgICAgICAgICAgT3duUHRyPFN0YXRpY1ZhbHVl
RW50cnk+IGVudHJ5ID0gYWRvcHRQdHIobmV3IFN0YXRpY1ZhbHVlRW50cnkoaXQtPnNlY29uZC0+
Z2V0UHJvcGVydHksIGl0LT5zZWNvbmQtPnNldFByb3BlcnR5LCBpdC0+c2Vjb25kLT5hdHRyaWJ1
dGVzKSk7CisgICAgICAgICAgICBzdGF0aWNWYWx1ZXMtPmFkZChTdHJpbmdJbXBsOjpjcmVhdGUo
aXQtPmZpcnN0LT5jaGFyYWN0ZXJzKCksIGl0LT5maXJzdC0+bGVuZ3RoKCkpLCBlbnRyeS5yZWxl
YXNlKCkpOwogICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAgIHN0YXRpY1ZhbHVlcyA9IDA7
CisgICAgfQogCiAgICAgaWYgKGpzQ2xhc3MtPm1fc3RhdGljRnVuY3Rpb25zKSB7Ci0gICAgICAg
IHN0YXRpY0Z1bmN0aW9ucyA9IG5ldyBPcGFxdWVKU0NsYXNzU3RhdGljRnVuY3Rpb25zVGFibGU7
CisgICAgICAgIHN0YXRpY0Z1bmN0aW9ucyA9IGFkb3B0UHRyKG5ldyBPcGFxdWVKU0NsYXNzU3Rh
dGljRnVuY3Rpb25zVGFibGUpOwogICAgICAgICBPcGFxdWVKU0NsYXNzU3RhdGljRnVuY3Rpb25z
VGFibGU6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IGpzQ2xhc3MtPm1fc3RhdGljRnVuY3Rpb25zLT5l
bmQoKTsKICAgICAgICAgZm9yIChPcGFxdWVKU0NsYXNzU3RhdGljRnVuY3Rpb25zVGFibGU6OmNv
bnN0X2l0ZXJhdG9yIGl0ID0ganNDbGFzcy0+bV9zdGF0aWNGdW5jdGlvbnMtPmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewogICAgICAgICAgICAgQVNTRVJUKCFpdC0+Zmlyc3QtPmlzSWRlbnRp
ZmllcigpKTsKICAgICAgICAgICAgIC8vIFVzZSBhIGxvY2FsIHZhcmlhYmxlIGhlcmUgdG8gc2lk
ZXN0ZXAgYW4gUlZDVCBjb21waWxlciBidWcuCi0gICAgICAgICAgICBTdGF0aWNGdW5jdGlvbkVu
dHJ5KiBlbnRyeSA9IG5ldyBTdGF0aWNGdW5jdGlvbkVudHJ5KGl0LT5zZWNvbmQtPmNhbGxBc0Z1
bmN0aW9uLCBpdC0+c2Vjb25kLT5hdHRyaWJ1dGVzKTsKLSAgICAgICAgICAgIHN0YXRpY0Z1bmN0
aW9ucy0+YWRkKFN0cmluZ0ltcGw6OmNyZWF0ZShpdC0+Zmlyc3QtPmNoYXJhY3RlcnMoKSwgaXQt
PmZpcnN0LT5sZW5ndGgoKSksIGVudHJ5KTsKKyAgICAgICAgICAgIE93blB0cjxTdGF0aWNGdW5j
dGlvbkVudHJ5PiBlbnRyeSA9IGFkb3B0UHRyKG5ldyBTdGF0aWNGdW5jdGlvbkVudHJ5KGl0LT5z
ZWNvbmQtPmNhbGxBc0Z1bmN0aW9uLCBpdC0+c2Vjb25kLT5hdHRyaWJ1dGVzKSk7CisgICAgICAg
ICAgICBzdGF0aWNGdW5jdGlvbnMtPmFkZChTdHJpbmdJbXBsOjpjcmVhdGUoaXQtPmZpcnN0LT5j
aGFyYWN0ZXJzKCksIGl0LT5maXJzdC0+bGVuZ3RoKCkpLCBlbnRyeS5yZWxlYXNlKCkpOwogICAg
ICAgICB9Ci0gICAgICAgICAgICAKLSAgICB9IGVsc2UKLSAgICAgICAgc3RhdGljRnVuY3Rpb25z
ID0gMDsKLX0KLQotT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhOjp+T3BhcXVlSlNDbGFzc0NvbnRl
eHREYXRhKCkKLXsKLSAgICBpZiAoc3RhdGljVmFsdWVzKSB7Ci0gICAgICAgIGRlbGV0ZUFsbFZh
bHVlcygqc3RhdGljVmFsdWVzKTsKLSAgICAgICAgZGVsZXRlIHN0YXRpY1ZhbHVlczsKLSAgICB9
Ci0KLSAgICBpZiAoc3RhdGljRnVuY3Rpb25zKSB7Ci0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcygq
c3RhdGljRnVuY3Rpb25zKTsKLSAgICAgICAgZGVsZXRlIHN0YXRpY0Z1bmN0aW9uczsKICAgICB9
CiB9CiAKQEAgLTIxNiwxNCArMTg4LDEyIEBAIFVTdHJpbmcgT3BhcXVlSlNDbGFzczo6Y2xhc3NO
YW1lKCkKIAogT3BhcXVlSlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxlKiBPcGFxdWVKU0NsYXNzOjpz
dGF0aWNWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgT3BhcXVlSlNDbGFzc0Nv
bnRleHREYXRhJiBqc0NsYXNzRGF0YSA9IGNvbnRleHREYXRhKGV4ZWMpOwotICAgIHJldHVybiBq
c0NsYXNzRGF0YS5zdGF0aWNWYWx1ZXM7CisgICAgcmV0dXJuIGNvbnRleHREYXRhKGV4ZWMpLnN0
YXRpY1ZhbHVlcy5nZXQoKTsKIH0KIAogT3BhcXVlSlNDbGFzc1N0YXRpY0Z1bmN0aW9uc1RhYmxl
KiBPcGFxdWVKU0NsYXNzOjpzdGF0aWNGdW5jdGlvbnMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiB7
Ci0gICAgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhJiBqc0NsYXNzRGF0YSA9IGNvbnRleHREYXRh
KGV4ZWMpOwotICAgIHJldHVybiBqc0NsYXNzRGF0YS5zdGF0aWNGdW5jdGlvbnM7CisgICAgcmV0
dXJuIGNvbnRleHREYXRhKGV4ZWMpLnN0YXRpY0Z1bmN0aW9ucy5nZXQoKTsKIH0KIAogLyohCkBA
IC0yNDgsMTEgKzIxOCwxMSBAQCBKU09iamVjdCogT3BhcXVlSlNDbGFzczo6cHJvdG90eXBlKEV4
ZWNTCiAgICAgICAgIGlmICghcHJvdG90eXBlQ2xhc3MpCiAgICAgICAgICAgICBwcm90b3R5cGVD
bGFzcyA9IE9wYXF1ZUpTQ2xhc3M6OmNyZWF0ZSgma0pTQ2xhc3NEZWZpbml0aW9uRW1wdHkpLmxl
YWtSZWYoKTsKICAgICAgICAgaWYgKCFwcm90b3R5cGVDbGFzcy0+bV9zdGF0aWNGdW5jdGlvbnMp
Ci0gICAgICAgICAgICBwcm90b3R5cGVDbGFzcy0+bV9zdGF0aWNGdW5jdGlvbnMgPSBuZXcgT3Bh
cXVlSlNDbGFzc1N0YXRpY0Z1bmN0aW9uc1RhYmxlOworICAgICAgICAgICAgcHJvdG90eXBlQ2xh
c3MtPm1fc3RhdGljRnVuY3Rpb25zID0gYWRvcHRQdHIobmV3IE9wYXF1ZUpTQ2xhc3NTdGF0aWNG
dW5jdGlvbnNUYWJsZSk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIHRvU3RyaW5nID0gZXhl
Yy0+cHJvcGVydHlOYW1lcygpLnRvU3RyaW5nOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiB2
YWx1ZU9mID0gZXhlYy0+cHJvcGVydHlOYW1lcygpLnZhbHVlT2Y7Ci0gICAgICAgIHByb3RvdHlw
ZUNsYXNzLT5tX3N0YXRpY0Z1bmN0aW9ucy0+YWRkKFN0cmluZ0ltcGw6OmNyZWF0ZSh0b1N0cmlu
Zy5jaGFyYWN0ZXJzKCksIHRvU3RyaW5nLmxlbmd0aCgpKSwgbmV3IFN0YXRpY0Z1bmN0aW9uRW50
cnkoJkpTQ2FsbGJhY2tGdW5jdGlvbjo6dG9TdHJpbmdDYWxsYmFjaywgMCkpOwotICAgICAgICBw
cm90b3R5cGVDbGFzcy0+bV9zdGF0aWNGdW5jdGlvbnMtPmFkZChTdHJpbmdJbXBsOjpjcmVhdGUo
dmFsdWVPZi5jaGFyYWN0ZXJzKCksIHZhbHVlT2YubGVuZ3RoKCkpLCBuZXcgU3RhdGljRnVuY3Rp
b25FbnRyeSgmSlNDYWxsYmFja0Z1bmN0aW9uOjp2YWx1ZU9mQ2FsbGJhY2ssIDApKTsKKyAgICAg
ICAgcHJvdG90eXBlQ2xhc3MtPm1fc3RhdGljRnVuY3Rpb25zLT5hZGQoU3RyaW5nSW1wbDo6Y3Jl
YXRlKHRvU3RyaW5nLmNoYXJhY3RlcnMoKSwgdG9TdHJpbmcubGVuZ3RoKCkpLCBhZG9wdFB0cihu
ZXcgU3RhdGljRnVuY3Rpb25FbnRyeSgmSlNDYWxsYmFja0Z1bmN0aW9uOjp0b1N0cmluZ0NhbGxi
YWNrLCAwKSkpOworICAgICAgICBwcm90b3R5cGVDbGFzcy0+bV9zdGF0aWNGdW5jdGlvbnMtPmFk
ZChTdHJpbmdJbXBsOjpjcmVhdGUodmFsdWVPZi5jaGFyYWN0ZXJzKCksIHZhbHVlT2YubGVuZ3Ro
KCkpLCBhZG9wdFB0cihuZXcgU3RhdGljRnVuY3Rpb25FbnRyeSgmSlNDYWxsYmFja0Z1bmN0aW9u
Ojp2YWx1ZU9mQ2FsbGJhY2ssIDApKSk7CiAgICAgfQogCiAgICAgaWYgKCFwcm90b3R5cGVDbGFz
cykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oCShyZXZpc2lvbiAx
MDE5NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eUF0dHJpYnV0
ZXMgYXR0cmlidXRlczsKIH07CiAKLXR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4s
IFN0YXRpY1ZhbHVlRW50cnkqPiBPcGFxdWVKU0NsYXNzU3RhdGljVmFsdWVzVGFibGU7Ci10eXBl
ZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTdGF0aWNGdW5jdGlvbkVudHJ5Kj4gT3Bh
cXVlSlNDbGFzc1N0YXRpY0Z1bmN0aW9uc1RhYmxlOwordHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxT
dHJpbmdJbXBsPiwgT3duUHRyPFN0YXRpY1ZhbHVlRW50cnk+ID4gT3BhcXVlSlNDbGFzc1N0YXRp
Y1ZhbHVlc1RhYmxlOwordHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgT3duUHRy
PFN0YXRpY0Z1bmN0aW9uRW50cnk+ID4gT3BhcXVlSlNDbGFzc1N0YXRpY0Z1bmN0aW9uc1RhYmxl
OwogCiBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIApAQCAtNzAsNyArNzAsNiBAQCBzdHJ1Y3QgT3Bh
cXVlSlNDbGFzc0NvbnRleHREYXRhIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoSlNDOjpKU0dsb2JhbERhdGEmLCBPcGFxdWVKU0Ns
YXNzKik7Ci0gICAgfk9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSgpOwogCiAgICAgLy8gSXQgaXMg
bmVjZXNzYXJ5IHRvIGtlZXAgT3BhcXVlSlNDbGFzcyBhbGl2ZSBiZWNhdXNlIG9mIHRoZSBmb2xs
b3dpbmcgcmFyZSBzY2VuYXJpbzoKICAgICAvLyAxLiBBIGNsYXNzIGlzIGNyZWF0ZWQgYW5kIHVz
ZWQsIHNvIGl0cyBjb250ZXh0IGRhdGEgaXMgc3RvcmVkIGluIEpTR2xvYmFsRGF0YSBoYXNoIG1h
cC4KQEAgLTgwLDggKzc5LDggQEAgcHVibGljOgogICAgIC8vIDQuIFdoZW4gaXQgaXMgdXNlZCwg
dGhlIG9sZCBjb250ZXh0IGRhdGEgaXMgZm91bmQgaW4gSlNHbG9iYWxEYXRhIGFuZCB1c2VkLgog
ICAgIFJlZlB0cjxPcGFxdWVKU0NsYXNzPiBtX2NsYXNzOwogCi0gICAgT3BhcXVlSlNDbGFzc1N0
YXRpY1ZhbHVlc1RhYmxlKiBzdGF0aWNWYWx1ZXM7Ci0gICAgT3BhcXVlSlNDbGFzc1N0YXRpY0Z1
bmN0aW9uc1RhYmxlKiBzdGF0aWNGdW5jdGlvbnM7CisgICAgT3duUHRyPE9wYXF1ZUpTQ2xhc3NT
dGF0aWNWYWx1ZXNUYWJsZT4gc3RhdGljVmFsdWVzOworICAgIE93blB0cjxPcGFxdWVKU0NsYXNz
U3RhdGljRnVuY3Rpb25zVGFibGU+IHN0YXRpY0Z1bmN0aW9uczsKICAgICBKU0M6OldlYWs8SlND
OjpKU09iamVjdD4gY2FjaGVkUHJvdG90eXBlOwogfTsKIApAQCAtMTIxLDggKzEyMCw4IEBAIHBy
aXZhdGU6CiAKICAgICAvLyBVU3RyaW5ncyBpbiB0aGVzZSBkYXRhIG1lbWJlcnMgc2hvdWxkIG5v
dCBiZSBwdXQgaW50byBhbnkgSWRlbnRpZmllclRhYmxlLgogICAgIEpTQzo6VVN0cmluZyBtX2Ns
YXNzTmFtZTsKLSAgICBPcGFxdWVKU0NsYXNzU3RhdGljVmFsdWVzVGFibGUqIG1fc3RhdGljVmFs
dWVzOwotICAgIE9wYXF1ZUpTQ2xhc3NTdGF0aWNGdW5jdGlvbnNUYWJsZSogbV9zdGF0aWNGdW5j
dGlvbnM7CisgICAgT3duUHRyPE9wYXF1ZUpTQ2xhc3NTdGF0aWNWYWx1ZXNUYWJsZT4gbV9zdGF0
aWNWYWx1ZXM7CisgICAgT3duUHRyPE9wYXF1ZUpTQ2xhc3NTdGF0aWNGdW5jdGlvbnNUYWJsZT4g
bV9zdGF0aWNGdW5jdGlvbnM7CiB9OwogCiAjZW5kaWYgLy8gSlNDbGFzc1JlZl9oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>