<?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>54153</bug_id>
          
          <creation_ts>2011-02-09 16:50:13 -0800</creation_ts>
          <short_desc>AX: AX needs to stop using WebCoreViewFactory</short_desc>
          <delta_ts>2011-02-10 10:27:00 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348699</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-09 16:50:13 -0800</bug_when>
    <thetext>Since this doesn&apos;t exist in WK2, WebCore needs to stop using these instances and call the WK system interface methods more directly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348763</commentid>
    <comment_count>1</comment_count>
      <attachid>81909</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-09 18:27:47 -0800</bug_when>
    <thetext>Created attachment 81909
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349167</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-10 10:27:00 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78241</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81909</attachid>
            <date>2011-02-09 18:27:47 -0800</date>
            <delta_ts>2011-02-09 18:48:52 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>22350</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MTcwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTEtMDItMDkgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBWDogQVggbmVlZHMgdG8gc3RvcCB1c2luZyBXZWJDb3Jl
Vmlld0ZhY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU0MTUzCisKKyAgICAgICAgV2ViS2l0MiBubyBsb25nZXIgdXNlcyBXZWJDb3JlVmlld0Zh
Y3RvcnksIHdoaWNoIG1lYW5zIHRoYXQgYWNjZXNzaWJpbGl0eSBjb2RlIG5lZWRzCisgICAgICAg
IHRvIGdldCBvZmYgb2YgaXQgYW5kIHVzZSBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLCBsaWtlIG90
aGVyIGNsaWVudHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9B
WE9iamVjdENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFu
ZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFj
L0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9t
YWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW06CisgICAgICAgICgtW0FjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyIHVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxlbWVudF0pOgorICAgICAg
ICAoQ0ZBdXRvcmVsZWFzZUhlbHBlcik6CisgICAgICAgIChBWE9iamVjdElzVGV4dE1hcmtlcik6
CisgICAgICAgIChBWE9iamVjdElzVGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAgKEFYVGV4dE1h
cmtlclJhbmdlKToKKyAgICAgICAgKEFYVGV4dE1hcmtlclJhbmdlU3RhcnQpOgorICAgICAgICAo
QVhUZXh0TWFya2VyUmFuZ2VFbmQpOgorICAgICAgICAodGV4dE1hcmtlckZvclZpc2libGVQb3Np
dGlvbik6CisgICAgICAgICgtW0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHRleHRNYXJrZXJG
b3JWaXNpYmxlUG9zaXRpb246XSk6CisgICAgICAgICh2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFy
a2VyKToKKyAgICAgICAgKC1bQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgdmlzaWJsZVBvc2l0
aW9uRm9yVGV4dE1hcmtlcjpdKToKKyAgICAgICAgKHZpc2libGVQb3NpdGlvbkZvclN0YXJ0T2ZU
ZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAodmlzaWJsZVBvc2l0aW9uRm9yRW5kT2ZUZXh0TWFy
a2VyUmFuZ2UpOgorICAgICAgICAodGV4dE1hcmtlclJhbmdlRnJvbU1hcmtlcnMpOgorICAgICAg
ICAoQVhBdHRyaWJ1dGVTdHJpbmdTZXRFbGVtZW50KToKKyAgICAgICAgKC1bQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIgZG9BWEF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2U6XSk6
CisgICAgICAgICh0ZXh0TWFya2VyUmFuZ2VGcm9tVmlzaWJsZVBvc2l0aW9ucyk6CisgICAgICAg
ICgtW0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHRleHRNYXJrZXJSYW5nZUZyb21WaXNpYmxl
UG9zaXRpb25zOmVuZFBvc2l0aW9uOl0pOgorICAgICAgICAoLVtBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlciB2aXNpYmxlUG9zaXRpb25SYW5nZUZvclRleHRNYXJrZXJSYW5nZTpdKToKKyAgICAg
ICAgKC1bQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgdGV4dE1hcmtlclJhbmdlRm9yU2VsZWN0
aW9uXSk6CisgICAgICAgICgtW0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxp
dHlTZXRWYWx1ZTpmb3JBdHRyaWJ1dGU6XSk6CisgICAgICAgICgtW0FjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpmb3JQYXJhbWV0ZXI6XSk6Cisg
ICAgICAgICogZWRpdGluZy9tYWMvU2VsZWN0aW9uQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OmFjY2Vzc2liaWxpdHlDb252ZXJ0U2NyZWVuUmVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9u
Q2hhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tOgorCiAy
MDExLTAyLTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9u
IDc4MTYzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTEzNDEsNiArMTM0MSwxNyBAQCBfd2tXaWxsRW5kTGl2ZVJlc2l6ZQogX3drV2lsbFN0YXJ0
TGl2ZVJlc2l6ZQogI2VuZGlmCiAKK193a1VucmVnaXN0ZXJVbmlxdWVJZEZvckVsZW1lbnQKK193
a0FjY2Vzc2liaWxpdHlIYW5kbGVGb2N1c0NoYW5nZWQKK193a0dldEFYVGV4dE1hcmtlclR5cGVJ
RAorX3drR2V0QVhUZXh0TWFya2VyUmFuZ2VUeXBlSUQKK193a0NyZWF0ZUFYVGV4dE1hcmtlclJh
bmdlCitfd2tDb3B5QVhUZXh0TWFya2VyUmFuZ2VTdGFydAorX3drQ29weUFYVGV4dE1hcmtlclJh
bmdlRW5kIAorX3drQ3JlYXRlQVhUZXh0TWFya2VyCitfd2tHZXRCeXRlc0Zyb21BWFRleHRNYXJr
ZXIKK193a0NyZWF0ZUFYVUlFbGVtZW50UmVmCisKICNpZiBFTkFCTEUoM0RfUkVOREVSSU5HKQog
X1dlYkNvcmVIYXMzRFJlbmRlcmluZwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkocmV2aXNpb24gNzgxNjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MzQsMTIgKzM0LDYgQEAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAotI2lmZGVmIF9fT0JKQ19fCi1AY2xhc3MgV2ViQ29yZVRleHRNYXJrZXI7Ci0j
ZWxzZQotY2xhc3MgV2ViQ29yZVRleHRNYXJrZXI7Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEb2N1bWVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQkocmV2aXNpb24gNzgxNjMpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oIgogI2ltcG9ydCAi
UmVuZGVyT2JqZWN0LmgiCi0jaW1wb3J0ICJXZWJDb3JlVmlld0ZhY3RvcnkuaCIKKyNpbXBvcnQg
IldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKIAogI2ltcG9ydCA8d3RmL1Bhc3NSZWZQdHIuaD4K
IApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQ
bGF0Zm8KIAogdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQogewotICAgIFtbV2ViQ29yZVZpZXdGYWN0
b3J5IHNoYXJlZEZhY3RvcnldIGFjY2Vzc2liaWxpdHlIYW5kbGVGb2N1c0NoYW5nZWRdOworICAg
IHdrQWNjZXNzaWJpbGl0eUhhbmRsZUZvY3VzQ2hhbmdlZCgpOwogfQogCiB2b2lkIEFYT2JqZWN0
Q2FjaGU6OmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyLmgJKHJldmlzaW9uIDc4MTYzKQorKysgU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksMTQgKzI5LDYgQEAKICNpZm5kZWYgQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJf
aAogI2RlZmluZSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcl9oCiAKLSNpZmRlZiBfX09CSkNf
XwotQGNsYXNzIFdlYkNvcmVUZXh0TWFya2VyOwotQGNsYXNzIFdlYkNvcmVUZXh0TWFya2VyUmFu
Z2U7Ci0jZWxzZQotY2xhc3MgV2ViQ29yZVRleHRNYXJrZXI7Ci1jbGFzcyBXZWJDb3JlVGV4dE1h
cmtlclJhbmdlOwotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFjY2Vzc2li
aWxpdHlPYmplY3Q7CiBjbGFzcyBWaXNpYmxlUG9zaXRpb247CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlci5tbQkocmV2aXNpb24gNzgxNjMpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQkod29ya2luZyBjb3B5KQpA
QCAtNjEsNyArNjEsNyBAQAogI2ltcG9ydCAiVGV4dEl0ZXJhdG9yLmgiCiAjaW1wb3J0ICJXZWJD
b3JlRnJhbWVWaWV3LmgiCiAjaW1wb3J0ICJXZWJDb3JlT2JqQ0V4dHJhcy5oIgotI2ltcG9ydCAi
V2ViQ29yZVZpZXdGYWN0b3J5LmgiCisjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgi
CiAjaW1wb3J0ICJodG1sZWRpdGluZy5oIgogI2ltcG9ydCAidmlzaWJsZV91bml0cy5oIgogCkBA
IC0xOTQsNyArMTk0LDcgQEAgLSAoaWQpaW5pdFdpdGhBY2Nlc3NpYmlsaXR5T2JqZWN0OihBY2Nl
cwogCiAtICh2b2lkKXVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxlbWVudAogewotICAgIFtbV2Vi
Q29yZVZpZXdGYWN0b3J5IHNoYXJlZEZhY3RvcnldIHVucmVnaXN0ZXJVbmlxdWVJZEZvclVJRWxl
bWVudDpzZWxmXTsKKyAgICB3a1VucmVnaXN0ZXJVbmlxdWVJZEZvckVsZW1lbnQoc2VsZik7CiB9
CiAKIC0gKHZvaWQpZGV0YWNoCkBAIC0yMzcsNyArMjM3LDUyIEBAIC0gKE5TVmlldyopYXR0YWNo
bWVudFZpZXcKICAgICByZXR1cm4gTlNBY2Nlc3NpYmlsaXR5VW5pZ25vcmVkRGVzY2VuZGFudCh3
aWRnZXQtPnBsYXRmb3JtV2lkZ2V0KCkpOwogfQogCi1zdGF0aWMgV2ViQ29yZVRleHRNYXJrZXIq
IHRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb24oQVhPYmplY3RDYWNoZSogY2FjaGUsIGNvbnN0
IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVBvcykKKyNwcmFnbWEgbWFyayBTeXN0ZW1JbnRlcmZh
Y2Ugd3JhcHBlcnMKKworc3RhdGljIGlubGluZSBpZCBDRkF1dG9yZWxlYXNlSGVscGVyKENGVHlw
ZVJlZiBvYmopCit7CisgICAgaWYgKG9iaikKKyAgICAgICAgQ0ZNYWtlQ29sbGVjdGFibGUob2Jq
KTsKKyAgICBbKGlkKW9iaiBhdXRvcmVsZWFzZV07CisgICAgcmV0dXJuIChpZClvYmo7Cit9CisK
K3N0YXRpYyBpbmxpbmUgQk9PTCBBWE9iamVjdElzVGV4dE1hcmtlcihpZCBvYmopCit7CisgICAg
cmV0dXJuIG9iaiAhPSBuaWwgJiYgQ0ZHZXRUeXBlSUQob2JqKSA9PSB3a0dldEFYVGV4dE1hcmtl
clR5cGVJRCgpOyAgICAKK30KKworc3RhdGljIGlubGluZSBCT09MIEFYT2JqZWN0SXNUZXh0TWFy
a2VyUmFuZ2UoaWQgb2JqKQoreworICAgIHJldHVybiBvYmogIT0gbmlsICYmIENGR2V0VHlwZUlE
KG9iaikgPT0gd2tHZXRBWFRleHRNYXJrZXJSYW5nZVR5cGVJRCgpOyAgICAKK30KKworc3RhdGlj
IGlkIEFYVGV4dE1hcmtlclJhbmdlKGlkIHN0YXJ0TWFya2VyLCBpZCBlbmRNYXJrZXIpCit7Cisg
ICAgQVNTRVJUKHN0YXJ0TWFya2VyICE9IG5pbCk7CisgICAgQVNTRVJUKGVuZE1hcmtlciAhPSBu
aWwpOworICAgIEFTU0VSVChDRkdldFR5cGVJRChzdGFydE1hcmtlcikgPT0gd2tHZXRBWFRleHRN
YXJrZXJUeXBlSUQoKSk7CisgICAgQVNTRVJUKENGR2V0VHlwZUlEKGVuZE1hcmtlcikgPT0gd2tH
ZXRBWFRleHRNYXJrZXJUeXBlSUQoKSk7CisgICAgcmV0dXJuIENGQXV0b3JlbGVhc2VIZWxwZXIo
d2tDcmVhdGVBWFRleHRNYXJrZXJSYW5nZSgoQ0ZUeXBlUmVmKXN0YXJ0TWFya2VyLCAoQ0ZUeXBl
UmVmKWVuZE1hcmtlcikpOworfQorCitzdGF0aWMgaWQgQVhUZXh0TWFya2VyUmFuZ2VTdGFydChp
ZCByYW5nZSkKK3sKKyAgICBBU1NFUlQocmFuZ2UgIT0gbmlsKTsKKyAgICBBU1NFUlQoQ0ZHZXRU
eXBlSUQocmFuZ2UpID09IHdrR2V0QVhUZXh0TWFya2VyUmFuZ2VUeXBlSUQoKSk7CisgICAgcmV0
dXJuIENGQXV0b3JlbGVhc2VIZWxwZXIod2tDb3B5QVhUZXh0TWFya2VyUmFuZ2VTdGFydChyYW5n
ZSkpOyAgICAKK30KKworc3RhdGljIGlkIEFYVGV4dE1hcmtlclJhbmdlRW5kKGlkIHJhbmdlKQor
eworICAgIEFTU0VSVChyYW5nZSAhPSBuaWwpOworICAgIEFTU0VSVChDRkdldFR5cGVJRChyYW5n
ZSkgPT0gd2tHZXRBWFRleHRNYXJrZXJSYW5nZVR5cGVJRCgpKTsKKyAgICByZXR1cm4gQ0ZBdXRv
cmVsZWFzZUhlbHBlcih3a0NvcHlBWFRleHRNYXJrZXJSYW5nZUVuZChyYW5nZSkpOyAgICAKK30K
KworI3ByYWdtYSBtYXJrIFRleHQgTWFya2VyIGhlbHBlcnMKKworc3RhdGljIGlkIHRleHRNYXJr
ZXJGb3JWaXNpYmxlUG9zaXRpb24oQVhPYmplY3RDYWNoZSogY2FjaGUsIGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYgdmlzaWJsZVBvcykKIHsKICAgICBBU1NFUlQoY2FjaGUpOwogICAgIApAQCAtMjQ2
LDQ4ICsyOTEsNDggQEAgc3RhdGljIFdlYkNvcmVUZXh0TWFya2VyKiB0ZXh0TWFya2VyRm9yVgog
ICAgIGlmICghdGV4dE1hcmtlckRhdGEuYXhJRCkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAK
LSAgICByZXR1cm4gW1tXZWJDb3JlVmlld0ZhY3Rvcnkgc2hhcmVkRmFjdG9yeV0gdGV4dE1hcmtl
cldpdGhCeXRlczomdGV4dE1hcmtlckRhdGEgbGVuZ3RoOnNpemVvZih0ZXh0TWFya2VyRGF0YSld
OworICAgIHJldHVybiBDRkF1dG9yZWxlYXNlSGVscGVyKHdrQ3JlYXRlQVhUZXh0TWFya2VyKCZ0
ZXh0TWFya2VyRGF0YSwgc2l6ZW9mKHRleHRNYXJrZXJEYXRhKSkpOwogfQogCi0tIChXZWJDb3Jl
VGV4dE1hcmtlciAqKXRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb246KGNvbnN0IFZpc2libGVQ
b3NpdGlvbiAmKXZpc2libGVQb3MKKy0gKGlkKXRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb246
KGNvbnN0IFZpc2libGVQb3NpdGlvbiAmKXZpc2libGVQb3MKIHsKICAgICByZXR1cm4gdGV4dE1h
cmtlckZvclZpc2libGVQb3NpdGlvbihtX29iamVjdC0+YXhPYmplY3RDYWNoZSgpLCB2aXNpYmxl
UG9zKTsKIH0KIAotc3RhdGljIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRpb25Gb3JUZXh0
TWFya2VyKEFYT2JqZWN0Q2FjaGUqIGNhY2hlLCBXZWJDb3JlVGV4dE1hcmtlciogdGV4dE1hcmtl
cikKK3N0YXRpYyBWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uRm9yVGV4dE1hcmtlcihB
WE9iamVjdENhY2hlKiBjYWNoZSwgQ0ZUeXBlUmVmIHRleHRNYXJrZXIpCiB7CiAgICAgQVNTRVJU
KGNhY2hlKTsKIAogICAgIGlmICghdGV4dE1hcmtlcikKICAgICAgICAgcmV0dXJuIFZpc2libGVQ
b3NpdGlvbigpOwogICAgIFRleHRNYXJrZXJEYXRhIHRleHRNYXJrZXJEYXRhOwotICAgIGlmICgh
W1tXZWJDb3JlVmlld0ZhY3Rvcnkgc2hhcmVkRmFjdG9yeV0gZ2V0Qnl0ZXM6JnRleHRNYXJrZXJE
YXRhIGZyb21UZXh0TWFya2VyOnRleHRNYXJrZXIgbGVuZ3RoOnNpemVvZih0ZXh0TWFya2VyRGF0
YSldKQorICAgIGlmICghd2tHZXRCeXRlc0Zyb21BWFRleHRNYXJrZXIodGV4dE1hcmtlciwgJnRl
eHRNYXJrZXJEYXRhLCBzaXplb2YodGV4dE1hcmtlckRhdGEpKSkKICAgICAgICAgcmV0dXJuIFZp
c2libGVQb3NpdGlvbigpOwogICAgIAogICAgIHJldHVybiBjYWNoZS0+dmlzaWJsZVBvc2l0aW9u
Rm9yVGV4dE1hcmtlckRhdGEodGV4dE1hcmtlckRhdGEpOwogfQogCi0tIChWaXNpYmxlUG9zaXRp
b24pdmlzaWJsZVBvc2l0aW9uRm9yVGV4dE1hcmtlcjooV2ViQ29yZVRleHRNYXJrZXIgKil0ZXh0
TWFya2VyCistIChWaXNpYmxlUG9zaXRpb24pdmlzaWJsZVBvc2l0aW9uRm9yVGV4dE1hcmtlcjoo
aWQpdGV4dE1hcmtlcgogewogICAgIHJldHVybiB2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2Vy
KG1fb2JqZWN0LT5heE9iamVjdENhY2hlKCksIHRleHRNYXJrZXIpOwogfQogCi1zdGF0aWMgVmlz
aWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvclN0YXJ0T2ZUZXh0TWFya2VyUmFuZ2UoQVhP
YmplY3RDYWNoZSAqY2FjaGUsIFdlYkNvcmVUZXh0TWFya2VyUmFuZ2UqIHRleHRNYXJrZXJSYW5n
ZSkKK3N0YXRpYyBWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBvc2l0aW9uRm9yU3RhcnRPZlRleHRN
YXJrZXJSYW5nZShBWE9iamVjdENhY2hlICpjYWNoZSwgaWQgdGV4dE1hcmtlclJhbmdlKQogewot
ICAgIHJldHVybiB2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyKGNhY2hlLCBbW1dlYkNvcmVW
aWV3RmFjdG9yeSBzaGFyZWRGYWN0b3J5XSBzdGFydE9mVGV4dE1hcmtlclJhbmdlOnRleHRNYXJr
ZXJSYW5nZV0pOworICAgIHJldHVybiB2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyKGNhY2hl
LCBBWFRleHRNYXJrZXJSYW5nZVN0YXJ0KHRleHRNYXJrZXJSYW5nZSkpOwogfQogCi1zdGF0aWMg
VmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvckVuZE9mVGV4dE1hcmtlclJhbmdlKEFY
T2JqZWN0Q2FjaGUgKmNhY2hlLCBXZWJDb3JlVGV4dE1hcmtlclJhbmdlKiB0ZXh0TWFya2VyUmFu
Z2UpCitzdGF0aWMgVmlzaWJsZVBvc2l0aW9uIHZpc2libGVQb3NpdGlvbkZvckVuZE9mVGV4dE1h
cmtlclJhbmdlKEFYT2JqZWN0Q2FjaGUgKmNhY2hlLCBpZCB0ZXh0TWFya2VyUmFuZ2UpCiB7Ci0g
ICAgcmV0dXJuIHZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXIoY2FjaGUsIFtbV2ViQ29yZVZp
ZXdGYWN0b3J5IHNoYXJlZEZhY3RvcnldIGVuZE9mVGV4dE1hcmtlclJhbmdlOnRleHRNYXJrZXJS
YW5nZV0pOworICAgIHJldHVybiB2aXNpYmxlUG9zaXRpb25Gb3JUZXh0TWFya2VyKGNhY2hlLCBB
WFRleHRNYXJrZXJSYW5nZUVuZCh0ZXh0TWFya2VyUmFuZ2UpKTsKIH0KIAotc3RhdGljIFdlYkNv
cmVUZXh0TWFya2VyUmFuZ2UqIHRleHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKFdlYkNvcmVUZXh0
TWFya2VyKiB0ZXh0TWFya2VyMSwgV2ViQ29yZVRleHRNYXJrZXIqIHRleHRNYXJrZXIyKQorc3Rh
dGljIGlkIHRleHRNYXJrZXJSYW5nZUZyb21NYXJrZXJzKGlkIHRleHRNYXJrZXIxLCBpZCB0ZXh0
TWFya2VyMikKIHsKICAgICBpZiAoIXRleHRNYXJrZXIxIHx8ICF0ZXh0TWFya2VyMikKICAgICAg
ICAgcmV0dXJuIG5pbDsKICAgICAgICAgCi0gICAgcmV0dXJuIFtbV2ViQ29yZVZpZXdGYWN0b3J5
IHNoYXJlZEZhY3RvcnldIHRleHRNYXJrZXJSYW5nZVdpdGhTdGFydDp0ZXh0TWFya2VyMSBlbmQ6
dGV4dE1hcmtlcjJdOworICAgIHJldHVybiBBWFRleHRNYXJrZXJSYW5nZSh0ZXh0TWFya2VyMSwg
dGV4dE1hcmtlcjIpOwogfQogCiBzdGF0aWMgdm9pZCBBWEF0dHJpYnV0ZVN0cmluZ1NldEZvbnQo
TlNNdXRhYmxlQXR0cmlidXRlZFN0cmluZyogYXR0clN0cmluZywgTlNTdHJpbmcqIGF0dHJpYnV0
ZSwgTlNGb250KiBmb250LCBOU1JhbmdlIHJhbmdlKQpAQCAtNDg0LDcgKzUyOSw3IEBAIHN0YXRp
YyB2b2lkIEFYQXR0cmlidXRlU3RyaW5nU2V0RWxlbWVudCgKICAgICAgICAgaWYgKCFjYWNoZSkK
ICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBBWFVJRWxlbWVudFJlZiBheEVsZW1lbnQg
PSBbW1dlYkNvcmVWaWV3RmFjdG9yeSBzaGFyZWRGYWN0b3J5XSBBWFVJRWxlbWVudEZvckVsZW1l
bnQ6b2JqZWN0LT53cmFwcGVyKCldOworICAgICAgICBBWFVJRWxlbWVudFJlZiBheEVsZW1lbnQg
PSB3a0NyZWF0ZUFYVUlFbGVtZW50UmVmKG9iamVjdC0+d3JhcHBlcigpKTsKICAgICAgICAgaWYg
KGF4RWxlbWVudCkgewogICAgICAgICAgICAgW2F0dHJTdHJpbmcgYWRkQXR0cmlidXRlOmF0dHJp
YnV0ZSB2YWx1ZTooaWQpYXhFbGVtZW50IHJhbmdlOnJhbmdlXTsKICAgICAgICAgICAgIENGUmVs
ZWFzZShheEVsZW1lbnQpOwpAQCAtNTQzLDcgKzU4OCw3IEBAIHN0YXRpYyBOU1N0cmluZyogbnNT
dHJpbmdGb3JSZXBsYWNlZE5vZGUKICAgICByZXR1cm4gW05TU3RyaW5nIHN0cmluZ1dpdGhDaGFy
YWN0ZXJzOiZhdHRhY2htZW50Q2hhciBsZW5ndGg6MV07CiB9CiAKLS0gKE5TQXR0cmlidXRlZFN0
cmluZyopZG9BWEF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2U6KFdlYkNvcmVUZXh0
TWFya2VyUmFuZ2UqKXRleHRNYXJrZXJSYW5nZQorLSAoTlNBdHRyaWJ1dGVkU3RyaW5nKilkb0FY
QXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZTooaWQpdGV4dE1hcmtlclJhbmdlCiB7
CiAgICAgaWYgKCFtX29iamVjdCkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTU5OSwxNCArNjQ0
LDE0IEBAIC0gKE5TQXR0cmlidXRlZFN0cmluZyopZG9BWEF0dHJpYnV0ZWRTdHIKICAgICByZXR1
cm4gW2F0dHJTdHJpbmcgYXV0b3JlbGVhc2VdOwogfQogCi1zdGF0aWMgV2ViQ29yZVRleHRNYXJr
ZXJSYW5nZSogdGV4dE1hcmtlclJhbmdlRnJvbVZpc2libGVQb3NpdGlvbnMoQVhPYmplY3RDYWNo
ZSAqY2FjaGUsIFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uLCBWaXNpYmxlUG9zaXRpb24g
ZW5kUG9zaXRpb24pCitzdGF0aWMgaWQgdGV4dE1hcmtlclJhbmdlRnJvbVZpc2libGVQb3NpdGlv
bnMoQVhPYmplY3RDYWNoZSAqY2FjaGUsIFZpc2libGVQb3NpdGlvbiBzdGFydFBvc2l0aW9uLCBW
aXNpYmxlUG9zaXRpb24gZW5kUG9zaXRpb24pCiB7Ci0gICAgV2ViQ29yZVRleHRNYXJrZXIqIHN0
YXJ0VGV4dE1hcmtlciA9IHRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb24oY2FjaGUsIHN0YXJ0
UG9zaXRpb24pOwotICAgIFdlYkNvcmVUZXh0TWFya2VyKiBlbmRUZXh0TWFya2VyID0gdGV4dE1h
cmtlckZvclZpc2libGVQb3NpdGlvbihjYWNoZSwgZW5kUG9zaXRpb24pOworICAgIGlkIHN0YXJ0
VGV4dE1hcmtlciA9IHRleHRNYXJrZXJGb3JWaXNpYmxlUG9zaXRpb24oY2FjaGUsIHN0YXJ0UG9z
aXRpb24pOworICAgIGlkIGVuZFRleHRNYXJrZXIgPSB0ZXh0TWFya2VyRm9yVmlzaWJsZVBvc2l0
aW9uKGNhY2hlLCBlbmRQb3NpdGlvbik7CiAgICAgcmV0dXJuIHRleHRNYXJrZXJSYW5nZUZyb21N
YXJrZXJzKHN0YXJ0VGV4dE1hcmtlciwgZW5kVGV4dE1hcmtlcik7CiB9CiAKLS0gKFdlYkNvcmVU
ZXh0TWFya2VyUmFuZ2UgKil0ZXh0TWFya2VyUmFuZ2VGcm9tVmlzaWJsZVBvc2l0aW9uczooVmlz
aWJsZVBvc2l0aW9uKXN0YXJ0UG9zaXRpb24gZW5kUG9zaXRpb246KFZpc2libGVQb3NpdGlvbill
bmRQb3NpdGlvbgorLSAoaWQpdGV4dE1hcmtlclJhbmdlRnJvbVZpc2libGVQb3NpdGlvbnM6KFZp
c2libGVQb3NpdGlvbilzdGFydFBvc2l0aW9uIGVuZFBvc2l0aW9uOihWaXNpYmxlUG9zaXRpb24p
ZW5kUG9zaXRpb24KIHsKICAgICByZXR1cm4gdGV4dE1hcmtlclJhbmdlRnJvbVZpc2libGVQb3Np
dGlvbnMobV9vYmplY3QtPmF4T2JqZWN0Q2FjaGUoKSwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRp
b24pOwogfQpAQCAtMTAzOCw3ICsxMDgzLDcgQEAgLSAoTlNBcnJheSopYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZU5hbWVzCiAgICAgcmV0dXJuIG9iamVjdEF0dHJpYnV0ZXM7CiB9CiAKLS0gKFZpc2li
bGVQb3NpdGlvblJhbmdlKXZpc2libGVQb3NpdGlvblJhbmdlRm9yVGV4dE1hcmtlclJhbmdlOihX
ZWJDb3JlVGV4dE1hcmtlclJhbmdlKikgdGV4dE1hcmtlclJhbmdlCistIChWaXNpYmxlUG9zaXRp
b25SYW5nZSl2aXNpYmxlUG9zaXRpb25SYW5nZUZvclRleHRNYXJrZXJSYW5nZTooaWQpdGV4dE1h
cmtlclJhbmdlCiB7CiAgICAgaWYgKCF0ZXh0TWFya2VyUmFuZ2UpCiAgICAgICAgIHJldHVybiBW
aXNpYmxlUG9zaXRpb25SYW5nZSgpOwpAQCAtMTA5Miw3ICsxMTM3LDcgQEAgc3RhdGljIE5TTXV0
YWJsZUFycmF5KiBjb252ZXJ0VG9OU0FycmF5KAogICAgIHJldHVybiBhcnJheTsKIH0KIAotLSAo
V2ViQ29yZVRleHRNYXJrZXJSYW5nZSopdGV4dE1hcmtlclJhbmdlRm9yU2VsZWN0aW9uCistIChp
ZCl0ZXh0TWFya2VyUmFuZ2VGb3JTZWxlY3Rpb24KIHsKICAgICBWaXNpYmxlU2VsZWN0aW9uIHNl
bGVjdGlvbiA9IG1fb2JqZWN0LT5zZWxlY3Rpb24oKTsKICAgICBpZiAoc2VsZWN0aW9uLmlzTm9u
ZSgpKQpAQCAtMjMyNiwxNSArMjM3MSwxNSBAQCAtICh2b2lkKWFjY2Vzc2liaWxpdHlTZXRWYWx1
ZTooaWQpdmFsdWUgCiAgICAgaWYgKCFbc2VsZiB1cGRhdGVPYmplY3RCYWNraW5nU3RvcmVdKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBXZWJDb3JlVGV4dE1hcmtlclJhbmdlKiB0ZXh0TWFya2Vy
UmFuZ2UgPSBuaWw7CisgICAgaWQgdGV4dE1hcmtlclJhbmdlID0gbmlsOwogICAgIE5TTnVtYmVy
KiAgICAgICAgICAgICAgIG51bWJlciA9IG5pbDsKICAgICBOU1N0cmluZyogICAgICAgICAgICAg
ICBzdHJpbmcgPSBuaWw7CiAgICAgTlNSYW5nZSAgICAgICAgICAgICAgICAgcmFuZ2UgPSB7MCwg
MH07CiAgICAgTlNBcnJheSogICAgICAgICAgICAgICAgYXJyYXkgPSBuaWw7CiAgICAgCiAgICAg
Ly8gZGVjb2RlIHRoZSBwYXJhbWV0ZXIKLSAgICBpZiAoW1tXZWJDb3JlVmlld0ZhY3Rvcnkgc2hh
cmVkRmFjdG9yeV0gb2JqZWN0SXNUZXh0TWFya2VyUmFuZ2U6dmFsdWVdKQotICAgICAgICB0ZXh0
TWFya2VyUmFuZ2UgPSAoV2ViQ29yZVRleHRNYXJrZXJSYW5nZSopIHZhbHVlOworICAgIGlmIChB
WE9iamVjdElzVGV4dE1hcmtlclJhbmdlKHZhbHVlKSkKKyAgICAgICAgdGV4dE1hcmtlclJhbmdl
ID0gdmFsdWU7CiAKICAgICBlbHNlIGlmIChbdmFsdWUgaXNLaW5kT2ZDbGFzczpbTlNOdW1iZXIg
c2VsZl1dKQogICAgICAgICBudW1iZXIgPSB2YWx1ZTsKQEAgLTI0NDMsOCArMjQ4OCw4IEBAIC0g
KE5TRGF0YSopZG9BWFJURkZvclJhbmdlOihOU1JhbmdlKXJhbmcKIAogLSAoaWQpYWNjZXNzaWJp
bGl0eUF0dHJpYnV0ZVZhbHVlOihOU1N0cmluZyopYXR0cmlidXRlIGZvclBhcmFtZXRlcjooaWQp
cGFyYW1ldGVyCiB7Ci0gICAgV2ViQ29yZVRleHRNYXJrZXIqIHRleHRNYXJrZXIgPSBuaWw7Ci0g
ICAgV2ViQ29yZVRleHRNYXJrZXJSYW5nZSogdGV4dE1hcmtlclJhbmdlID0gbmlsOworICAgIGlk
IHRleHRNYXJrZXIgPSBuaWw7CisgICAgaWQgdGV4dE1hcmtlclJhbmdlID0gbmlsOwogICAgIE5T
TnVtYmVyKiBudW1iZXIgPSBuaWw7CiAgICAgTlNBcnJheSogYXJyYXkgPSBuaWw7CiAgICAgUmVm
UHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IHVpRWxlbWVudCA9IDA7CkBAIC0yNDYzLDExICsyNTA4
LDExIEBAIC0gKGlkKWFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTooTlNTdHIKICAgICAvLyBj
b21tb24gcGFyYW1ldGVyIHR5cGUgY2hlY2svY2FzdGluZy4gIE5pbCBjaGVja3MgaW4gaGFuZGxl
cnMgY2F0Y2ggd3JvbmcgdHlwZSBjYXNlLgogICAgIC8vIE5PVEU6IFRoaXMgYXNzdW1lcyBuaWwg
aXMgbm90IGEgdmFsaWQgcGFyYW1ldGVyLCBiZWNhdXNlIGl0IGlzIGluZGlzdGluZ3Vpc2hhYmxl
IGZyb20KICAgICAvLyBhIHBhcmFtZXRlciBvZiB0aGUgd3JvbmcgdHlwZS4KLSAgICBpZiAoW1tX
ZWJDb3JlVmlld0ZhY3Rvcnkgc2hhcmVkRmFjdG9yeV0gb2JqZWN0SXNUZXh0TWFya2VyOnBhcmFt
ZXRlcl0pCi0gICAgICAgIHRleHRNYXJrZXIgPSAoV2ViQ29yZVRleHRNYXJrZXIqKSBwYXJhbWV0
ZXI7CisgICAgaWYgKEFYT2JqZWN0SXNUZXh0TWFya2VyKHBhcmFtZXRlcikpCisgICAgICAgIHRl
eHRNYXJrZXIgPSBwYXJhbWV0ZXI7CiAKLSAgICBlbHNlIGlmIChbW1dlYkNvcmVWaWV3RmFjdG9y
eSBzaGFyZWRGYWN0b3J5XSBvYmplY3RJc1RleHRNYXJrZXJSYW5nZTpwYXJhbWV0ZXJdKQotICAg
ICAgICB0ZXh0TWFya2VyUmFuZ2UgPSAoV2ViQ29yZVRleHRNYXJrZXJSYW5nZSopIHBhcmFtZXRl
cjsKKyAgICBlbHNlIGlmIChBWE9iamVjdElzVGV4dE1hcmtlclJhbmdlKHBhcmFtZXRlcikpCisg
ICAgICAgIHRleHRNYXJrZXJSYW5nZSA9IHBhcmFtZXRlcjsKIAogICAgIGVsc2UgaWYgKFtwYXJh
bWV0ZXIgaXNLaW5kT2ZDbGFzczpbQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgc2VsZl1dKQog
ICAgICAgICB1aUVsZW1lbnQgPSBbKEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKilwYXJhbWV0
ZXIgYWNjZXNzaWJpbGl0eU9iamVjdF07CkBAIC0yNTU0LDEwICsyNTk5LDkgQEAgLSAoaWQpYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOihOU1N0cgogICAgICAgICBpZiAoW2FycmF5IGNvdW50
XSA8IDIpCiAgICAgICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgICAgIFdlYkNvcmVUZXh0TWFy
a2VyKiB0ZXh0TWFya2VyMSA9IChXZWJDb3JlVGV4dE1hcmtlciopIFthcnJheSBvYmplY3RBdElu
ZGV4OjBdOwotICAgICAgICBXZWJDb3JlVGV4dE1hcmtlciogdGV4dE1hcmtlcjIgPSAoV2ViQ29y
ZVRleHRNYXJrZXIqKSBbYXJyYXkgb2JqZWN0QXRJbmRleDoxXTsKLSAgICAgICAgaWYgKCFbW1dl
YkNvcmVWaWV3RmFjdG9yeSBzaGFyZWRGYWN0b3J5XSBvYmplY3RJc1RleHRNYXJrZXI6dGV4dE1h
cmtlcjFdIAotICAgICAgICAgICAgfHwgIVtbV2ViQ29yZVZpZXdGYWN0b3J5IHNoYXJlZEZhY3Rv
cnldIG9iamVjdElzVGV4dE1hcmtlcjp0ZXh0TWFya2VyMl0pCisgICAgICAgIGlkIHRleHRNYXJr
ZXIxID0gW2FycmF5IG9iamVjdEF0SW5kZXg6MF07CisgICAgICAgIGlkIHRleHRNYXJrZXIyID0g
W2FycmF5IG9iamVjdEF0SW5kZXg6MV07CisgICAgICAgIGlmICghQVhPYmplY3RJc1RleHRNYXJr
ZXIodGV4dE1hcmtlcjEpIHx8ICFBWE9iamVjdElzVGV4dE1hcmtlcih0ZXh0TWFya2VyMikpCiAg
ICAgICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxl
UG9zMSA9IFtzZWxmIHZpc2libGVQb3NpdGlvbkZvclRleHRNYXJrZXI6KHRleHRNYXJrZXIxKV07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9TZWxlY3Rpb25Db250cm9sbGVyTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1NlbGVjdGlvbkNv
bnRyb2xsZXJNYWMubW0JKHJldmlzaW9uIDc4MTYzKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9tYWMvU2VsZWN0aW9uQ29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsMTkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgQ0dSZWN0IGFjY2Vzc2li
aWxpdHlDb252ZXJ0U2NyZWVuUmVjdChDR1JlY3QgYm91bmRzKQoreworICAgIE5TQXJyYXkgKnNj
cmVlbnMgPSBbTlNTY3JlZW4gc2NyZWVuc107CisgICAgaWYgKFtzY3JlZW5zIGNvdW50XSkgewor
ICAgICAgICBDR0Zsb2F0IHNjcmVlbkhlaWdodCA9IE5TSGVpZ2h0KFtbc2NyZWVucyBvYmplY3RB
dEluZGV4OjBdIGZyYW1lXSk7CisgICAgICAgIGJvdW5kcy5vcmlnaW4ueSA9IChzY3JlZW5IZWln
aHQgLSAoYm91bmRzLm9yaWdpbi55ICsgYm91bmRzLnNpemUuaGVpZ2h0KSk7CisgICAgfSBlbHNl
CisgICAgICAgIGJvdW5kcyA9IENHUmVjdFplcm87ICAgIAorICAgIAorICAgIHJldHVybiBib3Vu
ZHM7Cit9CisgICAgCisgICAgCiB2b2lkIFNlbGVjdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vz
c2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoKQogewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IG1fZnJhbWUtPmRvY3VtZW50KCk7CkBAIC01OCw4ICs3MSw4IEBAIHZvaWQgU2VsZWN0aW9uQ29u
dHJvbGxlcjo6bm90aWZ5QWNjZXNzaWIKICAgICB2aWV3UmVjdCA9IGZyYW1lVmlldy0+Y29udGVu
dHNUb1NjcmVlbih2aWV3UmVjdCk7CiAgICAgQ0dSZWN0IGNnQ2FyZXRSZWN0ID0gQ0dSZWN0TWFr
ZShzZWxlY3Rpb25SZWN0LngoKSwgc2VsZWN0aW9uUmVjdC55KCksIHNlbGVjdGlvblJlY3Qud2lk
dGgoKSwgc2VsZWN0aW9uUmVjdC5oZWlnaHQoKSk7CiAgICAgQ0dSZWN0IGNnVmlld1JlY3QgPSBD
R1JlY3RNYWtlKHZpZXdSZWN0LngoKSwgdmlld1JlY3QueSgpLCB2aWV3UmVjdC53aWR0aCgpLCB2
aWV3UmVjdC5oZWlnaHQoKSk7Ci0gICAgY2dDYXJldFJlY3QgPSBbW1dlYkNvcmVWaWV3RmFjdG9y
eSBzaGFyZWRGYWN0b3J5XSBhY2Nlc3NpYmlsaXR5Q29udmVydFNjcmVlblJlY3Q6Y2dDYXJldFJl
Y3RdOwotICAgIGNnVmlld1JlY3QgPSBbW1dlYkNvcmVWaWV3RmFjdG9yeSBzaGFyZWRGYWN0b3J5
XSBhY2Nlc3NpYmlsaXR5Q29udmVydFNjcmVlblJlY3Q6Y2dWaWV3UmVjdF07CisgICAgY2dDYXJl
dFJlY3QgPSBhY2Nlc3NpYmlsaXR5Q29udmVydFNjcmVlblJlY3QoY2dDYXJldFJlY3QpOworICAg
IGNnVmlld1JlY3QgPSBhY2Nlc3NpYmlsaXR5Q29udmVydFNjcmVlblJlY3QoY2dWaWV3UmVjdCk7
CiAKICAgICBVQVpvb21DaGFuZ2VGb2N1cygmY2dWaWV3UmVjdCwgJmNnQ2FyZXRSZWN0LCBrVUFa
b29tRm9jdXNUeXBlSW5zZXJ0aW9uUG9pbnQpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCShyZXZpc2lvbiA3
ODE2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyNCw2ICsyMjQsMTcgQEAgZXh0ZXJuIHZvaWQgKCp3
a0NvbnRlbnRBcmVhRGlkSGlkZSkoV0tTYwogZXh0ZXJuIGJvb2wgKCp3a1Njcm9sbGJhclBhaW50
ZXJVc2VzT3ZlcmxheVNjcm9sbGVycykodm9pZCk7CiAjZW5kaWYKIAorZXh0ZXJuIHZvaWQgKCp3
a1VucmVnaXN0ZXJVbmlxdWVJZEZvckVsZW1lbnQpKGlkIGVsZW1lbnQpOworZXh0ZXJuIHZvaWQg
KCp3a0FjY2Vzc2liaWxpdHlIYW5kbGVGb2N1c0NoYW5nZWQpKHZvaWQpOyAgICAKK2V4dGVybiBD
RlR5cGVJRCAoKndrR2V0QVhUZXh0TWFya2VyVHlwZUlEKSh2b2lkKTsKK2V4dGVybiBDRlR5cGVJ
RCAoKndrR2V0QVhUZXh0TWFya2VyUmFuZ2VUeXBlSUQpKHZvaWQpOworZXh0ZXJuIENGVHlwZVJl
ZiAoKndrQ3JlYXRlQVhUZXh0TWFya2VyUmFuZ2UpKENGVHlwZVJlZiBzdGFydCwgQ0ZUeXBlUmVm
IGVuZCk7CitleHRlcm4gQ0ZUeXBlUmVmICgqd2tDb3B5QVhUZXh0TWFya2VyUmFuZ2VTdGFydCko
Q0ZUeXBlUmVmIHJhbmdlKTsKK2V4dGVybiBDRlR5cGVSZWYgKCp3a0NvcHlBWFRleHRNYXJrZXJS
YW5nZUVuZCkoQ0ZUeXBlUmVmIHJhbmdlKTsKK2V4dGVybiBDRlR5cGVSZWYgKCp3a0NyZWF0ZUFY
VGV4dE1hcmtlcikoY29uc3Qgdm9pZCAqYnl0ZXMsIHNpemVfdCBsZW4pOworZXh0ZXJuIEJPT0wg
KCp3a0dldEJ5dGVzRnJvbUFYVGV4dE1hcmtlcikoQ0ZUeXBlUmVmIHRleHRNYXJrZXIsIHZvaWQg
KmJ5dGVzLCBzaXplX3QgbGVuZ3RoKTsKK2V4dGVybiBBWFVJRWxlbWVudFJlZiAoKndrQ3JlYXRl
QVhVSUVsZW1lbnRSZWYpKGlkIGVsZW1lbnQpOworCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uu
bW0JKHJldmlzaW9uIDc4MTYzKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNv
cmVTeXN0ZW1JbnRlcmZhY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2MCwzICsxNjAsMTUgQEAg
dm9pZCAoKndrQ29udGVudEFyZWFEaWRIaWRlKShXS1Njcm9sbGJhcgogCiBib29sICgqd2tTY3Jv
bGxiYXJQYWludGVyVXNlc092ZXJsYXlTY3JvbGxlcnMpKHZvaWQpOwogI2VuZGlmCisKK3ZvaWQg
KCp3a1VucmVnaXN0ZXJVbmlxdWVJZEZvckVsZW1lbnQpKGlkIGVsZW1lbnQpOwordm9pZCAoKndr
QWNjZXNzaWJpbGl0eUhhbmRsZUZvY3VzQ2hhbmdlZCkodm9pZCk7CitDRlR5cGVJRCAoKndrR2V0
QVhUZXh0TWFya2VyVHlwZUlEKSh2b2lkKTsKK0NGVHlwZUlEICgqd2tHZXRBWFRleHRNYXJrZXJS
YW5nZVR5cGVJRCkodm9pZCk7CitDRlR5cGVSZWYgKCp3a0NyZWF0ZUFYVGV4dE1hcmtlclJhbmdl
KShDRlR5cGVSZWYgc3RhcnQsIENGVHlwZVJlZiBlbmQpOworQ0ZUeXBlUmVmICgqd2tDb3B5QVhU
ZXh0TWFya2VyUmFuZ2VTdGFydCkoQ0ZUeXBlUmVmIHJhbmdlKTsKK0NGVHlwZVJlZiAoKndrQ29w
eUFYVGV4dE1hcmtlclJhbmdlRW5kKShDRlR5cGVSZWYgcmFuZ2UpOworQ0ZUeXBlUmVmICgqd2tD
cmVhdGVBWFRleHRNYXJrZXIpKGNvbnN0IHZvaWQgKmJ5dGVzLCBzaXplX3QgbGVuKTsKK0JPT0wg
KCp3a0dldEJ5dGVzRnJvbUFYVGV4dE1hcmtlcikoQ0ZUeXBlUmVmIHRleHRNYXJrZXIsIHZvaWQg
KmJ5dGVzLCBzaXplX3QgbGVuZ3RoKTsKK0FYVUlFbGVtZW50UmVmICgqd2tDcmVhdGVBWFVJRWxl
bWVudFJlZikoaWQgZWxlbWVudCk7CisKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MTcwKQor
KysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDItMDkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBWDogQVggbmVl
ZHMgdG8gc3RvcCB1c2luZyBXZWJDb3JlVmlld0ZhY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTUzCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJbml0
V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6CisKIDIwMTEtMDItMDkgIEJyaWFuIFdlaW5zdGVpbiAg
PGJ3ZWluc3RlaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNhbSBX
ZWluaWcuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21h
Yy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCShyZXZpc2lv
biA3ODE2MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFj
L1dlYlN5c3RlbUludGVyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTMwLDUgKzEzMCwxNiBA
QCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAjZWxzZQogICAgICAgICBJ
TklUKEdldEh5cGhlbmF0aW9uTG9jYXRpb25CZWZvcmVJbmRleCk7CiAjZW5kaWYKKyAgICAgICAg
CisgICAgICAgIElOSVQoR2V0QVhUZXh0TWFya2VyVHlwZUlEKTsKKyAgICAgICAgSU5JVChHZXRB
WFRleHRNYXJrZXJSYW5nZVR5cGVJRCk7CisgICAgICAgIElOSVQoQ3JlYXRlQVhUZXh0TWFya2Vy
KTsKKyAgICAgICAgSU5JVChHZXRCeXRlc0Zyb21BWFRleHRNYXJrZXIpOworICAgICAgICBJTklU
KENyZWF0ZUFYVGV4dE1hcmtlclJhbmdlKTsKKyAgICAgICAgSU5JVChDb3B5QVhUZXh0TWFya2Vy
UmFuZ2VTdGFydCk7CisgICAgICAgIElOSVQoQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kKTsKKyAg
ICAgICAgSU5JVChBY2Nlc3NpYmlsaXR5SGFuZGxlRm9jdXNDaGFuZ2VkKTsKKyAgICAgICAgSU5J
VChDcmVhdGVBWFVJRWxlbWVudFJlZik7CisgICAgICAgIElOSVQoVW5yZWdpc3RlclVuaXF1ZUlk
Rm9yRWxlbWVudCk7ICAgICAgICAKICAgICB9KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc4MTcwKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDItMDkgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBWDogQVggbmVlZHMgdG8gc3RvcCB1c2luZyBXZWJDb3JlVmlld0ZhY3RvcnkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTUzCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJ
bml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6CisKIDIwMTEtMDItMDkgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1p
a2hhdHNreS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3Rl
bUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHJldmlzaW9uIDc4MTYzKQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTYsNSArMTU2LDE2IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uo
dm9pZCkKICAgICBJTklUKFNjcm9sbGJhclBhaW50ZXJVc2VzT3ZlcmxheVNjcm9sbGVycyk7CiAj
ZW5kaWYKIAorICAgIElOSVQoR2V0QVhUZXh0TWFya2VyVHlwZUlEKTsKKyAgICBJTklUKEdldEFY
VGV4dE1hcmtlclJhbmdlVHlwZUlEKTsKKyAgICBJTklUKENyZWF0ZUFYVGV4dE1hcmtlcik7Cisg
ICAgSU5JVChHZXRCeXRlc0Zyb21BWFRleHRNYXJrZXIpOworICAgIElOSVQoQ3JlYXRlQVhUZXh0
TWFya2VyUmFuZ2UpOworICAgIElOSVQoQ29weUFYVGV4dE1hcmtlclJhbmdlU3RhcnQpOworICAg
IElOSVQoQ29weUFYVGV4dE1hcmtlclJhbmdlRW5kKTsKKyAgICBJTklUKEFjY2Vzc2liaWxpdHlI
YW5kbGVGb2N1c0NoYW5nZWQpOworICAgIElOSVQoQ3JlYXRlQVhVSUVsZW1lbnRSZWYpOworICAg
IElOSVQoVW5yZWdpc3RlclVuaXF1ZUlkRm9yRWxlbWVudCk7CisKICAgICBkaWRJbml0ID0gdHJ1
ZTsKIH0K
</data>
<flag name="review"
          id="73524"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>