<?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>177739</bug_id>
          
          <creation_ts>2017-10-02 02:33:12 -0700</creation_ts>
          <short_desc>Make RenderPtr a type alias of std::unique_ptr</short_desc>
          <delta_ts>2017-10-02 14:06:37 -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>Layout and Rendering</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></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>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1355181</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-02 02:33:12 -0700</bug_when>
    <thetext>With a custom deleter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355183</commentid>
    <comment_count>1</comment_count>
      <attachid>322367</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-02 02:52:16 -0700</bug_when>
    <thetext>Created attachment 322367
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355184</commentid>
    <comment_count>2</comment_count>
      <attachid>322368</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-02 03:09:22 -0700</bug_when>
    <thetext>Created attachment 322368
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355188</commentid>
    <comment_count>3</comment_count>
      <attachid>322370</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-02 04:24:06 -0700</bug_when>
    <thetext>Created attachment 322370
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355290</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-10-02 10:30:04 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355357</commentid>
    <comment_count>5</comment_count>
      <attachid>322402</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-10-02 11:38:40 -0700</bug_when>
    <thetext>Created attachment 322402
for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355484</commentid>
    <comment_count>6</comment_count>
      <attachid>322402</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-02 14:06:35 -0700</bug_when>
    <thetext>Comment on attachment 322402
for landing

Clearing flags on attachment: 322402

Committed r222740: &lt;http://trac.webkit.org/changeset/222740&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355485</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-02 14:06:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322367</attachid>
            <date>2017-10-02 02:52:16 -0700</date>
            <delta_ts>2017-10-02 03:09:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>renderptr-type-alias.patch</filename>
            <type>text/plain</type>
            <size>11049</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjcwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE3LTEwLTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlbmRlclB0ciBhIHR5
cGUgYWxpYXMgb2Ygc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJdCBqdXN0IG5lZWRzIGEgY3VzdG9tIGRlbGV0ZXIuCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50
ZXJuYWwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmcmFnbWVudGVkRmxvd0Rl
c2NlbmRhbnRJbnNlcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OmhhbmRsZVNwYW5uZXJSZW1vdmFsKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdERlbGV0ZXI6Om9wZXJhdG9y
KCkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95
ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQdHIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnN0YXRpY19wb2ludGVyX2Nhc3Qp
OgorCisgICAgICAgICAgICBNYWtlIHRoaXMgc2FmZXIgd2l0aCBkb3duY2FzdC4KKworICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUHRyOjpSZW5kZXJQdHIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUHRyOjp+UmVuZGVyUHRyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclB0cjo6Z2V0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clB0cjo6b3BlcmF0b3IqIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clB0cjo6b3BlcmF0b3ItPiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQdHI6Om9wZXJhdG9yISBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQdHI6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyOjpvcGVyYXRvcj0pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyUHRyOjpzd2FwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclB0cjo6b3BlcmF0b3I9PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
dHI6Om9wZXJhdG9yIT0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyPFQ+
OjpjbGVhcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQdHI8VD46OmxlYWtQ
dHIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpzd2FwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3IhPSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpnZXRQdHIpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNv
cmU6OlJlbmRlclB0cjxUPj46OmVtcHR5VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpI
YXNoVHJhaXRzPFdlYkNvcmU6OlJlbmRlclB0cjxUPj46OnBlZWspOiBEZWxldGVkLgorCisgICAg
ICAgICAgICBXZSBhbHJlYWR5IGhhdmUgaGFzaCB0cmFpdHMgZm9yIHN0ZDo6dW5pcXVlX3B0ci4K
KwogMjAxNy0xMC0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBQYXN0ZWJvYXJkIHNob3VsZG4ndCBhZGQgIkZpbGVzIiBhcyBhIHR5cGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHB1YmxpYzoK
ICAgICAvLyBVbmxpa2UgY2xpZW50IGNvb3JkaW5hdGVzLCBsYXlvdXQgdmlld3BvcnQgY29vcmRp
bmF0ZXMgYXJlIGFmZmVjdGVkIGJ5IHBhZ2Ugem9vbS4KICAgICBGbG9hdFBvaW50IGNsaWVudFRv
TGF5b3V0Vmlld3BvcnRQb2ludChGbG9hdFBvaW50KSBjb25zdDsKIAotICAgIGJvb2wgaXNGcmFt
ZVZpZXdTY3JvbGxDb3JuZXIoY29uc3QgUmVuZGVyU2Nyb2xsYmFyUGFydCYgc2Nyb2xsQ29ybmVy
KSBjb25zdCB7IHJldHVybiBtX3Njcm9sbENvcm5lciA9PSAmc2Nyb2xsQ29ybmVyOyB9CisgICAg
Ym9vbCBpc0ZyYW1lVmlld1Njcm9sbENvcm5lcihjb25zdCBSZW5kZXJTY3JvbGxiYXJQYXJ0JiBz
Y3JvbGxDb3JuZXIpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQ29ybmVyLmdldCgpID09ICZzY3Jv
bGxDb3JuZXI7IH0KIAogICAgIC8vIGlzU2Nyb2xsYWJsZSgpIHRha2VzIGFuIG9wdGlvbmFsIFNj
cm9sbGFiaWxpdHkgcGFyYW1ldGVyIHRoYXQgYWxsb3dzIHRoZSBjYWxsZXIgdG8gZGVmaW5lIHdo
YXQgdGhleSBtZWFuIGJ5ICdzY3JvbGxhYmxlLicKICAgICAvLyBNb3N0IGNhbGxlcnMgYXJlIGlu
dGVyZXN0ZWQgaW4gdGhlIGRlZmF1bHQgdmFsdWUsIFNjcm9sbGFiaWxpdHk6OlNjcm9sbGFibGUs
IHdoaWNoIG1lYW5zIHRoYXQgdGhlcmUgaXMgYWN0dWFsbHkgY29udGVudApJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjIyNjk4KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjMsNyArNTIzLDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjppbnNlcnRDaGlsZElu
dGVybmFsKAogICAgIEFTU0VSVCghYmVmb3JlQ2hpbGQgfHwgYmVmb3JlQ2hpbGQtPnBhcmVudCgp
ID09IHRoaXMpOwogCiAgICAgLy8gVGFrZSB0aGUgb3duZXJzaGlwLgotICAgIGF1dG8qIG5ld0No
aWxkID0gbmV3Q2hpbGRQdHIubGVha1B0cigpOworICAgIGF1dG8qIG5ld0NoaWxkID0gbmV3Q2hp
bGRQdHIucmVsZWFzZSgpOwogCiAgICAgbmV3Q2hpbGQtPnNldFBhcmVudCh0aGlzKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxv
dy5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtbkZsb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNyArNDMyLDcgQEAg
dm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZyYWdtZW50ZWRGbAogCiAgICAgICAgICAgICAg
ICAgYXV0byB0YWtlbkNoaWxkID0gcGxhY2Vob2xkZXIucGFyZW50KCktPnRha2VDaGlsZChwbGFj
ZWhvbGRlcik7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IE1lbW9yeSBtYW5hZ2VtZW50Lgot
ICAgICAgICAgICAgICAgIGF1dG8qIGxlYWtlblB0ciA9IHRha2VuQ2hpbGQubGVha1B0cigpOwor
ICAgICAgICAgICAgICAgIGF1dG8qIGxlYWtlblB0ciA9IHRha2VuQ2hpbGQucmVsZWFzZSgpOwog
ICAgICAgICAgICAgICAgIFVOVVNFRF9QQVJBTShsZWFrZW5QdHIpOwogCiAgICAgICAgICAgICAg
ICAgaWYgKHN1YnRyZWVSb290ID09IGRlc2NlbmRhbnQpCkBAIC00NTcsNyArNDU3LDcgQEAgdm9p
ZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmhhbmRsZVNwYW5uZQogICAgIGlmIChSZW5kZXJNdWx0
aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlciogcGxhY2Vob2xkZXIgPSBtX3NwYW5uZXJNYXAuZ2V0
KCZkb3duY2FzdDxSZW5kZXJCb3g+KHNwYW5uZXIpKS5nZXQoKSkgewogICAgICAgICBhdXRvIHRh
a2VuQ2hpbGQgPSBwbGFjZWhvbGRlci0+cGFyZW50KCktPnRha2VDaGlsZCgqcGxhY2Vob2xkZXIp
OwogICAgICAgICAvLyBGSVhNRTogTWVtb3J5IG1hbmFnZW1lbnQuCi0gICAgICAgIGF1dG8qIGxl
YWtlblB0ciA9IHRha2VuQ2hpbGQubGVha1B0cigpOworICAgICAgICBhdXRvKiBsZWFrZW5QdHIg
PSB0YWtlbkNoaWxkLnJlbGVhc2UoKTsKICAgICAgICAgVU5VU0VEX1BBUkFNKGxlYWtlblB0cik7
CiAKICAgICAgICAgbV9zcGFubmVyTWFwLnJlbW92ZSgmZG93bmNhc3Q8UmVuZGVyQm94PihzcGFu
bmVyKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAko
cmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKICNpZm5kZWYgTkRFQlVHCiAKK3ZvaWQgUmVuZGVyT2JqZWN0RGVsZXRlcjo6
b3BlcmF0b3IoKSAoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29uc3QKK3sKKyAgICByZW5kZXJl
ci0+ZGVzdHJveSgpOworfQorCiBSZW5kZXJPYmplY3Q6OlNldExheW91dE5lZWRlZEZvcmJpZGRl
blNjb3BlOjpTZXRMYXlvdXROZWVkZWRGb3JiaWRkZW5TY29wZShSZW5kZXJPYmplY3QqIHJlbmRl
ck9iamVjdCwgYm9vbCBpc0ZvcmJpZGRlbikKICAgICA6IG1fcmVuZGVyT2JqZWN0KHJlbmRlck9i
amVjdCkKICAgICAsIG1fcHJlZXhpc3RpbmdGb3JiaWRkZW4obV9yZW5kZXJPYmplY3QtPmlzU2V0
TmVlZHNMYXlvdXRGb3JiaWRkZW4oKSkKQEAgLTE0MzEsNyArMTQzNiw3IEBAIHZvaWQgUmVuZGVy
T2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoKQogICAgIGlmIChtX3BhcmVudCkgewogICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYWx3YXlzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBwYXJl
bnQgYmVmb3JlIGJlaW5nIGRlc3Ryb3llZC4KICAgICAgICAgYXV0byB0YWtlblRoaXMgPSBtX3Bh
cmVudC0+dGFrZUNoaWxkKCp0aGlzKTsKLSAgICAgICAgYXV0byogbGVha2VkUHRyID0gdGFrZW5U
aGlzLmxlYWtQdHIoKTsKKyAgICAgICAgYXV0byogbGVha2VkUHRyID0gdGFrZW5UaGlzLnJlbGVh
c2UoKTsKICAgICAgICAgVU5VU0VEX1BBUkFNKGxlYWtlZFB0cik7CiAgICAgfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHRyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclB0ci5oCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE1NCAr
MjUsMjcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVk
ZSA8Y3N0ZGRlZj4KLSNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBS
ZW5kZXJQdHIgewotcHVibGljOgotICAgIHR5cGVkZWYgVCBWYWx1ZVR5cGU7Ci0gICAgdHlwZWRl
ZiBWYWx1ZVR5cGUqIFB0clR5cGU7CitjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLSAgICBSZW5kZXJQ
dHIoKSA6IG1fcHRyKG51bGxwdHIpIHsgfQotICAgIFJlbmRlclB0cihzdGQ6Om51bGxwdHJfdCkg
OiBtX3B0cihudWxscHRyKSB7IH0KLSAgICBleHBsaWNpdCBSZW5kZXJQdHIoVCogcHRyKSA6IG1f
cHRyKHB0cikgeyB9Ci0KLSAgICB+UmVuZGVyUHRyKCkKLSAgICB7Ci0gICAgICAgIGlmIChtX3B0
cikKLSAgICAgICAgICAgIG1fcHRyLT5kZXN0cm95KCk7Ci0gICAgfQotCi0gICAgUHRyVHlwZSBn
ZXQoKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotCi0gICAgdm9pZCBjbGVhcigpOwotICAgIFB0
clR5cGUgbGVha1B0cigpIFdBUk5fVU5VU0VEX1JFVFVSTjsKLQotICAgIFZhbHVlVHlwZSYgb3Bl
cmF0b3IqKCkgY29uc3QgeyBBU1NFUlQobV9wdHIpOyByZXR1cm4gKm1fcHRyOyB9Ci0gICAgUHRy
VHlwZSBvcGVyYXRvci0+KCkgY29uc3QgeyBBU1NFUlQobV9wdHIpOyByZXR1cm4gbV9wdHI7IH0K
LQotICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fcHRyOyB9Ci0KLSAgICAv
LyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8g
Ym9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCi0gICAgdHlwZWRlZiBQdHJUeXBl
IFJlbmRlclB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGU7Ci0gICAgb3BlcmF0b3IgVW5zcGVjaWZp
ZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlbmRlclB0cjo6bV9wdHIgOiBu
dWxscHRyOyB9Ci0KLSAgICBSZW5kZXJQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBj
bGVhcigpOyByZXR1cm4gKnRoaXM7IH0KLQotICAgIFJlbmRlclB0cihSZW5kZXJQdHImJik7Ci0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gUmVuZGVyUHRyKFJlbmRlclB0cjxVPiYmKTsKLQotICAg
IFJlbmRlclB0ciYgb3BlcmF0b3I9KFJlbmRlclB0ciYmKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBVPiBSZW5kZXJQdHImIG9wZXJhdG9yPShSZW5kZXJQdHI8VT4mJik7Ci0KLSAgICB2b2lkIHN3
YXAoUmVuZGVyUHRyJiBvKSB7IHN0ZDo6c3dhcChtX3B0ciwgby5tX3B0cik7IH0KLQotcHJpdmF0
ZToKLSAgICAvLyBXZSBzaG91bGQgbmV2ZXIgaGF2ZSB0d28gUmVuZGVyUHRycyBmb3IgdGhlIHNh
bWUgdW5kZXJseWluZyBvYmplY3QgKG90aGVyd2lzZSB3ZSdsbCBnZXQKLSAgICAvLyBkb3VibGUt
ZGVzdHJ1Y3Rpb24pLCBzbyB0aGVzZSBlcXVhbGl0eSBvcGVyYXRvcnMgc2hvdWxkIG5ldmVyIGJl
IG5lZWRlZC4KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UmVuZGVyUHRyPFU+JikgeyBDT01QSUxFX0FTU0VSVCghc2l6ZW9mKFUqKSwgUmVuZGVyUHRyc19z
aG91bGRfbmV2ZXJfYmVfZXF1YWwpOyByZXR1cm4gZmFsc2U7IH0KLSAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBVPiBib29sIG9wZXJhdG9yIT0oY29uc3QgUmVuZGVyUHRyPFU+JikgeyBDT01QSUxFX0FT
U0VSVCghc2l6ZW9mKFUqKSwgUmVuZGVyUHRyc19zaG91bGRfbmV2ZXJfYmVfZXF1YWwpOyByZXR1
cm4gZmFsc2U7IH0KLQotICAgIFB0clR5cGUgbV9wdHI7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBpbmxpbmUgdm9pZCBSZW5kZXJQdHI8VD46OmNsZWFyKCkKLXsKLSAgICBpZiAobV9wdHIp
Ci0gICAgICAgIG1fcHRyLT5kZXN0cm95KCk7Ci0gICAgbV9wdHIgPSBudWxscHRyOwotfQotCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUmVuZGVyUHRyPFQ+OjpQdHJUeXBl
IFJlbmRlclB0cjxUPjo6bGVha1B0cigpCi17Ci0gICAgUHRyVHlwZSBwdHIgPSBtX3B0cjsKLSAg
ICBtX3B0ciA9IG51bGxwdHI7Ci0gICAgcmV0dXJuIHB0cjsKLX0KLQotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gaW5saW5lIFJlbmRlclB0cjxUPjo6UmVuZGVyUHRyKFJlbmRlclB0cjxUPiYmIG8pCi0g
ICAgOiBtX3B0cihvLmxlYWtQdHIoKSkKLXsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVt
cGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIFJlbmRlclB0cjxUPjo6UmVuZGVyUHRyKFJlbmRlclB0
cjxVPiYmIG8pCi0gICAgOiBtX3B0cihvLmxlYWtQdHIoKSkKLXsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIGF1dG8gUmVuZGVyUHRyPFQ+OjpvcGVyYXRvcj0oUmVuZGVyUHRyJiYg
bykgLT4gUmVuZGVyUHRyJgorc3RydWN0IFJlbmRlck9iamVjdERlbGV0ZXIKIHsKLSAgICBBU1NF
UlQoIW8gfHwgbyAhPSBtX3B0cik7Ci0gICAgUmVuZGVyUHRyIHB0ciA9IFdURk1vdmUobyk7Ci0g
ICAgc3dhcChwdHIpOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gUmVuZGVyUHRyPFQ+OjpvcGVyYXRv
cj0oUmVuZGVyUHRyPFU+JiYgbykgLT4gUmVuZGVyUHRyJgotewotICAgIEFTU0VSVCghbyB8fCBv
ICE9IG1fcHRyKTsKLSAgICBSZW5kZXJQdHIgcHRyID0gV1RGTW92ZShvKTsKLSAgICBzd2FwKHB0
cik7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUg
dm9pZCBzd2FwKFJlbmRlclB0cjxUPiYgYSwgUmVuZGVyUHRyPFQ+JiBiKQotewotICAgIGEuc3dh
cChiKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBSZW5kZXJQdHI8VD4mIGEsIFUqIGIpCi17Ci0gICAgcmV0dXJuIGEu
Z2V0KCkgPT0gYjsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShUKiBhLCBjb25zdCBSZW5kZXJQdHI8VT4mIGIpIAotewotICAgIHJl
dHVybiBhID09IGIuZ2V0KCk7Ci19CisgICAgdm9pZCBvcGVyYXRvcigpIChSZW5kZXJPYmplY3Qq
KSBjb25zdDsKK307CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBi
b29sIG9wZXJhdG9yIT0oY29uc3QgUmVuZGVyUHRyPFQ+JiBhLCBVKiBiKQotewotICAgIHJldHVy
biBhLmdldCgpICE9IGI7Ci19Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdXNpbmcgUmVuZGVyUHRy
ID0gc3RkOjp1bmlxdWVfcHRyPFQsIFJlbmRlck9iamVjdERlbGV0ZXI+OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFQqIGEsIGNvbnN0
IFJlbmRlclB0cjxVPiYgYikKLXsKLSAgICByZXR1cm4gYSAhPSBiLmdldCgpOwotfQotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUmVuZGVyUHRyPFQ+OjpQdHJUeXBlIGdl
dFB0cihjb25zdCBSZW5kZXJQdHI8VD4mIHApCi17Ci0gICAgcmV0dXJuIHAuZ2V0KCk7Ci19Ci0K
LXRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzLi4uIEFyZ3M+IGlubGluZSBSZW5kZXJQdHI8VD4KLWNy
ZWF0ZVJlbmRlcmVyKEFyZ3MmJi4uLiBhcmdzKQordGVtcGxhdGU8dHlwZW5hbWUgVCwgY2xhc3Mu
Li4gQXJncz4gaW5saW5lIFJlbmRlclB0cjxUPiBjcmVhdGVSZW5kZXJlcihBcmdzJiYuLi4gYXJn
cykKIHsKICAgICByZXR1cm4gUmVuZGVyUHRyPFQ+KG5ldyBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihh
cmdzKS4uLikpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUg
UmVuZGVyUHRyPFQ+IHN0YXRpY19wb2ludGVyX2Nhc3QoUmVuZGVyUHRyPFU+JiYgcCkKIHsKLSAg
ICByZXR1cm4gUmVuZGVyUHRyPFQ+KHN0YXRpY19jYXN0PFQqPihwLmxlYWtQdHIoKSkpOworICAg
IHJldHVybiBSZW5kZXJQdHI8VD4oZG93bmNhc3Q8VD4ocC5yZWxlYXNlKCkpKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi1uYW1lc3BhY2UgV1RGIHsKLQotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UmVuZGVyUHRyPFQ+PiA6IFNpbXBsZUNs
YXNzSGFzaFRyYWl0czxXZWJDb3JlOjpSZW5kZXJQdHI8VD4+IHsKLSAgICB0eXBlZGVmIHN0ZDo6
bnVsbHB0cl90IEVtcHR5VmFsdWVUeXBlOwotICAgIHN0YXRpYyBFbXB0eVZhbHVlVHlwZSBlbXB0
eVZhbHVlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQotCi0gICAgdHlwZWRlZiBUKiBQZWVrVHlwZTsK
LSAgICBzdGF0aWMgVCogcGVlayhjb25zdCBXZWJDb3JlOjpSZW5kZXJQdHI8VD4mIHZhbHVlKSB7
IHJldHVybiB2YWx1ZS5nZXQoKTsgfQotICAgIHN0YXRpYyBUKiBwZWVrKHN0ZDo6bnVsbHB0cl90
KSB7IHJldHVybiBudWxscHRyOyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXVEYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322368</attachid>
            <date>2017-10-02 03:09:22 -0700</date>
            <delta_ts>2017-10-02 03:28:47 -0700</delta_ts>
            <desc>patch</desc>
            <filename>renderptr-type-alias-2.patch</filename>
            <type>text/plain</type>
            <size>10997</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjcwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE3LTEwLTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlbmRlclB0ciBhIHR5
cGUgYWxpYXMgb2Ygc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJdCBqdXN0IG5lZWRzIGEgY3VzdG9tIGRlbGV0ZXIuCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50
ZXJuYWwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmcmFnbWVudGVkRmxvd0Rl
c2NlbmRhbnRJbnNlcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OmhhbmRsZVNwYW5uZXJSZW1vdmFsKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdERlbGV0ZXI6Om9wZXJhdG9y
KCkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95
ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQdHIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnN0YXRpY19wb2ludGVyX2Nhc3Qp
OgorCisgICAgICAgICAgICBNYWtlIHRoaXMgc2FmZXIgd2l0aCBkb3duY2FzdC4KKworICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUHRyOjpSZW5kZXJQdHIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUHRyOjp+UmVuZGVyUHRyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclB0cjo6Z2V0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clB0cjo6b3BlcmF0b3IqIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clB0cjo6b3BlcmF0b3ItPiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQdHI6Om9wZXJhdG9yISBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQdHI6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyOjpvcGVyYXRvcj0pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyUHRyOjpzd2FwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclB0cjo6b3BlcmF0b3I9PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
dHI6Om9wZXJhdG9yIT0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyPFQ+
OjpjbGVhcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQdHI8VD46OmxlYWtQ
dHIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpzd2FwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3IhPSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpnZXRQdHIpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNv
cmU6OlJlbmRlclB0cjxUPj46OmVtcHR5VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpI
YXNoVHJhaXRzPFdlYkNvcmU6OlJlbmRlclB0cjxUPj46OnBlZWspOiBEZWxldGVkLgorCisgICAg
ICAgICAgICBXZSBhbHJlYWR5IGhhdmUgaGFzaCB0cmFpdHMgZm9yIHN0ZDo6dW5pcXVlX3B0ci4K
KwogMjAxNy0xMC0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBQYXN0ZWJvYXJkIHNob3VsZG4ndCBhZGQgIkZpbGVzIiBhcyBhIHR5cGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHB1YmxpYzoK
ICAgICAvLyBVbmxpa2UgY2xpZW50IGNvb3JkaW5hdGVzLCBsYXlvdXQgdmlld3BvcnQgY29vcmRp
bmF0ZXMgYXJlIGFmZmVjdGVkIGJ5IHBhZ2Ugem9vbS4KICAgICBGbG9hdFBvaW50IGNsaWVudFRv
TGF5b3V0Vmlld3BvcnRQb2ludChGbG9hdFBvaW50KSBjb25zdDsKIAotICAgIGJvb2wgaXNGcmFt
ZVZpZXdTY3JvbGxDb3JuZXIoY29uc3QgUmVuZGVyU2Nyb2xsYmFyUGFydCYgc2Nyb2xsQ29ybmVy
KSBjb25zdCB7IHJldHVybiBtX3Njcm9sbENvcm5lciA9PSAmc2Nyb2xsQ29ybmVyOyB9CisgICAg
Ym9vbCBpc0ZyYW1lVmlld1Njcm9sbENvcm5lcihjb25zdCBSZW5kZXJTY3JvbGxiYXJQYXJ0JiBz
Y3JvbGxDb3JuZXIpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQ29ybmVyLmdldCgpID09ICZzY3Jv
bGxDb3JuZXI7IH0KIAogICAgIC8vIGlzU2Nyb2xsYWJsZSgpIHRha2VzIGFuIG9wdGlvbmFsIFNj
cm9sbGFiaWxpdHkgcGFyYW1ldGVyIHRoYXQgYWxsb3dzIHRoZSBjYWxsZXIgdG8gZGVmaW5lIHdo
YXQgdGhleSBtZWFuIGJ5ICdzY3JvbGxhYmxlLicKICAgICAvLyBNb3N0IGNhbGxlcnMgYXJlIGlu
dGVyZXN0ZWQgaW4gdGhlIGRlZmF1bHQgdmFsdWUsIFNjcm9sbGFiaWxpdHk6OlNjcm9sbGFibGUs
IHdoaWNoIG1lYW5zIHRoYXQgdGhlcmUgaXMgYWN0dWFsbHkgY29udGVudApJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMjIyNjk4KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjMsNyArNTIzLDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjppbnNlcnRDaGlsZElu
dGVybmFsKAogICAgIEFTU0VSVCghYmVmb3JlQ2hpbGQgfHwgYmVmb3JlQ2hpbGQtPnBhcmVudCgp
ID09IHRoaXMpOwogCiAgICAgLy8gVGFrZSB0aGUgb3duZXJzaGlwLgotICAgIGF1dG8qIG5ld0No
aWxkID0gbmV3Q2hpbGRQdHIubGVha1B0cigpOworICAgIGF1dG8qIG5ld0NoaWxkID0gbmV3Q2hp
bGRQdHIucmVsZWFzZSgpOwogCiAgICAgbmV3Q2hpbGQtPnNldFBhcmVudCh0aGlzKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxv
dy5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtbkZsb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNyArNDMyLDcgQEAg
dm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZyYWdtZW50ZWRGbAogCiAgICAgICAgICAgICAg
ICAgYXV0byB0YWtlbkNoaWxkID0gcGxhY2Vob2xkZXIucGFyZW50KCktPnRha2VDaGlsZChwbGFj
ZWhvbGRlcik7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IE1lbW9yeSBtYW5hZ2VtZW50Lgot
ICAgICAgICAgICAgICAgIGF1dG8qIGxlYWtlblB0ciA9IHRha2VuQ2hpbGQubGVha1B0cigpOwor
ICAgICAgICAgICAgICAgIGF1dG8qIGxlYWtlblB0ciA9IHRha2VuQ2hpbGQucmVsZWFzZSgpOwog
ICAgICAgICAgICAgICAgIFVOVVNFRF9QQVJBTShsZWFrZW5QdHIpOwogCiAgICAgICAgICAgICAg
ICAgaWYgKHN1YnRyZWVSb290ID09IGRlc2NlbmRhbnQpCkBAIC00NTcsNyArNDU3LDcgQEAgdm9p
ZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmhhbmRsZVNwYW5uZQogICAgIGlmIChSZW5kZXJNdWx0
aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlciogcGxhY2Vob2xkZXIgPSBtX3NwYW5uZXJNYXAuZ2V0
KCZkb3duY2FzdDxSZW5kZXJCb3g+KHNwYW5uZXIpKS5nZXQoKSkgewogICAgICAgICBhdXRvIHRh
a2VuQ2hpbGQgPSBwbGFjZWhvbGRlci0+cGFyZW50KCktPnRha2VDaGlsZCgqcGxhY2Vob2xkZXIp
OwogICAgICAgICAvLyBGSVhNRTogTWVtb3J5IG1hbmFnZW1lbnQuCi0gICAgICAgIGF1dG8qIGxl
YWtlblB0ciA9IHRha2VuQ2hpbGQubGVha1B0cigpOworICAgICAgICBhdXRvKiBsZWFrZW5QdHIg
PSB0YWtlbkNoaWxkLnJlbGVhc2UoKTsKICAgICAgICAgVU5VU0VEX1BBUkFNKGxlYWtlblB0cik7
CiAKICAgICAgICAgbV9zcGFubmVyTWFwLnJlbW92ZSgmZG93bmNhc3Q8UmVuZGVyQm94PihzcGFu
bmVyKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAko
cmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgsMTEgQEAgQ09NUElMRV9BU1NFUlQo
c2l6ZW9mKFJlbmRlck9iamVjdCkgPT0gcwogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RG
OjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIHJlbmRlck9iamVjdENvdW50ZXIsICgiUmVuZGVyT2Jq
ZWN0IikpOwogCit2b2lkIFJlbmRlck9iamVjdERlbGV0ZXI6Om9wZXJhdG9yKCkgKFJlbmRlck9i
amVjdCogcmVuZGVyZXIpIGNvbnN0Cit7CisgICAgcmVuZGVyZXItPmRlc3Ryb3koKTsKK30KKwog
UmVuZGVyT2JqZWN0OjpSZW5kZXJPYmplY3QoTm9kZSYgbm9kZSkKICAgICA6IENhY2hlZEltYWdl
Q2xpZW50KCkKICAgICAsIG1fbm9kZShub2RlKQpAQCAtMTQzMSw3ICsxNDM2LDcgQEAgdm9pZCBS
ZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgaWYgKG1fcGFyZW50KSB7CiAgICAg
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhbHdheXMgYmVlbiByZW1vdmVkIGZyb20gdGhl
IHBhcmVudCBiZWZvcmUgYmVpbmcgZGVzdHJveWVkLgogICAgICAgICBhdXRvIHRha2VuVGhpcyA9
IG1fcGFyZW50LT50YWtlQ2hpbGQoKnRoaXMpOwotICAgICAgICBhdXRvKiBsZWFrZWRQdHIgPSB0
YWtlblRoaXMubGVha1B0cigpOworICAgICAgICBhdXRvKiBsZWFrZWRQdHIgPSB0YWtlblRoaXMu
cmVsZWFzZSgpOwogICAgICAgICBVTlVTRURfUEFSQU0obGVha2VkUHRyKTsKICAgICB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQdHIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHRyLmgJKHJldmlzaW9uIDIyMjY5OCkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQdHIuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUs
MTU0ICsyNSwyNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNp
bmNsdWRlIDxjc3RkZGVmPgotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CisjaW5jbHVkZSA8d3RmL1R5cGVD
YXN0cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlbmRlclB0ciB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBUIFZhbHVlVHlwZTsKLSAgICB0
eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKK2NsYXNzIFJlbmRlck9iamVjdDsKIAotICAgIFJl
bmRlclB0cigpIDogbV9wdHIobnVsbHB0cikgeyB9Ci0gICAgUmVuZGVyUHRyKHN0ZDo6bnVsbHB0
cl90KSA6IG1fcHRyKG51bGxwdHIpIHsgfQotICAgIGV4cGxpY2l0IFJlbmRlclB0cihUKiBwdHIp
IDogbV9wdHIocHRyKSB7IH0KLQotICAgIH5SZW5kZXJQdHIoKQotICAgIHsKLSAgICAgICAgaWYg
KG1fcHRyKQotICAgICAgICAgICAgbV9wdHItPmRlc3Ryb3koKTsKLSAgICB9Ci0KLSAgICBQdHJU
eXBlIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9Ci0KLSAgICB2b2lkIGNsZWFyKCk7Ci0g
ICAgUHRyVHlwZSBsZWFrUHRyKCkgV0FSTl9VTlVTRURfUkVUVVJOOwotCi0gICAgVmFsdWVUeXBl
JiBvcGVyYXRvciooKSBjb25zdCB7IEFTU0VSVChtX3B0cik7IHJldHVybiAqbV9wdHI7IH0KLSAg
ICBQdHJUeXBlIG9wZXJhdG9yLT4oKSBjb25zdCB7IEFTU0VSVChtX3B0cik7IHJldHVybiBtX3B0
cjsgfQotCi0gICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9wdHI7IH0KLQot
ICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lv
biB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSAgICB0eXBlZGVmIFB0
clR5cGUgUmVuZGVyUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKLSAgICBvcGVyYXRvciBVbnNw
ZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUmVuZGVyUHRyOjptX3B0
ciA6IG51bGxwdHI7IH0KLQotICAgIFJlbmRlclB0ciYgb3BlcmF0b3I9KHN0ZDo6bnVsbHB0cl90
KSB7IGNsZWFyKCk7IHJldHVybiAqdGhpczsgfQotCi0gICAgUmVuZGVyUHRyKFJlbmRlclB0ciYm
KTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBSZW5kZXJQdHIoUmVuZGVyUHRyPFU+JiYpOwot
Ci0gICAgUmVuZGVyUHRyJiBvcGVyYXRvcj0oUmVuZGVyUHRyJiYpOwotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFU+IFJlbmRlclB0ciYgb3BlcmF0b3I9KFJlbmRlclB0cjxVPiYmKTsKLQotICAgIHZv
aWQgc3dhcChSZW5kZXJQdHImIG8pIHsgc3RkOjpzd2FwKG1fcHRyLCBvLm1fcHRyKTsgfQotCi1w
cml2YXRlOgotICAgIC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIHR3byBSZW5kZXJQdHJzIGZvciB0
aGUgc2FtZSB1bmRlcmx5aW5nIG9iamVjdCAob3RoZXJ3aXNlIHdlJ2xsIGdldAotICAgIC8vIGRv
dWJsZS1kZXN0cnVjdGlvbiksIHNvIHRoZXNlIGVxdWFsaXR5IG9wZXJhdG9ycyBzaG91bGQgbmV2
ZXIgYmUgbmVlZGVkLgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGJvb2wgb3BlcmF0b3I9PShj
b25zdCBSZW5kZXJQdHI8VT4mKSB7IENPTVBJTEVfQVNTRVJUKCFzaXplb2YoVSopLCBSZW5kZXJQ
dHJzX3Nob3VsZF9uZXZlcl9iZV9lcXVhbCk7IHJldHVybiBmYWxzZTsgfQotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFU+IGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZW5kZXJQdHI8VT4mKSB7IENPTVBJ
TEVfQVNTRVJUKCFzaXplb2YoVSopLCBSZW5kZXJQdHJzX3Nob3VsZF9uZXZlcl9iZV9lcXVhbCk7
IHJldHVybiBmYWxzZTsgfQotCi0gICAgUHRyVHlwZSBtX3B0cjsKLX07Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGlubGluZSB2b2lkIFJlbmRlclB0cjxUPjo6Y2xlYXIoKQotewotICAgIGlmICht
X3B0cikKLSAgICAgICAgbV9wdHItPmRlc3Ryb3koKTsKLSAgICBtX3B0ciA9IG51bGxwdHI7Ci19
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB0eXBlbmFtZSBSZW5kZXJQdHI8VD46OlB0
clR5cGUgUmVuZGVyUHRyPFQ+OjpsZWFrUHRyKCkKLXsKLSAgICBQdHJUeXBlIHB0ciA9IG1fcHRy
OwotICAgIG1fcHRyID0gbnVsbHB0cjsKLSAgICByZXR1cm4gcHRyOwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBpbmxpbmUgUmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIoUmVuZGVyUHRyPFQ+JiYg
bykKLSAgICA6IG1fcHRyKG8ubGVha1B0cigpKQotewotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBU
PiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgUmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIoUmVu
ZGVyUHRyPFU+JiYgbykKLSAgICA6IG1fcHRyKG8ubGVha1B0cigpKQotewotfQotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgYXV0byBSZW5kZXJQdHI8VD46Om9wZXJhdG9yPShSZW5kZXJQ
dHImJiBvKSAtPiBSZW5kZXJQdHImCitzdHJ1Y3QgUmVuZGVyT2JqZWN0RGVsZXRlcgogewotICAg
IEFTU0VSVCghbyB8fCBvICE9IG1fcHRyKTsKLSAgICBSZW5kZXJQdHIgcHRyID0gV1RGTW92ZShv
KTsKLSAgICBzd2FwKHB0cik7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byBSZW5kZXJQdHI8VD46Om9w
ZXJhdG9yPShSZW5kZXJQdHI8VT4mJiBvKSAtPiBSZW5kZXJQdHImCi17Ci0gICAgQVNTRVJUKCFv
IHx8IG8gIT0gbV9wdHIpOwotICAgIFJlbmRlclB0ciBwdHIgPSBXVEZNb3ZlKG8pOwotICAgIHN3
YXAocHRyKTsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlu
bGluZSB2b2lkIHN3YXAoUmVuZGVyUHRyPFQ+JiBhLCBSZW5kZXJQdHI8VD4mIGIpCi17Ci0gICAg
YS5zd2FwKGIpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFJlbmRlclB0cjxUPiYgYSwgVSogYikKLXsKLSAgICByZXR1
cm4gYS5nZXQoKSA9PSBiOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KFQqIGEsIGNvbnN0IFJlbmRlclB0cjxVPiYgYikgCi17Ci0g
ICAgcmV0dXJuIGEgPT0gYi5nZXQoKTsKLX0KKyAgICB2b2lkIG9wZXJhdG9yKCkgKFJlbmRlck9i
amVjdCopIGNvbnN0OworfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5s
aW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZW5kZXJQdHI8VD4mIGEsIFUqIGIpCi17Ci0gICAg
cmV0dXJuIGEuZ2V0KCkgIT0gYjsKLX0KK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiB1c2luZyBSZW5k
ZXJQdHIgPSBzdGQ6OnVuaXF1ZV9wdHI8VCwgUmVuZGVyT2JqZWN0RGVsZXRlcj47CiAKLXRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yIT0oVCogYSwg
Y29uc3QgUmVuZGVyUHRyPFU+JiBiKQotewotICAgIHJldHVybiBhICE9IGIuZ2V0KCk7Ci19Ci0K
LXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB0eXBlbmFtZSBSZW5kZXJQdHI8VD46OlB0clR5
cGUgZ2V0UHRyKGNvbnN0IFJlbmRlclB0cjxUPiYgcCkKLXsKLSAgICByZXR1cm4gcC5nZXQoKTsK
LX0KLQotdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MuLi4gQXJncz4gaW5saW5lIFJlbmRlclB0cjxU
PgotY3JlYXRlUmVuZGVyZXIoQXJncyYmLi4uIGFyZ3MpCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBj
bGFzcy4uLiBBcmdzPiBpbmxpbmUgUmVuZGVyUHRyPFQ+IGNyZWF0ZVJlbmRlcmVyKEFyZ3MmJi4u
LiBhcmdzKQogewogICAgIHJldHVybiBSZW5kZXJQdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJkPEFy
Z3M+KGFyZ3MpLi4uKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlu
bGluZSBSZW5kZXJQdHI8VD4gc3RhdGljX3BvaW50ZXJfY2FzdChSZW5kZXJQdHI8VT4mJiBwKQog
ewotICAgIHJldHVybiBSZW5kZXJQdHI8VD4oc3RhdGljX2Nhc3Q8VCo+KHAubGVha1B0cigpKSk7
CisgICAgcmV0dXJuIFJlbmRlclB0cjxUPihkb3duY2FzdDxUPihwLnJlbGVhc2UoKSkpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLW5hbWVzcGFjZSBXVEYgewotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpSZW5kZXJQdHI8VD4+IDogU2lt
cGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlJlbmRlclB0cjxUPj4gewotICAgIHR5cGVkZWYg
c3RkOjpudWxscHRyX3QgRW1wdHlWYWx1ZVR5cGU7Ci0gICAgc3RhdGljIEVtcHR5VmFsdWVUeXBl
IGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9Ci0KLSAgICB0eXBlZGVmIFQqIFBlZWtU
eXBlOwotICAgIHN0YXRpYyBUKiBwZWVrKGNvbnN0IFdlYkNvcmU6OlJlbmRlclB0cjxUPiYgdmFs
dWUpIHsgcmV0dXJuIHZhbHVlLmdldCgpOyB9Ci0gICAgc3RhdGljIFQqIHBlZWsoc3RkOjpudWxs
cHRyX3QpIHsgcmV0dXJuIG51bGxwdHI7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322370</attachid>
            <date>2017-10-02 04:24:06 -0700</date>
            <delta_ts>2017-10-02 11:38:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>renderptr-type-alias-3.patch</filename>
            <type>text/plain</type>
            <size>11562</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjcwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE3LTEwLTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlbmRlclB0ciBhIHR5
cGUgYWxpYXMgb2Ygc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJdCBqdXN0IG5lZWRzIGEgY3VzdG9tIGRlbGV0ZXIuCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50
ZXJuYWwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmcmFnbWVudGVkRmxvd0Rl
c2NlbmRhbnRJbnNlcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OmhhbmRsZVNwYW5uZXJSZW1vdmFsKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdERlbGV0ZXI6Om9wZXJhdG9y
KCkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95
ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQdHIuaDoKKyAgICAgICAgKFdlYkNvcmU6
OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnN0YXRpY19wb2ludGVyX2Nhc3Qp
OgorCisgICAgICAgICAgICBNYWtlIHRoaXMgc2FmZXIgd2l0aCBkb3duY2FzdC4KKworICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyUHRyOjpSZW5kZXJQdHIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUHRyOjp+UmVuZGVyUHRyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclB0cjo6Z2V0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clB0cjo6b3BlcmF0b3IqIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clB0cjo6b3BlcmF0b3ItPiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQdHI6Om9wZXJhdG9yISBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJQdHI6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyOjpvcGVyYXRvcj0pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyUHRyOjpzd2FwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclB0cjo6b3BlcmF0b3I9PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
dHI6Om9wZXJhdG9yIT0pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyPFQ+
OjpjbGVhcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQdHI8VD46OmxlYWtQ
dHIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6PSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpzd2FwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3IhPSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpnZXRQdHIpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpIYXNoVHJhaXRzPFdlYkNv
cmU6OlJlbmRlclB0cjxUPj46OmVtcHR5VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpI
YXNoVHJhaXRzPFdlYkNvcmU6OlJlbmRlclB0cjxUPj46OnBlZWspOiBEZWxldGVkLgorCisgICAg
ICAgICAgICBXZSBhbHJlYWR5IGhhdmUgaGFzaCB0cmFpdHMgZm9yIHN0ZDo6dW5pcXVlX3B0ci4K
KwogMjAxNy0xMC0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBQYXN0ZWJvYXJkIHNob3VsZG4ndCBhZGQgIkZpbGVzIiBhcyBhIHR5cGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI1OSw3ICsyMjU5LDEwIEBAIHZvaWQg
RG9jdW1lbnQ6OmRlc3Ryb3lSZW5kZXJUcmVlKCkKIAogICAgIHVuc2NoZWR1bGVTdHlsZVJlY2Fs
YygpOwogCi0gICAgbV9yZW5kZXJWaWV3ID0gbnVsbHB0cjsKKyAgICAvLyBGSVhNRTogUmVuZGVy
T2JqZWN0Ojp2aWV3KCkgdXNlcyBtX3JlbmRlclZpZXcgYW5kIHdlIGNhbid0IG51bGwgaXQgYmVm
b3JlIGRlc3RydWN0aW9uIGlzIGNvbXBsZXRlZAorICAgIG1fcmVuZGVyVmlldy0+ZGVzdHJveSgp
OworICAgIG1fcmVuZGVyVmlldy5yZWxlYXNlKCk7CisKICAgICBOb2RlOjpzZXRSZW5kZXJlcihu
dWxscHRyKTsKIAogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4Myw3ICs0ODMsNyBAQCBwdWJsaWM6CiAgICAg
Ly8gVW5saWtlIGNsaWVudCBjb29yZGluYXRlcywgbGF5b3V0IHZpZXdwb3J0IGNvb3JkaW5hdGVz
IGFyZSBhZmZlY3RlZCBieSBwYWdlIHpvb20uCiAgICAgRmxvYXRQb2ludCBjbGllbnRUb0xheW91
dFZpZXdwb3J0UG9pbnQoRmxvYXRQb2ludCkgY29uc3Q7CiAKLSAgICBib29sIGlzRnJhbWVWaWV3
U2Nyb2xsQ29ybmVyKGNvbnN0IFJlbmRlclNjcm9sbGJhclBhcnQmIHNjcm9sbENvcm5lcikgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxDb3JuZXIgPT0gJnNjcm9sbENvcm5lcjsgfQorICAgIGJvb2wg
aXNGcmFtZVZpZXdTY3JvbGxDb3JuZXIoY29uc3QgUmVuZGVyU2Nyb2xsYmFyUGFydCYgc2Nyb2xs
Q29ybmVyKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbENvcm5lci5nZXQoKSA9PSAmc2Nyb2xsQ29y
bmVyOyB9CiAKICAgICAvLyBpc1Njcm9sbGFibGUoKSB0YWtlcyBhbiBvcHRpb25hbCBTY3JvbGxh
YmlsaXR5IHBhcmFtZXRlciB0aGF0IGFsbG93cyB0aGUgY2FsbGVyIHRvIGRlZmluZSB3aGF0IHRo
ZXkgbWVhbiBieSAnc2Nyb2xsYWJsZS4nCiAgICAgLy8gTW9zdCBjYWxsZXJzIGFyZSBpbnRlcmVz
dGVkIGluIHRoZSBkZWZhdWx0IHZhbHVlLCBTY3JvbGxhYmlsaXR5OjpTY3JvbGxhYmxlLCB3aGlj
aCBtZWFucyB0aGF0IHRoZXJlIGlzIGFjdHVhbGx5IGNvbnRlbnQKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTIzLDcgKzUyMyw3IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6aW5zZXJ0Q2hpbGRJbnRlcm5h
bCgKICAgICBBU1NFUlQoIWJlZm9yZUNoaWxkIHx8IGJlZm9yZUNoaWxkLT5wYXJlbnQoKSA9PSB0
aGlzKTsKIAogICAgIC8vIFRha2UgdGhlIG93bmVyc2hpcC4KLSAgICBhdXRvKiBuZXdDaGlsZCA9
IG5ld0NoaWxkUHRyLmxlYWtQdHIoKTsKKyAgICBhdXRvKiBuZXdDaGlsZCA9IG5ld0NoaWxkUHRy
LnJlbGVhc2UoKTsKIAogICAgIG5ld0NoaWxkLT5zZXRQYXJlbnQodGhpcyk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3Bw
CShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMyLDcgKzQzMiw3IEBAIHZvaWQg
UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmcmFnbWVudGVkRmwKIAogICAgICAgICAgICAgICAgIGF1
dG8gdGFrZW5DaGlsZCA9IHBsYWNlaG9sZGVyLnBhcmVudCgpLT50YWtlQ2hpbGQocGxhY2Vob2xk
ZXIpOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBNZW1vcnkgbWFuYWdlbWVudC4KLSAgICAg
ICAgICAgICAgICBhdXRvKiBsZWFrZW5QdHIgPSB0YWtlbkNoaWxkLmxlYWtQdHIoKTsKKyAgICAg
ICAgICAgICAgICBhdXRvKiBsZWFrZW5QdHIgPSB0YWtlbkNoaWxkLnJlbGVhc2UoKTsKICAgICAg
ICAgICAgICAgICBVTlVTRURfUEFSQU0obGVha2VuUHRyKTsKIAogICAgICAgICAgICAgICAgIGlm
IChzdWJ0cmVlUm9vdCA9PSBkZXNjZW5kYW50KQpAQCAtNDU3LDcgKzQ1Nyw3IEBAIHZvaWQgUmVu
ZGVyTXVsdGlDb2x1bW5GbG93OjpoYW5kbGVTcGFubmUKICAgICBpZiAoUmVuZGVyTXVsdGlDb2x1
bW5TcGFubmVyUGxhY2Vob2xkZXIqIHBsYWNlaG9sZGVyID0gbV9zcGFubmVyTWFwLmdldCgmZG93
bmNhc3Q8UmVuZGVyQm94PihzcGFubmVyKSkuZ2V0KCkpIHsKICAgICAgICAgYXV0byB0YWtlbkNo
aWxkID0gcGxhY2Vob2xkZXItPnBhcmVudCgpLT50YWtlQ2hpbGQoKnBsYWNlaG9sZGVyKTsKICAg
ICAgICAgLy8gRklYTUU6IE1lbW9yeSBtYW5hZ2VtZW50LgotICAgICAgICBhdXRvKiBsZWFrZW5Q
dHIgPSB0YWtlbkNoaWxkLmxlYWtQdHIoKTsKKyAgICAgICAgYXV0byogbGVha2VuUHRyID0gdGFr
ZW5DaGlsZC5yZWxlYXNlKCk7CiAgICAgICAgIFVOVVNFRF9QQVJBTShsZWFrZW5QdHIpOwogCiAg
ICAgICAgIG1fc3Bhbm5lck1hcC5yZW1vdmUoJmRvd25jYXN0PFJlbmRlckJveD4oc3Bhbm5lcikp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHJldmlz
aW9uIDIyMjY5OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNiArMTA4LDExIEBAIENPTVBJTEVfQVNTRVJUKHNpemVv
ZihSZW5kZXJPYmplY3QpID09IHMKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVm
Q291bnRlZExlYWtDb3VudGVyLCByZW5kZXJPYmplY3RDb3VudGVyLCAoIlJlbmRlck9iamVjdCIp
KTsKIAordm9pZCBSZW5kZXJPYmplY3REZWxldGVyOjpvcGVyYXRvcigpIChSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyKSBjb25zdAoreworICAgIHJlbmRlcmVyLT5kZXN0cm95KCk7Cit9CisKIFJlbmRl
ck9iamVjdDo6UmVuZGVyT2JqZWN0KE5vZGUmIG5vZGUpCiAgICAgOiBDYWNoZWRJbWFnZUNsaWVu
dCgpCiAgICAgLCBtX25vZGUobm9kZSkKQEAgLTE0MzEsNyArMTQzNiw3IEBAIHZvaWQgUmVuZGVy
T2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQoKQogICAgIGlmIChtX3BhcmVudCkgewogICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYWx3YXlzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBwYXJl
bnQgYmVmb3JlIGJlaW5nIGRlc3Ryb3llZC4KICAgICAgICAgYXV0byB0YWtlblRoaXMgPSBtX3Bh
cmVudC0+dGFrZUNoaWxkKCp0aGlzKTsKLSAgICAgICAgYXV0byogbGVha2VkUHRyID0gdGFrZW5U
aGlzLmxlYWtQdHIoKTsKKyAgICAgICAgYXV0byogbGVha2VkUHRyID0gdGFrZW5UaGlzLnJlbGVh
c2UoKTsKICAgICAgICAgVU5VU0VEX1BBUkFNKGxlYWtlZFB0cik7CiAgICAgfQogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHRyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclB0ci5oCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDE1NCAr
MjUsMjcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVk
ZSA8Y3N0ZGRlZj4KLSNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBS
ZW5kZXJQdHIgewotcHVibGljOgotICAgIHR5cGVkZWYgVCBWYWx1ZVR5cGU7Ci0gICAgdHlwZWRl
ZiBWYWx1ZVR5cGUqIFB0clR5cGU7CitjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLSAgICBSZW5kZXJQ
dHIoKSA6IG1fcHRyKG51bGxwdHIpIHsgfQotICAgIFJlbmRlclB0cihzdGQ6Om51bGxwdHJfdCkg
OiBtX3B0cihudWxscHRyKSB7IH0KLSAgICBleHBsaWNpdCBSZW5kZXJQdHIoVCogcHRyKSA6IG1f
cHRyKHB0cikgeyB9Ci0KLSAgICB+UmVuZGVyUHRyKCkKLSAgICB7Ci0gICAgICAgIGlmIChtX3B0
cikKLSAgICAgICAgICAgIG1fcHRyLT5kZXN0cm95KCk7Ci0gICAgfQotCi0gICAgUHRyVHlwZSBn
ZXQoKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotCi0gICAgdm9pZCBjbGVhcigpOwotICAgIFB0
clR5cGUgbGVha1B0cigpIFdBUk5fVU5VU0VEX1JFVFVSTjsKLQotICAgIFZhbHVlVHlwZSYgb3Bl
cmF0b3IqKCkgY29uc3QgeyBBU1NFUlQobV9wdHIpOyByZXR1cm4gKm1fcHRyOyB9Ci0gICAgUHRy
VHlwZSBvcGVyYXRvci0+KCkgY29uc3QgeyBBU1NFUlQobV9wdHIpOyByZXR1cm4gbV9wdHI7IH0K
LQotICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fcHRyOyB9Ci0KLSAgICAv
LyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8g
Ym9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCi0gICAgdHlwZWRlZiBQdHJUeXBl
IFJlbmRlclB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGU7Ci0gICAgb3BlcmF0b3IgVW5zcGVjaWZp
ZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlbmRlclB0cjo6bV9wdHIgOiBu
dWxscHRyOyB9Ci0KLSAgICBSZW5kZXJQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBj
bGVhcigpOyByZXR1cm4gKnRoaXM7IH0KLQotICAgIFJlbmRlclB0cihSZW5kZXJQdHImJik7Ci0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gUmVuZGVyUHRyKFJlbmRlclB0cjxVPiYmKTsKLQotICAg
IFJlbmRlclB0ciYgb3BlcmF0b3I9KFJlbmRlclB0ciYmKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBVPiBSZW5kZXJQdHImIG9wZXJhdG9yPShSZW5kZXJQdHI8VT4mJik7Ci0KLSAgICB2b2lkIHN3
YXAoUmVuZGVyUHRyJiBvKSB7IHN0ZDo6c3dhcChtX3B0ciwgby5tX3B0cik7IH0KLQotcHJpdmF0
ZToKLSAgICAvLyBXZSBzaG91bGQgbmV2ZXIgaGF2ZSB0d28gUmVuZGVyUHRycyBmb3IgdGhlIHNh
bWUgdW5kZXJseWluZyBvYmplY3QgKG90aGVyd2lzZSB3ZSdsbCBnZXQKLSAgICAvLyBkb3VibGUt
ZGVzdHJ1Y3Rpb24pLCBzbyB0aGVzZSBlcXVhbGl0eSBvcGVyYXRvcnMgc2hvdWxkIG5ldmVyIGJl
IG5lZWRlZC4KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UmVuZGVyUHRyPFU+JikgeyBDT01QSUxFX0FTU0VSVCghc2l6ZW9mKFUqKSwgUmVuZGVyUHRyc19z
aG91bGRfbmV2ZXJfYmVfZXF1YWwpOyByZXR1cm4gZmFsc2U7IH0KLSAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBVPiBib29sIG9wZXJhdG9yIT0oY29uc3QgUmVuZGVyUHRyPFU+JikgeyBDT01QSUxFX0FT
U0VSVCghc2l6ZW9mKFUqKSwgUmVuZGVyUHRyc19zaG91bGRfbmV2ZXJfYmVfZXF1YWwpOyByZXR1
cm4gZmFsc2U7IH0KLQotICAgIFB0clR5cGUgbV9wdHI7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBpbmxpbmUgdm9pZCBSZW5kZXJQdHI8VD46OmNsZWFyKCkKLXsKLSAgICBpZiAobV9wdHIp
Ci0gICAgICAgIG1fcHRyLT5kZXN0cm95KCk7Ci0gICAgbV9wdHIgPSBudWxscHRyOwotfQotCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUmVuZGVyUHRyPFQ+OjpQdHJUeXBl
IFJlbmRlclB0cjxUPjo6bGVha1B0cigpCi17Ci0gICAgUHRyVHlwZSBwdHIgPSBtX3B0cjsKLSAg
ICBtX3B0ciA9IG51bGxwdHI7Ci0gICAgcmV0dXJuIHB0cjsKLX0KLQotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gaW5saW5lIFJlbmRlclB0cjxUPjo6UmVuZGVyUHRyKFJlbmRlclB0cjxUPiYmIG8pCi0g
ICAgOiBtX3B0cihvLmxlYWtQdHIoKSkKLXsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVt
cGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIFJlbmRlclB0cjxUPjo6UmVuZGVyUHRyKFJlbmRlclB0
cjxVPiYmIG8pCi0gICAgOiBtX3B0cihvLmxlYWtQdHIoKSkKLXsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gaW5saW5lIGF1dG8gUmVuZGVyUHRyPFQ+OjpvcGVyYXRvcj0oUmVuZGVyUHRyJiYg
bykgLT4gUmVuZGVyUHRyJgorc3RydWN0IFJlbmRlck9iamVjdERlbGV0ZXIKIHsKLSAgICBBU1NF
UlQoIW8gfHwgbyAhPSBtX3B0cik7Ci0gICAgUmVuZGVyUHRyIHB0ciA9IFdURk1vdmUobyk7Ci0g
ICAgc3dhcChwdHIpOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gUmVuZGVyUHRyPFQ+OjpvcGVyYXRv
cj0oUmVuZGVyUHRyPFU+JiYgbykgLT4gUmVuZGVyUHRyJgotewotICAgIEFTU0VSVCghbyB8fCBv
ICE9IG1fcHRyKTsKLSAgICBSZW5kZXJQdHIgcHRyID0gV1RGTW92ZShvKTsKLSAgICBzd2FwKHB0
cik7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUg
dm9pZCBzd2FwKFJlbmRlclB0cjxUPiYgYSwgUmVuZGVyUHRyPFQ+JiBiKQotewotICAgIGEuc3dh
cChiKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBSZW5kZXJQdHI8VD4mIGEsIFUqIGIpCi17Ci0gICAgcmV0dXJuIGEu
Z2V0KCkgPT0gYjsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShUKiBhLCBjb25zdCBSZW5kZXJQdHI8VT4mIGIpIAotewotICAgIHJl
dHVybiBhID09IGIuZ2V0KCk7Ci19CisgICAgdm9pZCBvcGVyYXRvcigpIChSZW5kZXJPYmplY3Qq
KSBjb25zdDsKK307CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBi
b29sIG9wZXJhdG9yIT0oY29uc3QgUmVuZGVyUHRyPFQ+JiBhLCBVKiBiKQotewotICAgIHJldHVy
biBhLmdldCgpICE9IGI7Ci19Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdXNpbmcgUmVuZGVyUHRy
ID0gc3RkOjp1bmlxdWVfcHRyPFQsIFJlbmRlck9iamVjdERlbGV0ZXI+OwogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFQqIGEsIGNvbnN0
IFJlbmRlclB0cjxVPiYgYikKLXsKLSAgICByZXR1cm4gYSAhPSBiLmdldCgpOwotfQotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUmVuZGVyUHRyPFQ+OjpQdHJUeXBlIGdl
dFB0cihjb25zdCBSZW5kZXJQdHI8VD4mIHApCi17Ci0gICAgcmV0dXJuIHAuZ2V0KCk7Ci19Ci0K
LXRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzLi4uIEFyZ3M+IGlubGluZSBSZW5kZXJQdHI8VD4KLWNy
ZWF0ZVJlbmRlcmVyKEFyZ3MmJi4uLiBhcmdzKQordGVtcGxhdGU8dHlwZW5hbWUgVCwgY2xhc3Mu
Li4gQXJncz4gaW5saW5lIFJlbmRlclB0cjxUPiBjcmVhdGVSZW5kZXJlcihBcmdzJiYuLi4gYXJn
cykKIHsKICAgICByZXR1cm4gUmVuZGVyUHRyPFQ+KG5ldyBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihh
cmdzKS4uLikpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUg
UmVuZGVyUHRyPFQ+IHN0YXRpY19wb2ludGVyX2Nhc3QoUmVuZGVyUHRyPFU+JiYgcCkKIHsKLSAg
ICByZXR1cm4gUmVuZGVyUHRyPFQ+KHN0YXRpY19jYXN0PFQqPihwLmxlYWtQdHIoKSkpOworICAg
IHJldHVybiBSZW5kZXJQdHI8VD4oZG93bmNhc3Q8VD4ocC5yZWxlYXNlKCkpKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi1uYW1lc3BhY2UgV1RGIHsKLQotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UmVuZGVyUHRyPFQ+PiA6IFNpbXBsZUNs
YXNzSGFzaFRyYWl0czxXZWJDb3JlOjpSZW5kZXJQdHI8VD4+IHsKLSAgICB0eXBlZGVmIHN0ZDo6
bnVsbHB0cl90IEVtcHR5VmFsdWVUeXBlOwotICAgIHN0YXRpYyBFbXB0eVZhbHVlVHlwZSBlbXB0
eVZhbHVlKCkgeyByZXR1cm4gbnVsbHB0cjsgfQotCi0gICAgdHlwZWRlZiBUKiBQZWVrVHlwZTsK
LSAgICBzdGF0aWMgVCogcGVlayhjb25zdCBXZWJDb3JlOjpSZW5kZXJQdHI8VD4mIHZhbHVlKSB7
IHJldHVybiB2YWx1ZS5nZXQoKTsgfQotICAgIHN0YXRpYyBUKiBwZWVrKHN0ZDo6bnVsbHB0cl90
KSB7IHJldHVybiBudWxscHRyOyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXVEYK
</data>
<flag name="review"
          id="342241"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322402</attachid>
            <date>2017-10-02 11:38:40 -0700</date>
            <delta_ts>2017-10-02 14:06:35 -0700</delta_ts>
            <desc>for landing</desc>
            <filename>renderptr-type-alias-4.patch</filename>
            <type>text/plain</type>
            <size>10430</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjcyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE3LTEwLTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlbmRlclB0ciBhIHR5
cGUgYWxpYXMgb2Ygc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vp
bmlnLgorCisgICAgICAgIEl0IGp1c3QgbmVlZHMgYSBjdXN0b20gZGVsZXRlci4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aW5zZXJ0Q2hpbGRJbnRlcm5h
bCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZyYWdtZW50ZWRGbG93RGVzY2Vu
ZGFudEluc2VydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6
aGFuZGxlU3Bhbm5lclJlbW92YWwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0RGVsZXRlcjo6b3BlcmF0b3IoKSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclB0ci5oOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6c3RhdGljX3BvaW50ZXJfY2FzdCk6CisK
KyAgICAgICAgICAgIE1ha2UgdGhpcyBzYWZlciB3aXRoIGRvd25jYXN0LgorCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJQdHI6OlJlbmRlclB0cik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJQdHI6On5SZW5kZXJQdHIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyUHRyOjpnZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRy
OjpvcGVyYXRvciogY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHRy
OjpvcGVyYXRvci0+IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclB0
cjo6b3BlcmF0b3IhIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclB0
cjo6b3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQdHI6Om9wZXJhdG9yPSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJQdHI6OnN3YXApOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
UHRyOjpvcGVyYXRvcj09KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclB0cjo6
b3BlcmF0b3IhPSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQdHI8VD46OmNs
ZWFyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclB0cjxUPjo6bGVha1B0cik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQdHI8VD46OlJlbmRlclB0cik6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjo9KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OnN3YXApOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvciE9KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OmdldFB0cik6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hUcmFpdHM8V2ViQ29yZTo6
UmVuZGVyUHRyPFQ+Pjo6ZW1wdHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hU
cmFpdHM8V2ViQ29yZTo6UmVuZGVyUHRyPFQ+Pjo6cGVlayk6IERlbGV0ZWQuCisKKyAgICAgICAg
ICAgIFdlIGFscmVhZHkgaGF2ZSBoYXNoIHRyYWl0cyBmb3Igc3RkOjp1bmlxdWVfcHRyLgorCiAy
MDE3LTEwLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBD
cmFzaGVzIHdpdGggZ3VhcmQgbWFsbG9jIHVuZGVyIFJlbmRlckZ1bGxTY3JlZW46OnVud3JhcFJl
bmRlcmVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDIyMjcyNikKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNTks
NyArMjI1OSwxMCBAQCB2b2lkIERvY3VtZW50OjpkZXN0cm95UmVuZGVyVHJlZSgpCiAKICAgICB1
bnNjaGVkdWxlU3R5bGVSZWNhbGMoKTsKIAotICAgIG1fcmVuZGVyVmlldyA9IG51bGxwdHI7Cisg
ICAgLy8gRklYTUU6IFJlbmRlck9iamVjdDo6dmlldygpIHVzZXMgbV9yZW5kZXJWaWV3IGFuZCB3
ZSBjYW4ndCBudWxsIGl0IGJlZm9yZSBkZXN0cnVjdGlvbiBpcyBjb21wbGV0ZWQKKyAgICBtX3Jl
bmRlclZpZXctPmRlc3Ryb3koKTsKKyAgICBtX3JlbmRlclZpZXcucmVsZWFzZSgpOworCiAgICAg
Tm9kZTo6c2V0UmVuZGVyZXIobnVsbHB0cik7CiAKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyMjI3MjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODMsNyArNDgz
LDcgQEAgcHVibGljOgogICAgIC8vIFVubGlrZSBjbGllbnQgY29vcmRpbmF0ZXMsIGxheW91dCB2
aWV3cG9ydCBjb29yZGluYXRlcyBhcmUgYWZmZWN0ZWQgYnkgcGFnZSB6b29tLgogICAgIEZsb2F0
UG9pbnQgY2xpZW50VG9MYXlvdXRWaWV3cG9ydFBvaW50KEZsb2F0UG9pbnQpIGNvbnN0OwogCi0g
ICAgYm9vbCBpc0ZyYW1lVmlld1Njcm9sbENvcm5lcihjb25zdCBSZW5kZXJTY3JvbGxiYXJQYXJ0
JiBzY3JvbGxDb3JuZXIpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsQ29ybmVyID09ICZzY3JvbGxD
b3JuZXI7IH0KKyAgICBib29sIGlzRnJhbWVWaWV3U2Nyb2xsQ29ybmVyKGNvbnN0IFJlbmRlclNj
cm9sbGJhclBhcnQmIHNjcm9sbENvcm5lcikgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxDb3JuZXIu
Z2V0KCkgPT0gJnNjcm9sbENvcm5lcjsgfQogCiAgICAgLy8gaXNTY3JvbGxhYmxlKCkgdGFrZXMg
YW4gb3B0aW9uYWwgU2Nyb2xsYWJpbGl0eSBwYXJhbWV0ZXIgdGhhdCBhbGxvd3MgdGhlIGNhbGxl
ciB0byBkZWZpbmUgd2hhdCB0aGV5IG1lYW4gYnkgJ3Njcm9sbGFibGUuJwogICAgIC8vIE1vc3Qg
Y2FsbGVycyBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgZGVmYXVsdCB2YWx1ZSwgU2Nyb2xsYWJpbGl0
eTo6U2Nyb2xsYWJsZSwgd2hpY2ggbWVhbnMgdGhhdCB0aGVyZSBpcyBhY3R1YWxseSBjb250ZW50
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCShyZXZp
c2lvbiAyMjI3MjYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMyw3ICs1MjMsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6
Omluc2VydENoaWxkSW50ZXJuYWwoCiAgICAgQVNTRVJUKCFiZWZvcmVDaGlsZCB8fCBiZWZvcmVD
aGlsZC0+cGFyZW50KCkgPT0gdGhpcyk7CiAKICAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCi0g
ICAgYXV0byogbmV3Q2hpbGQgPSBuZXdDaGlsZFB0ci5sZWFrUHRyKCk7CisgICAgYXV0byogbmV3
Q2hpbGQgPSBuZXdDaGlsZFB0ci5yZWxlYXNlKCk7CiAKICAgICBuZXdDaGlsZC0+c2V0UGFyZW50
KHRoaXMpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAkocmV2aXNpb24gMjIyNzI2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgsMTEgQEAgQ09NUElMRV9BU1NF
UlQoc2l6ZW9mKFJlbmRlck9iamVjdCkgPT0gcwogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwo
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIHJlbmRlck9iamVjdENvdW50ZXIsICgiUmVuZGVy
T2JqZWN0IikpOwogCit2b2lkIFJlbmRlck9iamVjdERlbGV0ZXI6Om9wZXJhdG9yKCkgKFJlbmRl
ck9iamVjdCogcmVuZGVyZXIpIGNvbnN0Cit7CisgICAgcmVuZGVyZXItPmRlc3Ryb3koKTsKK30K
KwogUmVuZGVyT2JqZWN0OjpSZW5kZXJPYmplY3QoTm9kZSYgbm9kZSkKICAgICA6IENhY2hlZElt
YWdlQ2xpZW50KCkKICAgICAsIG1fbm9kZShub2RlKQpAQCAtMTQzMSw3ICsxNDM2LDcgQEAgdm9p
ZCBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgaWYgKG1fcGFyZW50KSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhbHdheXMgYmVlbiByZW1vdmVkIGZyb20g
dGhlIHBhcmVudCBiZWZvcmUgYmVpbmcgZGVzdHJveWVkLgogICAgICAgICBhdXRvIHRha2VuVGhp
cyA9IG1fcGFyZW50LT50YWtlQ2hpbGQoKnRoaXMpOwotICAgICAgICBhdXRvKiBsZWFrZWRQdHIg
PSB0YWtlblRoaXMubGVha1B0cigpOworICAgICAgICBhdXRvKiBsZWFrZWRQdHIgPSB0YWtlblRo
aXMucmVsZWFzZSgpOwogICAgICAgICBVTlVTRURfUEFSQU0obGVha2VkUHRyKTsKICAgICB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQdHIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHRyLmgJKHJldmlzaW9uIDIyMjcyNikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQdHIuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjUsMTU0ICsyNSwyNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgPGFsZ29yaXRobT4K
LSNpbmNsdWRlIDxjc3RkZGVmPgotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CisjaW5jbHVkZSA8d3RmL1R5
cGVDYXN0cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFJlbmRlclB0ciB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBUIFZhbHVlVHlwZTsKLSAg
ICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKK2NsYXNzIFJlbmRlck9iamVjdDsKIAotICAg
IFJlbmRlclB0cigpIDogbV9wdHIobnVsbHB0cikgeyB9Ci0gICAgUmVuZGVyUHRyKHN0ZDo6bnVs
bHB0cl90KSA6IG1fcHRyKG51bGxwdHIpIHsgfQotICAgIGV4cGxpY2l0IFJlbmRlclB0cihUKiBw
dHIpIDogbV9wdHIocHRyKSB7IH0KLQotICAgIH5SZW5kZXJQdHIoKQotICAgIHsKLSAgICAgICAg
aWYgKG1fcHRyKQotICAgICAgICAgICAgbV9wdHItPmRlc3Ryb3koKTsKLSAgICB9Ci0KLSAgICBQ
dHJUeXBlIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9Ci0KLSAgICB2b2lkIGNsZWFyKCk7
Ci0gICAgUHRyVHlwZSBsZWFrUHRyKCkgV0FSTl9VTlVTRURfUkVUVVJOOwotCi0gICAgVmFsdWVU
eXBlJiBvcGVyYXRvciooKSBjb25zdCB7IEFTU0VSVChtX3B0cik7IHJldHVybiAqbV9wdHI7IH0K
LSAgICBQdHJUeXBlIG9wZXJhdG9yLT4oKSBjb25zdCB7IEFTU0VSVChtX3B0cik7IHJldHVybiBt
X3B0cjsgfQotCi0gICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9wdHI7IH0K
LQotICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVy
c2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSAgICB0eXBlZGVm
IFB0clR5cGUgUmVuZGVyUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKLSAgICBvcGVyYXRvciBV
bnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUmVuZGVyUHRyOjpt
X3B0ciA6IG51bGxwdHI7IH0KLQotICAgIFJlbmRlclB0ciYgb3BlcmF0b3I9KHN0ZDo6bnVsbHB0
cl90KSB7IGNsZWFyKCk7IHJldHVybiAqdGhpczsgfQotCi0gICAgUmVuZGVyUHRyKFJlbmRlclB0
ciYmKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBSZW5kZXJQdHIoUmVuZGVyUHRyPFU+JiYp
OwotCi0gICAgUmVuZGVyUHRyJiBvcGVyYXRvcj0oUmVuZGVyUHRyJiYpOwotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFU+IFJlbmRlclB0ciYgb3BlcmF0b3I9KFJlbmRlclB0cjxVPiYmKTsKLQotICAg
IHZvaWQgc3dhcChSZW5kZXJQdHImIG8pIHsgc3RkOjpzd2FwKG1fcHRyLCBvLm1fcHRyKTsgfQot
Ci1wcml2YXRlOgotICAgIC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIHR3byBSZW5kZXJQdHJzIGZv
ciB0aGUgc2FtZSB1bmRlcmx5aW5nIG9iamVjdCAob3RoZXJ3aXNlIHdlJ2xsIGdldAotICAgIC8v
IGRvdWJsZS1kZXN0cnVjdGlvbiksIHNvIHRoZXNlIGVxdWFsaXR5IG9wZXJhdG9ycyBzaG91bGQg
bmV2ZXIgYmUgbmVlZGVkLgotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGJvb2wgb3BlcmF0b3I9
PShjb25zdCBSZW5kZXJQdHI8VT4mKSB7IENPTVBJTEVfQVNTRVJUKCFzaXplb2YoVSopLCBSZW5k
ZXJQdHJzX3Nob3VsZF9uZXZlcl9iZV9lcXVhbCk7IHJldHVybiBmYWxzZTsgfQotICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFU+IGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZW5kZXJQdHI8VT4mKSB7IENP
TVBJTEVfQVNTRVJUKCFzaXplb2YoVSopLCBSZW5kZXJQdHJzX3Nob3VsZF9uZXZlcl9iZV9lcXVh
bCk7IHJldHVybiBmYWxzZTsgfQotCi0gICAgUHRyVHlwZSBtX3B0cjsKLX07Ci0KLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIFJlbmRlclB0cjxUPjo6Y2xlYXIoKQotewotICAgIGlm
IChtX3B0cikKLSAgICAgICAgbV9wdHItPmRlc3Ryb3koKTsKLSAgICBtX3B0ciA9IG51bGxwdHI7
Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB0eXBlbmFtZSBSZW5kZXJQdHI8VD46
OlB0clR5cGUgUmVuZGVyUHRyPFQ+OjpsZWFrUHRyKCkKLXsKLSAgICBQdHJUeXBlIHB0ciA9IG1f
cHRyOwotICAgIG1fcHRyID0gbnVsbHB0cjsKLSAgICByZXR1cm4gcHRyOwotfQotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIoUmVuZGVyUHRyPFQ+
JiYgbykKLSAgICA6IG1fcHRyKG8ubGVha1B0cigpKQotewotfQotCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgUmVuZGVyUHRyPFQ+OjpSZW5kZXJQdHIo
UmVuZGVyUHRyPFU+JiYgbykKLSAgICA6IG1fcHRyKG8ubGVha1B0cigpKQotewotfQotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgYXV0byBSZW5kZXJQdHI8VD46Om9wZXJhdG9yPShSZW5k
ZXJQdHImJiBvKSAtPiBSZW5kZXJQdHImCitzdHJ1Y3QgUmVuZGVyT2JqZWN0RGVsZXRlcgogewot
ICAgIEFTU0VSVCghbyB8fCBvICE9IG1fcHRyKTsKLSAgICBSZW5kZXJQdHIgcHRyID0gV1RGTW92
ZShvKTsKLSAgICBzd2FwKHB0cik7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byBSZW5kZXJQdHI8VD46
Om9wZXJhdG9yPShSZW5kZXJQdHI8VT4mJiBvKSAtPiBSZW5kZXJQdHImCi17Ci0gICAgQVNTRVJU
KCFvIHx8IG8gIT0gbV9wdHIpOwotICAgIFJlbmRlclB0ciBwdHIgPSBXVEZNb3ZlKG8pOwotICAg
IHN3YXAocHRyKTsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGlubGluZSB2b2lkIHN3YXAoUmVuZGVyUHRyPFQ+JiBhLCBSZW5kZXJQdHI8VD4mIGIpCi17Ci0g
ICAgYS5zd2FwKGIpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxp
bmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlbmRlclB0cjxUPiYgYSwgVSogYikKLXsKLSAgICBy
ZXR1cm4gYS5nZXQoKSA9PSBiOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KFQqIGEsIGNvbnN0IFJlbmRlclB0cjxVPiYgYikgCi17
Ci0gICAgcmV0dXJuIGEgPT0gYi5nZXQoKTsKLX0KKyAgICB2b2lkIG9wZXJhdG9yKCkgKFJlbmRl
ck9iamVjdCopIGNvbnN0OworfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4g
aW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZW5kZXJQdHI8VD4mIGEsIFUqIGIpCi17Ci0g
ICAgcmV0dXJuIGEuZ2V0KCkgIT0gYjsKLX0KK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiB1c2luZyBS
ZW5kZXJQdHIgPSBzdGQ6OnVuaXF1ZV9wdHI8VCwgUmVuZGVyT2JqZWN0RGVsZXRlcj47CiAKLXRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yIT0oVCog
YSwgY29uc3QgUmVuZGVyUHRyPFU+JiBiKQotewotICAgIHJldHVybiBhICE9IGIuZ2V0KCk7Ci19
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB0eXBlbmFtZSBSZW5kZXJQdHI8VD46OlB0
clR5cGUgZ2V0UHRyKGNvbnN0IFJlbmRlclB0cjxUPiYgcCkKLXsKLSAgICByZXR1cm4gcC5nZXQo
KTsKLX0KLQotdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MuLi4gQXJncz4gaW5saW5lIFJlbmRlclB0
cjxUPgotY3JlYXRlUmVuZGVyZXIoQXJncyYmLi4uIGFyZ3MpCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCBjbGFzcy4uLiBBcmdzPiBpbmxpbmUgUmVuZGVyUHRyPFQ+IGNyZWF0ZVJlbmRlcmVyKEFyZ3Mm
Ji4uLiBhcmdzKQogewogICAgIHJldHVybiBSZW5kZXJQdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJk
PEFyZ3M+KGFyZ3MpLi4uKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+
IGlubGluZSBSZW5kZXJQdHI8VD4gc3RhdGljX3BvaW50ZXJfY2FzdChSZW5kZXJQdHI8VT4mJiBw
KQogewotICAgIHJldHVybiBSZW5kZXJQdHI8VD4oc3RhdGljX2Nhc3Q8VCo+KHAubGVha1B0cigp
KSk7CisgICAgcmV0dXJuIFJlbmRlclB0cjxUPihkb3duY2FzdDxUPihwLnJlbGVhc2UoKSkpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLW5hbWVzcGFjZSBXVEYgewotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czxXZWJDb3JlOjpSZW5kZXJQdHI8VD4+IDog
U2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFdlYkNvcmU6OlJlbmRlclB0cjxUPj4gewotICAgIHR5cGVk
ZWYgc3RkOjpudWxscHRyX3QgRW1wdHlWYWx1ZVR5cGU7Ci0gICAgc3RhdGljIEVtcHR5VmFsdWVU
eXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9Ci0KLSAgICB0eXBlZGVmIFQqIFBl
ZWtUeXBlOwotICAgIHN0YXRpYyBUKiBwZWVrKGNvbnN0IFdlYkNvcmU6OlJlbmRlclB0cjxUPiYg
dmFsdWUpIHsgcmV0dXJuIHZhbHVlLmdldCgpOyB9Ci0gICAgc3RhdGljIFQqIHBlZWsoc3RkOjpu
dWxscHRyX3QpIHsgcmV0dXJuIG51bGxwdHI7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>