<?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>73018</bug_id>
          
          <creation_ts>2011-11-23 06:18:00 -0800</creation_ts>
          <short_desc>[EFL] Remove the ewk_protocol_handler-related code</short_desc>
          <delta_ts>2011-12-01 17:32:52 -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>WebKit EFL</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="Raphael Kubo da Costa (:rakuco)">rakuco</reporter>
          <assigned_to name="Raphael Kubo da Costa (:rakuco)">rakuco</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>508102</commentid>
    <comment_count>0</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-11-23 06:18:00 -0800</bug_when>
    <thetext>This functionality has been broken since r99364, which stopped setting the &quot;webkit-resource&quot; property needed by ewk_protocol_handler_soup.cpp.

After giving it some thought, it looks clear that this code should not be in ewk at all: it is very backend-specific (even in the function signatures it expects), and it only allows callers to register schemes once and provide a single handler to all of them, which does not make much sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513025</commentid>
    <comment_count>1</comment_count>
      <attachid>117468</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-01 13:06:21 -0800</bug_when>
    <thetext>Created attachment 117468
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513026</commentid>
    <comment_count>2</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-01 13:07:55 -0800</bug_when>
    <thetext>CC&apos;ing mrobinson; this should fix the issue discussed on IRC a few weeks ago in which r99364 removed our custom handler code in ewk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513327</commentid>
    <comment_count>3</comment_count>
      <attachid>117468</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 17:32:48 -0800</bug_when>
    <thetext>Comment on attachment 117468
Proposed patch

Clearing flags on attachment: 117468

Committed r101726: &lt;http://trac.webkit.org/changeset/101726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513328</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 17:32:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117468</attachid>
            <date>2011-12-01 13:06:21 -0800</date>
            <delta_ts>2011-12-01 17:32:48 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-73018-20111201190659.patch</filename>
            <type>text/plain</type>
            <size>23229</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNjkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNDcwYWNjMTlh
YTZmOTM3MzA4MjM0MzRmZDVlOWIyNDA0YjY4MmZiOC4uNjNkNzg3N2U0ZWQ2OTAzMDI1ZjQwNzE5
MmJiMDhhMDNkMzhlY2JiZSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEx
LTExLTIzICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgorCisg
ICAgICAgIFtFRkxdIFJlbW92ZSB0aGUgZXdrX3Byb3RvY29sX2hhbmRsZXItcmVsYXRlZCBjb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgZnVu
Y3Rpb25hbGl0eSBoYXMgYmVlbiBicm9rZW4gc2luY2Ugcjk5MzY0LCB3aGljaCBzdG9wcGVkIHNl
dHRpbmcKKyAgICAgICAgdGhlICJ3ZWJraXQtcmVzb3VyY2UiIHByb3BlcnR5IG5lZWRlZCBieQor
ICAgICAgICBld2tfcHJvdG9jb2xfaGFuZGxlcl9zb3VwLmNwcC4KKworICAgICAgICBBZnRlciBn
aXZpbmcgaXQgc29tZSB0aG91Z2h0LCBpdCBsb29rcyBjbGVhciB0aGF0IHRoaXMgY29kZSBzaG91
bGQgbm90CisgICAgICAgIGJlIGluIGV3ayBhdCBhbGw6IGl0IGlzIHZlcnkgYmFja2VuZC1zcGVj
aWZpYyAoZXZlbiBpbiB0aGUgZnVuY3Rpb24KKyAgICAgICAgc2lnbmF0dXJlcyBpdCBleHBlY3Rz
KSwgYW5kIGl0IG9ubHkgYWxsb3dzIGNhbGxlcnMgdG8gcmVnaXN0ZXIgc2NoZW1lcworICAgICAg
ICBvbmNlIGFuZCBwcm92aWRlIGEgc2luZ2xlIGhhbmRsZXIgdG8gYWxsIG9mIHRoZW0sIHdoaWNo
IGRvZXMgbm90IG1ha2UKKyAgICAgICAgbXVjaCBzZW5zZS4KKworICAgICAgICBDbGllbnQgY29k
ZSB1c2luZyBXZWJLaXQtRUZMIHdpdGggdGhlIHNvdXAgYmFja2VuZCBzaG91bGQgYmUKKyAgICAg
ICAgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZWlyIG93biByZXF1ZXN0IGhhbmRsZXJzIChp
ZS4gc3ViY2xhc3MKKyAgICAgICAgU291cFJlcXVlc3QpIGluc3RlYWQuCisKKyAgICAgICAgRm9y
IHRoYXQgdG8gYmUgcG9zc2libGUsIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGUgZGVmYXVs
dAorICAgICAgICBTb3VwU2Vzc2lvbiB1c2VkIGJ5IFdlYktpdCBoYXMgYmVlbiBhZGRlZC4KKwor
ICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OgorICAgICAgICAqIGV3ay9ld2tfbmV0d29yay5j
cHA6CisgICAgICAgIChld2tfbmV0d29ya19kZWZhdWx0X3NvdXBfc2Vzc2lvbl9nZXQpOgorICAg
ICAgICAqIGV3ay9ld2tfbmV0d29yay5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgor
ICAgICAgICAqIGV3ay9ld2tfcHJvdG9jb2xfaGFuZGxlci5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogZXdrL2V3a19wcm90b2NvbF9oYW5kbGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogZXdrL2V3
a19wcm90b2NvbF9oYW5kbGVyX3NvdXAuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGV3ay9ld2tf
cHJvdG9jb2xfaGFuZGxlcl9zb3VwLmg6IFJlbW92ZWQuCisgICAgICAgICogZXdrL2V3a192aWV3
LmNwcDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMS0xMS0zMCAgR3l1eW91bmcg
S2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZp
eCBidWlsZCBlcnJvciB3aGVuIE5PVElGSUNBVElPTlMgZmVhdHVyZSBpcyBlbmFibGVkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ01ha2VMaXN0c0VmbC50eHQgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DTWFrZUxpc3RzRWZsLnR4dAppbmRleCBiMGE2MzE3NWY2YzU4NmVlODM2NzJhZGYy
NTU1MzFlNTBhOGNhYWU2Li40NTg2ZmYwNzYyYmUzMzQxODE5YTEwNjU0NGM2OGJjMzY3ZTk2ZjYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DTWFrZUxpc3RzRWZsLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9DTWFrZUxpc3RzRWZsLnR4dApAQCAtODIsNyArODIsNiBAQCBMSVNU
KEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIGVmbC9ld2svZXdrX21haW4uY3BwCiAgICAgZWZs
L2V3ay9ld2tfbmV0d29yay5jcHAKICAgICBlZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKLSAgICBl
ZmwvZXdrL2V3a19wcm90b2NvbF9oYW5kbGVyLmNwcAogICAgIGVmbC9ld2svZXdrX3RpbGVkX2Jh
Y2tpbmdfc3RvcmUuY3BwCiAgICAgZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAogICAgIGVm
bC9ld2svZXdrX3RpbGVkX21vZGVsLmNwcApAQCAtMTI1LDcgKzEyNCw2IEBAIElGIChXVEZfVVNF
X1NPVVApCiAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgZWZsL2V3ay9ld2tfYXV0
aC5jcHAKICAgICBlZmwvZXdrL2V3a19hdXRoX3NvdXAuY3BwCi0gICAgZWZsL2V3ay9ld2tfcHJv
dG9jb2xfaGFuZGxlcl9zb3VwLmNwcAogICApCiBFTkRJRiAoKQogCkBAIC0yNDMsNyArMjQxLDYg
QEAgU0VUKEVXZWJLaXRfSEVBREVSUwogICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9l
ZmwvZXdrL2V3a19sb2dnaW5nLmgKICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZWZs
L2V3ay9ld2tfbWFpbi5oCiAgICAgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2VmbC9ld2sv
ZXdrX25ldHdvcmsuaAotICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9lZmwvZXdrL2V3
a19wcm90b2NvbF9oYW5kbGVyLmgKICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZWZs
L2V3ay9ld2tfc2V0dGluZ3MuaAogICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9lZmwv
ZXdrL2V3a192aWV3LmgKICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZWZsL2V3ay9l
d2tfd2luZG93X2ZlYXR1cmVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfbmV0d29yay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX25ldHdvcmsuY3BwCmlu
ZGV4IGZhZmVmMDk2YzI4N2Q5NmU0MjhlNjg4Njc5YTg0MDdhMjE5ZjdiNTIuLjA2MDJkOWQyMDBi
NDM2YWM5ZDhiMmI1MjJhM2QwNzQwMTY5NmM2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfbmV0d29yay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19u
ZXR3b3JrLmNwcApAQCAtNzQsMyArNzQsMTIgQEAgdm9pZCBld2tfbmV0d29ya19zdGF0ZV9ub3Rp
Zmllcl9vbmxpbmVfc2V0KEVpbmFfQm9vbCBvbmxpbmUpCiB7CiAgICAgV2ViQ29yZTo6bmV0d29y
a1N0YXRlTm90aWZpZXIoKS5zZXRPbkxpbmUob25saW5lKTsKIH0KKworU291cFNlc3Npb24qIGV3
a19uZXR3b3JrX2RlZmF1bHRfc291cF9zZXNzaW9uX2dldCgpCit7CisjaWYgVVNFKFNPVVApCisg
ICAgcmV0dXJuIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOworI2Vs
c2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19uZXR3b3JrLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX25ldHdvcmsu
aAppbmRleCBiYTAxYmFkZjE4MDgzNmU4MmIzZjAzNGEyMmEyYmE3OGQ1OGE3YzExLi43MjBkZTc0
ZDkxNjg3OTAyYzc1NGIyYjY0OTM4NjA0Zjg1OTBhY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX25ldHdvcmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X25ldHdvcmsuaApAQCAtNTQsNiArNTQsMTkgQEAgRUFQSSBjb25zdCBjaGFyICAgICAgKmV3a19u
ZXR3b3JrX3Byb3h5X3VyaV9nZXQodm9pZCk7CiAgKi8KIEVBUEkgdm9pZCAgICAgICAgICAgICBl
d2tfbmV0d29ya19zdGF0ZV9ub3RpZmllcl9vbmxpbmVfc2V0KEVpbmFfQm9vbCBvbmxpbmUpOwog
Cit0eXBlZGVmIHN0cnVjdCBfU291cFNlc3Npb24gU291cFNlc3Npb247CisKKy8qKgorICogUmV0
dXJucyB0aGUgZGVmYXVsdCBAYyBTb3VwU2Vzc2lvbiB1c2VkIGJ5IGFsbCB2aWV3cy4KKyAqCisg
KiBUaGlzIGZ1bmN0aW9uIGlzIG1lYW5pbmdmdWwgb25seSBpZiBXZWJLaXQgaGFzIGJlZW4gY29t
cGlsZWQgd2l0aCB0aGUKKyAqIEBjIFNvdXAgbmV0d29yayBiYWNrZW5kLgorICoKKyAqIEByZXR1
cm4gVGhlIGRlZmF1bHQgQGMgU291cFNlc3Npb24gaW4gdXNlLCBvciBAYyBOVUxMIGlmIGFub3Ro
ZXIgbmV0d29yaworICogICAgICAgICBiYWNrZW5kIHdhcyB1c2VkLgorICovCitFQVBJIFNvdXBT
ZXNzaW9uKiAgICAgZXdrX25ldHdvcmtfZGVmYXVsdF9zb3VwX3Nlc3Npb25fZ2V0KHZvaWQpOwor
CiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaAppbmRleCBmMTI4MjU1NWIzYzUwY2E1OGY0ODMxNzZkNDNlOTU4OWQzNTZmODg5Li42ODI1
N2Q3OWFjYTYzMDgzMWIyZTQyMjAyZDk2M2UwOGM0MmJlY2U1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ByaXZhdGUuaApAQCAtMTQ1LDcgKzE0NSw2IEBAIHZvaWQgZXdrX3ZpZXdfcG9wdXBfbmV3
KEV2YXNfT2JqZWN0KiBvLCBXZWJDb3JlOjpQb3B1cE1lbnVDbGllbnQqIGNsaWVudCwgaW50IHNl
CiB2b2lkIGV3a192aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfc2V0KEV2YXNfT2JqZWN0KiBvLCBj
b25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lbnRzKTsKIAogdm9pZCBld2tf
dmlld19kb3dubG9hZF9yZXF1ZXN0KEV2YXNfT2JqZWN0KiBvLCBFd2tfRG93bmxvYWQqIGRvd25s
b2FkKTsKLXZvaWQqIGV3a192aWV3X3Byb3RvY29sX2hhbmRsZXJfcmVzb3VyY2VfZ2V0KEV2YXNf
T2JqZWN0KiBvLCBzaXplX3QqIGJ5dGVzUmVhZCwgY2hhcioqIG1pbWUsIGNvbnN0IGNoYXIqIGZp
bGUpOwogCiB2b2lkIGV3a192aWV3X2VkaXRvcl9jbGllbnRfY29udGVudHNfY2hhbmdlZChFdmFz
X09iamVjdCogbyk7CiB2b2lkIGV3a192aWV3X2VkaXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5n
ZWQoRXZhc19PYmplY3QqIG8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19wcm90b2NvbF9oYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJvdG9j
b2xfaGFuZGxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZWNhYjU0M2Uw
MjliMTQyMzVhY2QyZTU3YTBlODBmMDA1NjcyZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcm90b2NvbF9o
YW5kbGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLS8qCi0gICAgQ29weXJp
Z2h0IChDKSAyMDExIFByb0ZVU0lPTiBlbWJlZGRlZCBzeXN0ZW1zCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgImV3a19wcm90b2NvbF9oYW5kbGVyLmgiCi0KLSNpZiBVU0UoU09V
UCkKLSNpbmNsdWRlICJld2tfcHJvdG9jb2xfaGFuZGxlcl9zb3VwLmgiCi0jZW5kaWYKLQotRWlu
YV9Cb29sIGV3a19jdXN0b21fcHJvdG9jb2xfaGFuZGxlcl9zZXQoY29uc3QgY2hhcioqIHByb3Rv
Y29scykKLXsKLSNpZiBVU0UoU09VUCkKLSAgICByZXR1cm4gZXdrX2N1c3RvbV9wcm90b2NvbF9o
YW5kbGVyX3NvdXBfc2V0KHByb3RvY29scyk7Ci0jZWxzZQotICAgIEVJTkFfTE9HX0NSSVQoIk5v
dCBpbXBsZW1lbnRlZCIpOwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotfQotCi1FaW5hX0Jv
b2wgZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2FsbF91bnNldCgpCi17Ci0jaWYgVVNFKFNP
VVApCi0gICAgcmV0dXJuIGV3a19jdXN0b21fcHJvdG9jb2xfaGFuZGxlcl9zb3VwX2FsbF91bnNl
dCgpOwotI2Vsc2UKLSAgICBFSU5BX0xPR19DUklUKCJOb3QgaW1wbGVtZW50ZWQiKTsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfcHJvdG9jb2xfaGFuZGxlci5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcm90
b2NvbF9oYW5kbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiN2Q3YWY1ZWYz
YTY0YmQ5Njk1NDMwOGU1MDg4NGFkNDk3MWU0ZTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcm90b2NvbF9o
YW5kbGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICAgIENvcHlyaWdo
dCAoQykgMjAxMSBQcm9GVVNJT04gZW1iZWRkZWQgc3lzdGVtcwotCi0gICAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLS8qKgotICogQGZpbGUg
ICAgZXdrX3Byb3RvY29sX2hhbmRsZXIuaAotICogQGJyaWVmICAgRGVzY3JpYmVzIHRoZSBjdXN0
b20gcHJvdG9jb2wgaGFuZGxlciBBUEkuCi0gKi8KLQotI2lmbmRlZiBld2tfcHJvdG9jb2xfaGFu
ZGxlcl9oCi0jZGVmaW5lIGV3a19wcm90b2NvbF9oYW5kbGVyX2gKLQotI2luY2x1ZGUgPEVpbmEu
aD4KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi0vKioKLSAq
IFJlZ2lzdGVyIGEgcHJvdG9jb2wgaGFuZGxlci4KLSAqCi0gKiBAcGFyYW0gcHJvdG9jb2xzIHRo
ZSBwcm90b2NvbHMgdGhhdCB3aWxsIGJlIGhhbmRsZWQuCi0gKiBAcmV0dXJuIEBjIEVJTkFfVFJV
RSBpZiBzdWNjZXNzLCBAYyBFSU5BX0ZBTFNFIGlmIG5vdC4KLSAqLwotRUFQSSBFaW5hX0Jvb2wg
ZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX3NldChjb25zdCBjaGFyKiogcHJvdG9jb2xzKTsK
LQotLyoqCi0gKiBSZW1vdmUgcHJvdG9jb2wgaGFuZGxlci4KLSAqCi0gKiBAcmV0dXJuIEBjIEVJ
TkFfVFJVRSBpZiBzdWNjZXNzLCBAYyBFSU5BX0ZBTFNFIGlmIG5vdC4KLSAqLwotRUFQSSBFaW5h
X0Jvb2wgZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2FsbF91bnNldCgpOwotCi0jaWZkZWYg
X19jcGx1c3BsdXMKLX0KLSNlbmRpZgotCi0jZW5kaWYgLy8gZXdrX3Byb3RvY29sX2hhbmRsZXJf
aAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Byb3RvY29sX2hhbmRs
ZXJfc291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Byb3RvY29sX2hhbmRsZXJf
c291cC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MjM4MDk3MjNmNjA1Y2Yw
ZGZlODhhZGZkMTE3Y2RhMjdlYmQ1NGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcm90b2NvbF9oYW5kbGVy
X3NvdXAuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTk3ICswLDAgQEAKLS8qCi0gICAgQ29weXJp
Z2h0IChDKSAyMDExIFByb0ZVU0lPTiBlbWJlZGRlZCBzeXN0ZW1zCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgImV3a19wcm90b2NvbF9oYW5kbGVyX3NvdXAuaCIKLQotI2luY2x1
ZGUgIkZyYW1lTG9hZGVyQ2xpZW50RWZsLmgiCi0jaW5jbHVkZSAiRnJhbWVOZXR3b3JraW5nQ29u
dGV4dEVmbC5oIgotI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSAiUmVzb3Vy
Y2VIYW5kbGVDbGllbnQuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCi0j
aW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKLSNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgotI2luY2x1
ZGUgPGdsaWIuaD4KLSNpbmNsdWRlIDxsaWJzb3VwL3NvdXAtcmVxdWVzdGVyLmg+Ci0jaW5jbHVk
ZSA8bGlic291cC9zb3VwLmg+Ci0KLXN0cnVjdCBfRXdrUHJvdG9jb2xIYW5kbGVyUHJpdmF0ZSB7
Ci0gICAgY2hhciogbWltZTsKLSAgICBzaXplX3QgYnl0ZXNSZWFkOwotfTsKLQotR19ERUZJTkVf
VFlQRShFd2tDdXN0b21Qcm90b2NvbEhhbmRsZXIsIGV3a19jdXN0b21fcHJvdG9jb2xfaGFuZGxl
ciwgU09VUF9UWVBFX1JFUVVFU1QpCi0KLXN0YXRpYyBjaGFyKiogc2NoZW1lcyA9IDA7Ci1zdGF0
aWMgdW5zaWduZWQgY3VzdG9tUHJvdG9jb2xBZGRlZENvdW50ID0gMDsKLQotc3RhdGljIHZvaWQg
ZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2luaXQoRXdrQ3VzdG9tUHJvdG9jb2xIYW5kbGVy
KiBjdXN0b21Qcm90b2NvbEhhbmRsZXIpCi17Ci0gICAgY3VzdG9tUHJvdG9jb2xIYW5kbGVyLT5w
cml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKGN1c3RvbVByb3RvY29sSGFuZGxlciwg
RVdLX1RZUEVfQ1VTVE9NX1BST1RPQ09MX0hBTkRMRVIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV3a1Byb3RvY29sSGFuZGxl
clByaXZhdGUpOwotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKGN1c3RvbVByb3RvY29s
SGFuZGxlci0+cHJpdik7Ci0KLSAgICBjdXN0b21Qcm90b2NvbEhhbmRsZXItPnByaXYtPm1pbWUg
PSAwOwotICAgIGN1c3RvbVByb3RvY29sSGFuZGxlci0+cHJpdi0+Ynl0ZXNSZWFkID0gMDsKLX0K
LQotc3RhdGljIHZvaWQgZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2ZpbmFsaXplKEdPYmpl
Y3QqIG9iamVjdCkKLXsKLSAgICBFd2tQcm90b2NvbEhhbmRsZXJQcml2YXRlKiBwcml2ICA9IEdf
VFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShvYmplY3QsIEVXS19UWVBFX0NVU1RPTV9QUk9UT0NP
TF9IQU5ETEVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEV3a1Byb3RvY29sSGFuZGxlclByaXZhdGUpOwotICAgIGlm
IChwcml2KQotICAgICAgICBmcmVlKHByaXYtPm1pbWUpOwotCi0gICAgR19PQkpFQ1RfQ0xBU1Mo
ZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX3BhcmVudF9jbGFzcyktPmZpbmFsaXplKG9iamVj
dCk7Ci19Ci0KLXN0YXRpYyBnYm9vbGVhbiBld2tfY3VzdG9tX3Byb3RvY29sX2hhbmRsZXJfY2hl
Y2tfdXJpKFNvdXBSZXF1ZXN0KiByZXF1ZXN0LCBTb3VwVVJJKiB1cmksIEdFcnJvcioqIGVycm9y
KQotewotICAgIHJldHVybiBUUlVFOwotfQotCi1zdGF0aWMgR0lucHV0U3RyZWFtKiBld2tfY3Vz
dG9tX3Byb3RvY29sX2hhbmRsZXJfc2VuZChTb3VwUmVxdWVzdCogcmVxdWVzdCwgR0NhbmNlbGxh
YmxlKiBjYW5jZWxsYWJsZSwgR0Vycm9yKiogZXJyb3IpCi17Ci0gICAgdm9pZCogYnVmZmVyOwot
ICAgIGNoYXIqIG1pbWUgPSAwOwotICAgIHNpemVfdCBieXRlc1JlYWQgPSAwOwotCi0gICAgV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGUqIHJlc291cmNlID0gc3RhdGljX2Nhc3Q8Ci0gICAgICAgIFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlKj4oZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1QocmVxdWVz
dCksICJ3ZWJraXQtcmVzb3VyY2UiKSk7Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKHJlc291cmNlLCAwKTsKLQotICAgIGNvbnN0IFdlYkNvcmU6OkZyYW1lTmV0d29ya2luZ0Nv
bnRleHRFZmwqIGZyYW1lQ29udGV4dCA9IHN0YXRpY19jYXN0PAotICAgICAgICBXZWJDb3JlOjpG
cmFtZU5ldHdvcmtpbmdDb250ZXh0RWZsKj4ocmVzb3VyY2UtPmdldEludGVybmFsKCktPm1fY29u
dGV4dC5nZXQoKSk7Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGZyYW1lQ29u
dGV4dCwgMCk7Ci0KLSAgICBjb25zdCBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbCogZnJh
bWVMb2FkZXJDbGllbnQgPSBzdGF0aWNfY2FzdDwKLSAgICAgICAgV2ViQ29yZTo6RnJhbWVMb2Fk
ZXJDbGllbnRFZmwqPihmcmFtZUNvbnRleHQtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS0+Y2xpZW50
KCkpOwotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChmcmFtZUxvYWRlckNsaWVu
dCwgMCk7Ci0KLSAgICBTb3VwVVJJKiB1cmkgPSBzb3VwX3JlcXVlc3RfZ2V0X3VyaShyZXF1ZXN0
KTsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwodXJpLCAwKTsKLQotICAgIEV3
a1Byb3RvY29sSGFuZGxlclByaXZhdGUqIHByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZB
VEUoCi0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8RXdrQ3VzdG9tUHJvdG9jb2xIYW5kbGVyKj4o
cmVxdWVzdCksCi0gICAgICAgIEVXS19UWVBFX0NVU1RPTV9QUk9UT0NPTF9IQU5ETEVSLAotICAg
ICAgICBFd2tQcm90b2NvbEhhbmRsZXJQcml2YXRlKTsKLQotICAgIEVJTkFfU0FGRVRZX09OX05V
TExfUkVUVVJOX1ZBTChwcml2LCAwKTsKLQotCi0gICAgaWYgKHVyaS0+cGF0aFswXSA9PSAnLycp
IHsKLSAgICAgICAgYnVmZmVyID0gZXdrX3ZpZXdfcHJvdG9jb2xfaGFuZGxlcl9yZXNvdXJjZV9n
ZXQoZnJhbWVMb2FkZXJDbGllbnQtPndlYlZpZXcoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ5dGVzUmVhZCwgJm1pbWUsIHVyaS0+
cGF0aCArIDEpOyAvLyBUaGUgcGF0aCBpcyBhbHdheXMgaW5pdGlhbGl6ZWQgd2l0aCAvLgotICAg
IH0gZWxzZQotICAgICAgICBidWZmZXIgPSBld2tfdmlld19wcm90b2NvbF9oYW5kbGVyX3Jlc291
cmNlX2dldChmcmFtZUxvYWRlckNsaWVudC0+d2ViVmlldygpLCAmYnl0ZXNSZWFkLCAmbWltZSwg
dXJpLT5ob3N0KTsKLQotICAgIHByaXYtPmJ5dGVzUmVhZCA9IGJ5dGVzUmVhZDsKLSAgICBpZiAo
bWltZSkKLSAgICAgICAgcHJpdi0+bWltZSA9IHN0cmR1cChtaW1lKTsKLQotICAgIHJldHVybiBn
X21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3X2Zyb21fZGF0YShidWZmZXIsIGJ5dGVzUmVhZCwgZnJl
ZSk7Ci19Ci0KLXN0YXRpYyBnb2Zmc2V0IGV3a19jdXN0b21fcHJvdG9jb2xfaGFuZGxlcl9nZXRf
Y29udGVudF9sZW5ndGgoU291cFJlcXVlc3QqIHJlcXVlc3QpCi17Ci0gICAgRXdrUHJvdG9jb2xI
YW5kbGVyUHJpdmF0ZSogcHJpdiAgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUocmVpbnRl
cnByZXRfY2FzdDxFd2tDdXN0b21Qcm90b2NvbEhhbmRsZXIqPihyZXF1ZXN0KSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFV0tfVFlQRV9DVVNUT01fUFJPVE9DT0xfSEFORExFUiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFd2tQcm90b2Nv
bEhhbmRsZXJQcml2YXRlKTsKLSAgICByZXR1cm4gKHByaXYpID8gcHJpdi0+Ynl0ZXNSZWFkIDog
MDsKLX0KLQotc3RhdGljIGNvbnN0IGNoYXIqIGV3a19jdXN0b21fcHJvdG9jb2xfaGFuZGxlcl9n
ZXRfY29udGVudF90eXBlKFNvdXBSZXF1ZXN0KiByZXF1ZXN0KQotewotICAgIEV3a1Byb3RvY29s
SGFuZGxlclByaXZhdGUqIHByaXYgID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKHJlaW50
ZXJwcmV0X2Nhc3Q8RXdrQ3VzdG9tUHJvdG9jb2xIYW5kbGVyKj4ocmVxdWVzdCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRVdLX1RZUEVfQ1VTVE9NX1BST1RPQ09MX0hBTkRMRVIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXdrUHJvdG9j
b2xIYW5kbGVyUHJpdmF0ZSk7Ci0gICAgcmV0dXJuIChwcml2ICYmIHByaXYtPm1pbWUpID8gcHJp
di0+bWltZSA6ICJ0ZXh0L2h0bWwiOwotfQotCi1zdGF0aWMgdm9pZCBld2tfY3VzdG9tX3Byb3Rv
Y29sX2hhbmRsZXJfY2xhc3NfaW5pdChFd2tDdXN0b21Qcm90b2NvbEhhbmRsZXJDbGFzcyogY3Vz
dG9tUHJvdG9jb2xIYW5kbGVyQ2xhc3MpCi17Ci0gICAgR09iamVjdENsYXNzKiBnb2JqZWN0Q2xh
c3MgPSBHX09CSkVDVF9DTEFTUyhjdXN0b21Qcm90b2NvbEhhbmRsZXJDbGFzcyk7Ci0gICAgU291
cFJlcXVlc3RDbGFzcyogcmVxdWVzdENsYXNzID0gU09VUF9SRVFVRVNUX0NMQVNTKGN1c3RvbVBy
b3RvY29sSGFuZGxlckNsYXNzKTsKLQotICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSBld2tf
Y3VzdG9tX3Byb3RvY29sX2hhbmRsZXJfZmluYWxpemU7Ci0gICAgcmVxdWVzdENsYXNzLT5zY2hl
bWVzID0gY29uc3RfY2FzdDxjb25zdCBjaGFyKio+KHNjaGVtZXMpOwotICAgIHJlcXVlc3RDbGFz
cy0+Y2hlY2tfdXJpID0gZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2NoZWNrX3VyaTsKLSAg
ICByZXF1ZXN0Q2xhc3MtPnNlbmQgPSBld2tfY3VzdG9tX3Byb3RvY29sX2hhbmRsZXJfc2VuZDsK
LSAgICByZXF1ZXN0Q2xhc3MtPmdldF9jb250ZW50X2xlbmd0aCA9IGV3a19jdXN0b21fcHJvdG9j
b2xfaGFuZGxlcl9nZXRfY29udGVudF9sZW5ndGg7Ci0gICAgcmVxdWVzdENsYXNzLT5nZXRfY29u
dGVudF90eXBlID0gZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2dldF9jb250ZW50X3R5cGU7
Ci0KLSAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoY3VzdG9tUHJvdG9jb2xIYW5kbGVyQ2xh
c3MsIHNpemVvZihFd2tQcm90b2NvbEhhbmRsZXJQcml2YXRlKSk7Ci19Ci0KLUVpbmFfQm9vbCBl
d2tfY3VzdG9tX3Byb3RvY29sX2hhbmRsZXJfc291cF9zZXQoY29uc3QgY2hhcioqIHByb3RvY29s
cykKLXsKLSAgICBndWludCBwcm90b2NvbHNTaXplOwotICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9u
ID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7Ci0gICAgU291cFNl
c3Npb25GZWF0dXJlKiByZXF1ZXN0ZXI7Ci0KLSAgICBwcm90b2NvbHNTaXplID0gZ19zdHJ2X2xl
bmd0aChjb25zdF9jYXN0PGdjaGFyKio+KHByb3RvY29scykpOwotCi0gICAgLy8gVGhpcyBhcnJh
eSBtdXN0IGJlIG51bGwgdGVybWluYXRlZC4KLSAgICBFSU5BX1NBRkVUWV9PTl9UUlVFX1JFVFVS
Tl9WQUwoIXByb3RvY29sc1NpemUgfHwgcHJvdG9jb2xzW3Byb3RvY29sc1NpemVdLCBmYWxzZSk7
Ci0KLSAgICByZXF1ZXN0ZXIgPSBzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09V
UF9UWVBFX1JFUVVFU1RFUik7Ci0gICAgaWYgKCFyZXF1ZXN0ZXIpIHsKLSAgICAgICAgcmVxdWVz
dGVyID0gU09VUF9TRVNTSU9OX0ZFQVRVUkUoc291cF9yZXF1ZXN0ZXJfbmV3KCkpOwotICAgICAg
ICBzb3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmUoc2Vzc2lvbiwgcmVxdWVzdGVyKTsKLSAgICAgICAg
Z19vYmplY3RfdW5yZWYocmVxdWVzdGVyKTsKLSAgICB9Ci0KLSAgICBpZiAoc291cF9zZXNzaW9u
X2ZlYXR1cmVfaGFzX2ZlYXR1cmUocmVxdWVzdGVyLCBFV0tfVFlQRV9DVVNUT01fUFJPVE9DT0xf
SEFORExFUikpIHsKLSAgICAgICAgY3VzdG9tUHJvdG9jb2xBZGRlZENvdW50Kys7Ci0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIHNjaGVtZXMgPSBnX3N0cmR1cHYoY29uc3RfY2Fz
dDxnY2hhcioqPihwcm90b2NvbHMpKTsKLSAgICBpZiAoIShzY2hlbWVzICYmIHNvdXBfc2Vzc2lv
bl9mZWF0dXJlX2FkZF9mZWF0dXJlKHJlcXVlc3RlciwgRVdLX1RZUEVfQ1VTVE9NX1BST1RPQ09M
X0hBTkRMRVIpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgY3VzdG9tUHJvdG9jb2xB
ZGRlZENvdW50Kys7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLUVpbmFfQm9vbCBld2tfY3VzdG9t
X3Byb3RvY29sX2hhbmRsZXJfc291cF9hbGxfdW5zZXQoKQotewotICAgIFNvdXBTZXNzaW9uKiBz
ZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7Ci0gICAg
U291cFNlc3Npb25GZWF0dXJlKiByZXF1ZXN0ZXI7Ci0KLSAgICBpZiAoIWN1c3RvbVByb3RvY29s
QWRkZWRDb3VudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmVxdWVzdGVyID0gc291
cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9SRVFVRVNURVIpOwotICAg
IGlmICghcmVxdWVzdGVyKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIXNvdXBf
c2Vzc2lvbl9mZWF0dXJlX2hhc19mZWF0dXJlKHJlcXVlc3RlciwgRVdLX1RZUEVfQ1VTVE9NX1BS
T1RPQ09MX0hBTkRMRVIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoY3VzdG9t
UHJvdG9jb2xBZGRlZENvdW50ID09IDEpIHsKLSAgICAgICAgaWYgKHNvdXBfc2Vzc2lvbl9mZWF0
dXJlX3JlbW92ZV9mZWF0dXJlKHJlcXVlc3RlciwgRVdLX1RZUEVfQ1VTVE9NX1BST1RPQ09MX0hB
TkRMRVIpKQotICAgICAgICAgICAgZ19zdHJmcmVldihzY2hlbWVzKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGN1c3RvbVByb3RvY29sQWRk
ZWRDb3VudC0tOwotICAgIHJldHVybiB0cnVlOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19wcm90b2NvbF9oYW5kbGVyX3NvdXAuaCBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJvdG9jb2xfaGFuZGxlcl9zb3VwLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGMwMzRkYWQ1YzFlZmQxY2E3ZGMxN2I5MDIxNTU3OWUxNWEwY2ZlOGMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19wcm90b2NvbF9oYW5kbGVyX3NvdXAuaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICsw
LDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDExIFByb0ZVU0lPTiBlbWJlZGRlZCBzeXN0
ZW1zCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotKi8KLQotI2lmbmRlZiBld2tfcHJvdG9jb2xfaGFuZGxlcl9zb3VwX2gKLSNkZWZpbmUgZXdr
X3Byb3RvY29sX2hhbmRsZXJfc291cF9oCi0KLSNpbmNsdWRlICJld2tfcHJvdG9jb2xfaGFuZGxl
ci5oIgotCi0jaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KLSNpbmNsdWRlIDxnbGliLmg+Ci0jZGVm
aW5lIExJQlNPVVBfVVNFX1VOU1RBQkxFX1JFUVVFU1RfQVBJCi0jaW5jbHVkZSA8bGlic291cC9z
b3VwLXJlcXVlc3QuaD4KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRp
ZgotCi0jZGVmaW5lIEVXS19UWVBFX0NVU1RPTV9QUk9UT0NPTF9IQU5ETEVSICAgICAgICAgICAg
KGV3a19jdXN0b21fcHJvdG9jb2xfaGFuZGxlcl9nZXRfdHlwZSAoKSkKLSNkZWZpbmUgRVdLX0NV
U1RPTV9QUk9UT0NPTF9IQU5ETEVSKG9iamVjdCkgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RB
TkNFX0NBU1QgKChvYmplY3QpLCBFV0tfVFlQRV9DVVNUT01fUFJPVE9DT0xfSEFORExFUiwgRXdr
Q3VzdG9tUHJvdG9jb2xIYW5kbGVyKSkKLSNkZWZpbmUgRVdLX0NVU1RPTV9QUk9UT0NPTF9IQU5E
TEVSX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QgKChrbGFzcyksIEVX
S19UWVBFX0NVU1RPTV9QUk9UT0NPTF9IQU5ETEVSLCBFd2tDdXN0b21Qcm90b2NvbEhhbmRsZXJD
bGFzcykpCi0jZGVmaW5lIEVXS19JU19DVVNUT01fUFJPVE9DT0xfSEFORExFUihvYmplY3QpICAg
ICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFICgob2JqZWN0KSwgRVdLX1RZUEVfQ1VTVE9N
X1BST1RPQ09MX0hBTkRMRVIpKQotI2RlZmluZSBFV0tfSVNfQ1VTVE9NX1BST1RPQ09MX0hBTkRM
RVJfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSAoKGtsYXNzKSwgRVdLX1RZ
UEVfQ1VTVE9NX1BST1RPQ09MX0hBTkRMRVIpKQotI2RlZmluZSBFV0tfQ1VTVE9NX1BST1RPQ09M
X0hBTkRMRVJfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTICgob2Jq
KSwgRVdLX1RZUEVfQ1VTVE9NX1BST1RPQ09MX0hBTkRMRVIsIEV3a0N1c3RvbVByb3RvY29sSGFu
ZGxlckNsYXNzKSkKLQotdHlwZWRlZiBzdHJ1Y3QgX0V3a1Byb3RvY29sSGFuZGxlclByaXZhdGUg
RXdrUHJvdG9jb2xIYW5kbGVyUHJpdmF0ZTsKLQotdHlwZWRlZiBzdHJ1Y3QgewotICAgIFNvdXBS
ZXF1ZXN0IHBhcmVudDsKLSAgICBFd2tQcm90b2NvbEhhbmRsZXJQcml2YXRlKiBwcml2OwotfSBF
d2tDdXN0b21Qcm90b2NvbEhhbmRsZXI7Ci0KLXR5cGVkZWYgc3RydWN0IHsKLSAgICBTb3VwUmVx
dWVzdENsYXNzIHBhcmVudDsKLX0gRXdrQ3VzdG9tUHJvdG9jb2xIYW5kbGVyQ2xhc3M7Ci0KLQot
R1R5cGUgZXdrX2N1c3RvbV9wcm90b2NvbF9oYW5kbGVyX2dldF90eXBlKCk7Ci0KLUVpbmFfQm9v
bCBld2tfY3VzdG9tX3Byb3RvY29sX2hhbmRsZXJfc291cF9zZXQoY29uc3QgY2hhcioqIHByb3Rv
Y29scyk7Ci0KLUVpbmFfQm9vbCBld2tfY3VzdG9tX3Byb3RvY29sX2hhbmRsZXJfc291cF9hbGxf
dW5zZXQoKTsKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19Ci0jZW5kaWYKLQotI2VuZGlmIC8vIGV3
a19wcm90b2NvbF9oYW5kbGVyX3NvdXBfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApp
bmRleCA4MjgwMmMyMzlmNWM4ZDM1ODI4ZTYyNDcyYmNkOTllOGU0MmE4ZDYyLi45Y2JjMmUwNzVl
MGU3MTIwMTdlZWFmN2UwNTZkMmY1MDEwOTE1M2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAKQEAgLTUxLDcgKzUxLDYgQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgImNfaW5zdGFuY2UuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5oIgotI2luY2x1ZGUgImV3
a19wcm90b2NvbF9oYW5kbGVyLmgiCiAKICNpbmNsdWRlIDxFY29yZS5oPgogI2luY2x1ZGUgPEVp
bmEuaD4KQEAgLTEzMiwxMCArMTMxLDYgQEAgc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEg
ewogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzIHZpZXdwb3J0QXJndW1lbnRzOwogICAg
IEV3a19IaXN0b3J5KiBoaXN0b3J5OwogICAgIHN0cnVjdCB7Ci0gICAgICAgIHZvaWQqIGNvbnRl
eHQ7Ci0gICAgICAgIEV3a19WaWV3X1Jlc291cmNlX0hhbmRsZXJfQ2IgZnVuY3Rpb247Ci0gICAg
fSBjdXN0b21SZXNvdXJjZUhhbmRsZXI7Ci0gICAgc3RydWN0IHsKICAgICAgICAgRXdrX01lbnUg
bWVudTsKICAgICAgICAgV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50KiBtZW51Q2xpZW50OwogICAg
IH0gcG9wdXA7CkBAIC0zNzAxLDQ2ICszNjk2LDYgQEAgRWluYV9Cb29sIGV3a192aWV3X2pzX29i
amVjdF9hZGQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19KU19PYmplY3QqIG9iamVjdCwgY28K
ICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIH0KIAotRWluYV9Cb29sIGV3
a192aWV3X3Byb3RvY29sX2hhbmRsZXJfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBj
aGFyKiogcHJvdG9jb2xzLCBFd2tfVmlld19SZXNvdXJjZV9IYW5kbGVyX0NiIGhhbmRsZXIsIHZv
aWQqIGNvbnRleHQpCi17Ci0gICAgRVdLX1ZJRVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7
Ci0gICAgRVdLX1ZJRVdfUFJJVl9HRVQoc21hcnREYXRhLCBwcml2KTsKLQotICAgIGlmICghaGFu
ZGxlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcHJpdi0+Y3VzdG9tUmVzb3VyY2VI
YW5kbGVyLmZ1bmN0aW9uID0gaGFuZGxlcjsKLSAgICBwcml2LT5jdXN0b21SZXNvdXJjZUhhbmRs
ZXIuY29udGV4dCA9IGNvbnRleHQ7Ci0KLSAgICByZXR1cm4gZXdrX2N1c3RvbV9wcm90b2NvbF9o
YW5kbGVyX3NldChwcm90b2NvbHMpOwotfQotCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfcHJvdG9jb2xf
aGFuZGxlcl91bnNldChFdmFzX09iamVjdCogZXdrVmlldykKLXsKLSAgICBFV0tfVklFV19TRF9H
RVQoZXdrVmlldywgc21hcnREYXRhKTsKLSAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEs
IHByaXYpOwotICAgIEVpbmFfQm9vbCByZXQgPSBld2tfY3VzdG9tX3Byb3RvY29sX2hhbmRsZXJf
YWxsX3Vuc2V0KCk7Ci0KLSAgICBpZiAocmV0KSB7Ci0gICAgICAgIHByaXYtPmN1c3RvbVJlc291
cmNlSGFuZGxlci5mdW5jdGlvbiA9IDA7Ci0gICAgICAgIHByaXYtPmN1c3RvbVJlc291cmNlSGFu
ZGxlci5jb250ZXh0ID0gMDsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmV0OwotfQotCi12b2lkKiBl
d2tfdmlld19wcm90b2NvbF9oYW5kbGVyX3Jlc291cmNlX2dldChFdmFzX09iamVjdCogZXdrVmll
dywgc2l6ZV90KiBieXRlc1JlYWQsIGNoYXIqKiBtaW1lLCBjb25zdCBjaGFyKiBmaWxlKQotewot
ICAgIEVXS19WSUVXX1NEX0dFVChld2tWaWV3LCBzbWFydERhdGEpOwotICAgIEVXS19WSUVXX1BS
SVZfR0VUKHNtYXJ0RGF0YSwgcHJpdik7Ci0KLSAgICBFd2tfVmlld19SZXNvdXJjZV9IYW5kbGVy
X0NiIGZ1bmN0aW9uID0gcHJpdi0+Y3VzdG9tUmVzb3VyY2VIYW5kbGVyLmZ1bmN0aW9uOwotICAg
IGlmIChmdW5jdGlvbikKLSAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGZpbGUsIGJ5dGVzUmVhZCwg
bWltZSwgcHJpdi0+Y3VzdG9tUmVzb3VyY2VIYW5kbGVyLmNvbnRleHQpOwotCi0gICAgcmV0dXJu
IDA7Ci19Ci0KIC8qKgogICogQGludGVybmFsCiAgKiBSZXBvcnRzIHRoYXQgdGhlIGNvbnRlbnRz
IGhhdmUgcmVzaXplZC4gVGhlIGV3a192aWV3IGNhbGxzIGNvbnRlbnRzX3Jlc2l6ZSwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmgKaW5kZXggZWQzMjhjMDU4ZjljMmEyYzJkOTYwMjllNzI1NTgyNWQ0
MmY1ZmMwMC4uMDBiZDAwMmRlNGNkZTY2MGVmYzMyNmI4MDc5ZTc1OTZjOGQxMzk1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTIyMzEsMjUgKzIyMzEsNiBAQCBFQVBJIEV3a19WaWV3
X01vZGUgZXdrX3ZpZXdfbW9kZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJ
IEVpbmFfQm9vbCBld2tfdmlld19qc19vYmplY3RfYWRkKEV2YXNfT2JqZWN0ICpvLCBFd2tfSlNf
T2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm9ial9uYW1lKTsKIAotLyoqCi0gKiBSZWdpc3RlciBh
IG5ldyBwcm90b2NvbCBoYW5kbGVyIGZvciBoYW5kbGluZyBhbiBzcGVjaWZpYyBwcm90b2NvbCAo
c2NoZW1lKS4KLSAqCi0gKiBAcGFyYW0gbyB2aWV3LgotICogQHBhcmFtIHByb3RvY29scyB0aGUg
cHJvdG9jb2xzIHRoYXQgd2lsbCBiZSBoYW5kbGVkLgotICogQHBhcmFtIGhhbmRsZXIgdGhlIGZ1
bmN0aW9uIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBmb3IgdGhlIHByb3RvY29scwotICogQHBhcmFt
IGN0eHQgdGhlIGhhbmRsZXIgY29udGV4dAotICogQHJldHVybiBAYyBFSU5BX1RSVUUgaWYgc3Vj
Y2VzcywgQGMgRUlOQV9GQUxTRSBpZiBub3QuCi0gKi8KLUVBUEkgRWluYV9Cb29sIGV3a192aWV3
X3Byb3RvY29sX2hhbmRsZXJfc2V0KEV2YXNfT2JqZWN0KiBvLCBjb25zdCBjaGFyKiogcHJvdG9j
b2wsIEV3a19WaWV3X1Jlc291cmNlX0hhbmRsZXJfQ2IgaGFuZGxlciwgdm9pZCogY3R4dCk7Ci0K
LS8qKgotICogUmVtb3ZlIHRoZSBjdXN0b20gcHJvdG9jb2wgaGFuZGxlci4KLSAqCi0gKiBAcGFy
YW0gbyB2aWV3LgotICogQHJldHVybiBAYyBFSU5BX1RSVUUgaWYgc3VjY2VzcywgQGMgRUlOQV9G
QUxTRSBpZiBub3QuCi0gKi8KLUVBUEkgRWluYV9Cb29sIGV3a192aWV3X3Byb3RvY29sX2hhbmRs
ZXJfdW5zZXQoRXZhc19PYmplY3QqIG8pOwotCiAvLy8gRGVmaW5lcyB0aGUgcGFnZSB2aXNpYmls
aXR5IHN0YXR1cy4KIGVudW0gX0V3a19QYWdlX1Zpc2liaWxpdHlfU3RhdGUgewogICAgIEVXS19Q
QUdFX1ZJU0lCSUxJVFlfU1RBVEVfVklTSUJMRSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>