<?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>128310</bug_id>
          
          <creation_ts>2014-02-06 09:24:28 -0800</creation_ts>
          <short_desc>AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache</short_desc>
          <delta_ts>2014-02-06 17:24:43 -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>All</rep_platform>
          <op_sys>All</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ap</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>977375</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-06 09:24:28 -0800</bug_when>
    <thetext>From comments in
  https://bugs.webkit.org/show_bug.cgi?id=127439


#0  0x00007ffff052c95a in std::unique_ptr&lt;WebCore::AXComputedObjectAttributeCache, std::default_delete&lt;WebCore::AXComputedObjectAttributeCache&gt; &gt;::get (this=0xd0) at /usr/include/c++/4.7/bits/unique_ptr.h:223
#1  0x00007ffff055b056 in WebCore::AXObjectCache::computedObjectAttributeCache (this=0x0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.h:211
#2  0x00007ffff0559b22 in WebCore::AccessibilityObject::accessibilityIsIgnored (this=0x776e80) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityObject.cpp:2105
#3  0x00007ffff0559820 in WebCore::AccessibilityObject::notifyIfIgnoredValueChanged (this=0x776e80) at /home/michal/source/WebKit/Source/WebCore/accessibility/AccessibilityObject.cpp:2018
#4  0x00007ffff052a3f4 in WebCore::AXObjectCache::recomputeIsIgnored (this=0x813b20, renderer=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/accessibility/AXObjectCache.cpp:905
#5  0x00007ffff0fab3da in WebCore::RenderBlock::deleteLines (this=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:920
#6  0x00007ffff0fe2795 in WebCore::RenderBlockFlow::deleteLines (this=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlockFlow.cpp:1906
#7  0x00007ffff0fabce6 in WebCore::RenderBlock::collapseAnonymousBoxChild (parent=0xa1cba0, child=0x82ebb0) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:1084
#8  0x00007ffff0fac171 in WebCore::RenderBlock::removeChild (this=0xa1cba0, oldChild=...) at /home/michal/source/WebKit/Source/WebCore/rendering/RenderBlock.cpp:1160</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977377</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-06 09:24:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/16002078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977381</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-06 09:26:03 -0800</bug_when>
    <thetext>In frame 1, the cache has become null, which means asking axObjectCache() in frame 3 either found no document, or no axObjectCache at that document, which can happen when the render tree is no longer living

we need to be more careful about using the axObjectCache() in ax code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977382</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-06 09:26:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/16002095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977396</commentid>
    <comment_count>4</comment_count>
      <attachid>223342</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-06 09:46:37 -0800</bug_when>
    <thetext>Created attachment 223342
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977400</commentid>
    <comment_count>5</comment_count>
      <attachid>223342</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-06 09:54:25 -0800</bug_when>
    <thetext>Comment on attachment 223342
patch 

r=me

Please wait for EWS testers to become green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977642</commentid>
    <comment_count>6</comment_count>
      <attachid>223342</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 17:24:40 -0800</bug_when>
    <thetext>Comment on attachment 223342
patch 

Clearing flags on attachment: 223342

Committed r163586: &lt;http://trac.webkit.org/changeset/163586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977643</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-06 17:24:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223342</attachid>
            <date>2014-02-06 09:46:37 -0800</date>
            <delta_ts>2014-02-06 17:24:39 -0800</delta_ts>
            <desc>patch </desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14760</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MzUzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE0LTAyLTA2ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IENyYXNoIGluIFdl
YkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmNvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODMxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJlIG1vcmUgY2FyZWZ1
bCBhYm91dCB1c2luZyBheE9iamVjdENhY2hlKCkgZGlyZWN0bHkgc2luY2UgaXQgY2FuIHJldHVy
biBudWxsLgorICAgICAgICBJIGF1ZGl0ZWQgdGhlIHVzYWdlIGNhc2VzIG9mIHRoaXMgbWV0aG9k
IGFuZCBlbnN1cmVkIHRoZSBwdHIgd2FzIG5vdCBudWxsIGluIGNhc2VzCisgICAgICAgIHdoZXJl
IEkgdGhvdWdodCB3ZSBtaWdodCBnZXQgaGl0IGJ5IHRoaXMuCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpwYXJlbnRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6Om1lbnVGb3JNZW51QnV0dG9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjptZW51QnV0dG9uRm9yTWVudSk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmZpcnN0QWNjZXNzaWJsZU9iamVjdEZyb21Ob2Rl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmZpbmRNYXRjaGluZ09i
amVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6ZWxlbWVudEFj
Y2Vzc2liaWxpdHlIaXRUZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmF4T2JqZWN0Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dDo6bm90aWZ5SWZJZ25vcmVkVmFsdWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQpOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3RJZkV4aXN0cyk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YW5jaG9yRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc1RhYkl0
ZW1TZWxlY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
OjphY2Nlc3NpYmlsaXR5UGFyZW50Rm9ySW1hZ2VNYXApOgorICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bm9kZUlzVGV4dENvbnRyb2wpOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWN0aXZlRGVzY2VuZGFudCk6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpoYW5kbGVBcmlhRXhwYW5k
ZWRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
Om9ic2VydmFibGVPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdDo6dGV4dENoYW5nZWQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNjcm9s
bFZpZXc6OmFkZENoaWxkU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlTY3JvbGxWaWV3Ojp3ZWJBcmVhT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlTY3JvbGxWaWV3OjpwYXJlbnRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVNjcm9sbFZpZXc6OnBhcmVudE9iamVjdElmRXhpc3RzKToKKwogMjAxNC0wMi0wNiAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSURCOiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2NsZWFyLmh0bWwgZmFpbHMKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3Bw
CShyZXZpc2lvbiAxNjM1MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI4LDkgKzIyOCwxMiBA
QAogICAgICAgICByZXR1cm4gMDsKIAogICAgIE5vZGUqIHBhcmVudE9iaiA9IG5vZGUoKS0+cGFy
ZW50Tm9kZSgpOwotICAgIGlmIChwYXJlbnRPYmopCi0gICAgICAgIHJldHVybiBheE9iamVjdENh
Y2hlKCktPmdldE9yQ3JlYXRlKHBhcmVudE9iaik7CisgICAgaWYgKCFwYXJlbnRPYmopCisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIAorICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9
IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hlLT5nZXRPckNyZWF0ZShwYXJl
bnRPYmopOworICAgIAogICAgIHJldHVybiAwOwogfQogCkBAIC0xMjA0LDcgKzEyMDcsOSBAQAog
CiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bWVudUZvck1l
bnVCdXR0b24oKSBjb25zdAogewotICAgIHJldHVybiBheE9iamVjdENhY2hlKCktPmdldE9yQ3Jl
YXRlKG1lbnVFbGVtZW50Rm9yTWVudUJ1dHRvbigpKTsKKyAgICBpZiAoQVhPYmplY3RDYWNoZSog
Y2FjaGUgPSBheE9iamVjdENhY2hlKCkpCisgICAgICAgIHJldHVybiBjYWNoZS0+Z2V0T3JDcmVh
dGUobWVudUVsZW1lbnRGb3JNZW51QnV0dG9uKCkpOworICAgIHJldHVybiBudWxscHRyOwogfQog
CiBFbGVtZW50KiBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bWVudUl0ZW1FbGVtZW50Rm9yTWVu
dSgpIGNvbnN0CkBAIC0xMjE3LDExICsxMjIyLDE1IEBACiAKIEFjY2Vzc2liaWxpdHlPYmplY3Qq
IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjptZW51QnV0dG9uRm9yTWVudSgpIGNvbnN0CiB7Cisg
ICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hlKCk7CisgICAgaWYgKCFjYWNo
ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICBFbGVtZW50KiBtZW51SXRlbSA9IG1l
bnVJdGVtRWxlbWVudEZvck1lbnUoKTsKIAogICAgIGlmIChtZW51SXRlbSkgewogICAgICAgICAv
LyBBUklBIGp1c3QgaGFzIGdlbmVyaWMgbWVudSBpdGVtcy4gQXBwS2l0IG5lZWRzIHRvIGtub3cg
aWYgdGhpcyBpcyBhIHRvcCBsZXZlbCBpdGVtcyBsaWtlIE1lbnVCYXJCdXR0b24gb3IgTWVudUJh
ckl0ZW0KLSAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogbWVudUl0ZW1BWCA9IGF4T2JqZWN0
Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobWVudUl0ZW0pOworICAgICAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBtZW51SXRlbUFYID0gY2FjaGUtPmdldE9yQ3JlYXRlKG1lbnVJdGVtKTsKICAgICAgICAg
aWYgKG1lbnVJdGVtQVggJiYgbWVudUl0ZW1BWC0+aXNNZW51QnV0dG9uKCkpCiAgICAgICAgICAg
ICByZXR1cm4gbWVudUl0ZW1BWDsKICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDE2MzUz
NikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM3Nyw3ICszNzcsOSBAQAogICAgICAgICByZXR1cm4gMDsK
IAogICAgIEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENh
Y2hlKCk7Ci0KKyAgICBpZiAoIWNhY2hlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBhY2Nlc3NpYmxlT2JqZWN0ID0gY2FjaGUtPmdldE9y
Q3JlYXRlKG5vZGUtPnJlbmRlcmVyKCkpOwogICAgIHdoaWxlIChhY2Nlc3NpYmxlT2JqZWN0ICYm
IGFjY2Vzc2libGVPYmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSkgewogICAgICAgICBu
b2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dChub2RlKTsKQEAgLTQ2Myw3ICs0NjUsOCBAQAogICAg
IGlmICghY3JpdGVyaWEpCiAgICAgICAgIHJldHVybjsKIAotICAgIGF4T2JqZWN0Q2FjaGUoKS0+
c3RhcnRDYWNoaW5nQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVzVW50aWxUcmVlTXV0YXRlcygpOwor
ICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAg
Y2FjaGUtPnN0YXJ0Q2FjaGluZ0NvbXB1dGVkT2JqZWN0QXR0cmlidXRlc1VudGlsVHJlZU11dGF0
ZXMoKTsKIAogICAgIC8vIFRoaXMgc2VhcmNoIG1lY2hhbmlzbSBvbmx5IHNlYXJjaGVzIHRoZSBl
bGVtZW50cyBiZWZvcmUvYWZ0ZXIgdGhlIHN0YXJ0aW5nIG9iamVjdC4KICAgICAvLyBJdCBkb2Vz
IHRoaXMgYnkgc3RlcHBpbmcgdXAgdGhlIHBhcmVudCBjaGFpbiBhbmQgYXQgZWFjaCBsZXZlbCBk
b2luZyBhIERGUy4KQEAgLTE2NjAsOCArMTY2MywxMCBAQAogICAgIGlmIChpc0F0dGFjaG1lbnQo
KSkgewogICAgICAgICBXaWRnZXQqIHdpZGdldCA9IHdpZGdldEZvckF0dGFjaG1lbnRWaWV3KCk7
CiAgICAgICAgIC8vIE5vcm1hbGl6ZSB0aGUgcG9pbnQgZm9yIHRoZSB3aWRnZXQncyBib3VuZHMu
Ci0gICAgICAgIGlmICh3aWRnZXQgJiYgd2lkZ2V0LT5pc0ZyYW1lVmlldygpKQotICAgICAgICAg
ICAgcmV0dXJuIGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUod2lkZ2V0KS0+YWNjZXNzaWJp
bGl0eUhpdFRlc3QoSW50UG9pbnQocG9pbnQgLSB3aWRnZXQtPmZyYW1lUmVjdCgpLmxvY2F0aW9u
KCkpKTsKKyAgICAgICAgaWYgKHdpZGdldCAmJiB3aWRnZXQtPmlzRnJhbWVWaWV3KCkpIHsKKyAg
ICAgICAgICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gY2FjaGUtPmdldE9yQ3JlYXRlKHdpZGdldCktPmFjY2Vzc2li
aWxpdHlIaXRUZXN0KEludFBvaW50KHBvaW50IC0gd2lkZ2V0LT5mcmFtZVJlY3QoKS5sb2NhdGlv
bigpKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgYXJl
IGFueSBtb2NrIGVsZW1lbnRzIHRoYXQgbmVlZCB0byBiZSBoYW5kbGVkLgpAQCAtMTY3OCw3ICsx
NjgzLDcgQEAKICAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKICAgICBpZiAoZG9jKQog
ICAgICAgICByZXR1cm4gZG9jLT5heE9iamVjdENhY2hlKCk7Ci0gICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAgICAgCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmls
aXR5T2JqZWN0Ojpmb2N1c2VkVUlFbGVtZW50KCkgY29uc3QKQEAgLTIwMTcsNyArMjAyMiw4IEBA
CiB7CiAgICAgYm9vbCBpc0lnbm9yZWQgPSBhY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCk7CiAgICAg
aWYgKGxhc3RLbm93bklzSWdub3JlZFZhbHVlKCkgIT0gaXNJZ25vcmVkKSB7Ci0gICAgICAgIGF4
T2JqZWN0Q2FjaGUoKS0+Y2hpbGRyZW5DaGFuZ2VkKHBhcmVudE9iamVjdCgpKTsKKyAgICAgICAg
aWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQorICAgICAgICAgICAg
Y2FjaGUtPmNoaWxkcmVuQ2hhbmdlZChwYXJlbnRPYmplY3QoKSk7CiAgICAgICAgIHNldExhc3RL
bm93bklzSWdub3JlZFZhbHVlKGlzSWdub3JlZCk7CiAgICAgfQogfQpAQCAtMjEwMiw3ICsyMTA4
LDEwIEBACiAgICAgCiBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJc0ln
bm9yZWQoKSBjb25zdAogewotICAgIEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZSogYXR0
cmlidXRlQ2FjaGUgPSBheE9iamVjdENhY2hlKCktPmNvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2Fj
aGUoKTsKKyAgICBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGUqIGF0dHJpYnV0ZUNhY2hl
ID0gbnVsbHB0cjsKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hl
KCkpCisgICAgICAgIGF0dHJpYnV0ZUNhY2hlID0gY2FjaGUtPmNvbXB1dGVkT2JqZWN0QXR0cmli
dXRlQ2FjaGUoKTsKKyAgICAKICAgICBpZiAoYXR0cmlidXRlQ2FjaGUpIHsKICAgICAgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBpZ25vcmVkID0gYXR0cmlidXRlQ2FjaGUtPmdldEln
bm9yZWQoYXhPYmplY3RJRCgpKTsKICAgICAgICAgc3dpdGNoIChpZ25vcmVkKSB7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDE2MzUzNikKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3NiwxMSArNDc2LDE1IEBACiAgICAgCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3RJZkV4aXN0cygpIGNvbnN0CiB7CisgICAg
QVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hlKCk7CisgICAgaWYgKCFjYWNoZSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAgICAgLy8gV2ViQXJlYSdzIHBhcmVudCBz
aG91bGQgYmUgdGhlIHNjcm9sbCB2aWV3IGNvbnRhaW5pbmcgaXQuCiAgICAgaWYgKGlzV2ViQXJl
YSgpKQotICAgICAgICByZXR1cm4gYXhPYmplY3RDYWNoZSgpLT5nZXQoJm1fcmVuZGVyZXItPnZp
ZXcoKS5mcmFtZVZpZXcoKSk7CisgICAgICAgIHJldHVybiBjYWNoZS0+Z2V0KCZtX3JlbmRlcmVy
LT52aWV3KCkuZnJhbWVWaWV3KCkpOwogCi0gICAgcmV0dXJuIGF4T2JqZWN0Q2FjaGUoKS0+Z2V0
KHJlbmRlclBhcmVudE9iamVjdCgpKTsKKyAgICByZXR1cm4gY2FjaGUtPmdldChyZW5kZXJQYXJl
bnRPYmplY3QoKSk7CiB9CiAgICAgCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0OjpwYXJlbnRPYmplY3QoKSBjb25zdApAQCAtNDk4LDEzICs1MDIsMTcgQEAK
ICAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7CiAgICAgfQogICAgIAorICAgIEFYT2JqZWN0Q2Fj
aGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpOworICAgIGlmICghY2FjaGUpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIAogICAgIFJlbmRlck9iamVjdCogcGFyZW50T2JqID0gcmVuZGVy
UGFyZW50T2JqZWN0KCk7CiAgICAgaWYgKHBhcmVudE9iaikKLSAgICAgICAgcmV0dXJuIGF4T2Jq
ZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUocGFyZW50T2JqKTsKKyAgICAgICAgcmV0dXJuIGNhY2hl
LT5nZXRPckNyZWF0ZShwYXJlbnRPYmopOwogICAgIAogICAgIC8vIFdlYkFyZWEncyBwYXJlbnQg
c2hvdWxkIGJlIHRoZSBzY3JvbGwgdmlldyBjb250YWluaW5nIGl0LgogICAgIGlmIChpc1dlYkFy
ZWEoKSkKLSAgICAgICAgcmV0dXJuIGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUoJm1fcmVu
ZGVyZXItPnZpZXcoKS5mcmFtZVZpZXcoKSk7CisgICAgICAgIHJldHVybiBjYWNoZS0+Z2V0T3JD
cmVhdGUoJm1fcmVuZGVyZXItPnZpZXcoKS5mcmFtZVZpZXcoKSk7CiAgICAgCiAgICAgcmV0dXJu
IDA7CiB9CkBAIC01NjIsNiArNTcwLDkgQEAKICAgICAgICAgcmV0dXJuIDA7CiAgICAgCiAgICAg
QVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hlKCk7CisgICAgaWYgKCFjYWNoZSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAgICAgUmVuZGVyT2JqZWN0KiBjdXJyUmVu
ZGVyZXI7CiAgICAgCiAgICAgLy8gU2VhcmNoIHVwIHRoZSByZW5kZXIgdHJlZSBmb3IgYSBSZW5k
ZXJPYmplY3Qgd2l0aCBhIERPTSBub2RlLiAgRGVmZXIgdG8gYW4gZWFybGllciBjb250aW51YXRp
b24sIHRob3VnaC4KQEAgLTE1ODcsOCArMTU5OCwxMiBAQAogICAgIFZlY3RvcjxFbGVtZW50Kj4g
ZWxlbWVudHM7CiAgICAgZWxlbWVudHNGcm9tQXR0cmlidXRlKGVsZW1lbnRzLCBhcmlhX2NvbnRy
b2xzQXR0cik7CiAgICAgCisgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENhY2hl
KCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAogICAgIGZv
ciAoY29uc3QgYXV0byYgZWxlbWVudCA6IGVsZW1lbnRzKSB7Ci0gICAgICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIHRhYlBhbmVsID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShlbGVtZW50
KTsKKyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogdGFiUGFuZWwgPSBjYWNoZS0+Z2V0T3JD
cmVhdGUoZWxlbWVudCk7CiAKICAgICAgICAgLy8gQSB0YWIgaXRlbSBzaG91bGQgb25seSBjb250
cm9sIHRhYiBwYW5lbHMuCiAgICAgICAgIGlmICghdGFiUGFuZWwgfHwgdGFiUGFuZWwtPnJvbGVW
YWx1ZSgpICE9IFRhYlBhbmVsUm9sZSkKQEAgLTE3MzEsNyArMTc0NiwxMCBAQAogICAgIGlmICgh
aW1hZ2VFbGVtZW50KQogICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICByZXR1cm4gYXhPYmpl
Y3RDYWNoZSgpLT5nZXRPckNyZWF0ZShpbWFnZUVsZW1lbnQpOworICAgIGlmIChBWE9iamVjdENh
Y2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAgICAgICAgcmV0dXJuIGNhY2hlLT5nZXRP
ckNyZWF0ZShpbWFnZUVsZW1lbnQpOworICAgIAorICAgIHJldHVybiBudWxscHRyOwogfQogICAg
IAogdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpnZXREb2N1bWVudExpbmtzKEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3RvciYgcmVzdWx0KQpAQCAtMTkwMiwxMSArMTkyMCwxMiBAQAog
ICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgY29uc3QgQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3RGb3JOb2RlID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNy
ZWF0ZShjb25zdF9jYXN0PE5vZGUqPihub2RlKSk7Ci0gICAgaWYgKCFheE9iamVjdEZvck5vZGUp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBh
eE9iamVjdENhY2hlKCkpIHsKKyAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2Jq
ZWN0Rm9yTm9kZSA9IGNhY2hlLT5nZXRPckNyZWF0ZShjb25zdF9jYXN0PE5vZGUqPihub2RlKSkp
CisgICAgICAgICAgICByZXR1cm4gYXhPYmplY3RGb3JOb2RlLT5pc1RleHRDb250cm9sKCk7Cisg
ICAgfQogCi0gICAgcmV0dXJuIGF4T2JqZWN0Rm9yTm9kZS0+aXNUZXh0Q29udHJvbCgpOworICAg
IHJldHVybiBmYWxzZTsKIH0KIAogSW50UmVjdCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpi
b3VuZHNGb3JWaXNpYmxlUG9zaXRpb25SYW5nZShjb25zdCBWaXNpYmxlUG9zaXRpb25SYW5nZSYg
dmlzaWJsZVBvc2l0aW9uUmFuZ2UpIGNvbnN0CkBAIC0yMjc2LDEwICsyMjk1LDEzIEBACiAgICAg
aWYgKCF0YXJnZXQpCiAgICAgICAgIHJldHVybiAwOwogICAgIAotICAgIEFjY2Vzc2liaWxpdHlP
YmplY3QqIG9iaiA9IGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUodGFyZ2V0KTsKLSAgICBp
ZiAob2JqICYmIG9iai0+aXNBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0KCkpCi0gICAgLy8gYW4g
YWN0aXZlZGVzY2VuZGFudCBpcyBvbmx5IHVzZWZ1bCBpZiBpdCBoYXMgYSByZW5kZXJlciwgYmVj
YXVzZSB0aGF0J3Mgd2hhdCdzIG5lZWRlZCB0byBwb3N0IHRoZSBub3RpZmljYXRpb24KLSAgICAg
ICAgcmV0dXJuIG9iajsKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENh
Y2hlKCkpIHsKKyAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqID0gY2FjaGUtPmdldE9y
Q3JlYXRlKHRhcmdldCk7CisgICAgICAgIGlmIChvYmogJiYgb2JqLT5pc0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QoKSkKKyAgICAgICAgICAgIC8vIGFuIGFjdGl2ZWRlc2NlbmRhbnQgaXMgb25s
eSB1c2VmdWwgaWYgaXQgaGFzIGEgcmVuZGVyZXIsIGJlY2F1c2UgdGhhdCdzIHdoYXQncyBuZWVk
ZWQgdG8gcG9zdCB0aGUgbm90aWZpY2F0aW9uCisgICAgICAgICAgICByZXR1cm4gb2JqOworICAg
IH0KKyAgICAKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMjMwOSwxMiArMjMzMSwxNiBAQAogICAg
IH0KICAgICAKICAgICAvLyBQb3N0IHRoYXQgdGhlIHJvdyBjb3VudCBjaGFuZ2VkLgorICAgIEFY
T2JqZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpOworICAgIGlmICghY2FjaGUpCisg
ICAgICAgIHJldHVybjsKKyAgICAKICAgICBpZiAoY29udGFpbmVyUGFyZW50KQotICAgICAgICBh
eE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24oY29udGFpbmVyUGFyZW50LCBkb2N1bWVu
dCgpLCBBWE9iamVjdENhY2hlOjpBWFJvd0NvdW50Q2hhbmdlZCk7CisgICAgICAgIGNhY2hlLT5w
b3N0Tm90aWZpY2F0aW9uKGNvbnRhaW5lclBhcmVudCwgZG9jdW1lbnQoKSwgQVhPYmplY3RDYWNo
ZTo6QVhSb3dDb3VudENoYW5nZWQpOwogCiAgICAgLy8gUG9zdCB0aGF0IHRoZSBzcGVjaWZpYyBy
b3cgZWl0aGVyIGNvbGxhcHNlZCBvciBleHBhbmRlZC4KICAgICBpZiAocm9sZVZhbHVlKCkgPT0g
Um93Um9sZSB8fCByb2xlVmFsdWUoKSA9PSBUcmVlSXRlbVJvbGUpCi0gICAgICAgIGF4T2JqZWN0
Q2FjaGUoKS0+cG9zdE5vdGlmaWNhdGlvbih0aGlzLCBkb2N1bWVudCgpLCBpc0V4cGFuZGVkKCkg
PyBBWE9iamVjdENhY2hlOjpBWFJvd0V4cGFuZGVkIDogQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xs
YXBzZWQpOworICAgICAgICBjYWNoZS0+cG9zdE5vdGlmaWNhdGlvbih0aGlzLCBkb2N1bWVudCgp
LCBpc0V4cGFuZGVkKCkgPyBBWE9iamVjdENhY2hlOjpBWFJvd0V4cGFuZGVkIDogQVhPYmplY3RD
YWNoZTo6QVhSb3dDb2xsYXBzZWQpOwogfQogCiB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3Q6OmhhbmRsZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKCkKQEAgLTIzODgsOCArMjQxNCwxMCBA
QAogewogICAgIC8vIEZpbmQgdGhlIG9iamVjdCBnb2luZyB1cCB0aGUgcGFyZW50IGNoYWluIHRo
YXQgaXMgdXNlZCBpbiBhY2Nlc3NpYmlsaXR5IHRvIG1vbml0b3IgY2VydGFpbiBub3RpZmljYXRp
b25zLgogICAgIGZvciAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1fcmVuZGVyZXI7IHJlbmRl
cmVyICYmIHJlbmRlcmVyLT5ub2RlKCk7IHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpKSB7
Ci0gICAgICAgIGlmIChyZW5kZXJPYmplY3RJc09ic2VydmFibGUocmVuZGVyZXIpKQotICAgICAg
ICAgICAgcmV0dXJuIGF4T2JqZWN0Q2FjaGUoKS0+Z2V0T3JDcmVhdGUocmVuZGVyZXIpOworICAg
ICAgICBpZiAocmVuZGVyT2JqZWN0SXNPYnNlcnZhYmxlKHJlbmRlcmVyKSkgeworICAgICAgICAg
ICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBjYWNoZS0+Z2V0T3JDcmVhdGUocmVuZGVyZXIpOworICAgICAgICB9CiAg
ICAgfQogICAgIAogICAgIHJldHVybiAwOwpAQCAtMjcxNCw2ICsyNzQyLDkgQEAKICAgICAvLyBJ
ZiB0aGlzIGVsZW1lbnQgc3VwcG9ydHMgQVJJQSBsaXZlIHJlZ2lvbnMsIG9yIGlzIHBhcnQgb2Yg
YSByZWdpb24gd2l0aCBhbiBBUklBIGVkaXRhYmxlIHJvbGUsCiAgICAgLy8gdGhlbiBub3RpZnkg
dGhlIEFUIG9mIGNoYW5nZXMuCiAgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVjdENh
Y2hlKCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuOworICAgIAogICAgIGZvciAo
UmVuZGVyT2JqZWN0KiByZW5kZXJQYXJlbnQgPSBtX3JlbmRlcmVyOyByZW5kZXJQYXJlbnQ7IHJl
bmRlclBhcmVudCA9IHJlbmRlclBhcmVudC0+cGFyZW50KCkpIHsKICAgICAgICAgQWNjZXNzaWJp
bGl0eU9iamVjdCogcGFyZW50ID0gY2FjaGUtPmdldChyZW5kZXJQYXJlbnQpOwogICAgICAgICBp
ZiAoIXBhcmVudCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNjcm9sbFZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcuY3BwCShyZXZpc2lvbiAxNjM1MzYpCisrKyBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTY3JvbGxWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQ5LDcgKzE0OSwxMSBAQAogICAgIGlmICghc2Nyb2xsYmFyKQog
ICAgICAgICByZXR1cm4gMDsKICAgICAKLSAgICBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyKiBzY3Jv
bGxCYXJPYmplY3QgPSB0b0FjY2Vzc2liaWxpdHlTY3JvbGxiYXIoYXhPYmplY3RDYWNoZSgpLT5n
ZXRPckNyZWF0ZShzY3JvbGxiYXIpKTsKKyAgICBBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2Jq
ZWN0Q2FjaGUoKTsKKyAgICBpZiAoIWNhY2hlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgIEFjY2Vzc2liaWxpdHlTY3JvbGxiYXIqIHNjcm9sbEJhck9iamVjdCA9IHRvQWNjZXNzaWJp
bGl0eVNjcm9sbGJhcihjYWNoZS0+Z2V0T3JDcmVhdGUoc2Nyb2xsYmFyKSk7CiAgICAgc2Nyb2xs
QmFyT2JqZWN0LT5zZXRQYXJlbnQodGhpcyk7CiAgICAgbV9jaGlsZHJlbi5hcHBlbmQoc2Nyb2xs
QmFyT2JqZWN0KTsKICAgICByZXR1cm4gc2Nyb2xsQmFyT2JqZWN0OwpAQCAtMTkyLDcgKzE5Niwx
MCBAQAogICAgIGlmICghZG9jIHx8ICFkb2MtPmhhc0xpdmluZ1JlbmRlclRyZWUoKSkKICAgICAg
ICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShk
b2MpOworICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGF4T2JqZWN0Q2FjaGUoKSkKKyAg
ICAgICAgcmV0dXJuIGNhY2hlLT5nZXRPckNyZWF0ZShkb2MpOworICAgIAorICAgIHJldHVybiBu
dWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5U2Nyb2xsVmll
dzo6YWNjZXNzaWJpbGl0eUhpdFRlc3QoY29uc3QgSW50UG9pbnQmIHBvaW50KSBjb25zdApAQCAt
MjI5LDEwICsyMzYsMTQgQEAKIHsKICAgICBpZiAoIW1fc2Nyb2xsVmlldyB8fCAhbV9zY3JvbGxW
aWV3LT5pc0ZyYW1lVmlldygpKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKKworICAgIEFYT2Jq
ZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpOworICAgIGlmICghY2FjaGUpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworCiAgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9
IHRvRnJhbWVWaWV3KG1fc2Nyb2xsVmlldyktPmZyYW1lKCkub3duZXJFbGVtZW50KCk7CiAgICAg
aWYgKG93bmVyICYmIG93bmVyLT5yZW5kZXJlcigpKQotICAgICAgICByZXR1cm4gYXhPYmplY3RD
YWNoZSgpLT5nZXRPckNyZWF0ZShvd25lcik7CisgICAgICAgIHJldHVybiBjYWNoZS0+Z2V0T3JD
cmVhdGUob3duZXIpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0yNDIsOSArMjUzLDEzIEBACiAg
ICAgaWYgKCFtX3Njcm9sbFZpZXcgfHwgIW1fc2Nyb2xsVmlldy0+aXNGcmFtZVZpZXcoKSkKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgCisgICAgQVhPYmplY3RDYWNoZSogY2FjaGUgPSBheE9iamVj
dENhY2hlKCk7CisgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAg
ICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0gdG9GcmFtZVZpZXcobV9zY3JvbGxWaWV3
KS0+ZnJhbWUoKS5vd25lckVsZW1lbnQoKTsKICAgICBpZiAob3duZXIgJiYgb3duZXItPnJlbmRl
cmVyKCkpCi0gICAgICAgIHJldHVybiBheE9iamVjdENhY2hlKCktPmdldChvd25lcik7CisgICAg
ICAgIHJldHVybiBjYWNoZS0+Z2V0KG93bmVyKTsKICAgICAKICAgICByZXR1cm4gMDsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>