<?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>68124</bug_id>
          
          <creation_ts>2011-09-14 15:22:14 -0700</creation_ts>
          <short_desc>Get rid of WebCoreViewFactory and its WebViewFactory subclass</short_desc>
          <delta_ts>2011-09-14 15:30:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>467399</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-14 15:22:14 -0700</bug_when>
    <thetext>Get rid of WebCoreViewFactory and its WebViewFactory subclass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467402</commentid>
    <comment_count>1</comment_count>
      <attachid>107403</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-14 15:24:50 -0700</bug_when>
    <thetext>Created attachment 107403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467411</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-09-14 15:30:39 -0700</bug_when>
    <thetext>Committed r95130: &lt;http://trac.webkit.org/changeset/95130&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107403</attachid>
            <date>2011-09-14 15:24:50 -0700</date>
            <delta_ts>2011-09-14 15:26:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68124-20110914152449.patch</filename>
            <type>text/plain</type>
            <size>28513</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MTI4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDktMTQgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIFdlYkNv
cmVWaWV3RmFjdG9yeSBhbmQgaXRzIFdlYlZpZXdGYWN0b3J5IHN1YmNsYXNzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEyNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMh
KQorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGVkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9u
TWFjLm1tOgorICAgICAgICAqIHBhZ2UvbWFjL0ZyYW1lTWFjLm1tOgorICAgICAgICAqIHBhZ2Uv
bWFjL1dlYkNvcmVWaWV3RmFjdG9yeS5oOiBSZW1vdmVkLgorICAgICAgICAqIHBhZ2UvbWFjL1dl
YkNvcmVWaWV3RmFjdG9yeS5tOiBSZW1vdmVkLgorCiAyMDExLTA5LTE0ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIERvY1R5cGVTdHJpbmdz
LmdwZXJmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gOTUxMjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw2
IEBACiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxrZXIKIC5vYmpjX2NsYXNzX25hbWVfRE9N
VUlFdmVudAogLm9iamNfY2xhc3NfbmFtZV9ET01XaGVlbEV2ZW50Ci0ub2JqY19jbGFzc19uYW1l
X1dlYkNvcmVWaWV3RmFjdG9yeQogLm9iamNfY2xhc3NfbmFtZV9XZWJGb250Q2FjaGUKIC5vYmpj
X2NsYXNzX25hbWVfV2ViSFRNTENvbnZlcnRlcgogLm9iamNfY2xhc3NfbmFtZV9XZWJTY3JpcHRP
YmplY3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDk1MTI4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMTIxLDcgKzMxMjEs
NiBAQAogCQk5M0YxOTk2MzA4MjQ1RTU5MDAxRTlBQkMgLyogU1NMS2V5R2VuZXJhdG9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTg3ODY2MjAyREUz
QjExMDFFQTQxMjIgLyogU1NMS2V5R2VuZXJhdG9yLmggKi87IH07CiAJCTkzRjE5OThDMDgyNDVF
NTkwMDFFOUFCQyAvKiBSZW5kZXJUcmVlQXNUZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5Mzk1NUE0MTAzRDcyOTMyMDA4NjM1Q0UgLyogUmVuZGVy
VHJlZUFzVGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTkzRjE5OUE4MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlRnJhbWVWaWV3LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTg3ODU0QzAyREUz
NzU5MDFFQTQxMjIgLyogV2ViQ29yZUZyYW1lVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTkzRjE5OUIzMDgyNDVFNTkwMDFFOUFCQyAvKiBX
ZWJDb3JlVmlld0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY1ODc4NTU0MDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVmlld0ZhY3Rvcnku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5M0Yx
OTlCODA4MjQ1RTU5MDAxRTlBQkMgLyogU2Nyb2xsYmFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdCMkFGODA0NTA4MjQxMDBBODAwMEYgLyogU2Ny
b2xsYmFyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTNGMTk5QkIwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVLZXlib2FyZFVJTW9kZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkU5ODNEOTUwNTJB
MkUwQTAwODkyRDg1IC8qIFdlYkNvcmVLZXlib2FyZFVJTW9kZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzRjE5OUJFMDgyNDVFNTkwMDFFOUFC
QyAvKiBCbG9ja0V4Y2VwdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1QTY0MEYwMDUzM0JCMUYwMDg1RTc3NyAvKiBCbG9ja0V4Y2VwdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzEz
Miw3ICszMTMxLDYgQEAKIAkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNz
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDZG
MjRDMDZEMThBN0UwMDRBNkZBMyAvKiBYU0xUUHJvY2Vzc29yLmggKi87IH07CiAJCTkzRjE5OUYw
MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkU4NTVGN0YwNzAxRTgzNTAwMjM5NzY5IC8qIFdlYkNv
cmVWaWV3LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTNGMTlBMjYwODI0NUU1OTAwMUU5QUJDIC8qIEN1cnNvck1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1ODc4NEYwMDJERTM3NTkwMUVBNDEy
MiAvKiBDdXJzb3JNYWMubW0gKi87IH07Ci0JCTkzRjE5QTVGMDgyNDVFNTkwMDFFOUFCQyAvKiBX
ZWJDb3JlVmlld0ZhY3RvcnkubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY1ODc4NTU1MDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVmlld0ZhY3Rvcnku
bSAqLzsgfTsKIAkJOTNGMTlBOTEwODI0NUU1OTAwMUU5QUJDIC8qIEhUTUxEb2N1bWVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTIzRDIzQjAy
REU0Mzk2MDE4NjM1Q0EgLyogSFRNTERvY3VtZW50LmNwcCAqLzsgfTsKIAkJOTNGMTlBOTIwODI0
NUU1OTAwMUU5QUJDIC8qIEhUTUxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MjNEMjNFMDJERTQzOTYwMTg2MzVDQSAvKiBIVE1MRWxl
bWVudC5jcHAgKi87IH07CiAJCTkzRjE5QTlEMDgyNDVFNTkwMDFFOUFCQyAvKiBUZXh0UmVzb3Vy
Y2VEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY1MjNEMjc4MDJERTQzRDcwMTg2MzVDQSAvKiBUZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCAq
LzsgfTsKQEAgLTEyNTc1LDggKzEyNTczLDYgQEAKIAkJRjU1QjNEQUMxMjUxRjEyRDAwM0VGMjY5
IC8qIFdlZWtJbnB1dFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vl
a0lucHV0VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNTg3ODRGMDAyREUz
NzU5MDFFQTQxMjIgLyogQ3Vyc29yTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ3Vyc29yTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjU4Nzg1NEMwMkRF
Mzc1OTAxRUE0MTIyIC8qIFdlYkNvcmVGcmFtZVZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZUZyYW1lVmlldy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKLQkJRjU4Nzg1
NTQwMkRFMzc1OTAxRUE0MTIyIC8qIFdlYkNvcmVWaWV3RmFjdG9yeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVmlld0ZhY3Rvcnku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
Ci0JCUY1ODc4NTU1MDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVmlld0ZhY3RvcnkubSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGgg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gV2ViQ29y
ZVZpZXdGYWN0b3J5Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNl
c1RhYnMgPSAwOyB9OwogCQlGNTg3ODYzQTAyREUzQTE0MDFFQTQxMjIgLyogU2V0dGluZ3MuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2V0dGlu
Z3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07CiAJCUY1ODc4NjQ5MDJERTNBOUEwMUVBNDEyMiAvKiBDYWNoZVBvbGljeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZVBvbGljeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsK
IAkJRjU4Nzg2NjIwMkRFM0IxMTAxRUE0MTIyIC8qIFNTTEtleUdlbmVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTU0xLZXlHZW5lcmF0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07CkBAIC0xNjE0Myw4ICsxNjEzOSw2IEBACiAJCQkJNjVCRjAyM0MwOTc0ODE5MDAwQzQzMTk2
IC8qIEZyYW1lTWFjLm1tICovLAogCQkJCTFDMjY0OTdCMEQ3RTI0RUMwMEJEMTBGMiAvKiBQYWdl
TWFjLmNwcCAqLywKIAkJCQlGNTg3ODU0QzAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZUZyYW1l
Vmlldy5oICovLAotCQkJCUY1ODc4NTU0MDJERTM3NTkwMUVBNDEyMiAvKiBXZWJDb3JlVmlld0Zh
Y3RvcnkuaCAqLywKLQkJCQlGNTg3ODU1NTAyREUzNzU5MDFFQTQxMjIgLyogV2ViQ29yZVZpZXdG
YWN0b3J5Lm0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0yMzM0NSw3ICsyMzMzOSw2IEBACiAJCQkJOTNFQjE2OTcwOUY4ODBDMDAwOTFG
OEZGIC8qIFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3Rjgx
OEZEMEQ2NTc2MDYwMDVFMUYwNSAvKiBXZWJDb3JlVVJMUmVzcG9uc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzRjE5OUYwMDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlVmlldy5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJOTNGMTk5QjMwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVWaWV3RmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2REFERUYwQTE5NUZERjAwRTVDRDE0IC8qIFdlYkZv
bnRDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEMjBGNkQxMDdGNDM4QjAwQTgwMzkyIC8q
IFdlYkdMQWN0aXZlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlDN0I5QzkxMDQyRDMyRjAw
MDlENDQ3IC8qIFdlYkdMQnVmZmVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MTg2LDcgKzI2MTc5
LDYgQEAKIAkJCQk5M0VCMTY5NTA5Rjg4MEIwMDA5MUY4RkYgLyogV2ViQ29yZVN5c3RlbUludGVy
ZmFjZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3RjgxOEZFMEQ2NTc2MDYwMDVFMUYwNSAvKiBX
ZWJDb3JlVVJMUmVzcG9uc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0YxOUIwNzA4MjQ1RTU5
MDAxRTlBQkMgLyogV2ViQ29yZVZpZXcubSBpbiBTb3VyY2VzICovLAotCQkJCTkzRjE5QTVGMDgy
NDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlVmlld0ZhY3RvcnkubSBpbiBTb3VyY2VzICovLAogCQkJ
CUJDNkRBREZBMEExOTYwMkIwMEU1Q0QxNCAvKiBXZWJGb250Q2FjaGUubW0gaW4gU291cmNlcyAq
LywKIAkJCQk0OUM3QjlDODEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xCdWZmZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNkU0RTkxQUUxMEY3RkIzMTAwQTI3NzlDIC8qIFdlYkdMQ29udGV4dEF0
dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQkocmV2aXNpb24gOTUxMjYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNiBAQAogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgogI2ltcG9ydCAi
RnJhbWUuaCIKICNpbXBvcnQgIlJlbmRlclZpZXcuaCIKLSNpbXBvcnQgIldlYkNvcmVWaWV3RmFj
dG9yeS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL0ZyYW1lTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L0ZyYW1lTWFjLm1tCShyZXZpc2lvbiA5NTEyNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L0ZyYW1lTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MCw5ICs1MCw3IEBACiAjaW1wb3J0ICJS
ZW5kZXJUYWJsZUNlbGwuaCIKICNpbXBvcnQgIlNjcm9sbGJhci5oIgogI2ltcG9ydCAiU2ltcGxl
Rm9udERhdGEuaCIKLSNpbXBvcnQgIldlYkNvcmVWaWV3RmFjdG9yeS5oIgogI2ltcG9ydCAidmlz
aWJsZV91bml0cy5oIgotI2ltcG9ydCA8Q2FyYm9uL0NhcmJvbi5oPgogI2ltcG9ydCA8d3RmL1N0
ZExpYkV4dHJhcy5oPgogCiBAaW50ZXJmYWNlIE5TVmlldyAoV2ViQ29yZUhUTUxEb2N1bWVudFZp
ZXcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XZWJDb3JlVmlld0ZhY3RvcnkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XZWJDb3JlVmlld0ZhY3Rvcnku
aAkocmV2aXNpb24gOTUxMjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XZWJDb3JlVmll
d0ZhY3RvcnkuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDAzLCAyMDA1LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
Q09NUFVURVIsIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCi0gKi8KLQotQGNsYXNzIFdlYkNvcmVUZXh0TWFya2VyOwotQGNsYXNzIFdlYkNvcmVU
ZXh0TWFya2VyUmFuZ2U7Ci0KLUBwcm90b2NvbCBXZWJDb3JlVmlld0ZhY3RvcnkKLQotLSAoQk9P
TClvYmplY3RJc1RleHRNYXJrZXI6KGlkKW9iamVjdDsKLS0gKEJPT0wpb2JqZWN0SXNUZXh0TWFy
a2VyUmFuZ2U6KGlkKW9iamVjdDsKLQotLSAoV2ViQ29yZVRleHRNYXJrZXIgKil0ZXh0TWFya2Vy
V2l0aEJ5dGVzOihjb25zdCB2b2lkICopYnl0ZXMgbGVuZ3RoOihzaXplX3QpbGVuZ3RoOwotLSAo
Qk9PTClnZXRCeXRlczoodm9pZCAqKWJ5dGVzIGZyb21UZXh0TWFya2VyOihXZWJDb3JlVGV4dE1h
cmtlciAqKXRleHRNYXJrZXIgbGVuZ3RoOihzaXplX3QpbGVuZ3RoOwotCi0tIChXZWJDb3JlVGV4
dE1hcmtlclJhbmdlICopdGV4dE1hcmtlclJhbmdlV2l0aFN0YXJ0OihXZWJDb3JlVGV4dE1hcmtl
ciAqKXN0YXJ0IGVuZDooV2ViQ29yZVRleHRNYXJrZXIgKillbmQ7Ci0tIChXZWJDb3JlVGV4dE1h
cmtlciAqKXN0YXJ0T2ZUZXh0TWFya2VyUmFuZ2U6KFdlYkNvcmVUZXh0TWFya2VyUmFuZ2UgKily
YW5nZTsKLS0gKFdlYkNvcmVUZXh0TWFya2VyICopZW5kT2ZUZXh0TWFya2VyUmFuZ2U6KFdlYkNv
cmVUZXh0TWFya2VyUmFuZ2UgKilyYW5nZTsKLQotLSAodm9pZClhY2Nlc3NpYmlsaXR5SGFuZGxl
Rm9jdXNDaGFuZ2VkOwotLSAoQ0dSZWN0KWFjY2Vzc2liaWxpdHlDb252ZXJ0U2NyZWVuUmVjdDoo
Q0dSZWN0KWJvdW5kczsKLQotLSAoQVhVSUVsZW1lbnRSZWYpQVhVSUVsZW1lbnRGb3JFbGVtZW50
OihpZCllbGVtZW50OwotLSAodm9pZCl1bnJlZ2lzdGVyVW5pcXVlSWRGb3JVSUVsZW1lbnQ6KGlk
KWVsZW1lbnQ7Ci0KLUBlbmQKLQotQGludGVyZmFjZSBXZWJDb3JlVmlld0ZhY3RvcnkgOiBOU09i
amVjdAotKyAoV2ViQ29yZVZpZXdGYWN0b3J5ICopc2hhcmVkRmFjdG9yeTsKLUBlbmQKLQotQGlu
dGVyZmFjZSBXZWJDb3JlVmlld0ZhY3RvcnkgKFN1YmNsYXNzUmVzcG9uc2liaWxpdHkpIDxXZWJD
b3JlVmlld0ZhY3Rvcnk+Ci1AZW5kCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XZWJD
b3JlVmlld0ZhY3RvcnkubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9X
ZWJDb3JlVmlld0ZhY3RvcnkubQkocmV2aXNpb24gOTUxMjYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9XZWJDb3JlVmlld0ZhY3RvcnkubQkod29ya2luZyBjb3B5KQpAQCAtMSw0OCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotI2luY2x1ZGUgImNvbmZpZy5oIgotI2ltcG9ydCAiV2Vi
Q29yZVZpZXdGYWN0b3J5LmgiCi0jaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotCi1AaW1wbGVt
ZW50YXRpb24gV2ViQ29yZVZpZXdGYWN0b3J5Ci0KLXN0YXRpYyBXZWJDb3JlVmlld0ZhY3Rvcnkg
KnNoYXJlZEZhY3Rvcnk7Ci0KLSsgKFdlYkNvcmVWaWV3RmFjdG9yeSAqKXNoYXJlZEZhY3RvcnkK
LXsKLSAgICByZXR1cm4gc2hhcmVkRmFjdG9yeTsKLX0KLQotLSAoaWQpaW5pdAotewotICAgIHNl
bGYgPSBbc3VwZXIgaW5pdF07Ci0gICAgCi0gICAgQVNTRVJUKCFzaGFyZWRGYWN0b3J5KTsKLSAg
ICBzaGFyZWRGYWN0b3J5ID0gW3NlbGYgcmV0YWluXTsKLSAgICAKLSAgICByZXR1cm4gc2VsZjsK
LX0KLQotQGVuZApJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MTI4KQorKysgU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wOS0xNCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIEdldCByaWQg
b2YgV2ViQ29yZVZpZXdGYWN0b3J5IGFuZCBpdHMgV2ViVmlld0ZhY3Rvcnkgc3ViY2xhc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTI0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMS0wOC0yMyAgSm9uYXMgTS4gR2FzdGFsIDxq
Z2FzdGFsQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29t
ZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDk1MTI2KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTc2LDcgKzE3Niw2IEBACiAJCTkz
OTgxMDM5MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJQbHVnaW5QYWNrYWdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0U0QUY0QjAzNjY1OTQ0MDAwMEU1
MDYgLyogV2ViUGx1Z2luUGFja2FnZS5oICovOyB9OwogCQk5Mzk4MTAzQTA4MjRCRjAxMDA4REYw
MzggLyogV2ViUGx1Z2luVmlld0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg0OERGRjg2MDM2NUZFNkEwMENBMkFDQSAvKiBXZWJQbHVnaW5W
aWV3RmFjdG9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsg
fTsKIAkJOTM5ODEwNDIwODI0QkYwMTAwOERGMDM4IC8qIFdlYkphdmFTY3JpcHRUZXh0SW5wdXRQ
YW5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM0
NUQ0RUEwMzY1QzVCMjAwODYzNUNFIC8qIFdlYkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTkzOTgxMDQ2
MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVGNzE3NEMwMjg4NUM1QjAxODYzNUNBIC8qIFdl
YlZpZXdGYWN0b3J5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJ
OTM5ODEwNDcwODI0QkYwMTAwOERGMDM4IC8qIFdlYktpdFByZWZpeC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjVDMjgzNzMwMjg0Njc2RDAxODYzNUNB
IC8qIFdlYktpdFByZWZpeC5oICovOyB9OwogCQk5Mzk4MTA0OTA4MjRCRjAxMDA4REYwMzggLyog
V2ViQ2xpcFZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzM0Q2NTk5MDM0MTNGRjIwMDg2MzVDRSAvKiBXZWJDbGlwVmlldy5oICovOyB9OwogCQk5
Mzk4MTA0QjA4MjRCRjAxMDA4REYwMzggLyogV2ViRGF0YVNvdXJjZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzk0NDYwNzAwMjBGNTBFRDBFQ0ExNzY3
IC8qIFdlYkRhdGFTb3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07CkBAIC0yNzIsNyArMjcxLDYgQEAKIAkJOTM5ODEwREQwODI0QkYwMTAwOERGMDM4
IC8qIG5wYXBpLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjVGNzE3MjMwMjg4NDkzQzAxODYzNUNBIC8qIG5wYXBpLm1tICovOyB9OwogCQk5Mzk4MTBF
MzA4MjRCRjAxMDA4REYwMzggLyogV2ViSW1hZ2VSZW5kZXJlckZhY3RvcnkubSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDRTFGOEEzMDJBNUM2RjMwRUNB
MkFDRCAvKiBXZWJJbWFnZVJlbmRlcmVyRmFjdG9yeS5tICovOyB9OwogCQk5Mzk4MTBFNDA4MjRC
RjAxMDA4REYwMzggLyogV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzQ1RDRFQjAzNjVDNUIyMDA4NjM1
Q0UgLyogV2ViSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsLm0gKi87IH07Ci0JCTkzOTgxMEU4MDgy
NEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3RmFjdG9yeS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1RjcxNzREMDI4ODVDNUIwMTg2MzVDQSAvKiBXZWJW
aWV3RmFjdG9yeS5tbSAqLzsgfTsKIAkJOTM5ODEwRUIwODI0QkYwMTAwOERGMDM4IC8qIFdlYkNs
aXBWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTMzRDY1OUEwMzQxM0ZGMjAwODYzNUNFIC8qIFdlYkNsaXBWaWV3Lm1tICovOyB9OwogCQk5Mzk4
MTBFRDA4MjRCRjAxMDA4REYwMzggLyogV2ViRGF0YVNvdXJjZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM5NDQ2MDcxMDIwRjUwRUQwRUNBMTc2NyAv
KiBXZWJEYXRhU291cmNlLm1tICovOyB9OwogCQk5Mzk4MTBFRjA4MjRCRjAxMDA4REYwMzggLyog
V2ViRGVmYXVsdENvbnRleHRNZW51RGVsZWdhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTUyRkFERTAzM0ZDNTA0MDBDQTJBQ0QgLyogV2ViRGVm
YXVsdENvbnRleHRNZW51RGVsZWdhdGUubW0gKi87IH07CkBAIC03MzgsOCArNzM2LDYgQEAKIAkJ
RjVGNzE3MjAwMjg4NDkzQzAxODYzNUNBIC8qIFdlYlBsdWdpbkRhdGFiYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUGx1Z2luRGF0YWJh
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07CiAJCUY1RjcxNzIxMDI4ODQ5M0MwMTg2MzVDQSAvKiBXZWJQbHVnaW5EYXRhYmFzZS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IHBhdGggPSBX
ZWJQbHVnaW5EYXRhYmFzZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1RjcxNzIzMDI4ODQ5M0MwMTg2MzVDQSAvKiBucGFwaS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IHBhdGgg
PSBucGFwaS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07Ci0JCUY1RjcxNzRDMDI4ODVDNUIwMTg2MzVDQSAvKiBXZWJWaWV3RmFjdG9yeS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlZp
ZXdGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwotCQlGNUY3MTc0RDAyODg1QzVCMDE4NjM1Q0EgLyogV2ViVmlld0ZhY3Rvcnku
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYlZpZXdGYWN0b3J5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjVGNzMyRDIwMkZGNEQ0RjAxQTgwMTgwIC8qIFdlYktp
dC5leHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5leHBvcnRzOyBuYW1lID0gV2ViS2l0LmV4cDsg
cGF0aCA9IG1hYy9XZWJLaXQuZXhwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9
IDQ7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjVGODFDMzkwMkI2N0MyNjAxODYzNUNBIC8qIFdlYlJl
bmRlck5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJSZW5kZXJOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNUY4MUMzQTAyQjY3QzI2MDE4NjM1Q0EgLyogV2ViUmVu
ZGVyTm9kZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViUmVuZGVyTm9kZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFi
V2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CkBAIC0xMzIzLDggKzEzMTksNiBAQAogCQkJCUE1
REVGQzA5MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpblByaXZhdGUuaCAqLywK
IAkJCQk5M0VCMTc4RTA5Rjg4RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggKi8s
CiAJCQkJOTNFQjE3OEMwOUY4OEQ0NjAwOTFGOEZGIC8qIFdlYlN5c3RlbUludGVyZmFjZS5tbSAq
LywKLQkJCQlGNUY3MTc0QzAyODg1QzVCMDE4NjM1Q0EgLyogV2ViVmlld0ZhY3RvcnkuaCAqLywK
LQkJCQlGNUY3MTc0RDAyODg1QzVCMDE4NjM1Q0EgLyogV2ViVmlld0ZhY3RvcnkubW0gKi8sCiAJ
CQkpOwogCQkJbmFtZSA9IFdlYkNvcmVTdXBwb3J0OwogCQkJcGF0aCA9IG1hYy9XZWJDb3JlU3Vw
cG9ydDsKQEAgLTE2MDUsNyArMTU5OSw2IEBACiAJCQkJQzBDNUIzRUUxMTc3QTRBMDAwMkIwQUVG
IC8qIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODEw
NzAwODI0QkYwMTAwOERGMDM4IC8qIFdlYlZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkU0
NjREMEZEOEE5NjgwMEE5RDlERSAvKiBXZWJWaWV3RGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
OTM5ODEwNDYwODI0QkYwMTAwOERGMDM4IC8qIFdlYlZpZXdGYWN0b3J5LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5Mzk4MTA5QjA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlld0ludGVybmFsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5Mzk4MTA3MTA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlld1ByaXZh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRjQ0ODRGMTAzMzhFOEMwMDMwRTU1RSAvKiBXZWJX
b3JrZXJzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xOTgyLDcgKzE5NzUsNiBAQAogCQkJ
CTkzOTgxMTA3MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkMyRTQ2NEUwRkQ4QTk2ODAwQTlEOURFIC8qIFdlYlZpZXdEYXRhLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM5N0U3RTIxMDk2M0QyNjAwMTBEMzYxIC8qIFdlYlZpZXdFdmVudEhhbmRsaW5n
Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTM5ODEwRTgwODI0QkYwMTAwOERGMDM4IC8qIFdlYlZp
ZXdGYWN0b3J5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFGNDQ4NTAxMDMzOEU4QzAwMzBFNTVF
IC8qIFdlYldvcmtlcnNQcml2YXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTVERUZDMEExMUQ1
MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTVERUZDMTAxMUQ1MzQzRTAwODg1MjczIC8qIFdlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyLm1tIGlu
IFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NTEyOCkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDExLTA5LTE0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAg
ICAgICAgR2V0IHJpZCBvZiBXZWJDb3JlVmlld0ZhY3RvcnkgYW5kIGl0cyBXZWJWaWV3RmFjdG9y
eSBzdWJjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjgxMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1tOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYlZpZXdGYWN0b3J5Lmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViVmlld0ZhY3RvcnkubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViVmlldy9X
ZWJGcmFtZVZpZXcubW06CisgICAgICAgICgtW1dlYkZyYW1lVmlldyBpbml0V2l0aEZyYW1lOl0p
OgorCiAyMDExLTA5LTE0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBp
biBKU0NlbGwgaGllcmFyY2h5ICg2LzcpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQkocmV2aXNpb24g
OTUxMjYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVu
dUNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNiBAQAogI2ltcG9ydCAiV2Vi
VUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQg
IldlYlZpZXcuaCIKLSNpbXBvcnQgIldlYlZpZXdGYWN0b3J5LmgiCiAjaW1wb3J0ICJXZWJWaWV3
SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KICNpbXBvcnQgPFdl
YkNvcmUvQ29udGV4dE1lbnVDb250cm9sbGVyLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJWaWV3RmFjdG9yeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlZpZXdGYWN0b3J5LmgJKHJldmlzaW9uIDk1MTI2KQor
KysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0ZhY3RvcnkuaAkod29y
a2luZyBjb3B5KQpAQCAtMSwzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA1IEFw
cGxlIENvbXB1dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4gCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgPFdlYkNv
cmUvV2ViQ29yZVZpZXdGYWN0b3J5Lmg+Ci0KLUBpbnRlcmZhY2UgV2ViVmlld0ZhY3RvcnkgOiBX
ZWJDb3JlVmlld0ZhY3RvcnkgPFdlYkNvcmVWaWV3RmFjdG9yeT4KLQotKyAodm9pZCljcmVhdGVT
aGFyZWRGYWN0b3J5OwotCi1AZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJWaWV3RmFjdG9yeS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJWaWV3RmFjdG9yeS5tbQkocmV2aXNpb24gOTUxMjYpCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3RmFjdG9yeS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMSwxMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwOSBB
cHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uIAotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0IDxXZWJL
aXQvV2ViVmlld0ZhY3RvcnkuaD4KLQotI2ltcG9ydCA8V2ViS2l0L1dlYkZyYW1lSW50ZXJuYWwu
aD4KLSNpbXBvcnQgPFdlYktpdC9XZWJWaWV3SW50ZXJuYWwuaD4KLSNpbXBvcnQgPFdlYktpdC9X
ZWJIVE1MVmlld0ludGVybmFsLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV2ViTlNVc2VyRGVmYXVsdHNF
eHRyYXMuaD4KLSNpbXBvcnQgPFdlYktpdC9XZWJOU09iamVjdEV4dHJhcy5oPgotI2ltcG9ydCA8
V2ViS2l0L1dlYk5TVmlld0V4dHJhcy5oPgotI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNl
Lmg+Ci0jaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotCi1AaW50ZXJmYWNlIE5TTWVudSAoV2Vi
Vmlld0ZhY3RvcnlBZGRpdGlvbnMpCi0tIChOU01lbnVJdGVtICopYWRkSXRlbVdpdGhUaXRsZToo
TlNTdHJpbmcgKil0aXRsZSBhY3Rpb246KFNFTClhY3Rpb24gdGFnOihpbnQpdGFnOwotQGVuZAot
Ci1AaW1wbGVtZW50YXRpb24gTlNNZW51IChXZWJWaWV3RmFjdG9yeUFkZGl0aW9ucykKLQotLSAo
TlNNZW51SXRlbSAqKWFkZEl0ZW1XaXRoVGl0bGU6KE5TU3RyaW5nICopdGl0bGUgYWN0aW9uOihT
RUwpYWN0aW9uIHRhZzooaW50KXRhZwotewotICAgIE5TTWVudUl0ZW0gKml0ZW0gPSBbW1tOU01l
bnVJdGVtIGFsbG9jXSBpbml0V2l0aFRpdGxlOnRpdGxlIGFjdGlvbjphY3Rpb24ga2V5RXF1aXZh
bGVudDpAIiJdIGF1dG9yZWxlYXNlXTsKLSAgICBbaXRlbSBzZXRUYWc6dGFnXTsKLSAgICBbc2Vs
ZiBhZGRJdGVtOml0ZW1dOwotICAgIHJldHVybiBpdGVtOwotfQotCi1AZW5kCi0KLUBpbXBsZW1l
bnRhdGlvbiBXZWJWaWV3RmFjdG9yeQotCi0rICh2b2lkKWNyZWF0ZVNoYXJlZEZhY3RvcnkKLXsK
LSAgICBpZiAoIVtzZWxmIHNoYXJlZEZhY3RvcnldKSB7Ci0gICAgICAgIFtbW3NlbGYgYWxsb2Nd
IGluaXRdIHJlbGVhc2VdOwotICAgIH0KLSAgICBBU1NFUlQoW1tzZWxmIHNoYXJlZEZhY3Rvcnld
IGlzS2luZE9mQ2xhc3M6c2VsZl0pOwotfQotCi0tIChCT09MKW9iamVjdElzVGV4dE1hcmtlcjoo
aWQpb2JqZWN0Ci17Ci0gICAgcmV0dXJuIG9iamVjdCAhPSBuaWwgJiYgQ0ZHZXRUeXBlSUQob2Jq
ZWN0KSA9PSBXS0dldEFYVGV4dE1hcmtlclR5cGVJRCgpOwotfQotCi0tIChCT09MKW9iamVjdElz
VGV4dE1hcmtlclJhbmdlOihpZClvYmplY3QKLXsKLSAgICByZXR1cm4gb2JqZWN0ICE9IG5pbCAm
JiBDRkdldFR5cGVJRChvYmplY3QpID09IFdLR2V0QVhUZXh0TWFya2VyUmFuZ2VUeXBlSUQoKTsK
LX0KLQotLSAoV2ViQ29yZVRleHRNYXJrZXIgKil0ZXh0TWFya2VyV2l0aEJ5dGVzOihjb25zdCB2
b2lkICopYnl0ZXMgbGVuZ3RoOihzaXplX3QpbGVuZ3RoCi17Ci0gICAgcmV0dXJuIFdlYkNGQXV0
b3JlbGVhc2UoV0tDcmVhdGVBWFRleHRNYXJrZXIoYnl0ZXMsIGxlbmd0aCkpOwotfQotCi0tIChC
T09MKWdldEJ5dGVzOih2b2lkICopYnl0ZXMgZnJvbVRleHRNYXJrZXI6KFdlYkNvcmVUZXh0TWFy
a2VyICopdGV4dE1hcmtlciBsZW5ndGg6KHNpemVfdClsZW5ndGgKLXsKLSAgICByZXR1cm4gV0tH
ZXRCeXRlc0Zyb21BWFRleHRNYXJrZXIodGV4dE1hcmtlciwgYnl0ZXMsIGxlbmd0aCk7Ci19Ci0K
LS0gKFdlYkNvcmVUZXh0TWFya2VyUmFuZ2UgKil0ZXh0TWFya2VyUmFuZ2VXaXRoU3RhcnQ6KFdl
YkNvcmVUZXh0TWFya2VyICopc3RhcnQgZW5kOihXZWJDb3JlVGV4dE1hcmtlciAqKWVuZAotewot
ICAgIEFTU0VSVChzdGFydCAhPSBuaWwpOwotICAgIEFTU0VSVChlbmQgIT0gbmlsKTsKLSAgICBB
U1NFUlQoQ0ZHZXRUeXBlSUQoc3RhcnQpID09IFdLR2V0QVhUZXh0TWFya2VyVHlwZUlEKCkpOwot
ICAgIEFTU0VSVChDRkdldFR5cGVJRChlbmQpID09IFdLR2V0QVhUZXh0TWFya2VyVHlwZUlEKCkp
OwotICAgIHJldHVybiBXZWJDRkF1dG9yZWxlYXNlKFdLQ3JlYXRlQVhUZXh0TWFya2VyUmFuZ2Uo
c3RhcnQsIGVuZCkpOwotfQotCi0tIChXZWJDb3JlVGV4dE1hcmtlciAqKXN0YXJ0T2ZUZXh0TWFy
a2VyUmFuZ2U6KFdlYkNvcmVUZXh0TWFya2VyUmFuZ2UgKilyYW5nZQotewotICAgIEFTU0VSVChy
YW5nZSAhPSBuaWwpOwotICAgIEFTU0VSVChDRkdldFR5cGVJRChyYW5nZSkgPT0gV0tHZXRBWFRl
eHRNYXJrZXJSYW5nZVR5cGVJRCgpKTsKLSAgICByZXR1cm4gV2ViQ0ZBdXRvcmVsZWFzZShXS0Nv
cHlBWFRleHRNYXJrZXJSYW5nZVN0YXJ0KHJhbmdlKSk7Ci19Ci0KLS0gKFdlYkNvcmVUZXh0TWFy
a2VyICopZW5kT2ZUZXh0TWFya2VyUmFuZ2U6KFdlYkNvcmVUZXh0TWFya2VyUmFuZ2UgKilyYW5n
ZQotewotICAgIEFTU0VSVChyYW5nZSAhPSBuaWwpOwotICAgIEFTU0VSVChDRkdldFR5cGVJRChy
YW5nZSkgPT0gV0tHZXRBWFRleHRNYXJrZXJSYW5nZVR5cGVJRCgpKTsKLSAgICByZXR1cm4gV2Vi
Q0ZBdXRvcmVsZWFzZShXS0NvcHlBWFRleHRNYXJrZXJSYW5nZUVuZChyYW5nZSkpOwotfQotCi0t
ICh2b2lkKWFjY2Vzc2liaWxpdHlIYW5kbGVGb2N1c0NoYW5nZWQKLXsKLSAgICBXS0FjY2Vzc2li
aWxpdHlIYW5kbGVGb2N1c0NoYW5nZWQoKTsKLX0KLQotLSAoQVhVSUVsZW1lbnRSZWYpQVhVSUVs
ZW1lbnRGb3JFbGVtZW50OihpZCllbGVtZW50Ci17Ci0gICAgcmV0dXJuIFdLQ3JlYXRlQVhVSUVs
ZW1lbnRSZWYoZWxlbWVudCk7Ci19Ci0KLS0gKENHUmVjdClhY2Nlc3NpYmlsaXR5Q29udmVydFNj
cmVlblJlY3Q6KENHUmVjdClib3VuZHMKLXsKLSAgICBOU0FycmF5ICpzY3JlZW5zID0gW05TU2Ny
ZWVuIHNjcmVlbnNdOwotICAgIGlmIChbc2NyZWVucyBjb3VudF0pIHsKLSAgICAgICAgQ0dGbG9h
dCBzY3JlZW5IZWlnaHQgPSBOU0hlaWdodChbKE5TU2NyZWVuICopW3NjcmVlbnMgb2JqZWN0QXRJ
bmRleDowXSBmcmFtZV0pOwotICAgICAgICBib3VuZHMub3JpZ2luLnkgPSAoc2NyZWVuSGVpZ2h0
IC0gKGJvdW5kcy5vcmlnaW4ueSArIGJvdW5kcy5zaXplLmhlaWdodCkpOwotICAgIH0gZWxzZQot
ICAgICAgICBib3VuZHMgPSBDR1JlY3RaZXJvOyAgICAKLQotICAgIHJldHVybiBib3VuZHM7Ci19
Ci0KLS0gKHZvaWQpdW5yZWdpc3RlclVuaXF1ZUlkRm9yVUlFbGVtZW50OihpZCllbGVtZW50Ci17
Ci0gICAgV0tVbnJlZ2lzdGVyVW5pcXVlSWRGb3JFbGVtZW50KGVsZW1lbnQpOwotfQotCi1AZW5k
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQkocmV2aXNp
b24gOTUxMjYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNiBAQAogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgiCiAjaW1wb3J0ICJXZWJSZXNvdXJjZUludGVybmFsLmgiCiAjaW1wb3J0ICJX
ZWJTeXN0ZW1JbnRlcmZhY2UuaCIKLSNpbXBvcnQgIldlYlZpZXdGYWN0b3J5LmgiCiAjaW1wb3J0
ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlZpZXdQcml2YXRlLmgiCiAjaW1wb3J0
IDxGb3VuZGF0aW9uL05TVVJMUmVxdWVzdC5oPgpAQCAtMzE4LDggKzMxNyw2IEBAIC0gKGlkKWlu
aXRXaXRoRnJhbWU6KE5TUmVjdClmcmFtZQogICAgICAgICAvLyBOb3RlOiBXZSBhbHNvIGRvIHRo
aXMgaW4gV2ViSGlzdG9yeUl0ZW0ncyBpbml0IG1ldGhvZC4KICAgICAgICAgV2ViQ29yZTo6bm90
aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkID0gV0tOb3RpZnlIaXN0b3J5SXRlbUNoYW5nZWQ7CiAKLSAg
ICAgICAgW1dlYlZpZXdGYWN0b3J5IGNyZWF0ZVNoYXJlZEZhY3RvcnldOwotCiAvLyBGSVhNRTog
UmVtb3ZlIHRoZSBOU0FwcEtpdFZlcnNpb25OdW1iZXJXaXRoRGVmZXJyZWRXaW5kb3dEaXNwbGF5
U3VwcG9ydCBjaGVjayBvbmNlCiAvLyBvbmNlIEFwcEtpdCdzIERlZmVycmVkIFdpbmRvdyBEaXNw
bGF5IHN1cHBvcnQgaXMgYXZhaWxhYmxlLgogI2lmIGRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkgfHwgIWRlZmluZWQoTlNBcHBLaXRWZXJzaW9uTnVtYmVyV2l0aERlZmVycmVkV2luZG93RGlz
cGxheVN1cHBvcnQpCg==
</data>
<flag name="review"
          id="104096"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>