<?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>48693</bug_id>
          
          <creation_ts>2010-10-29 15:44:06 -0700</creation_ts>
          <short_desc>Add idl and mock classes for FileWriterSync.</short_desc>
          <delta_ts>2010-11-09 20:58:41 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>44358</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric U.">ericu</reporter>
          <assigned_to name="Eric U.">ericu</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>kinuko</cc>
    
    <cc>michaeln</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>302150</commentid>
    <comment_count>0</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-10-29 15:44:06 -0700</bug_when>
    <thetext>The implementation will follow soon after.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302216</commentid>
    <comment_count>1</comment_count>
      <attachid>72423</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-10-29 18:04:35 -0700</bug_when>
    <thetext>Created attachment 72423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302803</commentid>
    <comment_count>2</comment_count>
      <attachid>72423</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-11-01 11:29:39 -0700</bug_when>
    <thetext>Comment on attachment 72423
Patch

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

&gt; WebCore/ChangeLog:19
&gt; +        * bindings/scripts/CodeGeneratorV8.pm:

And android&apos;s build file?

So many build files....

&gt; WebCore/fileapi/FileWriterSync.h:54
&gt; +    void write(Blob* data, ExceptionCode&amp; ec);

No need for param name &quot;ec&quot;.

&gt; WebCore/fileapi/FileWriterSync.h:55
&gt; +    void seek(long long position, ExceptionCode&amp; ec);

Ditto.

&gt; WebCore/fileapi/FileWriterSync.h:56
&gt; +    void truncate(long long length, ExceptionCode&amp; ec);

Ditto.

&gt; WebCore/fileapi/FileWriterSync.h:73
&gt; +    friend class WTF::RefCounted&lt;FileWriterSync&gt;;

I believe that WTF:: is unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306435</commentid>
    <comment_count>3</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-11-08 16:04:54 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 72423 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=72423&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:19
&gt; &gt; +        * bindings/scripts/CodeGeneratorV8.pm:
&gt; 
&gt; And android&apos;s build file?

It looks like Android doesn&apos;t have any support for FILE_SYSTEM classes in any of its build files yet.  How about I open a separate bug for that?

&gt; So many build files....

Sigh.  Oh, for a meta-build system.

&gt; &gt; WebCore/fileapi/FileWriterSync.h:54
&gt; &gt; +    void write(Blob* data, ExceptionCode&amp; ec);
&gt; 
&gt; No need for param name &quot;ec&quot;.

Fixed.

&gt; &gt; WebCore/fileapi/FileWriterSync.h:55
&gt; &gt; +    void seek(long long position, ExceptionCode&amp; ec);
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebCore/fileapi/FileWriterSync.h:56
&gt; &gt; +    void truncate(long long length, ExceptionCode&amp; ec);
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebCore/fileapi/FileWriterSync.h:73
&gt; &gt; +    friend class WTF::RefCounted&lt;FileWriterSync&gt;;
&gt; 
&gt; I believe that WTF:: is unnecessary.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306453</commentid>
    <comment_count>4</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-11-08 16:31:49 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 72423 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=72423&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; WebCore/ChangeLog:19
&gt; &gt; &gt; +        * bindings/scripts/CodeGeneratorV8.pm:
&gt; &gt; 
&gt; &gt; And android&apos;s build file?
&gt; 
&gt; It looks like Android doesn&apos;t have any support for FILE_SYSTEM classes in any of its build files yet.  How about I open a separate bug for that?
&gt; 
&gt; &gt; So many build files....
&gt; 
&gt; Sigh.  Oh, for a meta-build system.
&gt; 
&gt; &gt; &gt; WebCore/fileapi/FileWriterSync.h:54
&gt; &gt; &gt; +    void write(Blob* data, ExceptionCode&amp; ec);
&gt; &gt; 
&gt; &gt; No need for param name &quot;ec&quot;.
&gt; 
&gt; Fixed.
&gt; 
&gt; &gt; &gt; WebCore/fileapi/FileWriterSync.h:55
&gt; &gt; &gt; +    void seek(long long position, ExceptionCode&amp; ec);
&gt; &gt; 
&gt; &gt; Ditto.
&gt; &gt; 
&gt; &gt; &gt; WebCore/fileapi/FileWriterSync.h:56
&gt; &gt; &gt; +    void truncate(long long length, ExceptionCode&amp; ec);
&gt; &gt; 
&gt; &gt; Ditto.
&gt; &gt; 
&gt; &gt; &gt; WebCore/fileapi/FileWriterSync.h:73
&gt; &gt; &gt; +    friend class WTF::RefCounted&lt;FileWriterSync&gt;;
&gt; &gt; 
&gt; &gt; I believe that WTF:: is unnecessary.
&gt; 
&gt; Fixed.

[will hopefully upload shortly; I&apos;m having some build issues right now]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306532</commentid>
    <comment_count>5</comment_count>
      <attachid>73325</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-11-08 18:09:02 -0800</bug_when>
    <thetext>Created attachment 73325
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307133</commentid>
    <comment_count>6</comment_count>
      <attachid>73325</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-09 20:03:17 -0800</bug_when>
    <thetext>Comment on attachment 73325
Patch

Clearing flags on attachment: 73325

Committed r71711: &lt;http://trac.webkit.org/changeset/71711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307134</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-09 20:03:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307151</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-09 20:58:41 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/71711 might have broken Chromium Win Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72423</attachid>
            <date>2010-10-29 18:04:35 -0700</date>
            <delta_ts>2010-11-08 18:08:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48693-20101029180434.patch</filename>
            <type>text/plain</type>
            <size>20002</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDk0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMTAtMjkgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgaWRsIGFuZCBtb2NrIGNsYXNzZXMgZm9yIEZpbGVXcml0ZXJTeW5jLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg2OTMKKworICAgICAgICBObyBu
ZXcgdGVzdHMsIGFzIHRoZXJlJ3Mgbm8gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICBCdWlsZCBm
aWxlIGFkZGl0aW9ucy4KKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorCisgICAgICAgICogZmlsZWFwaS9GaWxl
V3JpdGVyU3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlclN5bmMu
aDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5pZGw6IEFkZGVkLgor
CiAyMDEwLTEwLTI5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA3MDk0OSkKKysr
IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE2NzEsNiArMTY3MSw3
IEBAIGlmIChFTkFCTEVfRklMRV9TWVNURU0pCiAgICAgICAgIGZpbGVhcGkvRmlsZUVudHJ5U3lu
Yy5jcHAKICAgICAgICAgZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcAogICAgICAgICBm
aWxlYXBpL0ZpbGVXcml0ZXIuY3BwCisgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlclN5bmMuY3Bw
CiAgICAgICAgIGZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmNwcAogICAgICAgICBwbGF0Zm9ybS9B
c3luY0ZpbGVTeXN0ZW0uY3BwCiAgICAgKQpAQCAtMTY5NCw2ICsxNjk1LDcgQEAgaWYgKEVOQUJM
RV9GSUxFX1NZU1RFTSkKICAgICAgICAgZmlsZWFwaS9GaWxlU3lzdGVtQ2FsbGJhY2suaWRsCiAg
ICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmlkbAogICAgICAgICBmaWxlYXBpL0Zp
bGVXcml0ZXIuaWRsCisgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlclN5bmMuaWRsCiAgICAgICAg
IGZpbGVhcGkvRmxhZ3MuaWRsCiAgICAgICAgIGZpbGVhcGkvTWV0YWRhdGEuaWRsCiAgICAgICAg
IGZpbGVhcGkvTWV0YWRhdGFDYWxsYmFjay5pZGwKSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCShyZXZpc2lv
biA3MDk0OSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjMsNiArMTIzLDcgQEAKICNpbmNsdWRlICJKU0ZpbGVTeXN0ZW1DYWxsYmFjay5jcHAiCiAj
aW5jbHVkZSAiSlNGaWxlV3JpdGVyLmNwcCIKICNpbmNsdWRlICJKU0ZpbGVXcml0ZXJDYWxsYmFj
ay5jcHAiCisjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNGbGFn
cy5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNHZW9wb3Np
dGlvbi5jcHAiCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA3MDk0OSkKKysrIFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTY4LDYgKzE2OCw3IEBA
IERPTV9DTEFTU0VTID0gXAogICAgIEZpbGVSZWFkZXJTeW5jIFwKICAgICBGaWxlV3JpdGVyIFwK
ICAgICBGaWxlV3JpdGVyQ2FsbGJhY2sgXAorICAgIEZpbGVXcml0ZXJTeW5jIFwKICAgICBGaWxl
U3lzdGVtQ2FsbGJhY2sgXAogICAgIEZsYWdzIFwKICAgICBHZW9sb2NhdGlvbiBcCkluZGV4OiBX
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0JKHJldmlzaW9uIDcwOTQ5KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBj
b3B5KQpAQCAtMTQzNyw2ICsxNDM3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3Jl
L2ZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmggXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxlV3Jp
dGVyLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXIuaCBcCisJV2ViQ29yZS9maWxl
YXBpL0ZpbGVXcml0ZXJTeW5jLmNwcCBcCisJV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXJTeW5j
LmggXAogCVdlYkNvcmUvZmlsZWFwaS9GbGFncy5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvTG9jYWxG
aWxlU3lzdGVtLmNwcCBcCiAJV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oIFwKQEAg
LTM5MjcsNiArMzkyOSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0ZpbGVXcml0ZXJDYWxsYmFjay5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxl
V3JpdGVyQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJT
eW5jLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbGFncy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNGbGFncy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWV0YWRhdGEuY3Bw
IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS5neXBpCShyZXZpc2lvbiA3MDk0OSkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTMsNiArMTEzLDcgQEAKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVT
eXN0ZW1DYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZVdyaXRlci5pZGwn
LAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmlkbCcsCisgICAgICAg
ICAgICAnZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
RmxhZ3MuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhLmlkbCcsCiAgICAgICAg
ICAgICAnZmlsZWFwaS9NZXRhZGF0YUNhbGxiYWNrLmlkbCcsCkBAIC0xNTI1LDYgKzE1MjYsOCBA
QAogICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZVdyaXRlci5jcHAnLAogICAgICAgICAgICAgJ2Zp
bGVhcGkvRmlsZVdyaXRlci5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0ZXJDYWxs
YmFjay5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmNwcCcsCisgICAg
ICAgICAgICAnZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5oJywKICAgICAgICAgICAgICdmaWxlYXBp
L0ZsYWdzLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJv
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDcwOTQ5KQorKysg
V2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzA0MSw2ICszMDQxLDcgQEAg
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIAogICAgICAgICBmaWxlYXBp
L0ZpbGVXcml0ZXIuaCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlckNhbGxiYWNrLmggXAog
ICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJDbGllbnQuaCBcCisgICAgICAgIGZpbGVhcGkvRmls
ZVdyaXRlclN5bmMuaCBcCiAgICAgICAgIGZpbGVhcGkvRmxhZ3MuaCBcCiAgICAgICAgIGZpbGVh
cGkvTG9jYWxGaWxlU3lzdGVtLmggXAogICAgICAgICBmaWxlYXBpL01ldGFkYXRhLmggXApAQCAt
MzA3MCw2ICszMDcxLDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEp
IAogICAgICAgICBmaWxlYXBpL0ZpbGVFbnRyeVN5bmMuY3BwIFwKICAgICAgICAgZmlsZWFwaS9G
aWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCBcCiAgICAgICAgIGZpbGVhcGkvRmlsZVdyaXRlci5jcHAg
XAorICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVhcGkv
TG9jYWxGaWxlU3lzdGVtLmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5j
cHAKIH0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24g
NzA5NDkpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC01MzE2LDYgKzUzMTYsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVXcml0ZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2lu
MzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29s
DQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJ
CQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVXcml0ZXJTeW5jLmgiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmxhZ3MuY3BwIg0KIAkJCQk+DQog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTQ4OTAwLDYgKzQ4OTU2LDE0IEBACiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmls
ZVdyaXRlclN5bmMuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGaWxlV3JpdGVyU3luYy5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxGbGFncy5oIg0K
IAkJCQk+DQogCQkJPC9GaWxlPg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiA3MDk0OSkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05NTYsNiArOTU2LDggQEAKIAkJ
NDYxNEExRkUwQjIzQThENjAwNDQ2RTFDIC8qIGNvcHlDdXJzb3IucG5nIGluIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjE0QTFGRDBCMjNBOEQ2MDA0NDZF
MUMgLyogY29weUN1cnNvci5wbmcgKi87IH07CiAJCTQ2NEVBMjczMEI4QTM1MEIwMEE4RTZFMyAv
KiBjcm9zc0hhaXJDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NjRFQTI3MTBCOEEzNTBCMDBBOEU2RTMgLyogY3Jvc3NIYWlyQ3Vyc29y
LnBuZyAqLzsgfTsKIAkJNDY0RUEyNzQwQjhBMzUwQjAwQThFNkUzIC8qIG5vdEFsbG93ZWRDdXJz
b3IucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjRFQTI3MjBCOEEzNTBCMDBBOEU2RTMgLyogbm90QWxsb3dlZEN1cnNvci5wbmcgKi87IH07CisJ
CTQ2NzAwRUQwMTI3Qjk2Q0IwMEY1RDVENiAvKiBGaWxlV3JpdGVyU3luYy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcwMEVDRTEyN0I5NkNCMDBG
NUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuY3BwICovOyB9OworCQk0NjcwMEVEMTEyN0I5NkNCMDBG
NUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2NzAwRUNGMTI3Qjk2Q0IwMEY1RDVENiAvKiBGaWxlV3JpdGVyU3lu
Yy5oICovOyB9OwogCQk0Njg5RjFBRjEyNjdCQUUxMDBFOEQzODAgLyogRmlsZU1ldGFkYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0Njg5RjFBRTEy
NjdCQUUxMDBFOEQzODAgLyogRmlsZU1ldGFkYXRhLmggKi87IH07CiAJCTQ2QkQxNkUzMEIyNzk0
NzMwMDFGMDgzOSAvKiBub25lQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRDE2RTIwQjI3OTQ3MzAwMUYwODM5IC8qIG5vbmVDdXJz
b3IucG5nICovOyB9OwogCQk0NkQ0RjI0OTBBRjk3RTgxMDAzNTM4NUEgLyogY2VsbEN1cnNvci5w
bmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2RDRG
MjQ2MEFGOTdFODEwMDM1Mzg1QSAvKiBjZWxsQ3Vyc29yLnBuZyAqLzsgfTsKQEAgLTcwMjcsNiAr
NzAyOSw4IEBACiAJCTQ2MTRBMUZEMEIyM0E4RDYwMDQ0NkUxQyAvKiBjb3B5Q3Vyc29yLnBuZyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBu
ZzsgcGF0aCA9IGNvcHlDdXJzb3IucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NjRFQTI3MTBCOEEzNTBCMDBBOEU2RTMgLyogY3Jvc3NIYWlyQ3Vyc29yLnBuZyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9
IGNyb3NzSGFpckN1cnNvci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NEVB
MjcyMEI4QTM1MEIwMEE4RTZFMyAvKiBub3RBbGxvd2VkQ3Vyc29yLnBuZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9IG5v
dEFsbG93ZWRDdXJzb3IucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjcwMEVD
RTEyN0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gRmlsZVdyaXRlclN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9G
aWxlV3JpdGVyU3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2NzAwRUNG
MTI3Qjk2Q0IwMEY1RDVENiAvKiBGaWxlV3JpdGVyU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBGaWxlV3JpdGVyU3luYy5oOyBwYXRoID0gZmlsZWFwaS9GaWxlV3JpdGVy
U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0Njg5RjFBRTEyNjdCQUUxMDBF
OEQzODAgLyogRmlsZU1ldGFkYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEZpbGVNZXRhZGF0YS5oOyBwYXRoID0gcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkQxNkUyMEIyNzk0NzMwMDFGMDgzOSAvKiBub25lQ3Vy
c29yLnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGltYWdlLnBuZzsgcGF0aCA9IG5vbmVDdXJzb3IucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NkQ0RjI0NjBBRjk3RTgxMDAzNTM4NUEgLyogY2VsbEN1cnNvci5wbmcgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBh
dGggPSBjZWxsQ3Vyc29yLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MDU1
LDYgKzE1MDU5LDggQEAKIAkJCQk5NzZENkM3MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVdyaXRl
ci5jcHAgKi8sCiAJCQkJOTc2RDZDNzIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuaCAq
LywKIAkJCQk4OTNDNDdBNjEyMzg5MDhCMDAyQjNEODYgLyogRmlsZVdyaXRlckNhbGxiYWNrLmgg
Ki8sCisJCQkJNDY3MDBFQ0UxMjdCOTZDQjAwRjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmNwcCAq
LywKKwkJCQk0NjcwMEVDRjEyN0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuaCAqLywK
IAkJCQk4OTg3ODU0RDEyMkNBMDY0MDAzQUFCREEgLyogRmxhZ3MuaCAqLywKIAkJCQk4OTg3ODU0
RTEyMkNBMDY0MDAzQUFCREEgLyogTG9jYWxGaWxlU3lzdGVtLmNwcCAqLywKIAkJCQk4OTg3ODU0
RjEyMkNBMDY0MDAzQUFCREEgLyogTG9jYWxGaWxlU3lzdGVtLmggKi8sCkBAIC0yMTI0Miw2ICsy
MTI0OCw3IEBACiAJCQkJMDg1MjVFNjMxMjc4QzAwMTAwQTg0Nzc4IC8qIFNWR0FuaW1hdGVkU3Rh
dGljUHJvcGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEQ0NkNFMzEyN0FENUZD
MDA4OTY5NEIgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDgyM0QxNTkxMjdBRDZBQzAwMEVCQzk1IC8qIFNWR0FuaW1hdGVkSW50ZWdlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDY3MDBFRDExMjdCOTZDQjAwRjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTIzODAzLDYgKzIzODEwLDcgQEAKIAkJCQk5M0YxOUIwNTA4MjQ1
RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk0NjcwMEVEMDEyN0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRl
clN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yVjgucG0JKHJldmlzaW9uIDcwOTQ5KQorKysgV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQkod29ya2luZyBjb3B5KQpAQCAtMjY2Myw2ICsy
NjYzLDcgQEAgc3ViIElzQWN0aXZlRG9tVHlwZQogICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJJ
REJSZXF1ZXN0IjsKICAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAiRmlsZVJlYWRlciI7CiAgICAg
cmV0dXJuIDEgaWYgJHR5cGUgZXEgIkZpbGVXcml0ZXIiOworICAgIHJldHVybiAxIGlmICR0eXBl
IGVxICJGaWxlV3JpdGVyU3luYyI7CiAgICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IFdlYkNvcmUv
ZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9maWxlYXBp
L0ZpbGVXcml0ZXJTeW5jLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvZmlsZWFwaS9GaWxl
V3JpdGVyU3luYy5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRmlsZVdyaXRl
clN5bmMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEZpbGVXcml0ZXJTeW5jOjp3
cml0ZShCbG9iKiwgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IC8vIEZJWE1FOiBOb3QgaW1wbGVtZW50ZWQgeWV0LgorfQorCit2b2lkIEZpbGVXcml0ZXJTeW5j
OjpzZWVrKGxvbmcgbG9uZywgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7IC8vIEZJWE1FOiBOb3QgaW1wbGVtZW50ZWQgeWV0LgorfQorCit2b2lkIEZpbGVXcml0
ZXJTeW5jOjp0cnVuY2F0ZShsb25nIGxvbmcsIEV4Y2VwdGlvbkNvZGUmKQoreworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyAvLyBGSVhNRTogTm90IGltcGxlbWVudGVkIHlldC4KK30KKworYm9v
bCBGaWxlV3JpdGVyU3luYzo6Y2FuU3VzcGVuZCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEl0
IGlzIG5vdCBjdXJyZW50bHkgcG9zc2libGUgdG8gc3VzcGVuZCBhIEZpbGVXcml0ZXJTeW5jLCBz
byBwYWdlcyB3aXRoIEZpbGVXcml0ZXIgY2FuIG5vdCBnbyBpbnRvIHBhZ2UgY2FjaGUuCisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIEZpbGVXcml0ZXJTeW5jOjpoYXNQZW5kaW5nQWN0aXZp
dHkoKSBjb25zdAoreworICAgIHJldHVybiBBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rp
dml0eSgpOworfQorCit2b2lkIEZpbGVXcml0ZXJTeW5jOjpzdG9wKCkKK3sKK30KKworCitGaWxl
V3JpdGVyU3luYzo6RmlsZVdyaXRlclN5bmMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCkKKyAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKQorICAgICwgbV9wb3NpdGlv
bigwKQorICAgICwgbV9sZW5ndGgoMCkKK3sKK30KKworCitGaWxlV3JpdGVyU3luYzo6fkZpbGVX
cml0ZXJTeW5jKCkKK3sKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRklMRV9TWVNURU0pCkluZGV4OiBXZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRlclN5
bmMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRlclN5bmMuaAkocmV2
aXNpb24gMCkKKysrIFdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRmlsZVdyaXRlclN5bmNfaAorI2RlZmluZSBGaWxl
V3JpdGVyU3luY19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJBY3Rp
dmVET01PYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQmxvYjsKKwor
dHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKKworLy8gRklYTUU6IFRoaXMgaXMgYW4gZW1wdHkg
c2hlbGwgd2FpdGluZyBmb3IgaW1wbGVtZW50YXRpb24uCitjbGFzcyBGaWxlV3JpdGVyU3luYyA6
IHB1YmxpYyBSZWZDb3VudGVkPEZpbGVXcml0ZXJTeW5jPiwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZVdyaXRlclN5bmM+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGaWxlV3JpdGVyU3luYyhjb250ZXh0KSk7CisgICAgfQorCisgICAgdm9p
ZCB3cml0ZShCbG9iKiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYyk7CisgICAgdm9pZCBzZWVrKGxv
bmcgbG9uZyBwb3NpdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpOworICAgIHZvaWQgdHJ1bmNhdGUo
bG9uZyBsb25nIGxlbmd0aCwgRXhjZXB0aW9uQ29kZSYgZWMpOworCisgICAgbG9uZyBsb25nIHBv
c2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGlvbjsgfQorICAgIGxvbmcgbG9uZyBsZW5n
dGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQorCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0
CisgICAgdmlydHVhbCBib29sIGNhblN1c3BlbmQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wg
aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHN0b3AoKTsKKwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ8RmlsZVdyaXRlclN5bmM+OjpyZWY7CisgICAgdXNpbmcgUmVm
Q291bnRlZDxGaWxlV3JpdGVyU3luYz46OmRlcmVmOworCitwcml2YXRlOgorICAgIEZpbGVXcml0
ZXJTeW5jKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKyAgICB2aXJ0dWFsIH5GaWxlV3JpdGVy
U3luYygpOworCisgICAgZnJpZW5kIGNsYXNzIFdURjo6UmVmQ291bnRlZDxGaWxlV3JpdGVyU3lu
Yz47CisKKyAgICBsb25nIGxvbmcgbV9wb3NpdGlvbjsKKyAgICBsb25nIGxvbmcgbV9sZW5ndGg7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9T
WVNURU0pCisKKyNlbmRpZiAvLyBGaWxlV3JpdGVyX2gKSW5kZXg6IFdlYkNvcmUvZmlsZWFwaS9G
aWxlV3JpdGVyU3luYy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0
ZXJTeW5jLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyU3lu
Yy5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0CisgICAgXSBGaWxlV3JpdGVyU3luYyB7CisgICAg
ICAgIC8vIHN5bmNocm9ub3VzIHdyaXRlL21vZGlmeSBtZXRob2RzCisgICAgICAgIHZvaWQgd3Jp
dGUoaW4gQmxvYiBkYXRhKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICB2b2lkIHNl
ZWsoaW4gbG9uZyBsb25nIHBvc2l0aW9uKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAg
ICB2b2lkIHRydW5jYXRlKGluIGxvbmcgbG9uZyBzaXplKSByYWlzZXMgKEZpbGVFeGNlcHRpb24p
OworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxvbmcgcG9zaXRpb247CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxvbmcgbGVuZ3RoOworICAgIH07Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73325</attachid>
            <date>2010-11-08 18:09:02 -0800</date>
            <delta_ts>2010-11-09 20:03:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48693-20101108180901.patch</filename>
            <type>text/plain</type>
            <size>20026</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTU3OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMTAtMjkgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgaWRsIGFuZCBtb2NrIGNsYXNzZXMgZm9yIEZpbGVXcml0ZXJTeW5jLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg2OTMKKworICAgICAgICBObyBu
ZXcgdGVzdHMsIGFzIHRoZXJlJ3Mgbm8gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICBCdWlsZCBm
aWxlIGFkZGl0aW9ucy4KKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorCisgICAgICAgICogZmlsZWFwaS9GaWxl
V3JpdGVyU3luYy5jcHA6IEFkZGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVdyaXRlclN5bmMu
aDogQWRkZWQuCisgICAgICAgICogZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5pZGw6IEFkZGVkLgor
CiAyMDEwLTExLTA4ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6IFdlYkNvcmUvQ01ha2VMaXN0cy50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gNzE1Nzkp
CisrKyBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNjgwLDYgKzE2
ODAsNyBAQCBpZiAoRU5BQkxFX0ZJTEVfU1lTVEVNKQogICAgICAgICBmaWxlYXBpL0ZpbGVFbnRy
eVN5bmMuY3BwCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAKICAgICAg
ICAgZmlsZWFwaS9GaWxlV3JpdGVyLmNwcAorICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJTeW5j
LmNwcAogICAgICAgICBmaWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5jcHAKICAgICAgICAgcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtLmNwcAogICAgICkKQEAgLTE3MDMsNiArMTcwNCw3IEBAIGlmIChF
TkFCTEVfRklMRV9TWVNURU0pCiAgICAgICAgIGZpbGVhcGkvRmlsZVN5c3RlbUNhbGxiYWNrLmlk
bAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwKICAgICAgICAgZmlsZWFw
aS9GaWxlV3JpdGVyLmlkbAorICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmlkbAogICAg
ICAgICBmaWxlYXBpL0ZsYWdzLmlkbAogICAgICAgICBmaWxlYXBpL01ldGFkYXRhLmlkbAogICAg
ICAgICBmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2
aXNpb24gNzE1NzkpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTIzLDYgKzEyMyw3IEBACiAjaW5jbHVkZSAiSlNGaWxlU3lzdGVtQ2FsbGJhY2suY3Bw
IgogI2luY2x1ZGUgIkpTRmlsZVdyaXRlci5jcHAiCiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyQ2Fs
bGJhY2suY3BwIgorI2luY2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpT
RmxhZ3MuY3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2Vv
cG9zaXRpb24uY3BwIgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNzE1NzkpCisrKyBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw2ICsxNjgs
NyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBGaWxlUmVhZGVyU3luYyBcCiAgICAgRmlsZVdyaXRl
ciBcCiAgICAgRmlsZVdyaXRlckNhbGxiYWNrIFwKKyAgICBGaWxlV3JpdGVyU3luYyBcCiAgICAg
RmlsZVN5c3RlbUNhbGxiYWNrIFwKICAgICBGbGFncyBcCiAgICAgR2VvbG9jYXRpb24gXApJbmRl
eDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCShyZXZpc2lvbiA3MTU3OSkKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtp
bmcgY29weSkKQEAgLTE0NDMsNiArMTQ0Myw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2Vi
Q29yZS9maWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmls
ZVdyaXRlci5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyLmggXAorCVdlYkNvcmUv
ZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5jcHAgXAorCVdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVy
U3luYy5oIFwKIAlXZWJDb3JlL2ZpbGVhcGkvRmxhZ3MuaCBcCiAJV2ViQ29yZS9maWxlYXBpL0xv
Y2FsRmlsZVN5c3RlbS5jcHAgXAogCVdlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBc
CkBAIC0zOTU2LDYgKzM5NTgsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
RmlsZVdyaXRlckNhbGxiYWNrLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3Jp
dGVyU3luYy5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyU3luYy5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxhZ3MuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRmxhZ3MuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01ldGFkYXRh
LmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNzE1NzkpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQko
d29ya2luZyBjb3B5KQpAQCAtMTEzLDYgKzExMyw3IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9G
aWxlU3lzdGVtQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0ZXIu
aWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5pZGwnLAorICAg
ICAgICAgICAgJ2ZpbGVhcGkvRmlsZVdyaXRlclN5bmMuaWRsJywKICAgICAgICAgICAgICdmaWxl
YXBpL0ZsYWdzLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRhZGF0YS5pZGwnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGFDYWxsYmFjay5pZGwnLApAQCAtMTUyNiw2ICsxNTI3
LDggQEAKICAgICAgICAgICAgICdmaWxlYXBpL0ZpbGVXcml0ZXIuY3BwJywKICAgICAgICAgICAg
ICdmaWxlYXBpL0ZpbGVXcml0ZXIuaCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9GaWxlV3JpdGVy
Q2FsbGJhY2suaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5jcHAnLAor
ICAgICAgICAgICAgJ2ZpbGVhcGkvRmlsZVdyaXRlclN5bmMuaCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9GbGFncy5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oJywK
ICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhLmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3Jl
LnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA3MTU3OSkK
KysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTMwNTMsNiArMzA1Myw3
IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1NZU1RFTT0xKSAKICAgICAgICAgZmls
ZWFwaS9GaWxlV3JpdGVyLmggXAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXJDYWxsYmFjay5o
IFwKICAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyQ2xpZW50LmggXAorICAgICAgICBmaWxlYXBp
L0ZpbGVXcml0ZXJTeW5jLmggXAogICAgICAgICBmaWxlYXBpL0ZsYWdzLmggXAogICAgICAgICBm
aWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oIFwKICAgICAgICAgZmlsZWFwaS9NZXRhZGF0YS5oIFwK
QEAgLTMwODIsNiArMzA4Myw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1NZU1RF
TT0xKSAKICAgICAgICAgZmlsZWFwaS9GaWxlRW50cnlTeW5jLmNwcCBcCiAgICAgICAgIGZpbGVh
cGkvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAgXAogICAgICAgICBmaWxlYXBpL0ZpbGVXcml0ZXIu
Y3BwIFwKKyAgICAgICAgZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5jcHAgXAogICAgICAgICBmaWxl
YXBpL0xvY2FsRmlsZVN5c3RlbS5jcHAgXAogICAgICAgICBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0
ZW0uY3BwCiB9CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlz
aW9uIDcxNTc5KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29y
a2luZyBjb3B5KQpAQCAtNTMxNiw2ICs1MzE2LDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlV3JpdGVyU3luYy5jcHAiDQorCQkJCT4NCisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFs
fFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8
VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+
DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlV3JpdGVyU3luYy5oIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZsYWdzLmNwcCINCiAJCQkJ
Pg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC00OTAzMiw2ICs0OTA4OCwxNCBAQAogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBp
XEZpbGVXcml0ZXJTeW5jLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmlsZVdyaXRlclN5bmMuaCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcRmxhZ3Mu
aCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzE1NzkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtOTYxLDYgKzk2MSw4IEBA
CiAJCTQ2MTRBMUZFMEIyM0E4RDYwMDQ0NkUxQyAvKiBjb3B5Q3Vyc29yLnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYxNEExRkQwQjIzQThENjAw
NDQ2RTFDIC8qIGNvcHlDdXJzb3IucG5nICovOyB9OwogCQk0NjRFQTI3MzBCOEEzNTBCMDBBOEU2
RTMgLyogY3Jvc3NIYWlyQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDY0RUEyNzEwQjhBMzUwQjAwQThFNkUzIC8qIGNyb3NzSGFpckN1
cnNvci5wbmcgKi87IH07CiAJCTQ2NEVBMjc0MEI4QTM1MEIwMEE4RTZFMyAvKiBub3RBbGxvd2Vk
Q3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDY0RUEyNzIwQjhBMzUwQjAwQThFNkUzIC8qIG5vdEFsbG93ZWRDdXJzb3IucG5nICovOyB9
OworCQk0NjcwMEVEMDEyN0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3MDBFQ0UxMjdCOTZD
QjAwRjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmNwcCAqLzsgfTsKKwkJNDY3MDBFRDExMjdCOTZD
QjAwRjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcwMEVDRjEyN0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRl
clN5bmMuaCAqLzsgfTsKIAkJNDY4OUYxQUYxMjY3QkFFMTAwRThEMzgwIC8qIEZpbGVNZXRhZGF0
YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY4OUYx
QUUxMjY3QkFFMTAwRThEMzgwIC8qIEZpbGVNZXRhZGF0YS5oICovOyB9OwogCQk0NkJEMTZFMzBC
Mjc5NDczMDAxRjA4MzkgLyogbm9uZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkQxNkUyMEIyNzk0NzMwMDFGMDgzOSAvKiBub25l
Q3Vyc29yLnBuZyAqLzsgfTsKIAkJNDZENEYyNDkwQUY5N0U4MTAwMzUzODVBIC8qIGNlbGxDdXJz
b3IucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NkQ0RjI0NjBBRjk3RTgxMDAzNTM4NUEgLyogY2VsbEN1cnNvci5wbmcgKi87IH07CkBAIC03MDUz
LDYgKzcwNTUsOCBAQAogCQk0NjE0QTFGRDBCMjNBOEQ2MDA0NDZFMUMgLyogY29weUN1cnNvci5w
bmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFn
ZS5wbmc7IHBhdGggPSBjb3B5Q3Vyc29yLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDY0RUEyNzEwQjhBMzUwQjAwQThFNkUzIC8qIGNyb3NzSGFpckN1cnNvci5wbmcgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBh
dGggPSBjcm9zc0hhaXJDdXJzb3IucG5nOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NjRFQTI3MjBCOEEzNTBCMDBBOEU2RTMgLyogbm90QWxsb3dlZEN1cnNvci5wbmcgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGgg
PSBub3RBbGxvd2VkQ3Vyc29yLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY3
MDBFQ0UxMjdCOTZDQjAwRjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZpbGVXcml0ZXJTeW5jLmNwcDsgcGF0aCA9IGZpbGVh
cGkvRmlsZVdyaXRlclN5bmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0Njcw
MEVDRjEyN0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRmlsZVdyaXRlclN5bmMuaDsgcGF0aCA9IGZpbGVhcGkvRmlsZVdy
aXRlclN5bmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY4OUYxQUUxMjY3QkFF
MTAwRThEMzgwIC8qIEZpbGVNZXRhZGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBGaWxlTWV0YWRhdGEuaDsgcGF0aCA9IHBsYXRmb3JtL0ZpbGVNZXRhZGF0YS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkJEMTZFMjBCMjc5NDczMDAxRjA4MzkgLyogbm9u
ZUN1cnNvci5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBub25lQ3Vyc29yLnBuZzsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDZENEYyNDYwQUY5N0U4MTAwMzUzODVBIC8qIGNlbGxDdXJzb3IucG5nICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5n
OyBwYXRoID0gY2VsbEN1cnNvci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NTExNiw2ICsxNTEyMCw4IEBACiAJCQkJOTc2RDZDNzExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVX
cml0ZXIuY3BwICovLAogCQkJCTk3NkQ2QzcyMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlV3JpdGVy
LmggKi8sCiAJCQkJODkzQzQ3QTYxMjM4OTA4QjAwMkIzRDg2IC8qIEZpbGVXcml0ZXJDYWxsYmFj
ay5oICovLAorCQkJCTQ2NzAwRUNFMTI3Qjk2Q0IwMEY1RDVENiAvKiBGaWxlV3JpdGVyU3luYy5j
cHAgKi8sCisJCQkJNDY3MDBFQ0YxMjdCOTZDQjAwRjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmgg
Ki8sCiAJCQkJODk4Nzg1NEQxMjJDQTA2NDAwM0FBQkRBIC8qIEZsYWdzLmggKi8sCiAJCQkJODk4
Nzg1NEUxMjJDQTA2NDAwM0FBQkRBIC8qIExvY2FsRmlsZVN5c3RlbS5jcHAgKi8sCiAJCQkJODk4
Nzg1NEYxMjJDQTA2NDAwM0FBQkRBIC8qIExvY2FsRmlsZVN5c3RlbS5oICovLApAQCAtMjEzMzQs
NiArMjEzNDAsNyBAQAogCQkJCTkzRjE5OUVEMDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vz
c29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5
QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDY3MDBFRDExMjdCOTZDQjAw
RjVENUQ2IC8qIEZpbGVXcml0ZXJTeW5jLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzOTAzLDYgKzIz
OTEwLDcgQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8q
IFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZF
MDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NjcwMEVEMDEy
N0I5NkNCMDBGNUQ1RDYgLyogRmlsZVdyaXRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RDBDRTU4RjgxMjVFNENDMjAwRjNGMTk5IC8qIFJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQkocmV2aXNpb24gNzE1NzkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvclY4LnBtCSh3b3JraW5nIGNvcHkpCkBAIC0yNjg3LDYgKzI2ODcsNyBAQCBzdWIgSXNBY3Rp
dmVEb21UeXBlCiAgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIklEQlJlcXVlc3QiOwogICAgIHJl
dHVybiAxIGlmICR0eXBlIGVxICJGaWxlUmVhZGVyIjsKICAgICByZXR1cm4gMSBpZiAkdHlwZSBl
cSAiRmlsZVdyaXRlciI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkZpbGVXcml0ZXJTeW5j
IjsKICAgICByZXR1cm4gMDsKIH0KIApJbmRleDogV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXJT
eW5jLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2ZpbGVhcGkvRmlsZVdyaXRlclN5bmMuY3Bw
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJGaWxlV3JpdGVyU3luYy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3ZvaWQgRmlsZVdyaXRlclN5bmM6OndyaXRlKEJsb2IqLCBFeGNlcHRp
b25Db2RlJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUU6IE5vdCBpbXBs
ZW1lbnRlZCB5ZXQuCit9CisKK3ZvaWQgRmlsZVdyaXRlclN5bmM6OnNlZWsobG9uZyBsb25nLCBF
eGNlcHRpb25Db2RlJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUU6IE5v
dCBpbXBsZW1lbnRlZCB5ZXQuCit9CisKK3ZvaWQgRmlsZVdyaXRlclN5bmM6OnRydW5jYXRlKGxv
bmcgbG9uZywgRXhjZXB0aW9uQ29kZSYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8v
IEZJWE1FOiBOb3QgaW1wbGVtZW50ZWQgeWV0LgorfQorCitib29sIEZpbGVXcml0ZXJTeW5jOjpj
YW5TdXNwZW5kKCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSXQgaXMgbm90IGN1cnJlbnRseSBw
b3NzaWJsZSB0byBzdXNwZW5kIGEgRmlsZVdyaXRlclN5bmMsIHNvIHBhZ2VzIHdpdGggRmlsZVdy
aXRlciBjYW4gbm90IGdvIGludG8gcGFnZSBjYWNoZS4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K2Jvb2wgRmlsZVdyaXRlclN5bmM6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6aGFzUGVuZGluZ0FjdGl2aXR5KCk7Cit9CisKK3ZvaWQg
RmlsZVdyaXRlclN5bmM6OnN0b3AoKQoreworfQorCisKK0ZpbGVXcml0ZXJTeW5jOjpGaWxlV3Jp
dGVyU3luYyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQWN0aXZlRE9N
T2JqZWN0KGNvbnRleHQsIHRoaXMpCisgICAgLCBtX3Bvc2l0aW9uKDApCisgICAgLCBtX2xlbmd0
aCgwKQoreworfQorCisKK0ZpbGVXcml0ZXJTeW5jOjp+RmlsZVdyaXRlclN5bmMoKQoreworfQor
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RF
TSkKSW5kZXg6IFdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29y
ZS9maWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBGaWxlV3JpdGVyU3luY19oCisjZGVmaW5lIEZpbGVXcml0ZXJTeW5jX2gKKworI2lm
IEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBCbG9iOworCit0eXBlZGVmIGludCBFeGNlcHRp
b25Db2RlOworCisvLyBGSVhNRTogVGhpcyBpcyBhbiBlbXB0eSBzaGVsbCB3YWl0aW5nIGZvciBp
bXBsZW1lbnRhdGlvbi4KK2NsYXNzIEZpbGVXcml0ZXJTeW5jIDogcHVibGljIFJlZkNvdW50ZWQ8
RmlsZVdyaXRlclN5bmM+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxGaWxlV3JpdGVyU3luYz4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVX
cml0ZXJTeW5jKGNvbnRleHQpKTsKKyAgICB9CisKKyAgICB2b2lkIHdyaXRlKEJsb2IqIGRhdGEs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNlZWsobG9uZyBsb25nIHBvc2l0aW9uLCBFeGNl
cHRpb25Db2RlJik7CisgICAgdm9pZCB0cnVuY2F0ZShsb25nIGxvbmcgbGVuZ3RoLCBFeGNlcHRp
b25Db2RlJik7CisKKyAgICBsb25nIGxvbmcgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bv
c2l0aW9uOyB9CisgICAgbG9uZyBsb25nIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3Ro
OyB9CisKKyAgICAvLyBBY3RpdmVET01PYmplY3QKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVu
ZCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpOworCisgICAgdXNpbmcgUmVmQ291bnRlZDxGaWxlV3Jp
dGVyU3luYz46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPEZpbGVXcml0ZXJTeW5jPjo6ZGVy
ZWY7CisKK3ByaXZhdGU6CisgICAgRmlsZVdyaXRlclN5bmMoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopOworICAgIHZpcnR1YWwgfkZpbGVXcml0ZXJTeW5jKCk7CisKKyAgICBmcmllbmQgY2xhc3Mg
UmVmQ291bnRlZDxGaWxlV3JpdGVyU3luYz47CisKKyAgICBsb25nIGxvbmcgbV9wb3NpdGlvbjsK
KyAgICBsb25nIGxvbmcgbV9sZW5ndGg7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAvLyBGaWxlV3JpdGVyX2gK
SW5kZXg6IFdlYkNvcmUvZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9maWxlYXBpL0ZpbGVXcml0ZXJTeW5jLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvZmlsZWFwaS9GaWxlV3JpdGVyU3luYy5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworbW9kdWxlIGh0bWwgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJ
TEVfU1lTVEVNLAorICAgICAgICBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0CisgICAg
XSBGaWxlV3JpdGVyU3luYyB7CisgICAgICAgIC8vIHN5bmNocm9ub3VzIHdyaXRlL21vZGlmeSBt
ZXRob2RzCisgICAgICAgIHZvaWQgd3JpdGUoaW4gQmxvYiBkYXRhKSByYWlzZXMgKEZpbGVFeGNl
cHRpb24pOworICAgICAgICB2b2lkIHNlZWsoaW4gbG9uZyBsb25nIHBvc2l0aW9uKSByYWlzZXMg
KEZpbGVFeGNlcHRpb24pOworICAgICAgICB2b2lkIHRydW5jYXRlKGluIGxvbmcgbG9uZyBzaXpl
KSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nIGxvbmcgcG9zaXRpb247CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxvbmcg
bGVuZ3RoOworICAgIH07Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>