<?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>123984</bug_id>
          
          <creation_ts>2013-11-07 03:16:13 -0800</creation_ts>
          <short_desc>[AX] Generate toAccessibilityTableRow|Column|Cell to detect bad type casts</short_desc>
          <delta_ts>2013-11-07 21:19:35 -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>Accessibility</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>948187</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-07 03:16:13 -0800</bug_when>
    <thetext>As a step to let static_cast&lt;&gt; use TYPE_CASTS_BASE, AccessibilityTableRow|Column|Cell use ACCESSIBILITY_OBJECT_TYPE_CASTS which can support more helper functions rather than manual static_cast&lt;&gt;. This change will help to detect bad type casts further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948189</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-11-07 03:17:07 -0800</bug_when>
    <thetext>&lt;rdar://problem/15412825&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948190</commentid>
    <comment_count>2</comment_count>
      <attachid>216284</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-07 03:18:30 -0800</bug_when>
    <thetext>Created attachment 216284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948212</commentid>
    <comment_count>3</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-11-07 04:15:51 -0800</bug_when>
    <thetext>Mario, how about this ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948239</commentid>
    <comment_count>4</comment_count>
      <attachid>216284</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-11-07 05:54:37 -0800</bug_when>
    <thetext>Comment on attachment 216284
Patch

(In reply to comment #3)
&gt; Mario, how about this ?

Sounds good to me too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948537</commentid>
    <comment_count>5</comment_count>
      <attachid>216284</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-07 21:19:32 -0800</bug_when>
    <thetext>Comment on attachment 216284
Patch

Clearing flags on attachment: 216284

Committed r158902: &lt;http://trac.webkit.org/changeset/158902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948539</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-07 21:19:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216284</attachid>
            <date>2013-11-07 03:18:30 -0800</date>
            <delta_ts>2013-11-07 21:19:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123984-20131107201827.patch</filename>
            <type>text/plain</type>
            <size>16133</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE4MTQzNWIyMDYwOTZi
YjUxYTJhYmQ0NWI2NjQwOTcwYWQwZjM1OC4uMTYxOTFmYTQ2NTE0MGEzNTc1ODhjOTczNTM2OGM2
ZDllOTU4NGI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTExLTA3ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FYXSBHZW5l
cmF0ZSB0b0FjY2Vzc2liaWxpdHlUYWJsZVJvd3xDb2x1bW58Q2VsbCB0byBkZXRlY3QgYmFkIHR5
cGUgY2FzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMzk4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFzIGEgc3RlcCB0byBsZXQgc3RhdGljX2Nhc3Q8PiB1c2UgVFlQRV9DQVNUU19CQVNFLCBBY2Nl
c3NpYmlsaXR5VGFibGVSb3d8Q29sdW1ufENlbGwgdXNlCisgICAgICAgIEFDQ0VTU0lCSUxJVFlf
T0JKRUNUX1RZUEVfQ0FTVFMgd2hpY2ggY2FuIHN1cHBvcnQgbW9yZSBoZWxwZXIgZnVuY3Rpb25z
IHJhdGhlciB0aGFuIG1hbnVhbAorICAgICAgICBzdGF0aWNfY2FzdDw+LiBUaGlzIGNoYW5nZSB3
aWxsIGhlbHAgdG8gZGV0ZWN0IGJhZCB0eXBlIGNhc3RzIGZ1cnRoZXIuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eUFSSUFHcmlkOjphZGRUYWJsZUNlbGxDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nl
c3NpYmlsaXR5QVJJQUdyaWQ6OmFkZENoaWxkcmVuKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlBUklBR3JpZENlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eUFSSUFHcmlkQ2VsbDo6cm93SW5kZXhSYW5nZSk6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5VGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVRhYmxlOjphZGRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
VGFibGU6OnJvd0hlYWRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVRhYmxl
Ojpjb2x1bW5IZWFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlUYWJsZTo6
Y2VsbEZvckNvbHVtbkFuZFJvdyk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVDZWxsLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGVDb2x1bW4uaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJv
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OmhlYWRlck9i
amVjdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFi
bGUuY3BwOgorICAgICAgICAoY2VsbEF0SW5kZXgpOgorICAgICAgICAod2Via2l0QWNjZXNzaWJs
ZVRhYmxlR2V0Q29sdW1uSGVhZGVyKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVUYWJsZUdl
dFJvd0hlYWRlcik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJJT1MubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyIHRhYmxlQ2VsbFBhcmVudF0pOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6XSk6CisKIDIw
MTMtMTEtMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2lt
cGxpZnkgQXR0ciBieSByZW1vdmluZyBtX3NwZWNpZmllZCBtZW1iZXIgdmFyaWFibGUgYW5kIHNl
dHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5QVJJQUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5QVJJQUdyaWQuY3BwCmluZGV4IGViNzQ0ZGNiZTAxZDg2YjJjNTY0OWUwMWMyYjc1NTU5M2Q4
ZjRiNWMuLjc0NTE1ZjcyMmY0YjUzNzdiMjZhMzI2MmNjOWI5OGUwZjllNjgyMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3Jp
ZC5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5QVJJQUdyaWQ6OmFkZFRh
YmxlQ2VsbENoaWxkKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNoaWxkLCBIYXNoU2UKICAgICBpZiAo
IWNoaWxkIHx8ICFjaGlsZC0+aXNUYWJsZVJvdygpIHx8IGNoaWxkLT5hcmlhUm9sZUF0dHJpYnV0
ZSgpICE9IFJvd1JvbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgQWNj
ZXNzaWJpbGl0eVRhYmxlUm93KiByb3cgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVS
b3cqPihjaGlsZCk7CisgICAgQWNjZXNzaWJpbGl0eVRhYmxlUm93KiByb3cgPSB0b0FjY2Vzc2li
aWxpdHlUYWJsZVJvdyhjaGlsZCk7CiAgICAgaWYgKGFwcGVuZGVkUm93cy5jb250YWlucyhyb3cp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIApAQCAtMTE5LDcgKzExOSw3IEBAIHZv
aWQgQWNjZXNzaWJpbGl0eUFSSUFHcmlkOjphZGRDaGlsZHJlbigpCiAgICAgCiAgICAgLy8gbWFr
ZSB0aGUgY29sdW1ucyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGZpcnN0
IGJvZHkKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY29sdW1uQ291bnQ7ICsraSkgewot
ICAgICAgICBBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4qIGNvbHVtbiA9IHN0YXRpY19jYXN0PEFj
Y2Vzc2liaWxpdHlUYWJsZUNvbHVtbio+KGF4Q2FjaGUtPmdldE9yQ3JlYXRlKENvbHVtblJvbGUp
KTsKKyAgICAgICAgQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKiBjb2x1bW4gPSB0b0FjY2Vzc2li
aWxpdHlUYWJsZUNvbHVtbihheENhY2hlLT5nZXRPckNyZWF0ZShDb2x1bW5Sb2xlKSk7CiAgICAg
ICAgIGNvbHVtbi0+c2V0Q29sdW1uSW5kZXgoKGludClpKTsKICAgICAgICAgY29sdW1uLT5zZXRQ
YXJlbnQodGhpcyk7CiAgICAgICAgIG1fY29sdW1ucy5hcHBlbmQoY29sdW1uKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2Vs
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlBUklBR3Jp
ZENlbGwuY3BwCmluZGV4IDNmNmI0NDJjM2RmZmIyYmJhNmIxN2ZmNTEwYjE5M2FmODg3ZWQxOTgu
LmY1N2E1ZmE5N2I5MGVmMDRkODRhNTg1M2Y2OWQxODIxZTdkYzJjM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2VsbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5QVJJQUdyaWRD
ZWxsLmNwcApAQCAtNzYsMTEgKzc2LDExIEBAIHZvaWQgQWNjZXNzaWJpbGl0eUFSSUFHcmlkQ2Vs
bDo6cm93SW5kZXhSYW5nZShwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD4mIHJvd1JhbmdlCiAKICAg
ICBpZiAocGFyZW50LT5pc1RhYmxlUm93KCkpIHsKICAgICAgICAgLy8gV2UgYWxyZWFkeSBnb3Qg
YSB0YWJsZSByb3csIHVzZSBpdHMgQVBJLgotICAgICAgICByb3dSYW5nZS5maXJzdCA9IHN0YXRp
Y19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZVJvdyo+KHBhcmVudCktPnJvd0luZGV4KCk7CisgICAg
ICAgIHJvd1JhbmdlLmZpcnN0ID0gdG9BY2Nlc3NpYmlsaXR5VGFibGVSb3cocGFyZW50KS0+cm93
SW5kZXgoKTsKICAgICB9IGVsc2UgaWYgKHBhcmVudC0+aXNBY2Nlc3NpYmlsaXR5VGFibGUoKSkg
ewogICAgICAgICAvLyBXZSByZWFjaGVkIHRoZSBwYXJlbnQgdGFibGUsIHNvIHdlIG5lZWQgdG8g
aW5zcGVjdCBpdHMKICAgICAgICAgLy8gY2hpbGRyZW4gdG8gZGV0ZXJtaW5lIHRoZSByb3cgaW5k
ZXggZm9yIHRoZSBjZWxsIGluIGl0LgotICAgICAgICB1bnNpZ25lZCBjb2x1bW5Db3VudCA9IHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZSo+KHBhcmVudCktPmNvbHVtbkNvdW50KCk7Cisg
ICAgICAgIHVuc2lnbmVkIGNvbHVtbkNvdW50ID0gdG9BY2Nlc3NpYmlsaXR5VGFibGUocGFyZW50
KS0+Y29sdW1uQ291bnQoKTsKICAgICAgICAgaWYgKCFjb2x1bW5Db3VudCkKICAgICAgICAgICAg
IHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGUuY3BwCmluZGV4IGM4NTY4ODYwMDdjMzEzZTBhYjRlYTM4ZmM5Y2NmZjExYTcz
NTg2NGUuLjg2ODBiMDgxNGMyNzE2MzRhYTI3Zjg1Nzc0ZmQyYjkwODU2MjQ5OTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZS5jcHAK
QEAgLTM1OSw3ICszNTksNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZTo6YWRkQ2hpbGRyZW4o
KQogICAgICAgICAgICAgaWYgKCFyb3dPYmplY3QtPmlzVGFibGVSb3coKSkKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgQWNjZXNzaWJpbGl0eVRh
YmxlUm93KiByb3cgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVSb3cqPihyb3dPYmpl
Y3QpOworICAgICAgICAgICAgQWNjZXNzaWJpbGl0eVRhYmxlUm93KiByb3cgPSB0b0FjY2Vzc2li
aWxpdHlUYWJsZVJvdyhyb3dPYmplY3QpOwogICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBjaGVj
ayBldmVyeSBjZWxsIGZvciBhIG5ldyByb3csIGJlY2F1c2UgY2VsbCBzcGFucwogICAgICAgICAg
ICAgLy8gY2FuIGNhdXNlIHVzIHRvIG1pc3Mgcm93cyBpZiB3ZSBqdXN0IGNoZWNrIHRoZSBmaXJz
dCBjb2x1bW4uCiAgICAgICAgICAgICBpZiAoYXBwZW5kZWRSb3dzLmNvbnRhaW5zKHJvdykpCkBA
IC0zODMsNyArMzgzLDcgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VGFibGU6OmFkZENoaWxkcmVuKCkK
ICAgICAvLyBtYWtlIHRoZSBjb2x1bW5zIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgY29sdW1ucyBp
biB0aGUgZmlyc3QgYm9keQogICAgIHVuc2lnbmVkIGxlbmd0aCA9IG1heENvbHVtbkNvdW50Owog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAgICBBY2Nl
c3NpYmlsaXR5VGFibGVDb2x1bW4qIGNvbHVtbiA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlU
YWJsZUNvbHVtbio+KGF4Q2FjaGUtPmdldE9yQ3JlYXRlKENvbHVtblJvbGUpKTsKKyAgICAgICAg
QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKiBjb2x1bW4gPSB0b0FjY2Vzc2liaWxpdHlUYWJsZUNv
bHVtbihheENhY2hlLT5nZXRPckNyZWF0ZShDb2x1bW5Sb2xlKSk7CiAgICAgICAgIGNvbHVtbi0+
c2V0Q29sdW1uSW5kZXgoKGludClpKTsKICAgICAgICAgY29sdW1uLT5zZXRQYXJlbnQodGhpcyk7
CiAgICAgICAgIG1fY29sdW1ucy5hcHBlbmQoY29sdW1uKTsKQEAgLTQzMSw3ICs0MzEsNyBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlUYWJsZTo6cm93SGVhZGVycyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5W
ZWN0b3ImIGhlYWRlcnMpCiAgICAgCiAgICAgdW5zaWduZWQgcm93Q291bnQgPSBtX3Jvd3Muc2l6
ZSgpOwogICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCByb3dDb3VudDsgKytrKSB7Ci0gICAg
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGhlYWRlciA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxp
dHlUYWJsZVJvdyo+KG1fcm93c1trXS5nZXQoKSktPmhlYWRlck9iamVjdCgpOworICAgICAgICBB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXIgPSB0b0FjY2Vzc2liaWxpdHlUYWJsZVJvdyhtX3Jv
d3Nba10uZ2V0KCkpLT5oZWFkZXJPYmplY3QoKTsKICAgICAgICAgaWYgKCFoZWFkZXIpCiAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgaGVhZGVycy5hcHBlbmQoaGVhZGVyKTsKQEAgLTQ0
Nyw3ICs0NDcsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlUYWJsZTo6Y29sdW1uSGVhZGVycyhBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGhlYWRlcnMpCiAgICAgCiAgICAgdW5zaWduZWQgY29s
Q291bnQgPSBtX2NvbHVtbnMuc2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCBj
b2xDb3VudDsgKytrKSB7Ci0gICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGhlYWRlciA9IHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbio+KG1fY29sdW1uc1trXS5nZXQoKSkt
PmhlYWRlck9iamVjdCgpOworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBoZWFkZXIgPSB0
b0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbihtX2NvbHVtbnNba10uZ2V0KCkpLT5oZWFkZXJPYmpl
Y3QoKTsKICAgICAgICAgaWYgKCFoZWFkZXIpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgaGVhZGVycy5hcHBlbmQoaGVhZGVyKTsKQEAgLTUxMSw3ICs1MTEsNyBAQCBBY2Nlc3NpYmls
aXR5VGFibGVDZWxsKiBBY2Nlc3NpYmlsaXR5VGFibGU6OmNlbGxGb3JDb2x1bW5BbmRSb3codW5z
aWduZWQgY29sdW1uLAogICAgICAgICAgICAgCiAgICAgICAgICAgICBwYWlyPHVuc2lnbmVkLCB1
bnNpZ25lZD4gY29sdW1uUmFuZ2U7CiAgICAgICAgICAgICBwYWlyPHVuc2lnbmVkLCB1bnNpZ25l
ZD4gcm93UmFuZ2U7Ci0gICAgICAgICAgICBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiB0YWJsZUNl
bGxDaGlsZCA9IHN0YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwqPihjaGlsZCk7Cisg
ICAgICAgICAgICBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiB0YWJsZUNlbGxDaGlsZCA9IHRvQWNj
ZXNzaWJpbGl0eVRhYmxlQ2VsbChjaGlsZCk7CiAgICAgICAgICAgICB0YWJsZUNlbGxDaGlsZC0+
Y29sdW1uSW5kZXhSYW5nZShjb2x1bW5SYW5nZSk7CiAgICAgICAgICAgICB0YWJsZUNlbGxDaGls
ZC0+cm93SW5kZXhSYW5nZShyb3dSYW5nZSk7CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbC5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmgKaW5kZXgg
YmU4NjY3YWY5ODE2NWFlZmMzYjgxODk0ZDZlMzg4OGUxNDU3NzcwZC4uYjgxNWUzMTc4MzZhNGNl
ZDhlMTYzM2M2YTVjMjRjNGU2MDRiYTM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsLmgKQEAgLTU5LDcgKzU5LDkgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgZXhwb3Nlc1RpdGxlVUlFbGVtZW50KCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNz
aWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IE9WRVJSSURFOwogfTsgCi0gICAgCisKK0FDQ0VTU0lC
SUxJVFlfT0JKRUNUX1RZUEVfQ0FTVFMoQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCwgaXNUYWJsZUNl
bGwoKSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKIAogI2VuZGlmIC8vIEFjY2Vzc2liaWxp
dHlUYWJsZUNlbGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uLmgKaW5kZXggNGZiMzQ0MzkzY2M4NzgyNzcyNzA1OTVl
N2NlZWM5YWZlNDE0ODk5Zi4uM2YxOWNmOWE0NTJiN2M4NGM4ODdhN2MxNDgxZDE4ZWNjNWVhNWQy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVDb2x1bW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZUNvbHVtbi5oCkBAIC02NSw3ICs2NSw5IEBAIHByaXZhdGU6CiAgICAgQWNjZXNz
aWJpbGl0eU9iamVjdCogaGVhZGVyT2JqZWN0Rm9yU2VjdGlvbihSZW5kZXJUYWJsZVNlY3Rpb24q
LCBib29sIHRoVGFnUmVxdWlyZWQpOwogICAgIHZpcnR1YWwgYm9vbCBjb21wdXRlQWNjZXNzaWJp
bGl0eUlzSWdub3JlZCgpIGNvbnN0IE9WRVJSSURFOwogfTsKLSAgIAorCitBQ0NFU1NJQklMSVRZ
X09CSkVDVF9UWVBFX0NBU1RTKEFjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbiwgaXNUYWJsZUNvbHVt
bigpKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlIAogCiAjZW5kaWYgLy8gQWNjZXNzaWJpbGl0
eVRhYmxlQ29sdW1uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVRhYmxlUm93LmNwcAppbmRleCA2NTNhMDYyMDMwODdhOGQ2NGZiOWM3NmMz
ZGM4NTNmN2I0YmQwZDM3Li45NDU1ZWU5NjgyN2E3Zjk5MjYwMDRmYzAxYTE3MmZlOTkwNGFjYzU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlU
YWJsZVJvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5VGFibGVSb3cuY3BwCkBAIC0xMjYsNyArMTI2LDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QWNjZXNzaWJpbGl0eVRhYmxlUm93OjpoZWFkZXJPYmplY3QoKQogICAgIGlmICghY2VsbC0+aXNU
YWJsZUNlbGwoKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0gICAgUmVuZGVyT2JqZWN0KiBj
ZWxsUmVuZGVyZXIgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKj4oY2VsbCkt
PnJlbmRlcmVyKCk7CisgICAgUmVuZGVyT2JqZWN0KiBjZWxsUmVuZGVyZXIgPSB0b0FjY2Vzc2li
aWxpdHlUYWJsZUNlbGwoY2VsbCktPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFjZWxsUmVuZGVyZXIp
CiAgICAgICAgIHJldHVybiAwOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgKaW5kZXggMGVlMGNlOGZhZTI4YTcxZTFi
N2FkZjE2ZjcwNjg5NjY5YWE0NzI3OC4uYzhlZWM0MjcyZWVkZGY0OTE3YzNlM2JjNDRkMjM0YTkz
Y2E5MGM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlUYWJsZVJvdy5oCkBAIC02Myw2ICs2Myw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYnNlcnZhYmxlT2JqZWN0KCkgY29uc3QgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qg
T1ZFUlJJREU7CiB9OyAKKworQUNDRVNTSUJJTElUWV9PQkpFQ1RfVFlQRV9DQVNUUyhBY2Nlc3Np
YmlsaXR5VGFibGVSb3csIGlzVGFibGVSb3coKSkKICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZSAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKaW5kZXggN2RlYWQxNmUz
MTVhYWRhMGYzYmFhMjhkODQ4OTg2ZjBiMGZhZjYwYi4uMzZlMzg0Zjk3YWYxNzM5NDg0MjJhOTJl
MWQ5YTE1NzEzMzY4MGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
CkBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiBjZWxsQXRJ
bmRleChBdGtUYWJsZSogdGFibGUsIGdpbnQgaW5kZXgpCiAgICAgICAgIHN0YXRpY19jYXN0PEFj
Y2Vzc2liaWxpdHlUYWJsZSo+KGFjY1RhYmxlKS0+Y2VsbHMoYWxsQ2VsbHMpOwogICAgICAgICBp
ZiAoMCA8PSBpbmRleCAmJiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oaW5kZXgpIDwgYWxsQ2VsbHMu
c2l6ZSgpKSB7CiAgICAgICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBhY2NDZWxsID0gYWxs
Q2VsbHMuYXQoaW5kZXgpLmdldCgpOwotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEFj
Y2Vzc2liaWxpdHlUYWJsZUNlbGwqPihhY2NDZWxsKTsKKyAgICAgICAgICAgIHJldHVybiB0b0Fj
Y2Vzc2liaWxpdHlUYWJsZUNlbGwoYWNjQ2VsbCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0
dXJuIDA7CkBAIC0yMDgsNyArMjA4LDcgQEAgc3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNz
aWJsZVRhYmxlR2V0Q29sdW1uSGVhZGVyKEF0a1RhYmxlKiB0YWJsZSwgZ2ludCBjb2wKICAgICAg
ICAgdW5zaWduZWQgY29sdW1uQ291bnQgPSBhbGxDb2x1bW5IZWFkZXJzLnNpemUoKTsKICAgICAg
ICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8IGNvbHVtbkNvdW50OyArK2spIHsKICAgICAgICAg
ICAgIHBhaXI8dW5zaWduZWQsIHVuc2lnbmVkPiBjb2x1bW5SYW5nZTsKLSAgICAgICAgICAgIEFj
Y2Vzc2liaWxpdHlUYWJsZUNlbGwqIGNlbGwgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFi
bGVDZWxsKj4oYWxsQ29sdW1uSGVhZGVycy5hdChrKS5nZXQoKSk7CisgICAgICAgICAgICBBY2Nl
c3NpYmlsaXR5VGFibGVDZWxsKiBjZWxsID0gdG9BY2Nlc3NpYmlsaXR5VGFibGVDZWxsKGFsbENv
bHVtbkhlYWRlcnMuYXQoaykuZ2V0KCkpOwogICAgICAgICAgICAgY2VsbC0+Y29sdW1uSW5kZXhS
YW5nZShjb2x1bW5SYW5nZSk7CiAgICAgICAgICAgICBpZiAoY29sdW1uUmFuZ2UuZmlyc3QgPD0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNvbHVtbikgJiYgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNv
bHVtbikgPCBjb2x1bW5SYW5nZS5maXJzdCArIGNvbHVtblJhbmdlLnNlY29uZCkKICAgICAgICAg
ICAgICAgICByZXR1cm4gYWxsQ29sdW1uSGVhZGVyc1trXS0+d3JhcHBlcigpOwpAQCAtMjI5LDcg
KzIyOSw3IEBAIHN0YXRpYyBBdGtPYmplY3QqIHdlYmtpdEFjY2Vzc2libGVUYWJsZUdldFJvd0hl
YWRlcihBdGtUYWJsZSogdGFibGUsIGdpbnQgcm93KQogICAgICAgICB1bnNpZ25lZCByb3dDb3Vu
dCA9IGFsbFJvd0hlYWRlcnMuc2l6ZSgpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGsgPSAwOyBr
IDwgcm93Q291bnQ7ICsraykgewogICAgICAgICAgICAgcGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+
IHJvd1JhbmdlOwotICAgICAgICAgICAgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCogY2VsbCA9IHN0
YXRpY19jYXN0PEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwqPihhbGxSb3dIZWFkZXJzLmF0KGspLmdl
dCgpKTsKKyAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwqIGNlbGwgPSB0b0FjY2Vz
c2liaWxpdHlUYWJsZUNlbGwoYWxsUm93SGVhZGVycy5hdChrKS5nZXQoKSk7CiAgICAgICAgICAg
ICBjZWxsLT5yb3dJbmRleFJhbmdlKHJvd1JhbmdlKTsKICAgICAgICAgICAgIGlmIChyb3dSYW5n
ZS5maXJzdCA8PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocm93KSAmJiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocm93KSA8IHJvd1JhbmdlLmZpcnN0ICsgcm93UmFuZ2Uuc2Vjb25kKQogICAgICAgICAg
ICAgICAgIHJldHVybiBhbGxSb3dIZWFkZXJzW2tdLT53cmFwcGVyKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCmluZGV4IDM5MjdlMzk0ZWJlMmJhNTFjYzc1YTU2MDhh
MWEzYTliYzkyZDZhZWYuLjdkNmIyMjA5OTc0MWE1N2IwNjdjZTEwZjYzOTI0NjIzYjdlNGFiOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCkBAIC03NzAsNyArNzcw
LDcgQEAgc3RhdGljIHZvaWQgYXBwZW5kU3RyaW5nVG9SZXN1bHQoTlNNdXRhYmxlU3RyaW5nICpy
ZXN1bHQsIE5TU3RyaW5nICpzdHJpbmcpCiAgICAgaWYgKCFjZWxsKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKj4oY2Vs
bCk7CisgICAgcmV0dXJuIHRvQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbChjZWxsKTsKIH0KIAogLSAo
QWNjZXNzaWJpbGl0eVRhYmxlKil0YWJsZVBhcmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQppbmRleCBlYzJjMzJiMGM5ZDgyNmJmYjdlNThjODBmY2EzZTdkYWU0ODVm
OTNlLi42MmJkMTMzYjMwMGFjOTBhOWZmNGQ2NzMwNTMyYmE0ZjM4YjkzZWVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtMjQwMSwxNSArMjQwMSwxNSBAQCBz
dGF0aWMgTlNTdHJpbmcqIHJvbGVWYWx1ZVRvTlNTdHJpbmcoQWNjZXNzaWJpbGl0eVJvbGUgdmFs
dWUpCiAgICAgCiAgICAgaWYgKG1fb2JqZWN0LT5pc1RhYmxlQ29sdW1uKCkpIHsKICAgICAgICAg
aWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlJbmRleEF0
dHJpYnV0ZV0pCi0gICAgICAgICAgICByZXR1cm4gW05TTnVtYmVyIG51bWJlcldpdGhJbnQ6c3Rh
dGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKj4obV9vYmplY3QpLT5jb2x1bW5JbmRl
eCgpXTsKKyAgICAgICAgICAgIHJldHVybiBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDp0b0FjY2Vz
c2liaWxpdHlUYWJsZUNvbHVtbihtX29iamVjdCktPmNvbHVtbkluZGV4KCldOwogICAgICAgICAK
ICAgICAgICAgLy8gcm93cyBhdHRyaWJ1dGUgZm9yIGEgY29sdW1uIGlzIHRoZSBsaXN0IG9mIGFs
bCB0aGUgZWxlbWVudHMgaW4gdGhhdCBjb2x1bW4gYXQgZWFjaCByb3cKICAgICAgICAgaWYgKFth
dHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlSb3dzQXR0cmlidXRl
XSB8fAogICAgICAgICAgICAgW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNz
aWJpbGl0eVZpc2libGVSb3dzQXR0cmlidXRlXSkgewotICAgICAgICAgICAgcmV0dXJuIGNvbnZl
cnRUb05TQXJyYXkoc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKj4obV9vYmpl
Y3QpLT5jaGlsZHJlbigpKTsKKyAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VG9OU0FycmF5KHRv
QWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uKG1fb2JqZWN0KS0+Y2hpbGRyZW4oKSk7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2li
aWxpdHlIZWFkZXJBdHRyaWJ1dGVdKSB7Ci0gICAgICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4qPihtX29iamVj
dCktPmhlYWRlck9iamVjdCgpOworICAgICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogaGVh
ZGVyID0gdG9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4obV9vYmplY3QpLT5oZWFkZXJPYmplY3Qo
KTsKICAgICAgICAgICAgIGlmICghaGVhZGVyKQogICAgICAgICAgICAgICAgIHJldHVybiBuaWw7
CiAgICAgICAgICAgICByZXR1cm4gaGVhZGVyLT53cmFwcGVyKCk7CkBAIC0yNDE5LDEyICsyNDE5
LDEyIEBAIHN0YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9OU1N0cmluZyhBY2Nlc3NpYmlsaXR5
Um9sZSB2YWx1ZSkKICAgICBpZiAobV9vYmplY3QtPmlzVGFibGVDZWxsKCkpIHsKICAgICAgICAg
aWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlSb3dJbmRl
eFJhbmdlQXR0cmlidXRlXSkgewogICAgICAgICAgICAgcGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+
IHJvd1JhbmdlOwotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVRhYmxlQ2Vs
bCo+KG1fb2JqZWN0KS0+cm93SW5kZXhSYW5nZShyb3dSYW5nZSk7CisgICAgICAgICAgICB0b0Fj
Y2Vzc2liaWxpdHlUYWJsZUNlbGwobV9vYmplY3QpLT5yb3dJbmRleFJhbmdlKHJvd1JhbmdlKTsK
ICAgICAgICAgICAgIHJldHVybiBbTlNWYWx1ZSB2YWx1ZVdpdGhSYW5nZTpOU01ha2VSYW5nZShy
b3dSYW5nZS5maXJzdCwgcm93UmFuZ2Uuc2Vjb25kKV07CiAgICAgICAgIH0KICAgICAgICAgaWYg
KFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlDb2x1bW5JbmRl
eFJhbmdlQXR0cmlidXRlXSkgewogICAgICAgICAgICAgcGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+
IGNvbHVtblJhbmdlOwotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8QWNjZXNzaWJpbGl0eVRhYmxl
Q2VsbCo+KG1fb2JqZWN0KS0+Y29sdW1uSW5kZXhSYW5nZShjb2x1bW5SYW5nZSk7CisgICAgICAg
ICAgICB0b0FjY2Vzc2liaWxpdHlUYWJsZUNlbGwobV9vYmplY3QpLT5jb2x1bW5JbmRleFJhbmdl
KGNvbHVtblJhbmdlKTsKICAgICAgICAgICAgIHJldHVybiBbTlNWYWx1ZSB2YWx1ZVdpdGhSYW5n
ZTpOU01ha2VSYW5nZShjb2x1bW5SYW5nZS5maXJzdCwgY29sdW1uUmFuZ2Uuc2Vjb25kKV07CiAg
ICAgICAgIH0KICAgICB9CkBAIC0yNDY3LDcgKzI0NjcsNyBAQCBzdGF0aWMgTlNTdHJpbmcqIHJv
bGVWYWx1ZVRvTlNTdHJpbmcoQWNjZXNzaWJpbGl0eVJvbGUgdmFsdWUpCiAgICAgICAgIH0KICAg
ICAgICAgaWYgKG1fb2JqZWN0LT5pc1RhYmxlUm93KCkpIHsKICAgICAgICAgICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5SW5kZXhBdHRyaWJ1dGVd
KQotICAgICAgICAgICAgICAgIHJldHVybiBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpzdGF0aWNf
Y2FzdDxBY2Nlc3NpYmlsaXR5VGFibGVSb3cqPihtX29iamVjdCktPnJvd0luZGV4KCldOworICAg
ICAgICAgICAgICAgIHJldHVybiBbTlNOdW1iZXIgbnVtYmVyV2l0aEludDp0b0FjY2Vzc2liaWxp
dHlUYWJsZVJvdyhtX29iamVjdCktPnJvd0luZGV4KCldOwogICAgICAgICB9CiAgICAgfQogICAg
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>