<?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>107680</bug_id>
          
          <creation_ts>2013-01-23 05:35:15 -0800</creation_ts>
          <short_desc>[EFL][WK2] Use C API inside ewk_favicon_database</short_desc>
          <delta_ts>2013-01-24 10:04: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>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>
          
          <blocked>107657</blocked>
    
    <blocked>107666</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>814132</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-23 05:35:15 -0800</bug_when>
    <thetext>As per Bug 107657, we should start using the C API internally to avoid violating layering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814153</commentid>
    <comment_count>1</comment_count>
      <attachid>184216</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-23 06:23:20 -0800</bug_when>
    <thetext>Created attachment 184216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814343</commentid>
    <comment_count>2</comment_count>
      <attachid>184216</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-23 10:40:42 -0800</bug_when>
    <thetext>Comment on attachment 184216
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=184216&amp;action=review

&gt; Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp:77
&gt; +    toImpl(iconDatabaseRef)-&gt;synchronousIconURLForPageURL(toWTFString(pageURL), iconURL);

I don&apos;t know if this should be exposed via an API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814379</commentid>
    <comment_count>3</comment_count>
      <attachid>184216</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-01-23 11:07:02 -0800</bug_when>
    <thetext>Comment on attachment 184216
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=184216&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp:77
&gt;&gt; +    toImpl(iconDatabaseRef)-&gt;synchronousIconURLForPageURL(toWTFString(pageURL), iconURL);
&gt; 
&gt; I don&apos;t know if this should be exposed via an API.

It should not be.  Can you explain more why you need it?

&gt; Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp:85
&gt; +bool WKIconDatabaseIsURLImportCompleted(WKIconDatabaseRef iconDatabaseRef)
&gt; +{
&gt; +    return toImpl(iconDatabaseRef)-&gt;isUrlImportCompleted();
&gt; +}

The &quot;url import&quot; is an *extremely* fragile implementation detail of the icon database and has no business being exposed as API.

Could you share details why you think you need it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814381</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-01-23 11:07:49 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; As per Bug 107657, we should start using the C API internally to avoid violating layering.

The solution to solving layering problems is not to expose more internals as API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815276</commentid>
    <comment_count>5</comment_count>
      <attachid>184451</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-24 02:47:12 -0800</bug_when>
    <thetext>Created attachment 184451
Patch

Do not add C API anymore. Further refactoring will be done in a later patch to stop relying on the few C++ methods that we currently use and have no C API alternative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815516</commentid>
    <comment_count>6</comment_count>
      <attachid>184451</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-01-24 08:51:55 -0800</bug_when>
    <thetext>Comment on attachment 184451
Patch

Looking briefly, I definitely have no reason to r- this patch.

Since it&apos;s entirely contained within EFL, I&apos;ll let an EFL reviewer take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815518</commentid>
    <comment_count>7</comment_count>
      <attachid>184451</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-01-24 08:57:41 -0800</bug_when>
    <thetext>Comment on attachment 184451
Patch

OK, I am OK with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815534</commentid>
    <comment_count>8</comment_count>
      <attachid>184451</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 09:10:36 -0800</bug_when>
    <thetext>Comment on attachment 184451
Patch

Rejecting attachment 184451 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-04&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184451, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
-queue

Parsed 4 diffs from patch file(s).
patch: **** Can&apos;t create file /tmp/pptQe127 : No space left on device
patch: **** Can&apos;t create file /tmp/ppIK0MM8 : No space left on device
patch: **** Can&apos;t create file /tmp/ppTdTd08 : No space left on device
patch: **** Can&apos;t create file /tmp/pp8tZQ8b : No space left on device

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Kenneth Rohde Christiansen&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16073864</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815573</commentid>
    <comment_count>9</comment_count>
      <attachid>184451</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 10:01:24 -0800</bug_when>
    <thetext>Comment on attachment 184451
Patch

Rejecting attachment 184451 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-04&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184451, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
-queue

Parsed 4 diffs from patch file(s).
patch: **** Can&apos;t create file /tmp/ppMW9zDm : No space left on device
patch: **** Can&apos;t create file /tmp/ppdP3Ahm : No space left on device
patch: **** Can&apos;t create file /tmp/ppcKpp5m : No space left on device
patch: **** Can&apos;t create file /tmp/ppPJ0nln : No space left on device

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Kenneth Rohde Christiansen&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16078798</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815576</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-24 10:03:37 -0800</bug_when>
    <thetext>Committed r140692: &lt;http://trac.webkit.org/changeset/140692&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184216</attachid>
            <date>2013-01-23 06:23:20 -0800</date>
            <delta_ts>2013-01-24 02:47:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107680_favicon_db_capi.patch</filename>
            <type>text/plain</type>
            <size>12505</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1ZDYyZDlmLi44Zjk5YWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTMtMDEtMjMgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2Zhdmljb25f
ZGF0YWJhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzY4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBDIEFQSSBpbnNpZGUgZXdrX2Zhdmljb25fZGF0YWJhc2UgaW5zdGVhZCBvZgorICAgICAg
ICBhY2Nlc3NpYmxlIHRoZSBDKysgY2xhc3NlcyBhbmQgdmlvbGF0aW5nIGxheWVyaW5nLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmNwcDogQWRkIEMgQVBJIHRv
IGNvcHkgdGhlCisgICAgICAgIGljb24gVVJMIGZvciBhIGdpdmVuIHBhZ2UgVVJMIGFuZCB0byBx
dWVyeSBpcyB0aGUgVVJMIGltcG9ydAorICAgICAgICBpcyBjb21wbGV0ZWQuCisgICAgICAgIChX
S0ljb25EYXRhYmFzZUNvcHlJY29uVVJMRm9yUGFnZVVSTCk6CisgICAgICAgIChXS0ljb25EYXRh
YmFzZUlzVVJMSW1wb3J0Q29tcGxldGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tJ
Y29uRGF0YWJhc2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5j
cHA6CisgICAgICAgIChFd2tDb250ZXh0OjplbnN1cmVGYXZpY29uRGF0YWJhc2UpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcDoKKyAgICAgICAg
KEV3a0Zhdmljb25EYXRhYmFzZTo6RXdrRmF2aWNvbkRhdGFiYXNlKToKKyAgICAgICAgKEV3a0Zh
dmljb25EYXRhYmFzZTo6fkV3a0Zhdmljb25EYXRhYmFzZSk6CisgICAgICAgIChFd2tGYXZpY29u
RGF0YWJhc2U6Omljb25VUkxGb3JQYWdlVVJMKToKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFz
ZTo6aWNvbkZvclBhZ2VVUkwpOgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjpnZXRJY29u
U3VyZmFjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjppY29u
RGF0YVJlYWR5Rm9yUGFnZVVSTCk6CisgICAgICAgIChld2tfZmF2aWNvbl9kYXRhYmFzZV9pY29u
X3VybF9nZXQpOgorICAgICAgICAoZXdrX2Zhdmljb25fZGF0YWJhc2VfYXN5bmNfaWNvbl9nZXQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZh
dGUuaDoKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKEV3
a0Zhdmljb25EYXRhYmFzZSk6CisKIDIwMTMtMDEtMjIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYSBwbGF0Zm9yb20gc3RyYXRlZ3kgZm9yIGxv
Y2FsIHN0b3JhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29u
RGF0YWJhc2UuY3BwCmluZGV4IGQ2NjdiYjcuLmMyYjBmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSWNvbkRhdGFiYXNlLmNwcApAQCAtNzAsMyArNzAsMTYg
QEAgdm9pZCBXS0ljb25EYXRhYmFzZUNsb3NlKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFz
ZVJlZikKIHsKICAgICB0b0ltcGwoaWNvbkRhdGFiYXNlUmVmKS0+Y2xvc2UoKTsKIH0KKworV0tV
UkxSZWYgV0tJY29uRGF0YWJhc2VDb3B5SWNvblVSTEZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VS
ZWYgaWNvbkRhdGFiYXNlUmVmLCBXS1VSTFJlZiBwYWdlVVJMKQoreworICAgIFN0cmluZyBpY29u
VVJMOworICAgIHRvSW1wbChpY29uRGF0YWJhc2VSZWYpLT5zeW5jaHJvbm91c0ljb25VUkxGb3JQ
YWdlVVJMKHRvV1RGU3RyaW5nKHBhZ2VVUkwpLCBpY29uVVJMKTsKKworICAgIHJldHVybiB0b0Nv
cGllZFVSTEFQSShpY29uVVJMKTsKK30KKworYm9vbCBXS0ljb25EYXRhYmFzZUlzVVJMSW1wb3J0
Q29tcGxldGVkKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZVJlZikKK3sKKyAgICByZXR1
cm4gdG9JbXBsKGljb25EYXRhYmFzZVJlZiktPmlzVXJsSW1wb3J0Q29tcGxldGVkKCk7Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJY29uRGF0YWJhc2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ljb25EYXRhYmFzZS5oCmluZGV4
IGVlYzRhYjMuLmRjMTE3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0ljb25EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0ljb25EYXRhYmFzZS5oCkBAIC02MCw2ICs2MCw5IEBAIFdLX0VYUE9SVCB2b2lkIFdLSWNv
bkRhdGFiYXNlUmV0YWluSWNvbkZvclVSTChXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2Us
IFdLCiBXS19FWFBPUlQgdm9pZCBXS0ljb25EYXRhYmFzZVJlbGVhc2VJY29uRm9yVVJMKFdLSWNv
bkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSwgV0tVUkxSZWYgcGFnZVVSTCk7CiBXS19FWFBPUlQg
dm9pZCBXS0ljb25EYXRhYmFzZUVuYWJsZURhdGFiYXNlQ2xlYW51cChXS0ljb25EYXRhYmFzZVJl
ZiBpY29uRGF0YWJhc2UpOwogCitXS19FWFBPUlQgV0tVUkxSZWYgV0tJY29uRGF0YWJhc2VDb3B5
SWNvblVSTEZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlLCBXS1VSTFJl
ZiBwYWdlVVJMKTsKK1dLX0VYUE9SVCBib29sIFdLSWNvbkRhdGFiYXNlSXNVUkxJbXBvcnRDb21w
bGV0ZWQoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlKTsKKwogV0tfRVhQT1JUIHZvaWQg
V0tJY29uRGF0YWJhc2VSZW1vdmVBbGxJY29ucyhXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJh
c2UpOwogV0tfRVhQT1JUIHZvaWQgV0tJY29uRGF0YWJhc2VDaGVja0ludGVncml0eUJlZm9yZU9w
ZW5pbmcoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGUzNGE2ZjQuLjUy
MDRhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dC5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIEV3a0NvbnRleHQ6OmVuc3VyZUZhdmlj
b25EYXRhYmFzZSgpCiAgICAgaWYgKG1fZmF2aWNvbkRhdGFiYXNlKQogICAgICAgICByZXR1cm47
CiAKLSAgICBtX2Zhdmljb25EYXRhYmFzZSA9IEV3a0Zhdmljb25EYXRhYmFzZTo6Y3JlYXRlKG1f
Y29udGV4dC5nZXQoKS0+aWNvbkRhdGFiYXNlKCkpOworICAgIG1fZmF2aWNvbkRhdGFiYXNlID0g
RXdrRmF2aWNvbkRhdGFiYXNlOjpjcmVhdGUoV0tDb250ZXh0R2V0SWNvbkRhdGFiYXNlKHRvQVBJ
KG1fY29udGV4dC5nZXQoKSkpKTsKIH0KIAogYm9vbCBFd2tDb250ZXh0OjpzZXRGYXZpY29uRGF0
YWJhc2VEaXJlY3RvcnlQYXRoKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VEaXJlY3RvcnkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRh
YmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9k
YXRhYmFzZS5jcHAKaW5kZXggZmQwZDk4My4uYTE1MzgyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlLmNwcApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIldLSWNvbkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAi
V0tVUkwuaCIKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2UuaCIKLSNpbmNsdWRlICJXZWJVUkwu
aCIKICNpbmNsdWRlICJld2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9DYWlyb1V0aWxpdGllc0VmbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVmUHRyQ2Fp
cm8uaD4KQEAgLTM5LDcgKzM4LDcgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotRXdr
RmF2aWNvbkRhdGFiYXNlOjpFd2tGYXZpY29uRGF0YWJhc2UoV2ViSWNvbkRhdGFiYXNlKiBpY29u
RGF0YWJhc2UpCitFd2tGYXZpY29uRGF0YWJhc2U6OkV3a0Zhdmljb25EYXRhYmFzZShXS0ljb25E
YXRhYmFzZVJlZiBpY29uRGF0YWJhc2UpCiAgICAgOiBtX2ljb25EYXRhYmFzZShpY29uRGF0YWJh
c2UpCiB7CiAgICAgV0tJY29uRGF0YWJhc2VDbGllbnQgaWNvbkRhdGFiYXNlQ2xpZW50OwpAQCAt
NDgsMjAgKzQ3LDIwIEBAIEV3a0Zhdmljb25EYXRhYmFzZTo6RXdrRmF2aWNvbkRhdGFiYXNlKFdl
Ykljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlKQogICAgIGljb25EYXRhYmFzZUNsaWVudC5jbGll
bnRJbmZvID0gdGhpczsKICAgICBpY29uRGF0YWJhc2VDbGllbnQuZGlkQ2hhbmdlSWNvbkZvclBh
Z2VVUkwgPSBkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTDsKICAgICBpY29uRGF0YWJhc2VDbGllbnQu
aWNvbkRhdGFSZWFkeUZvclBhZ2VVUkwgPSBpY29uRGF0YVJlYWR5Rm9yUGFnZVVSTDsKLSAgICBX
S0ljb25EYXRhYmFzZVNldEljb25EYXRhYmFzZUNsaWVudCh0b0FQSShtX2ljb25EYXRhYmFzZS5n
ZXQoKSksICZpY29uRGF0YWJhc2VDbGllbnQpOworICAgIFdLSWNvbkRhdGFiYXNlU2V0SWNvbkRh
dGFiYXNlQ2xpZW50KG1faWNvbkRhdGFiYXNlLmdldCgpLCAmaWNvbkRhdGFiYXNlQ2xpZW50KTsK
IH0KIAogRXdrRmF2aWNvbkRhdGFiYXNlOjp+RXdrRmF2aWNvbkRhdGFiYXNlKCkKIHsKLSAgICBX
S0ljb25EYXRhYmFzZVNldEljb25EYXRhYmFzZUNsaWVudCh0b0FQSShtX2ljb25EYXRhYmFzZS5n
ZXQoKSksIDApOworICAgIFdLSWNvbkRhdGFiYXNlU2V0SWNvbkRhdGFiYXNlQ2xpZW50KG1faWNv
bkRhdGFiYXNlLmdldCgpLCAwKTsKIH0KIAotU3RyaW5nIEV3a0Zhdmljb25EYXRhYmFzZTo6aWNv
blVSTEZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiBwYWdlVVJMKSBjb25zdAorU3RyaW5nIEV3a0Zh
dmljb25EYXRhYmFzZTo6aWNvblVSTEZvclBhZ2VVUkwoY29uc3QgY2hhciogcGFnZVVSTCkgY29u
c3QKIHsKLSAgICBTdHJpbmcgaWNvblVSTDsKLSAgICBtX2ljb25EYXRhYmFzZS0+c3luY2hyb25v
dXNJY29uVVJMRm9yUGFnZVVSTChwYWdlVVJMLCBpY29uVVJMKTsKKyAgICBXS1JldGFpblB0cjxX
S1VSTFJlZj4gd2tQYWdlVVJMKEFkb3B0V0ssIFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHBh
Z2VVUkwpKTsKKyAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gd2tJY29uVVJMKEFkb3B0V0ssIFdL
SWNvbkRhdGFiYXNlQ29weUljb25VUkxGb3JQYWdlVVJMKG1faWNvbkRhdGFiYXNlLmdldCgpLCB3
a1BhZ2VVUkwuZ2V0KCkpKTsKIAotICAgIHJldHVybiBpY29uVVJMOworICAgIHJldHVybiB0b1dU
RlN0cmluZyh3a0ljb25VUkwuZ2V0KCkpOwogfQogCiB2b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6
d2F0Y2hDaGFuZ2VzKGNvbnN0IEljb25DaGFuZ2VDYWxsYmFja0RhdGEmIGNhbGxiYWNrRGF0YSkK
QEAgLTEwMywyNiArMTAyLDI4IEBAIHN0YXRpYyBFaW5hX0Jvb2wgcmVzcG9uZF9pY29uX3JlcXVl
c3RfaWRsZSh2b2lkKiBkYXRhKQogICAgIHJldHVybiBFQ09SRV9DQUxMQkFDS19ET05FOwogfQog
Ci12b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6aWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiBw
YWdlVVJMLCBjb25zdCBJY29uUmVxdWVzdENhbGxiYWNrRGF0YSYgY2FsbGJhY2tEYXRhKQordm9p
ZCBFd2tGYXZpY29uRGF0YWJhc2U6Omljb25Gb3JQYWdlVVJMKGNvbnN0IGNoYXIqIHBhZ2VVUkws
IGNvbnN0IEljb25SZXF1ZXN0Q2FsbGJhY2tEYXRhJiBjYWxsYmFja0RhdGEpCiB7CiAgICAgLy8g
V2UgYXNrIGZvciB0aGUgaWNvbiBkaXJlY3RseS4gSWYgd2UgZG9uJ3QgZ2V0IHRoZSBpY29uIGRh
dGEgbm93LAogICAgIC8vIHdlJ2xsIGJlIG5vdGlmaWVkIGxhdGVyIChldmVuIGlmIHRoZSBkYXRh
YmFzZSBpcyBzdGlsbCBpbXBvcnRpbmcgaWNvbnMpLgotICAgIFJlZlB0cjxjYWlyb19zdXJmYWNl
X3Q+IHN1cmZhY2UgPSBnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHkocGFnZVVSTCk7CisgICAg
V0tSZXRhaW5QdHI8V0tVUkxSZWY+IHdrUGFnZVVSTChBZG9wdFdLLCBXS1VSTENyZWF0ZVdpdGhV
VEY4Q1N0cmluZyhwYWdlVVJMKSk7CisgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc3VyZmFj
ZSA9IGdldEljb25TdXJmYWNlU3luY2hyb25vdXNseSh3a1BhZ2VVUkwuZ2V0KCkpOwogCiAgICAg
Ly8gSWYgdGhlcmUncyBubyB2YWxpZCBpY29uLCBidXQgdGhlcmUncyBhbiBpY29uVVJMIHJlZ2lz
dGVyZWQsCiAgICAgLy8gb3IgaXQncyBzdGlsbCBub3QgcmVnaXN0ZXJlZCBidXQgdGhlIGltcG9y
dCBwcm9jZXNzIGhhc24ndAogICAgIC8vIGZpbmlzaGVkIHlldCwgd2UgbmVlZCB0byB3YWl0IGZv
ciBpY29uRGF0YVJlYWR5Rm9yUGFnZVVSTCB0byBiZQogICAgIC8vIGNhbGxlZCBiZWZvcmUgbWFr
aW5nIGFuZCBpbmZvcm1lZCBkZWNpc2lvbi4KKyAgICBTdHJpbmcgcGFnZVVSTFN0cmluZyA9IFN0
cmluZzo6ZnJvbVVURjgocGFnZVVSTCk7CiAgICAgU3RyaW5nIGljb25VUkwgPSBpY29uVVJMRm9y
UGFnZVVSTChwYWdlVVJMKTsKLSAgICBpZiAoIXN1cmZhY2UgJiYgKCFpY29uVVJMLmlzRW1wdHko
KSB8fCAhbV9pY29uRGF0YWJhc2UtPmlzVXJsSW1wb3J0Q29tcGxldGVkKCkpKSB7Ci0gICAgICAg
IFBlbmRpbmdJY29uUmVxdWVzdFZlY3RvciByZXF1ZXN0cyA9IG1faWNvblJlcXVlc3RzLmdldChw
YWdlVVJMKTsKKyAgICBpZiAoIXN1cmZhY2UgJiYgKCFpY29uVVJMLmlzRW1wdHkoKSB8fCAhV0tJ
Y29uRGF0YWJhc2VJc1VSTEltcG9ydENvbXBsZXRlZChtX2ljb25EYXRhYmFzZS5nZXQoKSkpKSB7
CisgICAgICAgIFBlbmRpbmdJY29uUmVxdWVzdFZlY3RvciByZXF1ZXN0cyA9IG1faWNvblJlcXVl
c3RzLmdldChwYWdlVVJMU3RyaW5nKTsKICAgICAgICAgcmVxdWVzdHMuYXBwZW5kKGNhbGxiYWNr
RGF0YSk7Ci0gICAgICAgIG1faWNvblJlcXVlc3RzLnNldChwYWdlVVJMLCByZXF1ZXN0cyk7Cisg
ICAgICAgIG1faWNvblJlcXVlc3RzLnNldChwYWdlVVJMU3RyaW5nLCByZXF1ZXN0cyk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBSZXNwb25kIHdoZW4gaWRsZS4KLSAgICBBc3lu
Y0ljb25SZXF1ZXN0UmVzcG9uc2UqIHJlc3BvbnNlID0gbmV3IEFzeW5jSWNvblJlcXVlc3RSZXNw
b25zZShwYWdlVVJMLCBzdXJmYWNlLnJlbGVhc2UoKSwgY2FsbGJhY2tEYXRhKTsKKyAgICBBc3lu
Y0ljb25SZXF1ZXN0UmVzcG9uc2UqIHJlc3BvbnNlID0gbmV3IEFzeW5jSWNvblJlcXVlc3RSZXNw
b25zZShwYWdlVVJMU3RyaW5nLCBzdXJmYWNlLnJlbGVhc2UoKSwgY2FsbGJhY2tEYXRhKTsKICAg
ICBlY29yZV9pZGxlcl9hZGQocmVzcG9uZF9pY29uX3JlcXVlc3RfaWRsZSwgcmVzcG9uc2UpOwog
fQogCkBAIC0xNDEsMTMgKzE0MiwxMyBAQCB2b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6ZGlkQ2hh
bmdlSWNvbkZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYsIFdLVVJMUmVmIHBhZwogICAgICAg
ICBpdC0+dmFsdWUuY2FsbGJhY2socGFnZVVSTC5kYXRhKCksIGl0LT52YWx1ZS51c2VyRGF0YSk7
CiB9CiAKLVBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBFd2tGYXZpY29uRGF0YWJhc2U6Omdl
dEljb25TdXJmYWNlU3luY2hyb25vdXNseShjb25zdCBTdHJpbmcmIHBhZ2VVUkwpIGNvbnN0CitQ
YXNzUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gRXdrRmF2aWNvbkRhdGFiYXNlOjpnZXRJY29uU3Vy
ZmFjZVN5bmNocm9ub3VzbHkoV0tVUkxSZWYgcGFnZVVSTCkgY29uc3QKIHsKLSAgICBtX2ljb25E
YXRhYmFzZS0+cmV0YWluSWNvbkZvclBhZ2VVUkwocGFnZVVSTCk7CisgICAgV0tJY29uRGF0YWJh
c2VSZXRhaW5JY29uRm9yVVJMKG1faWNvbkRhdGFiYXNlLmdldCgpLCBwYWdlVVJMKTsKIAotICAg
IFdlYkNvcmU6Ok5hdGl2ZUltYWdlUHRyIGljb24gPSBtX2ljb25EYXRhYmFzZS0+bmF0aXZlSW1h
Z2VGb3JQYWdlVVJMKHBhZ2VVUkwpOworICAgIFdlYkNvcmU6Ok5hdGl2ZUltYWdlUHRyIGljb24g
PSB0b0ltcGwobV9pY29uRGF0YWJhc2UuZ2V0KCkpLT5uYXRpdmVJbWFnZUZvclBhZ2VVUkwodG9X
VEZTdHJpbmcocGFnZVVSTCkpOwogICAgIGlmICghaWNvbikgewotICAgICAgICBtX2ljb25EYXRh
YmFzZS0+cmVsZWFzZUljb25Gb3JQYWdlVVJMKHBhZ2VVUkwpOworICAgICAgICBXS0ljb25EYXRh
YmFzZVJlbGVhc2VJY29uRm9yVVJMKG1faWNvbkRhdGFiYXNlLmdldCgpLCBwYWdlVVJMKTsKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQogCkBAIC0xNjQsNyArMTY1LDcgQEAgdm9pZCBFd2tGYXZp
Y29uRGF0YWJhc2U6Omljb25EYXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmLCBX
S1VSTFJlZiBwYWcKICAgICBpZiAoIWV3a0ljb25EYXRhYmFzZS0+bV9pY29uUmVxdWVzdHMuY29u
dGFpbnModXJsU3RyaW5nKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVmUHRyPGNhaXJvX3N1
cmZhY2VfdD4gc3VyZmFjZSA9IGV3a0ljb25EYXRhYmFzZS0+Z2V0SWNvblN1cmZhY2VTeW5jaHJv
bm91c2x5KHVybFN0cmluZyk7CisgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc3VyZmFjZSA9
IGV3a0ljb25EYXRhYmFzZS0+Z2V0SWNvblN1cmZhY2VTeW5jaHJvbm91c2x5KHBhZ2VVUkwpOwog
CiAgICAgUGVuZGluZ0ljb25SZXF1ZXN0VmVjdG9yIHJlcXVlc3RzRm9yVVJMID0gZXdrSWNvbkRh
dGFiYXNlLT5tX2ljb25SZXF1ZXN0cy50YWtlKHVybFN0cmluZyk7CiAgICAgc2l6ZV90IHJlcXVl
c3RDb3VudCA9IHJlcXVlc3RzRm9yVVJMLnNpemUoKTsKQEAgLTE4MCw3ICsxODEsNyBAQCBjb25z
dCBjaGFyKiBld2tfZmF2aWNvbl9kYXRhYmFzZV9pY29uX3VybF9nZXQoRXdrX0Zhdmljb25fRGF0
YWJhc2UqIGV3a0ljb25EYXRhYgogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChl
d2tJY29uRGF0YWJhc2UsIDApOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChw
YWdlVVJMLCAwKTsKIAotICAgIFN0cmluZyBpY29uVVJMID0gZXdrSWNvbkRhdGFiYXNlLT5pY29u
VVJMRm9yUGFnZVVSTChTdHJpbmc6OmZyb21VVEY4KHBhZ2VVUkwpKTsKKyAgICBTdHJpbmcgaWNv
blVSTCA9IGV3a0ljb25EYXRhYmFzZS0+aWNvblVSTEZvclBhZ2VVUkwocGFnZVVSTCk7CiAKICAg
ICByZXR1cm4gZWluYV9zdHJpbmdzaGFyZV9hZGQoaWNvblVSTC51dGY4KCkuZGF0YSgpKTsKIH0K
QEAgLTE5Miw3ICsxOTMsNyBAQCBFaW5hX0Jvb2wgZXdrX2Zhdmljb25fZGF0YWJhc2VfYXN5bmNf
aWNvbl9nZXQoRXdrX0Zhdmljb25fRGF0YWJhc2UqIGV3a0ljb25EYXRhYgogICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOX1ZBTChldmFzLCBmYWxzZSk7CiAgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKGNhbGxiYWNrLCBmYWxzZSk7CiAKLSAgICBld2tJY29uRGF0YWJhc2Ut
Pmljb25Gb3JQYWdlVVJMKFN0cmluZzo6ZnJvbVVURjgocGFnZV91cmwpLCBJY29uUmVxdWVzdENh
bGxiYWNrRGF0YShjYWxsYmFjaywgdXNlckRhdGEsIGV2YXMpKTsKKyAgICBld2tJY29uRGF0YWJh
c2UtPmljb25Gb3JQYWdlVVJMKHBhZ2VfdXJsLCBJY29uUmVxdWVzdENhbGxiYWNrRGF0YShjYWxs
YmFjaywgdXNlckRhdGEsIGV2YXMpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2Vf
cHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25f
ZGF0YWJhc2VfcHJpdmF0ZS5oCmluZGV4IDg2YTkxMTIuLjE1YzZiN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNvbl9k
YXRhYmFzZV9wcml2YXRlLmgKQEAgLTI2LDE0ICsyNiwxMSBAQAogI2lmbmRlZiBld2tfZmF2aWNv
bl9kYXRhYmFzZV9wcml2YXRlX2gKICNkZWZpbmUgZXdrX2Zhdmljb25fZGF0YWJhc2VfcHJpdmF0
ZV9oCiAKKyNpbmNsdWRlICJXS1JldGFpblB0ci5oIgogI2luY2x1ZGUgImV3a19mYXZpY29uX2Rh
dGFiYXNlLmgiCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNsYXNzIFdlYkljb25EYXRhYmFzZTsKLX0K
LQogc3RydWN0IEljb25DaGFuZ2VDYWxsYmFja0RhdGEgewogICAgIEV3a19GYXZpY29uX0RhdGFi
YXNlX0ljb25fQ2hhbmdlX0NiIGNhbGxiYWNrOwogICAgIHZvaWQqIHVzZXJEYXRhOwpAQCAtNzMs
MjcgKzcwLDI3IEBAIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcgLyogcGFnZVVSTCAqLywgUGVuZGlu
Z0ljb25SZXF1ZXN0VmVjdG9yPiBQZW5kaW5nSWNvblJlcXVlCiAKIGNsYXNzIEV3a0Zhdmljb25E
YXRhYmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrRmF2aWNvbkRhdGFi
YXNlPiBjcmVhdGUoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSkKKyAgICBz
dGF0aWMgUGFzc093blB0cjxFd2tGYXZpY29uRGF0YWJhc2U+IGNyZWF0ZShXS0ljb25EYXRhYmFz
ZVJlZiBpY29uRGF0YWJhc2UpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3
a0Zhdmljb25EYXRhYmFzZShpY29uRGF0YWJhc2UpKTsKICAgICB9CiAgICAgfkV3a0Zhdmljb25E
YXRhYmFzZSgpOwogCi0gICAgU3RyaW5nIGljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYg
cGFnZVVSTCkgY29uc3Q7Ci0gICAgdm9pZCBpY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBh
Z2VVUkwsIGNvbnN0IEljb25SZXF1ZXN0Q2FsbGJhY2tEYXRhJiBjYWxsYmFja0RhdGEpOworICAg
IFN0cmluZyBpY29uVVJMRm9yUGFnZVVSTChjb25zdCBjaGFyKiBwYWdlVVJMKSBjb25zdDsKKyAg
ICB2b2lkIGljb25Gb3JQYWdlVVJMKGNvbnN0IGNoYXIqIHBhZ2VVUkwsIGNvbnN0IEljb25SZXF1
ZXN0Q2FsbGJhY2tEYXRhJiBjYWxsYmFja0RhdGEpOwogCiAgICAgdm9pZCB3YXRjaENoYW5nZXMo
Y29uc3QgSWNvbkNoYW5nZUNhbGxiYWNrRGF0YSYgY2FsbGJhY2tEYXRhKTsKICAgICB2b2lkIHVu
d2F0Y2hDaGFuZ2VzKEV3a19GYXZpY29uX0RhdGFiYXNlX0ljb25fQ2hhbmdlX0NiIGNhbGxiYWNr
KTsKIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBFd2tGYXZpY29uRGF0YWJhc2UoV2ViS2l0OjpX
ZWJJY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSk7CisgICAgZXhwbGljaXQgRXdrRmF2aWNvbkRh
dGFiYXNlKFdLSWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSk7CiAKLSAgICBQYXNzUmVmUHRy
PGNhaXJvX3N1cmZhY2VfdD4gZ2V0SWNvblN1cmZhY2VTeW5jaHJvbm91c2x5KGNvbnN0IFN0cmlu
ZyYgcGFnZVVSTCkgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGdldElj
b25TdXJmYWNlU3luY2hyb25vdXNseShXS1VSTFJlZiBwYWdlVVJMKSBjb25zdDsKIAogICAgIHN0
YXRpYyB2b2lkIGRpZENoYW5nZUljb25Gb3JQYWdlVVJMKFdLSWNvbkRhdGFiYXNlUmVmIGljb25E
YXRhYmFzZSwgV0tVUkxSZWYgcGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAg
c3RhdGljIHZvaWQgaWNvbkRhdGFSZWFkeUZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYgaWNv
bkRhdGFiYXNlLCBXS1VSTFJlZiBwYWdlVVJMLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAot
ICAgIFJlZlB0cjxXZWJLaXQ6OldlYkljb25EYXRhYmFzZT4gbV9pY29uRGF0YWJhc2U7CisgICAg
V0tSZXRhaW5QdHI8V0tJY29uRGF0YWJhc2VSZWY+IG1faWNvbkRhdGFiYXNlOwogICAgIENoYW5n
ZUxpc3RlbmVyTWFwIG1fY2hhbmdlTGlzdGVuZXJzOwogICAgIFBlbmRpbmdJY29uUmVxdWVzdE1h
cCBtX2ljb25SZXF1ZXN0czsKIH07Cg==
</data>
<flag name="review"
          id="202875"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184451</attachid>
            <date>2013-01-24 02:47:12 -0800</date>
            <delta_ts>2013-01-24 10:04:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>107680_favicon_db_capi.patch</filename>
            <type>text/plain</type>
            <size>9893</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyMzBjNDY4Li4wZGNkZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNpZGUgZXdrX2Zhdmljb25f
ZGF0YWJhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNzY4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBDIEFQSSBpbnNpZGUgZXdrX2Zhdmljb25fZGF0YWJhc2UgaW5zdGVhZCBvZgorICAgICAg
ICBhY2Nlc3NpYmxlIHRoZSBDKysgY2xhc3NlcyBhbmQgdmlvbGF0aW5nIGxheWVyaW5nLgorICAg
ICAgICBXZSBzdGlsbCByZWx5IG9uIHNvbWUgQysrIG1ldGhvZHMgYnV0IHRoaXMgd2lsbCBiZQor
ICAgICAgICBhZGRyZXNzZWQgbGF0ZXIgc2luY2UgdGhlcmUgaXMgbm8gZXF1aXZhbGVudCBpbgor
ICAgICAgICB0aGUgQyBBUEkgYW5kIGl0IHdpbGwgcmVxdWlyZSBtb3JlIHJlZmFjdG9yaW5nLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAgICAo
RXdrQ29udGV4dDo6ZW5zdXJlRmF2aWNvbkRhdGFiYXNlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfZmF2aWNvbl9kYXRhYmFzZS5jcHA6CisgICAgICAgIChFd2tGYXZpY29uRGF0
YWJhc2U6OkV3a0Zhdmljb25EYXRhYmFzZSk6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6
On5Fd2tGYXZpY29uRGF0YWJhc2UpOgorICAgICAgICAoRXdrRmF2aWNvbkRhdGFiYXNlOjppY29u
VVJMRm9yUGFnZVVSTCk6CisgICAgICAgIChFd2tGYXZpY29uRGF0YWJhc2U6Omljb25Gb3JQYWdl
VVJMKToKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6Z2V0SWNvblN1cmZhY2VTeW5jaHJv
bm91c2x5KToKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6aWNvbkRhdGFSZWFkeUZvclBh
Z2VVUkwpOgorICAgICAgICAoZXdrX2Zhdmljb25fZGF0YWJhc2VfYXN5bmNfaWNvbl9nZXQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZhdGUu
aDoKKyAgICAgICAgKEV3a0Zhdmljb25EYXRhYmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKEV3a0Zh
dmljb25EYXRhYmFzZSk6CisKIDIwMTMtMDEtMjMgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25A
Z21haWwuY29tPgogCiAgICAgICAgIFtFRkxdIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIx
NDA2MDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
LmNwcAppbmRleCBkODE1OWNkLi5mZWVkOTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBF
d2tDb250ZXh0OjplbnN1cmVGYXZpY29uRGF0YWJhc2UoKQogICAgIGlmIChtX2Zhdmljb25EYXRh
YmFzZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9mYXZpY29uRGF0YWJhc2UgPSBFd2tGYXZp
Y29uRGF0YWJhc2U6OmNyZWF0ZShtX2NvbnRleHQuZ2V0KCktPmljb25EYXRhYmFzZSgpKTsKKyAg
ICBtX2Zhdmljb25EYXRhYmFzZSA9IEV3a0Zhdmljb25EYXRhYmFzZTo6Y3JlYXRlKFdLQ29udGV4
dEdldEljb25EYXRhYmFzZSh0b0FQSShtX2NvbnRleHQuZ2V0KCkpKSk7CiB9CiAKIGJvb2wgRXdr
Q29udGV4dDo6c2V0RmF2aWNvbkRhdGFiYXNlRGlyZWN0b3J5UGF0aChjb25zdCBTdHJpbmcmIGRh
dGFiYXNlRGlyZWN0b3J5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuY3BwCmluZGV4IGZkMGQ5ODMuLjAzOTM5OGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19mYXZpY29u
X2RhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
ZmF2aWNvbl9kYXRhYmFzZS5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJXS0ljb25E
YXRhYmFzZS5oIgogI2luY2x1ZGUgIldLVVJMLmgiCiAjaW5jbHVkZSAiV2ViSWNvbkRhdGFiYXNl
LmgiCi0jaW5jbHVkZSAiV2ViVVJMLmgiCiAjaW5jbHVkZSAiZXdrX2Zhdmljb25fZGF0YWJhc2Vf
cHJpdmF0ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2Fpcm9VdGlsaXRpZXNFZmwuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlZlB0ckNhaXJvLmg+CkBAIC0zOSw3ICszOCw3IEBACiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0Zhdmljb25EYXRhYmFzZTo6RXdrRmF2aWNvbkRhdGFiYXNl
KFdlYkljb25EYXRhYmFzZSogaWNvbkRhdGFiYXNlKQorRXdrRmF2aWNvbkRhdGFiYXNlOjpFd2tG
YXZpY29uRGF0YWJhc2UoV0tJY29uRGF0YWJhc2VSZWYgaWNvbkRhdGFiYXNlKQogICAgIDogbV9p
Y29uRGF0YWJhc2UoaWNvbkRhdGFiYXNlKQogewogICAgIFdLSWNvbkRhdGFiYXNlQ2xpZW50IGlj
b25EYXRhYmFzZUNsaWVudDsKQEAgLTQ4LDE4ICs0NywxOCBAQCBFd2tGYXZpY29uRGF0YWJhc2U6
OkV3a0Zhdmljb25EYXRhYmFzZShXZWJJY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSkKICAgICBp
Y29uRGF0YWJhc2VDbGllbnQuY2xpZW50SW5mbyA9IHRoaXM7CiAgICAgaWNvbkRhdGFiYXNlQ2xp
ZW50LmRpZENoYW5nZUljb25Gb3JQYWdlVVJMID0gZGlkQ2hhbmdlSWNvbkZvclBhZ2VVUkw7CiAg
ICAgaWNvbkRhdGFiYXNlQ2xpZW50Lmljb25EYXRhUmVhZHlGb3JQYWdlVVJMID0gaWNvbkRhdGFS
ZWFkeUZvclBhZ2VVUkw7Ci0gICAgV0tJY29uRGF0YWJhc2VTZXRJY29uRGF0YWJhc2VDbGllbnQo
dG9BUEkobV9pY29uRGF0YWJhc2UuZ2V0KCkpLCAmaWNvbkRhdGFiYXNlQ2xpZW50KTsKKyAgICBX
S0ljb25EYXRhYmFzZVNldEljb25EYXRhYmFzZUNsaWVudChtX2ljb25EYXRhYmFzZS5nZXQoKSwg
Jmljb25EYXRhYmFzZUNsaWVudCk7CiB9CiAKIEV3a0Zhdmljb25EYXRhYmFzZTo6fkV3a0Zhdmlj
b25EYXRhYmFzZSgpCiB7Ci0gICAgV0tJY29uRGF0YWJhc2VTZXRJY29uRGF0YWJhc2VDbGllbnQo
dG9BUEkobV9pY29uRGF0YWJhc2UuZ2V0KCkpLCAwKTsKKyAgICBXS0ljb25EYXRhYmFzZVNldElj
b25EYXRhYmFzZUNsaWVudChtX2ljb25EYXRhYmFzZS5nZXQoKSwgMCk7CiB9CiAKIFN0cmluZyBF
d2tGYXZpY29uRGF0YWJhc2U6Omljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVS
TCkgY29uc3QKIHsKICAgICBTdHJpbmcgaWNvblVSTDsKLSAgICBtX2ljb25EYXRhYmFzZS0+c3lu
Y2hyb25vdXNJY29uVVJMRm9yUGFnZVVSTChwYWdlVVJMLCBpY29uVVJMKTsKKyAgICB0b0ltcGwo
bV9pY29uRGF0YWJhc2UuZ2V0KCkpLT5zeW5jaHJvbm91c0ljb25VUkxGb3JQYWdlVVJMKHBhZ2VV
UkwsIGljb25VUkwpOwogCiAgICAgcmV0dXJuIGljb25VUkw7CiB9CkBAIC0xMDMsMjYgKzEwMiwy
OCBAQCBzdGF0aWMgRWluYV9Cb29sIHJlc3BvbmRfaWNvbl9yZXF1ZXN0X2lkbGUodm9pZCogZGF0
YSkKICAgICByZXR1cm4gRUNPUkVfQ0FMTEJBQ0tfRE9ORTsKIH0KIAotdm9pZCBFd2tGYXZpY29u
RGF0YWJhc2U6Omljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCwgY29uc3QgSWNv
blJlcXVlc3RDYWxsYmFja0RhdGEmIGNhbGxiYWNrRGF0YSkKK3ZvaWQgRXdrRmF2aWNvbkRhdGFi
YXNlOjppY29uRm9yUGFnZVVSTChjb25zdCBjaGFyKiBwYWdlVVJMLCBjb25zdCBJY29uUmVxdWVz
dENhbGxiYWNrRGF0YSYgY2FsbGJhY2tEYXRhKQogewogICAgIC8vIFdlIGFzayBmb3IgdGhlIGlj
b24gZGlyZWN0bHkuIElmIHdlIGRvbid0IGdldCB0aGUgaWNvbiBkYXRhIG5vdywKICAgICAvLyB3
ZSdsbCBiZSBub3RpZmllZCBsYXRlciAoZXZlbiBpZiB0aGUgZGF0YWJhc2UgaXMgc3RpbGwgaW1w
b3J0aW5nIGljb25zKS4KLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzdXJmYWNlID0gZ2V0
SWNvblN1cmZhY2VTeW5jaHJvbm91c2x5KHBhZ2VVUkwpOworICAgIFdLUmV0YWluUHRyPFdLVVJM
UmVmPiB3a1BhZ2VVUkwoQWRvcHRXSywgV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmcocGFnZVVS
TCkpOworICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHN1cmZhY2UgPSBnZXRJY29uU3VyZmFj
ZVN5bmNocm9ub3VzbHkod2tQYWdlVVJMLmdldCgpKTsKIAogICAgIC8vIElmIHRoZXJlJ3Mgbm8g
dmFsaWQgaWNvbiwgYnV0IHRoZXJlJ3MgYW4gaWNvblVSTCByZWdpc3RlcmVkLAogICAgIC8vIG9y
IGl0J3Mgc3RpbGwgbm90IHJlZ2lzdGVyZWQgYnV0IHRoZSBpbXBvcnQgcHJvY2VzcyBoYXNuJ3QK
ICAgICAvLyBmaW5pc2hlZCB5ZXQsIHdlIG5lZWQgdG8gd2FpdCBmb3IgaWNvbkRhdGFSZWFkeUZv
clBhZ2VVUkwgdG8gYmUKICAgICAvLyBjYWxsZWQgYmVmb3JlIG1ha2luZyBhbmQgaW5mb3JtZWQg
ZGVjaXNpb24uCi0gICAgU3RyaW5nIGljb25VUkwgPSBpY29uVVJMRm9yUGFnZVVSTChwYWdlVVJM
KTsKLSAgICBpZiAoIXN1cmZhY2UgJiYgKCFpY29uVVJMLmlzRW1wdHkoKSB8fCAhbV9pY29uRGF0
YWJhc2UtPmlzVXJsSW1wb3J0Q29tcGxldGVkKCkpKSB7Ci0gICAgICAgIFBlbmRpbmdJY29uUmVx
dWVzdFZlY3RvciByZXF1ZXN0cyA9IG1faWNvblJlcXVlc3RzLmdldChwYWdlVVJMKTsKKyAgICBT
dHJpbmcgcGFnZVVSTFN0cmluZyA9IFN0cmluZzo6ZnJvbVVURjgocGFnZVVSTCk7CisgICAgU3Ry
aW5nIGljb25VUkwgPSBpY29uVVJMRm9yUGFnZVVSTChwYWdlVVJMU3RyaW5nKTsKKyAgICBpZiAo
IXN1cmZhY2UgJiYgKCFpY29uVVJMLmlzRW1wdHkoKSB8fCAhdG9JbXBsKG1faWNvbkRhdGFiYXNl
LmdldCgpKS0+aXNVcmxJbXBvcnRDb21wbGV0ZWQoKSkpIHsKKyAgICAgICAgUGVuZGluZ0ljb25S
ZXF1ZXN0VmVjdG9yIHJlcXVlc3RzID0gbV9pY29uUmVxdWVzdHMuZ2V0KHBhZ2VVUkxTdHJpbmcp
OwogICAgICAgICByZXF1ZXN0cy5hcHBlbmQoY2FsbGJhY2tEYXRhKTsKLSAgICAgICAgbV9pY29u
UmVxdWVzdHMuc2V0KHBhZ2VVUkwsIHJlcXVlc3RzKTsKKyAgICAgICAgbV9pY29uUmVxdWVzdHMu
c2V0KHBhZ2VVUkxTdHJpbmcsIHJlcXVlc3RzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAog
ICAgIC8vIFJlc3BvbmQgd2hlbiBpZGxlLgotICAgIEFzeW5jSWNvblJlcXVlc3RSZXNwb25zZSog
cmVzcG9uc2UgPSBuZXcgQXN5bmNJY29uUmVxdWVzdFJlc3BvbnNlKHBhZ2VVUkwsIHN1cmZhY2Uu
cmVsZWFzZSgpLCBjYWxsYmFja0RhdGEpOworICAgIEFzeW5jSWNvblJlcXVlc3RSZXNwb25zZSog
cmVzcG9uc2UgPSBuZXcgQXN5bmNJY29uUmVxdWVzdFJlc3BvbnNlKHBhZ2VVUkxTdHJpbmcsIHN1
cmZhY2UucmVsZWFzZSgpLCBjYWxsYmFja0RhdGEpOwogICAgIGVjb3JlX2lkbGVyX2FkZChyZXNw
b25kX2ljb25fcmVxdWVzdF9pZGxlLCByZXNwb25zZSk7CiB9CiAKQEAgLTE0MSwxMyArMTQyLDEz
IEBAIHZvaWQgRXdrRmF2aWNvbkRhdGFiYXNlOjpkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTChXS0lj
b25EYXRhYmFzZVJlZiwgV0tVUkxSZWYgcGFnCiAgICAgICAgIGl0LT52YWx1ZS5jYWxsYmFjayhw
YWdlVVJMLmRhdGEoKSwgaXQtPnZhbHVlLnVzZXJEYXRhKTsKIH0KIAotUGFzc1JlZlB0cjxjYWly
b19zdXJmYWNlX3Q+IEV3a0Zhdmljb25EYXRhYmFzZTo6Z2V0SWNvblN1cmZhY2VTeW5jaHJvbm91
c2x5KGNvbnN0IFN0cmluZyYgcGFnZVVSTCkgY29uc3QKK1Bhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFj
ZV90PiBFd2tGYXZpY29uRGF0YWJhc2U6OmdldEljb25TdXJmYWNlU3luY2hyb25vdXNseShXS1VS
TFJlZiBwYWdlVVJMKSBjb25zdAogewotICAgIG1faWNvbkRhdGFiYXNlLT5yZXRhaW5JY29uRm9y
UGFnZVVSTChwYWdlVVJMKTsKKyAgICBXS0ljb25EYXRhYmFzZVJldGFpbkljb25Gb3JVUkwobV9p
Y29uRGF0YWJhc2UuZ2V0KCksIHBhZ2VVUkwpOwogCi0gICAgV2ViQ29yZTo6TmF0aXZlSW1hZ2VQ
dHIgaWNvbiA9IG1faWNvbkRhdGFiYXNlLT5uYXRpdmVJbWFnZUZvclBhZ2VVUkwocGFnZVVSTCk7
CisgICAgV2ViQ29yZTo6TmF0aXZlSW1hZ2VQdHIgaWNvbiA9IHRvSW1wbChtX2ljb25EYXRhYmFz
ZS5nZXQoKSktPm5hdGl2ZUltYWdlRm9yUGFnZVVSTCh0b1dURlN0cmluZyhwYWdlVVJMKSk7CiAg
ICAgaWYgKCFpY29uKSB7Ci0gICAgICAgIG1faWNvbkRhdGFiYXNlLT5yZWxlYXNlSWNvbkZvclBh
Z2VVUkwocGFnZVVSTCk7CisgICAgICAgIFdLSWNvbkRhdGFiYXNlUmVsZWFzZUljb25Gb3JVUkwo
bV9pY29uRGF0YWJhc2UuZ2V0KCksIHBhZ2VVUkwpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9
CiAKQEAgLTE2NCw3ICsxNjUsNyBAQCB2b2lkIEV3a0Zhdmljb25EYXRhYmFzZTo6aWNvbkRhdGFS
ZWFkeUZvclBhZ2VVUkwoV0tJY29uRGF0YWJhc2VSZWYsIFdLVVJMUmVmIHBhZwogICAgIGlmICgh
ZXdrSWNvbkRhdGFiYXNlLT5tX2ljb25SZXF1ZXN0cy5jb250YWlucyh1cmxTdHJpbmcpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzdXJmYWNlID0gZXdr
SWNvbkRhdGFiYXNlLT5nZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHkodXJsU3RyaW5nKTsKKyAg
ICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBzdXJmYWNlID0gZXdrSWNvbkRhdGFiYXNlLT5nZXRJ
Y29uU3VyZmFjZVN5bmNocm9ub3VzbHkocGFnZVVSTCk7CiAKICAgICBQZW5kaW5nSWNvblJlcXVl
c3RWZWN0b3IgcmVxdWVzdHNGb3JVUkwgPSBld2tJY29uRGF0YWJhc2UtPm1faWNvblJlcXVlc3Rz
LnRha2UodXJsU3RyaW5nKTsKICAgICBzaXplX3QgcmVxdWVzdENvdW50ID0gcmVxdWVzdHNGb3JV
Ukwuc2l6ZSgpOwpAQCAtMTkyLDcgKzE5Myw3IEBAIEVpbmFfQm9vbCBld2tfZmF2aWNvbl9kYXRh
YmFzZV9hc3luY19pY29uX2dldChFd2tfRmF2aWNvbl9EYXRhYmFzZSogZXdrSWNvbkRhdGFiCiAg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGV2YXMsIGZhbHNlKTsKICAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FsbGJhY2ssIGZhbHNlKTsKIAotICAgIGV3a0lj
b25EYXRhYmFzZS0+aWNvbkZvclBhZ2VVUkwoU3RyaW5nOjpmcm9tVVRGOChwYWdlX3VybCksIElj
b25SZXF1ZXN0Q2FsbGJhY2tEYXRhKGNhbGxiYWNrLCB1c2VyRGF0YSwgZXZhcykpOworICAgIGV3
a0ljb25EYXRhYmFzZS0+aWNvbkZvclBhZ2VVUkwocGFnZV91cmwsIEljb25SZXF1ZXN0Q2FsbGJh
Y2tEYXRhKGNhbGxiYWNrLCB1c2VyRGF0YSwgZXZhcykpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZmF2aWNv
bl9kYXRhYmFzZV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfZmF2aWNvbl9kYXRhYmFzZV9wcml2YXRlLmgKaW5kZXggODZhOTExMi4uNzUzNWJkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Zhdmljb25fZGF0
YWJhc2VfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19mYXZpY29uX2RhdGFiYXNlX3ByaXZhdGUuaApAQCAtMjYsMTQgKzI2LDExIEBACiAjaWZuZGVm
IGV3a19mYXZpY29uX2RhdGFiYXNlX3ByaXZhdGVfaAogI2RlZmluZSBld2tfZmF2aWNvbl9kYXRh
YmFzZV9wcml2YXRlX2gKIAorI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiZXdr
X2Zhdmljb25fZGF0YWJhc2UuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViSWNvbkRh
dGFiYXNlOwotfQotCiBzdHJ1Y3QgSWNvbkNoYW5nZUNhbGxiYWNrRGF0YSB7CiAgICAgRXdrX0Zh
dmljb25fRGF0YWJhc2VfSWNvbl9DaGFuZ2VfQ2IgY2FsbGJhY2s7CiAgICAgdm9pZCogdXNlckRh
dGE7CkBAIC03MywyNyArNzAsMjcgQEAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZyAvKiBwYWdlVVJM
ICovLCBQZW5kaW5nSWNvblJlcXVlc3RWZWN0b3I+IFBlbmRpbmdJY29uUmVxdWUKIAogY2xhc3Mg
RXdrRmF2aWNvbkRhdGFiYXNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFd2tG
YXZpY29uRGF0YWJhc2U+IGNyZWF0ZShXZWJLaXQ6OldlYkljb25EYXRhYmFzZSogaWNvbkRhdGFi
YXNlKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0Zhdmljb25EYXRhYmFzZT4gY3JlYXRlKFdL
SWNvbkRhdGFiYXNlUmVmIGljb25EYXRhYmFzZSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgRXdrRmF2aWNvbkRhdGFiYXNlKGljb25EYXRhYmFzZSkpOwogICAgIH0KICAgICB+
RXdrRmF2aWNvbkRhdGFiYXNlKCk7CiAKICAgICBTdHJpbmcgaWNvblVSTEZvclBhZ2VVUkwoY29u
c3QgU3RyaW5nJiBwYWdlVVJMKSBjb25zdDsKLSAgICB2b2lkIGljb25Gb3JQYWdlVVJMKGNvbnN0
IFN0cmluZyYgcGFnZVVSTCwgY29uc3QgSWNvblJlcXVlc3RDYWxsYmFja0RhdGEmIGNhbGxiYWNr
RGF0YSk7CisgICAgdm9pZCBpY29uRm9yUGFnZVVSTChjb25zdCBjaGFyKiBwYWdlVVJMLCBjb25z
dCBJY29uUmVxdWVzdENhbGxiYWNrRGF0YSYgY2FsbGJhY2tEYXRhKTsKIAogICAgIHZvaWQgd2F0
Y2hDaGFuZ2VzKGNvbnN0IEljb25DaGFuZ2VDYWxsYmFja0RhdGEmIGNhbGxiYWNrRGF0YSk7CiAg
ICAgdm9pZCB1bndhdGNoQ2hhbmdlcyhFd2tfRmF2aWNvbl9EYXRhYmFzZV9JY29uX0NoYW5nZV9D
YiBjYWxsYmFjayk7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrRmF2aWNvbkRhdGFiYXNl
KFdlYktpdDo6V2ViSWNvbkRhdGFiYXNlKiBpY29uRGF0YWJhc2UpOworICAgIGV4cGxpY2l0IEV3
a0Zhdmljb25EYXRhYmFzZShXS0ljb25EYXRhYmFzZVJlZiBpY29uRGF0YWJhc2UpOwogCi0gICAg
UGFzc1JlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGdldEljb25TdXJmYWNlU3luY2hyb25vdXNseShj
b25zdCBTdHJpbmcmIHBhZ2VVUkwpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8Y2Fpcm9fc3VyZmFj
ZV90PiBnZXRJY29uU3VyZmFjZVN5bmNocm9ub3VzbHkoV0tVUkxSZWYgcGFnZVVSTCkgY29uc3Q7
CiAKICAgICBzdGF0aWMgdm9pZCBkaWRDaGFuZ2VJY29uRm9yUGFnZVVSTChXS0ljb25EYXRhYmFz
ZVJlZiBpY29uRGF0YWJhc2UsIFdLVVJMUmVmIHBhZ2VVUkwsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwogICAgIHN0YXRpYyB2b2lkIGljb25EYXRhUmVhZHlGb3JQYWdlVVJMKFdLSWNvbkRhdGFi
YXNlUmVmIGljb25EYXRhYmFzZSwgV0tVUkxSZWYgcGFnZVVSTCwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiAKLSAgICBSZWZQdHI8V2ViS2l0OjpXZWJJY29uRGF0YWJhc2U+IG1faWNvbkRhdGFi
YXNlOworICAgIFdLUmV0YWluUHRyPFdLSWNvbkRhdGFiYXNlUmVmPiBtX2ljb25EYXRhYmFzZTsK
ICAgICBDaGFuZ2VMaXN0ZW5lck1hcCBtX2NoYW5nZUxpc3RlbmVyczsKICAgICBQZW5kaW5nSWNv
blJlcXVlc3RNYXAgbV9pY29uUmVxdWVzdHM7CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>