<?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>164203</bug_id>
          
          <creation_ts>2016-10-30 07:33:15 -0700</creation_ts>
          <short_desc>[CSS Parser] Clean up the two types of descendant relations in CSSSelector</short_desc>
          <delta_ts>2016-10-30 11:51:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1246203</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-30 07:33:15 -0700</bug_when>
    <thetext>[CSS Parser] Clean up the two types of descendant relations in CSSSelector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246204</commentid>
    <comment_count>1</comment_count>
      <attachid>293347</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-30 07:38:10 -0700</bug_when>
    <thetext>Created attachment 293347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246205</commentid>
    <comment_count>2</comment_count>
      <attachid>293348</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-30 07:57:42 -0700</bug_when>
    <thetext>Created attachment 293348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246253</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-30 11:51:12 -0700</bug_when>
    <thetext>Fixed in r208130.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293347</attachid>
            <date>2016-10-30 07:38:10 -0700</date>
            <delta_ts>2016-10-30 07:57:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164203-20161030093415.patch</filename>
            <type>text/plain</type>
            <size>15670</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODEyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE2LTEwLTMwICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBDbGVhbiB1cCB0
aGUgdHdvIHR5cGVzIG9mIGRlc2NlbmRhbnQgcmVsYXRpb25zIGluIENTU1NlbGVjdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQyMDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGdl
dHMgcmlkIG9mIHRoZSBzZXBhcmF0ZSBib29sZWFuIGZvciBkb3VibGUgY2hpbGQgYW5kIGFsbG93
cyBpdAorICAgICAgICB0byBiZSBhIHVuaXF1ZSByZWxhdGlvbiB0eXBlLiBSZW5hbWUgRGVzY2Vu
ZGFudCB0byBEZXNjZW5kYW50U3BhY2UgYW5kCisgICAgICAgIG5hbWUgdGhlIG5ldyByZWxhdGlv
biBEZXNjZW5kYW50RG91YmxlQ2hpbGQuCisKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OkNTU1NlbGVjdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQpOgorICAgICAgICAqIGNzcy9DU1NT
ZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6Omhhc0Rlc2NlbmRhbnRS
ZWxhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6aGFzRGVzY2VuZGFudE9y
Q2hpbGRSZWxhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6Q1NTU2VsZWN0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNldERlc2NlbmRhbnRVc2VEb3Vi
bGVDaGlsZFN5bnRheCk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL1J1bGVGZWF0dXJlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bGVGZWF0dXJlU2V0OjpyZWN1cnNpdmVseUNvbGxlY3RGZWF0
dXJlc0Zyb21TZWxlY3Rvcik6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpkZXRlcm1pbmVMaW5rTWF0Y2hUeXBlKToK
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JGaWx0ZXI6OmNvbGxlY3RJZGVudGlmaWVySGFzaGVzKToKKyAgICAgICAgKiBjc3MvcGFy
c2VyL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxl
Y3Rvcjo6YXBwZW5kVGFnSGlzdG9yeSk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJW
YWx1ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclNlbGVjdG9yOjpzZXREZXNjZW5k
YW50VXNlRG91YmxlQ2hpbGRTeW50YXgpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTU2VsZWN0b3JQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNEZXNjZW5kYW50Q29t
YmluYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZUNv
bXBsZXhTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29u
c3VtZUNvbWJpbmF0b3IpOgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmZyYWdtZW50UmVsYXRpb25Gb3JT
ZWxlY3RvclJlbGF0aW9uKToKKwogMjAxNi0xMC0yOSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxl
LmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNlcl0gU3VwcG9ydCB1bnByZWZpeGVkIGltYWdlLXNl
dHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24gMjA4MTIwKQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTAsNyArNTAsNyBAQCBzdGF0aWNfYXNzZXJ0KENTU1NlbGVjdG9yOjpSZWxhdGlvblR5cGU6CiBz
dGF0aWNfYXNzZXJ0KHNpemVvZihDU1NTZWxlY3RvcikgPT0gc2l6ZW9mKFNhbWVTaXplQXNDU1NT
ZWxlY3RvciksICJDU1NTZWxlY3RvciBzaG91bGQgcmVtYWluIHNtYWxsLiIpOwogCiBDU1NTZWxl
Y3Rvcjo6Q1NTU2VsZWN0b3IoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnUU5hbWUsIGJvb2wgdGFn
SXNGb3JOYW1lc3BhY2VSdWxlKQotICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQorICAgIDog
bV9yZWxhdGlvbihEZXNjZW5kYW50U3BhY2UpCiAgICAgLCBtX21hdGNoKFRhZykKICAgICAsIG1f
cHNldWRvVHlwZSgwKQogICAgICwgbV9wYXJzZWROdGgoZmFsc2UpCkBAIC02MCw5ICs2MCw2IEBA
IENTU1NlbGVjdG9yOjpDU1NTZWxlY3Rvcihjb25zdCBRdWFsaWZpZWQKICAgICAsIG1faGFzTmFt
ZVdpdGhDYXNlKGZhbHNlKQogICAgICwgbV9pc0ZvclBhZ2UoZmFsc2UpCiAgICAgLCBtX3RhZ0lz
Rm9yTmFtZXNwYWNlUnVsZSh0YWdJc0Zvck5hbWVzcGFjZVJ1bGUpCi0jaWYgRU5BQkxFKENTU19T
RUxFQ1RPUlNfTEVWRUw0KQotICAgICwgbV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgoZmFs
c2UpCi0jZW5kaWYKICAgICAsIG1fY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGlu
ZyhmYWxzZSkKICNpZiAhQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT05fRElTQUJMRUQK
ICAgICAsIG1fZGVzdHJ1Y3Rvckhhc0JlZW5DYWxsZWQoZmFsc2UpCkBAIC03MjgsMTEgKzcyNSw3
IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFMKIAogICAgIGlmIChj
b25zdCBDU1NTZWxlY3RvciogdGFnSGlzdG9yeSA9IGNzLT50YWdIaXN0b3J5KCkpIHsKICAgICAg
ICAgc3dpdGNoIChjcy0+cmVsYXRpb24oKSkgewotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpE
ZXNjZW5kYW50OgotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAgICAgICAg
IGlmIChjcy0+bV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiID4+ICIgKyBzdHIudG9TdHJpbmcoKSAr
IHJpZ2h0U2lkZSk7Ci0jZW5kaWYKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFu
dFNwYWNlOgogICAgICAgICAgICAgcmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiICIg
KyBzdHIudG9TdHJpbmcoKSArIHJpZ2h0U2lkZSk7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OkNoaWxkOgogICAgICAgICAgICAgcmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiID4g
IiArIHN0ci50b1N0cmluZygpICsgcmlnaHRTaWRlKTsKQEAgLTc0Miw2ICs3MzUsMTAgQEAgU3Ry
aW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3QgUwogICAgICAgICAgICAgcmV0dXJu
IHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiICsgIiArIHN0ci50b1N0cmluZygpICsgcmlnaHRT
aWRlKTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDoKICAgICAg
ICAgICAgIHJldHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIiB+ICIgKyBzdHIudG9TdHJp
bmcoKSArIHJpZ2h0U2lkZSk7CisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQorICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ6CisgICAgICAgICAg
ICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0b3JUZXh0KCIgPj4gIiArIHN0ci50b1N0cmluZygp
ICsgcmlnaHRTaWRlKTsKKyNlbmRpZgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTdWJzZWxl
Y3RvcjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2lmIEFTU0VSVF9ESVNB
QkxFRApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHJldmlzaW9uIDIwODEyMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC04Mywx
MCArODMsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGVudW0gUmVsYXRpb25U
eXBlIHsKICAgICAgICAgICAgIFN1YnNlbGVjdG9yLAotICAgICAgICAgICAgRGVzY2VuZGFudCwK
KyAgICAgICAgICAgIERlc2NlbmRhbnRTcGFjZSwKICAgICAgICAgICAgIENoaWxkLAogICAgICAg
ICAgICAgRGlyZWN0QWRqYWNlbnQsCiAgICAgICAgICAgICBJbmRpcmVjdEFkamFjZW50LAorI2lm
IEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKKyAgICAgICAgICAgIERlc2NlbmRhbnREb3Vi
bGVDaGlsZCwKKyNlbmRpZgogICAgICAgICAgICAgU2hhZG93RGVzY2VuZGFudCwgLy8gRklYTUUt
TkVXUEFSU0VSOiBSZW1vdmUgdGhpcyBpbiBmYXZvciBvZiB0aGUgbmV3IHNoYWRvdyB2YWx1ZXMg
YmVsb3cuCiAgICAgICAgICAgICBTaGFkb3dQc2V1ZG8sIC8vIFNwZWNpYWwgY2FzZSBvZiBzaGFk
b3cgRE9NIHBzZXVkbyBlbGVtZW50cyAvIHNoYWRvdyBwc2V1ZG8gZWxlbWVudAogICAgICAgICAg
ICAgU2hhZG93RGVlcCwgLy8gL2RlZXAvIGNvbWJpbmF0b3IKQEAgLTI1OSw2ICsyNjIsMTQgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbnQgbnRoQSgpIGNvbnN0OwogICAgICAgICBp
bnQgbnRoQigpIGNvbnN0OwogCisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQorICAg
ICAgICBib29sIGhhc0Rlc2NlbmRhbnRSZWxhdGlvbigpIGNvbnN0IHsgcmV0dXJuIHJlbGF0aW9u
KCkgPT0gRGVzY2VuZGFudFNwYWNlIHx8IHJlbGF0aW9uKCkgPT0gRGVzY2VuZGFudERvdWJsZUNo
aWxkOyB9CisjZWxzZQorICAgICAgICBib29sIGhhc0Rlc2NlbmRhbnRSZWxhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIHJlbGF0aW9uKCkgPT0gRGVzY2VuZGFudFNwYWNlOyB9CisjZW5kaWYKKworICAg
ICAgICBib29sIGhhc0Rlc2NlbmRhbnRPckNoaWxkUmVsYXRpb24oKSBjb25zdCB7IHJldHVybiBy
ZWxhdGlvbigpID09IENoaWxkIHx8IGhhc0Rlc2NlbmRhbnRSZWxhdGlvbigpOyB9CisKICAgICAg
ICAgUHNldWRvQ2xhc3NUeXBlIHBzZXVkb0NsYXNzVHlwZSgpIGNvbnN0CiAgICAgICAgIHsKICAg
ICAgICAgICAgIEFTU0VSVChtYXRjaCgpID09IFBzZXVkb0NsYXNzKTsKQEAgLTMwNiwxNCArMzE3
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgQVNTRVJUKG1fcmVsYXRpb24g
PT0gcmVsYXRpb24pOwogICAgICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZF
TDQpCi0gICAgICAgIHZvaWQgc2V0RGVzY2VuZGFudFVzZURvdWJsZUNoaWxkU3ludGF4KCkKLSAg
ICAgICAgewotICAgICAgICAgICAgQVNTRVJUKHJlbGF0aW9uKCkgPT0gRGVzY2VuZGFudCk7Ci0g
ICAgICAgICAgICBtX2Rlc2NlbmRhbnREb3VibGVDaGlsZFN5bnRheCA9IHRydWU7Ci0gICAgICAg
IH0KLSNlbmRpZgotCiAgICAgICAgIE1hdGNoIG1hdGNoKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8TWF0Y2g+KG1fbWF0Y2gpOyB9CiAgICAgICAgIHZvaWQgc2V0TWF0Y2goTWF0Y2ggbWF0
Y2gpCiAgICAgICAgIHsKQEAgLTMzMCw3ICszMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZvaWQgc2V0Rm9yUGFnZSgpIHsgbV9pc0ZvclBhZ2UgPSB0cnVlOyB9CiAKICAgICBw
cml2YXRlOgotICAgICAgICB1bnNpZ25lZCBtX3JlbGF0aW9uICAgICAgICAgICAgICA6IDM7IC8v
IGVudW0gUmVsYXRpb25UeXBlLgorICAgICAgICB1bnNpZ25lZCBtX3JlbGF0aW9uICAgICAgICAg
ICAgICA6IDQ7IC8vIGVudW0gUmVsYXRpb25UeXBlLgogICAgICAgICBtdXRhYmxlIHVuc2lnbmVk
IG1fbWF0Y2ggICAgICAgICA6IDQ7IC8vIGVudW0gTWF0Y2guCiAgICAgICAgIG11dGFibGUgdW5z
aWduZWQgbV9wc2V1ZG9UeXBlICAgIDogODsgLy8gUHNldWRvVHlwZS4KICAgICAgICAgbXV0YWJs
ZSB1bnNpZ25lZCBtX3BhcnNlZE50aCAgICAgOiAxOyAvLyBVc2VkIGZvciA6bnRoLSouCkBAIC0z
NDAsOSArMzQzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBtX2hh
c05hbWVXaXRoQ2FzZSAgICAgICA6IDE7CiAgICAgICAgIHVuc2lnbmVkIG1faXNGb3JQYWdlICAg
ICAgICAgICAgIDogMTsKICAgICAgICAgdW5zaWduZWQgbV90YWdJc0Zvck5hbWVzcGFjZVJ1bGUg
OiAxOwotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAgICAgdW5zaWduZWQg
bV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXggOiAxOwotI2VuZGlmCiAgICAgICAgIHVuc2ln
bmVkIG1fY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGluZyA6IDE7CiAjaWYgIUFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OX0RJU0FCTEVECiAgICAgICAgIHVuc2lnbmVk
IG1fZGVzdHJ1Y3Rvckhhc0JlZW5DYWxsZWQgOiAxOwpAQCAtNDgzLDcgKzQ4Myw3IEBAIGlubGlu
ZSB2b2lkIENTU1NlbGVjdG9yOjpzZXRWYWx1ZShjb25zdCAKIH0KIAogaW5saW5lIENTU1NlbGVj
dG9yOjpDU1NTZWxlY3RvcigpCi0gICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCisgICAgOiBt
X3JlbGF0aW9uKERlc2NlbmRhbnRTcGFjZSkKICAgICAsIG1fbWF0Y2goVW5rbm93bikKICAgICAs
IG1fcHNldWRvVHlwZSgwKQogICAgICwgbV9wYXJzZWROdGgoZmFsc2UpCkBAIC00OTMsOSArNDkz
LDYgQEAgaW5saW5lIENTU1NlbGVjdG9yOjpDU1NTZWxlY3RvcigpCiAgICAgLCBtX2hhc05hbWVX
aXRoQ2FzZShmYWxzZSkKICAgICAsIG1faXNGb3JQYWdlKGZhbHNlKQogICAgICwgbV90YWdJc0Zv
ck5hbWVzcGFjZVJ1bGUoZmFsc2UpCi0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQot
ICAgICwgbV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgoZmFsc2UpCi0jZW5kaWYKICAgICAs
IG1fY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGluZyhmYWxzZSkKICNpZiAhQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT05fRElTQUJMRUQKICAgICAsIG1fZGVzdHJ1Y3Rv
ckhhc0JlZW5DYWxsZWQoZmFsc2UpCkBAIC01MTQsOSArNTExLDYgQEAgaW5saW5lIENTU1NlbGVj
dG9yOjpDU1NTZWxlY3Rvcihjb25zdCBDUwogICAgICwgbV9oYXNOYW1lV2l0aENhc2Uoby5tX2hh
c05hbWVXaXRoQ2FzZSkKICAgICAsIG1faXNGb3JQYWdlKG8ubV9pc0ZvclBhZ2UpCiAgICAgLCBt
X3RhZ0lzRm9yTmFtZXNwYWNlUnVsZShvLm1fdGFnSXNGb3JOYW1lc3BhY2VSdWxlKQotI2lmIEVO
QUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAsIG1fZGVzY2VuZGFudERvdWJsZUNoaWxk
U3ludGF4KG8ubV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgpCi0jZW5kaWYKICAgICAsIG1f
Y2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGluZyhvLm1fY2FzZUluc2Vuc2l0aXZl
QXR0cmlidXRlVmFsdWVNYXRjaGluZykKICNpZiAhQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElD
QVRJT05fRElTQUJMRUQKICAgICAsIG1fZGVzdHJ1Y3Rvckhhc0JlZW5DYWxsZWQoZmFsc2UpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvUnVsZUZlYXR1cmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9SdWxlRmVhdHVyZS5jcHAJKHJldmlzaW9uIDIwODEyMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9SdWxlRmVhdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcg
Kzc3LDcgQEAgdm9pZCBSdWxlRmVhdHVyZVNldDo6cmVjdXJzaXZlbHlDb2xsZWN0RgogICAgICAg
ICAgICAgICAgIHJlY3Vyc2l2ZWx5Q29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKHNlbGVjdG9y
RmVhdHVyZXMsICpzdWJTZWxlY3RvciwgbWF0Y2hlc0FuY2VzdG9yKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQotICAgICAgICBpZiAoc2VsZWN0b3ItPnJlbGF0aW9uKCkgPT0gQ1NTU2VsZWN0
b3I6OkNoaWxkIHx8IHNlbGVjdG9yLT5yZWxhdGlvbigpID09IENTU1NlbGVjdG9yOjpEZXNjZW5k
YW50KQorICAgICAgICBpZiAoc2VsZWN0b3ItPmhhc0Rlc2NlbmRhbnRPckNoaWxkUmVsYXRpb24o
KSkKICAgICAgICAgICAgIG1hdGNoZXNBbmNlc3RvciA9IHRydWU7CiAKICAgICAgICAgc2VsZWN0
b3IgPSBzZWxlY3Rvci0+dGFnSGlzdG9yeSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yQ2hlY2tlci5jcHAJKHJldmlzaW9uIDIwODEyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9T
ZWxlY3RvckNoZWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjAsNyArMzIwLDcgQEAgU2Vs
ZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZQogICAgICAgICAgICAgcmV0dXJu
IE1hdGNoUmVzdWx0OjpmYWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogCiAg
ICAgICAgIC8vIERpc2FibGUgOnZpc2l0ZWQgbWF0Y2hpbmcgd2hlbiB3ZSB0cnkgdG8gbWF0Y2gg
YW55dGhpbmcgZWxzZSB0aGFuIGFuIGFuY2VzdG9ycy4KLSAgICAgICAgaWYgKHJlbGF0aW9uICE9
IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50ICYmIHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpDaGls
ZCkKKyAgICAgICAgaWYgKCFjb250ZXh0LnNlbGVjdG9yLT5oYXNEZXNjZW5kYW50T3JDaGlsZFJl
bGF0aW9uKCkpCiAgICAgICAgICAgICBuZXh0Q29udGV4dC52aXNpdGVkTWF0Y2hUeXBlID0gVmlz
aXRlZE1hdGNoVHlwZTo6RGlzYWJsZWQ7CiAKICAgICAgICAgbmV4dENvbnRleHQucHNldWRvSWQg
PSBOT1BTRVVETzsKQEAgLTMzMCw3ICszMzAsOCBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoUmVz
dWx0IFNlbGVjdG9yQ2hlCiAgICAgfQogCiAgICAgc3dpdGNoIChyZWxhdGlvbikgewotICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQ6CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2Vu
ZGFudFNwYWNlOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnREb3VibGVDaGlsZDoK
ICAgICAgICAgbmV4dENvbnRleHQgPSBsb2NhbENvbnRleHRGb3JQYXJlbnQobmV4dENvbnRleHQp
OwogICAgICAgICBuZXh0Q29udGV4dC5maXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9IG5leHRD
b250ZXh0LnNlbGVjdG9yOwogICAgICAgICBmb3IgKDsgbmV4dENvbnRleHQuZWxlbWVudDsgbmV4
dENvbnRleHQgPSBsb2NhbENvbnRleHRGb3JQYXJlbnQobmV4dENvbnRleHQpKSB7CkBAIC0xMTk3
LDcgKzExOTgsNyBAQCB1bnNpZ25lZCBTZWxlY3RvckNoZWNrZXI6OmRldGVybWluZUxpbmtNCiAg
ICAgICAgIGF1dG8gcmVsYXRpb24gPSBzZWxlY3Rvci0+cmVsYXRpb24oKTsKICAgICAgICAgaWYg
KHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpTdWJzZWxlY3RvcikKICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICBpZiAocmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQgJiYg
cmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OkNoaWxkKQorICAgICAgICBpZiAoIXNlbGVjdG9yLT5o
YXNEZXNjZW5kYW50T3JDaGlsZFJlbGF0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gbGlua01h
dGNoVHlwZTsKICAgICAgICAgaWYgKGxpbmtNYXRjaFR5cGUgIT0gTWF0Y2hBbGwpCiAgICAgICAg
ICAgICByZXR1cm4gbGlua01hdGNoVHlwZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckZpbHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
RmlsdGVyLmNwcAkocmV2aXNpb24gMjA4MTIwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDcgKzE0Miw4IEBAIHZvaWQgU2Vs
ZWN0b3JGaWx0ZXI6OmNvbGxlY3RJZGVudGlmaWVySGEKICAgICAgICAgICAgIC8vIERpc2FibGUg
ZmFzdFJlamVjdFNlbGVjdG9yLgogICAgICAgICAgICAgKmlkZW50aWZpZXJIYXNoZXMgPSAwOwog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50
OgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50U3BhY2U6CisgICAgICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnREb3VibGVDaGlsZDoKICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6Q2hpbGQ6CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd1BzZXVkbzoK
ICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVlcDoKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5jcHAJKHJldmlzaW9uIDIwODEyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDgxLDExICs0ODEsMTEgQEAgdm9pZCBDU1NQYXJzZXJTZWxlY3Rvcjo6YXBw
ZW5kVGFnSGlzdG9yeQogICAgICAgICBzZWxlY3RvclJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OkNo
aWxkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRv
cjo6RGVzY2VuZGFudFNwYWNlOgotICAgICAgICBzZWxlY3RvclJlbGF0aW9uID0gQ1NTU2VsZWN0
b3I6OkRlc2NlbmRhbnQ7CisgICAgICAgIHNlbGVjdG9yUmVsYXRpb24gPSBDU1NTZWxlY3Rvcjo6
RGVzY2VuZGFudFNwYWNlOwogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9S
U19MRVZFTDQpCiAgICAgY2FzZSBDU1NQYXJzZXJTZWxlY3RvckNvbWJpbmF0b3I6OkRlc2NlbmRh
bnREb3VibGVDaGlsZDoKLSAgICAgICAgc2VsZWN0b3JSZWxhdGlvbiA9IENTU1NlbGVjdG9yOjpE
ZXNjZW5kYW50OworICAgICAgICBzZWxlY3RvclJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OkRlc2Nl
bmRhbnREb3VibGVDaGlsZDsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIENTU1Bh
cnNlclNlbGVjdG9yQ29tYmluYXRvcjo6RGlyZWN0QWRqYWNlbnQ6CkBAIC01MDUsMTIgKzUwNSw2
IEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OmFwcGVuZFRhZ0hpc3RvcnkKICAgICAgICAgYnJl
YWs7CiAgICAgfQogICAgIGVuZC0+c2V0UmVsYXRpb24oc2VsZWN0b3JSZWxhdGlvbik7Ci0KLSNp
ZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCi0gICAgaWYgKHJlbGF0aW9uID09IENTU1Bh
cnNlclNlbGVjdG9yQ29tYmluYXRvcjo6RGVzY2VuZGFudERvdWJsZUNoaWxkKQotICAgICAgICBl
bmQtPnNldERlc2NlbmRhbnRVc2VEb3VibGVDaGlsZFN5bnRheCgpOwotI2VuZGlmCi0KICAgICBl
bmQtPnNldFRhZ0hpc3RvcnkoV1RGTW92ZShzZWxlY3RvcikpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmgJKHJldmlzaW9uIDIwODEyMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI3NSwxMCArMjc1LDYgQEAgcHVibGljOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxD
U1NQYXJzZXJTZWxlY3Rvcj4gcmVsZWFzZVRhZ0hpc3RvcnkoKTsKIAogcHJpdmF0ZToKLSNpZiBF
TkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCi0gICAgdm9pZCBzZXREZXNjZW5kYW50VXNlRG91
YmxlQ2hpbGRTeW50YXgoKSB7IG1fc2VsZWN0b3ItPnNldERlc2NlbmRhbnRVc2VEb3VibGVDaGls
ZFN5bnRheCgpOyB9Ci0jZW5kaWYKLQogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NTZWxlY3Rvcj4g
bV9zZWxlY3RvcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IG1fdGFn
SGlzdG9yeTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9y
UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Nl
bGVjdG9yUGFyc2VyLmNwcAkocmV2aXNpb24gMjA4MTIwKQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw2ICsx
NDksMTQgQEAgdW5zaWduZWQgZXh0cmFjdENvbXBvdW5kRmxhZ3MoY29uc3QgQ1NTUAogCiB9IC8v
IG5hbWVzcGFjZQogCitzdGF0aWMgYm9vbCBpc0Rlc2NlbmRhbnRDb21iaW5hdG9yKENTU1NlbGVj
dG9yOjpSZWxhdGlvblR5cGUgcmVsYXRpb24pCit7CisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNf
TEVWRUw0KQorICAgIHJldHVybiByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNw
YWNlIHx8IHJlbGF0aW9uID09IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ7Cisj
ZWxzZQorICAgIHJldHVybiByZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNwYWNl
OworI2VuZGlmCit9CiBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVj
dG9yUGFyc2VyOjpjb25zdW1lQ29tcGxleFNlbGVjdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJh
bmdlKQogewogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gc2VsZWN0b3Ig
PSBjb25zdW1lQ29tcG91bmRTZWxlY3RvcihyYW5nZSk7CkBAIC0xNjMsNyArMTcxLDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZQogICAgIHdoaWxlIChhdXRvIGNv
bWJpbmF0b3IgPSBjb25zdW1lQ29tYmluYXRvcihyYW5nZSkpIHsKICAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBuZXh0U2VsZWN0b3IgPSBjb25zdW1lQ29tcG91bmRT
ZWxlY3RvcihyYW5nZSk7CiAgICAgICAgIGlmICghbmV4dFNlbGVjdG9yKQotICAgICAgICAgICAg
cmV0dXJuIGNvbWJpbmF0b3IgPT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQgPyBXVEZNb3ZlKHNl
bGVjdG9yKSA6IG51bGxwdHI7CisgICAgICAgICAgICByZXR1cm4gaXNEZXNjZW5kYW50Q29tYmlu
YXRvcihjb21iaW5hdG9yKSA/IFdURk1vdmUoc2VsZWN0b3IpIDogbnVsbHB0cjsKICAgICAgICAg
aWYgKHByZXZpb3VzQ29tcG91bmRGbGFncyAmIEhhc1BzZXVkb0VsZW1lbnRGb3JSaWdodG1vc3RD
b21wb3VuZCkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICBDU1NQYXJzZXJT
ZWxlY3RvciogZW5kID0gbmV4dFNlbGVjdG9yLmdldCgpOwpAQCAtNjQ4LDcgKzY1Niw3IEBAIENT
U1NlbGVjdG9yOjpSZWxhdGlvblR5cGUgQ1NTU2VsZWN0b3JQYXIKICAgICBhdXRvIGZhbGxiYWNr
UmVzdWx0ID0gQ1NTU2VsZWN0b3I6OlN1YnNlbGVjdG9yOwogICAgIHdoaWxlIChyYW5nZS5wZWVr
KCkudHlwZSgpID09IFdoaXRlc3BhY2VUb2tlbikgewogICAgICAgICByYW5nZS5jb25zdW1lKCk7
Ci0gICAgICAgIGZhbGxiYWNrUmVzdWx0ID0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQ7CisgICAg
ICAgIGZhbGxiYWNrUmVzdWx0ID0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnRTcGFjZTsKICAgICB9
CiAKICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBEZWxpbWl0ZXJUb2tlbikKQEAgLTY2
MywxMCArNjcxLDkgQEAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uVHlwZSBDU1NTZWxlY3RvclBhcgog
ICAgICAgICBpZiAoZGVsaW1pdGVyID09ICd+JykKICAgICAgICAgICAgIHJldHVybiBDU1NTZWxl
Y3Rvcjo6SW5kaXJlY3RBZGphY2VudDsKICNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQK
LSAgICAgICAgLy8gRklYTUUtTkVXUEFSU0VSOiBOZWVkIHRvIHNldCB0aGF0IHRoaXMgd2FzIGEg
Pj4gc28gc2VyaWFsaXphdGlvbiBpcyBjb3JyZWN0CiAgICAgICAgIGlmIChkZWxpbWl0ZXIgPT0g
Jz4nICYmIHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gRGVsaW1pdGVyVG9rZW4gJiYgcmFuZ2UucGVl
aygpLmRlbGltaXRlcigpID09ICc+JykgewogICAgICAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1
ZGluZ1doaXRlc3BhY2UoKTsKLSAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6RGVzY2Vu
ZGFudDsKKyAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudERvdWJsZUNo
aWxkOwogICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIENTU1NlbGVjdG9yOjpDaGls
ZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHJl
dmlzaW9uIDIwODAzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAyLDcgKzQwMiw4IEBAIFNlbGVjdG9yQ29tcGlsYXRp
b25TdGF0dXMgY29tcGlsZVNlbGVjdG8KIHN0YXRpYyBpbmxpbmUgRnJhZ21lbnRSZWxhdGlvbiBm
cmFnbWVudFJlbGF0aW9uRm9yU2VsZWN0b3JSZWxhdGlvbihDU1NTZWxlY3Rvcjo6UmVsYXRpb25U
eXBlIHJlbGF0aW9uKQogewogICAgIHN3aXRjaCAocmVsYXRpb24pIHsKLSAgICBjYXNlIENTU1Nl
bGVjdG9yOjpEZXNjZW5kYW50OgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnRTcGFj
ZToKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ6CiAgICAgICAg
IHJldHVybiBGcmFnbWVudFJlbGF0aW9uOjpEZXNjZW5kYW50OwogICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OkNoaWxkOgogICAgICAgICByZXR1cm4gRnJhZ21lbnRSZWxhdGlvbjo6Q2hpbGQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293348</attachid>
            <date>2016-10-30 07:57:42 -0700</date>
            <delta_ts>2016-10-30 11:15:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>15796</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODEyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE2LTEwLTMwICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBDbGVhbiB1cCB0
aGUgdHdvIHR5cGVzIG9mIGRlc2NlbmRhbnQgcmVsYXRpb25zIGluIENTU1NlbGVjdG9yCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQyMDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGdl
dHMgcmlkIG9mIHRoZSBzZXBhcmF0ZSBib29sZWFuIGZvciBkb3VibGUgY2hpbGQgYW5kIGFsbG93
cyBpdAorICAgICAgICB0byBiZSBhIHVuaXF1ZSByZWxhdGlvbiB0eXBlLiBSZW5hbWUgRGVzY2Vu
ZGFudCB0byBEZXNjZW5kYW50U3BhY2UgYW5kCisgICAgICAgIG5hbWUgdGhlIG5ldyByZWxhdGlv
biBEZXNjZW5kYW50RG91YmxlQ2hpbGQuCisKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OkNTU1NlbGVjdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQpOgorICAgICAgICAqIGNzcy9DU1NT
ZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6Omhhc0Rlc2NlbmRhbnRS
ZWxhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6aGFzRGVzY2VuZGFudE9y
Q2hpbGRSZWxhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6Q1NTU2VsZWN0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OnNldERlc2NlbmRhbnRVc2VEb3Vi
bGVDaGlsZFN5bnRheCk6IERlbGV0ZWQuCisgICAgICAgICogY3NzL1J1bGVGZWF0dXJlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bGVGZWF0dXJlU2V0OjpyZWN1cnNpdmVseUNvbGxlY3RGZWF0
dXJlc0Zyb21TZWxlY3Rvcik6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpkZXRlcm1pbmVMaW5rTWF0Y2hUeXBlKToK
KyAgICAgICAgKiBjc3MvU2VsZWN0b3JGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vs
ZWN0b3JGaWx0ZXI6OmNvbGxlY3RJZGVudGlmaWVySGFzaGVzKToKKyAgICAgICAgKiBjc3MvcGFy
c2VyL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxl
Y3Rvcjo6YXBwZW5kVGFnSGlzdG9yeSk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJW
YWx1ZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlclNlbGVjdG9yOjpzZXREZXNjZW5k
YW50VXNlRG91YmxlQ2hpbGRTeW50YXgpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy9wYXJzZXIv
Q1NTU2VsZWN0b3JQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNEZXNjZW5kYW50Q29t
YmluYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZUNv
bXBsZXhTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29u
c3VtZUNvbWJpbmF0b3IpOgorICAgICAgICAqIGNzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OmZyYWdtZW50UmVsYXRpb25Gb3JT
ZWxlY3RvclJlbGF0aW9uKToKKwogMjAxNi0xMC0yOSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxl
LmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNlcl0gU3VwcG9ydCB1bnByZWZpeGVkIGltYWdlLXNl
dHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24gMjA4MTIwKQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTAsNyArNTAsNyBAQCBzdGF0aWNfYXNzZXJ0KENTU1NlbGVjdG9yOjpSZWxhdGlvblR5cGU6CiBz
dGF0aWNfYXNzZXJ0KHNpemVvZihDU1NTZWxlY3RvcikgPT0gc2l6ZW9mKFNhbWVTaXplQXNDU1NT
ZWxlY3RvciksICJDU1NTZWxlY3RvciBzaG91bGQgcmVtYWluIHNtYWxsLiIpOwogCiBDU1NTZWxl
Y3Rvcjo6Q1NTU2VsZWN0b3IoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnUU5hbWUsIGJvb2wgdGFn
SXNGb3JOYW1lc3BhY2VSdWxlKQotICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQorICAgIDog
bV9yZWxhdGlvbihEZXNjZW5kYW50U3BhY2UpCiAgICAgLCBtX21hdGNoKFRhZykKICAgICAsIG1f
cHNldWRvVHlwZSgwKQogICAgICwgbV9wYXJzZWROdGgoZmFsc2UpCkBAIC02MCw5ICs2MCw2IEBA
IENTU1NlbGVjdG9yOjpDU1NTZWxlY3Rvcihjb25zdCBRdWFsaWZpZWQKICAgICAsIG1faGFzTmFt
ZVdpdGhDYXNlKGZhbHNlKQogICAgICwgbV9pc0ZvclBhZ2UoZmFsc2UpCiAgICAgLCBtX3RhZ0lz
Rm9yTmFtZXNwYWNlUnVsZSh0YWdJc0Zvck5hbWVzcGFjZVJ1bGUpCi0jaWYgRU5BQkxFKENTU19T
RUxFQ1RPUlNfTEVWRUw0KQotICAgICwgbV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgoZmFs
c2UpCi0jZW5kaWYKICAgICAsIG1fY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGlu
ZyhmYWxzZSkKICNpZiAhQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT05fRElTQUJMRUQK
ICAgICAsIG1fZGVzdHJ1Y3Rvckhhc0JlZW5DYWxsZWQoZmFsc2UpCkBAIC03MjgsMTEgKzcyNSw3
IEBAIFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFMKIAogICAgIGlmIChj
b25zdCBDU1NTZWxlY3RvciogdGFnSGlzdG9yeSA9IGNzLT50YWdIaXN0b3J5KCkpIHsKICAgICAg
ICAgc3dpdGNoIChjcy0+cmVsYXRpb24oKSkgewotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpE
ZXNjZW5kYW50OgotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAgICAgICAg
IGlmIChjcy0+bV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiID4+ICIgKyBzdHIudG9TdHJpbmcoKSAr
IHJpZ2h0U2lkZSk7Ci0jZW5kaWYKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFu
dFNwYWNlOgogICAgICAgICAgICAgcmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiICIg
KyBzdHIudG9TdHJpbmcoKSArIHJpZ2h0U2lkZSk7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OkNoaWxkOgogICAgICAgICAgICAgcmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiID4g
IiArIHN0ci50b1N0cmluZygpICsgcmlnaHRTaWRlKTsKQEAgLTc0Miw2ICs3MzUsMTAgQEAgU3Ry
aW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3QgUwogICAgICAgICAgICAgcmV0dXJu
IHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiICsgIiArIHN0ci50b1N0cmluZygpICsgcmlnaHRT
aWRlKTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDoKICAgICAg
ICAgICAgIHJldHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIiB+ICIgKyBzdHIudG9TdHJp
bmcoKSArIHJpZ2h0U2lkZSk7CisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQorICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ6CisgICAgICAgICAg
ICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0b3JUZXh0KCIgPj4gIiArIHN0ci50b1N0cmluZygp
ICsgcmlnaHRTaWRlKTsKKyNlbmRpZgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTdWJzZWxl
Y3RvcjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2lmIEFTU0VSVF9ESVNB
QkxFRApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHJldmlzaW9uIDIwODEyMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC04Mywx
MCArODMsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGVudW0gUmVsYXRpb25U
eXBlIHsKICAgICAgICAgICAgIFN1YnNlbGVjdG9yLAotICAgICAgICAgICAgRGVzY2VuZGFudCwK
KyAgICAgICAgICAgIERlc2NlbmRhbnRTcGFjZSwKICAgICAgICAgICAgIENoaWxkLAogICAgICAg
ICAgICAgRGlyZWN0QWRqYWNlbnQsCiAgICAgICAgICAgICBJbmRpcmVjdEFkamFjZW50LAorI2lm
IEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKKyAgICAgICAgICAgIERlc2NlbmRhbnREb3Vi
bGVDaGlsZCwKKyNlbmRpZgogICAgICAgICAgICAgU2hhZG93RGVzY2VuZGFudCwgLy8gRklYTUUt
TkVXUEFSU0VSOiBSZW1vdmUgdGhpcyBpbiBmYXZvciBvZiB0aGUgbmV3IHNoYWRvdyB2YWx1ZXMg
YmVsb3cuCiAgICAgICAgICAgICBTaGFkb3dQc2V1ZG8sIC8vIFNwZWNpYWwgY2FzZSBvZiBzaGFk
b3cgRE9NIHBzZXVkbyBlbGVtZW50cyAvIHNoYWRvdyBwc2V1ZG8gZWxlbWVudAogICAgICAgICAg
ICAgU2hhZG93RGVlcCwgLy8gL2RlZXAvIGNvbWJpbmF0b3IKQEAgLTI1OSw2ICsyNjIsMTQgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbnQgbnRoQSgpIGNvbnN0OwogICAgICAgICBp
bnQgbnRoQigpIGNvbnN0OwogCisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQorICAg
ICAgICBib29sIGhhc0Rlc2NlbmRhbnRSZWxhdGlvbigpIGNvbnN0IHsgcmV0dXJuIHJlbGF0aW9u
KCkgPT0gRGVzY2VuZGFudFNwYWNlIHx8IHJlbGF0aW9uKCkgPT0gRGVzY2VuZGFudERvdWJsZUNo
aWxkOyB9CisjZWxzZQorICAgICAgICBib29sIGhhc0Rlc2NlbmRhbnRSZWxhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIHJlbGF0aW9uKCkgPT0gRGVzY2VuZGFudFNwYWNlOyB9CisjZW5kaWYKKworICAg
ICAgICBib29sIGhhc0Rlc2NlbmRhbnRPckNoaWxkUmVsYXRpb24oKSBjb25zdCB7IHJldHVybiBy
ZWxhdGlvbigpID09IENoaWxkIHx8IGhhc0Rlc2NlbmRhbnRSZWxhdGlvbigpOyB9CisKICAgICAg
ICAgUHNldWRvQ2xhc3NUeXBlIHBzZXVkb0NsYXNzVHlwZSgpIGNvbnN0CiAgICAgICAgIHsKICAg
ICAgICAgICAgIEFTU0VSVChtYXRjaCgpID09IFBzZXVkb0NsYXNzKTsKQEAgLTMwNiwxNCArMzE3
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgQVNTRVJUKG1fcmVsYXRpb24g
PT0gcmVsYXRpb24pOwogICAgICAgICB9CiAKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZF
TDQpCi0gICAgICAgIHZvaWQgc2V0RGVzY2VuZGFudFVzZURvdWJsZUNoaWxkU3ludGF4KCkKLSAg
ICAgICAgewotICAgICAgICAgICAgQVNTRVJUKHJlbGF0aW9uKCkgPT0gRGVzY2VuZGFudCk7Ci0g
ICAgICAgICAgICBtX2Rlc2NlbmRhbnREb3VibGVDaGlsZFN5bnRheCA9IHRydWU7Ci0gICAgICAg
IH0KLSNlbmRpZgotCiAgICAgICAgIE1hdGNoIG1hdGNoKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8TWF0Y2g+KG1fbWF0Y2gpOyB9CiAgICAgICAgIHZvaWQgc2V0TWF0Y2goTWF0Y2ggbWF0
Y2gpCiAgICAgICAgIHsKQEAgLTMzMCw3ICszMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZvaWQgc2V0Rm9yUGFnZSgpIHsgbV9pc0ZvclBhZ2UgPSB0cnVlOyB9CiAKICAgICBw
cml2YXRlOgotICAgICAgICB1bnNpZ25lZCBtX3JlbGF0aW9uICAgICAgICAgICAgICA6IDM7IC8v
IGVudW0gUmVsYXRpb25UeXBlLgorICAgICAgICB1bnNpZ25lZCBtX3JlbGF0aW9uICAgICAgICAg
ICAgICA6IDQ7IC8vIGVudW0gUmVsYXRpb25UeXBlLgogICAgICAgICBtdXRhYmxlIHVuc2lnbmVk
IG1fbWF0Y2ggICAgICAgICA6IDQ7IC8vIGVudW0gTWF0Y2guCiAgICAgICAgIG11dGFibGUgdW5z
aWduZWQgbV9wc2V1ZG9UeXBlICAgIDogODsgLy8gUHNldWRvVHlwZS4KICAgICAgICAgbXV0YWJs
ZSB1bnNpZ25lZCBtX3BhcnNlZE50aCAgICAgOiAxOyAvLyBVc2VkIGZvciA6bnRoLSouCkBAIC0z
NDAsOSArMzQzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBtX2hh
c05hbWVXaXRoQ2FzZSAgICAgICA6IDE7CiAgICAgICAgIHVuc2lnbmVkIG1faXNGb3JQYWdlICAg
ICAgICAgICAgIDogMTsKICAgICAgICAgdW5zaWduZWQgbV90YWdJc0Zvck5hbWVzcGFjZVJ1bGUg
OiAxOwotI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAgICAgdW5zaWduZWQg
bV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXggOiAxOwotI2VuZGlmCiAgICAgICAgIHVuc2ln
bmVkIG1fY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGluZyA6IDE7CiAjaWYgIUFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OX0RJU0FCTEVECiAgICAgICAgIHVuc2lnbmVk
IG1fZGVzdHJ1Y3Rvckhhc0JlZW5DYWxsZWQgOiAxOwpAQCAtNDgzLDcgKzQ4Myw3IEBAIGlubGlu
ZSB2b2lkIENTU1NlbGVjdG9yOjpzZXRWYWx1ZShjb25zdCAKIH0KIAogaW5saW5lIENTU1NlbGVj
dG9yOjpDU1NTZWxlY3RvcigpCi0gICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCisgICAgOiBt
X3JlbGF0aW9uKERlc2NlbmRhbnRTcGFjZSkKICAgICAsIG1fbWF0Y2goVW5rbm93bikKICAgICAs
IG1fcHNldWRvVHlwZSgwKQogICAgICwgbV9wYXJzZWROdGgoZmFsc2UpCkBAIC00OTMsOSArNDkz
LDYgQEAgaW5saW5lIENTU1NlbGVjdG9yOjpDU1NTZWxlY3RvcigpCiAgICAgLCBtX2hhc05hbWVX
aXRoQ2FzZShmYWxzZSkKICAgICAsIG1faXNGb3JQYWdlKGZhbHNlKQogICAgICwgbV90YWdJc0Zv
ck5hbWVzcGFjZVJ1bGUoZmFsc2UpCi0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQot
ICAgICwgbV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgoZmFsc2UpCi0jZW5kaWYKICAgICAs
IG1fY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGluZyhmYWxzZSkKICNpZiAhQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT05fRElTQUJMRUQKICAgICAsIG1fZGVzdHJ1Y3Rv
ckhhc0JlZW5DYWxsZWQoZmFsc2UpCkBAIC01MTQsOSArNTExLDYgQEAgaW5saW5lIENTU1NlbGVj
dG9yOjpDU1NTZWxlY3Rvcihjb25zdCBDUwogICAgICwgbV9oYXNOYW1lV2l0aENhc2Uoby5tX2hh
c05hbWVXaXRoQ2FzZSkKICAgICAsIG1faXNGb3JQYWdlKG8ubV9pc0ZvclBhZ2UpCiAgICAgLCBt
X3RhZ0lzRm9yTmFtZXNwYWNlUnVsZShvLm1fdGFnSXNGb3JOYW1lc3BhY2VSdWxlKQotI2lmIEVO
QUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKLSAgICAsIG1fZGVzY2VuZGFudERvdWJsZUNoaWxk
U3ludGF4KG8ubV9kZXNjZW5kYW50RG91YmxlQ2hpbGRTeW50YXgpCi0jZW5kaWYKICAgICAsIG1f
Y2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlVmFsdWVNYXRjaGluZyhvLm1fY2FzZUluc2Vuc2l0aXZl
QXR0cmlidXRlVmFsdWVNYXRjaGluZykKICNpZiAhQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElD
QVRJT05fRElTQUJMRUQKICAgICAsIG1fZGVzdHJ1Y3Rvckhhc0JlZW5DYWxsZWQoZmFsc2UpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvUnVsZUZlYXR1cmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9SdWxlRmVhdHVyZS5jcHAJKHJldmlzaW9uIDIwODEyMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9SdWxlRmVhdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcg
Kzc3LDcgQEAgdm9pZCBSdWxlRmVhdHVyZVNldDo6cmVjdXJzaXZlbHlDb2xsZWN0RgogICAgICAg
ICAgICAgICAgIHJlY3Vyc2l2ZWx5Q29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKHNlbGVjdG9y
RmVhdHVyZXMsICpzdWJTZWxlY3RvciwgbWF0Y2hlc0FuY2VzdG9yKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQotICAgICAgICBpZiAoc2VsZWN0b3ItPnJlbGF0aW9uKCkgPT0gQ1NTU2VsZWN0
b3I6OkNoaWxkIHx8IHNlbGVjdG9yLT5yZWxhdGlvbigpID09IENTU1NlbGVjdG9yOjpEZXNjZW5k
YW50KQorICAgICAgICBpZiAoc2VsZWN0b3ItPmhhc0Rlc2NlbmRhbnRPckNoaWxkUmVsYXRpb24o
KSkKICAgICAgICAgICAgIG1hdGNoZXNBbmNlc3RvciA9IHRydWU7CiAKICAgICAgICAgc2VsZWN0
b3IgPSBzZWxlY3Rvci0+dGFnSGlzdG9yeSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yQ2hlY2tlci5jcHAJKHJldmlzaW9uIDIwODEyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9T
ZWxlY3RvckNoZWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjAsNyArMzIwLDcgQEAgU2Vs
ZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZQogICAgICAgICAgICAgcmV0dXJu
IE1hdGNoUmVzdWx0OjpmYWlscyhNYXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogCiAg
ICAgICAgIC8vIERpc2FibGUgOnZpc2l0ZWQgbWF0Y2hpbmcgd2hlbiB3ZSB0cnkgdG8gbWF0Y2gg
YW55dGhpbmcgZWxzZSB0aGFuIGFuIGFuY2VzdG9ycy4KLSAgICAgICAgaWYgKHJlbGF0aW9uICE9
IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50ICYmIHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpDaGls
ZCkKKyAgICAgICAgaWYgKCFjb250ZXh0LnNlbGVjdG9yLT5oYXNEZXNjZW5kYW50T3JDaGlsZFJl
bGF0aW9uKCkpCiAgICAgICAgICAgICBuZXh0Q29udGV4dC52aXNpdGVkTWF0Y2hUeXBlID0gVmlz
aXRlZE1hdGNoVHlwZTo6RGlzYWJsZWQ7CiAKICAgICAgICAgbmV4dENvbnRleHQucHNldWRvSWQg
PSBOT1BTRVVETzsKQEAgLTMzMCw3ICszMzAsMTAgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJl
c3VsdCBTZWxlY3RvckNoZQogICAgIH0KIAogICAgIHN3aXRjaCAocmVsYXRpb24pIHsKLSAgICBj
YXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50OgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRlc2Nl
bmRhbnRTcGFjZToKKyNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKKyAgICBjYXNlIENT
U1NlbGVjdG9yOjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ6CisjZW5kaWYKICAgICAgICAgbmV4dENv
bnRleHQgPSBsb2NhbENvbnRleHRGb3JQYXJlbnQobmV4dENvbnRleHQpOwogICAgICAgICBuZXh0
Q29udGV4dC5maXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9IG5leHRDb250ZXh0LnNlbGVjdG9y
OwogICAgICAgICBmb3IgKDsgbmV4dENvbnRleHQuZWxlbWVudDsgbmV4dENvbnRleHQgPSBsb2Nh
bENvbnRleHRGb3JQYXJlbnQobmV4dENvbnRleHQpKSB7CkBAIC0xMTk3LDcgKzEyMDAsNyBAQCB1
bnNpZ25lZCBTZWxlY3RvckNoZWNrZXI6OmRldGVybWluZUxpbmtNCiAgICAgICAgIGF1dG8gcmVs
YXRpb24gPSBzZWxlY3Rvci0+cmVsYXRpb24oKTsKICAgICAgICAgaWYgKHJlbGF0aW9uID09IENT
U1NlbGVjdG9yOjpTdWJzZWxlY3RvcikKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBp
ZiAocmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQgJiYgcmVsYXRpb24gIT0gQ1NT
U2VsZWN0b3I6OkNoaWxkKQorICAgICAgICBpZiAoIXNlbGVjdG9yLT5oYXNEZXNjZW5kYW50T3JD
aGlsZFJlbGF0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gbGlua01hdGNoVHlwZTsKICAgICAg
ICAgaWYgKGxpbmtNYXRjaFR5cGUgIT0gTWF0Y2hBbGwpCiAgICAgICAgICAgICByZXR1cm4gbGlu
a01hdGNoVHlwZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckZpbHRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yRmlsdGVyLmNwcAkocmV2
aXNpb24gMjA4MTIwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yRmlsdGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQyLDcgKzE0MiwxMCBAQCB2b2lkIFNlbGVjdG9yRmlsdGVyOjpj
b2xsZWN0SWRlbnRpZmllckhhCiAgICAgICAgICAgICAvLyBEaXNhYmxlIGZhc3RSZWplY3RTZWxl
Y3Rvci4KICAgICAgICAgICAgICppZGVudGlmaWVySGFzaGVzID0gMDsKICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudDoKKyAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNwYWNlOgorI2lmIEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNAorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ6
CisjZW5kaWYKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q2hpbGQ6CiAgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlNoYWRvd1BzZXVkbzoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hh
ZG93RGVlcDoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZh
bHVlcy5jcHAJKHJldmlzaW9uIDIwODEyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VyVmFsdWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgxLDExICs0ODEsMTEgQEAg
dm9pZCBDU1NQYXJzZXJTZWxlY3Rvcjo6YXBwZW5kVGFnSGlzdG9yeQogICAgICAgICBzZWxlY3Rv
clJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OkNoaWxkOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRvcjo6RGVzY2VuZGFudFNwYWNlOgotICAgICAgICBz
ZWxlY3RvclJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQ7CisgICAgICAgIHNlbGVj
dG9yUmVsYXRpb24gPSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNwYWNlOwogICAgICAgICBicmVh
azsKICNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAgY2FzZSBDU1NQYXJzZXJT
ZWxlY3RvckNvbWJpbmF0b3I6OkRlc2NlbmRhbnREb3VibGVDaGlsZDoKLSAgICAgICAgc2VsZWN0
b3JSZWxhdGlvbiA9IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50OworICAgICAgICBzZWxlY3RvclJl
bGF0aW9uID0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnREb3VibGVDaGlsZDsKICAgICAgICAgYnJl
YWs7CiAjZW5kaWYKICAgICBjYXNlIENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRvcjo6RGlyZWN0
QWRqYWNlbnQ6CkBAIC01MDUsMTIgKzUwNSw2IEBAIHZvaWQgQ1NTUGFyc2VyU2VsZWN0b3I6OmFw
cGVuZFRhZ0hpc3RvcnkKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGVuZC0+c2V0UmVsYXRp
b24oc2VsZWN0b3JSZWxhdGlvbik7Ci0KLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQp
Ci0gICAgaWYgKHJlbGF0aW9uID09IENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRvcjo6RGVzY2Vu
ZGFudERvdWJsZUNoaWxkKQotICAgICAgICBlbmQtPnNldERlc2NlbmRhbnRVc2VEb3VibGVDaGls
ZFN5bnRheCgpOwotI2VuZGlmCi0KICAgICBlbmQtPnNldFRhZ0hpc3RvcnkoV1RGTW92ZShzZWxl
Y3RvcikpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZh
bHVlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
VmFsdWVzLmgJKHJldmlzaW9uIDIwODEyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VyVmFsdWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3NSwxMCArMjc1LDYgQEAgcHVi
bGljOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gcmVsZWFzZVRhZ0hp
c3RvcnkoKTsKIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCi0g
ICAgdm9pZCBzZXREZXNjZW5kYW50VXNlRG91YmxlQ2hpbGRTeW50YXgoKSB7IG1fc2VsZWN0b3It
PnNldERlc2NlbmRhbnRVc2VEb3VibGVDaGlsZFN5bnRheCgpOyB9Ci0jZW5kaWYKLQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxDU1NTZWxlY3Rvcj4gbV9zZWxlY3RvcjsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8Q1NTUGFyc2VyU2VsZWN0b3I+IG1fdGFnSGlzdG9yeTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAkocmV2aXNpb24gMjA4
MTIwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0OSw2ICsxNDksMTQgQEAgdW5zaWduZWQgZXh0cmFjdENvbXBv
dW5kRmxhZ3MoY29uc3QgQ1NTUAogCiB9IC8vIG5hbWVzcGFjZQogCitzdGF0aWMgYm9vbCBpc0Rl
c2NlbmRhbnRDb21iaW5hdG9yKENTU1NlbGVjdG9yOjpSZWxhdGlvblR5cGUgcmVsYXRpb24pCit7
CisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUlNfTEVWRUw0KQorICAgIHJldHVybiByZWxhdGlvbiA9
PSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNwYWNlIHx8IHJlbGF0aW9uID09IENTU1NlbGVjdG9y
OjpEZXNjZW5kYW50RG91YmxlQ2hpbGQ7CisjZWxzZQorICAgIHJldHVybiByZWxhdGlvbiA9PSBD
U1NTZWxlY3Rvcjo6RGVzY2VuZGFudFNwYWNlOworI2VuZGlmCit9CiBzdGQ6OnVuaXF1ZV9wdHI8
Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lQ29tcGxleFNlbGVj
dG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogewogICAgIHN0ZDo6dW5pcXVlX3B0cjxD
U1NQYXJzZXJTZWxlY3Rvcj4gc2VsZWN0b3IgPSBjb25zdW1lQ29tcG91bmRTZWxlY3RvcihyYW5n
ZSk7CkBAIC0xNjMsNyArMTcxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9y
PiBDU1NTZQogICAgIHdoaWxlIChhdXRvIGNvbWJpbmF0b3IgPSBjb25zdW1lQ29tYmluYXRvcihy
YW5nZSkpIHsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBuZXh0
U2VsZWN0b3IgPSBjb25zdW1lQ29tcG91bmRTZWxlY3RvcihyYW5nZSk7CiAgICAgICAgIGlmICgh
bmV4dFNlbGVjdG9yKQotICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmF0b3IgPT0gQ1NTU2VsZWN0
b3I6OkRlc2NlbmRhbnQgPyBXVEZNb3ZlKHNlbGVjdG9yKSA6IG51bGxwdHI7CisgICAgICAgICAg
ICByZXR1cm4gaXNEZXNjZW5kYW50Q29tYmluYXRvcihjb21iaW5hdG9yKSA/IFdURk1vdmUoc2Vs
ZWN0b3IpIDogbnVsbHB0cjsKICAgICAgICAgaWYgKHByZXZpb3VzQ29tcG91bmRGbGFncyAmIEhh
c1BzZXVkb0VsZW1lbnRGb3JSaWdodG1vc3RDb21wb3VuZCkKICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgICAgICBDU1NQYXJzZXJTZWxlY3RvciogZW5kID0gbmV4dFNlbGVjdG9yLmdl
dCgpOwpAQCAtNjQ4LDcgKzY1Niw3IEBAIENTU1NlbGVjdG9yOjpSZWxhdGlvblR5cGUgQ1NTU2Vs
ZWN0b3JQYXIKICAgICBhdXRvIGZhbGxiYWNrUmVzdWx0ID0gQ1NTU2VsZWN0b3I6OlN1YnNlbGVj
dG9yOwogICAgIHdoaWxlIChyYW5nZS5wZWVrKCkudHlwZSgpID09IFdoaXRlc3BhY2VUb2tlbikg
ewogICAgICAgICByYW5nZS5jb25zdW1lKCk7Ci0gICAgICAgIGZhbGxiYWNrUmVzdWx0ID0gQ1NT
U2VsZWN0b3I6OkRlc2NlbmRhbnQ7CisgICAgICAgIGZhbGxiYWNrUmVzdWx0ID0gQ1NTU2VsZWN0
b3I6OkRlc2NlbmRhbnRTcGFjZTsKICAgICB9CiAKICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUo
KSAhPSBEZWxpbWl0ZXJUb2tlbikKQEAgLTY2MywxMCArNjcxLDkgQEAgQ1NTU2VsZWN0b3I6OlJl
bGF0aW9uVHlwZSBDU1NTZWxlY3RvclBhcgogICAgICAgICBpZiAoZGVsaW1pdGVyID09ICd+JykK
ICAgICAgICAgICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6SW5kaXJlY3RBZGphY2VudDsKICNpZiBF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKLSAgICAgICAgLy8gRklYTUUtTkVXUEFSU0VSOiBO
ZWVkIHRvIHNldCB0aGF0IHRoaXMgd2FzIGEgPj4gc28gc2VyaWFsaXphdGlvbiBpcyBjb3JyZWN0
CiAgICAgICAgIGlmIChkZWxpbWl0ZXIgPT0gJz4nICYmIHJhbmdlLnBlZWsoKS50eXBlKCkgPT0g
RGVsaW1pdGVyVG9rZW4gJiYgcmFuZ2UucGVlaygpLmRlbGltaXRlcigpID09ICc+JykgewogICAg
ICAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKLSAgICAgICAgICAg
IHJldHVybiBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudDsKKyAgICAgICAgICAgIHJldHVybiBDU1NT
ZWxlY3Rvcjo6RGVzY2VuZGFudERvdWJsZUNoaWxkOwogICAgICAgICB9CiAjZW5kaWYKICAgICAg
ICAgcmV0dXJuIENTU1NlbGVjdG9yOjpDaGlsZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzc2pp
dC9TZWxlY3RvckNvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Nq
aXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHJldmlzaW9uIDIwODAzMCkKKysrIFNvdXJjZS9XZWJD
b3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAyLDcg
KzQwMiwxMCBAQCBTZWxlY3RvckNvbXBpbGF0aW9uU3RhdHVzIGNvbXBpbGVTZWxlY3RvCiBzdGF0
aWMgaW5saW5lIEZyYWdtZW50UmVsYXRpb24gZnJhZ21lbnRSZWxhdGlvbkZvclNlbGVjdG9yUmVs
YXRpb24oQ1NTU2VsZWN0b3I6OlJlbGF0aW9uVHlwZSByZWxhdGlvbikKIHsKICAgICBzd2l0Y2gg
KHJlbGF0aW9uKSB7Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudDoKKyAgICBjYXNl
IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50U3BhY2U6CisjaWYgRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudERvdWJsZUNoaWxkOgorI2Vu
ZGlmCiAgICAgICAgIHJldHVybiBGcmFnbWVudFJlbGF0aW9uOjpEZXNjZW5kYW50OwogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OkNoaWxkOgogICAgICAgICByZXR1cm4gRnJhZ21lbnRSZWxhdGlvbjo6
Q2hpbGQ7Cg==
</data>
<flag name="review"
          id="316244"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>