<?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>44349</bug_id>
          
          <creation_ts>2010-08-20 13:11:37 -0700</creation_ts>
          <short_desc>Add Callback implementation for FileSystem API</short_desc>
          <delta_ts>2010-08-20 17:18:30 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>44350</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dumi</cc>
    
    <cc>ericu</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jianli</cc>
    
    <cc>levin</cc>
    
    <cc>michaeln</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>267367</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-20 13:11:37 -0700</bug_when>
    <thetext>Add Callback implementation for FileSystem API.
Each callback class needs to be called back when an operation is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267376</commentid>
    <comment_count>1</comment_count>
      <attachid>64981</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-20 13:25:10 -0700</bug_when>
    <thetext>Created attachment 64981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267394</commentid>
    <comment_count>2</comment_count>
      <attachid>64989</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-20 13:51:32 -0700</bug_when>
    <thetext>Created attachment 64989
Patch

Rebased and fixed EntriesCallback behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267484</commentid>
    <comment_count>3</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-08-20 16:49:19 -0700</bug_when>
    <thetext>Committed r65763: &lt;http://trac.webkit.org/changeset/65763&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267492</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-20 17:18:30 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/65763 might have broken Chromium Win Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/65763
http://trac.webkit.org/changeset/65764
http://trac.webkit.org/changeset/65765</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64981</attachid>
            <date>2010-08-20 13:25:10 -0700</date>
            <delta_ts>2010-08-20 13:51:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44349-20100820132509.patch</filename>
            <type>text/plain</type>
            <size>21249</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNmZTZjMmMyYmI3NjZjZWQwZTMzZTliODA2NzcyNGM2MmFmOTk2OGYuLmM0NDc4
MDM3YmI1YTA3ZTAyYjczYzgyZTFhMDAwNDMyYjE1Y2JiODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTQ2MCw2ICsx
NDYwLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHN0b3JhZ2UvRW50cnkuY3BwCiAgICAg
c3RvcmFnZS9FbnRyeUFycmF5LmNwcAogICAgIHN0b3JhZ2UvRmlsZUVudHJ5LmNwcAorICAgIHN0
b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAKICAgICBzdG9yYWdlL0lEQkFueS5jcHAKICAg
ICBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAogICAgIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMjE4ZGQ3YTcyNGRjYzE3YzJmNDAxYWQ1NjU4ZTdkNmRmMTBiNmY1OS4uNmY5N2Nh
NWJhNDQyOWYwYmVmMWRmNDJmZjU5MzIwNzcwMTA5ZGQyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0w
OC0yMCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENhbGxiYWNrIGltcGxlbWVu
dGF0aW9uIGZvciBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDQzNDkKKworICAgICAgICBObyBuZXcgdGVzdHM7IHRlc3RzIHdp
bGwgYmUgYWRkZWQgbGF0ZXIuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHN0b3Jh
Z2UvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHA6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRmls
ZVN5c3RlbUNhbGxiYWNrcy5oOiBBZGRlZC4KKworICAgICAgICAqIHN0b3JhZ2UvRW50cnlDYWxs
YmFjay5oOiBOaXRzIGZpeAorICAgICAgICAqIHN0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrLmg6
IE5pdHMgZml4CisKIDIwMTAtMDgtMTkgIFZpbmNlbnQgU2NoZWliICA8c2NoZWliQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDIwYmFm
MGZlNzQwMzI0NjUzODU4NWI4OTg4MmRlNzZlMTY5MmE3NjkuLjYwOTI4YWNjZGNiMjc0MzA3NTMz
M2QyNjBlMWU2MTMyYzk2ZDFiNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
KysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzA0OCw2ICszMDQ4LDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKICAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRmlsZUVudHJ5LmNwcCBcCiAg
ICAgICAgV2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5oIFwKICAgICAgICBXZWJDb3JlL3N0b3Jh
Z2UvRmlsZVN5c3RlbUNhbGxiYWNrLmggXAorICAgICAgIFdlYkNvcmUvc3RvcmFnZS9GaWxlU3lz
dGVtQ2FsbGJhY2tzLmNwcCBcCisgICAgICAgV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0ZW1DYWxs
YmFja3MuaCBcCiAgICAgICAgV2ViQ29yZS9zdG9yYWdlL0ZsYWdzLmggXAogICAgICAgIFdlYkNv
cmUvc3RvcmFnZS9NZXRhZGF0YS5oIFwKICAgICAgICBXZWJDb3JlL3N0b3JhZ2UvTWV0YWRhdGFD
YWxsYmFjay5oCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDcxNzVmYjBmZGRmZGNiZGQ1NzI5ZTdjNDkwMjFhZjU0ZDBjMTRlNzcu
Ljk1NWU1NGRlODBiYWIwNTIyYWNiMGQ2OTQ0OGZjOGIyZmVmZDZmNzUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNTY2LDYg
KzM1NjYsOCBAQAogICAgICAgICAgICAgJ3N0b3JhZ2UvRmlsZUVudHJ5LmNwcCcsCiAgICAgICAg
ICAgICAnc3RvcmFnZS9GaWxlRW50cnkuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9GaWxlU3lz
dGVtQ2FsbGJhY2suaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2tz
LmNwcCcsCisgICAgICAgICAgICAnc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmgnLAogICAg
ICAgICAgICAgJ3N0b3JhZ2UvRmxhZ3MuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJBYm9y
dEV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJBYm9ydEV2ZW50LmgnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXgg
MzdkNGJkN2ZlNWQzNmU1MzUxYmJkYTk0YjhlMjE5ZjVlYmYzZGJmNy4uNzhmOTQ5YTg2NTBmOTYw
NGY5OGY3YWRmYjIyOGQ1Y2E5OWQ4NzliNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yNTc4LDYgKzI1NzgsNyBAQCBjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogICAgICAgICBzdG9yYWdlL0Vycm9y
Q2FsbGJhY2suaCBcCiAgICAgICAgIHN0b3JhZ2UvRmlsZUVudHJ5LmggXAogICAgICAgICBzdG9y
YWdlL0ZpbGVTeXN0ZW1DYWxsYmFjay5oIFwKKyAgICAgICAgc3RvcmFnZS9GaWxlU3lzdGVtQ2Fs
bGJhY2tzLmggXAogICAgICAgICBzdG9yYWdlL0ZsYWdzLmggXAogICAgICAgICBzdG9yYWdlL01l
dGFkYXRhLmggXAogICAgICAgICBzdG9yYWdlL01ldGFkYXRhQ2FsbGJhY2suaApAQCAtMjU4OCw3
ICsyNTg5LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKICAg
ICAgICAgc3RvcmFnZS9ET01GaWxlU3lzdGVtLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvRW50cnku
Y3BwIFwKICAgICAgICAgc3RvcmFnZS9FbnRyeUFycmF5LmNwcCBcCi0gICAgICAgIHN0b3JhZ2Uv
RmlsZUVudHJ5LmNwcAorICAgICAgICBzdG9yYWdlL0ZpbGVFbnRyeS5jcHAgXAorICAgICAgICBz
dG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCiB9CiAKIGNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9JQ09OREFUQUJBU0U9MSkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggMThkNDg1MTFkMzgyYmRlMzJhMDQ4MThjYzU1ODliZjBlZmRjNjgxOS4uNTVlNTA4ZWQ3
MTc3OTZjMmRmMjc2OTY2NzgyY2QzNjRmMTdiZWUzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC01MTE5Myw2ICs1MTE5MywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEZpbGVTeXN0ZW1DYWxs
YmFja3MuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3RvcmFnZVxGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEZsYWdzLmgiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAyNDM1YzYxNWYxMTlmODkwNmRlM2ExYjU3NjViNjA5MTBiOTQ3YzNlLi44YzVj
Y2ZkYmNlZmFiMDE5YzM5MDkyYmM1NjkxMzIyZmNiMGZhMTY1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQyOSw2ICsyNDI5LDggQEAKIAkJODlCNUVB
QTIxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QjVFQUEwMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5l
RW5kaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJODlCRUQ1RUIxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QkVENUU5MTFCRTExQ0UwMDQ0
ODQ5MiAvKiBCbG9iQnVpbGRlci5jcHAgKi87IH07CiAJCTg5QkVENUVDMTFCRTExQ0UwMDQ0ODQ5
MiAvKiBCbG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODlCRUQ1RUExMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmggKi87IH07
CisJCTg5QzBERDdBMTIxRjBDNjkwMDlFMTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QzBERDc4MTIx
RjBDNjkwMDlFMTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCAqLzsgfTsKKwkJODlDMERE
N0IxMjFGMEM2OTAwOUUxN0NBIC8qIEZpbGVTeXN0ZW1DYWxsYmFja3MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QzBERDc5MTIxRjBDNjkwMDlFMTdD
QSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi87IH07CiAJCTg5Q0QwMjkzMTFDODVCODcwMDcw
Qjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVy
LmNwcCAqLzsgfTsKIAkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5Q0QwMjky
MTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi87IH07CiAJCThBMTJFMzVEMTFG
QTMzMjgwMDI1ODM2QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBMTJFMzVDMTFGQTMzMjgwMDI1ODM2QSAvKiBE
b2N1bWVudExvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtODI5NSw2ICs4Mjk3LDggQEAKIAkJODlCNUVBQTAxMUU4MDAzRDAwRjIz
NjdFIC8qIExpbmVFbmRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGlu
ZUVuZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OUJFRDVFOTExQkUxMUNF
MDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
OUJFRDVFQTExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQmxvYkJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODlDMERENzgxMjFGMEM2OTAwOUUxN0NBIC8qIEZpbGVTeXN0ZW1DYWxsYmFja3MuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVN5c3RlbUNhbGxiYWNr
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5QzBERDc5MTIxRjBDNjkwMDlF
MTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZpbGVTeXN0ZW1DYWxsYmFja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODlDRDAyNzkxMUM4NTlBODAwNzBCNzkxIC8qIEJsb2JCdWlsZGVyLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBCbG9iQnVpbGRlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9i
QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Jsb2JCdWlsZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTU5NCw2ICsxMTU5OCw4IEBACiAJ
CQkJODk5QUJDMzMxMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5pZGwgKi8sCiAJCQkJODk3
QTJEMjExMUZGNThBNTAwODI3NDBDIC8qIEZpbGVTeXN0ZW1DYWxsYmFjay5oICovLAogCQkJCTg5
N0EyRDVGMTIwMDAxMjIwMDgyNzQwQyAvKiBGaWxlU3lzdGVtQ2FsbGJhY2suaWRsICovLAorCQkJ
CTg5QzBERDc4MTIxRjBDNjkwMDlFMTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCAqLywK
KwkJCQk4OUMwREQ3OTEyMUYwQzY5MDA5RTE3Q0EgLyogRmlsZVN5c3RlbUNhbGxiYWNrcy5oICov
LAogCQkJCTg5N0EyRDYwMTIwMDAxMjIwMDgyNzQwQyAvKiBGbGFncy5oICovLAogCQkJCTg5N0Ey
RDYxMTIwMDAxMjIwMDgyNzQwQyAvKiBGbGFncy5pZGwgKi8sCiAJCQkJQzU4NUE2OTgxMUQ0RkIz
RDAwNEMzRTRCIC8qIElEQkFueS5jcHAgKi8sCkBAIC0yMDMyOSw2ICsyMDMzNSw3IEBACiAJCQkJ
MkVERUYxRjgxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JTdG9yYWdlRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkVGMUJGRUIxMjFDOUY0MjAwQzI3NjI3IC8qIEZpbGVTdHJlYW0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ2QTI2OTA2MTIxQjZCNDMwMEM0MUYzQSAvKiBGaWxlV3JpdGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OUMwREQ3QjEyMUYwQzY5MDA5RTE3Q0EgLyogRmlsZVN5c3RlbUNh
bGxiYWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMjc4MCw2ICsyMjc4Nyw3IEBACiAJCQkJMkVE
RUYxRjYxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3RyeUltcGwuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkVGMUJGRUExMjFDOUY0MjAwQzI3NjI3IC8qIEZpbGVTdHJlYW0uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDZBMjY5MDUxMjFCNkI0MzAwQzQxRjNBIC8qIEZpbGVXcml0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJODlDMEREN0ExMjFGMEM2OTAwOUUxN0NBIC8qIEZpbGVTeXN0
ZW1DYWxsYmFja3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvRW50cnlDYWxsYmFjay5oIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJ5Q2FsbGJhY2suaAppbmRl
eCAxMjFiZjA3NjU4NTEwNmJjN2Q4YzAyZmVkNWZjOWEzMmIwMWU4NDJkLi45NTgwZWRhODhjYmNi
MGIxNzc4MjRiYTVlNGIyYjFiZDJhMDI3NDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
RW50cnlDYWxsYmFjay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9FbnRyeUNhbGxiYWNrLmgKQEAg
LTM4LDcgKzM4LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRW50cnk7Ci1jbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBFbnRyeUNhbGxiYWNrIDogcHVibGlj
IFJlZkNvdW50ZWQ8RW50cnlDYWxsYmFjaz4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFjay5oIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0
ZW1DYWxsYmFjay5oCmluZGV4IDE5ZjQ0ZGY2MGFkOTVkNTljZTgwZDFiY2Q1NzNkMGU4NWYwMGYw
NmEuLjYzZjg0MTZkMzZkNjk3YjJkYjI1ZWM0MDhiMDY3YTcxNTZmNTM4OWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2suaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvRmlsZVN5c3RlbUNhbGxiYWNrLmgKQEAgLTM4LDcgKzM4LDYgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRE9NRmlsZVN5c3RlbTsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEZpbGVT
eXN0ZW1DYWxsYmFjaz4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0Zp
bGVTeXN0ZW1DYWxsYmFja3MuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFj
a3MuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM3YTVlNjYyNWY1ODhkOTA3NDJjMDVhMWM2NmFkZTI4ZjBkOTM2
ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNr
cy5jcHAKQEAgLTAsMCArMSwxOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmls
ZVN5c3RlbUNhbGxiYWNrcy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVk
ZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVk
ZSAiRW50cmllc0NhbGxiYWNrLmgiCisjaW5jbHVkZSAiRW50cnlBcnJheS5oIgorI2luY2x1ZGUg
IkVudHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVF
cnJvci5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1DYWxsYmFjay5oIgorI2luY2x1ZGUgIk1ldGFk
YXRhLmgiCisjaW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6RmlsZVN5c3RlbUNhbGxiYWNr
c0Jhc2UoUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQorICAgIDogbV9l
cnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spCit7Cit9CisKK0ZpbGVTeXN0ZW1DYWxsYmFja3NC
YXNlOjp+RmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2UoKQoreworfQorCit2b2lkIEZpbGVTeXN0ZW1D
YWxsYmFja3NCYXNlOjpkaWRTdWNjZWVkKCkKK3sKKyAgICAvLyBFYWNoIHN1YmNsYXNzIG11c3Qg
aW1wbGVtZW50IGFuIGFwcHJvcHJpYXRlIG9uZS4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKwordm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkT3BlbkZpbGVTeXN0ZW0oY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKK3sKKyAgICAvLyBFYWNoIHN1YmNsYXNzIG11c3Qg
aW1wbGVtZW50IGFuIGFwcHJvcHJpYXRlIG9uZS4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKwordm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkUmVhZE1ldGFkYXRhKGRvdWJs
ZSkKK3sKKyAgICAvLyBFYWNoIHN1YmNsYXNzIG11c3QgaW1wbGVtZW50IGFuIGFwcHJvcHJpYXRl
IG9uZS4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBGaWxlU3lzdGVtQ2Fs
bGJhY2tzQmFzZTo6ZGlkUmVhZERpcmVjdG9yeUNodW5rRG9uZShib29sKQoreworICAgIC8vIEVh
Y2ggc3ViY2xhc3MgbXVzdCBpbXBsZW1lbnQgYW4gYXBwcm9wcmlhdGUgb25lLgorICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlOjpkaWRS
ZWFkRGlyZWN0b3J5RW50cnkoY29uc3QgU3RyaW5nJiwgYm9vbCkKK3sKKyAgICAvLyBFYWNoIHN1
YmNsYXNzIG11c3QgaW1wbGVtZW50IGFuIGFwcHJvcHJpYXRlIG9uZS4KKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKK30KKwordm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkRmFpbChF
eGNlcHRpb25Db2RlIGNvZGUpCit7CisgICAgaWYgKG1fZXJyb3JDYWxsYmFjaykgeworICAgICAg
ICBtX2Vycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEZpbGVFcnJvcjo6Y3JlYXRlKGNvZGUpLmdl
dCgpKTsKKyAgICAgICAgbV9lcnJvckNhbGxiYWNrLmNsZWFyKCk7CisgICAgfQorfQorCisvLyBF
bnRyeUNhbGxiYWNrcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisKK0VudHJ5Q2FsbGJhY2tzOjpFbnRyeUNhbGxiYWNrcyhQYXNz
UmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrLCBET01GaWxlU3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBT
dHJpbmcmIGV4cGVjdGVkUGF0aCwgYm9vbCBpc0RpcmVjdG9yeSkKKyAgICA6IEZpbGVTeXN0ZW1D
YWxsYmFja3NCYXNlKGVycm9yQ2FsbGJhY2spCisgICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhzdWNj
ZXNzQ2FsbGJhY2spCisgICAgLCBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAsIG1fZXhw
ZWN0ZWRQYXRoKGV4cGVjdGVkUGF0aCkKKyAgICAsIG1faXNEaXJlY3RvcnkoaXNEaXJlY3Rvcnkp
Cit7Cit9CisKK3ZvaWQgRW50cnlDYWxsYmFja3M6OmRpZFN1Y2NlZWQoKQoreworICAgIGlmICht
X3N1Y2Nlc3NDYWxsYmFjaykgeworICAgICAgICBpZiAobV9pc0RpcmVjdG9yeSkKKyAgICAgICAg
ICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChEaXJlY3RvcnlFbnRyeTo6Y3JlYXRl
KG1fZmlsZVN5c3RlbSwgbV9leHBlY3RlZFBhdGgpLmdldCgpKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEZpbGVFbnRyeTo6Y3JlYXRl
KG1fZmlsZVN5c3RlbSwgbV9leHBlY3RlZFBhdGgpLmdldCgpKTsKKyAgICB9CisgICAgbV9zdWNj
ZXNzQ2FsbGJhY2suY2xlYXIoKTsKK30KKworLy8gRW50cmllc0NhbGxiYWNrcyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitFbnRy
aWVzQ2FsbGJhY2tzOjpFbnRyaWVzQ2FsbGJhY2tzKFBhc3NSZWZQdHI8RW50cmllc0NhbGxiYWNr
PiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFj
aywgRE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBiYXNlUGF0aCkKKyAg
ICA6IEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlKGVycm9yQ2FsbGJhY2spCisgICAgLCBtX3N1Y2Nl
c3NDYWxsYmFjayhzdWNjZXNzQ2FsbGJhY2spCisgICAgLCBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3Rl
bSkKKyAgICAsIG1fYmFzZVBhdGgoYmFzZVBhdGgpCit7Cit9CisKK3ZvaWQgRW50cmllc0NhbGxi
YWNrczo6ZGlkUmVhZERpcmVjdG9yeUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBpc0Rp
cmVjdG9yeSkKK3sKKyAgICBpZiAoaXNEaXJlY3RvcnkpCisgICAgICAgIG1fZW50cmllcy0+YXBw
ZW5kKERpcmVjdG9yeUVudHJ5OjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Jhc2VQYXRoICsgIi8i
ICsgbmFtZSkpOworICAgIGVsc2UKKyAgICAgICAgbV9lbnRyaWVzLT5hcHBlbmQoRmlsZUVudHJ5
OjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Jhc2VQYXRoICsgIi8iICsgbmFtZSkpOworfQorCit2
b2lkIEVudHJpZXNDYWxsYmFja3M6OmRpZFJlYWREaXJlY3RvcnlDaHVua0RvbmUoYm9vbCBoYXNN
b3JlKQoreworICAgIGlmIChtX3N1Y2Nlc3NDYWxsYmFjaykgeworICAgICAgICBtX3N1Y2Nlc3ND
YWxsYmFjay0+aGFuZGxlRXZlbnQobV9lbnRyaWVzLmdldCgpKTsKKyAgICAgICAgbV9lbnRyaWVz
LT5jbGVhcigpOworICAgIH0KKyAgICBpZiAoIWhhc01vcmUpCisgICAgICAgIG1fc3VjY2Vzc0Nh
bGxiYWNrLmNsZWFyKCk7Cit9CisKKy8vIEZpbGVTeXN0ZW1DYWxsYmFja3MgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRmlsZVN5c3Rl
bUNhbGxiYWNrczo6RmlsZVN5c3RlbUNhbGxiYWNrcyhQYXNzUmVmUHRyPEZpbGVTeXN0ZW1DYWxs
YmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2Fs
bGJhY2spCisgICAgOiBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZShlcnJvckNhbGxiYWNrKQorICAg
ICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKQoreworfQorCit2b2lkIEZpbGVT
eXN0ZW1DYWxsYmFja3M6OmRpZE9wZW5GaWxlU3lzdGVtKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiByb290UGF0aCkKK3sKKyAgICBpZiAobV9zdWNjZXNzQ2FsbGJhY2spCisgICAg
ICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChET01GaWxlU3lzdGVtOjpjcmVhdGUo
bmFtZSwgcm9vdFBhdGgpLmdldCgpKTsKKyAgICBtX3N1Y2Nlc3NDYWxsYmFjay5jbGVhcigpOwor
fQorCisvLyBNZXRhZGF0YUNhbGxiYWNrcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK01ldGFkYXRhQ2FsbGJhY2tzOjpNZXRhZGF0
YUNhbGxiYWNrcyhQYXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQorICAgIDogRmlsZVN5c3Rl
bUNhbGxiYWNrc0Jhc2UoZXJyb3JDYWxsYmFjaykKKyAgICAsIG1fc3VjY2Vzc0NhbGxiYWNrKHN1
Y2Nlc3NDYWxsYmFjaykKK3sKK30KKwordm9pZCBNZXRhZGF0YUNhbGxiYWNrczo6ZGlkUmVhZE1l
dGFkYXRhKGRvdWJsZSBtb2RpZmljYXRpb25UaW1lKQoreworICAgIGlmIChtX3N1Y2Nlc3NDYWxs
YmFjaykKKyAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KE1ldGFkYXRhOjpj
cmVhdGUobW9kaWZpY2F0aW9uVGltZSkuZ2V0KCkpOworICAgIG1fc3VjY2Vzc0NhbGxiYWNrLmNs
ZWFyKCk7Cit9CisKKy8vIFZvaWRDYWxsYmFja3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVm9pZENhbGxiYWNrczo6Vm9p
ZENhbGxiYWNrcyhQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNz
UmVmUHRyPEVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCisgICAgOiBGaWxlU3lzdGVtQ2Fs
bGJhY2tzQmFzZShlcnJvckNhbGxiYWNrKQorICAgICwgbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vz
c0NhbGxiYWNrKQoreworfQorCit2b2lkIFZvaWRDYWxsYmFja3M6OmRpZFN1Y2NlZWQoKQorewor
ICAgIGlmIChtX3N1Y2Nlc3NDYWxsYmFjaykKKyAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhh
bmRsZUV2ZW50KCk7CisgICAgbV9zdWNjZXNzQ2FsbGJhY2suY2xlYXIoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3N0b3JhZ2UvRmls
ZVN5c3RlbUNhbGxiYWNrcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwZTc4ZDM3MGMyMWUzMzdiMjQ4ZDM4YWM4
OTZkMWE3ZTBlY2IxMzAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRmlsZVN5
c3RlbUNhbGxiYWNrcy5oCkBAIC0wLDAgKzEsMTM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGaWxlU3lzdGVtQ2FsbGJh
Y2tzX2gKKyNkZWZpbmUgRmlsZVN5c3RlbUNhbGxiYWNrc19oCisKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIERPTUZpbGVTeXN0ZW07CitjbGFzcyBFcnJvckNhbGxiYWNrOworY2xhc3MgRW50
cmllc0NhbGxiYWNrOworY2xhc3MgRW50cnlBcnJheTsKK2NsYXNzIEVudHJ5Q2FsbGJhY2s7Citj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CitjbGFzcyBNZXRhZGF0YUNhbGxiYWNrOworY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFZvaWRDYWxsYmFjazsKKwordHlwZWRlZiBp
bnQgRXhjZXB0aW9uQ29kZTsKKworLy8gQSBiYXNlIGNsYXNzIGZvciBGaWxlU3lzdGVtIGNhbGxi
YWNrcyB0aGF0IGJ1bmRsZXMgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrIGFuZCBzb21l
IGNsb3N1cmUgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcy4KK2NsYXNzIEZpbGVTeXN0ZW1DYWxsYmFj
a3NCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5GaWxl
U3lzdGVtQ2FsbGJhY2tzQmFzZSgpOworCisgICAgLy8gRm9yIEVudHJ5Q2FsbGJhY2tzIGFuZCBW
b2lkQ2FsbGJhY2tzLgorICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCk7CisKKyAgICAvLyBG
b3IgRmlsZVN5c3RlbUNhbGxiYWNrcy4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkT3BlbkZpbGVTeXN0
ZW0oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHJvb3RQYXRoKTsKKworICAgIC8v
IEZvciBNZXRhZGF0YUNhbGxiYWNrcy4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVhZE1ldGFkYXRh
KGRvdWJsZSBtb2RpZmljYXRpb25UaW1lKTsKKworICAgIC8vIEZvciBFbnRyaWVzQ2FsbGJhY2tz
LiBkaWRSZWFkRGlyZWN0b3J5RW50cnkgaXMgY2FsbGVkIGVhY2ggdGltZSB0aGUgQVBJIHJlYWRz
IGFuIGVudHJ5LCBhbmQgZGlkUmVhZERpcmVjdG9yeURvbmUgaXMgY2FsbGVkIHdoZW4gYSBjaHVu
ayBvZiBlbnRyaWVzIGhhdmUgYmVlbiByZWFkIChpLmUuIGdvb2QgdGltZSB0byBjYWxsIGJhY2sg
dG8gdGhlIGFwcGxpY2F0aW9uKS4gIElmIGhhc01vcmUgaXMgdHJ1ZSB0aGVyZSBjYW4gYmUgbW9y
ZSBjaHVua3MuCisgICAgdmlydHVhbCB2b2lkIGRpZFJlYWREaXJlY3RvcnlFbnRyeShjb25zdCBT
dHJpbmcmIG5hbWUsIGJvb2wgaXNEaXJlY3RvcnkpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWFk
RGlyZWN0b3J5Q2h1bmtEb25lKGJvb2wgaGFzTW9yZSk7CisKKyAgICAvLyBGb3IgRXJyb3JDYWxs
YmFjay4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChFeGNlcHRpb25Db2RlIGNvZGUpOworCitw
cm90ZWN0ZWQ6CisgICAgRmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2UoUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrKTsKKyAgICBSZWZQdHI8RXJyb3JDYWxsYmFjaz4gbV9lcnJv
ckNhbGxiYWNrOworfTsKKworLy8gU3ViY2xhc3NlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2NsYXNzIEVudHJ5Q2Fs
bGJhY2tzIDogcHVibGljIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlIHsKK3B1YmxpYzoKKyAgICBF
bnRyeUNhbGxiYWNrcyhQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9y
Q2FsbGJhY2s+LCBET01GaWxlU3lzdGVtKiwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFBhdGgsIGJv
b2wgaXNEaXJlY3RvcnkpOworICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCk7CisKK3ByaXZh
dGU6CisgICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNrOworICAgIERP
TUZpbGVTeXN0ZW0qIG1fZmlsZVN5c3RlbTsKKyAgICBTdHJpbmcgbV9leHBlY3RlZFBhdGg7Cisg
ICAgYm9vbCBtX2lzRGlyZWN0b3J5OworfTsKKworY2xhc3MgRW50cmllc0NhbGxiYWNrcyA6IHB1
YmxpYyBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZSB7CitwdWJsaWM6CisgICAgRW50cmllc0NhbGxi
YWNrcyhQYXNzUmVmUHRyPEVudHJpZXNDYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4sIERPTUZpbGVTeXN0ZW0qLCBjb25zdCBTdHJpbmcmIGJhc2VQYXRoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVhZERpcmVjdG9yeUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBpc0Rp
cmVjdG9yeSk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlYWREaXJlY3RvcnlDaHVua0RvbmUoYm9v
bCBoYXNNb3JlKTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8RW50cmllc0NhbGxiYWNrPiBtX3N1
Y2Nlc3NDYWxsYmFjazsKKyAgICBET01GaWxlU3lzdGVtKiBtX2ZpbGVTeXN0ZW07CisgICAgU3Ry
aW5nIG1fYmFzZVBhdGg7CisgICAgUmVmUHRyPEVudHJ5QXJyYXk+IG1fZW50cmllczsKK307CisK
K2NsYXNzIEZpbGVTeXN0ZW1DYWxsYmFja3MgOiBwdWJsaWMgRmlsZVN5c3RlbUNhbGxiYWNrc0Jh
c2UgeworcHVibGljOgorICAgIEZpbGVTeXN0ZW1DYWxsYmFja3MoUGFzc1JlZlB0cjxGaWxlU3lz
dGVtQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkT3BlbkZpbGVTeXN0ZW0oY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHJv
b3RQYXRoKTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8RmlsZVN5c3RlbUNhbGxiYWNrPiBtX3N1
Y2Nlc3NDYWxsYmFjazsKK307CisKK2NsYXNzIE1ldGFkYXRhQ2FsbGJhY2tzIDogcHVibGljIEZp
bGVTeXN0ZW1DYWxsYmFja3NCYXNlIHsKK3B1YmxpYzoKKyAgICBNZXRhZGF0YUNhbGxiYWNrcyhQ
YXNzUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+KTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVhZE1ldGFkYXRhKGRvdWJsZSBtb2RpZmljYXRpb25UaW1l
KTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8TWV0YWRhdGFDYWxsYmFjaz4gbV9zdWNjZXNzQ2Fs
bGJhY2s7Cit9OworCitjbGFzcyBWb2lkQ2FsbGJhY2tzIDogcHVibGljIEZpbGVTeXN0ZW1DYWxs
YmFja3NCYXNlIHsKK3B1YmxpYzoKKyAgICBWb2lkQ2FsbGJhY2tzKFBhc3NSZWZQdHI8Vm9pZENh
bGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7CisgICAgdmlydHVhbCB2b2lkIGRp
ZFN1Y2NlZWQoKTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBtX3N1Y2Nl
c3NDYWxsYmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCisKKyNlbmRpZiAvLyBGaWxlU3lzdGVtQ2FsbGJhY2tzX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64989</attachid>
            <date>2010-08-20 13:51:32 -0700</date>
            <delta_ts>2010-08-20 14:35:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44349-20100820135131.patch</filename>
            <type>text/plain</type>
            <size>21418</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDNmZTZjMmMyYmI3NjZjZWQwZTMzZTliODA2NzcyNGM2MmFmOTk2OGYuLmM0NDc4
MDM3YmI1YTA3ZTAyYjczYzgyZTFhMDAwNDMyYjE1Y2JiODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTQ2MCw2ICsx
NDYwLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHN0b3JhZ2UvRW50cnkuY3BwCiAgICAg
c3RvcmFnZS9FbnRyeUFycmF5LmNwcAogICAgIHN0b3JhZ2UvRmlsZUVudHJ5LmNwcAorICAgIHN0
b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHAKICAgICBzdG9yYWdlL0lEQkFueS5jcHAKICAg
ICBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAogICAgIHN0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5k
SW1wbC5jcHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZWMxNGMxYTYyMTQ5ZWY0NmE3YjAxMGZiNDljODZlM2Q1NDY5NWZiZi4uNzI4MmZi
YWQ4NDJiNDY0ZjRlODMxNmNiOWI0NmYxNzc2ZDIzZDU3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0w
OC0yMCAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENhbGxiYWNrIGltcGxlbWVu
dGF0aW9uIGZvciBGaWxlU3lzdGVtIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDQzNDkKKworICAgICAgICBObyBuZXcgdGVzdHM7IHRlc3RzIHdp
bGwgYmUgYWRkZWQgbGF0ZXIuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHN0b3Jh
Z2UvRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHA6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvRmls
ZVN5c3RlbUNhbGxiYWNrcy5oOiBBZGRlZC4KKworICAgICAgICAqIHN0b3JhZ2UvRW50cnlDYWxs
YmFjay5oOiBOaXRzIGZpeAorICAgICAgICAqIHN0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrLmg6
IE5pdHMgZml4CisKIDIwMTAtMDgtMTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDVhY2VmYzE3YjM2
ZjlkMWUzYTQxYThlNDEyZmU3ZjhkOGUxMzIyMmMuLmZkNTBmMTk0OTNjOTk0MmNiMTRjZGFhZDk4
YTUxYmUyODNhZmMxZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzA0OSw2ICszMDQ5LDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKICAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRmlsZUVudHJ5LmNwcCBcCiAgICAgICAg
V2ViQ29yZS9zdG9yYWdlL0ZpbGVFbnRyeS5oIFwKICAgICAgICBXZWJDb3JlL3N0b3JhZ2UvRmls
ZVN5c3RlbUNhbGxiYWNrLmggXAorICAgICAgIFdlYkNvcmUvc3RvcmFnZS9GaWxlU3lzdGVtQ2Fs
bGJhY2tzLmNwcCBcCisgICAgICAgV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFja3Mu
aCBcCiAgICAgICAgV2ViQ29yZS9zdG9yYWdlL0ZsYWdzLmggXAogICAgICAgIFdlYkNvcmUvc3Rv
cmFnZS9NZXRhZGF0YS5oIFwKICAgICAgICBXZWJDb3JlL3N0b3JhZ2UvTWV0YWRhdGFDYWxsYmFj
ay5oCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDRmMDE4Nzc1ODcxZDkzYTZiZjY4MjRhMWUwYzBlMDNiMDNjZjc2MTcuLmU3MzA0
ZTM5NTAyOGMxMjBiMGE2NTI4YjMxMGQ5ZjBmYmQ0NzU5ZDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNTY3LDYgKzM1Njcs
OCBAQAogICAgICAgICAgICAgJ3N0b3JhZ2UvRmlsZUVudHJ5LmNwcCcsCiAgICAgICAgICAgICAn
c3RvcmFnZS9GaWxlRW50cnkuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9GaWxlU3lzdGVtQ2Fs
bGJhY2suaCcsCisgICAgICAgICAgICAnc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCcs
CisgICAgICAgICAgICAnc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2tzLmgnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvRmxhZ3MuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJBYm9ydEV2ZW50
LmNwcCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9JREJBYm9ydEV2ZW50LmgnLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggYTBlMzU1
NmEwZTQ5NTg0YTg2YWY5ZTlhMjYwNDMzYmQ2YTc3NzkyMC4uMjMzMzNlMjNkMjgwMmViYWZiMWY3
NWMxOTIwNzM5YWZhYTg5MWQwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysg
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0yNTc5LDYgKzI1NzksNyBAQCBjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfRklMRV9TWVNURU09MSkgewogICAgICAgICBzdG9yYWdlL0Vycm9yQ2FsbGJh
Y2suaCBcCiAgICAgICAgIHN0b3JhZ2UvRmlsZUVudHJ5LmggXAogICAgICAgICBzdG9yYWdlL0Zp
bGVTeXN0ZW1DYWxsYmFjay5oIFwKKyAgICAgICAgc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2tz
LmggXAogICAgICAgICBzdG9yYWdlL0ZsYWdzLmggXAogICAgICAgICBzdG9yYWdlL01ldGFkYXRh
LmggXAogICAgICAgICBzdG9yYWdlL01ldGFkYXRhQ2FsbGJhY2suaApAQCAtMjU4OSw3ICsyNTkw
LDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKICAgICAgICAg
c3RvcmFnZS9ET01GaWxlU3lzdGVtLmNwcCBcCiAgICAgICAgIHN0b3JhZ2UvRW50cnkuY3BwIFwK
ICAgICAgICAgc3RvcmFnZS9FbnRyeUFycmF5LmNwcCBcCi0gICAgICAgIHN0b3JhZ2UvRmlsZUVu
dHJ5LmNwcAorICAgICAgICBzdG9yYWdlL0ZpbGVFbnRyeS5jcHAgXAorICAgICAgICBzdG9yYWdl
L0ZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwCiB9CiAKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9J
Q09OREFUQUJBU0U9MSkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
NzE5NzkzZTU3NDJlMDZlODNkMDc3ZTUyM2Q4Njk3YjU2YjEwY2VhMS4uN2QxNzVjMzA0NjE1YmZk
NjgyZTA3MTcwN2E0NjlmNzBmYTRjNzZlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC01MTE5Nyw2ICs1MTE5NywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEZpbGVTeXN0ZW1DYWxsYmFja3Mu
Y3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cc3RvcmFnZVxGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQor
CQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXEZsYWdzLmgiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAzYzlkZWJjNjc2NTc2MzljZjIyNjI2ZTM0YzYyZWU0ODc3ZWU0Nzc5Li5hYmU3OTNmYzk3
NWFjNTM4NDdkNzBiNmFkYTY4MjJkYTNlMjM5NmM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQzMCw2ICsyNDMwLDggQEAKIAkJODlCNUVBQTIxMUU4
MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg5QjVFQUEwMTFFODAwM0QwMEYyMzY3RSAvKiBMaW5lRW5kaW5n
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODlC
RUQ1RUIxMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QkVENUU5MTFCRTExQ0UwMDQ0ODQ5MiAv
KiBCbG9iQnVpbGRlci5jcHAgKi87IH07CiAJCTg5QkVENUVDMTFCRTExQ0UwMDQ0ODQ5MiAvKiBC
bG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODlCRUQ1RUExMUJFMTFDRTAwNDQ4NDkyIC8qIEJsb2JCdWlsZGVyLmggKi87IH07CisJCTg5
QzBERDdBMTIxRjBDNjkwMDlFMTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QzBERDc4MTIxRjBDNjkw
MDlFMTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCAqLzsgfTsKKwkJODlDMEREN0IxMjFG
MEM2OTAwOUUxN0NBIC8qIEZpbGVTeXN0ZW1DYWxsYmFja3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5QzBERDc5MTIxRjBDNjkwMDlFMTdDQSAvKiBG
aWxlU3lzdGVtQ2FsbGJhY2tzLmggKi87IH07CiAJCTg5Q0QwMjkzMTFDODVCODcwMDcwQjc5MSAv
KiBKU0Jsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAq
LzsgfTsKIAkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5Q0QwMjkyMTFDODVC
ODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi87IH07CiAJCThBMTJFMzVEMTFGQTMzMjgw
MDI1ODM2QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBMTJFMzVDMTFGQTMzMjgwMDI1ODM2QSAvKiBEb2N1bWVu
dExvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtODI5Nyw2ICs4Mjk5LDggQEAKIAkJODlCNUVBQTAxMUU4MDAzRDAwRjIzNjdFIC8q
IExpbmVFbmRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGluZUVuZGlu
Zy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OUJFRDVFOTExQkUxMUNFMDA0NDg0
OTIgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OUJFRDVF
QTExQkUxMUNFMDA0NDg0OTIgLyogQmxvYkJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQmxvYkJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODlDMERENzgxMjFGMEM2OTAwOUUxN0NBIC8qIEZpbGVTeXN0ZW1DYWxsYmFja3MuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVN5c3RlbUNhbGxiYWNrcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5QzBERDc5MTIxRjBDNjkwMDlFMTdDQSAv
KiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZpbGVTeXN0ZW1DYWxsYmFja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODlD
RDAyNzkxMUM4NTlBODAwNzBCNzkxIC8qIEJsb2JCdWlsZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBCbG9iQnVpbGRlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5
Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Jsb2JCdWlsZGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTU5Niw2ICsxMTYwMCw4IEBACiAJCQkJODk5
QUJDMzMxMjE1RTRCRTAwRjlGMjE5IC8qIEZpbGVFbnRyeS5pZGwgKi8sCiAJCQkJODk3QTJEMjEx
MUZGNThBNTAwODI3NDBDIC8qIEZpbGVTeXN0ZW1DYWxsYmFjay5oICovLAogCQkJCTg5N0EyRDVG
MTIwMDAxMjIwMDgyNzQwQyAvKiBGaWxlU3lzdGVtQ2FsbGJhY2suaWRsICovLAorCQkJCTg5QzBE
RDc4MTIxRjBDNjkwMDlFMTdDQSAvKiBGaWxlU3lzdGVtQ2FsbGJhY2tzLmNwcCAqLywKKwkJCQk4
OUMwREQ3OTEyMUYwQzY5MDA5RTE3Q0EgLyogRmlsZVN5c3RlbUNhbGxiYWNrcy5oICovLAogCQkJ
CTg5N0EyRDYwMTIwMDAxMjIwMDgyNzQwQyAvKiBGbGFncy5oICovLAogCQkJCTg5N0EyRDYxMTIw
MDAxMjIwMDgyNzQwQyAvKiBGbGFncy5pZGwgKi8sCiAJCQkJQzU4NUE2OTgxMUQ0RkIzRDAwNEMz
RTRCIC8qIElEQkFueS5jcHAgKi8sCkBAIC0yMDMzMyw2ICsyMDMzOSw3IEBACiAJCQkJNDZBMjY5
MDYxMjFCNkI0MzAwQzQxRjNBIC8qIEZpbGVXcml0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJF
RjFCRkY3MTIxQ0IwQkQwMEMyNzYyNyAvKiBBc3luY0ZpbGVTdHJlYW0uaCBpbiBIZWFkZXJzICov
LAogCQkJCTJFRjFCRkY5MTIxQ0IwQ0UwMEMyNzYyNyAvKiBGaWxlU3RyZWFtQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKKwkJCQk4OUMwREQ3QjEyMUYwQzY5MDA5RTE3Q0EgLyogRmlsZVN5c3RlbUNh
bGxiYWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMjc4NCw2ICsyMjc5MSw3IEBACiAJCQkJMkVE
RUYxRjYxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3RyeUltcGwuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkVGMUJGRUExMjFDOUY0MjAwQzI3NjI3IC8qIEZpbGVTdHJlYW0uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDZBMjY5MDUxMjFCNkI0MzAwQzQxRjNBIC8qIEZpbGVXcml0ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJODlDMEREN0ExMjFGMEM2OTAwOUUxN0NBIC8qIEZpbGVTeXN0
ZW1DYWxsYmFja3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvRW50cnlDYWxsYmFjay5oIGIvV2ViQ29yZS9zdG9yYWdlL0VudHJ5Q2FsbGJhY2suaAppbmRl
eCAxMjFiZjA3NjU4NTEwNmJjN2Q4YzAyZmVkNWZjOWEzMmIwMWU4NDJkLi45NTgwZWRhODhjYmNi
MGIxNzc4MjRiYTVlNGIyYjFiZDJhMDI3NDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
RW50cnlDYWxsYmFjay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9FbnRyeUNhbGxiYWNrLmgKQEAg
LTM4LDcgKzM4LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRW50cnk7Ci1jbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBFbnRyeUNhbGxiYWNrIDogcHVibGlj
IFJlZkNvdW50ZWQ8RW50cnlDYWxsYmFjaz4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFjay5oIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0
ZW1DYWxsYmFjay5oCmluZGV4IDE5ZjQ0ZGY2MGFkOTVkNTljZTgwZDFiY2Q1NzNkMGU4NWYwMGYw
NmEuLjYzZjg0MTZkMzZkNjk3YjJkYjI1ZWM0MDhiMDY3YTcxNTZmNTM4OWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9GaWxlU3lzdGVtQ2FsbGJhY2suaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvRmlsZVN5c3RlbUNhbGxiYWNrLmgKQEAgLTM4LDcgKzM4LDYgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRE9NRmlsZVN5c3RlbTsKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPEZpbGVT
eXN0ZW1DYWxsYmFjaz4gewogcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0Zp
bGVTeXN0ZW1DYWxsYmFja3MuY3BwIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0ZW1DYWxsYmFj
a3MuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVjMzUyZGQ3ZDZlOTJjN2M4N2EzODA0YjNjZDM4Y2MzZGRhMWU4
MTgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNr
cy5jcHAKQEAgLTAsMCArMSwyMDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmls
ZVN5c3RlbUNhbGxiYWNrcy5oIgorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVk
ZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVk
ZSAiRW50cmllc0NhbGxiYWNrLmgiCisjaW5jbHVkZSAiRW50cnlBcnJheS5oIgorI2luY2x1ZGUg
IkVudHJ5Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVF
cnJvci5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1DYWxsYmFjay5oIgorI2luY2x1ZGUgIk1ldGFk
YXRhLmgiCisjaW5jbHVkZSAiTWV0YWRhdGFDYWxsYmFjay5oIgorI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6RmlsZVN5c3RlbUNhbGxiYWNr
c0Jhc2UoUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQorICAgIDogbV9l
cnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spCit7Cit9CisKK0ZpbGVTeXN0ZW1DYWxsYmFja3NC
YXNlOjp+RmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2UoKQoreworfQorCit2b2lkIEZpbGVTeXN0ZW1D
YWxsYmFja3NCYXNlOjpkaWRTdWNjZWVkKCkKK3sKKyAgICAvLyBFYWNoIHN1YmNsYXNzIG11c3Qg
aW1wbGVtZW50IGFuIGFwcHJvcHJpYXRlIG9uZS4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKwordm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkT3BlbkZpbGVTeXN0ZW0oY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKK3sKKyAgICAvLyBFYWNoIHN1YmNsYXNzIG11c3Qg
aW1wbGVtZW50IGFuIGFwcHJvcHJpYXRlIG9uZS4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKwordm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkUmVhZE1ldGFkYXRhKGRvdWJs
ZSkKK3sKKyAgICAvLyBFYWNoIHN1YmNsYXNzIG11c3QgaW1wbGVtZW50IGFuIGFwcHJvcHJpYXRl
IG9uZS4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBGaWxlU3lzdGVtQ2Fs
bGJhY2tzQmFzZTo6ZGlkUmVhZERpcmVjdG9yeUNodW5rRG9uZShib29sKQoreworICAgIC8vIEVh
Y2ggc3ViY2xhc3MgbXVzdCBpbXBsZW1lbnQgYW4gYXBwcm9wcmlhdGUgb25lLgorICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlOjpkaWRS
ZWFkRGlyZWN0b3J5RW50cnkoY29uc3QgU3RyaW5nJiwgYm9vbCkKK3sKKyAgICAvLyBFYWNoIHN1
YmNsYXNzIG11c3QgaW1wbGVtZW50IGFuIGFwcHJvcHJpYXRlIG9uZS4KKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKK30KKwordm9pZCBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZTo6ZGlkRmFpbChF
eGNlcHRpb25Db2RlIGNvZGUpCit7CisgICAgaWYgKG1fZXJyb3JDYWxsYmFjaykgeworICAgICAg
ICBtX2Vycm9yQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEZpbGVFcnJvcjo6Y3JlYXRlKGNvZGUpLmdl
dCgpKTsKKyAgICAgICAgbV9lcnJvckNhbGxiYWNrLmNsZWFyKCk7CisgICAgfQorfQorCisvLyBF
bnRyeUNhbGxiYWNrcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisKK0VudHJ5Q2FsbGJhY2tzOjpFbnRyeUNhbGxiYWNrcyhQYXNz
UmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrLCBET01GaWxlU3lzdGVtKiBmaWxlU3lzdGVtLCBjb25zdCBT
dHJpbmcmIGV4cGVjdGVkUGF0aCwgYm9vbCBpc0RpcmVjdG9yeSkKKyAgICA6IEZpbGVTeXN0ZW1D
YWxsYmFja3NCYXNlKGVycm9yQ2FsbGJhY2spCisgICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhzdWNj
ZXNzQ2FsbGJhY2spCisgICAgLCBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAgICAsIG1fZXhw
ZWN0ZWRQYXRoKGV4cGVjdGVkUGF0aCkKKyAgICAsIG1faXNEaXJlY3RvcnkoaXNEaXJlY3Rvcnkp
Cit7Cit9CisKK3ZvaWQgRW50cnlDYWxsYmFja3M6OmRpZFN1Y2NlZWQoKQoreworICAgIGlmICht
X3N1Y2Nlc3NDYWxsYmFjaykgeworICAgICAgICBpZiAobV9pc0RpcmVjdG9yeSkKKyAgICAgICAg
ICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChEaXJlY3RvcnlFbnRyeTo6Y3JlYXRl
KG1fZmlsZVN5c3RlbSwgbV9leHBlY3RlZFBhdGgpLmdldCgpKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KEZpbGVFbnRyeTo6Y3JlYXRl
KG1fZmlsZVN5c3RlbSwgbV9leHBlY3RlZFBhdGgpLmdldCgpKTsKKyAgICB9CisgICAgbV9zdWNj
ZXNzQ2FsbGJhY2suY2xlYXIoKTsKK30KKworLy8gRW50cmllc0NhbGxiYWNrcyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitFbnRy
aWVzQ2FsbGJhY2tzOjpFbnRyaWVzQ2FsbGJhY2tzKFBhc3NSZWZQdHI8RW50cmllc0NhbGxiYWNr
PiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFj
aywgRE9NRmlsZVN5c3RlbSogZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBiYXNlUGF0aCkKKyAg
ICA6IEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlKGVycm9yQ2FsbGJhY2spCisgICAgLCBtX3N1Y2Nl
c3NDYWxsYmFjayhzdWNjZXNzQ2FsbGJhY2spCisgICAgLCBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3Rl
bSkKKyAgICAsIG1fYmFzZVBhdGgoYmFzZVBhdGgpCit7Cit9CisKK3ZvaWQgRW50cmllc0NhbGxi
YWNrczo6ZGlkUmVhZERpcmVjdG9yeUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBpc0Rp
cmVjdG9yeSkKK3sKKyAgICBpZiAoaXNEaXJlY3RvcnkpCisgICAgICAgIG1fZW50cmllcy0+YXBw
ZW5kKERpcmVjdG9yeUVudHJ5OjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Jhc2VQYXRoICsgIi8i
ICsgbmFtZSkpOworICAgIGVsc2UKKyAgICAgICAgbV9lbnRyaWVzLT5hcHBlbmQoRmlsZUVudHJ5
OjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Jhc2VQYXRoICsgIi8iICsgbmFtZSkpOworfQorCit2
b2lkIEVudHJpZXNDYWxsYmFja3M6OmRpZFJlYWREaXJlY3RvcnlDaHVua0RvbmUoYm9vbCBoYXNN
b3JlKQoreworICAgIGlmIChtX3N1Y2Nlc3NDYWxsYmFjaykgeworICAgICAgICBtX3N1Y2Nlc3ND
YWxsYmFjay0+aGFuZGxlRXZlbnQobV9lbnRyaWVzLmdldCgpKTsKKyAgICAgICAgbV9lbnRyaWVz
LT5jbGVhcigpOworICAgICAgICBpZiAoIWhhc01vcmUpIHsKKyAgICAgICAgICAgIC8vIElmIHRo
ZXJlJ3JlIG5vIG1vcmUgZW50cmllcywgY2FsbCBiYWNrIG9uY2UgbW9yZSB3aXRoIGFuIGVtcHR5
IGFycmF5LgorICAgICAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fZW50
cmllcy5nZXQoKSk7CisgICAgICAgICAgICBtX3N1Y2Nlc3NDYWxsYmFjay5jbGVhcigpOworICAg
ICAgICB9CisgICAgfQorfQorCisvLyBGaWxlU3lzdGVtQ2FsbGJhY2tzIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0ZpbGVTeXN0ZW1D
YWxsYmFja3M6OkZpbGVTeXN0ZW1DYWxsYmFja3MoUGFzc1JlZlB0cjxGaWxlU3lzdGVtQ2FsbGJh
Y2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxi
YWNrKQorICAgIDogRmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2UoZXJyb3JDYWxsYmFjaykKKyAgICAs
IG1fc3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKK3sKK30KKwordm9pZCBGaWxlU3lz
dGVtQ2FsbGJhY2tzOjpkaWRPcGVuRmlsZVN5c3RlbShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgcm9vdFBhdGgpCit7CisgICAgaWYgKG1fc3VjY2Vzc0NhbGxiYWNrKQorICAgICAg
ICBtX3N1Y2Nlc3NDYWxsYmFjay0+aGFuZGxlRXZlbnQoRE9NRmlsZVN5c3RlbTo6Y3JlYXRlKG5h
bWUsIHJvb3RQYXRoKS5nZXQoKSk7CisgICAgbV9zdWNjZXNzQ2FsbGJhY2suY2xlYXIoKTsKK30K
KworLy8gTWV0YWRhdGFDYWxsYmFja3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitNZXRhZGF0YUNhbGxiYWNrczo6TWV0YWRhdGFD
YWxsYmFja3MoUGFzc1JlZlB0cjxNZXRhZGF0YUNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAgICA6IEZpbGVTeXN0ZW1D
YWxsYmFja3NCYXNlKGVycm9yQ2FsbGJhY2spCisgICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhzdWNj
ZXNzQ2FsbGJhY2spCit7Cit9CisKK3ZvaWQgTWV0YWRhdGFDYWxsYmFja3M6OmRpZFJlYWRNZXRh
ZGF0YShkb3VibGUgbW9kaWZpY2F0aW9uVGltZSkKK3sKKyAgICBpZiAobV9zdWNjZXNzQ2FsbGJh
Y2spCisgICAgICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChNZXRhZGF0YTo6Y3Jl
YXRlKG1vZGlmaWNhdGlvblRpbWUpLmdldCgpKTsKKyAgICBtX3N1Y2Nlc3NDYWxsYmFjay5jbGVh
cigpOworfQorCisvLyBWb2lkQ2FsbGJhY2tzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1ZvaWRDYWxsYmFja3M6OlZvaWRD
YWxsYmFja3MoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1Jl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQorICAgIDogRmlsZVN5c3RlbUNhbGxi
YWNrc0Jhc2UoZXJyb3JDYWxsYmFjaykKKyAgICAsIG1fc3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3ND
YWxsYmFjaykKK3sKK30KKwordm9pZCBWb2lkQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkKK3sKKyAg
ICBpZiAobV9zdWNjZXNzQ2FsbGJhY2spCisgICAgICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5k
bGVFdmVudCgpOworICAgIG1fc3VjY2Vzc0NhbGxiYWNrLmNsZWFyKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3N0b3JhZ2UvRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVT
eXN0ZW1DYWxsYmFja3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGU3OGQzNzBjMjFlMzM3YjI0OGQzOGFjODk2
ZDFhN2UwZWNiMTMwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0ZpbGVTeXN0
ZW1DYWxsYmFja3MuaApAQCAtMCwwICsxLDEzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRmlsZVN5c3RlbUNhbGxiYWNr
c19oCisjZGVmaW5lIEZpbGVTeXN0ZW1DYWxsYmFja3NfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBET01GaWxlU3lzdGVtOworY2xhc3MgRXJyb3JDYWxsYmFjazsKK2NsYXNzIEVudHJp
ZXNDYWxsYmFjazsKK2NsYXNzIEVudHJ5QXJyYXk7CitjbGFzcyBFbnRyeUNhbGxiYWNrOworY2xh
c3MgRmlsZVN5c3RlbUNhbGxiYWNrOworY2xhc3MgTWV0YWRhdGFDYWxsYmFjazsKK2NsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CitjbGFzcyBWb2lkQ2FsbGJhY2s7CisKK3R5cGVkZWYgaW50
IEV4Y2VwdGlvbkNvZGU7CisKKy8vIEEgYmFzZSBjbGFzcyBmb3IgRmlsZVN5c3RlbSBjYWxsYmFj
a3MgdGhhdCBidW5kbGVzIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayBhbmQgc29tZSBj
bG9zdXJlIGRhdGEgZm9yIHRoZSBjYWxsYmFja3MuCitjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2tz
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+RmlsZVN5
c3RlbUNhbGxiYWNrc0Jhc2UoKTsKKworICAgIC8vIEZvciBFbnRyeUNhbGxiYWNrcyBhbmQgVm9p
ZENhbGxiYWNrcy4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpOworCisgICAgLy8gRm9y
IEZpbGVTeXN0ZW1DYWxsYmFja3MuCisgICAgdmlydHVhbCB2b2lkIGRpZE9wZW5GaWxlU3lzdGVt
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiByb290UGF0aCk7CisKKyAgICAvLyBG
b3IgTWV0YWRhdGFDYWxsYmFja3MuCisgICAgdmlydHVhbCB2b2lkIGRpZFJlYWRNZXRhZGF0YShk
b3VibGUgbW9kaWZpY2F0aW9uVGltZSk7CisKKyAgICAvLyBGb3IgRW50cmllc0NhbGxiYWNrcy4g
ZGlkUmVhZERpcmVjdG9yeUVudHJ5IGlzIGNhbGxlZCBlYWNoIHRpbWUgdGhlIEFQSSByZWFkcyBh
biBlbnRyeSwgYW5kIGRpZFJlYWREaXJlY3RvcnlEb25lIGlzIGNhbGxlZCB3aGVuIGEgY2h1bmsg
b2YgZW50cmllcyBoYXZlIGJlZW4gcmVhZCAoaS5lLiBnb29kIHRpbWUgdG8gY2FsbCBiYWNrIHRv
IHRoZSBhcHBsaWNhdGlvbikuICBJZiBoYXNNb3JlIGlzIHRydWUgdGhlcmUgY2FuIGJlIG1vcmUg
Y2h1bmtzLgorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWFkRGlyZWN0b3J5RW50cnkoY29uc3QgU3Ry
aW5nJiBuYW1lLCBib29sIGlzRGlyZWN0b3J5KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVhZERp
cmVjdG9yeUNodW5rRG9uZShib29sIGhhc01vcmUpOworCisgICAgLy8gRm9yIEVycm9yQ2FsbGJh
Y2suCisgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoRXhjZXB0aW9uQ29kZSBjb2RlKTsKKworcHJv
dGVjdGVkOgorICAgIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNlKFBhc3NSZWZQdHI8RXJyb3JDYWxs
YmFjaz4gZXJyb3JDYWxsYmFjayk7CisgICAgUmVmUHRyPEVycm9yQ2FsbGJhY2s+IG1fZXJyb3JD
YWxsYmFjazsKK307CisKKy8vIFN1YmNsYXNzZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitjbGFzcyBFbnRyeUNhbGxi
YWNrcyA6IHB1YmxpYyBGaWxlU3lzdGVtQ2FsbGJhY2tzQmFzZSB7CitwdWJsaWM6CisgICAgRW50
cnlDYWxsYmFja3MoUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPiwgRE9NRmlsZVN5c3RlbSosIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRQYXRoLCBib29s
IGlzRGlyZWN0b3J5KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpOworCitwcml2YXRl
OgorICAgIFJlZlB0cjxFbnRyeUNhbGxiYWNrPiBtX3N1Y2Nlc3NDYWxsYmFjazsKKyAgICBET01G
aWxlU3lzdGVtKiBtX2ZpbGVTeXN0ZW07CisgICAgU3RyaW5nIG1fZXhwZWN0ZWRQYXRoOworICAg
IGJvb2wgbV9pc0RpcmVjdG9yeTsKK307CisKK2NsYXNzIEVudHJpZXNDYWxsYmFja3MgOiBwdWJs
aWMgRmlsZVN5c3RlbUNhbGxiYWNrc0Jhc2UgeworcHVibGljOgorICAgIEVudHJpZXNDYWxsYmFj
a3MoUGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+
LCBET01GaWxlU3lzdGVtKiwgY29uc3QgU3RyaW5nJiBiYXNlUGF0aCk7CisgICAgdmlydHVhbCB2
b2lkIGRpZFJlYWREaXJlY3RvcnlFbnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGJvb2wgaXNEaXJl
Y3RvcnkpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWFkRGlyZWN0b3J5Q2h1bmtEb25lKGJvb2wg
aGFzTW9yZSk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEVudHJpZXNDYWxsYmFjaz4gbV9zdWNj
ZXNzQ2FsbGJhY2s7CisgICAgRE9NRmlsZVN5c3RlbSogbV9maWxlU3lzdGVtOworICAgIFN0cmlu
ZyBtX2Jhc2VQYXRoOworICAgIFJlZlB0cjxFbnRyeUFycmF5PiBtX2VudHJpZXM7Cit9OworCitj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVibGljIEZpbGVTeXN0ZW1DYWxsYmFja3NCYXNl
IHsKK3B1YmxpYzoKKyAgICBGaWxlU3lzdGVtQ2FsbGJhY2tzKFBhc3NSZWZQdHI8RmlsZVN5c3Rl
bUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7CisgICAgdmlydHVhbCB2b2lk
IGRpZE9wZW5GaWxlU3lzdGVtKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiByb290
UGF0aCk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEZpbGVTeXN0ZW1DYWxsYmFjaz4gbV9zdWNj
ZXNzQ2FsbGJhY2s7Cit9OworCitjbGFzcyBNZXRhZGF0YUNhbGxiYWNrcyA6IHB1YmxpYyBGaWxl
U3lzdGVtQ2FsbGJhY2tzQmFzZSB7CitwdWJsaWM6CisgICAgTWV0YWRhdGFDYWxsYmFja3MoUGFz
c1JlZlB0cjxNZXRhZGF0YUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZFJlYWRNZXRhZGF0YShkb3VibGUgbW9kaWZpY2F0aW9uVGltZSk7
CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPE1ldGFkYXRhQ2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxi
YWNrOworfTsKKworY2xhc3MgVm9pZENhbGxiYWNrcyA6IHB1YmxpYyBGaWxlU3lzdGVtQ2FsbGJh
Y2tzQmFzZSB7CitwdWJsaWM6CisgICAgVm9pZENhbGxiYWNrcyhQYXNzUmVmUHRyPFZvaWRDYWxs
YmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pOworICAgIHZpcnR1YWwgdm9pZCBkaWRT
dWNjZWVkKCk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gbV9zdWNjZXNz
Q2FsbGJhY2s7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVf
U1lTVEVNKQorCisjZW5kaWYgLy8gRmlsZVN5c3RlbUNhbGxiYWNrc19oCg==
</data>
<flag name="review"
          id="53671"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>