<?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>108490</bug_id>
          
          <creation_ts>2013-01-31 09:10:18 -0800</creation_ts>
          <short_desc>Use ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts in DOM</short_desc>
          <delta_ts>2013-02-01 08:19:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Abhishek Arya">inferno</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbarton</cc>
    
    <cc>d-r</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fmalita</cc>
    
    <cc>jamesr</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>oliver</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>821573</commentid>
    <comment_count>0</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-01-31 09:10:18 -0800</bug_when>
    <thetext>We have found numerous bugs (&gt;12) after patch in http://trac.webkit.org/changeset/140640. This is another patch in sequence for dom nodes, css stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821660</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-01-31 10:46:30 -0800</bug_when>
    <thetext>Can we get a bug that tracks all the bugs found by ASSERT_WITH_SECURITY_IMPLICATION?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821687</commentid>
    <comment_count>2</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-01-31 10:58:39 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Can we get a bug that tracks all the bugs found by ASSERT_WITH_SECURITY_IMPLICATION?

Ok, starting to add &quot;Depends on 107699&quot; on those bugs. note that some bugs are filed in chromium repo are not upstreamed yet, i will do that in a day or two, just came back from a vacation :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821955</commentid>
    <comment_count>3</comment_count>
      <attachid>185865</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-01-31 14:25:48 -0800</bug_when>
    <thetext>Created attachment 185865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822082</commentid>
    <comment_count>4</comment_count>
      <attachid>185865</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-31 16:11:46 -0800</bug_when>
    <thetext>Comment on attachment 185865
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822083</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-31 16:12:14 -0800</bug_when>
    <thetext>Have you documented in Assertions.h where/when these should be used?  It&apos;s important that we do that so that other developers are not confused. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822184</commentid>
    <comment_count>6</comment_count>
      <attachid>185865</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 17:41:04 -0800</bug_when>
    <thetext>Comment on attachment 185865
Patch

Clearing flags on attachment: 185865

Committed r141516: &lt;http://trac.webkit.org/changeset/141516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822185</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-31 17:41:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822807</commentid>
    <comment_count>8</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-02-01 08:19:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Have you documented in Assertions.h where/when these should be used?  It&apos;s important that we do that so that other developers are not confused. :)

Yes, there is a comment in there explaining the meaning and use of the assert. I plan to expand on the comment soon.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185865</attachid>
            <date>2013-01-31 14:25:48 -0800</date>
            <delta_ts>2013-01-31 17:41:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108490-20130131142232.patch</filename>
            <type>text/plain</type>
            <size>19444</size>
            <attacher name="Abhishek Arya">inferno</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk2Nzk4ZTA0ZWE5ODcw
MzY5MmZlM2NmMDhjMzFjYzBjMWVlZjMyNC4uMmRjMmYwZGU0MzNjOWE5M2FhZWYzNjEzNThjM2M0
OTZhMjk4ODk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEzLTAxLTMxICBBYmhp
c2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXNlIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OIHRvIGNhdGNoIGJhZCBjYXN0cyBpbiBET00KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODQ5MAorIAorICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9Db250YWlu
ZXJOb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjp0b0NvbnRhaW5lck5vZGUpOgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b0VsZW1lbnQpOgorICAgICAgICAq
IGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b1NoYWRvd1Jvb3QpOgorICAg
ICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b1RleHQpOgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OnRvSFRNTEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lT3duZXJFbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b0ZyYW1lT3duZXJFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6aGFzTWVkaWFDb250cm9scyk6CisgICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSFRNTFRlbXBsYXRlRWxlbWVudCk6Cisg
ICAgICAgICogaHRtbC9IVE1MVW5rbm93bkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
SFRNTFVua25vd25FbGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2lu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6dG9JbnNlcnRpb25Qb2ludCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om1lZGlhQ29udHJvbEVsZW1lbnRUeXBlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xzLmg6CisgICAgICAgIChXZWJDb3JlOjp0b01lZGlhQ29udHJvbHMpOgorICAgICAgICAq
IGh0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6dG9T
bGlkZXJUaHVtYkVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6dG9JbnB1dEZpZWxkU3BlZWNoQnV0dG9u
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svV2ViVlRURWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
dG9XZWJWVFRFbGVtZW50KToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6dG9NYXRoTUxFbGVtZW50KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6dG9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Njcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpyZXNpemUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVzb3Vy
Y2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlZ2lzdGVyUGVuZGluZ1Jlc291cmNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNlczo6YnVpbGRDYWNoZWRSZXNvdXJjZXMpOgorICAg
ICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b1NWR0VsZW1lbnQp
OgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0
b1NWR1N0eWxlZEVsZW1lbnQpOgorCiAyMDEzLTAxLTMxICBBbmRyZXkgTHVzaG5pa292ICA8bHVz
aG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBvdmVybGF5IGhp
Z2hsaWdodCBpbiBEVEUgZ2V0cyBtZXNzZWQgdXAgd2hlbiB6b29tIGZhY3RvciBjaGFuZ2VzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKaW5kZXggMTMyMWRmZDRiYTk1OGMxYTdiMTNiM2Q1
ZGE1ZTRiZGE2NzRmMDlhOC4uNjQxZTc5YzczZDRjNGYwMjkxMjYxNWIzYjU4NzYwMmJmZmI1ZThh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCkBAIC0xNzUsMTMgKzE3NSwxMyBAQCBi
b29sIGNoaWxkQXR0YWNoZWRBbGxvd2VkV2hlbkF0dGFjaGluZ0NoaWxkcmVuKENvbnRhaW5lck5v
ZGUqKTsKIAogaW5saW5lIENvbnRhaW5lck5vZGUqIHRvQ29udGFpbmVyTm9kZShOb2RlKiBub2Rl
KQogewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5pc0NvbnRhaW5lck5vZGUoKSk7CisgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNDb250YWlu
ZXJOb2RlKCkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb250YWluZXJOb2RlKj4obm9kZSk7
CiB9CiAKIGlubGluZSBjb25zdCBDb250YWluZXJOb2RlKiB0b0NvbnRhaW5lck5vZGUoY29uc3Qg
Tm9kZSogbm9kZSkKIHsKLSAgICBBU1NFUlQoIW5vZGUgfHwgbm9kZS0+aXNDb250YWluZXJOb2Rl
KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUt
PmlzQ29udGFpbmVyTm9kZSgpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ29udGFp
bmVyTm9kZSo+KG5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCAyM2M1NjljMGQ0NGFl
N2Q0MjAzMjFmYWMxNDIwN2JkMGVjYjdhYjNlLi42MTBhZTdiNjc4YWYyMjIwZDM5ZmMwM2YwODdm
ZWFjODRhNTkxNWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTYxNywxMyArNjE3LDEzIEBAIHBy
aXZhdGU6CiAgICAgCiBpbmxpbmUgRWxlbWVudCogdG9FbGVtZW50KE5vZGUqIG5vZGUpCiB7Ci0g
ICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmlzRWxlbWVudE5vZGUoKSk7CisgICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNFbGVtZW50Tm9kZSgpKTsK
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpOwogfQogCiBpbmxpbmUgY29u
c3QgRWxlbWVudCogdG9FbGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCiB7Ci0gICAgQVNTRVJUKCFu
b2RlIHx8IG5vZGUtPmlzRWxlbWVudE5vZGUoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNFbGVtZW50Tm9kZSgpKTsKICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgRWxlbWVudCo+KG5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaAppbmRleCBiNjM5ZTY4ZTRmMTdjMGRhNGExMGIyNGQxZmY4NTdhY2M0NzU5M2FlLi42Mzdm
ZjljZjg0ZDc0MWQ3OGI1ZjkwMGJiMmQ3OWExYzlhYmQ4MjFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKQEAgLTEyOCw3ICsxMjgsNyBAQCBpbmxpbmUgRWxlbWVudCogU2hhZG93Um9vdDo6YWN0
aXZlRWxlbWVudCgpIGNvbnN0CiAKIGlubGluZSBjb25zdCBTaGFkb3dSb290KiB0b1NoYWRvd1Jv
b3QoY29uc3QgTm9kZSogbm9kZSkKIHsKLSAgICBBU1NFUlQoIW5vZGUgfHwgbm9kZS0+aXNTaGFk
b3dSb290KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8
IG5vZGUtPmlzU2hhZG93Um9vdCgpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU2hh
ZG93Um9vdCo+KG5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaAppbmRleCA2ZTNhNDE4NDk2MDcxY2VkMTJj
NmUzZjFmMzY5MjVjYzNjYmY2MTEwLi42N2FiMTY4YzBhY2RkNGJmNDQ0NDIxMGZlZTNiMzg5ZTA4
YmE1MmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UZXh0LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHJpdmF0ZToKIAogaW5saW5l
IFRleHQqIHRvVGV4dChOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5p
c1RleHROb2RlKCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2Rl
IHx8IG5vZGUtPmlzVGV4dE5vZGUoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRleHQqPihu
b2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCmluZGV4IGI4YTYwNTdkM2IxZWQy
ZjkwNWVlMzA2MjY0YjdkMzNhM2YyNGFjZDYuLmMyOGYzY2NjZjE0NjBhYWYyYjQzZDMwN2FiNzUx
ZjI0MmUyOTBiYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKQEAgLTEwMiw5ICsxMDIs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXRJdGVtUmVmRWxlbWVudHMoVmVjdG9yPEhUTUxFbGVt
ZW50Kj4mKTsKICNlbmRpZgogCi0jaWZuZGVmIE5ERUJVRwogICAgIHZpcnR1YWwgYm9vbCBpc0hU
TUxVbmtub3duRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5kaWYKIAogICAg
IHZpcnR1YWwgYm9vbCBpc0xhYmVsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzRm9jdXNhYmxlQnlDbGlja09uTGFiZWwoKSBjb25zdDsKQEAgLTE1Mywx
MyArMTUxLDEzIEBAIHByaXZhdGU6CiAKIGlubGluZSBIVE1MRWxlbWVudCogdG9IVE1MRWxlbWVu
dChOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5pc0hUTUxFbGVtZW50
KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUt
PmlzSFRNTEVsZW1lbnQoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4o
bm9kZSk7CiB9CiAKIGlubGluZSBjb25zdCBIVE1MRWxlbWVudCogdG9IVE1MRWxlbWVudChjb25z
dCBOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5pc0hUTUxFbGVtZW50
KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUt
PmlzSFRNTEVsZW1lbnQoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEhUTUxFbGVt
ZW50Kj4obm9kZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZy
YW1lT3duZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxl
bWVudC5oCmluZGV4IGQwN2VjZTBiNjFiMmZlNjg0NjY2NDFjMDNhZDdkZGNiZTMxMDJiYzIuLjk4
NzlkMDcwM2M5NmI0ZGNkOTYyYzhhZDE3ODk0N2RjYjQ5MjU1YjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaApAQCAtNzQsNyArNzQsNyBAQCBwcml2YXRl
OgogCiBpbmxpbmUgSFRNTEZyYW1lT3duZXJFbGVtZW50KiB0b0ZyYW1lT3duZXJFbGVtZW50KE5v
ZGUqIG5vZGUpCiB7Ci0gICAgQVNTRVJUKCFub2RlIHx8IG5vZGUtPmlzRnJhbWVPd25lckVsZW1l
bnQoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9k
ZS0+aXNGcmFtZU93bmVyRWxlbWVudCgpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTEZy
YW1lT3duZXJFbGVtZW50Kj4obm9kZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCmluZGV4IDI0YzFkYjQwZDFmYTdlNDZiZGE2ODAyYmYyZTU2MzcyNDY5ZWZi
YWMuLjVkYjI2NzUwZjBlMmMwMzIyMWUxYzgzYzMzOThiMTA1M2ZlYmMwYzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNDI3NCw3ICs0Mjc0LDcgQEAgYm9v
bCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYUNvbnRyb2xzKCkgY29uc3QKIHsKICAgICBpZiAo
U2hhZG93Um9vdCogdXNlckFnZW50ID0gdXNlckFnZW50U2hhZG93Um9vdCgpKSB7CiAgICAgICAg
IE5vZGUqIG5vZGUgPSB1c2VyQWdlbnQtPmZpcnN0Q2hpbGQoKTsKLSAgICAgICAgQVNTRVJUKCFu
b2RlIHx8IG5vZGUtPmlzTWVkaWFDb250cm9scygpKTsKKyAgICAgICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNNZWRpYUNvbnRyb2xzKCkpOwogICAg
ICAgICByZXR1cm4gbm9kZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwCmluZGV4IDI3YjhjODZmZDkyMDkxNTI0ZDAwNDg5NWZiMjc1ZWVhNmQ3
OWEwMTMuLjkyZTdlZTc5ZGU5MTBmYjg5ZDAxNWU5NmMxYmM4NDJkMWIyYTc2OTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcApAQCAtODgsNyArODgsNyBA
QCB2b2lkIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50
KiBvbGREb2N1bWVudCkKICNpZm5kZWYgTkRFQlVHCiBjb25zdCBIVE1MVGVtcGxhdGVFbGVtZW50
KiB0b0hUTUxUZW1wbGF0ZUVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKIHsKLSAgICBBU1NFUlQo
IW5vZGUgfHwgKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSAmJiBub2RlLT5oYXNUYWdOYW1lKHRlbXBs
YXRlVGFnKSkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8
IChub2RlLT5pc0hUTUxFbGVtZW50KCkgJiYgbm9kZS0+aGFzVGFnTmFtZSh0ZW1wbGF0ZVRhZykp
KTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTFRlbXBsYXRlRWxlbWVudCo+KG5v
ZGUpOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxVbmtu
b3duRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVW5rbm93bkVsZW1lbnQuaApp
bmRleCAyOGNhODM3OGQwZjAxN2Y2NTE4MTBhZDNjZjA4NDg0NmVkMjI5Mzk3Li4wN2Q2MjY1OWI2
NTYwMDY3MDRlY2ZjYTM4Y2Q5ZTU0Y2NjZDE0ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxVbmtub3duRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFVua25vd25FbGVtZW50LmgKQEAgLTQxLDkgKzQxLDcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEhUTUxVbmtub3duRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwog
ICAgIH0KIAotI2lmbmRlZiBOREVCVUcKICAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MVW5rbm93bkVs
ZW1lbnQoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9Ci0jZW5kaWYKIAogcHJpdmF0
ZToKICAgICBIVE1MVW5rbm93bkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQpAQCAtNTQsNyArNTIsNyBAQCBwcml2YXRlOgogCiBpbmxpbmUg
SFRNTFVua25vd25FbGVtZW50KiB0b0hUTUxVbmtub3duRWxlbWVudChIVE1MRWxlbWVudCogZWxl
bWVudCkKIHsKLSAgICBBU1NFUlQoIWVsZW1lbnQgfHwgZWxlbWVudC0+aXNIVE1MVW5rbm93bkVs
ZW1lbnQoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIWVsZW1lbnQg
fHwgZWxlbWVudC0+aXNIVE1MVW5rbm93bkVsZW1lbnQoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEhUTUxVbmtub3duRWxlbWVudCo+KGVsZW1lbnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAppbmRleCA3NDI0M2U5Y2FhNDUzN2M1OTRhOTI5
MGI0NjgxMWUzYjYwMDViY2U2Li5kMTg4YzQ3OGExOWFmYzUxOGU4MjBkOWE4ZmFmY2JhZTJkOWRl
OTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2lu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKQEAg
LTEwNSwxMyArMTA1LDEzIEBAIHByaXZhdGU6CiAKIGlubGluZSBJbnNlcnRpb25Qb2ludCogdG9J
bnNlcnRpb25Qb2ludChOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5p
c0luc2VydGlvblBvaW50KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFub2RlIHx8IG5vZGUtPmlzSW5zZXJ0aW9uUG9pbnQoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PEluc2VydGlvblBvaW50Kj4obm9kZSk7CiB9CiAKIGlubGluZSBjb25zdCBJbnNlcnRpb25Q
b2ludCogdG9JbnNlcnRpb25Qb2ludChjb25zdCBOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCgh
bm9kZSB8fCBub2RlLT5pc0luc2VydGlvblBvaW50KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPmlzSW5zZXJ0aW9uUG9pbnQoKSk7CiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEluc2VydGlvblBvaW50Kj4obm9kZSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRU
eXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
VHlwZXMuY3BwCmluZGV4IDdjMTIwYzIxYTM4YTM5MTk2ZTg0NzQzZTQ1YjAzOWNmOGNhZmYwZmIu
Ljk4ZDgwMWI5ODVkY2Q1OGFkNDZmN2U0ZWFiZjc5MzgwMTVlNWZkODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNw
cApAQCAtNjYsNyArNjYsNyBAQCBIVE1MTWVkaWFFbGVtZW50KiB0b1BhcmVudE1lZGlhRWxlbWVu
dChOb2RlKiBub2RlKQogCiBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBtZWRpYUNvbnRyb2xFbGVt
ZW50VHlwZShOb2RlKiBub2RlKQogewotICAgIEFTU0VSVChub2RlLT5pc01lZGlhQ29udHJvbEVs
ZW1lbnQoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04obm9kZS0+aXNN
ZWRpYUNvbnRyb2xFbGVtZW50KCkpOwogICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1M
RWxlbWVudChub2RlKTsKICAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQqPihlbGVt
ZW50KS0+ZGlzcGxheVR5cGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbHMuaAppbmRleCA4ZjJlZjQ0NjIyY2M0ZGFhMGIwZDEzNGQ0NzBmMTdhMzRjOTg5ZGY5Li5k
YWZkNThhZDQ3YmM5ZDFmYzY0YjQ3MTQ1ZTQzNTIyODNiY2YxNjA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9scy5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0
ZToKIAogaW5saW5lIE1lZGlhQ29udHJvbHMqIHRvTWVkaWFDb250cm9scyhOb2RlKiBub2RlKQog
ewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5pc01lZGlhQ29udHJvbHMoKSk7CisgICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNNZWRpYUNvbnRy
b2xzKCkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxNZWRpYUNvbnRyb2xzKj4obm9kZSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmgK
aW5kZXggMzBlY2M5ZGRmODcyMTE4ZjZkMTlhZmZlNzY0NWMyNjNkMmUxZGJkMy4uODhhZmY2NDAz
ZGIzY2Q2MWMzMzRmZDQ2ZmVlMGE1ZDlhZjE5OTVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmgKQEAgLTkzLDcgKzkzLDcgQEAgaW5saW5l
IFBhc3NSZWZQdHI8RWxlbWVudD4gU2xpZGVyVGh1bWJFbGVtZW50OjpjbG9uZUVsZW1lbnRXaXRo
b3V0QXR0cmlidXRlc0FuZEMKIAogaW5saW5lIFNsaWRlclRodW1iRWxlbWVudCogdG9TbGlkZXJU
aHVtYkVsZW1lbnQoTm9kZSogbm9kZSkKIHsKLSAgICBBU1NFUlQoIW5vZGUgfHwgbm9kZS0+aXNI
VE1MRWxlbWVudCgpKTsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCBub2RlLT5pc0hUTUxFbGVtZW50KCkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTbGlk
ZXJUaHVtYkVsZW1lbnQqPihub2RlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaAppbmRleCA4YWNkNzcwOGZkZWJh
YTY2NTdkMWM2ZGE4NzcyOTQ4ZjRkNWFkZGJhLi4zNWNjMWM4OWU2MjU2NzFlMmQ2MjNlNmMyYjdj
ZjU0OGNhZGQ3MDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
Q29udHJvbElubmVyRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9U
ZXh0Q29udHJvbElubmVyRWxlbWVudHMuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAK
IGlubGluZSBJbnB1dEZpZWxkU3BlZWNoQnV0dG9uRWxlbWVudCogdG9JbnB1dEZpZWxkU3BlZWNo
QnV0dG9uRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogewotICAgIEFTU0VSVCghZWxlbWVudCB8
fCBlbGVtZW50LT5pc0lucHV0RmllbGRTcGVlY2hCdXR0b25FbGVtZW50KCkpOworICAgIEFTU0VS
VF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFlbGVtZW50IHx8IGVsZW1lbnQtPmlzSW5wdXRG
aWVsZFNwZWVjaEJ1dHRvbkVsZW1lbnQoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PElucHV0
RmllbGRTcGVlY2hCdXR0b25FbGVtZW50Kj4oZWxlbWVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudC5oCmlu
ZGV4IGZkNWEyYzQ5NTRiYWU0ZWNmMTJiNThlYTdiMWY1MzI5YThkOThlZTUuLjIyMWU2NzliNmI1
MGY4YjRiYzE4ZTYxN2ZkNTk0OWEwYmQ4MmM2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1RleHRGaWVsZERlY29yYXRpb25FbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvVGV4dEZpZWxkRGVjb3JhdGlvbkVsZW1lbnQuaApAQCAtOTUsOCAr
OTUsOCBAQCBwcml2YXRlOgogaW5saW5lIFRleHRGaWVsZERlY29yYXRpb25FbGVtZW50KiB0b1Rl
eHRGaWVsZERlY29yYXRpb25FbGVtZW50KE5vZGUqIG5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUp
OwotICAgIEFTU0VSVChub2RlLT5pc0VsZW1lbnROb2RlKCkpOwotICAgIEFTU0VSVChzdGF0aWNf
Y2FzdDxFbGVtZW50Kj4obm9kZSktPmlzVGV4dEZpZWxkRGVjb3JhdGlvbigpKTsKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihub2RlLT5pc0VsZW1lbnROb2RlKCkpOworICAg
IEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHN0YXRpY19jYXN0PEVsZW1lbnQqPihu
b2RlKS0+aXNUZXh0RmllbGREZWNvcmF0aW9uKCkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxU
ZXh0RmllbGREZWNvcmF0aW9uRWxlbWVudCo+KG5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svV2ViVlRURWxlbWVudC5oCmluZGV4IGQzZmUxYjIyNjAyOTkwMDk4ZWVkNWM3ZGVj
YzgyNjUzYzVjOTZjNTMuLmZiNTBmMGExOTZlMjUzM2UwMmY4ZDhhNmFhZDA5MzczNTZjODc2ZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRURWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRURWxlbWVudC5oCkBAIC01MSw3ICs1
MSw3IEBAIHByaXZhdGU6CiAKIGlubGluZSBXZWJWVFRFbGVtZW50KiB0b1dlYlZUVEVsZW1lbnQo
Tm9kZSogbm9kZSkKIHsKLSAgICBBU1NFUlQoIW5vZGUgfHwgbm9kZS0+aXNXZWJWVFRFbGVtZW50
KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUt
PmlzV2ViVlRURWxlbWVudCgpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViVlRURWxlbWVu
dCo+KG5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1M
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAppbmRleCA3
MDE3ZWYzZTIxOGIwZmNhNDU0OTBjM2YwNGYxNmY1ZjA0MjFmMWE3Li43ZTBhMTY3MjFmN2YyOGQz
MTI0MjNiNTk1MTZmODE2MjUxMThiYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRo
bWwvTWF0aE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVt
ZW50LmgKQEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKIAogaW5saW5lIE1hdGhNTEVsZW1lbnQq
IHRvTWF0aE1MRWxlbWVudChOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCAobm9k
ZS0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNNYXRo
TUxFbGVtZW50KCkpKTsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9k
ZSB8fCAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2Rl
KS0+aXNNYXRoTUxFbGVtZW50KCkpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWF0aE1MRWxl
bWVudCo+KG5vZGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAppbmRleCA2NjY4YzlhMmU1OGQzNjJkZThl
YmZhZTJiZTg1ZDc2MTZhMzMxY2RkLi4yYmZiOTUxNDc4YzM2MDkyZjUwMzZkNTYyZjkwNjYzZmEw
ODQwNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0ZToKIAogaW5s
aW5lIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKiB0b1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlKFNj
cm9sbGluZ1N0YXRlTm9kZSogbm9kZSkKIHsKLSAgICBBU1NFUlQoIW5vZGUgfHwgbm9kZS0+aXNG
aXhlZE5vZGUoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUg
fHwgbm9kZS0+aXNGaXhlZE5vZGUoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNjcm9sbGlu
Z1N0YXRlRml4ZWROb2RlKj4obm9kZSk7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCmlu
ZGV4IDkxZjg0ZDBlNWQ4ZmI0MTFlYzI1MzE5YTA0MWI1YzczZjNkNTVmMjUuLjA0ODI3M2VmNmYy
NGZlMDViN2M1ODVmYWFlMGQ5OTQzMjU1YmZjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCkBA
IC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKIAogaW5saW5lIFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZSogdG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoU2Nyb2xsaW5nU3RhdGVOb2Rl
KiBub2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5pc1Njcm9sbGluZ05vZGUoKSk7
CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNT
Y3JvbGxpbmdOb2RlKCkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUqPihub2RlKTsKIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgKaW5kZXggZDk3YzM0
YjU0NTE5N2NkODVkYjUxZjk1NGE3ZmQzODlhODM3ZjJkZi4uNmY4YjIyNTRiOWFkZjVkNWFiMTMx
ZTE2ZjI5YTIzMjhjZTQ2Y2MwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgKQEAgLTcyLDcgKzcyLDcgQEAg
cHJpdmF0ZToKIAogaW5saW5lIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSogdG9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUoU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlKQogewotICAgIEFTU0VSVCgh
bm9kZSB8fCBub2RlLT5pc1N0aWNreU5vZGUoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlf
SU1QTElDQVRJT04oIW5vZGUgfHwgbm9kZS0+aXNTdGlja3lOb2RlKCkpOwogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUqPihub2RlKTsKIH0KICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGM4MzZiZTcwMjFiMTc1
YjhmYzBmNTUwMmJhODA1Zjk3NTk5YTUyNGQuLjY0MWJhZTRhNDgyYWEwZGNmYzY5YmFhM2E5OGE1
MTFiN2I2ZTc5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApA
QCAtMjM4Niw3ICsyMzg2LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cmVzaXplKGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgZXZ0LCBjb25zdCBMYXlvdXRTaXplJiBvbGRPZmYKICAgICAKICAgICBM
YXlvdXRTaXplIGRpZmZlcmVuY2UgPSAoY3VycmVudFNpemUgKyBuZXdPZmZzZXQgLSBhZGp1c3Rl
ZE9sZE9mZnNldCkuZXhwYW5kZWRUbyhtaW5pbXVtU2l6ZSkgLSBjdXJyZW50U2l6ZTsKIAotICAg
IEFTU0VSVChlbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQoKSk7CisgICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50KCkpOwogICAgIFN0eWxl
ZEVsZW1lbnQqIHN0eWxlZEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4oZWxl
bWVudCk7CiAgICAgYm9vbCBpc0JveFNpemluZ0JvcmRlciA9IHJlbmRlcmVyLT5zdHlsZSgpLT5i
b3hTaXppbmcoKSA9PSBCT1JERVJfQk9YOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1Jlc291cmNlcy5jcHAKaW5kZXggZDkwOTc0MDlkNGVkY2QwYzI4NjY0YWQzNjA0ODI2
MzQ5MDI1ZGQ0NC4uZGNkOTNjZjU0YWI5NmYyZGNjYmY4NDZmNzVkMTlkZjgzMmNiNDFjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcApAQCAtMTc5
LDcgKzE3OSw3IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIHBh
aW50aW5nUmVzb3VyY2VGcm9tU1ZHUGFpbnQoRG9jdW1lbnQqCiBzdGF0aWMgaW5saW5lIHZvaWQg
cmVnaXN0ZXJQZW5kaW5nUmVzb3VyY2UoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNpb25z
LCBjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBTVkdFbGVtZW50KiBlbGVtZW50KQogewogICAgIEFT
U0VSVChlbGVtZW50KTsKLSAgICBBU1NFUlQoZWxlbWVudC0+aXNTdHlsZWQoKSk7CisgICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oZWxlbWVudC0+aXNTdHlsZWQoKSk7CiAgICAg
ZXh0ZW5zaW9ucy0+YWRkUGVuZGluZ1Jlc291cmNlKGlkLCBzdGF0aWNfY2FzdDxTVkdTdHlsZWRF
bGVtZW50Kj4oZWxlbWVudCkpOwogfQogCkBAIC0xOTAsNyArMTkwLDcgQEAgYm9vbCBTVkdSZXNv
dXJjZXM6OmJ1aWxkQ2FjaGVkUmVzb3VyY2VzKGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0LCBj
b25zdCBTVkdSZW4KIAogICAgIE5vZGUqIG5vZGUgPSBvYmplY3QtPm5vZGUoKTsKICAgICBBU1NF
UlQobm9kZSk7Ci0gICAgQVNTRVJUKG5vZGUtPmlzU1ZHRWxlbWVudCgpKTsKKyAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihub2RlLT5pc1NWR0VsZW1lbnQoKSk7CiAKICAgICBT
VkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KG5vZGUpOwogICAg
IGlmICghZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IDhiNjQ3NzdlMTA4MzQx
ODlkY2E4ZWMwNTBmYzZlOTVlNzM3OTQ3NjIuLjdmNjMxMmZlMjgyNzVmZjc2YTRiOTgyMjJkYTgy
M2E5YzM4MzdmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtMTcwLDcgKzE3MCw3IEBA
IHN0cnVjdCBTVkdBdHRyaWJ1dGVIYXNoVHJhbnNsYXRvciB7CiAKIGlubGluZSBTVkdFbGVtZW50
KiB0b1NWR0VsZW1lbnQoRWxlbWVudCogZWxlbWVudCkKIHsKLSAgICBBU1NFUlQoIWVsZW1lbnQg
fHwgZWxlbWVudC0+aXNTVkdFbGVtZW50KCkpOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lN
UExJQ0FUSU9OKCFlbGVtZW50IHx8IGVsZW1lbnQtPmlzU1ZHRWxlbWVudCgpKTsKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KGVsZW1lbnQpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N0eWxlZEVsZW1lbnQuaAppbmRleCBkYzBmMzBiYWE2ODBhZWIzZTE0ZGZlYjBjOTAxNWIy
MTBlYWFjNTA5Li5jMDAyOTY3OGRhZjRkNzRmMzQ5MDQ5Y2FlNDhlYjdkMjllYWRjYmFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgKQEAgLTk1LDcgKzk1LDcgQEAgcHJpdmF0
ZToKIAogaW5saW5lIFNWR1N0eWxlZEVsZW1lbnQqIHRvU1ZHU3R5bGVkRWxlbWVudChOb2RlKiBu
b2RlKQogewotICAgIEFTU0VSVCghbm9kZSB8fCAobm9kZS0+aXNTdHlsZWRFbGVtZW50KCkgJiYg
bm9kZS0+aXNTVkdFbGVtZW50KCkpKTsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTighbm9kZSB8fCAobm9kZS0+aXNTdHlsZWRFbGVtZW50KCkgJiYgbm9kZS0+aXNTVkdFbGVt
ZW50KCkpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KG5vZGUp
OwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>