<?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>57641</bug_id>
          
          <creation_ts>2011-04-01 09:59:16 -0700</creation_ts>
          <short_desc>Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.</short_desc>
          <delta_ts>2011-04-06 06:20:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>377877</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-01 09:59:16 -0700</bug_when>
    <thetext>Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377879</commentid>
    <comment_count>1</comment_count>
      <attachid>87875</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-01 10:00:18 -0700</bug_when>
    <thetext>Created attachment 87875
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378699</commentid>
    <comment_count>2</comment_count>
      <attachid>87875</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-04 01:38:16 -0700</bug_when>
    <thetext>Comment on attachment 87875
Patch.

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        * inline-javascript-imports.py: Added.

This script should go into inspector/ dir or somewhere else but no in Sources/WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378813</commentid>
    <comment_count>3</comment_count>
      <attachid>88066</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-04 09:02:12 -0700</bug_when>
    <thetext>Created attachment 88066
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378814</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-04 09:02:21 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 87875 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87875&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        * inline-javascript-imports.py: Added.
&gt; 
&gt; This script should go into inspector/ dir or somewhere else but no in Sources/WebCore

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380210</commentid>
    <comment_count>5</comment_count>
      <attachid>88066</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-06 01:38:47 -0700</bug_when>
    <thetext>Comment on attachment 88066
Patch.

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

&gt; Source/WebCore/inspector/combine-javascript-resources:1
&gt; +#!/usr/bin/perl -w

The script&apos;s file should have .pl extension like other standalone perl scripts that we use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380237</commentid>
    <comment_count>6</comment_count>
      <attachid>88388</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-06 02:39:36 -0700</bug_when>
    <thetext>Created attachment 88388
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380306</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-06 06:20:06 -0700</bug_when>
    <thetext>Committed r83040: &lt;http://trac.webkit.org/changeset/83040&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87875</attachid>
            <date>2011-04-01 10:00:18 -0700</date>
            <delta_ts>2011-04-04 09:02:12 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8753</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZTcxM2VjLi45MDQwNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTEtMDQtMDEgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogaW5saW5lIHNjcmlwdCBpbXBvcnRzIGluIFNjcmlwdEZvcm1hdHRlcldvcmtlci5q
cyBzbyBpdCB3b3JrcyBpbiBTYWZhcmkgcmVsZWFzZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NjQxCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZ3lwL3N0cmVhbWxpbmUtaW5zcGVjdG9y
LXNvdXJjZS5zaDoKKyAgICAgICAgKiBpbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5OiBBZGRl
ZC4KKwogMjAxMS0wMy0zMCAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZjOTllYzEuLjgw
ZmE5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTIyOTAzLDE1ICsyMjkwMywxNyBAQAogCQkJaW5wdXRQYXRocyA9ICgKIAkJ
CQkiJChUQVJHRVRfQlVJTERfRElSKS8kKFVOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFU
SCkvaW5zcGVjdG9yIiwKIAkJCQkiJChTUkNST09UKS9jb21iaW5lLWphdmFzY3JpcHQtcmVzb3Vy
Y2VzIiwKKwkJCQkiJChTUkNST09UKS9pbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5IiwKIAkJ
CSk7CiAJCQluYW1lID0gIlN0cmVhbWxpbmUgSW5zcGVjdG9yIFNvdXJjZSI7CiAJCQlvdXRwdXRQ
YXRocyA9ICgKIAkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9XZWJDb3JlL2luc3BlY3Rvci5odG1s
IiwKIAkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9XZWJDb3JlL2luc3BlY3Rvci5qcyIsCisJCQkJ
IiQoREVSSVZFRF9GSUxFX0RJUikvV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMiLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hl
bGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIiMgRG9uJ3QgZG8gYW55dGhpbmcg
Zm9yIERlYnVnIGJ1aWxkcywgc28gdGhlIEluc3BlY3RvciBpcyBlYXNpZXIgdG8gZGVidWcuXG5p
ZiBbWyAke0NPTkZJR1VSQVRJT046PURlYnVnfSA9PSBcIkRlYnVnXCIgXV07IHRoZW5cbiAgICBl
eGl0XG5maVxuXG4jIENvbWJpbmUgYWxsIHNjcmlwdCByZXNvdXJjZXMgaW4gdGhlIGluc3BlY3Rv
ci5odG1sIGZpbGUuXG5cIiRTUkNST09UL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXNcIiAt
LWlucHV0LWh0bWwgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWxcIiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgXCIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNv
cmVcIiAtLW91dHB1dC1zY3JpcHQtbmFtZSBpbnNwZWN0b3IuanNcblxuaWYgWyAtZCBcIiR7VEFS
R0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3Bl
Y3RvclwiIF07IHRoZW5cbiAgICAjIFJlbW92ZSBhbnkgSmF2YVNjcmlwdCBmaWxlcywgc2luY2Ug
dGhleSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGNvbWJpbmVkIGZpbGUuXG4gICAgY2QgXCIk
e1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9p
bnNwZWN0b3JcIlxuICAgIHJtICouanNcblxuICAgICMgQ29weSB0aGUgbW9kaWZpZWQgSFRNTCBm
aWxlIGFuZCB0aGUgY29tYmluZWQgc2NyaXB0LlxuICAgIGNwIFwiJHtERVJJVkVEX0ZJTEVfRElS
fS9XZWJDb3JlL2luc3BlY3Rvci5odG1sXCIgaW5zcGVjdG9yLmh0bWxcbiAgICBjcCBcIiR7REVS
SVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuanNcIiBpbnNwZWN0b3IuanNcbmZpXG4i
OworCQkJc2hlbGxTY3JpcHQgPSAiIyBEb24ndCBkbyBhbnl0aGluZyBmb3IgRGVidWcgYnVpbGRz
LCBzbyB0aGUgSW5zcGVjdG9yIGlzIGVhc2llciB0byBkZWJ1Zy5cbmlmIFtbICR7Q09ORklHVVJB
VElPTjo9RGVidWd9ID09IFwiRGVidWdcIiBdXTsgdGhlblxuICAgIGV4aXRcbmZpXG5cbiMgQ29t
YmluZSBhbGwgc2NyaXB0IHJlc291cmNlcyBpbiB0aGUgaW5zcGVjdG9yLmh0bWwgZmlsZS5cblwi
JFNSQ1JPT1QvY29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNlc1wiIC0taW5wdXQtaHRtbCBcIiR7
U1JDUk9PVH0vaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbFwiIC0tZ2VuZXJhdGVk
LXNjcmlwdHMtZGlyICR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
IC0tb3V0cHV0LWRpciBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZVwiIC0tb3V0cHV0LXNj
cmlwdC1uYW1lIGluc3BlY3Rvci5qc1xuXG4jIElubGluZSBzY3JpcHQgaW1wb3J0cyBpbiBTY3Jp
cHRGb3JtYXR0ZXJXb3JrZXIuanMgZmlsZS5cblwiJFNSQ1JPT1QvaW5saW5lLWphdmFzY3JpcHQt
aW1wb3J0cy5weVwiIFwiJHtTUkNST09UfS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1h
dHRlcldvcmtlci5qc1wiIFwiJHtTUkNST09UfS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VnbGlmeUpT
XCIgXCIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmUvc2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpz
XCJcblxuaWYgWyAtZCBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJD
RVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiIF07IHRoZW5cbiAgICAjIFJlbW92ZSBhbnkgSmF2
YVNjcmlwdCBmaWxlcywgc2luY2UgdGhleSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGNvbWJp
bmVkIGZpbGUuXG4gICAgY2QgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVT
T1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIlxuICAgIHJtICouanNcblxuICAgICMgQ29w
eSB0aGUgbW9kaWZpZWQgSFRNTCBmaWxlIGFuZCB0aGUgY29tYmluZWQgc2NyaXB0cy5cbiAgICBj
cCBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuaHRtbFwiIGluc3BlY3Rv
ci5odG1sXG4gICAgY3AgXCIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmUvaW5zcGVjdG9yLmpz
XCIgaW5zcGVjdG9yLmpzXG4gICAgY3AgXCIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmUvc2Ny
aXB0Rm9ybWF0dGVyV29ya2VyLmpzXCIgc2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzXG5maVxuIjsK
IAkJfTsKIAkJMUM4MUJBMzMwRTk3MzU3QzAwMjY2RTA3IC8qIENvcHkgSW5zcGVjdG9yIFJlc291
cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2d5cC9zdHJlYW1saW5lLWluc3BlY3Rvci1zb3VyY2Uuc2ggYi9T
b3VyY2UvV2ViQ29yZS9neXAvc3RyZWFtbGluZS1pbnNwZWN0b3Itc291cmNlLnNoCmluZGV4IDMz
MGQ2ZWQuLjVmM2FlMmIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2d5cC9zdHJlYW1saW5l
LWluc3BlY3Rvci1zb3VyY2Uuc2gKKysrIGIvU291cmNlL1dlYkNvcmUvZ3lwL3N0cmVhbWxpbmUt
aW5zcGVjdG9yLXNvdXJjZS5zaApAQCAtOCwxMiArOCwxNiBAQCBmaQogIyBDb21iaW5lIGFsbCBz
Y3JpcHQgcmVzb3VyY2VzIGluIHRoZSBpbnNwZWN0b3IuaHRtbCBmaWxlLgogIiRTUkNST09ULy4u
L2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXMiIC0taW5wdXQtaHRtbCAiJHtTUkNST09UfS8u
Li9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIiAtLWdlbmVyYXRlZC1zY3JpcHRz
LWRpciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1
dC1kaXIgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZSIgLS1vdXRwdXQtc2NyaXB0LW5hbWUg
aW5zcGVjdG9yLmpzCiAKKyMgSW5saW5lIHNjcmlwdCBpbXBvcnRzIGluIFNjcmlwdEZvcm1hdHRl
cldvcmtlci5qcyBmaWxlLgorIiRTUkNST09ULy4uL2lubGluZS1qYXZhc2NyaXB0LWltcG9ydHMu
cHkiICIke1NSQ1JPT1R9Ly4uL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29y
a2VyLmpzIiAiJHtTUkNST09UfS8uLi9pbnNwZWN0b3IvZnJvbnQtZW5kL1VnbGlmeUpTIiAiJHtE
RVJJVkVEX0ZJTEVfRElSfS9XZWJDb3JlL3NjcmlwdEZvcm1hdHRlcldvcmtlci5qcyIKKwogaWYg
WyAtZCAiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJf
UEFUSH0vaW5zcGVjdG9yIiBdOyB0aGVuCi0gICAgIyBSZW1vdmUgYW55IEphdmFTY3JpcHQgZmls
ZXMsIHNpbmNlIHRoZXkgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBjb21iaW5lZCBmaWxlLgor
ICAgICMgUmVtb3ZlIGFueSBKYXZhU2NyaXB0IGZpbGVzLCBzaW5jZSB0aGV5IHdpbGwgYmUgcmVw
bGFjZWQgd2l0aCB0aGUgY29tYmluZWQgZmlsZXMuCiAgICAgY2QgIiR7VEFSR0VUX0JVSUxEX0RJ
Un0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvciIKICAgICBy
bSAqLmpzCiAKLSAgICAjIENvcHkgdGhlIG1vZGlmaWVkIEhUTUwgZmlsZSBhbmQgdGhlIGNvbWJp
bmVkIHNjcmlwdC4KKyAgICAjIENvcHkgdGhlIG1vZGlmaWVkIEhUTUwgZmlsZSBhbmQgdGhlIGNv
bWJpbmVkIHNjcmlwdHMuCiAgICAgY3AgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNw
ZWN0b3IuaHRtbCIgaW5zcGVjdG9yLmh0bWwKICAgICBjcCAiJHtERVJJVkVEX0ZJTEVfRElSfS9X
ZWJDb3JlL2luc3BlY3Rvci5qcyIgaW5zcGVjdG9yLmpzCisgICAgY3AgIiR7REVSSVZFRF9GSUxF
X0RJUn0vV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMiIHNjcmlwdEZvcm1hdHRlcldv
cmtlci5qcwogZmkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lubGluZS1qYXZhc2NyaXB0
LWltcG9ydHMucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmMWQ5ZTQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5CkBAIC0w
LDAgKzEsODEgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAg
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisjCisKKyMgVGhpcyBzY3JpcHQgcmVwbGFjZXMgY2FsbHMgdG8gaW1wb3J0U2Ny
aXB0cyB3aXRoIHNjcmlwdCBzb3VyY2VzCisjIGluIGlucHV0IHNjcmlwdCBmaWxlIGFuZCBkdW1w
cyByZXN1bHQgaW50byBvdXRwdXQgc2NyaXB0IGZpbGUuCisKK2Zyb20gY1N0cmluZ0lPIGltcG9y
dCBTdHJpbmdJTworCitpbXBvcnQgb3MucGF0aAoraW1wb3J0IHJlCitpbXBvcnQgc3lzCisKKwor
ZGVmIG1haW4oYXJndik6CisKKyAgICBpZiBsZW4oYXJndikgPCAzOgorICAgICAgICBwcmludCgn
dXNhZ2U6ICVzIGlucHV0RmlsZSBpbXBvcnRzRGlyIG91dHB1dEZpbGUnICUgYXJndlswXSkKKyAg
ICAgICAgcmV0dXJuIDEKKworICAgIGlucHV0RmlsZU5hbWUgPSBhcmd2WzFdCisgICAgaW1wb3J0
c0RpciA9IGFyZ3ZbMl0KKyAgICBvdXRwdXRGaWxlTmFtZSA9IGFyZ3ZbM10KKworICAgIGlucHV0
RmlsZSA9IG9wZW4oaW5wdXRGaWxlTmFtZSwgJ3InKQorICAgIGlucHV0U2NyaXB0ID0gaW5wdXRG
aWxlLnJlYWQoKQorICAgIGlucHV0RmlsZS5jbG9zZSgpCisKKyAgICBkZWYgcmVwbGFjZShtYXRj
aCk6CisgICAgICAgIGltcG9ydEZpbGVOYW1lID0gbWF0Y2guZ3JvdXAoMSkKKyAgICAgICAgZnVs
bFBhdGggPSBvcy5wYXRoLmpvaW4oaW1wb3J0c0RpciwgaW1wb3J0RmlsZU5hbWUpCisgICAgICAg
IGlmIG5vdCBvcy5hY2Nlc3MoZnVsbFBhdGgsIG9zLkZfT0spOgorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCdGaWxlICVzIHJlZmVyZW5jZWQgaW4gJXMgbm90IGZvdW5kIG9uIGFueSBzb3Vy
Y2UgcGF0aHMsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hlY2sgc291cmNlIHRy
ZWUgZm9yIGNvbnNpc3RlbmN5JyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltcG9y
dEZpbGVOYW1lLCBpbnB1dEZpbGVOYW1lKSkKKyAgICAgICAgaW1wb3J0RmlsZSA9IG9wZW4oZnVs
bFBhdGgsICdyJykKKyAgICAgICAgaW1wb3J0U2NyaXB0ID0gaW1wb3J0RmlsZS5yZWFkKCkKKyAg
ICAgICAgaW1wb3J0RmlsZS5jbG9zZSgpCisgICAgICAgIHJldHVybiBpbXBvcnRTY3JpcHQKKwor
ICAgIG91dHB1dFNjcmlwdCA9IHJlLnN1YihyJ2ltcG9ydFNjcmlwdHNcKFtcJyJdKFteXCciXSsp
W1wnIl1cKScsIHJlcGxhY2UsIGlucHV0U2NyaXB0KQorCisgICAgb3V0cHV0RmlsZSA9IG9wZW4o
b3V0cHV0RmlsZU5hbWUsICd3JykKKyAgICBvdXRwdXRGaWxlLndyaXRlKG91dHB1dFNjcmlwdCkK
KyAgICBvdXRwdXRGaWxlLmNsb3NlKCkKKworICAgICMgVG91Y2ggb3V0cHV0IGZpbGUgZGlyZWN0
b3J5IHRvIG1ha2Ugc3VyZSB0aGF0IFhjb2RlIHdpbGwgY29weQorICAgICMgbW9kaWZpZWQgcmVz
b3VyY2UgZmlsZXMuCisgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICBv
dXRwdXREaXJOYW1lID0gb3MucGF0aC5kaXJuYW1lKG91dHB1dEZpbGVOYW1lKQorICAgICAgICBv
cy51dGltZShvdXRwdXREaXJOYW1lLCBOb25lKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18n
OgorICAgIHN5cy5leGl0KG1haW4oc3lzLmFyZ3YpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88066</attachid>
            <date>2011-04-04 09:02:12 -0700</date>
            <delta_ts>2011-04-06 02:39:36 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>17827</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkYjVlMGZjLi45YWI5NzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDQtMDQgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogaW5saW5lIHNjcmlwdCBpbXBvcnRzIGluIFNjcmlwdEZvcm1hdHRlcldvcmtlci5q
cyBzbyBpdCB3b3JrcyBpbiBTYWZhcmkgcmVsZWFzZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NjQxCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZ3lwL3N0cmVhbWxpbmUtaW5zcGVjdG9y
LXNvdXJjZS5zaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tYmluZS1qYXZhc2NyaXB0LXJlc291
cmNlczogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNv
dXJjZXMuCisgICAgICAgICogaW5zcGVjdG9yL2lubGluZS1qYXZhc2NyaXB0LWltcG9ydHMucHk6
IEFkZGVkLgorCiAyMDExLTA0LTA0ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpAQCAtMjUzLDExICsy
NjUsMTEgQEAKIAogICAgICAgICBUaGUgY3Jhc2ggaGFwcGVucyBiZWNhdXNlIHJlc2V0dGluZyB0
aGUgcGFnZSBzY2FsZSBhcyBwYXJ0IG9mIHByZXBhcmluZyB0aGUgV2ViVmlldyBmb3IgdGhlCiAg
ICAgICAgIG5leHQgdGVzdCB0cmlnZ2VyZWQgbGF5b3V0LCB3aGljaCBpbiB0dXJuIGNhdXNlZCBh
IHBsdWctaW4gdG8gbWFrZSBhIHJlc291cmNlIHJlcXVlc3QsIGFuZAotICAgICAgICBEdW1wUmVu
ZGVyVHJlZdVzIGRlbGVnYXRlIHRvIGJlIGRpc3BhdGNoZWQuIFRoZSBkZWxlZ2F0ZSBkb2VzbtV0
IGV4cGVjdCB0byBiZSBjYWxsZWQgYmV0d2VlbgorICAgICAgICBEdW1wUmVuZGVyVHJlZSdzIGRl
bGVnYXRlIHRvIGJlIGRpc3BhdGNoZWQuIFRoZSBkZWxlZ2F0ZSBkb2Vzbid0IGV4cGVjdCB0byBi
ZSBjYWxsZWQgYmV0d2VlbgogICAgICAgICB0ZXN0cywgYW5kIGl0IHJlZmVyZW5jZXMgdGhlIGxh
eW91dCB0ZXN0IGNvbnRyb2xsZXIsIHdoaWNoIGlzIG51bGwuCiAKICAgICAgICAgKiBwYWdlL0Zy
YW1lLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzY2FsZVBhZ2UpOiBBdm9pZCBhbiB1
bm5lY2Vzc2FyeSBsYXlvdXQgaWYgdGhlIHBhZ2Ugc2NhbGUgaXNu1XQgY2hhbmdpbmcuIFRoaXMK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzY2FsZVBhZ2UpOiBBdm9pZCBhbiB1bm5lY2Vzc2Fy
eSBsYXlvdXQgaWYgdGhlIHBhZ2Ugc2NhbGUgaXNuJ3QgY2hhbmdpbmcuIFRoaXMKICAgICAgICAg
aXMgbW9yZSBlZmZpY2llbnQsIGFuZCBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGF2b2lkaW5nIHRo
ZSBjcmFzaCBpbiBEdW1wUmVuZGVyVHJlZSwgYWx0aG91Z2gKICAgICAgICAgRHVtcFJlbmRlclRy
ZWUgY291bGQgc3RpbGwgY3Jhc2ggd2hlbiBhZnRlciBhIHRlc3Qgd2l0aCBkaXNhYmxlZCBwbHVn
LWlucyBhbmQgYSBub24tMSBwYWdlIHNjYWxlLgogICAgICAgICBJIHRoaW5rIHRoZXJlIGFyZSBj
dXJyZW50bHkgbm8gc3VjaCB0ZXN0cywgc28gSSBhbSBub3QgZml4aW5nIER1bXBSZW5kZXJUcmVl
LgpAQCAtMzEyMDEsOCArMzEyMTMsOCBAQCByZXZpc2lvbi4KIAogICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6RXZlbnRIYW5k
bGVyKTogSW5pdGlhbGl6ZSBtX2FjdGl2YXRpb25FdmVudE51bWJlcgotICAgICAgICB0byAtMS4g
U2luY2UgV2ViS2l0MiBkb2Vzbu+/vXQgc3VwcG9ydCBub24tYWN0aXZhdGluZyBjbGlja3MgeWV0
ICg8aHR0cDovL3dlYmtpdC5vcmcvYi81NTA1Mz4KLSAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkw
NDIxOTc+KSBhbmQgZG9lc27vv710IHNlbmQgZXZlbnQgbnVtYmVycywgYWxsIGV2ZW50cyB3ZXJl
IGNvbnNpZGVyZWQgdG8gYmUKKyAgICAgICAgdG8gLTEuIFNpbmNlIFdlYktpdDIgZG9lc24ndCBz
dXBwb3J0IG5vbi1hY3RpdmF0aW5nIGNsaWNrcyB5ZXQgKDxodHRwOi8vd2Via2l0Lm9yZy9iLzU1
MDUzPgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA0MjE5Nz4pIGFuZCBkb2Vzbid0IHNlbmQg
ZXZlbnQgbnVtYmVycywgYWxsIGV2ZW50cyB3ZXJlIGNvbnNpZGVyZWQgdG8gYmUKICAgICAgICAg
d2luZG93LWFjdGl2YXRpbmcgZXZlbnRzLiBUaGlzIGluIHR1cm4gcHJldmVudGVkIHRoZW0gZnJv
bSBjbGVhcmluZyB0aGUgc2VsZWN0aW9uIGFuZCByZXN1bWluZwogICAgICAgICBjYXJldCBibGlu
a2luZyBvbiBtb3VzZSB1cC4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNlMmJhMjYuLmVhNjEwY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyOTA2LDE2
ICsyMjkwNiwxOCBAQAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkJIiQoVEFSR0VUX0JV
SUxEX0RJUikvJChVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEgpL2luc3BlY3RvciIs
Ci0JCQkJIiQoU1JDUk9PVCkvY29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNlcyIsCisJCQkJIiQo
U1JDUk9PVCkvaW5zcGVjdG9yL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXMiLAorCQkJCSIk
KFNSQ1JPT1QpL2luc3BlY3Rvci9pbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5IiwKIAkJCSk7
CiAJCQluYW1lID0gIlN0cmVhbWxpbmUgSW5zcGVjdG9yIFNvdXJjZSI7CiAJCQlvdXRwdXRQYXRo
cyA9ICgKIAkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9XZWJDb3JlL2luc3BlY3Rvci5odG1sIiwK
IAkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9XZWJDb3JlL2luc3BlY3Rvci5qcyIsCisJCQkJIiQo
REVSSVZFRF9GSUxFX0RJUikvV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMiLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQ
YXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIiMgRG9uJ3QgZG8gYW55dGhpbmcgZm9y
IERlYnVnIGJ1aWxkcywgc28gdGhlIEluc3BlY3RvciBpcyBlYXNpZXIgdG8gZGVidWcuXG5pZiBb
WyAke0NPTkZJR1VSQVRJT046PURlYnVnfSA9PSBcIkRlYnVnXCIgXV07IHRoZW5cbiAgICBleGl0
XG5maVxuXG4jIENvbWJpbmUgYWxsIHNjcmlwdCByZXNvdXJjZXMgaW4gdGhlIGluc3BlY3Rvci5o
dG1sIGZpbGUuXG5cIiRTUkNST09UL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXNcIiAtLWlu
cHV0LWh0bWwgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWxc
IiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgXCIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmVc
IiAtLW91dHB1dC1zY3JpcHQtbmFtZSBpbnNwZWN0b3IuanNcblxuaWYgWyAtZCBcIiR7VEFSR0VU
X0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3Rv
clwiIF07IHRoZW5cbiAgICAjIFJlbW92ZSBhbnkgSmF2YVNjcmlwdCBmaWxlcywgc2luY2UgdGhl
eSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGNvbWJpbmVkIGZpbGUuXG4gICAgY2QgXCIke1RB
UkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNw
ZWN0b3JcIlxuICAgIHJtICouanNcblxuICAgICMgQ29weSB0aGUgbW9kaWZpZWQgSFRNTCBmaWxl
IGFuZCB0aGUgY29tYmluZWQgc2NyaXB0LlxuICAgIGNwIFwiJHtERVJJVkVEX0ZJTEVfRElSfS9X
ZWJDb3JlL2luc3BlY3Rvci5odG1sXCIgaW5zcGVjdG9yLmh0bWxcbiAgICBjcCBcIiR7REVSSVZF
RF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuanNcIiBpbnNwZWN0b3IuanNcbmZpXG4iOwor
CQkJc2hlbGxTY3JpcHQgPSAiIyBEb24ndCBkbyBhbnl0aGluZyBmb3IgRGVidWcgYnVpbGRzLCBz
byB0aGUgSW5zcGVjdG9yIGlzIGVhc2llciB0byBkZWJ1Zy5cbmlmIFtbICR7Q09ORklHVVJBVElP
Tjo9RGVidWd9ID09IFwiRGVidWdcIiBdXTsgdGhlblxuICAgIGV4aXRcbmZpXG5cbiMgQ29tYmlu
ZSBhbGwgc2NyaXB0IHJlc291cmNlcyBpbiB0aGUgaW5zcGVjdG9yLmh0bWwgZmlsZS5cblwiJFNS
Q1JPT1QvaW5zcGVjdG9yL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXNcIiAtLWlucHV0LWh0
bWwgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWxcIiAtLWdl
bmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZSAtLW91dHB1dC1kaXIgXCIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmVcIiAtLW91
dHB1dC1zY3JpcHQtbmFtZSBpbnNwZWN0b3IuanNcblxuIyBJbmxpbmUgc2NyaXB0IGltcG9ydHMg
aW4gU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzIGZpbGUuXG5cIiRTUkNST09UL2luc3BlY3Rvci9p
bmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5XCIgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzXCIgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9m
cm9udC1lbmQvVWdsaWZ5SlNcIiBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9zY3JpcHRG
b3JtYXR0ZXJXb3JrZXIuanNcIlxuXG5pZiBbIC1kIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VO
TE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCIgXTsgdGhlblxuICAg
ICMgUmVtb3ZlIGFueSBKYXZhU2NyaXB0IGZpbGVzLCBzaW5jZSB0aGV5IHdpbGwgYmUgcmVwbGFj
ZWQgd2l0aCB0aGUgY29tYmluZWQgZmlsZS5cbiAgICBjZCBcIiR7VEFSR0VUX0JVSUxEX0RJUn0v
JHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG4gICAgcm0g
Ki5qc1xuXG4gICAgIyBDb3B5IHRoZSBtb2RpZmllZCBIVE1MIGZpbGUgYW5kIHRoZSBjb21iaW5l
ZCBzY3JpcHRzLlxuICAgIGNwIFwiJHtERVJJVkVEX0ZJTEVfRElSfS9XZWJDb3JlL2luc3BlY3Rv
ci5odG1sXCIgaW5zcGVjdG9yLmh0bWxcbiAgICBjcCBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2Vi
Q29yZS9pbnNwZWN0b3IuanNcIiBpbnNwZWN0b3IuanNcbiAgICBjcCBcIiR7REVSSVZFRF9GSUxF
X0RJUn0vV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanNcIiBzY3JpcHRGb3JtYXR0ZXJX
b3JrZXIuanNcbmZpXG4iOwogCQl9OwogCQkxQzgxQkEzMzBFOTczNTdDMDAyNjZFMDcgLyogQ29w
eSBJbnNwZWN0b3IgUmVzb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWls
ZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY29tYmluZS1qYXZhc2NyaXB0LXJl
c291cmNlcyBiL1NvdXJjZS9XZWJDb3JlL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDQyOGI2YjcuLjAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvY29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNlcworKysgL2Rldi9udWxsCkBAIC0x
LDgxICswLDAgQEAKLSMhL3Vzci9iaW4vcGVybCAtdwotCi0jIENvcHlyaWdodCAoQykgMjAwOCBB
cHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSMgYXJlIG1ldDoKLSMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0jICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotIyBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jIFNjcmlw
dCB0byBjb21iaW5lIG11bHRpcGxlIEphdmFTY3JpcHQgZmlsZXMgaW50byBvbmUgZmlsZSwgYmFz
ZWQgb24KLSMgdGhlIHNjcmlwdCB0YWdzIGluIHRoZSBoZWFkIG9mIGFuIGlucHV0IEhUTUwgZmls
ZS4KLQotdXNlIHN0cmljdDsKLXVzZSBHZXRvcHQ6Okxvbmc7Ci11c2UgRmlsZTo6QmFzZW5hbWU7
Ci11c2UgRmlsZTo6UGF0aDsKLQotbXkgJGdlbmVyYXRlZFNjcmlwdHNEaXJlY3Rvcnk7Ci1teSAk
b3V0cHV0RGlyZWN0b3J5OwotbXkgJHNjcmlwdE5hbWU7Ci1teSAkaHRtbEZpbGU7Ci0KLUdldE9w
dGlvbnMoJ291dHB1dC1kaXI9cycgPT4gXCRvdXRwdXREaXJlY3RvcnksCi0gICAgICAgICAgICdv
dXRwdXQtc2NyaXB0LW5hbWU9cycgPT4gXCRzY3JpcHROYW1lLAotICAgICAgICAgICAnZ2VuZXJh
dGVkLXNjcmlwdHMtZGlyPXMnID0+IFwkZ2VuZXJhdGVkU2NyaXB0c0RpcmVjdG9yeSwKLSAgICAg
ICAgICAgJ2lucHV0LWh0bWw9cycgPT4gXCRodG1sRmlsZSk7Ci0KLXVubGVzcyAoZGVmaW5lZCAk
aHRtbEZpbGUgYW5kIGRlZmluZWQgJHNjcmlwdE5hbWUgYW5kIGRlZmluZWQgJG91dHB1dERpcmVj
dG9yeSkgewotICAgIHByaW50ICJVc2FnZTogJDAgLS1pbnB1dC1odG1sIDxwYXRoPiAtLW91dHB1
dC1kaXIgcGF0aCAtLW91dHB1dC1zY3JpcHQtbmFtZSA8bmFtZT5cbiI7Ci0gICAgZXhpdDsKLX0K
LQotbXkgJGh0bWxEaXJlY3RvcnkgPSBkaXJuYW1lKCRodG1sRmlsZSk7Ci1teSAkaHRtbENvbnRl
bnRzOwotCi17Ci0gICAgbG9jYWwgJC87Ci0gICAgb3BlbiBIVE1MLCAkaHRtbEZpbGUgb3IgZGll
OwotICAgICRodG1sQ29udGVudHMgPSA8SFRNTD47Ci0gICAgY2xvc2UgSFRNTDsKLX0KLQotJGh0
bWxDb250ZW50cyA9fiBtLzxoZWFkPiguKik8XC9oZWFkPi9zaTsKLW15ICRoZWFkQ29udGVudHMg
PSAkMTsKLQotbWtwYXRoICRvdXRwdXREaXJlY3Rvcnk7Ci1vcGVuIFNDUklQVF9PVVQsICI+Iiwg
IiRvdXRwdXREaXJlY3RvcnkvJHNjcmlwdE5hbWUiIG9yIGRpZSAiQ2FuJ3Qgb3BlbiAkb3V0cHV0
RGlyZWN0b3J5LyRzY3JpcHROYW1lOiAkISI7Ci0KLXdoaWxlICgkaGVhZENvbnRlbnRzID1+IG0v
PHNjcmlwdC4qc3JjPSIoW14iXSopIltePl0qPi9naSkgewotICAgIGxvY2FsICQvOwotICAgIG9w
ZW4gU0NSSVBUX0lOLCAiJGdlbmVyYXRlZFNjcmlwdHNEaXJlY3RvcnkvJDEiIG9yIG9wZW4gU0NS
SVBUX0lOLCAiJGh0bWxEaXJlY3RvcnkvJDEiIG9yIGRpZSAiQ2FuJ3Qgb3BlbiAkaHRtbERpcmVj
dG9yeS8kMTogJCEiOwotICAgIHByaW50IFNDUklQVF9PVVQgIi8qICQxICovXG5cbiI7Ci0gICAg
cHJpbnQgU0NSSVBUX09VVCA8U0NSSVBUX0lOPjsKLSAgICBjbG9zZSBTQ1JJUFRfSU47Ci19Ci0K
LWNsb3NlIFNDUklQVF9PVVQ7Ci0KLSRoZWFkQ29udGVudHMgPX4gcy88c2NyaXB0LipzcmM9Ilte
Il0qIltePl0qPjxcL3NjcmlwdD5ccyovL2dpOwotJGhlYWRDb250ZW50cyAuPSAiPHNjcmlwdCB0
eXBlPVwidGV4dC9qYXZhc2NyaXB0XCIgc3JjPVwiJHNjcmlwdE5hbWVcIj48L3NjcmlwdD5cbiI7
Ci0kaHRtbENvbnRlbnRzID1+IHMvPGhlYWQ+Lio8XC9oZWFkPi88aGVhZD4kaGVhZENvbnRlbnRz
PFwvaGVhZD4vc2k7Ci0KLW9wZW4gSFRNTCwgIj4iLCAiJG91dHB1dERpcmVjdG9yeS8iIC4gYmFz
ZW5hbWUoJGh0bWxGaWxlKSBvciBkaWUgIkNhbid0IG9wZW4gJG91dHB1dERpcmVjdG9yeS8iIC4g
YmFzZW5hbWUoJGh0bWxGaWxlKSAuICI6ICQhIjsKLXByaW50IEhUTUwgJGh0bWxDb250ZW50czsK
LWNsb3NlIEhUTUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9neXAvc3RyZWFtbGluZS1p
bnNwZWN0b3Itc291cmNlLnNoIGIvU291cmNlL1dlYkNvcmUvZ3lwL3N0cmVhbWxpbmUtaW5zcGVj
dG9yLXNvdXJjZS5zaAppbmRleCAzMzBkNmVkLi4zZmQyNzhjIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9neXAvc3RyZWFtbGluZS1pbnNwZWN0b3Itc291cmNlLnNoCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2d5cC9zdHJlYW1saW5lLWluc3BlY3Rvci1zb3VyY2Uuc2gKQEAgLTYsMTQgKzYsMTgg
QEAgaWYgW1sgJHtDT05GSUdVUkFUSU9OOj1EZWJ1Z30gPT0gIkRlYnVnIiBdXTsgdGhlbgogZmkK
IAogIyBDb21iaW5lIGFsbCBzY3JpcHQgcmVzb3VyY2VzIGluIHRoZSBpbnNwZWN0b3IuaHRtbCBm
aWxlLgotIiRTUkNST09ULy4uL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXMiIC0taW5wdXQt
aHRtbCAiJHtTUkNST09UfS8uLi9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIiAt
LWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZSIgLS1v
dXRwdXQtc2NyaXB0LW5hbWUgaW5zcGVjdG9yLmpzCisiJFNSQ1JPT1QvLi4vaW5zcGVjdG9yL2Nv
bWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXMiIC0taW5wdXQtaHRtbCAiJHtTUkNST09UfS8uLi9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRp
ciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1dC1k
aXIgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZSIgLS1vdXRwdXQtc2NyaXB0LW5hbWUgaW5z
cGVjdG9yLmpzCisKKyMgSW5saW5lIHNjcmlwdCBpbXBvcnRzIGluIFNjcmlwdEZvcm1hdHRlcldv
cmtlci5qcyBmaWxlLgorIiRTUkNST09ULy4uL2luc3BlY3Rvci9pbmxpbmUtamF2YXNjcmlwdC1p
bXBvcnRzLnB5IiAiJHtTUkNST09UfS8uLi9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1h
dHRlcldvcmtlci5qcyIgIiR7U1JDUk9PVH0vLi4vaW5zcGVjdG9yL2Zyb250LWVuZC9VZ2xpZnlK
UyIgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMi
CiAKIGlmIFsgLWQgIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNf
Rk9MREVSX1BBVEh9L2luc3BlY3RvciIgXTsgdGhlbgotICAgICMgUmVtb3ZlIGFueSBKYXZhU2Ny
aXB0IGZpbGVzLCBzaW5jZSB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgY29tYmluZWQg
ZmlsZS4KKyAgICAjIFJlbW92ZSBhbnkgSmF2YVNjcmlwdCBmaWxlcywgc2luY2UgdGhleSB3aWxs
IGJlIHJlcGxhY2VkIHdpdGggdGhlIGNvbWJpbmVkIGZpbGVzLgogICAgIGNkICIke1RBUkdFVF9C
VUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3Ii
CiAgICAgcm0gKi5qcwogCi0gICAgIyBDb3B5IHRoZSBtb2RpZmllZCBIVE1MIGZpbGUgYW5kIHRo
ZSBjb21iaW5lZCBzY3JpcHQuCisgICAgIyBDb3B5IHRoZSBtb2RpZmllZCBIVE1MIGZpbGUgYW5k
IHRoZSBjb21iaW5lZCBzY3JpcHRzLgogICAgIGNwICIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNv
cmUvaW5zcGVjdG9yLmh0bWwiIGluc3BlY3Rvci5odG1sCiAgICAgY3AgIiR7REVSSVZFRF9GSUxF
X0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuanMiIGluc3BlY3Rvci5qcworICAgIGNwICIke0RFUklW
RURfRklMRV9ESVJ9L1dlYkNvcmUvc2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzIiBzY3JpcHRGb3Jt
YXR0ZXJXb3JrZXIuanMKIGZpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Y29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNlcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9j
b21iaW5lLWphdmFzY3JpcHQtcmVzb3VyY2VzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAuLjQyOGI2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvY29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNlcwpAQCAtMCwwICsxLDgxIEBACisjIS91c3Iv
YmluL3BlcmwgLXcKKworIyBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisjIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisjIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIyBTY3JpcHQgdG8gY29tYmluZSBtdWx0aXBs
ZSBKYXZhU2NyaXB0IGZpbGVzIGludG8gb25lIGZpbGUsIGJhc2VkIG9uCisjIHRoZSBzY3JpcHQg
dGFncyBpbiB0aGUgaGVhZCBvZiBhbiBpbnB1dCBIVE1MIGZpbGUuCisKK3VzZSBzdHJpY3Q7Cit1
c2UgR2V0b3B0OjpMb25nOwordXNlIEZpbGU6OkJhc2VuYW1lOwordXNlIEZpbGU6OlBhdGg7CisK
K215ICRnZW5lcmF0ZWRTY3JpcHRzRGlyZWN0b3J5OworbXkgJG91dHB1dERpcmVjdG9yeTsKK215
ICRzY3JpcHROYW1lOworbXkgJGh0bWxGaWxlOworCitHZXRPcHRpb25zKCdvdXRwdXQtZGlyPXMn
ID0+IFwkb3V0cHV0RGlyZWN0b3J5LAorICAgICAgICAgICAnb3V0cHV0LXNjcmlwdC1uYW1lPXMn
ID0+IFwkc2NyaXB0TmFtZSwKKyAgICAgICAgICAgJ2dlbmVyYXRlZC1zY3JpcHRzLWRpcj1zJyA9
PiBcJGdlbmVyYXRlZFNjcmlwdHNEaXJlY3RvcnksCisgICAgICAgICAgICdpbnB1dC1odG1sPXMn
ID0+IFwkaHRtbEZpbGUpOworCit1bmxlc3MgKGRlZmluZWQgJGh0bWxGaWxlIGFuZCBkZWZpbmVk
ICRzY3JpcHROYW1lIGFuZCBkZWZpbmVkICRvdXRwdXREaXJlY3RvcnkpIHsKKyAgICBwcmludCAi
VXNhZ2U6ICQwIC0taW5wdXQtaHRtbCA8cGF0aD4gLS1vdXRwdXQtZGlyIHBhdGggLS1vdXRwdXQt
c2NyaXB0LW5hbWUgPG5hbWU+XG4iOworICAgIGV4aXQ7Cit9CisKK215ICRodG1sRGlyZWN0b3J5
ID0gZGlybmFtZSgkaHRtbEZpbGUpOworbXkgJGh0bWxDb250ZW50czsKKworeworICAgIGxvY2Fs
ICQvOworICAgIG9wZW4gSFRNTCwgJGh0bWxGaWxlIG9yIGRpZTsKKyAgICAkaHRtbENvbnRlbnRz
ID0gPEhUTUw+OworICAgIGNsb3NlIEhUTUw7Cit9CisKKyRodG1sQ29udGVudHMgPX4gbS88aGVh
ZD4oLiopPFwvaGVhZD4vc2k7CitteSAkaGVhZENvbnRlbnRzID0gJDE7CisKK21rcGF0aCAkb3V0
cHV0RGlyZWN0b3J5Oworb3BlbiBTQ1JJUFRfT1VULCAiPiIsICIkb3V0cHV0RGlyZWN0b3J5LyRz
Y3JpcHROYW1lIiBvciBkaWUgIkNhbid0IG9wZW4gJG91dHB1dERpcmVjdG9yeS8kc2NyaXB0TmFt
ZTogJCEiOworCit3aGlsZSAoJGhlYWRDb250ZW50cyA9fiBtLzxzY3JpcHQuKnNyYz0iKFteIl0q
KSJbXj5dKj4vZ2kpIHsKKyAgICBsb2NhbCAkLzsKKyAgICBvcGVuIFNDUklQVF9JTiwgIiRnZW5l
cmF0ZWRTY3JpcHRzRGlyZWN0b3J5LyQxIiBvciBvcGVuIFNDUklQVF9JTiwgIiRodG1sRGlyZWN0
b3J5LyQxIiBvciBkaWUgIkNhbid0IG9wZW4gJGh0bWxEaXJlY3RvcnkvJDE6ICQhIjsKKyAgICBw
cmludCBTQ1JJUFRfT1VUICIvKiAkMSAqL1xuXG4iOworICAgIHByaW50IFNDUklQVF9PVVQgPFND
UklQVF9JTj47CisgICAgY2xvc2UgU0NSSVBUX0lOOworfQorCitjbG9zZSBTQ1JJUFRfT1VUOwor
CiskaGVhZENvbnRlbnRzID1+IHMvPHNjcmlwdC4qc3JjPSJbXiJdKiJbXj5dKj48XC9zY3JpcHQ+
XHMqLy9naTsKKyRoZWFkQ29udGVudHMgLj0gIjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlw
dFwiIHNyYz1cIiRzY3JpcHROYW1lXCI+PC9zY3JpcHQ+XG4iOworJGh0bWxDb250ZW50cyA9fiBz
LzxoZWFkPi4qPFwvaGVhZD4vPGhlYWQ+JGhlYWRDb250ZW50czxcL2hlYWQ+L3NpOworCitvcGVu
IEhUTUwsICI+IiwgIiRvdXRwdXREaXJlY3RvcnkvIiAuIGJhc2VuYW1lKCRodG1sRmlsZSkgb3Ig
ZGllICJDYW4ndCBvcGVuICRvdXRwdXREaXJlY3RvcnkvIiAuIGJhc2VuYW1lKCRodG1sRmlsZSkg
LiAiOiAkISI7CitwcmludCBIVE1MICRodG1sQ29udGVudHM7CitjbG9zZSBIVE1MOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2lubGluZS1qYXZhc2NyaXB0LWltcG9ydHMu
cHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvaW5saW5lLWphdmFzY3JpcHQtaW1wb3J0cy5w
eQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjFkOWU0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2lubGluZS1qYXZhc2NyaXB0LWltcG9y
dHMucHkKQEAgLTAsMCArMSw4MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjICAgICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24u
CisjICAgICAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyMKKworIyBUaGlzIHNjcmlwdCByZXBsYWNlcyBjYWxscyB0
byBpbXBvcnRTY3JpcHRzIHdpdGggc2NyaXB0IHNvdXJjZXMKKyMgaW4gaW5wdXQgc2NyaXB0IGZp
bGUgYW5kIGR1bXBzIHJlc3VsdCBpbnRvIG91dHB1dCBzY3JpcHQgZmlsZS4KKworZnJvbSBjU3Ry
aW5nSU8gaW1wb3J0IFN0cmluZ0lPCisKK2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgcmUKK2ltcG9y
dCBzeXMKKworCitkZWYgbWFpbihhcmd2KToKKworICAgIGlmIGxlbihhcmd2KSA8IDM6CisgICAg
ICAgIHByaW50KCd1c2FnZTogJXMgaW5wdXRGaWxlIGltcG9ydHNEaXIgb3V0cHV0RmlsZScgJSBh
cmd2WzBdKQorICAgICAgICByZXR1cm4gMQorCisgICAgaW5wdXRGaWxlTmFtZSA9IGFyZ3ZbMV0K
KyAgICBpbXBvcnRzRGlyID0gYXJndlsyXQorICAgIG91dHB1dEZpbGVOYW1lID0gYXJndlszXQor
CisgICAgaW5wdXRGaWxlID0gb3BlbihpbnB1dEZpbGVOYW1lLCAncicpCisgICAgaW5wdXRTY3Jp
cHQgPSBpbnB1dEZpbGUucmVhZCgpCisgICAgaW5wdXRGaWxlLmNsb3NlKCkKKworICAgIGRlZiBy
ZXBsYWNlKG1hdGNoKToKKyAgICAgICAgaW1wb3J0RmlsZU5hbWUgPSBtYXRjaC5ncm91cCgxKQor
ICAgICAgICBmdWxsUGF0aCA9IG9zLnBhdGguam9pbihpbXBvcnRzRGlyLCBpbXBvcnRGaWxlTmFt
ZSkKKyAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhmdWxsUGF0aCwgb3MuRl9PSyk6CisgICAgICAg
ICAgICByYWlzZSBFeGNlcHRpb24oJ0ZpbGUgJXMgcmVmZXJlbmNlZCBpbiAlcyBub3QgZm91bmQg
b24gYW55IHNvdXJjZSBwYXRocywgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGVj
ayBzb3VyY2UgdHJlZSBmb3IgY29uc2lzdGVuY3knICUKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoaW1wb3J0RmlsZU5hbWUsIGlucHV0RmlsZU5hbWUpKQorICAgICAgICBpbXBvcnRGaWxl
ID0gb3BlbihmdWxsUGF0aCwgJ3InKQorICAgICAgICBpbXBvcnRTY3JpcHQgPSBpbXBvcnRGaWxl
LnJlYWQoKQorICAgICAgICBpbXBvcnRGaWxlLmNsb3NlKCkKKyAgICAgICAgcmV0dXJuIGltcG9y
dFNjcmlwdAorCisgICAgb3V0cHV0U2NyaXB0ID0gcmUuc3ViKHInaW1wb3J0U2NyaXB0c1woW1wn
Il0oW15cJyJdKylbXCciXVwpJywgcmVwbGFjZSwgaW5wdXRTY3JpcHQpCisKKyAgICBvdXRwdXRG
aWxlID0gb3BlbihvdXRwdXRGaWxlTmFtZSwgJ3cnKQorICAgIG91dHB1dEZpbGUud3JpdGUob3V0
cHV0U2NyaXB0KQorICAgIG91dHB1dEZpbGUuY2xvc2UoKQorCisgICAgIyBUb3VjaCBvdXRwdXQg
ZmlsZSBkaXJlY3RvcnkgdG8gbWFrZSBzdXJlIHRoYXQgWGNvZGUgd2lsbCBjb3B5CisgICAgIyBt
b2RpZmllZCByZXNvdXJjZSBmaWxlcy4KKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2Rhcndpbic6
CisgICAgICAgIG91dHB1dERpck5hbWUgPSBvcy5wYXRoLmRpcm5hbWUob3V0cHV0RmlsZU5hbWUp
CisgICAgICAgIG9zLnV0aW1lKG91dHB1dERpck5hbWUsIE5vbmUpCisKK2lmIF9fbmFtZV9fID09
ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndikpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88388</attachid>
            <date>2011-04-06 02:39:36 -0700</date>
            <delta_ts>2011-04-06 03:05:18 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16099</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwZTI4ZDZlLi4xZjFhOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDQtMDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogaW5saW5lIHNjcmlwdCBpbXBvcnRzIGluIFNjcmlwdEZvcm1hdHRlcldvcmtlci5q
cyBzbyBpdCB3b3JrcyBpbiBTYWZhcmkgcmVsZWFzZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NjQxCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZ3lwL3N0cmVhbWxpbmUtaW5zcGVjdG9y
LXNvdXJjZS5zaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tYmluZS1qYXZhc2NyaXB0LXJlc291
cmNlcy5wbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2NvbWJpbmUtamF2YXNjcmlwdC1y
ZXNvdXJjZXMuCisgICAgICAgICogaW5zcGVjdG9yL2lubGluZS1qYXZhc2NyaXB0LWltcG9ydHMu
cHk6IEFkZGVkLgorCiAyMDExLTA0LTA1ICBBbmRlcnMgQmFra2VuICA8YWdiYWtrZW5AZ21haWwu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgzOTYxNzUuLmU1
MWE0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTIyOTYzLDE2ICsyMjk2MywxOCBAQAogCQkJKTsKIAkJCWlucHV0UGF0aHMg
PSAoCiAJCQkJIiQoVEFSR0VUX0JVSUxEX0RJUikvJChVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9M
REVSX1BBVEgpL2luc3BlY3RvciIsCi0JCQkJIiQoU1JDUk9PVCkvY29tYmluZS1qYXZhc2NyaXB0
LXJlc291cmNlcyIsCisJCQkJIiQoU1JDUk9PVCkvaW5zcGVjdG9yL2NvbWJpbmUtamF2YXNjcmlw
dC1yZXNvdXJjZXMucGwiLAorCQkJCSIkKFNSQ1JPT1QpL2luc3BlY3Rvci9pbmxpbmUtamF2YXNj
cmlwdC1pbXBvcnRzLnB5IiwKIAkJCSk7CiAJCQluYW1lID0gIlN0cmVhbWxpbmUgSW5zcGVjdG9y
IFNvdXJjZSI7CiAJCQlvdXRwdXRQYXRocyA9ICgKIAkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9X
ZWJDb3JlL2luc3BlY3Rvci5odG1sIiwKIAkJCQkiJChERVJJVkVEX0ZJTEVfRElSKS9XZWJDb3Jl
L2luc3BlY3Rvci5qcyIsCisJCQkJIiQoREVSSVZFRF9GSUxFX0RJUikvV2ViQ29yZS9zY3JpcHRG
b3JtYXR0ZXJXb3JrZXIuanMiLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0g
IiMgRG9uJ3QgZG8gYW55dGhpbmcgZm9yIERlYnVnIGJ1aWxkcywgc28gdGhlIEluc3BlY3RvciBp
cyBlYXNpZXIgdG8gZGVidWcuXG5pZiBbWyAke0NPTkZJR1VSQVRJT046PURlYnVnfSA9PSBcIkRl
YnVnXCIgXV07IHRoZW5cbiAgICBleGl0XG5maVxuXG4jIENvbWJpbmUgYWxsIHNjcmlwdCByZXNv
dXJjZXMgaW4gdGhlIGluc3BlY3Rvci5odG1sIGZpbGUuXG5cIiRTUkNST09UL2NvbWJpbmUtamF2
YXNjcmlwdC1yZXNvdXJjZXNcIiAtLWlucHV0LWh0bWwgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmh0bWxcIiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxU
X1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgXCIke0RF
UklWRURfRklMRV9ESVJ9L1dlYkNvcmVcIiAtLW91dHB1dC1zY3JpcHQtbmFtZSBpbnNwZWN0b3Iu
anNcblxuaWYgWyAtZCBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJD
RVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiIF07IHRoZW5cbiAgICAjIFJlbW92ZSBhbnkgSmF2
YVNjcmlwdCBmaWxlcywgc2luY2UgdGhleSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGNvbWJp
bmVkIGZpbGUuXG4gICAgY2QgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVT
T1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIlxuICAgIHJtICouanNcblxuICAgICMgQ29w
eSB0aGUgbW9kaWZpZWQgSFRNTCBmaWxlIGFuZCB0aGUgY29tYmluZWQgc2NyaXB0LlxuICAgIGNw
IFwiJHtERVJJVkVEX0ZJTEVfRElSfS9XZWJDb3JlL2luc3BlY3Rvci5odG1sXCIgaW5zcGVjdG9y
Lmh0bWxcbiAgICBjcCBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuanNc
IiBpbnNwZWN0b3IuanNcbmZpXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiIyBEb24ndCBkbyBhbnl0
aGluZyBmb3IgRGVidWcgYnVpbGRzLCBzbyB0aGUgSW5zcGVjdG9yIGlzIGVhc2llciB0byBkZWJ1
Zy5cbmlmIFtbICR7Q09ORklHVVJBVElPTjo9RGVidWd9ID09IFwiRGVidWdcIiBdXTsgdGhlblxu
ICAgIGV4aXRcbmZpXG5cbiMgQ29tYmluZSBhbGwgc2NyaXB0IHJlc291cmNlcyBpbiB0aGUgaW5z
cGVjdG9yLmh0bWwgZmlsZS5cblwiJFNSQ1JPT1QvaW5zcGVjdG9yL2NvbWJpbmUtamF2YXNjcmlw
dC1yZXNvdXJjZXMucGxcIiAtLWlucHV0LWh0bWwgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmh0bWxcIiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgXCIke0RFUklW
RURfRklMRV9ESVJ9L1dlYkNvcmVcIiAtLW91dHB1dC1zY3JpcHQtbmFtZSBpbnNwZWN0b3IuanNc
blxuIyBJbmxpbmUgc2NyaXB0IGltcG9ydHMgaW4gU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzIGZp
bGUuXG5cIiRTUkNST09UL2luc3BlY3Rvci9pbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5XCIg
XCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpz
XCIgXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmQvVWdsaWZ5SlNcIiBcIiR7REVSSVZF
RF9GSUxFX0RJUn0vV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanNcIlxuXG5pZiBbIC1k
IFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFU
SH0vaW5zcGVjdG9yXCIgXTsgdGhlblxuICAgICMgUmVtb3ZlIGFueSBKYXZhU2NyaXB0IGZpbGVz
LCBzaW5jZSB0aGV5IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgY29tYmluZWQgZmlsZS5cbiAg
ICBjZCBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVS
X1BBVEh9L2luc3BlY3RvclwiXG4gICAgcm0gKi5qc1xuXG4gICAgIyBDb3B5IHRoZSBtb2RpZmll
ZCBIVE1MIGZpbGUgYW5kIHRoZSBjb21iaW5lZCBzY3JpcHRzLlxuICAgIGNwIFwiJHtERVJJVkVE
X0ZJTEVfRElSfS9XZWJDb3JlL2luc3BlY3Rvci5odG1sXCIgaW5zcGVjdG9yLmh0bWxcbiAgICBj
cCBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuanNcIiBpbnNwZWN0b3Iu
anNcbiAgICBjcCBcIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9zY3JpcHRGb3JtYXR0ZXJX
b3JrZXIuanNcIiBzY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanNcbmZpXG4iOwogCQl9OwogCQkxQzgx
QkEzMzBFOTczNTdDMDAyNjZFMDcgLyogQ29weSBJbnNwZWN0b3IgUmVzb3VyY2VzICovID0gewog
CQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNlcyBiL1NvdXJjZS9XZWJDb3JlL2NvbWJp
bmUtamF2YXNjcmlwdC1yZXNvdXJjZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDQy
OGI2YjcuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY29tYmluZS1qYXZhc2NyaXB0LXJl
c291cmNlcworKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLSMhL3Vzci9iaW4vcGVybCAt
dwotCi0jIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
Ci0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSMgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0jIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotCi0jIFNjcmlwdCB0byBjb21iaW5lIG11bHRpcGxlIEphdmFTY3Jp
cHQgZmlsZXMgaW50byBvbmUgZmlsZSwgYmFzZWQgb24KLSMgdGhlIHNjcmlwdCB0YWdzIGluIHRo
ZSBoZWFkIG9mIGFuIGlucHV0IEhUTUwgZmlsZS4KLQotdXNlIHN0cmljdDsKLXVzZSBHZXRvcHQ6
Okxvbmc7Ci11c2UgRmlsZTo6QmFzZW5hbWU7Ci11c2UgRmlsZTo6UGF0aDsKLQotbXkgJGdlbmVy
YXRlZFNjcmlwdHNEaXJlY3Rvcnk7Ci1teSAkb3V0cHV0RGlyZWN0b3J5OwotbXkgJHNjcmlwdE5h
bWU7Ci1teSAkaHRtbEZpbGU7Ci0KLUdldE9wdGlvbnMoJ291dHB1dC1kaXI9cycgPT4gXCRvdXRw
dXREaXJlY3RvcnksCi0gICAgICAgICAgICdvdXRwdXQtc2NyaXB0LW5hbWU9cycgPT4gXCRzY3Jp
cHROYW1lLAotICAgICAgICAgICAnZ2VuZXJhdGVkLXNjcmlwdHMtZGlyPXMnID0+IFwkZ2VuZXJh
dGVkU2NyaXB0c0RpcmVjdG9yeSwKLSAgICAgICAgICAgJ2lucHV0LWh0bWw9cycgPT4gXCRodG1s
RmlsZSk7Ci0KLXVubGVzcyAoZGVmaW5lZCAkaHRtbEZpbGUgYW5kIGRlZmluZWQgJHNjcmlwdE5h
bWUgYW5kIGRlZmluZWQgJG91dHB1dERpcmVjdG9yeSkgewotICAgIHByaW50ICJVc2FnZTogJDAg
LS1pbnB1dC1odG1sIDxwYXRoPiAtLW91dHB1dC1kaXIgcGF0aCAtLW91dHB1dC1zY3JpcHQtbmFt
ZSA8bmFtZT5cbiI7Ci0gICAgZXhpdDsKLX0KLQotbXkgJGh0bWxEaXJlY3RvcnkgPSBkaXJuYW1l
KCRodG1sRmlsZSk7Ci1teSAkaHRtbENvbnRlbnRzOwotCi17Ci0gICAgbG9jYWwgJC87Ci0gICAg
b3BlbiBIVE1MLCAkaHRtbEZpbGUgb3IgZGllOwotICAgICRodG1sQ29udGVudHMgPSA8SFRNTD47
Ci0gICAgY2xvc2UgSFRNTDsKLX0KLQotJGh0bWxDb250ZW50cyA9fiBtLzxoZWFkPiguKik8XC9o
ZWFkPi9zaTsKLW15ICRoZWFkQ29udGVudHMgPSAkMTsKLQotbWtwYXRoICRvdXRwdXREaXJlY3Rv
cnk7Ci1vcGVuIFNDUklQVF9PVVQsICI+IiwgIiRvdXRwdXREaXJlY3RvcnkvJHNjcmlwdE5hbWUi
IG9yIGRpZSAiQ2FuJ3Qgb3BlbiAkb3V0cHV0RGlyZWN0b3J5LyRzY3JpcHROYW1lOiAkISI7Ci0K
LXdoaWxlICgkaGVhZENvbnRlbnRzID1+IG0vPHNjcmlwdC4qc3JjPSIoW14iXSopIltePl0qPi9n
aSkgewotICAgIGxvY2FsICQvOwotICAgIG9wZW4gU0NSSVBUX0lOLCAiJGdlbmVyYXRlZFNjcmlw
dHNEaXJlY3RvcnkvJDEiIG9yIG9wZW4gU0NSSVBUX0lOLCAiJGh0bWxEaXJlY3RvcnkvJDEiIG9y
IGRpZSAiQ2FuJ3Qgb3BlbiAkaHRtbERpcmVjdG9yeS8kMTogJCEiOwotICAgIHByaW50IFNDUklQ
VF9PVVQgIi8qICQxICovXG5cbiI7Ci0gICAgcHJpbnQgU0NSSVBUX09VVCA8U0NSSVBUX0lOPjsK
LSAgICBjbG9zZSBTQ1JJUFRfSU47Ci19Ci0KLWNsb3NlIFNDUklQVF9PVVQ7Ci0KLSRoZWFkQ29u
dGVudHMgPX4gcy88c2NyaXB0LipzcmM9IlteIl0qIltePl0qPjxcL3NjcmlwdD5ccyovL2dpOwot
JGhlYWRDb250ZW50cyAuPSAiPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCIgc3JjPVwi
JHNjcmlwdE5hbWVcIj48L3NjcmlwdD5cbiI7Ci0kaHRtbENvbnRlbnRzID1+IHMvPGhlYWQ+Lio8
XC9oZWFkPi88aGVhZD4kaGVhZENvbnRlbnRzPFwvaGVhZD4vc2k7Ci0KLW9wZW4gSFRNTCwgIj4i
LCAiJG91dHB1dERpcmVjdG9yeS8iIC4gYmFzZW5hbWUoJGh0bWxGaWxlKSBvciBkaWUgIkNhbid0
IG9wZW4gJG91dHB1dERpcmVjdG9yeS8iIC4gYmFzZW5hbWUoJGh0bWxGaWxlKSAuICI6ICQhIjsK
LXByaW50IEhUTUwgJGh0bWxDb250ZW50czsKLWNsb3NlIEhUTUw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9neXAvc3RyZWFtbGluZS1pbnNwZWN0b3Itc291cmNlLnNoIGIvU291cmNlL1dl
YkNvcmUvZ3lwL3N0cmVhbWxpbmUtaW5zcGVjdG9yLXNvdXJjZS5zaAppbmRleCAzMzBkNmVkLi43
Y2QxZTVhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9neXAvc3RyZWFtbGluZS1pbnNwZWN0
b3Itc291cmNlLnNoCisrKyBiL1NvdXJjZS9XZWJDb3JlL2d5cC9zdHJlYW1saW5lLWluc3BlY3Rv
ci1zb3VyY2Uuc2gKQEAgLTYsMTQgKzYsMTggQEAgaWYgW1sgJHtDT05GSUdVUkFUSU9OOj1EZWJ1
Z30gPT0gIkRlYnVnIiBdXTsgdGhlbgogZmkKIAogIyBDb21iaW5lIGFsbCBzY3JpcHQgcmVzb3Vy
Y2VzIGluIHRoZSBpbnNwZWN0b3IuaHRtbCBmaWxlLgotIiRTUkNST09ULy4uL2NvbWJpbmUtamF2
YXNjcmlwdC1yZXNvdXJjZXMiIC0taW5wdXQtaHRtbCAiJHtTUkNST09UfS8uLi9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxU
X1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgIiR7REVS
SVZFRF9GSUxFX0RJUn0vV2ViQ29yZSIgLS1vdXRwdXQtc2NyaXB0LW5hbWUgaW5zcGVjdG9yLmpz
CisiJFNSQ1JPT1QvLi4vaW5zcGVjdG9yL2NvbWJpbmUtamF2YXNjcmlwdC1yZXNvdXJjZXMucGwi
IC0taW5wdXQtaHRtbCAiJHtTUkNST09UfS8uLi9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5odG1sIiAtLWdlbmVyYXRlZC1zY3JpcHRzLWRpciAke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZSAtLW91dHB1dC1kaXIgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2Vi
Q29yZSIgLS1vdXRwdXQtc2NyaXB0LW5hbWUgaW5zcGVjdG9yLmpzCisKKyMgSW5saW5lIHNjcmlw
dCBpbXBvcnRzIGluIFNjcmlwdEZvcm1hdHRlcldvcmtlci5qcyBmaWxlLgorIiRTUkNST09ULy4u
L2luc3BlY3Rvci9pbmxpbmUtamF2YXNjcmlwdC1pbXBvcnRzLnB5IiAiJHtTUkNST09UfS8uLi9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlcldvcmtlci5qcyIgIiR7U1JDUk9PVH0v
Li4vaW5zcGVjdG9yL2Zyb250LWVuZC9VZ2xpZnlKUyIgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2Vi
Q29yZS9zY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMiCiAKIGlmIFsgLWQgIiR7VEFSR0VUX0JVSUxE
X0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvciIgXTsg
dGhlbgotICAgICMgUmVtb3ZlIGFueSBKYXZhU2NyaXB0IGZpbGVzLCBzaW5jZSB0aGV5IHdpbGwg
YmUgcmVwbGFjZWQgd2l0aCB0aGUgY29tYmluZWQgZmlsZS4KKyAgICAjIFJlbW92ZSBhbnkgSmF2
YVNjcmlwdCBmaWxlcywgc2luY2UgdGhleSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGNvbWJp
bmVkIGZpbGVzLgogICAgIGNkICIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVT
T1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3IiCiAgICAgcm0gKi5qcwogCi0gICAgIyBDb3B5
IHRoZSBtb2RpZmllZCBIVE1MIGZpbGUgYW5kIHRoZSBjb21iaW5lZCBzY3JpcHQuCisgICAgIyBD
b3B5IHRoZSBtb2RpZmllZCBIVE1MIGZpbGUgYW5kIHRoZSBjb21iaW5lZCBzY3JpcHRzLgogICAg
IGNwICIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmUvaW5zcGVjdG9yLmh0bWwiIGluc3BlY3Rv
ci5odG1sCiAgICAgY3AgIiR7REVSSVZFRF9GSUxFX0RJUn0vV2ViQ29yZS9pbnNwZWN0b3IuanMi
IGluc3BlY3Rvci5qcworICAgIGNwICIke0RFUklWRURfRklMRV9ESVJ9L1dlYkNvcmUvc2NyaXB0
Rm9ybWF0dGVyV29ya2VyLmpzIiBzY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMKIGZpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tYmluZS1qYXZhc2NyaXB0LXJlc291cmNl
cy5wbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21iaW5lLWphdmFzY3JpcHQtcmVzb3Vy
Y2VzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQyOGI2YjcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tYmluZS1qYXZhc2NyaXB0
LXJlc291cmNlcy5wbApAQCAtMCwwICsxLDgxIEBACisjIS91c3IvYmluL3BlcmwgLXcKKworIyBD
b3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisjIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKworIyBTY3JpcHQgdG8gY29tYmluZSBtdWx0aXBsZSBKYXZhU2NyaXB0IGZpbGVz
IGludG8gb25lIGZpbGUsIGJhc2VkIG9uCisjIHRoZSBzY3JpcHQgdGFncyBpbiB0aGUgaGVhZCBv
ZiBhbiBpbnB1dCBIVE1MIGZpbGUuCisKK3VzZSBzdHJpY3Q7Cit1c2UgR2V0b3B0OjpMb25nOwor
dXNlIEZpbGU6OkJhc2VuYW1lOwordXNlIEZpbGU6OlBhdGg7CisKK215ICRnZW5lcmF0ZWRTY3Jp
cHRzRGlyZWN0b3J5OworbXkgJG91dHB1dERpcmVjdG9yeTsKK215ICRzY3JpcHROYW1lOworbXkg
JGh0bWxGaWxlOworCitHZXRPcHRpb25zKCdvdXRwdXQtZGlyPXMnID0+IFwkb3V0cHV0RGlyZWN0
b3J5LAorICAgICAgICAgICAnb3V0cHV0LXNjcmlwdC1uYW1lPXMnID0+IFwkc2NyaXB0TmFtZSwK
KyAgICAgICAgICAgJ2dlbmVyYXRlZC1zY3JpcHRzLWRpcj1zJyA9PiBcJGdlbmVyYXRlZFNjcmlw
dHNEaXJlY3RvcnksCisgICAgICAgICAgICdpbnB1dC1odG1sPXMnID0+IFwkaHRtbEZpbGUpOwor
Cit1bmxlc3MgKGRlZmluZWQgJGh0bWxGaWxlIGFuZCBkZWZpbmVkICRzY3JpcHROYW1lIGFuZCBk
ZWZpbmVkICRvdXRwdXREaXJlY3RvcnkpIHsKKyAgICBwcmludCAiVXNhZ2U6ICQwIC0taW5wdXQt
aHRtbCA8cGF0aD4gLS1vdXRwdXQtZGlyIHBhdGggLS1vdXRwdXQtc2NyaXB0LW5hbWUgPG5hbWU+
XG4iOworICAgIGV4aXQ7Cit9CisKK215ICRodG1sRGlyZWN0b3J5ID0gZGlybmFtZSgkaHRtbEZp
bGUpOworbXkgJGh0bWxDb250ZW50czsKKworeworICAgIGxvY2FsICQvOworICAgIG9wZW4gSFRN
TCwgJGh0bWxGaWxlIG9yIGRpZTsKKyAgICAkaHRtbENvbnRlbnRzID0gPEhUTUw+OworICAgIGNs
b3NlIEhUTUw7Cit9CisKKyRodG1sQ29udGVudHMgPX4gbS88aGVhZD4oLiopPFwvaGVhZD4vc2k7
CitteSAkaGVhZENvbnRlbnRzID0gJDE7CisKK21rcGF0aCAkb3V0cHV0RGlyZWN0b3J5Oworb3Bl
biBTQ1JJUFRfT1VULCAiPiIsICIkb3V0cHV0RGlyZWN0b3J5LyRzY3JpcHROYW1lIiBvciBkaWUg
IkNhbid0IG9wZW4gJG91dHB1dERpcmVjdG9yeS8kc2NyaXB0TmFtZTogJCEiOworCit3aGlsZSAo
JGhlYWRDb250ZW50cyA9fiBtLzxzY3JpcHQuKnNyYz0iKFteIl0qKSJbXj5dKj4vZ2kpIHsKKyAg
ICBsb2NhbCAkLzsKKyAgICBvcGVuIFNDUklQVF9JTiwgIiRnZW5lcmF0ZWRTY3JpcHRzRGlyZWN0
b3J5LyQxIiBvciBvcGVuIFNDUklQVF9JTiwgIiRodG1sRGlyZWN0b3J5LyQxIiBvciBkaWUgIkNh
bid0IG9wZW4gJGh0bWxEaXJlY3RvcnkvJDE6ICQhIjsKKyAgICBwcmludCBTQ1JJUFRfT1VUICIv
KiAkMSAqL1xuXG4iOworICAgIHByaW50IFNDUklQVF9PVVQgPFNDUklQVF9JTj47CisgICAgY2xv
c2UgU0NSSVBUX0lOOworfQorCitjbG9zZSBTQ1JJUFRfT1VUOworCiskaGVhZENvbnRlbnRzID1+
IHMvPHNjcmlwdC4qc3JjPSJbXiJdKiJbXj5dKj48XC9zY3JpcHQ+XHMqLy9naTsKKyRoZWFkQ29u
dGVudHMgLj0gIjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiIHNyYz1cIiRzY3JpcHRO
YW1lXCI+PC9zY3JpcHQ+XG4iOworJGh0bWxDb250ZW50cyA9fiBzLzxoZWFkPi4qPFwvaGVhZD4v
PGhlYWQ+JGhlYWRDb250ZW50czxcL2hlYWQ+L3NpOworCitvcGVuIEhUTUwsICI+IiwgIiRvdXRw
dXREaXJlY3RvcnkvIiAuIGJhc2VuYW1lKCRodG1sRmlsZSkgb3IgZGllICJDYW4ndCBvcGVuICRv
dXRwdXREaXJlY3RvcnkvIiAuIGJhc2VuYW1lKCRodG1sRmlsZSkgLiAiOiAkISI7CitwcmludCBI
VE1MICRodG1sQ29udGVudHM7CitjbG9zZSBIVE1MOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2lubGluZS1qYXZhc2NyaXB0LWltcG9ydHMucHkgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvaW5saW5lLWphdmFzY3JpcHQtaW1wb3J0cy5weQpuZXcgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCAwMDAwMDAwLi41ZjFkOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2lubGluZS1qYXZhc2NyaXB0LWltcG9ydHMucHkKQEAgLTAsMCArMSw4
MSBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorIyBtZXQ6CisjCisjICAgICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisj
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyMKKworIyBUaGlzIHNjcmlwdCByZXBsYWNlcyBjYWxscyB0byBpbXBvcnRTY3JpcHRzIHdp
dGggc2NyaXB0IHNvdXJjZXMKKyMgaW4gaW5wdXQgc2NyaXB0IGZpbGUgYW5kIGR1bXBzIHJlc3Vs
dCBpbnRvIG91dHB1dCBzY3JpcHQgZmlsZS4KKworZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmlu
Z0lPCisKK2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKKworCitkZWYgbWFp
bihhcmd2KToKKworICAgIGlmIGxlbihhcmd2KSA8IDM6CisgICAgICAgIHByaW50KCd1c2FnZTog
JXMgaW5wdXRGaWxlIGltcG9ydHNEaXIgb3V0cHV0RmlsZScgJSBhcmd2WzBdKQorICAgICAgICBy
ZXR1cm4gMQorCisgICAgaW5wdXRGaWxlTmFtZSA9IGFyZ3ZbMV0KKyAgICBpbXBvcnRzRGlyID0g
YXJndlsyXQorICAgIG91dHB1dEZpbGVOYW1lID0gYXJndlszXQorCisgICAgaW5wdXRGaWxlID0g
b3BlbihpbnB1dEZpbGVOYW1lLCAncicpCisgICAgaW5wdXRTY3JpcHQgPSBpbnB1dEZpbGUucmVh
ZCgpCisgICAgaW5wdXRGaWxlLmNsb3NlKCkKKworICAgIGRlZiByZXBsYWNlKG1hdGNoKToKKyAg
ICAgICAgaW1wb3J0RmlsZU5hbWUgPSBtYXRjaC5ncm91cCgxKQorICAgICAgICBmdWxsUGF0aCA9
IG9zLnBhdGguam9pbihpbXBvcnRzRGlyLCBpbXBvcnRGaWxlTmFtZSkKKyAgICAgICAgaWYgbm90
IG9zLmFjY2VzcyhmdWxsUGF0aCwgb3MuRl9PSyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRp
b24oJ0ZpbGUgJXMgcmVmZXJlbmNlZCBpbiAlcyBub3QgZm91bmQgb24gYW55IHNvdXJjZSBwYXRo
cywgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGVjayBzb3VyY2UgdHJlZSBmb3Ig
Y29uc2lzdGVuY3knICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1wb3J0RmlsZU5h
bWUsIGlucHV0RmlsZU5hbWUpKQorICAgICAgICBpbXBvcnRGaWxlID0gb3BlbihmdWxsUGF0aCwg
J3InKQorICAgICAgICBpbXBvcnRTY3JpcHQgPSBpbXBvcnRGaWxlLnJlYWQoKQorICAgICAgICBp
bXBvcnRGaWxlLmNsb3NlKCkKKyAgICAgICAgcmV0dXJuIGltcG9ydFNjcmlwdAorCisgICAgb3V0
cHV0U2NyaXB0ID0gcmUuc3ViKHInaW1wb3J0U2NyaXB0c1woW1wnIl0oW15cJyJdKylbXCciXVwp
JywgcmVwbGFjZSwgaW5wdXRTY3JpcHQpCisKKyAgICBvdXRwdXRGaWxlID0gb3BlbihvdXRwdXRG
aWxlTmFtZSwgJ3cnKQorICAgIG91dHB1dEZpbGUud3JpdGUob3V0cHV0U2NyaXB0KQorICAgIG91
dHB1dEZpbGUuY2xvc2UoKQorCisgICAgIyBUb3VjaCBvdXRwdXQgZmlsZSBkaXJlY3RvcnkgdG8g
bWFrZSBzdXJlIHRoYXQgWGNvZGUgd2lsbCBjb3B5CisgICAgIyBtb2RpZmllZCByZXNvdXJjZSBm
aWxlcy4KKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2Rhcndpbic6CisgICAgICAgIG91dHB1dERp
ck5hbWUgPSBvcy5wYXRoLmRpcm5hbWUob3V0cHV0RmlsZU5hbWUpCisgICAgICAgIG9zLnV0aW1l
KG91dHB1dERpck5hbWUsIE5vbmUpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAg
c3lzLmV4aXQobWFpbihzeXMuYXJndikpCg==
</data>
<flag name="review"
          id="80883"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>