<?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>177817</bug_id>
          
          <creation_ts>2017-10-03 08:14:12 -0700</creation_ts>
          <short_desc>Allow assigning WeakPtr&lt;Derived&gt; to WeakPtr&lt;Base&gt;</short_desc>
          <delta_ts>2017-10-03 12:02:44 -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>Web Template Framework</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1355818</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 08:14:12 -0700</bug_when>
    <thetext>More templates!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355819</commentid>
    <comment_count>1</comment_count>
      <attachid>322519</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 08:19:51 -0700</bug_when>
    <thetext>Created attachment 322519
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355821</commentid>
    <comment_count>2</comment_count>
      <attachid>322521</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 08:23:41 -0700</bug_when>
    <thetext>Created attachment 322521
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355823</commentid>
    <comment_count>3</comment_count>
      <attachid>322523</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 08:25:56 -0700</bug_when>
    <thetext>Created attachment 322523
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355829</commentid>
    <comment_count>4</comment_count>
      <attachid>322525</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 08:33:39 -0700</bug_when>
    <thetext>Created attachment 322525
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355831</commentid>
    <comment_count>5</comment_count>
      <attachid>322525</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-03 08:38:20 -0700</bug_when>
    <thetext>Comment on attachment 322525
patch

r=me

Now that it&apos;s in five places, I think it&apos;s time to make a helper function that does the static_assert and reinterpret_cast on WeakReference&lt;T&gt;. Maybe call it static_weak_pointer_cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355864</commentid>
    <comment_count>6</comment_count>
      <attachid>322536</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 09:41:29 -0700</bug_when>
    <thetext>Created attachment 322536
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355865</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 09:42:29 -0700</bug_when>
    <thetext>I added two helpers called weak_reference_downcast and weak_reference_upcast (the static_assert is the other way round).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355875</commentid>
    <comment_count>8</comment_count>
      <attachid>322539</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 10:13:25 -0700</bug_when>
    <thetext>Created attachment 322539
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355927</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-03 11:49:35 -0700</bug_when>
    <thetext>https://trac.webkit.org/r222793</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355928</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-03 11:50:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/34795432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355936</commentid>
    <comment_count>11</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-03 11:58:25 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322519</attachid>
            <date>2017-10-03 08:19:51 -0700</date>
            <delta_ts>2017-10-03 08:23:41 -0700</delta_ts>
            <desc>patch</desc>
            <filename>weakptr-derived-3.patch</filename>
            <type>text/plain</type>
            <size>6012</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVk
PiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVtcGxhdGVkIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMvYXNzaWdubWVu
dCBvcGVyYXRvcnMsIHNpbWlsYXIgdG8gUmVmUHRyLgorCisgICAgICAgICogd3RmL1dlYWtQdHIu
aDoKKyAgICAgICAgKFdURjo6V2Vha1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIgY29uc3QpOgor
ICAgICAgICAoV1RGOjpXZWFrUHRyPFQ+OjpXZWFrUHRyKToKKyAgICAgICAgKFdURjo6PSk6Cisg
ICAgICAgIChXVEY6Om1ha2VXZWFrUHRyKToKKwogMjAxNy0xMC0wMiAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgTGluZUVuZGluZy57aCxj
cHB9IGZyb20gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0IHRvIHd0Zi90ZXh0CkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9XZWFrUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV2Vha1B0ci5o
CShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY4LDExICs2OCwxNSBAQCBwdWJsaWM6CiAgICAgV2Vha1B0cigpIHsgfQogICAg
IFdlYWtQdHIoc3RkOjpudWxscHRyX3QpIHsgfQogICAgIFdlYWtQdHIoUmVmPFdlYWtSZWZlcmVu
Y2U8VD4+JiYgcmVmKSA6IG1fcmVmKHN0ZDo6Zm9yd2FyZDxSZWY8V2Vha1JlZmVyZW5jZTxUPj4+
KHJlZikpIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoY29uc3QgV2Vha1B0
cjxVPiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoV2Vha1B0cjxVPiYmKTsK
IAogICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmID8gbV9yZWYtPmdldCgpIDogbnVs
bHB0cjsgfQogICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3JlZiAmJiBtX3Jl
Zi0+Z2V0KCk7IH0KIAogICAgIFdlYWtQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBt
X3JlZiA9IG51bGxwdHI7IHJldHVybiAqdGhpczsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+
IFdlYWtQdHImIG9wZXJhdG9yPShjb25zdCBXZWFrUHRyPFU+Jik7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVT4gV2Vha1B0ciYgb3BlcmF0b3I9KFdlYWtQdHI8VT4mJik7CiAKICAgICBUKiBvcGVy
YXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CiAgICAgVCYgb3BlcmF0b3Iq
KCkgY29uc3QgeyByZXR1cm4gKm1fcmVmLT5nZXQoKTsgfQpAQCAtODAsNiArODQsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjbGVhcigpIHsgbV9yZWYgPSBudWxscHRyOyB9CiAKIHByaXZhdGU6Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIGNsYXNzIFdlYWtQdHI7CisKICAgICBSZWZQ
dHI8V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCkBAIC0xMDIsNyArMTA4LDcgQEAgcHVi
bGljOgogICAgICAgICBpZiAoIW1fcmVmKQogICAgICAgICAgICAgbV9yZWYgPSBXZWFrUmVmZXJl
bmNlPFQ+OjpjcmVhdGUoJnB0cik7CiAgICAgICAgIEFTU0VSVCgmcHRyID09IG1fcmVmLT5nZXQo
KSk7Ci0gICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2
YWx1ZSwgIlQqIG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKKyAgICAgICAgc3RhdGljX2Fz
c2VydChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252
ZXJ0aWJsZSB0byBUKiIpOwogICAgICAgICByZXR1cm4gV2Vha1B0cjxVPihSZWY8V2Vha1JlZmVy
ZW5jZTxVPj4ocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFU+Jj4oKm1fcmVmKSkpOwog
ICAgIH0KIApAQCAtMTE5LDEyICsxMjUsMzggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0
cjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBp
bmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBXZWFrUHRyPFQ+OjpXZWFrUHRyKGNvbnN0IFdlYWtQdHI8
VT4mIG8pCisgICAgOiBtX3JlZihyZWludGVycHJldF9jYXN0PFdlYWtSZWZlcmVuY2U8VD4qPihv
Lm1fcmVmLmdldCgpKSkKK3sKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfY29udmVydGlibGU8
VSosIFQqPjo6dmFsdWUsICJVKiBtdXN0IGJlIGNvbnZlcnRpYmxlIHRvIFQqIik7Cit9CisKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHI8VD46OldlYWtQ
dHIoV2Vha1B0cjxVPiYmIG8pCisgICAgOiBtX3JlZihhZG9wdFJlZihyZWludGVycHJldF9jYXN0
PFdlYWtSZWZlcmVuY2U8VD4qPihvLm1fcmVmLmxlYWtSZWYoKSkpKQoreworICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlUqIG11c3QgYmUgY29u
dmVydGlibGUgdG8gVCoiKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlw
ZW5hbWUgVT4gV2Vha1B0cjxUPiYgIFdlYWtQdHI8VD46Om9wZXJhdG9yPShjb25zdCBXZWFrUHRy
PFU+JiBvKQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+
Ojp2YWx1ZSwgIlUqIG11c3QgYmUgY29udmVydGlibGUgdG8gVCoiKTsKKyAgICBtX3JlZiA9IHJl
aW50ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8ubV9yZWYuZ2V0KCkpOworICAgIHJl
dHVybiAqdGhpczsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUg
VT4gV2Vha1B0cjxUPiYgV2Vha1B0cjxUPjo6b3BlcmF0b3I9KFdlYWtQdHI8VT4mJiBvKQorewor
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlUq
IG11c3QgYmUgY29udmVydGlibGUgdG8gVCoiKTsKKyAgICBtX3JlZiA9IGFkb3B0UmVmKHJlaW50
ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8ubV9yZWYubGVha1JlZigpKSk7CisgICAg
cmV0dXJuICp0aGlzOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxU
PiBtYWtlV2Vha1B0cihUJiByZWYpCiB7CiAgICAgcmV0dXJuIHJlZi53ZWFrUHRyRmFjdG9yeSgp
LnRlbXBsYXRlIGNyZWF0ZVdlYWtQdHI8VD4ocmVmKTsKIH0KIAotdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IGlubGluZSBXZWFrUHRyPFQ+IG1ha2VXZWFrUHRyKFQqIHB0cikKK3RlbXBsYXRlPHR5cGVu
YW1lIFQ+IGlubGluZSBXZWFrUHRyPFQ+IG1ha2VXZWFrUHRyKFQqIHB0cikKIHsKICAgICBpZiAo
IXB0cikKICAgICAgICAgcmV0dXJuIHsgfTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjc3NikKKysrIFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTEwLTAzICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vh
a1B0cjxEZXJpdmVkPiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6QmFzZTo6d2Vha1B0ckZhY3RvcnkpOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMTAtMDIgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdTTCBkZW1vIGNvbXBh
dGlibGUgd2l0aCBNaWNyb3NvZnQgRWRnZQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvV2Vha1B0ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvV2Vha1B0ci5jcHAJKHJldmlzaW9uIDIyMjc3MSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNiArMjEyLDgg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRy
PFQ+KCp0aGlzKTsKICAgICB9CiAKKyAgICBhdXRvJiB3ZWFrUHRyRmFjdG9yeSgpIHsgcmV0dXJu
IG1fd2Vha1B0ckZhY3Rvcnk7IH0KKwogcHJpdmF0ZToKICAgICBXZWFrUHRyRmFjdG9yeTxCYXNl
PiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKQEAgLTI1NCw0ICsyNTYsMzggQEAgVEVTVChXVEZfV2Vh
a1B0ciwgRG93bmNhc3RpbmcpCiAgICAgRVhQRUNUX05VTEwoZGVyaXZlZFdlYWtQdHIuZ2V0KCkp
OwogfQogCitURVNUKFdURl9XZWFrUHRyLCBEZXJpdmVkQ29uc3RydWN0QW5kQXNzaWduKQorewor
ICAgIERlcml2ZWQgZGVyaXZlZDsKKyAgICB7CisgICAgICAgIGF1dG8gZGVyaXZlZFdlYWtQdHIg
PSBtYWtlV2Vha1B0cihkZXJpdmVkKTsKKyAgICAgICAgV2Vha1B0cjxCYXNlPiBiYXNlV2Vha1B0
ciB7IFdURk1vdmUoZGVyaXZlZFdlYWtQdHIpIH07CisgICAgICAgIEVYUEVDVF9FUShiYXNlV2Vh
a1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgICAgICBFWFBFQ1RfTlVMTChkZXJpdmVkV2Vha1B0
ci5nZXQoKSk7CisgICAgfQorCisgICAgeworICAgICAgICBhdXRvIGRlcml2ZWRXZWFrUHRyID0g
bWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHIg
eyBkZXJpdmVkV2Vha1B0ciB9OworICAgICAgICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCks
ICZkZXJpdmVkKTsKKyAgICAgICAgRVhQRUNUX0VRKGRlcml2ZWRXZWFrUHRyLmdldCgpLCAmZGVy
aXZlZCk7CisgICAgfQorCisgICAgeworICAgICAgICBhdXRvIGRlcml2ZWRXZWFrUHRyID0gbWFr
ZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHI7Cisg
ICAgICAgIGJhc2VXZWFrUHRyID0gV1RGTW92ZShkZXJpdmVkV2Vha1B0cik7CisgICAgICAgIEVY
UEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgICAgICBFWFBFQ1RfTlVM
TChkZXJpdmVkV2Vha1B0ci5nZXQoKSk7CisgICAgfQorCisgICAgeworICAgICAgICBhdXRvIGRl
cml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQdHI8QmFz
ZT4gYmFzZVdlYWtQdHI7CisgICAgICAgIGJhc2VXZWFrUHRyID0gZGVyaXZlZFdlYWtQdHI7Cisg
ICAgICAgIEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgICAgICBF
WFBFQ1RfRVEoZGVyaXZlZFdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICB9Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322521</attachid>
            <date>2017-10-03 08:23:41 -0700</date>
            <delta_ts>2017-10-03 08:25:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>weakptr-derived-4.patch</filename>
            <type>text/plain</type>
            <size>6379</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVk
PiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVtcGxhdGVkIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMvYXNzaWdubWVu
dCBvcGVyYXRvcnMsIHNpbWlsYXIgdG8gUmVmUHRyLgorCisgICAgICAgICogd3RmL1dlYWtQdHIu
aDoKKyAgICAgICAgKFdURjo6V2Vha1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIgY29uc3QpOgor
ICAgICAgICAoV1RGOjpXZWFrUHRyPFQ+OjpXZWFrUHRyKToKKyAgICAgICAgKFdURjo6PSk6Cisg
ICAgICAgIChXVEY6Om1ha2VXZWFrUHRyKToKKwogMjAxNy0xMC0wMiAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgTGluZUVuZGluZy57aCxj
cHB9IGZyb20gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0IHRvIHd0Zi90ZXh0CkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9XZWFrUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV2Vha1B0ci5o
CShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSwg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSwgMjAxNyBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTY4LDExICs2OCwxNSBAQCBwdWJsaWM6CiAgICAgV2Vha1B0cigpIHsgfQogICAgIFdl
YWtQdHIoc3RkOjpudWxscHRyX3QpIHsgfQogICAgIFdlYWtQdHIoUmVmPFdlYWtSZWZlcmVuY2U8
VD4+JiYgcmVmKSA6IG1fcmVmKHN0ZDo6Zm9yd2FyZDxSZWY8V2Vha1JlZmVyZW5jZTxUPj4+KHJl
ZikpIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoY29uc3QgV2Vha1B0cjxV
PiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoV2Vha1B0cjxVPiYmKTsKIAog
ICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmID8gbV9yZWYtPmdldCgpIDogbnVsbHB0
cjsgfQogICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3JlZiAmJiBtX3JlZi0+
Z2V0KCk7IH0KIAogICAgIFdlYWtQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBtX3Jl
ZiA9IG51bGxwdHI7IHJldHVybiAqdGhpczsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdl
YWtQdHImIG9wZXJhdG9yPShjb25zdCBXZWFrUHRyPFU+Jik7CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gV2Vha1B0ciYgb3BlcmF0b3I9KFdlYWtQdHI8VT4mJik7CiAKICAgICBUKiBvcGVyYXRv
ci0+KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyByZXR1cm4gKm1fcmVmLT5nZXQoKTsgfQpAQCAtODAsNiArODQsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBjbGVhcigpIHsgbV9yZWYgPSBudWxscHRyOyB9CiAKIHByaXZhdGU6CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIGNsYXNzIFdlYWtQdHI7CisKICAgICBSZWZQdHI8
V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCkBAIC0xMDIsNyArMTA4LDcgQEAgcHVibGlj
OgogICAgICAgICBpZiAoIW1fcmVmKQogICAgICAgICAgICAgbV9yZWYgPSBXZWFrUmVmZXJlbmNl
PFQ+OjpjcmVhdGUoJnB0cik7CiAgICAgICAgIEFTU0VSVCgmcHRyID09IG1fcmVmLT5nZXQoKSk7
Ci0gICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1
ZSwgIlQqIG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKKyAgICAgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0
aWJsZSB0byBUKiIpOwogICAgICAgICByZXR1cm4gV2Vha1B0cjxVPihSZWY8V2Vha1JlZmVyZW5j
ZTxVPj4ocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFU+Jj4oKm1fcmVmKSkpOwogICAg
IH0KIApAQCAtMTE5LDEyICsxMjUsMzggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxX
ZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxp
bmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPjo6V2Vha1B0cihjb25zdCBXZWFr
UHRyPFU+JiBvKQorICAgIDogbV9yZWYocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+
Kj4oby5tX3JlZi5nZXQoKSkpCit7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2NvbnZlcnRp
YmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIpOworfQor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0
cjxUPjo6V2Vha1B0cihXZWFrUHRyPFU+JiYgbykKKyAgICA6IG1fcmVmKGFkb3B0UmVmKHJlaW50
ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8ubV9yZWYubGVha1JlZigpKSkpCit7Cisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSog
bXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPiYgIFdlYWtQdHI8VD46Om9wZXJh
dG9yPShjb25zdCBXZWFrUHRyPFU+JiBvKQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19j
b252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlUqIG11c3QgYmUgY29udmVydGlibGUgdG8gVCoi
KTsKKyAgICBtX3JlZiA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8ubV9y
ZWYuZ2V0KCkpOworICAgIHJldHVybiAqdGhpczsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4g
dGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIFdlYWtQdHI8VD4mIFdlYWtQdHI8VD46Om9wZXJh
dG9yPShXZWFrUHRyPFU+JiYgbykKK3sKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfY29udmVy
dGlibGU8VSosIFQqPjo6dmFsdWUsICJVKiBtdXN0IGJlIGNvbnZlcnRpYmxlIHRvIFQqIik7Cisg
ICAgbV9yZWYgPSBhZG9wdFJlZihyZWludGVycHJldF9jYXN0PFdlYWtSZWZlcmVuY2U8VD4qPihv
Lm1fcmVmLmxlYWtSZWYoKSkpOworICAgIHJldHVybiAqdGhpczsKK30KKwordGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIFdlYWtQdHI8VD4gbWFrZVdlYWtQdHIoVCYgcmVmKQogewogICAgIHJl
dHVybiByZWYud2Vha1B0ckZhY3RvcnkoKS50ZW1wbGF0ZSBjcmVhdGVXZWFrUHRyPFQ+KHJlZik7
CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0
cihUKiBwdHIpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vh
a1B0cihUKiBwdHIpCiB7CiAgICAgaWYgKCFwdHIpCiAgICAgICAgIHJldHVybiB7IH07CkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyMjI3NzYpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NCBAQAorMjAxNy0xMC0wMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWxsb3cgYXNzaWduaW5nIFdlYWtQdHI8RGVyaXZlZD4gdG8gV2Vha1B0cjxCYXNlPgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3ODE3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9XZWFrUHRyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkJh
c2U6OndlYWtQdHJGYWN0b3J5KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAy
MDE3LTEwLTAyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBXU0wgZGVtbyBjb21wYXRpYmxlIHdpdGggTWljcm9zb2Z0IEVkZ2UKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCShyZXZpc2lvbiAyMjI3
NzEpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XZWFrUHRyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjEyLDYgKzIxMiw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fd2Vh
a1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cjxUPigqdGhpcyk7CiAgICAgfQogCisgICAgYXV0byYg
d2Vha1B0ckZhY3RvcnkoKSB7IHJldHVybiBtX3dlYWtQdHJGYWN0b3J5OyB9CisKIHByaXZhdGU6
CiAgICAgV2Vha1B0ckZhY3Rvcnk8QmFzZT4gbV93ZWFrUHRyRmFjdG9yeTsKIH07CkBAIC0yNTQs
NCArMjU2LDM4IEBAIFRFU1QoV1RGX1dlYWtQdHIsIERvd25jYXN0aW5nKQogICAgIEVYUEVDVF9O
VUxMKGRlcml2ZWRXZWFrUHRyLmdldCgpKTsKIH0KIAorVEVTVChXVEZfV2Vha1B0ciwgRGVyaXZl
ZENvbnN0cnVjdEFuZEFzc2lnbikKK3sKKyAgICBEZXJpdmVkIGRlcml2ZWQ7CisgICAgeworICAg
ICAgICBhdXRvIGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAg
IFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHIgeyBXVEZNb3ZlKGRlcml2ZWRXZWFrUHRyKSB9Owor
ICAgICAgICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICAgICAg
RVhQRUNUX05VTEwoZGVyaXZlZFdlYWtQdHIuZ2V0KCkpOworICAgIH0KKworICAgIHsKKyAgICAg
ICAgYXV0byBkZXJpdmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2ZWQpOworICAgICAgICBX
ZWFrUHRyPEJhc2U+IGJhc2VXZWFrUHRyIHsgZGVyaXZlZFdlYWtQdHIgfTsKKyAgICAgICAgRVhQ
RUNUX0VRKGJhc2VXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7CisgICAgICAgIEVYUEVDVF9FUShk
ZXJpdmVkV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgIH0KKworICAgIHsKKyAgICAgICAg
YXV0byBkZXJpdmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2ZWQpOworICAgICAgICBXZWFr
UHRyPEJhc2U+IGJhc2VXZWFrUHRyOworICAgICAgICBiYXNlV2Vha1B0ciA9IFdURk1vdmUoZGVy
aXZlZFdlYWtQdHIpOworICAgICAgICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCksICZkZXJp
dmVkKTsKKyAgICAgICAgRVhQRUNUX05VTEwoZGVyaXZlZFdlYWtQdHIuZ2V0KCkpOworICAgIH0K
KworICAgIHsKKyAgICAgICAgYXV0byBkZXJpdmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2
ZWQpOworICAgICAgICBXZWFrUHRyPEJhc2U+IGJhc2VXZWFrUHRyOworICAgICAgICBiYXNlV2Vh
a1B0ciA9IGRlcml2ZWRXZWFrUHRyOworICAgICAgICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0
KCksICZkZXJpdmVkKTsKKyAgICAgICAgRVhQRUNUX0VRKGRlcml2ZWRXZWFrUHRyLmdldCgpLCAm
ZGVyaXZlZCk7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322523</attachid>
            <date>2017-10-03 08:25:56 -0700</date>
            <delta_ts>2017-10-03 08:33:39 -0700</delta_ts>
            <desc>patch</desc>
            <filename>weakptr-derived-5.patch</filename>
            <type>text/plain</type>
            <size>6378</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVk
PiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVtcGxhdGVkIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMvYXNzaWdubWVu
dCBvcGVyYXRvcnMsIHNpbWlsYXIgdG8gUmVmUHRyLgorCisgICAgICAgICogd3RmL1dlYWtQdHIu
aDoKKyAgICAgICAgKFdURjo6V2Vha1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIgY29uc3QpOgor
ICAgICAgICAoV1RGOjpXZWFrUHRyPFQ+OjpXZWFrUHRyKToKKyAgICAgICAgKFdURjo6PSk6Cisg
ICAgICAgIChXVEY6Om1ha2VXZWFrUHRyKToKKwogMjAxNy0xMC0wMiAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgTGluZUVuZGluZy57aCxj
cHB9IGZyb20gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0IHRvIHd0Zi90ZXh0CkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9XZWFrUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV2Vha1B0ci5o
CShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSwg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSwgMjAxNyBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTY4LDExICs2OCwxNSBAQCBwdWJsaWM6CiAgICAgV2Vha1B0cigpIHsgfQogICAgIFdl
YWtQdHIoc3RkOjpudWxscHRyX3QpIHsgfQogICAgIFdlYWtQdHIoUmVmPFdlYWtSZWZlcmVuY2U8
VD4+JiYgcmVmKSA6IG1fcmVmKHN0ZDo6Zm9yd2FyZDxSZWY8V2Vha1JlZmVyZW5jZTxUPj4+KHJl
ZikpIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoY29uc3QgV2Vha1B0cjxV
PiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoV2Vha1B0cjxVPiYmKTsKIAog
ICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmID8gbV9yZWYtPmdldCgpIDogbnVsbHB0
cjsgfQogICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3JlZiAmJiBtX3JlZi0+
Z2V0KCk7IH0KIAogICAgIFdlYWtQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBtX3Jl
ZiA9IG51bGxwdHI7IHJldHVybiAqdGhpczsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdl
YWtQdHImIG9wZXJhdG9yPShjb25zdCBXZWFrUHRyPFU+Jik7CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gV2Vha1B0ciYgb3BlcmF0b3I9KFdlYWtQdHI8VT4mJik7CiAKICAgICBUKiBvcGVyYXRv
ci0+KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyByZXR1cm4gKm1fcmVmLT5nZXQoKTsgfQpAQCAtODAsNiArODQsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBjbGVhcigpIHsgbV9yZWYgPSBudWxscHRyOyB9CiAKIHByaXZhdGU6CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIGNsYXNzIFdlYWtQdHI7CisKICAgICBSZWZQdHI8
V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCkBAIC0xMDIsNyArMTA4LDcgQEAgcHVibGlj
OgogICAgICAgICBpZiAoIW1fcmVmKQogICAgICAgICAgICAgbV9yZWYgPSBXZWFrUmVmZXJlbmNl
PFQ+OjpjcmVhdGUoJnB0cik7CiAgICAgICAgIEFTU0VSVCgmcHRyID09IG1fcmVmLT5nZXQoKSk7
Ci0gICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1
ZSwgIlQqIG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKKyAgICAgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0
aWJsZSB0byBUKiIpOwogICAgICAgICByZXR1cm4gV2Vha1B0cjxVPihSZWY8V2Vha1JlZmVyZW5j
ZTxVPj4ocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFU+Jj4oKm1fcmVmKSkpOwogICAg
IH0KIApAQCAtMTE5LDEyICsxMjUsMzggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxX
ZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxp
bmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPjo6V2Vha1B0cihjb25zdCBXZWFr
UHRyPFU+JiBvKQorICAgIDogbV9yZWYocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+
Kj4oby5tX3JlZi5nZXQoKSkpCit7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2NvbnZlcnRp
YmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIpOworfQor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0
cjxUPjo6V2Vha1B0cihXZWFrUHRyPFU+JiYgbykKKyAgICA6IG1fcmVmKGFkb3B0UmVmKHJlaW50
ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8ubV9yZWYubGVha1JlZigpKSkpCit7Cisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSog
bXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPiYgV2Vha1B0cjxUPjo6b3BlcmF0
b3I9KGNvbnN0IFdlYWtQdHI8VT4mIG8pCit7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2Nv
bnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIp
OworICAgIG1fcmVmID0gcmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+Kj4oby5tX3Jl
Zi5nZXQoKSk7CisgICAgcmV0dXJuICp0aGlzOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPiYgV2Vha1B0cjxUPjo6b3BlcmF0
b3I9KFdlYWtQdHI8VT4mJiBvKQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0
aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlUqIG11c3QgYmUgY29udmVydGlibGUgdG8gVCoiKTsKKyAg
ICBtX3JlZiA9IGFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8u
bV9yZWYubGVha1JlZigpKSk7CisgICAgcmV0dXJuICp0aGlzOworfQorCit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCiB7CiAgICAgcmV0
dXJuIHJlZi53ZWFrUHRyRmFjdG9yeSgpLnRlbXBsYXRlIGNyZWF0ZVdlYWtQdHI8VD4ocmVmKTsK
IH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSBXZWFrUHRyPFQ+IG1ha2VXZWFrUHRy
KFQqIHB0cikKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBXZWFrUHRyPFQ+IG1ha2VXZWFr
UHRyKFQqIHB0cikKIHsKICAgICBpZiAoIXB0cikKICAgICAgICAgcmV0dXJuIHsgfTsKSW5kZXg6
IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIyMjc3NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0
IEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVkPiB0byBXZWFrUHRyPEJhc2U+Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc4MTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6QmFz
ZTo6d2Vha1B0ckZhY3RvcnkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIw
MTctMTAtMDIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIFdTTCBkZW1vIGNvbXBhdGlibGUgd2l0aCBNaWNyb3NvZnQgRWRnZQpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5jcHAJKHJldmlzaW9uIDIyMjc3
MSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTIsNiArMjEyLDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV93ZWFr
UHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyPFQ+KCp0aGlzKTsKICAgICB9CiAKKyAgICBhdXRvJiB3
ZWFrUHRyRmFjdG9yeSgpIHsgcmV0dXJuIG1fd2Vha1B0ckZhY3Rvcnk7IH0KKwogcHJpdmF0ZToK
ICAgICBXZWFrUHRyRmFjdG9yeTxCYXNlPiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKQEAgLTI1NCw0
ICsyNTYsMzggQEAgVEVTVChXVEZfV2Vha1B0ciwgRG93bmNhc3RpbmcpCiAgICAgRVhQRUNUX05V
TEwoZGVyaXZlZFdlYWtQdHIuZ2V0KCkpOwogfQogCitURVNUKFdURl9XZWFrUHRyLCBEZXJpdmVk
Q29uc3RydWN0QW5kQXNzaWduKQoreworICAgIERlcml2ZWQgZGVyaXZlZDsKKyAgICB7CisgICAg
ICAgIGF1dG8gZGVyaXZlZFdlYWtQdHIgPSBtYWtlV2Vha1B0cihkZXJpdmVkKTsKKyAgICAgICAg
V2Vha1B0cjxCYXNlPiBiYXNlV2Vha1B0ciB7IFdURk1vdmUoZGVyaXZlZFdlYWtQdHIpIH07Cisg
ICAgICAgIEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgICAgICBF
WFBFQ1RfTlVMTChkZXJpdmVkV2Vha1B0ci5nZXQoKSk7CisgICAgfQorCisgICAgeworICAgICAg
ICBhdXRvIGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdl
YWtQdHI8QmFzZT4gYmFzZVdlYWtQdHIgeyBkZXJpdmVkV2Vha1B0ciB9OworICAgICAgICBFWFBF
Q1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICAgICAgRVhQRUNUX0VRKGRl
cml2ZWRXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7CisgICAgfQorCisgICAgeworICAgICAgICBh
dXRvIGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQ
dHI8QmFzZT4gYmFzZVdlYWtQdHI7CisgICAgICAgIGJhc2VXZWFrUHRyID0gV1RGTW92ZShkZXJp
dmVkV2Vha1B0cik7CisgICAgICAgIEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2
ZWQpOworICAgICAgICBFWFBFQ1RfTlVMTChkZXJpdmVkV2Vha1B0ci5nZXQoKSk7CisgICAgfQor
CisgICAgeworICAgICAgICBhdXRvIGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZl
ZCk7CisgICAgICAgIFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHI7CisgICAgICAgIGJhc2VXZWFr
UHRyID0gZGVyaXZlZFdlYWtQdHI7CisgICAgICAgIEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQo
KSwgJmRlcml2ZWQpOworICAgICAgICBFWFBFQ1RfRVEoZGVyaXZlZFdlYWtQdHIuZ2V0KCksICZk
ZXJpdmVkKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322525</attachid>
            <date>2017-10-03 08:33:39 -0700</date>
            <delta_ts>2017-10-03 09:41:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>weakptr-derived-6.patch</filename>
            <type>text/plain</type>
            <size>6426</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVk
PiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVtcGxhdGVkIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMvYXNzaWdubWVu
dCBvcGVyYXRvcnMsIHNpbWlsYXIgdG8gUmVmUHRyLgorCisgICAgICAgICogd3RmL1dlYWtQdHIu
aDoKKyAgICAgICAgKFdURjo6V2Vha1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIgY29uc3QpOgor
ICAgICAgICAoV1RGOjpXZWFrUHRyPFQ+OjpXZWFrUHRyKToKKyAgICAgICAgKFdURjo6PSk6Cisg
ICAgICAgIChXVEY6Om1ha2VXZWFrUHRyKToKKwogMjAxNy0xMC0wMiAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgTGluZUVuZGluZy57aCxj
cHB9IGZyb20gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0IHRvIHd0Zi90ZXh0CkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9XZWFrUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV2Vha1B0ci5o
CShyZXZpc2lvbiAyMjI3NzEpCisrKyBTb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSwg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSwgMjAxNyBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTY4LDExICs2OCwxNSBAQCBwdWJsaWM6CiAgICAgV2Vha1B0cigpIHsgfQogICAgIFdl
YWtQdHIoc3RkOjpudWxscHRyX3QpIHsgfQogICAgIFdlYWtQdHIoUmVmPFdlYWtSZWZlcmVuY2U8
VD4+JiYgcmVmKSA6IG1fcmVmKHN0ZDo6Zm9yd2FyZDxSZWY8V2Vha1JlZmVyZW5jZTxUPj4+KHJl
ZikpIHsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoY29uc3QgV2Vha1B0cjxV
PiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdlYWtQdHIoV2Vha1B0cjxVPiYmKTsKIAog
ICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmID8gbV9yZWYtPmdldCgpIDogbnVsbHB0
cjsgfQogICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3JlZiAmJiBtX3JlZi0+
Z2V0KCk7IH0KIAogICAgIFdlYWtQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBtX3Jl
ZiA9IG51bGxwdHI7IHJldHVybiAqdGhpczsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFdl
YWtQdHImIG9wZXJhdG9yPShjb25zdCBXZWFrUHRyPFU+Jik7CisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gV2Vha1B0ciYgb3BlcmF0b3I9KFdlYWtQdHI8VT4mJik7CiAKICAgICBUKiBvcGVyYXRv
ci0+KCkgY29uc3QgeyByZXR1cm4gbV9yZWYtPmdldCgpOyB9CiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyByZXR1cm4gKm1fcmVmLT5nZXQoKTsgfQpAQCAtODAsNiArODQsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBjbGVhcigpIHsgbV9yZWYgPSBudWxscHRyOyB9CiAKIHByaXZhdGU6CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVT4gZnJpZW5kIGNsYXNzIFdlYWtQdHI7CisKICAgICBSZWZQdHI8
V2Vha1JlZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCkBAIC0xMDIsNyArMTA4LDcgQEAgcHVibGlj
OgogICAgICAgICBpZiAoIW1fcmVmKQogICAgICAgICAgICAgbV9yZWYgPSBXZWFrUmVmZXJlbmNl
PFQ+OjpjcmVhdGUoJnB0cik7CiAgICAgICAgIEFTU0VSVCgmcHRyID09IG1fcmVmLT5nZXQoKSk7
Ci0gICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1
ZSwgIlQqIG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKKyAgICAgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0
aWJsZSB0byBUKiIpOwogICAgICAgICByZXR1cm4gV2Vha1B0cjxVPihSZWY8V2Vha1JlZmVyZW5j
ZTxVPj4ocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFU+Jj4oKm1fcmVmKSkpOwogICAg
IH0KIApAQCAtMTE5LDEyICsxMjUsMzggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxX
ZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxp
bmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPjo6V2Vha1B0cihjb25zdCBXZWFr
UHRyPFU+JiBvKQorICAgIDogbV9yZWYocmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+
Kj4oby5tX3JlZi5nZXQoKSkpCit7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2NvbnZlcnRp
YmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIpOworfQor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0
cjxUPjo6V2Vha1B0cihXZWFrUHRyPFU+JiYgbykKKyAgICA6IG1fcmVmKGFkb3B0UmVmKHJlaW50
ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8ubV9yZWYubGVha1JlZigpKSkpCit7Cisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSog
bXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPiYgV2Vha1B0cjxUPjo6b3BlcmF0
b3I9KGNvbnN0IFdlYWtQdHI8VT4mIG8pCit7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2Nv
bnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0aWJsZSB0byBUKiIp
OworICAgIG1fcmVmID0gcmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+Kj4oby5tX3Jl
Zi5nZXQoKSk7CisgICAgcmV0dXJuICp0aGlzOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1B0cjxUPiYgV2Vha1B0cjxUPjo6b3BlcmF0
b3I9KFdlYWtQdHI8VT4mJiBvKQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0
aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlUqIG11c3QgYmUgY29udmVydGlibGUgdG8gVCoiKTsKKyAg
ICBtX3JlZiA9IGFkb3B0UmVmKHJlaW50ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxUPio+KG8u
bV9yZWYubGVha1JlZigpKSk7CisgICAgcmV0dXJuICp0aGlzOworfQorCit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCiB7CiAgICAgcmV0
dXJuIHJlZi53ZWFrUHRyRmFjdG9yeSgpLnRlbXBsYXRlIGNyZWF0ZVdlYWtQdHI8VD4ocmVmKTsK
IH0KIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSBXZWFrUHRyPFQ+IG1ha2VXZWFrUHRy
KFQqIHB0cikKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBXZWFrUHRyPFQ+IG1ha2VXZWFr
UHRyKFQqIHB0cikKIHsKICAgICBpZiAoIXB0cikKICAgICAgICAgcmV0dXJuIHsgfTsKSW5kZXg6
IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIyMjc3NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0
IEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVkPiB0byBXZWFrUHRyPEJhc2U+Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc4MTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6QmFz
ZTo6d2Vha1B0ckZhY3RvcnkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIw
MTctMTAtMDIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIFdTTCBkZW1vIGNvbXBhdGlibGUgd2l0aCBNaWNyb3NvZnQgRWRnZQpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5jcHAJKHJldmlzaW9uIDIyMjc3
MSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTIsNiArMjEyLDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV93ZWFr
UHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyPFQ+KCp0aGlzKTsKICAgICB9CiAKKyAgICBhdXRvJiB3
ZWFrUHRyRmFjdG9yeSgpIHsgcmV0dXJuIG1fd2Vha1B0ckZhY3Rvcnk7IH0KKwogcHJpdmF0ZToK
ICAgICBXZWFrUHRyRmFjdG9yeTxCYXNlPiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKQEAgLTI1NCw0
ICsyNTYsMzggQEAgVEVTVChXVEZfV2Vha1B0ciwgRG93bmNhc3RpbmcpCiAgICAgRVhQRUNUX05V
TEwoZGVyaXZlZFdlYWtQdHIuZ2V0KCkpOwogfQogCitURVNUKFdURl9XZWFrUHRyLCBEZXJpdmVk
Q29uc3RydWN0QW5kQXNzaWduKQoreworICAgIERlcml2ZWQgZGVyaXZlZDsKKyAgICB7CisgICAg
ICAgIFdlYWtQdHI8RGVyaXZlZD4gZGVyaXZlZFdlYWtQdHIgPSBtYWtlV2Vha1B0cihkZXJpdmVk
KTsKKyAgICAgICAgV2Vha1B0cjxCYXNlPiBiYXNlV2Vha1B0ciB7IFdURk1vdmUoZGVyaXZlZFdl
YWtQdHIpIH07CisgICAgICAgIEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQp
OworICAgICAgICBFWFBFQ1RfTlVMTChkZXJpdmVkV2Vha1B0ci5nZXQoKSk7CisgICAgfQorCisg
ICAgeworICAgICAgICBXZWFrUHRyPERlcml2ZWQ+IGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQ
dHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHIgeyBkZXJpdmVk
V2Vha1B0ciB9OworICAgICAgICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCksICZkZXJpdmVk
KTsKKyAgICAgICAgRVhQRUNUX0VRKGRlcml2ZWRXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7Cisg
ICAgfQorCisgICAgeworICAgICAgICBXZWFrUHRyPERlcml2ZWQ+IGRlcml2ZWRXZWFrUHRyID0g
bWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHI7
CisgICAgICAgIGJhc2VXZWFrUHRyID0gV1RGTW92ZShkZXJpdmVkV2Vha1B0cik7CisgICAgICAg
IEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgICAgICBFWFBFQ1Rf
TlVMTChkZXJpdmVkV2Vha1B0ci5nZXQoKSk7CisgICAgfQorCisgICAgeworICAgICAgICBXZWFr
UHRyPERlcml2ZWQ+IGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAg
ICAgIFdlYWtQdHI8QmFzZT4gYmFzZVdlYWtQdHI7CisgICAgICAgIGJhc2VXZWFrUHRyID0gZGVy
aXZlZFdlYWtQdHI7CisgICAgICAgIEVYUEVDVF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2
ZWQpOworICAgICAgICBFWFBFQ1RfRVEoZGVyaXZlZFdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsK
KyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="342406"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322536</attachid>
            <date>2017-10-03 09:41:29 -0700</date>
            <delta_ts>2017-10-03 10:13:25 -0700</delta_ts>
            <desc>patch</desc>
            <filename>weakptr-derived-8.patch</filename>
            <type>text/plain</type>
            <size>6979</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjI3ODUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVk
PiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KKwor
ICAgICAgICBBZGQgdGVtcGxhdGVkIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMvYXNzaWdubWVudCBv
cGVyYXRvcnMsIHNpbWlsYXIgdG8gUmVmUHRyLgorCisgICAgICAgICogd3RmL1dlYWtQdHIuaDoK
KyAgICAgICAgKFdURjo6V2Vha1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIgY29uc3QpOgorICAg
ICAgICAoV1RGOjp3ZWFrX3JlZmVyZW5jZV91cGNhc3QpOgorICAgICAgICAoV1RGOjp3ZWFrX3Jl
ZmVyZW5jZV9kb3duY2FzdCk6CisgICAgICAgIChXVEY6OldlYWtQdHI8VD46OldlYWtQdHIpOgor
ICAgICAgICAoV1RGOjo9KToKKyAgICAgICAgKFdURjo6bWFrZVdlYWtQdHIpOgorCiAyMDE3LTEw
LTAyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
TW92ZSBMaW5lRW5kaW5nLntoLGNwcH0gZnJvbSBXZWJDb3JlL3BsYXRmb3JtL3RleHQgdG8gd3Rm
L3RleHQKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL3d0Zi9XZWFrUHRyLmgJKHJldmlzaW9uIDIyMjc3MSkKKysrIFNvdXJjZS9XVEYvd3Rm
L1dlYWtQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE1LCAyMDE3IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsOSBAQCBwcml2YXRlOgogICAgIFQq
IG1fcHRyOwogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gV2Vha1JlZmVy
ZW5jZTxUPiogd2Vha19yZWZlcmVuY2VfdXBjYXN0KFdlYWtSZWZlcmVuY2U8VT4qKTsKK3RlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IFdlYWtSZWZlcmVuY2U8VD4qIHdlYWtfcmVmZXJl
bmNlX2Rvd25jYXN0KFdlYWtSZWZlcmVuY2U8VT4qKTsKKwogdGVtcGxhdGU8dHlwZW5hbWUgVD4K
IGNsYXNzIFdlYWtQdHIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtNjgsMTEg
KzcxLDE1IEBAIHB1YmxpYzoKICAgICBXZWFrUHRyKCkgeyB9CiAgICAgV2Vha1B0cihzdGQ6Om51
bGxwdHJfdCkgeyB9CiAgICAgV2Vha1B0cihSZWY8V2Vha1JlZmVyZW5jZTxUPj4mJiByZWYpIDog
bV9yZWYoc3RkOjpmb3J3YXJkPFJlZjxXZWFrUmVmZXJlbmNlPFQ+Pj4ocmVmKSkgeyB9CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0cihjb25zdCBXZWFrUHRyPFU+Jik7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0cihXZWFrUHRyPFU+JiYpOwogCiAgICAgVCogZ2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWYgPyBtX3JlZi0+Z2V0KCkgOiBudWxscHRyOyB9CiAgICAgb3Bl
cmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmICYmIG1fcmVmLT5nZXQoKTsgfQogCiAg
ICAgV2Vha1B0ciYgb3BlcmF0b3I9KHN0ZDo6bnVsbHB0cl90KSB7IG1fcmVmID0gbnVsbHB0cjsg
cmV0dXJuICp0aGlzOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0ciYgb3BlcmF0
b3I9KGNvbnN0IFdlYWtQdHI8VT4mKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBXZWFrUHRy
JiBvcGVyYXRvcj0oV2Vha1B0cjxVPiYmKTsKIAogICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdCB7
IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVy
biAqbV9yZWYtPmdldCgpOyB9CkBAIC04MCw2ICs4Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNs
ZWFyKCkgeyBtX3JlZiA9IG51bGxwdHI7IH0KIAogcHJpdmF0ZToKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBVPiBmcmllbmQgY2xhc3MgV2Vha1B0cjsKKwogICAgIFJlZlB0cjxXZWFrUmVmZXJlbmNl
PFQ+PiBtX3JlZjsKIH07CiAKQEAgLTEwMSw5ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICBpZiAoIW1fcmVmKQogICAgICAgICAgICAgbV9yZWYgPSBXZWFrUmVmZXJlbmNlPFQ+Ojpj
cmVhdGUoJnB0cik7Ci0gICAgICAgIEFTU0VSVCgmcHRyID09IG1fcmVmLT5nZXQoKSk7Ci0gICAg
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlQq
IG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKLSAgICAgICAgcmV0dXJuIFdlYWtQdHI8VT4o
UmVmPFdlYWtSZWZlcmVuY2U8VT4+KHJlaW50ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxVPiY+
KCptX3JlZikpKTsKKyAgICAgICAgcmV0dXJuIFdlYWtQdHI8VT4obWFrZVJlZigqd2Vha19yZWZl
cmVuY2VfZG93bmNhc3Q8VT4obV9yZWYuZ2V0KCkpKSk7CiAgICAgfQogCiAgICAgdm9pZCByZXZv
a2VBbGwoKQpAQCAtMTE5LDEyICsxMjYsNDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0
cjxXZWFrUmVmZXJlbmNlPFQ+PiBtX3JlZjsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBp
bmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUJiByZWYpCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCB0eXBlbmFtZSBVPiBpbmxpbmUgV2Vha1JlZmVyZW5jZTxUPiogd2Vha19yZWZlcmVuY2VfdXBj
YXN0KFdlYWtSZWZlcmVuY2U8VT4qIHdlYWtSZWZlcmVuY2UpCit7CisgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX2NvbnZlcnRpYmxlPFUqLCBUKj46OnZhbHVlLCAiVSogbXVzdCBiZSBjb252ZXJ0
aWJsZSB0byBUKiIpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdlYWtSZWZlcmVuY2U8
VD4qPih3ZWFrUmVmZXJlbmNlKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
VT4gaW5saW5lIFdlYWtSZWZlcmVuY2U8VD4qIHdlYWtfcmVmZXJlbmNlX2Rvd25jYXN0KFdlYWtS
ZWZlcmVuY2U8VT4qIHdlYWtSZWZlcmVuY2UpCit7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6Omlz
X2NvbnZlcnRpYmxlPFQqLCBVKj46OnZhbHVlLCAiVCogbXVzdCBiZSBjb252ZXJ0aWJsZSB0byBV
KiIpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdlYWtSZWZlcmVuY2U8VD4qPih3ZWFr
UmVmZXJlbmNlKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUg
VT4gaW5saW5lIFdlYWtQdHI8VD46OldlYWtQdHIoY29uc3QgV2Vha1B0cjxVPiYgbykKKyAgICA6
IG1fcmVmKHdlYWtfcmVmZXJlbmNlX3VwY2FzdDxUPihvLm1fcmVmLmdldCgpKSkKK3sKK30KKwor
dGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIFdlYWtQdHI8
VD46OldlYWtQdHIoV2Vha1B0cjxVPiYmIG8pCisgICAgOiBtX3JlZihhZG9wdFJlZih3ZWFrX3Jl
ZmVyZW5jZV91cGNhc3Q8VD4oby5tX3JlZi5sZWFrUmVmKCkpKSkKK3sKK30KKwordGVtcGxhdGU8
dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIFdlYWtQdHI8VD4mIFdlYWtQ
dHI8VD46Om9wZXJhdG9yPShjb25zdCBXZWFrUHRyPFU+JiBvKQoreworICAgIG1fcmVmID0gd2Vh
a19yZWZlcmVuY2VfdXBjYXN0PFQ+KG8ubV9yZWYuZ2V0KCkpOworICAgIHJldHVybiAqdGhpczsK
K30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIFdl
YWtQdHI8VD4mIFdlYWtQdHI8VD46Om9wZXJhdG9yPShXZWFrUHRyPFU+JiYgbykKK3sKKyAgICBt
X3JlZiA9IGFkb3B0UmVmKHdlYWtfcmVmZXJlbmNlX3VwY2FzdDxUPihvLm1fcmVmLmxlYWtSZWYo
KSkpOworICAgIHJldHVybiAqdGhpczsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5l
IFdlYWtQdHI8VD4gbWFrZVdlYWtQdHIoVCYgcmVmKQogewogICAgIHJldHVybiByZWYud2Vha1B0
ckZhY3RvcnkoKS50ZW1wbGF0ZSBjcmVhdGVXZWFrUHRyPFQ+KHJlZik7CiB9CiAKLXRlbXBsYXRl
IDx0eXBlbmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUKiBwdHIpCit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgV2Vha1B0cjxUPiBtYWtlV2Vha1B0cihUKiBwdHIpCiB7
CiAgICAgaWYgKCFwdHIpCiAgICAgICAgIHJldHVybiB7IH07CkluZGV4OiBUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjI3NzYpCisrKyBU
b29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMC0w
MyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgYXNz
aWduaW5nIFdlYWtQdHI8RGVyaXZlZD4gdG8gV2Vha1B0cjxCYXNlPgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3ODE3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgR2VvZmYgR2FyZW4uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9X
ZWFrUHRyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkJhc2U6OndlYWtQdHJGYWN0b3J5
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE3LTEwLTAyICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBXU0wgZGVt
byBjb21wYXRpYmxlIHdpdGggTWljcm9zb2Z0IEVkZ2UKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1dlYWtQdHIuY3BwCShyZXZpc2lvbiAyMjI3NzEpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9XZWFrUHRyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDYg
KzIxMiw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRl
V2Vha1B0cjxUPigqdGhpcyk7CiAgICAgfQogCisgICAgYXV0byYgd2Vha1B0ckZhY3RvcnkoKSB7
IHJldHVybiBtX3dlYWtQdHJGYWN0b3J5OyB9CisKIHByaXZhdGU6CiAgICAgV2Vha1B0ckZhY3Rv
cnk8QmFzZT4gbV93ZWFrUHRyRmFjdG9yeTsKIH07CkBAIC0yNTQsNCArMjU2LDM4IEBAIFRFU1Qo
V1RGX1dlYWtQdHIsIERvd25jYXN0aW5nKQogICAgIEVYUEVDVF9OVUxMKGRlcml2ZWRXZWFrUHRy
LmdldCgpKTsKIH0KIAorVEVTVChXVEZfV2Vha1B0ciwgRGVyaXZlZENvbnN0cnVjdEFuZEFzc2ln
bikKK3sKKyAgICBEZXJpdmVkIGRlcml2ZWQ7CisgICAgeworICAgICAgICBXZWFrUHRyPERlcml2
ZWQ+IGRlcml2ZWRXZWFrUHRyID0gbWFrZVdlYWtQdHIoZGVyaXZlZCk7CisgICAgICAgIFdlYWtQ
dHI8QmFzZT4gYmFzZVdlYWtQdHIgeyBXVEZNb3ZlKGRlcml2ZWRXZWFrUHRyKSB9OworICAgICAg
ICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICAgICAgRVhQRUNU
X05VTEwoZGVyaXZlZFdlYWtQdHIuZ2V0KCkpOworICAgIH0KKworICAgIHsKKyAgICAgICAgV2Vh
a1B0cjxEZXJpdmVkPiBkZXJpdmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2ZWQpOworICAg
ICAgICBXZWFrUHRyPEJhc2U+IGJhc2VXZWFrUHRyIHsgZGVyaXZlZFdlYWtQdHIgfTsKKyAgICAg
ICAgRVhQRUNUX0VRKGJhc2VXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7CisgICAgICAgIEVYUEVD
VF9FUShkZXJpdmVkV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgIH0KKworICAgIHsKKyAg
ICAgICAgV2Vha1B0cjxEZXJpdmVkPiBkZXJpdmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2
ZWQpOworICAgICAgICBXZWFrUHRyPEJhc2U+IGJhc2VXZWFrUHRyOworICAgICAgICBiYXNlV2Vh
a1B0ciA9IFdURk1vdmUoZGVyaXZlZFdlYWtQdHIpOworICAgICAgICBFWFBFQ1RfRVEoYmFzZVdl
YWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICAgICAgRVhQRUNUX05VTEwoZGVyaXZlZFdlYWtQ
dHIuZ2V0KCkpOworICAgIH0KKworICAgIHsKKyAgICAgICAgV2Vha1B0cjxEZXJpdmVkPiBkZXJp
dmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2ZWQpOworICAgICAgICBXZWFrUHRyPEJhc2U+
IGJhc2VXZWFrUHRyOworICAgICAgICBiYXNlV2Vha1B0ciA9IGRlcml2ZWRXZWFrUHRyOworICAg
ICAgICBFWFBFQ1RfRVEoYmFzZVdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICAgICAgRVhQ
RUNUX0VRKGRlcml2ZWRXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7CisgICAgfQorfQorCiB9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322539</attachid>
            <date>2017-10-03 10:13:25 -0700</date>
            <delta_ts>2017-10-03 11:49:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>weakptr-derived-9.patch</filename>
            <type>text/plain</type>
            <size>6971</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjI3ODUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVk
PiB0byBXZWFrUHRyPEJhc2U+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MTcKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KKwor
ICAgICAgICBBZGQgdGVtcGxhdGVkIGNvcHkvbW92ZSBjb25zdHJ1Y3RvcnMvYXNzaWdubWVudCBv
cGVyYXRvcnMsIHNpbWlsYXIgdG8gUmVmUHRyLgorCisgICAgICAgICogd3RmL1dlYWtQdHIuaDoK
KyAgICAgICAgKFdURjo6V2Vha1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIgY29uc3QpOgorICAg
ICAgICAoV1RGOjp3ZWFrX3JlZmVyZW5jZV91cGNhc3QpOgorICAgICAgICAoV1RGOjp3ZWFrX3Jl
ZmVyZW5jZV9kb3duY2FzdCk6CisgICAgICAgIChXVEY6OldlYWtQdHI8VD46OldlYWtQdHIpOgor
ICAgICAgICAoV1RGOjo9KToKKyAgICAgICAgKFdURjo6bWFrZVdlYWtQdHIpOgorCiAyMDE3LTEw
LTAyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAg
TW92ZSBMaW5lRW5kaW5nLntoLGNwcH0gZnJvbSBXZWJDb3JlL3BsYXRmb3JtL3RleHQgdG8gd3Rm
L3RleHQKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL3d0Zi9XZWFrUHRyLmgJKHJldmlzaW9uIDIyMjc3MSkKKysrIFNvdXJjZS9XVEYvd3Rm
L1dlYWtQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE1LCAyMDE3IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsOSBAQCBwcml2YXRlOgogICAgIFQq
IG1fcHRyOwogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gV2Vha1JlZmVy
ZW5jZTxUPiogd2Vha19yZWZlcmVuY2VfdXBjYXN0KFdlYWtSZWZlcmVuY2U8VT4qKTsKK3RlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IFdlYWtSZWZlcmVuY2U8VD4qIHdlYWtfcmVmZXJl
bmNlX2Rvd25jYXN0KFdlYWtSZWZlcmVuY2U8VT4qKTsKKwogdGVtcGxhdGU8dHlwZW5hbWUgVD4K
IGNsYXNzIFdlYWtQdHIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtNjgsMTEg
KzcxLDE1IEBAIHB1YmxpYzoKICAgICBXZWFrUHRyKCkgeyB9CiAgICAgV2Vha1B0cihzdGQ6Om51
bGxwdHJfdCkgeyB9CiAgICAgV2Vha1B0cihSZWY8V2Vha1JlZmVyZW5jZTxUPj4mJiByZWYpIDog
bV9yZWYoc3RkOjpmb3J3YXJkPFJlZjxXZWFrUmVmZXJlbmNlPFQ+Pj4ocmVmKSkgeyB9CisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0cihjb25zdCBXZWFrUHRyPFU+Jik7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0cihXZWFrUHRyPFU+JiYpOwogCiAgICAgVCogZ2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWYgPyBtX3JlZi0+Z2V0KCkgOiBudWxscHRyOyB9CiAgICAgb3Bl
cmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmICYmIG1fcmVmLT5nZXQoKTsgfQogCiAg
ICAgV2Vha1B0ciYgb3BlcmF0b3I9KHN0ZDo6bnVsbHB0cl90KSB7IG1fcmVmID0gbnVsbHB0cjsg
cmV0dXJuICp0aGlzOyB9CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gV2Vha1B0ciYgb3BlcmF0
b3I9KGNvbnN0IFdlYWtQdHI8VT4mKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBXZWFrUHRy
JiBvcGVyYXRvcj0oV2Vha1B0cjxVPiYmKTsKIAogICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdCB7
IHJldHVybiBtX3JlZi0+Z2V0KCk7IH0KICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVy
biAqbV9yZWYtPmdldCgpOyB9CkBAIC04MCw2ICs4Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNs
ZWFyKCkgeyBtX3JlZiA9IG51bGxwdHI7IH0KIAogcHJpdmF0ZToKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBVPiBmcmllbmQgY2xhc3MgV2Vha1B0cjsKKwogICAgIFJlZlB0cjxXZWFrUmVmZXJlbmNl
PFQ+PiBtX3JlZjsKIH07CiAKQEAgLTEwMSw5ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICBpZiAoIW1fcmVmKQogICAgICAgICAgICAgbV9yZWYgPSBXZWFrUmVmZXJlbmNlPFQ+Ojpj
cmVhdGUoJnB0cik7Ci0gICAgICAgIEFTU0VSVCgmcHRyID09IG1fcmVmLT5nZXQoKSk7Ci0gICAg
ICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlQq
IG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKLSAgICAgICAgcmV0dXJuIFdlYWtQdHI8VT4o
UmVmPFdlYWtSZWZlcmVuY2U8VT4+KHJlaW50ZXJwcmV0X2Nhc3Q8V2Vha1JlZmVyZW5jZTxVPiY+
KCptX3JlZikpKTsKKyAgICAgICAgcmV0dXJuIHsgbWFrZVJlZigqd2Vha19yZWZlcmVuY2VfZG93
bmNhc3Q8VT4obV9yZWYuZ2V0KCkpKSB9OwogICAgIH0KIAogICAgIHZvaWQgcmV2b2tlQWxsKCkK
QEAgLTExOSwxMiArMTI2LDQ2IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBSZWZQdHI8V2Vha1Jl
ZmVyZW5jZTxUPj4gbV9yZWY7CiB9OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIFdl
YWtQdHI8VD4gbWFrZVdlYWtQdHIoVCYgcmVmKQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5h
bWUgVT4gaW5saW5lIFdlYWtSZWZlcmVuY2U8VD4qIHdlYWtfcmVmZXJlbmNlX3VwY2FzdChXZWFr
UmVmZXJlbmNlPFU+KiB3ZWFrUmVmZXJlbmNlKQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjpp
c19jb252ZXJ0aWJsZTxVKiwgVCo+Ojp2YWx1ZSwgIlUqIG11c3QgYmUgY29udmVydGlibGUgdG8g
VCoiKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+Kj4od2Vh
a1JlZmVyZW5jZSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGlu
ZSBXZWFrUmVmZXJlbmNlPFQ+KiB3ZWFrX3JlZmVyZW5jZV9kb3duY2FzdChXZWFrUmVmZXJlbmNl
PFU+KiB3ZWFrUmVmZXJlbmNlKQoreworICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19jb252ZXJ0
aWJsZTxUKiwgVSo+Ojp2YWx1ZSwgIlQqIG11c3QgYmUgY29udmVydGlibGUgdG8gVSoiKTsKKyAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXZWFrUmVmZXJlbmNlPFQ+Kj4od2Vha1JlZmVyZW5j
ZSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGlu
ZSBXZWFrUHRyPFQ+OjpXZWFrUHRyKGNvbnN0IFdlYWtQdHI8VT4mIG8pCisgICAgOiBtX3JlZih3
ZWFrX3JlZmVyZW5jZV91cGNhc3Q8VD4oby5tX3JlZi5nZXQoKSkpCit7Cit9CisKK3RlbXBsYXRl
PHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBXZWFrUHRyPFQ+OjpXZWFr
UHRyKFdlYWtQdHI8VT4mJiBvKQorICAgIDogbV9yZWYoYWRvcHRSZWYod2Vha19yZWZlcmVuY2Vf
dXBjYXN0PFQ+KG8ubV9yZWYubGVha1JlZigpKSkpCit7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBXZWFrUHRyPFQ+JiBXZWFrUHRyPFQ+Ojpv
cGVyYXRvcj0oY29uc3QgV2Vha1B0cjxVPiYgbykKK3sKKyAgICBtX3JlZiA9IHdlYWtfcmVmZXJl
bmNlX3VwY2FzdDxUPihvLm1fcmVmLmdldCgpKTsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBXZWFrUHRyPFQ+
JiBXZWFrUHRyPFQ+OjpvcGVyYXRvcj0oV2Vha1B0cjxVPiYmIG8pCit7CisgICAgbV9yZWYgPSBh
ZG9wdFJlZih3ZWFrX3JlZmVyZW5jZV91cGNhc3Q8VD4oby5tX3JlZi5sZWFrUmVmKCkpKTsKKyAg
ICByZXR1cm4gKnRoaXM7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBXZWFrUHRy
PFQ+IG1ha2VXZWFrUHRyKFQmIHJlZikKIHsKICAgICByZXR1cm4gcmVmLndlYWtQdHJGYWN0b3J5
KCkudGVtcGxhdGUgY3JlYXRlV2Vha1B0cjxUPihyZWYpOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gaW5saW5lIFdlYWtQdHI8VD4gbWFrZVdlYWtQdHIoVCogcHRyKQordGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIFdlYWtQdHI8VD4gbWFrZVdlYWtQdHIoVCogcHRyKQogewogICAgIGlm
ICghcHRyKQogICAgICAgICByZXR1cm4geyB9OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjIyNzc2KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMTAtMDMgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGFzc2lnbmluZyBX
ZWFrUHRyPERlcml2ZWQ+IHRvIFdlYWtQdHI8QmFzZT4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzgxNworCisgICAgICAgIFJldmlld2VkIGJ5IEdl
b2ZmIEdhcmVuLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV2Vha1B0ci5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpCYXNlOjp3ZWFrUHRyRmFjdG9yeSk6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0xMC0wMiAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgV1NMIGRlbW8gY29tcGF0
aWJsZSB3aXRoIE1pY3Jvc29mdCBFZGdlCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9XZWFrUHRyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9XZWFrUHRyLmNwcAkocmV2aXNpb24gMjIyNzcxKQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvV2Vha1B0ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMiw2ICsyMTIsOCBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHI8
VD4oKnRoaXMpOwogICAgIH0KIAorICAgIGF1dG8mIHdlYWtQdHJGYWN0b3J5KCkgeyByZXR1cm4g
bV93ZWFrUHRyRmFjdG9yeTsgfQorCiBwcml2YXRlOgogICAgIFdlYWtQdHJGYWN0b3J5PEJhc2U+
IG1fd2Vha1B0ckZhY3Rvcnk7CiB9OwpAQCAtMjU0LDQgKzI1NiwzOCBAQCBURVNUKFdURl9XZWFr
UHRyLCBEb3duY2FzdGluZykKICAgICBFWFBFQ1RfTlVMTChkZXJpdmVkV2Vha1B0ci5nZXQoKSk7
CiB9CiAKK1RFU1QoV1RGX1dlYWtQdHIsIERlcml2ZWRDb25zdHJ1Y3RBbmRBc3NpZ24pCit7Cisg
ICAgRGVyaXZlZCBkZXJpdmVkOworICAgIHsKKyAgICAgICAgV2Vha1B0cjxEZXJpdmVkPiBkZXJp
dmVkV2Vha1B0ciA9IG1ha2VXZWFrUHRyKGRlcml2ZWQpOworICAgICAgICBXZWFrUHRyPEJhc2U+
IGJhc2VXZWFrUHRyIHsgV1RGTW92ZShkZXJpdmVkV2Vha1B0cikgfTsKKyAgICAgICAgRVhQRUNU
X0VRKGJhc2VXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7CisgICAgICAgIEVYUEVDVF9OVUxMKGRl
cml2ZWRXZWFrUHRyLmdldCgpKTsKKyAgICB9CisKKyAgICB7CisgICAgICAgIFdlYWtQdHI8RGVy
aXZlZD4gZGVyaXZlZFdlYWtQdHIgPSBtYWtlV2Vha1B0cihkZXJpdmVkKTsKKyAgICAgICAgV2Vh
a1B0cjxCYXNlPiBiYXNlV2Vha1B0ciB7IGRlcml2ZWRXZWFrUHRyIH07CisgICAgICAgIEVYUEVD
VF9FUShiYXNlV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgICAgICBFWFBFQ1RfRVEoZGVy
aXZlZFdlYWtQdHIuZ2V0KCksICZkZXJpdmVkKTsKKyAgICB9CisKKyAgICB7CisgICAgICAgIFdl
YWtQdHI8RGVyaXZlZD4gZGVyaXZlZFdlYWtQdHIgPSBtYWtlV2Vha1B0cihkZXJpdmVkKTsKKyAg
ICAgICAgV2Vha1B0cjxCYXNlPiBiYXNlV2Vha1B0cjsKKyAgICAgICAgYmFzZVdlYWtQdHIgPSBX
VEZNb3ZlKGRlcml2ZWRXZWFrUHRyKTsKKyAgICAgICAgRVhQRUNUX0VRKGJhc2VXZWFrUHRyLmdl
dCgpLCAmZGVyaXZlZCk7CisgICAgICAgIEVYUEVDVF9OVUxMKGRlcml2ZWRXZWFrUHRyLmdldCgp
KTsKKyAgICB9CisKKyAgICB7CisgICAgICAgIFdlYWtQdHI8RGVyaXZlZD4gZGVyaXZlZFdlYWtQ
dHIgPSBtYWtlV2Vha1B0cihkZXJpdmVkKTsKKyAgICAgICAgV2Vha1B0cjxCYXNlPiBiYXNlV2Vh
a1B0cjsKKyAgICAgICAgYmFzZVdlYWtQdHIgPSBkZXJpdmVkV2Vha1B0cjsKKyAgICAgICAgRVhQ
RUNUX0VRKGJhc2VXZWFrUHRyLmdldCgpLCAmZGVyaXZlZCk7CisgICAgICAgIEVYUEVDVF9FUShk
ZXJpdmVkV2Vha1B0ci5nZXQoKSwgJmRlcml2ZWQpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>