<?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>106831</bug_id>
          
          <creation_ts>2013-01-14 14:46:37 -0800</creation_ts>
          <short_desc>[Chromium] Move BlobRegistryProxy into WebCore</short_desc>
          <delta_ts>2013-01-14 19:49:09 -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 Misc.</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>106829</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>806650</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-01-14 14:46:37 -0800</bug_when>
    <thetext>[Chromium] Move BlobRegistryProxy into WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806652</commentid>
    <comment_count>1</comment_count>
      <attachid>182631</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-01-14 14:47:20 -0800</bug_when>
    <thetext>Created attachment 182631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806826</commentid>
    <comment_count>2</comment_count>
      <attachid>182631</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-14 17:35:40 -0800</bug_when>
    <thetext>Comment on attachment 182631
Patch

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

I think this is fine for a first patch.  There&apos;s more cleanup we can do to better integrate BlobRegistryProxy with BlobRegistryImpl

&gt; Source/WebCore/platform/network/chromium/BlobRegistryProxy.cpp:48
&gt; +// We are part of the WebKit implementation.
&gt; +using namespace WebKit;

As in the other patch, it would be better to remove this using directive and be explicit about when we&apos;re using things in the WebKit namespace.

&gt; Source/WebCore/platform/network/chromium/BlobRegistryProxy.cpp:52
&gt; +BlobRegistry&amp; blobRegistry()

It looks like this function is declared in Source/WebCore/platform/network/BlobRegistry.h.  I wonder if we should put this function in Source/WebCore/platform/network/BlobRegistryImpl.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806842</commentid>
    <comment_count>3</comment_count>
      <attachid>182631</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 17:59:33 -0800</bug_when>
    <thetext>Comment on attachment 182631
Patch

Clearing flags on attachment: 182631

Committed r139698: &lt;http://trac.webkit.org/changeset/139698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806843</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 17:59:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806914</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-01-14 19:49:09 -0800</bug_when>
    <thetext>Filed Bug 106859 for WebKit prefix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182631</attachid>
            <date>2013-01-14 14:47:20 -0800</date>
            <delta_ts>2013-01-14 17:59:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106831-20130114174312.patch</filename>
            <type>text/plain</type>
            <size>15140</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzOTY2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTE0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1vdmUg
QmxvYlJlZ2lzdHJ5UHJveHkgaW50byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgbGFyZ2VyIHJlZmFjdG9yaW5nIHNlcmll
cyB0byByZW1vdmUgbGF5ZXJpbmcgdmlvbGF0aW9ucworICAgICAgICBpbiBDaHJvbWl1bS4gU2Vl
IHRyYWNraW5nIGJ1ZyAxMDY4MjkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9CbG9iUmVnaXN0cnlQcm94eS5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpibG9iUmVnaXN0cnkpOgor
ICAgICAgICAoV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5UHJveHk6OkJsb2JSZWdpc3RyeVByb3h5KToK
KyAgICAgICAgKFdlYkNvcmU6OkJsb2JSZWdpc3RyeVByb3h5OjpyZWdpc3RlckJsb2JVUkwpOgor
ICAgICAgICAoV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5UHJveHk6OnVucmVnaXN0ZXJCbG9iVVJMKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0Jsb2JSZWdpc3RyeVByb3h5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChCbG9iUmVnaXN0cnlQcm94eSk6
CisgICAgICAgIChXZWJDb3JlOjpCbG9iUmVnaXN0cnlQcm94eTo6bG9hZFJlc291cmNlU3luY2hy
b25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpCbG9iUmVnaXN0cnlQcm94eTo6fkJsb2JSZWdp
c3RyeVByb3h5KToKKwogMjAxMy0wMS0xNCAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUG9zaXRpb25lZCBjaGlsZHJlbiBvZiBhbiBvdmVyZmxvdzp2aXNp
YmxlIGNvbnRhaW5lciBzaG91bGQgaWdub3JlIHNjcm9sbCBvZmZzZXQgd2hlbiB1cGRhdGluZyBs
YXllciBwb3NpdGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTM5NjY0KQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC00NDI2LDYgKzQ0
MjYsOCBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFu
ZGxlQ0ZOZXQuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL25ldHdvcmsv
Y2hyb21pdW0vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDaHJvbWl1bS5jcHAnLAorICAgICAgICAg
ICAgJ3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxvYlJlZ2lzdHJ5UHJveHkuY3BwJywKKyAg
ICAgICAgICAgICdwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0Jsb2JSZWdpc3RyeVByb3h5Lmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQ29va2llSmFyQ2hyb21p
dW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0ROU0Nocm9t
aXVtLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9SZXNvdXJj
ZUVycm9yLmgnLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1
bS9CbG9iUmVnaXN0cnlQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jaHJvbWl1bS9CbG9iUmVnaXN0cnlQcm94eS5jcHAJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0Jsb2JSZWdpc3Ry
eVByb3h5LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShCTE9CKQorCisjaW5jbHVkZSAiQmxvYlJlZ2lzdHJ5UHJveHkuaCIK
KworI2luY2x1ZGUgIkJsb2JEYXRhLmgiCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYkJsb2JEYXRhLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkJsb2JSZWdpc3RyeS5o
PgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkwuaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworLy8gV2UgYXJlIHBhcnQgb2YgdGhl
IFdlYktpdCBpbXBsZW1lbnRhdGlvbi4KK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworQmxvYlJlZ2lzdHJ5JiBibG9iUmVnaXN0cnkoKQoreworICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChCbG9iUmVnaXN0
cnlQcm94eSwgaW5zdGFuY2UsICgpKTsKKyAgICByZXR1cm4gaW5zdGFuY2U7Cit9CisKK0Jsb2JS
ZWdpc3RyeVByb3h5OjpCbG9iUmVnaXN0cnlQcm94eSgpCisgICAgOiBtX3dlYkJsb2JSZWdpc3Ry
eShXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmJsb2JSZWdpc3RyeSgpKQoreworfQorCit2
b2lkIEJsb2JSZWdpc3RyeVByb3h5OjpyZWdpc3RlckJsb2JVUkwoY29uc3QgS1VSTCYgdXJsLCBQ
YXNzT3duUHRyPEJsb2JEYXRhPiBibG9iRGF0YSkKK3sKKyAgICBpZiAobV93ZWJCbG9iUmVnaXN0
cnkpIHsKKyAgICAgICAgV2ViQmxvYkRhdGEgd2ViQmxvYkRhdGEoYmxvYkRhdGEpOworICAgICAg
ICBtX3dlYkJsb2JSZWdpc3RyeS0+cmVnaXN0ZXJCbG9iVVJMKHVybCwgd2ViQmxvYkRhdGEpOwor
ICAgIH0KK30KKwordm9pZCBCbG9iUmVnaXN0cnlQcm94eTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgc3JjVVJMKQoreworICAgIGlmIChtX3dlYkJsb2JSZWdp
c3RyeSkKKyAgICAgICAgbV93ZWJCbG9iUmVnaXN0cnktPnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNy
Y1VSTCk7Cit9CisKK3ZvaWQgQmxvYlJlZ2lzdHJ5UHJveHk6OnVucmVnaXN0ZXJCbG9iVVJMKGNv
bnN0IEtVUkwmIHVybCkKK3sKKyAgICBpZiAobV93ZWJCbG9iUmVnaXN0cnkpCisgICAgICAgIG1f
d2ViQmxvYlJlZ2lzdHJ5LT51bnJlZ2lzdGVyQmxvYlVSTCh1cmwpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jaHJvbWl1bS9CbG9iUmVnaXN0cnlQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxvYlJlZ2lzdHJ5UHJveHkuaAkocmV2
aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQmxv
YlJlZ2lzdHJ5UHJveHkuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQmxv
YlJlZ2lzdHJ5UHJveHlfaAorI2RlZmluZSBCbG9iUmVnaXN0cnlQcm94eV9oCisKKyNpZiBFTkFC
TEUoQkxPQikKKworI2luY2x1ZGUgIkJsb2JSZWdpc3RyeS5oIgorCituYW1lc3BhY2UgV2ViS2l0
IHsgY2xhc3MgV2ViQmxvYlJlZ2lzdHJ5OyB9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQmxvYlJlZ2lzdHJ5UHJveHkgOiBwdWJsaWMgQmxvYlJlZ2lzdHJ5IHsKK3B1YmxpYzoKKyAg
ICBCbG9iUmVnaXN0cnlQcm94eSgpOworCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVS
TChjb25zdCBLVVJMJiwgUGFzc093blB0cjxCbG9iRGF0YT4pOworICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlckJsb2JVUkwoY29uc3QgS1VSTCYsIGNvbnN0IEtVUkwmIHNyY1VSTCk7CisgICAgdmly
dHVhbCB2b2lkIHVucmVnaXN0ZXJCbG9iVVJMKGNvbnN0IEtVUkwmKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJl
c291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiBkYXRhKSB7IHJl
dHVybiBmYWxzZTsgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgfkJsb2JSZWdpc3RyeVByb3h5
KCkgeyB9CisKKyAgICBXZWJLaXQ6OldlYkJsb2JSZWdpc3RyeSogbV93ZWJCbG9iUmVnaXN0cnk7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQkxPQikK
KworI2VuZGlmIC8vIEJsb2JSZWdpc3RyeVByb3h5X2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzk2NjkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTE0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1vdmUg
QmxvYlJlZ2lzdHJ5UHJveHkgaW50byBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgbGFyZ2VyIHJlZmFjdG9yaW5nIHNlcmll
cyB0byByZW1vdmUgbGF5ZXJpbmcgdmlvbGF0aW9ucworICAgICAgICBpbiBDaHJvbWl1bS4gU2Vl
IHRyYWNraW5nIGJ1ZyAxMDY4MjkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAq
IHNyYy9CbG9iUmVnaXN0cnlQcm94eS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogc3JjL0Jsb2JS
ZWdpc3RyeVByb3h5Lmg6IFJlbW92ZWQuCisKIDIwMTMtMDEtMTQgIEFsZWMgRmxldHQgIDxhbGVj
ZmxldHRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogUmVtb3ZlIElEQk9iamVj
dFN0b3JlL0luZGV4QmFja2VuZEltcGwgYW5kIHN1cHBvcnQgZnVuY3Rpb25zCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShyZXZpc2lvbiAxMzk2NjQpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTM1Niw4ICszNTYsNiBAQAog
ICAgICAgICAgICAgICAgICdzcmMvQmFja0ZvcndhcmRMaXN0Q2hyb21pdW0uaCcsCiAgICAgICAg
ICAgICAgICAgJ3NyYy9CYXR0ZXJ5Q2xpZW50SW1wbC5jcHAnLAogICAgICAgICAgICAgICAgICdz
cmMvQmF0dGVyeUNsaWVudEltcGwuaCcsCi0gICAgICAgICAgICAgICAgJ3NyYy9CbG9iUmVnaXN0
cnlQcm94eS5jcHAnLAotICAgICAgICAgICAgICAgICdzcmMvQmxvYlJlZ2lzdHJ5UHJveHkuaCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcCcsCiAgICAgICAg
ICAgICAgICAgJ3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmgnLAogICAgICAgICAgICAgICAgICdz
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAnLApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQmxvYlJlZ2lzdHJ5UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Jsb2JSZWdpc3RyeVByb3h5LmNwcAkocmV2aXNpb24gMTM5NjY0KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQmxvYlJlZ2lzdHJ5UHJveHkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDg2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoQkxP
QikKLQotI2luY2x1ZGUgIkJsb2JSZWdpc3RyeVByb3h5LmgiCi0KLSNpbmNsdWRlICJCbG9iRGF0
YS5oIgotI2luY2x1ZGUgIktVUkwuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgotI2lu
Y2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJCbG9iRGF0YS5o
PgotI2luY2x1ZGUgPHB1YmxpYy9XZWJCbG9iUmVnaXN0cnkuaD4KLSNpbmNsdWRlIDxwdWJsaWMv
V2ViVVJMLmg+Ci0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+Ci0KLS8vIFdlIGFyZSBwYXJ0IG9mIHRoZSBXZWJLaXQgaW1wbGVtZW50YXRp
b24uCi11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUJs
b2JSZWdpc3RyeSYgYmxvYlJlZ2lzdHJ5KCkKLXsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQmxvYlJlZ2lzdHJ5UHJveHksIGluc3RhbmNlLCAo
KSk7Ci0gICAgcmV0dXJuIGluc3RhbmNlOwotfQotCi1CbG9iUmVnaXN0cnlQcm94eTo6QmxvYlJl
Z2lzdHJ5UHJveHkoKQotICAgIDogbV93ZWJCbG9iUmVnaXN0cnkoV2ViS2l0OjpQbGF0Zm9ybTo6
Y3VycmVudCgpLT5ibG9iUmVnaXN0cnkoKSkKLXsKLX0KLQotdm9pZCBCbG9iUmVnaXN0cnlQcm94
eTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IEtVUkwmIHVybCwgUGFzc093blB0cjxCbG9iRGF0YT4g
YmxvYkRhdGEpCi17Ci0gICAgaWYgKG1fd2ViQmxvYlJlZ2lzdHJ5KSB7Ci0gICAgICAgIFdlYkJs
b2JEYXRhIHdlYkJsb2JEYXRhKGJsb2JEYXRhKTsKLSAgICAgICAgbV93ZWJCbG9iUmVnaXN0cnkt
PnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHdlYkJsb2JEYXRhKTsKLSAgICB9Ci19Ci0KLXZvaWQgQmxv
YlJlZ2lzdHJ5UHJveHk6OnJlZ2lzdGVyQmxvYlVSTChjb25zdCBLVVJMJiB1cmwsIGNvbnN0IEtV
UkwmIHNyY1VSTCkKLXsKLSAgICBpZiAobV93ZWJCbG9iUmVnaXN0cnkpCi0gICAgICAgIG1fd2Vi
QmxvYlJlZ2lzdHJ5LT5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwpOwotfQotCi12b2lkIEJs
b2JSZWdpc3RyeVByb3h5Ojp1bnJlZ2lzdGVyQmxvYlVSTChjb25zdCBLVVJMJiB1cmwpCi17Ci0g
ICAgaWYgKG1fd2ViQmxvYlJlZ2lzdHJ5KQotICAgICAgICBtX3dlYkJsb2JSZWdpc3RyeS0+dW5y
ZWdpc3RlckJsb2JVUkwodXJsKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Jsb2JSZWdpc3RyeVByb3h5LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQmxvYlJlZ2lzdHJ5UHJv
eHkuaAkocmV2aXNpb24gMTM5NjY0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQmxv
YlJlZ2lzdHJ5UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMSw2MiArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3Ry
aWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBC
bG9iUmVnaXN0cnlQcm94eV9oCi0jZGVmaW5lIEJsb2JSZWdpc3RyeVByb3h5X2gKLQotI2lmIEVO
QUJMRShCTE9CKQotCi0jaW5jbHVkZSAiQmxvYlJlZ2lzdHJ5LmgiCi0KLW5hbWVzcGFjZSBXZWJL
aXQgeyBjbGFzcyBXZWJCbG9iUmVnaXN0cnk7IH0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBCbG9iUmVnaXN0cnlQcm94eSA6IHB1YmxpYyBCbG9iUmVnaXN0cnkgewotcHVibGljOgot
ICAgIEJsb2JSZWdpc3RyeVByb3h5KCk7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJCbG9i
VVJMKGNvbnN0IEtVUkwmLCBQYXNzT3duUHRyPEJsb2JEYXRhPik7Ci0gICAgdmlydHVhbCB2b2lk
IHJlZ2lzdGVyQmxvYlVSTChjb25zdCBLVVJMJiwgY29uc3QgS1VSTCYgc3JjVVJMKTsKLSAgICB2
aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgS1VSTCYpOwotCi0gICAgdmlydHVh
bCBib29sIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
UmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mIGRhdGEpIHsg
cmV0dXJuIGZhbHNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgdmlydHVhbCB+QmxvYlJlZ2lzdHJ5UHJv
eHkoKSB7IH0KLQotICAgIFdlYktpdDo6V2ViQmxvYlJlZ2lzdHJ5KiBtX3dlYkJsb2JSZWdpc3Ry
eTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShCTE9C
KQotCi0jZW5kaWYgLy8gQmxvYlJlZ2lzdHJ5UHJveHlfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>