<?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>37840</bug_id>
          
          <creation_ts>2010-04-19 19:30:21 -0700</creation_ts>
          <short_desc>Add FileError for File API</short_desc>
          <delta_ts>2010-04-27 13:49:56 -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 JavaScript</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>
          <dependson>37998</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>dimich</cc>
    
    <cc>kinuko</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>214451</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-19 19:30:21 -0700</bug_when>
    <thetext>Need to implement FileError as defined in File API (http://www.w3.org/TR/2009/WD-FileAPI-20091117/#dfn-fileerror).

This is needed by both FileReader and FileWriter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214454</commentid>
    <comment_count>1</comment_count>
      <attachid>53766</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-19 19:32:41 -0700</bug_when>
    <thetext>Created attachment 53766
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214997</commentid>
    <comment_count>2</comment_count>
      <attachid>53892</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-20 15:16:41 -0700</bug_when>
    <thetext>Created attachment 53892
Proposed Patch

Added FileErrorConstructor to DOMWindow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215547</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-21 16:09:55 -0700</bug_when>
    <thetext>Is it possible to split the patch into modifying the code generators and adding a FileError object?
I&apos;d look at FileError, but there are others with much better understanding of generators...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215984</commentid>
    <comment_count>4</comment_count>
      <attachid>54080</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-22 11:37:46 -0700</bug_when>
    <thetext>Created attachment 54080
Proposed Patch

Moved code generator changes to a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215993</commentid>
    <comment_count>5</comment_count>
      <attachid>54080</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-22 11:57:02 -0700</bug_when>
    <thetext>Comment on attachment 54080
Proposed Patch

r=me with 2 nits:

diff --git a/WebCore/dom/ExceptionCode.h b/WebCore/dom/ExceptionCode.h
+
+        // Introduced in File API:

It&apos;d be nice to have a link to a spec here as well.

+#if ENABLE(FILE_READER) || ENABLE(FILE_WRITER)
+        NOT_READABLE_ERR = 24,
+        ENCODING_ERR = 26,
+#endif

diff --git a/WebCore/html/FileError.h b/WebCore/html/FileError.h
+private:
+    FileError() : m_code(0) { }

Initializer should be on a separate line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216593</commentid>
    <comment_count>6</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-23 15:26:17 -0700</bug_when>
    <thetext>Fixed and landed at http://trac.webkit.org/changeset/58194.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217797</commentid>
    <comment_count>7</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-04-27 11:10:38 -0700</bug_when>
    <thetext>Hi, thanks for adding it.

+class FileError : public RefCounted&lt;FileError&gt; {
+public:
+    static PassRefPtr&lt;FileError&gt; create(ExceptionCode code) { return adoptRef(new FileError(code)); }

+private:
+    FileError() : m_code(0) { }

Don&apos;t we need a constructor that takes an ExceptionCode?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217907</commentid>
    <comment_count>8</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-04-27 13:49:56 -0700</bug_when>
    <thetext>&gt; Don&apos;t we need a constructor that takes an ExceptionCode?

Yes, I noticed this when I turn on the feature during building FileReader. The fix is included in the patch for bug 38157. Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53766</attachid>
            <date>2010-04-19 19:32:41 -0700</date>
            <delta_ts>2010-04-20 15:16:41 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>37840</filename>
            <type>text/plain</type>
            <size>21180</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYjNjNTMxYy4uZDIwMjg4
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1Nyw2ICsxNTcs
NyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1u
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmggXAorICAgICQoaW50ZXJtZWRpYXRl
cykvaHRtbC9KU0ZpbGVFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxl
TGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNIVE1MQWxsQ29sbGVjdGlvbi5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNIVE1MQW5jaG9yRWxlbWVudC5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGY2YTVlZmQuLmNjYjNlZmEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMTM4LDYgKzEzOCw3IEBAIEdF
TiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGVFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4RmlsZUxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEhU
TUxBbGxDb2xsZWN0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhIVE1M
QW5jaG9yRWxlbWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZmNiYzA1My4uYmE0NWIwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0w
NC0xOSAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEZpbGVFcnJvciBmb3IgRmlsZSBBUEku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzg0MAor
CisgICAgICAgIEFsc28gY2hhbmdlIGNvZGUgZ2VuZXJhdG9yIHRvIGhhbmRsZSAifCIgY29uZGl0
aW9uLiAKKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5w
cmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOiBhZGQgc3Vw
cG9ydCBmb3IgInwiIGNvbmRpdGlvbi4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JPYmpDLnBtOiBhZGQgc3VwcG9ydCBmb3IgInwiIGNvbmRpdGlvbi4KKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogYWRkIHN1cHBvcnQgZm9yICJ8
IiBjb25kaXRpb24uCisgICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6Oik6CisgICAgICAgICogaHRtbC9GaWxlRXJyb3IuaDogQWRkZWQuCisgICAgICAgICog
aHRtbC9GaWxlRXJyb3IuaWRsOiBBZGRlZC4KKwogMjAxMC0wNC0xOSAgR2F2aW4gQmFycmFjbG91
Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChyb2xsaW5nIG91dCByNTc4MjkpLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3MmM1ZDQ3Li4yNWZjOTcx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtODUsNiArODUsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRFeGNl
cHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRXZlbnRTb3VyY2UuY3BwIgogI2luY2x1ZGUgIkpTRmls
ZS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTRmlsZUxpc3Qu
Y3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRp
b24uY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDFhYWEwNjYuLjEwZTdmOTIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTEyOSw2ICsxMjksNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBFdmVudFNvdXJj
ZSBcCiAgICAgRXZlbnRUYXJnZXQgXAogICAgIEZpbGUgXAorICAgIEZpbGVFcnJvciBcCiAgICAg
RmlsZUxpc3QgXAogICAgIEdlb2xvY2F0aW9uIFwKICAgICBHZW9wb3NpdGlvbiBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBiMzVhYmM0Li42MTcyZGQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisr
KyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE4OSw2ICsxODksNyBAQCBJRExfQklORElO
R1MgKz0gXAogCVdlYkNvcmUvaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRsIFwKIAlXZWJDb3Jl
L2h0bWwvRE9NRm9ybURhdGEuaWRsIFwKIAlXZWJDb3JlL2h0bWwvRmlsZS5pZGwgXAorCVdlYkNv
cmUvaHRtbC9GaWxlRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwvRmlsZUxpc3QuaWRsIFwKIAlX
ZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaWRsIFwKQEAgLTEwMzMsNiArMTAzNCw3IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmggXAogCVdlYkNvcmUvaHRtbC9GaWxlLmNw
cCBcCiAJV2ViQ29yZS9odG1sL0ZpbGUuaCBcCisJV2ViQ29yZS9odG1sL0ZpbGVFcnJvci5oIFwK
IAlXZWJDb3JlL2h0bWwvRmlsZUxpc3QuY3BwIFwKIAlXZWJDb3JlL2h0bWwvRmlsZUxpc3QuaCBc
CiAJV2ViQ29yZS9odG1sL0ZpbGVTdHJlYW0uY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTkzMzY3Ny4uYjQ4OWNjNyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTEwOSw2ICsxMDksNyBAQAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5M
aXN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5pZGwnLAogICAgICAgICAg
ICAgJ2h0bWwvRmlsZS5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZUVycm9yLmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9GaWxlTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFs
bENvbGxlY3Rpb24uaWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxBbmNob3JFbGVtZW50Lmlk
bCcsCkBAIC0xNDQyLDYgKzE0NDMsNyBAQAogICAgICAgICAgICAgJ2h0bWwvRGF0ZUNvbXBvbmVu
dHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9GaWxlLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9G
aWxlLmgnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZUVycm9yLmgnLAogICAgICAgICAgICAgJ2h0
bWwvRmlsZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL0ZpbGVMaXN0LmgnLAogICAgICAg
ICAgICAgJ2h0bWwvRmlsZVN0cmVhbS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggZTQ1YmQ5OS4uODJiOTM2NSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0z
MjAsNiArMzIwLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1u
TGlzdC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsIFwKICAgICBodG1sL0ZpbGUuaWRs
IFwKKyAgICBodG1sL0ZpbGVFcnJvci5pZGwgXAogICAgIGh0bWwvRmlsZUxpc3QuaWRsIFwKICAg
ICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCBcCiAgICAgaHRtbC9IVE1MQXVkaW9FbGVtZW50
LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCA1MjNhYWRkLi4zMDEyMDhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTEzMjEsNiArMTMyMSw3IEBAIEhFQURF
UlMgKz0gXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAogICAgIGh0bWwvRE9N
Rm9ybURhdGEuaCBcCiAgICAgaHRtbC9GaWxlLmggXAorICAgIGh0bWwvRmlsZUVycm9yLmggXAog
ICAgIGh0bWwvRmlsZUxpc3QuaCBcCiAgICAgaHRtbC9GaWxlU3RyZWFtLmggXAogICAgIGh0bWwv
RmlsZVN0cmVhbUNsaWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmlu
ZGV4IDVjZDQxODUuLjc3NzgzN2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agpAQCAtMzY5Myw2ICszNjkzLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNGaWxlRXJyb3IuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFcnJvci5oIg0KKwkJCQk+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVMaXN0LmNwcCINCiAJCQkJPg0KIAkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zMDI5Myw2ICszMDMwMSwxNCBAQAogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEZpbGVFcnJv
ci5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxodG1sXEZpbGVFcnJvci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGaWxlTGlzdC5jcHAiDQogCQkJCT4NCiAJCQk8L0Zp
bGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4YWVl
ODA1Li5lZjNmMTE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtNjA4LDYgKzYwOCwxMiBAQAogCQkyRTJEOTlFQzEwRTJCRDM5MDA0OTYzMzcgLyogRE9N
QmxvYkludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRTJEOTlFOTEwRTJCQzM4MDA0OTYzMzcgLyogRE9NQmxvYklu
dGVybmFsLmggKi87IH07CiAJCTJFM0JCRjA3MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JCRjA1MTE2
MkRBMTEwMEI5NDA5QSAvKiBVVUlELmNwcCAqLzsgfTsKIAkJMkUzQkJGMDgxMTYyREExMTAwQjk0
MDlBIC8qIFVVSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJFM0JCRjA2MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi87IH07CisJCTJFM0JDMEJE
MTE3RDNBNEYwMEI5NDA5QSAvKiBGaWxlRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JDMEJCMTE3RDNBNEYwMEI5NDA5QSAvKiBGaWxlRXJy
b3IuaCAqLzsgfTsKKwkJMkUzQkMwQ0ExMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JDMEM4
MTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgKi87IH07CisJCTJFM0JDMENCMTE3
RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkUzQkMwQzkxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVy
cm9yLmggKi87IH07CisJCTJFM0JDMTA4MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JDMTA2
MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLzsgfTsKKwkJMkUzQkMxMDkxMTdE
NDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JDMTA3MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxl
RXJyb3IubW0gKi87IH07CisJCTJFM0JDMTBCMTE3RDQ3QzgwMEI5NDA5QSAvKiBET01GaWxlRXJy
b3JJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkUzQkMxMEExMTdENDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggKi87
IH07CiAJCTJFNDM0NjQ0MEY1NDZBODIwMEIwRjFCQSAvKiBHZW5lcmljV29ya2VyVGFzay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU0MzQ2MzIwRjU0
NkE4MjAwQjBGMUJBIC8qIEdlbmVyaWNXb3JrZXJUYXNrLmggKi87IH07CiAJCTJFNDM0NjQ1MEY1
NDZBODIwMEIwRjFCQSAvKiBXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkU0MzQ2MzMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlci5jcHAg
Ki87IH07CiAJCTJFNDM0NjQ2MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNDM0NjM0MEY1NDZBODIwMEIw
RjFCQSAvKiBXb3JrZXIuaCAqLzsgfTsKQEAgLTYwMjMsNiArNjAyOSwxMyBAQAogCQkyRTJEOTlF
OTEwRTJCQzM4MDA0OTYzMzcgLyogRE9NQmxvYkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUJsb2JJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVVUlELmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkUzQkJGMDYxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVVVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRTNCQzBCQjExN0QzQTRGMDBCOTQwOUEgLyogRmlsZUVycm9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyRTNCQzBCQzExN0QzQTRGMDBCOTQwOUEgLyogRmlsZUVycm9yLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBGaWxlRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRTNCQzBDODExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRTNCQzBDOTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlRXJyb3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMxMDYxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZp
bGVFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01GaWxlRXJyb3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMxMDcxMTdENDc5ODAwQjk0MDlB
IC8qIERPTUZpbGVFcnJvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IERPTUZpbGVFcnJvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMx
MEExMTdENDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUZpbGVFcnJvckludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJFNDM0NjMyMEY1NDZBODIwMEIwRjFCQSAvKiBHZW5lcmljV29y
a2VyVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBHZW5lcmljV29ya2Vy
VGFzay5oOyBwYXRoID0gd29ya2Vycy9HZW5lcmljV29ya2VyVGFzay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRTQzNDYzMzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdvcmtlci5jcHA7IHBhdGggPSB3
b3JrZXJzL1dvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFNDM0NjM0
MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV29ya2VyLmg7IHBhdGggPSB3b3JrZXJzL1dvcmtlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTI0NDUsNiArMTI0NTgsOCBAQAogCQkJCTJFMkQ5OUU2MTBFMkJDMUMw
MDQ5NjMzNyAvKiBET01CbG9iLm1tICovLAogCQkJCUJDMDBFRkZFMEUwQTE4NTUwMEZEMDRFMyAv
KiBET01GaWxlLmggKi8sCiAJCQkJQkMwMEVGRkYwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUu
bW0gKi8sCisJCQkJMkUzQkMxMDYxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5oICov
LAorCQkJCTJFM0JDMTA3MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IubW0gKi8sCiAJ
CQkJQkMwMEYwMDEwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVMaXN0LmggKi8sCiAJCQkJQkMw
MEYwMDIwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVMaXN0Lm1tICovLAogCQkJCTg1REY4MTIx
MEFBNzc4NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5oICovLApAQCAtMTI2MTYs
NiArMTI2MzEsNyBAQAogCQkJCTg1RTcxMTRCMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01FbnRpdHlS
ZWZlcmVuY2VJbnRlcm5hbC5oICovLAogCQkJCTg1QjQ5OEY0MEFEQjMzN0EwMDkyNUNCQiAvKiBE
T01FdmVudEludGVybmFsLmggKi8sCiAJCQkJQkMwMEYwMDAwRTBBMTg1NTAwRkQwNEUzIC8qIERP
TUZpbGVJbnRlcm5hbC5oICovLAorCQkJCTJFM0JDMTBBMTE3RDQ3QzgwMEI5NDA5QSAvKiBET01G
aWxlRXJyb3JJbnRlcm5hbC5oICovLAogCQkJCUJDMDBGMDAzMEUwQTE4NTUwMEZEMDRFMyAvKiBE
T01GaWxlTGlzdEludGVybmFsLmggKi8sCiAJCQkJODVFNzExNEMwQUM1RDUzNDAwNTMyNzBGIC8q
IERPTUhUTUxBbmNob3JFbGVtZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4NTUyNDdDRDBBRDg1MEI4
MDAxMjA5M0IgLyogRE9NSFRNTEFwcGxldEVsZW1lbnRJbnRlcm5hbC5oICovLApAQCAtMTMwMTgs
NiArMTMwMzQsOCBAQAogCQkJCUJDREJCOENDMEUwODk1ODQwMEM2MEZGNiAvKiBGaWxlLmNwcCAq
LywKIAkJCQlCQ0RCQjhDQjBFMDg5NTg0MDBDNjBGRjYgLyogRmlsZS5oICovLAogCQkJCUJDMTg4
MUQ5MEUwOEM0RUQwMDA0OEMxMyAvKiBGaWxlLmlkbCAqLywKKwkJCQkyRTNCQzBCQjExN0QzQTRG
MDBCOTQwOUEgLyogRmlsZUVycm9yLmggKi8sCisJCQkJMkUzQkMwQkMxMTdEM0E0RjAwQjk0MDlB
IC8qIEZpbGVFcnJvci5pZGwgKi8sCiAJCQkJQkNEQkI4QUIwRTA4OENBNTAwQzYwRkY2IC8qIEZp
bGVMaXN0LmNwcCAqLywKIAkJCQlCQ0RCQjhBQTBFMDg4Q0E1MDBDNjBGRjYgLyogRmlsZUxpc3Qu
aCAqLywKIAkJCQlCQzE4ODFEQzBFMDhDNTQzMDAwNDhDMTMgLyogRmlsZUxpc3QuaWRsICovLApA
QCAtMTMzNTksNiArMTMzNzcsOCBAQAogCQkJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBK
U0RPTUZvcm1EYXRhLmggKi8sCiAJCQkJQkMwMEYwMTAwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmls
ZS5jcHAgKi8sCiAJCQkJQkMwMEYwMTEwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZS5oICovLAor
CQkJCTJFM0JDMEM4MTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgKi8sCisJCQkJ
MkUzQkMwQzkxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmggKi8sCiAJCQkJQkMwMEYw
MTIwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZUxpc3QuY3BwICovLAogCQkJCUJDMDBGMDEzMEUw
QTE4OTUwMEZEMDRFMyAvKiBKU0ZpbGVMaXN0LmggKi8sCiAJCQkJQkM5N0U0MTAxMDkxNTRGQTAw
MTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMTg4NjUsNiArMTg4ODUs
MTAgQEAKIAkJCQk4OTUyNTNERDExNkM0RUY1MDBDQUJGMDAgLyogRmlsZVN0cmVhbVByb3h5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4OTUyNTNERjExNkM0RjA2MDBDQUJGMDAgLyogRmlsZVRocmVh
ZFRhc2suaCBpbiBIZWFkZXJzICovLAogCQkJCUNFRjQxOENGMTE3OTY3OEMwMDlEMTEyQyAvKiBW
aWV3cG9ydEFyZ3VtZW50cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzQkMwQkQxMTdEM0E0RjAw
Qjk0MDlBIC8qIEZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzQkMwQ0IxMTdEM0Uw
ODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRTNCQzEwODEx
N0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRTNC
QzEwQjExN0Q0N0M4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9ySW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpAQCAtMjExMDEsNiArMjExMjUsOCBAQAogCQkJCTlGQTM3RUZDMTE3MkZEQTYwMEM0Q0Q1
NSAvKiBKU1NjcmlwdFByb2ZpbGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5NTI1M0RD
MTE2QzRFRjUwMENBQkYwMCAvKiBGaWxlU3RyZWFtUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0VGNDE4Q0UxMTc5Njc4QzAwOUQxMTJDIC8qIFZpZXdwb3J0QXJndW1lbnRzLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTJFM0JDMENBMTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkyRTNCQzEwOTExN0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmls
ZUVycm9yLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQppbmRleCA5MTllMzIxLi44ZGVhM2NjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUwOSw3ICs1MDksMTEgQEAgc3ViIEdl
bmVyYXRlSGVhZGVyCiAKICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmc7CiAgICAgaWYgKCRjb25k
aXRpb25hbCkgewotICAgICAgICAkY29uZGl0aW9uYWxTdHJpbmcgPSAiRU5BQkxFKCIgLiBqb2lu
KCIpICYmIEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAg
ICBpZiAoJGNvbmRpdGlvbmFsID1+IC8mLykgeworICAgICAgICAgICAgJGNvbmRpdGlvbmFsU3Ry
aW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0
aW9uYWwpKSAuICIpIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICRjb25kaXRpb25h
bFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikgfHwgRU5BQkxFKCIsIHNwbGl0KC9cfC8sICRj
b25kaXRpb25hbCkpIC4gIikiOworICAgICAgICB9CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnRIZWFkZXIsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cblxuIik7CiAgICAgfQogCkBAIC05
MzksNyArOTQzLDExIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgcHVzaChAaW1w
bENvbnRlbnRIZWFkZXIsICJcbiNpbmNsdWRlIFwiY29uZmlnLmhcIlxuIik7CiAgICAgbXkgJGNv
bmRpdGlvbmFsU3RyaW5nOwogICAgIGlmICgkY29uZGl0aW9uYWwpIHsKLSAgICAgICAgJGNvbmRp
dGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYv
LCAkY29uZGl0aW9uYWwpKSAuICIpIjsKKyAgICAgICAgaWYgKCRjb25kaXRpb25hbCA9fiAvJi8p
IHsKKyAgICAgICAgICAgICRjb25kaXRpb25hbFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikg
JiYgRU5BQkxFKCIsIHNwbGl0KC8mLywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAkY29uZGl0aW9uYWxTdHJpbmcgPSAiRU5BQkxFKCIgLiBqb2lu
KCIpIHx8IEVOQUJMRSgiLCBzcGxpdCgvXHwvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKKyAgICAg
ICAgfQogICAgICAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRlciwgIlxuI2lmICR7Y29uZGl0aW9u
YWxTdHJpbmd9XG5cbiIpOwogICAgIH0KICAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRlciwgIiNp
bmNsdWRlIFwiJGNsYXNzTmFtZS5oXCJcblxuIik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvck9iakMucG0KaW5kZXggM2M1ZmU0NS4uYTBmMTMzYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCisrKyBiL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtMTAzNCw3ICsx
MDM0LDExIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICBteSAkY29uZGl0aW9u
YWxTdHJpbmc7CiAgICAgaWYgKCRjb25kaXRpb25hbCkgewotICAgICAgICAkY29uZGl0aW9uYWxT
dHJpbmcgPSAiRU5BQkxFKCIgLiBqb2luKCIpICYmIEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25k
aXRpb25hbCkpIC4gIikiOworICAgICAgICBpZiAoJGNvbmRpdGlvbmFsID1+IC8mLykgeworICAg
ICAgICAgICAgJGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFC
TEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICRjb25kaXRpb25hbFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikgfHwg
RU5BQkxFKCIsIHNwbGl0KC9cfC8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAgICB9CiAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50SGVhZGVyLCAiXG4jaWYgJHtjb25kaXRpb25hbFN0cmlu
Z31cblxuIik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbQppbmRleCAwZDM1NTZiLi43ZTY0OWI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTE4OSw3ICsxODksMTEgQEAgc3ViIEdlbmVyYXRl
Q29uZGl0aW9uYWxTdHJpbmcKICAgICBteSAkbm9kZSA9IHNoaWZ0OwogICAgIG15ICRjb25kaXRp
b25hbCA9ICRub2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifTsKICAgICBp
ZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgIHJldHVybiAiRU5BQkxFKCIgLiBqb2luKCIpICYm
IEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAgICBpZiAo
JGNvbmRpdGlvbmFsID1+IC8mLykgeworICAgICAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpv
aW4oIikgJiYgRU5BQkxFKCIsIHNwbGl0KC8mLywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSB8fCBF
TkFCTEUoIiwgc3BsaXQoL1x8LywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgIH0KICAg
ICB9IGVsc2UgewogICAgICAgICByZXR1cm4gIiI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRXhjZXB0aW9uQ29kZS5oIGIvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCmluZGV4
IDU3M2ZiMzYuLjQzMjUzODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUu
aAorKysgYi9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKQEAgLTU4LDYgKzU4LDEyIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgQUJPUlRfRVJSID0gMjAsCiAgICAgICAgIFVSTF9N
SVNNQVRDSF9FUlIgPSAyMSwKICAgICAgICAgUVVPVEFfRVhDRUVERURfRVJSID0gMjIsCisKKyAg
ICAgICAgLy8gSW50cm9kdWNlZCBpbiBGaWxlIEFQSToKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIp
IHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICAgICAgTk9UX1JFQURBQkxFX0VSUiA9IDI0LAor
ICAgICAgICBFTkNPRElOR19FUlIgPSAyNiwKKyNlbmRpZgogICAgIH07CiAKICAgICBlbnVtIEV4
Y2VwdGlvblR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ZpbGVFcnJvci5oIGIvV2Vi
Q29yZS9odG1sL0ZpbGVFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmY3MjE5M2UKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRmlsZUVycm9yLmgKQEAg
LTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEZpbGVFcnJvcl9oCisjZGVmaW5lIEZpbGVFcnJvcl9oCisK
KyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKworI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZpbGVFcnJvciA6IHB1YmxpYyBSZWZDb3VudGVkPEZp
bGVFcnJvcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZpbGVFcnJvcj4gY3Jl
YXRlKEV4Y2VwdGlvbkNvZGUgY29kZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVFcnJvcihj
b2RlKSk7IH0KKworICAgIEV4Y2VwdGlvbkNvZGUgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29k
ZTsgfQorCitwcml2YXRlOgorICAgIEZpbGVFcnJvcigpIDogbV9jb2RlKDApIHsgfQorCisgICAg
RXhjZXB0aW9uQ29kZSBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKworI2Vu
ZGlmIC8vIEZpbGVFcnJvcl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZUVycm9yLmlk
bCBiL1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjZjMmIwOGMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRmlsZUVy
cm9yLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2UgWwor
ICAgICAgICBDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUgorICAgIF0gRmlsZUVy
cm9yIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9fTU9ESUZJQ0FUSU9OX0FMTE9X
RURfRVJSID0gNzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTk9UX0ZPVU5EX0VSUiA9
IDg7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNFQ1VSSVRZX0VSUiA9IDE4OworICAg
ICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBQk9SVF9FUlIgPSAyMDsKKyAgICAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgTk9UX1JFQURBQkxFX0VSUiA9IDI0OworICAgICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBFTkNPRElOR19FUlIgPSAyNjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIHNob3J0IGNvZGU7CisgICAgfTsKK30K
</data>
<flag name="commit-queue"
          id="37563"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53892</attachid>
            <date>2010-04-20 15:16:41 -0700</date>
            <delta_ts>2010-04-22 11:37:46 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>37840_2</filename>
            <type>text/plain</type>
            <size>28805</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYjNjNTMxYy4uZDIwMjg4
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1Nyw2ICsxNTcs
NyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1u
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmggXAorICAgICQoaW50ZXJtZWRpYXRl
cykvaHRtbC9KU0ZpbGVFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxl
TGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNIVE1MQWxsQ29sbGVjdGlvbi5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNIVE1MQW5jaG9yRWxlbWVudC5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGY2YTVlZmQuLmNjYjNlZmEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMTM4LDYgKzEzOCw3IEBAIEdF
TiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGVFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4RmlsZUxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEhU
TUxBbGxDb2xsZWN0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhIVE1M
QW5jaG9yRWxlbWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOGUyYWMxMC4uMzVmODMzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0w
NC0yMCAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEZpbGVFcnJvciBmb3IgRmlsZSBBUEku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzg0MAor
CisgICAgICAgIFRoZSB0ZXN0IHdpbGwgYmUgYWRkZWQgd2hlbiBpbXBsZW1lbnRpbmcgRmlsZVJl
YWRlciBhbmQgRmlsZXJXcml0ZXIuCisKKyAgICAgICAgQWxzbyBjaGFuZ2UgY29kZSBnZW5lcmF0
b3Igc2NyaXB0cyB0byBoYW5kbGUgInwiIGNvbmRpdGlvbi4gCisKKyAgICAgICAgKiBBbmRyb2lk
LmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4Ymlu
ZGluZ3MubWs6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogYWRkIHN1cHBvcnQgZm9yICJ8IiBjb25kaXRpb24uCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbTogYWRkIHN1cHBv
cnQgZm9yICJ8IiBjb25kaXRpb24uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG06IGFkZCBzdXBwb3J0IGZvciAifCIgY29uZGl0aW9uLgorICAgICAgICAqIFdl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1Y3R1cmUucG06IGFkZCBzdXBwb3J0IGZvciAi
fCIgY29uZGl0aW9uLgorICAgICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmg6CisgICAgICAgIChX
ZWJDb3JlOjopOgorICAgICAgICAqIGh0bWwvRmlsZUVycm9yLmg6IEFkZGVkLgorICAgICAgICAq
IGh0bWwvRmlsZUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRs
OgorCiAyMDEwLTA0LTIwICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAog
ICAgICAgICBGaXggbWF0Y2hpbmcgb2YgImZpbGU6Ly8vKiIgcGF0dGVybnMgYnkgbm90IHRyeWlu
ZyB0byBjb21wYXJlIHRoZSBob3N0LiBUaGUgaG9zdCBpcwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3MmM1
ZDQ3Li4yNWZjOTcxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtODUsNiArODUsNyBAQAogI2luY2x1ZGUg
IkpTRXZlbnRFeGNlcHRpb24uY3BwIgogI2luY2x1ZGUgIkpTRXZlbnRTb3VyY2UuY3BwIgogI2lu
Y2x1ZGUgIkpTRmlsZS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlRXJyb3IuY3BwIgogI2luY2x1ZGUg
IkpTRmlsZUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUg
IkpTR2VvcG9zaXRpb24uY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDFhYWEwNjYuLjEwZTdmOTIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyOSw2ICsxMjksNyBAQCBET01fQ0xBU1NFUyA9IFwKICAg
ICBFdmVudFNvdXJjZSBcCiAgICAgRXZlbnRUYXJnZXQgXAogICAgIEZpbGUgXAorICAgIEZpbGVF
cnJvciBcCiAgICAgRmlsZUxpc3QgXAogICAgIEdlb2xvY2F0aW9uIFwKICAgICBHZW9wb3NpdGlv
biBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQppbmRleCBmN2JhMmZiLi5jMTI0YTRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE4OSw2ICsxODksNyBA
QCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRs
IFwKIAlXZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuaWRsIFwKIAlXZWJDb3JlL2h0bWwvRmlsZS5p
ZGwgXAorCVdlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwvRmlsZUxp
c3QuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKIAlXZWJDb3Jl
L2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIFwKQEAgLTEwMzMsNiArMTAzNCw3IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmggXAogCVdlYkNvcmUv
aHRtbC9GaWxlLmNwcCBcCiAJV2ViQ29yZS9odG1sL0ZpbGUuaCBcCisJV2ViQ29yZS9odG1sL0Zp
bGVFcnJvci5oIFwKIAlXZWJDb3JlL2h0bWwvRmlsZUxpc3QuY3BwIFwKIAlXZWJDb3JlL2h0bWwv
RmlsZUxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL0ZpbGVTdHJlYW0uY3BwIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNmRjOWI1
Mi4uOGRiMThkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTEwOSw2ICsxMDksNyBAQAogICAgICAgICAgICAgJ2h0bWwvRGF0
YUdyaWRDb2x1bW5MaXN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvRmlsZS5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZUVy
cm9yLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9GaWxlTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxBbmNo
b3JFbGVtZW50LmlkbCcsCkBAIC0xNDQyLDYgKzE0NDMsNyBAQAogICAgICAgICAgICAgJ2h0bWwv
RGF0ZUNvbXBvbmVudHMuaCcsCiAgICAgICAgICAgICAnaHRtbC9GaWxlLmNwcCcsCiAgICAgICAg
ICAgICAnaHRtbC9GaWxlLmgnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZUVycm9yLmgnLAogICAg
ICAgICAgICAgJ2h0bWwvRmlsZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL0ZpbGVMaXN0
LmgnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZVN0cmVhbS5jcHAnLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggZTQ1YmQ5OS4uODJi
OTM2NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUucHJpCkBAIC0zMjAsNiArMzIwLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0Rh
dGFHcmlkQ29sdW1uTGlzdC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsIFwKICAgICBo
dG1sL0ZpbGUuaWRsIFwKKyAgICBodG1sL0ZpbGVFcnJvci5pZGwgXAogICAgIGh0bWwvRmlsZUxp
c3QuaWRsIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCBcCiAgICAgaHRtbC9IVE1M
QXVkaW9FbGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2Vi
Q29yZS9XZWJDb3JlLnBybwppbmRleCAwZjQ4MzA0Li42YTczMzE1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTEzMjAsNiArMTMy
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAog
ICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCiAgICAgaHRtbC9GaWxlLmggXAorICAgIGh0bWwvRmls
ZUVycm9yLmggXAogICAgIGh0bWwvRmlsZUxpc3QuaCBcCiAgICAgaHRtbC9GaWxlU3RyZWFtLmgg
XAogICAgIGh0bWwvRmlsZVN0cmVhbUNsaWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCmluZGV4IDFmMzA1ZDIuLjM1NDkxODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtMzY5Myw2ICszNjkzLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4N
CiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRXJyb3IuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVFcnJvci5oIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0ZpbGVMaXN0LmNwcCIN
CiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zMDMwMyw2ICszMDMxMSwxMCBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXEZpbGVFcnJvci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxGaWxlTGlzdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZDc3NWEwLi44
NTExZjY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NjEyLDYgKzYxMiwxMiBAQAogCQkyRTJEOTlFQzEwRTJCRDM5MDA0OTYzMzcgLyogRE9NQmxvYklu
dGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRTJEOTlFOTEwRTJCQzM4MDA0OTYzMzcgLyogRE9NQmxvYkludGVybmFs
LmggKi87IH07CiAJCTJFM0JCRjA3MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JCRjA1MTE2MkRBMTEw
MEI5NDA5QSAvKiBVVUlELmNwcCAqLzsgfTsKIAkJMkUzQkJGMDgxMTYyREExMTAwQjk0MDlBIC8q
IFVVSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJF
M0JCRjA2MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi87IH07CisJCTJFM0JDMEJEMTE3RDNB
NEYwMEI5NDA5QSAvKiBGaWxlRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJFM0JDMEJCMTE3RDNBNEYwMEI5NDA5QSAvKiBGaWxlRXJyb3IuaCAq
LzsgfTsKKwkJMkUzQkMwQ0ExMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JDMEM4MTE3RDNF
MDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgKi87IH07CisJCTJFM0JDMENCMTE3RDNFMDgw
MEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkUzQkMwQzkxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmgg
Ki87IH07CisJCTJFM0JDMTA4MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JDMTA2MTE3RDQ3
OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLzsgfTsKKwkJMkUzQkMxMDkxMTdENDc5ODAw
Qjk0MDlBIC8qIERPTUZpbGVFcnJvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJFM0JDMTA3MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3Iu
bW0gKi87IH07CisJCTJFM0JDMTBCMTE3RDQ3QzgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3JJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUz
QkMxMEExMTdENDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggKi87IH07CiAJ
CTJFNDM0NjQ0MEY1NDZBODIwMEIwRjFCQSAvKiBHZW5lcmljV29ya2VyVGFzay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU0MzQ2MzIwRjU0NkE4MjAw
QjBGMUJBIC8qIEdlbmVyaWNXb3JrZXJUYXNrLmggKi87IH07CiAJCTJFNDM0NjQ1MEY1NDZBODIw
MEIwRjFCQSAvKiBXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkU0MzQ2MzMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlci5jcHAgKi87IH07
CiAJCTJFNDM0NjQ2MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNDM0NjM0MEY1NDZBODIwMEIwRjFCQSAv
KiBXb3JrZXIuaCAqLzsgfTsKQEAgLTYwMjYsNiArNjAzMiwxMyBAQAogCQkyRTJEOTlFOTEwRTJC
QzM4MDA0OTYzMzcgLyogRE9NQmxvYkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTUJsb2JJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyRTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBVVUlELmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkUzQkJGMDYxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVVVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTNC
QzBCQjExN0QzQTRGMDBCOTQwOUEgLyogRmlsZUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZpbGVFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
RTNCQzBCQzExN0QzQTRGMDBCOTQwOUEgLyogRmlsZUVycm9yLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBGaWxlRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTNC
QzBDODExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRTNCQzBDOTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlRXJyb3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMxMDYxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01GaWxlRXJyb3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMxMDcxMTdENDc5ODAwQjk0MDlBIC8qIERP
TUZpbGVFcnJvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TUZpbGVFcnJvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMxMEExMTdE
NDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERPTUZpbGVFcnJvckludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJFNDM0NjMyMEY1NDZBODIwMEIwRjFCQSAvKiBHZW5lcmljV29ya2VyVGFz
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBHZW5lcmljV29ya2VyVGFzay5o
OyBwYXRoID0gd29ya2Vycy9HZW5lcmljV29ya2VyVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRTQzNDYzMzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdvcmtlci5jcHA7IHBhdGggPSB3b3JrZXJz
L1dvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFNDM0NjM0MEY1NDZB
ODIwMEIwRjFCQSAvKiBXb3JrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V29ya2VyLmg7IHBhdGggPSB3b3JrZXJzL1dvcmtlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTI0NDMsNiArMTI0NTYsOCBAQAogCQkJCTJFMkQ5OUU2MTBFMkJDMUMwMDQ5NjMz
NyAvKiBET01CbG9iLm1tICovLAogCQkJCUJDMDBFRkZFMEUwQTE4NTUwMEZEMDRFMyAvKiBET01G
aWxlLmggKi8sCiAJCQkJQkMwMEVGRkYwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUubW0gKi8s
CisJCQkJMkUzQkMxMDYxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5oICovLAorCQkJ
CTJFM0JDMTA3MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IubW0gKi8sCiAJCQkJQkMw
MEYwMDEwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVMaXN0LmggKi8sCiAJCQkJQkMwMEYwMDIw
RTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVMaXN0Lm1tICovLAogCQkJCTg1REY4MTIxMEFBNzc4
NzIwMDQ4NkFENyAvKiBET01IVE1MQW5jaG9yRWxlbWVudC5oICovLApAQCAtMTI2MTQsNiArMTI2
MjksNyBAQAogCQkJCTg1RTcxMTRCMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01FbnRpdHlSZWZlcmVu
Y2VJbnRlcm5hbC5oICovLAogCQkJCTg1QjQ5OEY0MEFEQjMzN0EwMDkyNUNCQiAvKiBET01FdmVu
dEludGVybmFsLmggKi8sCiAJCQkJQkMwMEYwMDAwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVJ
bnRlcm5hbC5oICovLAorCQkJCTJFM0JDMTBBMTE3RDQ3QzgwMEI5NDA5QSAvKiBET01GaWxlRXJy
b3JJbnRlcm5hbC5oICovLAogCQkJCUJDMDBGMDAzMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxl
TGlzdEludGVybmFsLmggKi8sCiAJCQkJODVFNzExNEMwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUhU
TUxBbmNob3JFbGVtZW50SW50ZXJuYWwuaCAqLywKIAkJCQk4NTUyNDdDRDBBRDg1MEI4MDAxMjA5
M0IgLyogRE9NSFRNTEFwcGxldEVsZW1lbnRJbnRlcm5hbC5oICovLApAQCAtMTMwMTYsNiArMTMw
MzIsOCBAQAogCQkJCUJDREJCOENDMEUwODk1ODQwMEM2MEZGNiAvKiBGaWxlLmNwcCAqLywKIAkJ
CQlCQ0RCQjhDQjBFMDg5NTg0MDBDNjBGRjYgLyogRmlsZS5oICovLAogCQkJCUJDMTg4MUQ5MEUw
OEM0RUQwMDA0OEMxMyAvKiBGaWxlLmlkbCAqLywKKwkJCQkyRTNCQzBCQjExN0QzQTRGMDBCOTQw
OUEgLyogRmlsZUVycm9yLmggKi8sCisJCQkJMkUzQkMwQkMxMTdEM0E0RjAwQjk0MDlBIC8qIEZp
bGVFcnJvci5pZGwgKi8sCiAJCQkJQkNEQkI4QUIwRTA4OENBNTAwQzYwRkY2IC8qIEZpbGVMaXN0
LmNwcCAqLywKIAkJCQlCQ0RCQjhBQTBFMDg4Q0E1MDBDNjBGRjYgLyogRmlsZUxpc3QuaCAqLywK
IAkJCQlCQzE4ODFEQzBFMDhDNTQzMDAwNDhDMTMgLyogRmlsZUxpc3QuaWRsICovLApAQCAtMTMz
NTcsNiArMTMzNzUsOCBAQAogCQkJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZv
cm1EYXRhLmggKi8sCiAJCQkJQkMwMEYwMTAwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZS5jcHAg
Ki8sCiAJCQkJQkMwMEYwMTEwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZS5oICovLAorCQkJCTJF
M0JDMEM4MTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgKi8sCisJCQkJMkUzQkMw
QzkxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmggKi8sCiAJCQkJQkMwMEYwMTIwRTBB
MTg5NTAwRkQwNEUzIC8qIEpTRmlsZUxpc3QuY3BwICovLAogCQkJCUJDMDBGMDEzMEUwQTE4OTUw
MEZEMDRFMyAvKiBKU0ZpbGVMaXN0LmggKi8sCiAJCQkJQkM5N0U0MTAxMDkxNTRGQTAwMTBEMzYx
IC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMTg4NjIsNiArMTg4ODIsMTAgQEAK
IAkJCQlDRUY0MThDRjExNzk2NzhDMDA5RDExMkMgLyogVmlld3BvcnRBcmd1bWVudHMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRDMwODBGMTE3Q0Y3RTcwMEE3OTFGNyAvKiBSZW5kZXJGcmFtZUJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRDMwOEQ2MTE3RDE2ODUwMEE3OTFGNyAvKiBSZW5k
ZXJJRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJFM0JDMEJEMTE3RDNBNEYwMEI5NDA5QSAv
KiBGaWxlRXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTJFM0JDMENCMTE3RDNFMDgwMEI5NDA5
QSAvKiBKU0ZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzQkMxMDgxMTdENDc5ODAw
Qjk0MDlBIC8qIERPTUZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzQkMxMEIxMTdE
NDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIxMDk3LDYgKzIxMTIxLDggQEAKIAkJCQlDRUY0MThDRTExNzk2NzhDMDA5RDExMkMgLyogVmll
d3BvcnRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEMzA4MEUxMTdDRjdFNzAw
QTc5MUY3IC8qIFJlbmRlckZyYW1lQmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQzMDhE
NTExN0QxNjg1MDBBNzkxRjcgLyogUmVuZGVySUZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJFM0JDMENBMTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkyRTNCQzEwOTExN0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpp
bmRleCA5MTllMzIxLi5kYTEwMjhhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KQEAgLTI5MCw2ICsyOTAsMjEgQEAgc3ViIHByb3RvdHlwZUhhc2hUYWJs
ZUFjY2Vzc29yCiAgICAgfQogfQogCitzdWIgR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZworewor
ICAgIG15ICRub2RlID0gc2hpZnQ7CisgICAgbXkgJGNvbmRpdGlvbmFsID0gJG5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9OworICAgIGlmICgkY29uZGl0aW9uYWwpIHsK
KyAgICAgICAgaWYgKCRjb25kaXRpb25hbCA9fiAvJi8pIHsKKyAgICAgICAgICAgIHJldHVybiAi
RU5BQkxFKCIgLiBqb2luKCIpICYmIEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25kaXRpb25hbCkp
IC4gIikiOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAu
IGpvaW4oIikgfHwgRU5BQkxFKCIsIHNwbGl0KC9cfC8sICRjb25kaXRpb25hbCkpIC4gIikiOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuICIiOworICAgIH0KK30KKwog
c3ViIEdlbmVyYXRlR2V0T3duUHJvcGVydHlTbG90Qm9keQogewogICAgIG15ICgkZGF0YU5vZGUs
ICRpbnRlcmZhY2VOYW1lLCAkY2xhc3NOYW1lLCAkaW1wbENsYXNzTmFtZSwgJGhhc0F0dHJpYnV0
ZXMsICRpbmxpbmVkKSA9IEBfOwpAQCAtNDk2LDcgKzUxMSw2IEBAIHN1YiBHZW5lcmF0ZUhlYWRl
cgogICAgIG15ICRoYXNSZWFsUGFyZW50ID0gQHskZGF0YU5vZGUtPnBhcmVudHN9ID4gMDsKICAg
ICBteSAkaGFzUGFyZW50ID0gJGhhc0xlZ2FjeVBhcmVudCB8fCAkaGFzUmVhbFBhcmVudDsKICAg
ICBteSAkcGFyZW50Q2xhc3NOYW1lID0gR2V0UGFyZW50Q2xhc3NOYW1lKCRkYXRhTm9kZSk7Ci0g
ICAgbXkgJGNvbmRpdGlvbmFsID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29u
ZGl0aW9uYWwifTsKICAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwogICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07CiAgICAgCkBAIC01
MDcsMTEgKzUyMSw4IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIHB1c2goQGhlYWRlckNvbnRl
bnRIZWFkZXIsICJcbiNpZm5kZWYgJGNsYXNzTmFtZSIgLiAiX2giKTsKICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50SGVhZGVyLCAiXG4jZGVmaW5lICRjbGFzc05hbWUiIC4gIl9oXG5cbiIpOwogCi0g
ICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nOwotICAgIGlmICgkY29uZGl0aW9uYWwpIHsKLSAgICAg
ICAgJGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwg
c3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudEhlYWRlciwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuXG4iKTsKLSAgICB9CisgICAg
bXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJhdGVDb25kaXRpb25hbFN0cmluZygkZGF0YU5v
ZGUpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnRIZWFkZXIsICIjaWYgJHtjb25kaXRpb25hbFN0
cmluZ31cblxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogCiAgICAgaWYgKCRoYXNQYXJlbnQp
IHsKICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyIkcGFyZW50Q2xhc3NOYW1lLmgifSA9IDE7CkBA
IC05MDYsNyArOTE3LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgfQogCiAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgIlxufSAvLyBuYW1lc3BhY2UgV2ViQ29yZVxuXG4iKTsKLSAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiI2VuZGlmIC8vICR7Y29uZGl0aW9uYWxTdHJpbmd9XG5cbiIpIGlm
ICRjb25kaXRpb25hbDsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiI2VuZGlmIC8vICR7Y29u
ZGl0aW9uYWxTdHJpbmd9XG5cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50LCAiI2VuZGlmXG4iKTsKIAogICAgICMgLSBHZW5lcmF0ZSBkZXBlbmRlbmNp
ZXMuCkBAIC05MjgsNyArOTM5LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICBt
eSAkaGFzUmVhbFBhcmVudCA9IEB7JGRhdGFOb2RlLT5wYXJlbnRzfSA+IDA7CiAgICAgbXkgJGhh
c1BhcmVudCA9ICRoYXNMZWdhY3lQYXJlbnQgfHwgJGhhc1JlYWxQYXJlbnQ7CiAgICAgbXkgJHBh
cmVudENsYXNzTmFtZSA9IEdldFBhcmVudENsYXNzTmFtZSgkZGF0YU5vZGUpOwotICAgIG15ICRj
b25kaXRpb25hbCA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFs
In07CiAgICAgbXkgJHZpc2libGVDbGFzc05hbWUgPSBHZXRWaXNpYmxlQ2xhc3NOYW1lKCRpbnRl
cmZhY2VOYW1lKTsKICAgICBteSAkZXZlbnRUYXJnZXQgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJFdmVudFRhcmdldCJ9OwogICAgIG15ICRuZWVkc01hcmtDaGlsZHJlbiA9ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU1hcmtGdW5jdGlvbiJ9IHx8ICRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkV2ZW50VGFyZ2V0In07CkBAIC05MzcsMTEg
Kzk0Nyw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgQGltcGxDb250ZW50SGVh
ZGVyID0gc3BsaXQoIlxyIiwgJGhlYWRlclRlbXBsYXRlKTsKIAogICAgIHB1c2goQGltcGxDb250
ZW50SGVhZGVyLCAiXG4jaW5jbHVkZSBcImNvbmZpZy5oXCJcbiIpOwotICAgIG15ICRjb25kaXRp
b25hbFN0cmluZzsKLSAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICRjb25kaXRpb25h
bFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5BQkxFKCIsIHNwbGl0KC8mLywgJGNv
bmRpdGlvbmFsKSkgLiAiKSI7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50SGVhZGVyLCAiXG4j
aWYgJHtjb25kaXRpb25hbFN0cmluZ31cblxuIik7Ci0gICAgfQorICAgIG15ICRjb25kaXRpb25h
bFN0cmluZyA9IEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGRhdGFOb2RlKTsKKyAgICBwdXNo
KEBpbXBsQ29udGVudEhlYWRlciwgIlxuI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG5cbiIpIGlm
ICRjb25kaXRpb25hbFN0cmluZzsKICAgICBwdXNoKEBpbXBsQ29udGVudEhlYWRlciwgIiNpbmNs
dWRlIFwiJGNsYXNzTmFtZS5oXCJcblxuIik7CiAKICAgICBBZGRJbmNsdWRlc0ZvclNWR0FuaW1h
dGVkVHlwZSgkaW50ZXJmYWNlTmFtZSkgaWYgJGNsYXNzTmFtZSA9fiAvXkpTU1ZHQW5pbWF0ZWQv
OwpAQCAtMTMwNSwxMSArMTMxMiw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgICAgICAgICAgbXkgJGdldEZ1bmN0aW9uTmFtZSA9ICJqcyIgLiAkaW50ZXJmYWNlTmFtZSAu
ICAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUp
IC4gKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLyA/ICJDb25z
dHJ1Y3RvciIgOiAiIik7CiAgICAgICAgICAgICAgICAgbXkgJGltcGxHZXR0ZXJGdW5jdGlvbk5h
bWUgPSAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJzdCgkbmFtZSk7CiAKLSAgICAgICAgICAgICAg
ICBteSAkY29uZGl0aW9uYWwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDb25kaXRpb25hbCJ9OwotICAgICAgICAgICAgICAgIGlmICgkY29uZGl0aW9uYWwp
IHsKLSAgICAgICAgICAgICAgICAgICAgJGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4g
am9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0
cmluZ31cbiIpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBteSAkYXR0cmli
dXRlQ29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRhdHRyaWJ1
dGUtPnNpZ25hdHVyZSk7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYg
JHthdHRyaWJ1dGVDb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRhdHRyaWJ1dGVDb25kaXRpb25h
bFN0cmluZzsKIAogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNWYWx1ZSAk
e2dldEZ1bmN0aW9uTmFtZX0oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25z
dCBJZGVudGlmaWVyJilcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
e1xuIik7CkBAIC0xNDE3LDkgKzE0MjEsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgog
CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG4iKTsKIAotICAgICAgICAg
ICAgICAgIGlmICgkY29uZGl0aW9uYWwpIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIjZW5kaWZcbiIpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuIikgaWYgJGF0dHJpYnV0ZUNvbmRpdGlvbmFs
U3RyaW5nOwogCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwogICAg
ICAgICAgICAgfQpAQCAtMTQ4NiwxMSArMTQ4OCw4IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0
aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICBteSAkcHV0RnVuY3Rpb25OYW1lID0gInNldEpT
IiAuICRpbnRlcmZhY2VOYW1lIC4gICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRuYW1lKSAu
ICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8gPyAiQ29uc3Ry
dWN0b3IiIDogIiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgbXkgJGltcGxTZXR0ZXJGdW5j
dGlvbk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkbmFtZSk7CiAKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG15ICRjb25kaXRpb25hbCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNv
bmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQo
LyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIik7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkYXR0cmlidXRl
Q29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRhdHRyaWJ1dGUt
PnNpZ25hdHVyZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiNpZiAke2F0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGF0dHJpYnV0ZUNvbmRp
dGlvbmFsU3RyaW5nOwogCiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgInZvaWQgJHtwdXRGdW5jdGlvbk5hbWV9KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRo
aXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAie1xuIik7CkBAIC0xNTcxLDkgKzE1NzAsNyBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cbiIpOwogCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIp
IGlmICRhdHRyaWJ1dGVDb25kaXRpb25hbFN0cmluZzsKIAogICAgICAgICAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIpOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC0x
ODI3LDcgKzE4MjQsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgcHVzaChA
aW1wbENvbnRlbnQsICJcbn1cbiIpOwogCi0gICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiNlbmRp
ZiAvLyAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGNvbmRpdGlvbmFsOworICAgIHB1c2go
QGltcGxDb250ZW50LCAiXG4jZW5kaWYgLy8gJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRj
b25kaXRpb25hbFN0cmluZzsKIH0KIAogc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb25GdW5jdGlv
bkNhbGwoKQpAQCAtMjE5MSw3ICsyMTg4LDEyIEBAIHRhYmxlU2l6ZUxvb3A6CiAgICAgICAgICAg
ICAkY29uZGl0aW9uYWwgPSAkY29uZGl0aW9uYWxzLT57JGtleX07CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKCRjb25kaXRpb25hbCkgewotICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5n
ID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAkY29uZGl0aW9u
YWwpKSAuICIpIjsKKyAgICAgICAgICAgIG15ICRjb25kaXRpb25hbFN0cmluZzsKKyAgICAgICAg
ICAgIGlmICgkY29uZGl0aW9uYWwgPX4gLyYvKSB7CisgICAgICAgICAgICAgICAgJGNvbmRpdGlv
bmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQoLyYvLCAk
Y29uZGl0aW9uYWwpKSAuICIpIjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgJGNvbmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSB8fCBFTkFCTEUoIiwg
c3BsaXQoL1x8LywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIik7CiAg
ICAgICAgIH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG0KaW5kZXggM2M1ZmU0NS4uYTBmMTMzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQpAQCAtMTAzNCw3ICsxMDM0LDExIEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmc7CiAg
ICAgaWYgKCRjb25kaXRpb25hbCkgewotICAgICAgICAkY29uZGl0aW9uYWxTdHJpbmcgPSAiRU5B
QkxFKCIgLiBqb2luKCIpICYmIEVOQUJMRSgiLCBzcGxpdCgvJi8sICRjb25kaXRpb25hbCkpIC4g
IikiOworICAgICAgICBpZiAoJGNvbmRpdGlvbmFsID1+IC8mLykgeworICAgICAgICAgICAgJGNv
bmRpdGlvbmFsU3RyaW5nID0gIkVOQUJMRSgiIC4gam9pbigiKSAmJiBFTkFCTEUoIiwgc3BsaXQo
LyYvLCAkY29uZGl0aW9uYWwpKSAuICIpIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICRjb25kaXRpb25hbFN0cmluZyA9ICJFTkFCTEUoIiAuIGpvaW4oIikgfHwgRU5BQkxFKCIsIHNw
bGl0KC9cfC8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAgICB9CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50SGVhZGVyLCAiXG4jaWYgJHtjb25kaXRpb25hbFN0cmluZ31cblxuIik7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRl
eCA0MmNkYTk5Li4yZThkOWYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yVjgucG0KQEAgLTE4OSw3ICsxODksMTEgQEAgc3ViIEdlbmVyYXRlQ29uZGl0aW9uYWxT
dHJpbmcKICAgICBteSAkbm9kZSA9IHNoaWZ0OwogICAgIG15ICRjb25kaXRpb25hbCA9ICRub2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uZGl0aW9uYWwifTsKICAgICBpZiAoJGNvbmRpdGlv
bmFsKSB7Ci0gICAgICAgIHJldHVybiAiRU5BQkxFKCIgLiBqb2luKCIpICYmIEVOQUJMRSgiLCBz
cGxpdCgvJi8sICRjb25kaXRpb25hbCkpIC4gIikiOworICAgICAgICBpZiAoJGNvbmRpdGlvbmFs
ID1+IC8mLykgeworICAgICAgICAgICAgcmV0dXJuICJFTkFCTEUoIiAuIGpvaW4oIikgJiYgRU5B
QkxFKCIsIHNwbGl0KC8mLywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICByZXR1cm4gIkVOQUJMRSgiIC4gam9pbigiKSB8fCBFTkFCTEUoIiwgc3Bs
aXQoL1x8LywgJGNvbmRpdGlvbmFsKSkgLiAiKSI7CisgICAgICAgIH0KICAgICB9IGVsc2Ugewog
ICAgICAgICByZXR1cm4gIiI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETFN0cnVjdHVyZS5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1
Y3R1cmUucG0KaW5kZXggNjIyNGU1NC4uZTA2MDI1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvSURMU3RydWN0dXJlLnBtCkBAIC05Niw3ICs5Niw3IEBAICR0eXBlTmFtZXNwYWNlU2VsZWN0
b3IgPSAnKCg/OicgLiAkaWRsSWQgLiAnKjo6KSopXHMqKCcgLiAkaWRsRGF0YVR5cGUgLiAnKikn
OwogJGV4Y2VwdGlvblNlbGVjdG9yID0gJ2V4Y2VwdGlvblxzKignIC4gJGlkbElkTnMgLiAnKilc
cyooW2EtekEtWlxzeztdKn07KSc7CiAkZXhjZXB0aW9uU3ViU2VsZWN0b3IgPSAne1xzKicgLiAk
c3VwcG9ydGVkVHlwZXMgLiAnXHMqKCcgLiAkaWRsVHlwZSAuICcqKVxzKjtccyp9JzsKIAotJGlu
dGVyZmFjZVNlbGVjdG9yID0gJ2ludGVyZmFjZVxzKigoPzonIC4gJGV4dGVuZGVkQXR0cmlidXRl
U3ludGF4IC4gJyApPykoJyAuICRpZGxJZE5zIC4gJyopXHMqKD86OihccypbXntdKikpP3soW2Et
ekEtWjAtOV89XHMoKSw7OlxbXF1dKiknOworJGludGVyZmFjZVNlbGVjdG9yID0gJ2ludGVyZmFj
ZVxzKigoPzonIC4gJGV4dGVuZGVkQXR0cmlidXRlU3ludGF4IC4gJyApPykoJyAuICRpZGxJZE5z
IC4gJyopXHMqKD86OihccypbXntdKikpP3soW2EtekEtWjAtOV89XHMoKSw7OlxbXF0mXHxdKikn
OwogJGludGVyZmFjZU1ldGhvZFNlbGVjdG9yID0gJ1xzKigoPzonIC4gJGV4dGVuZGVkQXR0cmli
dXRlU3ludGF4IC4gJyApPyknIC4gJHN1cHBvcnRlZFR5cGVzIC4gJ1xzKignIC4gJGlkbElkTnMg
LiAnKilccypcKFxzKihbYS16QS1aMC05OlxzLD1cW1xdXSopJzsKICRpbnRlcmZhY2VQYXJhbWV0
ZXJTZWxlY3RvciA9ICdpblxzKigoPzonIC4gJGV4dGVuZGVkQXR0cmlidXRlU3ludGF4IC4gJyAp
PyknIC4gJHN1cHBvcnRlZFR5cGVzIC4gJ1xzKignIC4gJGlkbElkTnMgLiAnKiknOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggYi9XZWJDb3JlL2RvbS9FeGNlcHRp
b25Db2RlLmgKaW5kZXggNTczZmIzNi4uNDMyNTM4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RXhjZXB0aW9uQ29kZS5oCisrKyBiL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaApAQCAtNTgs
NiArNTgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBQk9SVF9FUlIgPSAyMCwK
ICAgICAgICAgVVJMX01JU01BVENIX0VSUiA9IDIxLAogICAgICAgICBRVU9UQV9FWENFRURFRF9F
UlIgPSAyMiwKKworICAgICAgICAvLyBJbnRyb2R1Y2VkIGluIEZpbGUgQVBJOgorI2lmIEVOQUJM
RShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgICAgICBOT1RfUkVBREFC
TEVfRVJSID0gMjQsCisgICAgICAgIEVOQ09ESU5HX0VSUiA9IDI2LAorI2VuZGlmCiAgICAgfTsK
IAogICAgIGVudW0gRXhjZXB0aW9uVHlwZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmls
ZUVycm9yLmggYi9XZWJDb3JlL2h0bWwvRmlsZUVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZjcyMTkzZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9G
aWxlRXJyb3IuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRmlsZUVycm9yX2gKKyNkZWZpbmUg
RmlsZUVycm9yX2gKKworI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJ
VEVSKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRmlsZUVycm9yIDogcHVibGlj
IFJlZkNvdW50ZWQ8RmlsZUVycm9yPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
RmlsZUVycm9yPiBjcmVhdGUoRXhjZXB0aW9uQ29kZSBjb2RlKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgRmlsZUVycm9yKGNvZGUpKTsgfQorCisgICAgRXhjZXB0aW9uQ29kZSBjb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jb2RlOyB9CisKK3ByaXZhdGU6CisgICAgRmlsZUVycm9yKCkgOiBtX2NvZGUo
MCkgeyB9CisKKyAgICBFeGNlcHRpb25Db2RlIG1fY29kZTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVf
V1JJVEVSKQorCisjZW5kaWYgLy8gRmlsZUVycm9yX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9GaWxlRXJyb3IuaWRsIGIvV2ViQ29yZS9odG1sL0ZpbGVFcnJvci5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMyYjA4YwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvaHRtbC9GaWxlRXJyb3IuaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAg
IGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfUkVBREVSfEZJTEVfV1JJVEVS
CisgICAgXSBGaWxlRXJyb3IgeworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT19NT0RJ
RklDQVRJT05fQUxMT1dFRF9FUlIgPSA3OworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBO
T1RfRk9VTkRfRVJSID0gODsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU0VDVVJJVFlf
RVJSID0gMTg7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFCT1JUX0VSUiA9IDIwOwor
ICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT1RfUkVBREFCTEVfRVJSID0gMjQ7CisgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEVOQ09ESU5HX0VSUiA9IDI2OworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICB9OworfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAppbmRleCAzMWU0ZDRmLi43NmI4NDIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNzE0LDYgKzcxNCw4
IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBET01Gb3JtRGF0YUNvbnN0
cnVjdG9yIEZvcm1EYXRhOwogCisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9RklMRV9S
RUFERVJ8RklMRV9XUklURVJdIEZpbGVFcnJvckNvbnN0cnVjdG9yIEZpbGVFcnJvcjsKKwogI2Vu
ZGlmIC8vIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKIAogI2lmIGRlZmluZWQoVjhfQklO
RElORykgJiYgVjhfQklORElORwo=
</data>
<flag name="commit-queue"
          id="37721"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54080</attachid>
            <date>2010-04-22 11:37:46 -0700</date>
            <delta_ts>2010-04-22 11:57:02 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>37840_3</filename>
            <type>text/plain</type>
            <size>18346</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggYjNjNTMxYy4uZDIwMjg4
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysr
IGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1Nyw2ICsxNTcs
NyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1u
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmggXAorICAgICQoaW50ZXJtZWRpYXRl
cykvaHRtbC9KU0ZpbGVFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxl
TGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNIVE1MQWxsQ29sbGVjdGlvbi5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNIVE1MQW5jaG9yRWxlbWVudC5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsgYi9XZWJDb3Jl
L0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IGY2YTVlZmQuLmNjYjNlZmEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMTM4LDYgKzEzOCw3IEBAIEdF
TiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCisgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGVFcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2Jp
bmRpbmdzL1Y4RmlsZUxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEhU
TUxBbGxDb2xsZWN0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhIVE1M
QW5jaG9yRWxlbWVudC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMWZhMWY2Yi4uZTlhZGRjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0w
NC0yMiAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEZpbGVFcnJvciBmb3IgRmlsZSBBUEku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzg0MAor
CisgICAgICAgIFRoZSB0ZXN0IHdpbGwgYmUgYWRkZWQgd2hlbiBpbXBsZW1lbnRpbmcgRmlsZVJl
YWRlciBhbmQgRmlsZXJXcml0ZXIuCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmlu
ZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRXhjZXB0aW9uQ29kZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBodG1sL0ZpbGVFcnJvci5oOiBBZGRlZC4KKyAgICAg
ICAgKiBodG1sL0ZpbGVFcnJvci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmlkbDoKKwogMjAxMC0wNC0yMiAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNzJjNWQ0
Ny4uMjVmYzk3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTg1LDYgKzg1LDcgQEAKICNpbmNsdWRlICJK
U0V2ZW50RXhjZXB0aW9uLmNwcCIKICNpbmNsdWRlICJKU0V2ZW50U291cmNlLmNwcCIKICNpbmNs
dWRlICJKU0ZpbGUuY3BwIgorI2luY2x1ZGUgIkpTRmlsZUVycm9yLmNwcCIKICNpbmNsdWRlICJK
U0ZpbGVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJK
U0dlb3Bvc2l0aW9uLmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAxYWFhMDY2Li4xMGU3ZjkyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0xMjksNiArMTI5LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAg
RXZlbnRTb3VyY2UgXAogICAgIEV2ZW50VGFyZ2V0IFwKICAgICBGaWxlIFwKKyAgICBGaWxlRXJy
b3IgXAogICAgIEZpbGVMaXN0IFwKICAgICBHZW9sb2NhdGlvbiBcCiAgICAgR2VvcG9zaXRpb24g
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KaW5kZXggZTUxM2YzNi4uYmY0ZWVjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xOTQsNiArMTk0LDcgQEAg
SURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbCBc
CiAJV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmlkbCBcCiAJV2ViQ29yZS9odG1sL0ZpbGUuaWRs
IFwKKwlXZWJDb3JlL2h0bWwvRmlsZUVycm9yLmlkbCBcCiAJV2ViQ29yZS9odG1sL0ZpbGVMaXN0
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCBcCiAJV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBcCkBAIC0xMDQ4LDYgKzEwNDksNyBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9ET01Gb3JtRGF0YS5oIFwKIAlXZWJDb3JlL2h0
bWwvRmlsZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9GaWxlLmggXAorCVdlYkNvcmUvaHRtbC9GaWxl
RXJyb3IuaCBcCiAJV2ViQ29yZS9odG1sL0ZpbGVMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0Zp
bGVMaXN0LmggXAogCVdlYkNvcmUvaHRtbC9GaWxlU3RyZWFtLmNwcCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDliNzQzMjAu
LjhlZmQ5YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0xMDksNiArMTA5LDcgQEAKICAgICAgICAgICAgICdodG1sL0RhdGFH
cmlkQ29sdW1uTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEuaWRsJywK
ICAgICAgICAgICAgICdodG1sL0ZpbGUuaWRsJywKKyAgICAgICAgICAgICdodG1sL0ZpbGVFcnJv
ci5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZUxpc3QuaWRsJywKICAgICAgICAgICAgICdo
dG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5pZGwnLApAQCAtMTQ0Miw2ICsxNDQzLDcgQEAKICAgICAgICAgICAgICdodG1sL0Rh
dGVDb21wb25lbnRzLmgnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZS5jcHAnLAogICAgICAgICAg
ICAgJ2h0bWwvRmlsZS5oJywKKyAgICAgICAgICAgICdodG1sL0ZpbGVFcnJvci5oJywKICAgICAg
ICAgICAgICdodG1sL0ZpbGVMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9GaWxlTGlzdC5o
JywKICAgICAgICAgICAgICdodG1sL0ZpbGVTdHJlYW0uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGU0NWJkOTkuLjgyYjkz
NjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
LnByaQpAQCAtMzIwLDYgKzMyMCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgaHRtbC9EYXRh
R3JpZENvbHVtbkxpc3QuaWRsIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmlkbCBcCiAgICAgaHRt
bC9GaWxlLmlkbCBcCisgICAgaHRtbC9GaWxlRXJyb3IuaWRsIFwKICAgICBodG1sL0ZpbGVMaXN0
LmlkbCBcCiAgICAgaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwgXAogICAgIGh0bWwvSFRNTEF1
ZGlvRWxlbWVudC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggYTMwNTYwOS4uYjgzMTc5NiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xMzIxLDYgKzEzMjEs
NyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0RPTURhdGFHcmlkRGF0YVNvdXJjZS5oIFwKICAg
ICBodG1sL0RPTUZvcm1EYXRhLmggXAogICAgIGh0bWwvRmlsZS5oIFwKKyAgICBodG1sL0ZpbGVF
cnJvci5oIFwKICAgICBodG1sL0ZpbGVMaXN0LmggXAogICAgIGh0bWwvRmlsZVN0cmVhbS5oIFwK
ICAgICBodG1sL0ZpbGVTdHJlYW1DbGllbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagppbmRleCAxMDQ5ZGE5Li44YjI2ZDcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTM2OTMsNiArMzY5MywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRmlsZUVycm9yLmNwcCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlRXJyb3IuaCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNGaWxlTGlzdC5jcHAiDQog
CQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMzAzNTUsNiArMzAzNjMsMTAgQEAK
IAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRt
bFxGaWxlRXJyb3IuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcRmlsZUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWFkZGEzYy4uZmRj
NTBlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYy
Nyw2ICs2MjcsMTIgQEAKIAkJMkUyRDk5RUMxMEUyQkQzOTAwNDk2MzM3IC8qIERPTUJsb2JJbnRl
cm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkUyRDk5RTkxMEUyQkMzODAwNDk2MzM3IC8qIERPTUJsb2JJbnRlcm5hbC5o
ICovOyB9OwogCQkyRTNCQkYwNzExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNCQkYwNTExNjJEQTExMDBC
OTQwOUEgLyogVVVJRC5jcHAgKi87IH07CiAJCTJFM0JCRjA4MTE2MkRBMTEwMEI5NDA5QSAvKiBV
VUlELmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNC
QkYwNjExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovOyB9OworCQkyRTNCQzBCRDExN0QzQTRG
MDBCOTQwOUEgLyogRmlsZUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRTNCQzBCQjExN0QzQTRGMDBCOTQwOUEgLyogRmlsZUVycm9yLmggKi87
IH07CisJCTJFM0JDMENBMTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNCQzBDODExN0QzRTA4
MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovOyB9OworCQkyRTNCQzBDQjExN0QzRTA4MDBC
OTQwOUEgLyogSlNGaWxlRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJFM0JDMEM5MTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oICov
OyB9OworCQkyRTNCQzEwODExN0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNCQzEwNjExN0Q0Nzk4
MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLmggKi87IH07CisJCTJFM0JDMTA5MTE3RDQ3OTgwMEI5
NDA5QSAvKiBET01GaWxlRXJyb3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRTNCQzEwNzExN0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLm1t
ICovOyB9OworCQkyRTNCQzEwQjExN0Q0N0M4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9ySW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JD
MTBBMTE3RDQ3QzgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3JJbnRlcm5hbC5oICovOyB9OwogCQky
RTQzNDY0NDBGNTQ2QTgyMDBCMEYxQkEgLyogR2VuZXJpY1dvcmtlclRhc2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNDM0NjMyMEY1NDZBODIwMEIw
RjFCQSAvKiBHZW5lcmljV29ya2VyVGFzay5oICovOyB9OwogCQkyRTQzNDY0NTBGNTQ2QTgyMDBC
MEYxQkEgLyogV29ya2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJFNDM0NjMzMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXIuY3BwICovOyB9Owog
CQkyRTQzNDY0NjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTQzNDYzNDBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyLmggKi87IH07CkBAIC02MDQzLDYgKzYwNDksMTMgQEAKIAkJMkUyRDk5RTkxMEUyQkMz
ODAwNDk2MzM3IC8qIERPTUJsb2JJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01CbG9iSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkUzQkJGMDUxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVVVJRC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJFM0JCRjA2MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFVVSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMw
QkIxMTdEM0E0RjAwQjk0MDlBIC8qIEZpbGVFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGaWxlRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUz
QkMwQkMxMTdEM0E0RjAwQjk0MDlBIC8qIEZpbGVFcnJvci5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRmlsZUVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzQkMw
QzgxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkUzQkMwQzkxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZUVycm9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRmlsZUVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJFM0JDMTA3MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01G
aWxlRXJyb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01G
aWxlRXJyb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJFM0JDMTBBMTE3RDQ3
QzgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3JJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01GaWxlRXJyb3JJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRTQzNDYzMjBGNTQ2QTgyMDBCMEYxQkEgLyogR2VuZXJpY1dvcmtlclRhc2su
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gR2VuZXJpY1dvcmtlclRhc2suaDsg
cGF0aCA9IHdvcmtlcnMvR2VuZXJpY1dvcmtlclRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkU0MzQ2MzMwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXb3JrZXIuY3BwOyBwYXRoID0gd29ya2Vycy9X
b3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTQzNDYzNDBGNTQ2QTgy
MDBCMEYxQkEgLyogV29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdv
cmtlci5oOyBwYXRoID0gd29ya2Vycy9Xb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEyNDQ3LDYgKzEyNDYwLDggQEAKIAkJCQkyRTJEOTlFNjEwRTJCQzFDMDA0OTYzMzcg
LyogRE9NQmxvYi5tbSAqLywKIAkJCQlCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmls
ZS5oICovLAogCQkJCUJDMDBFRkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICovLAor
CQkJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLywKKwkJCQky
RTNCQzEwNzExN0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLm1tICovLAogCQkJCUJDMDBG
MDAxMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlTGlzdC5oICovLAogCQkJCUJDMDBGMDAyMEUw
QTE4NTUwMEZEMDRFMyAvKiBET01GaWxlTGlzdC5tbSAqLywKIAkJCQk4NURGODEyMTBBQTc3ODcy
MDA0ODZBRDcgLyogRE9NSFRNTEFuY2hvckVsZW1lbnQuaCAqLywKQEAgLTEyNjE4LDYgKzEyNjMz
LDcgQEAKIAkJCQk4NUU3MTE0QjBBQzVENTM0MDA1MzI3MEYgLyogRE9NRW50aXR5UmVmZXJlbmNl
SW50ZXJuYWwuaCAqLywKIAkJCQk4NUI0OThGNDBBREIzMzdBMDA5MjVDQkIgLyogRE9NRXZlbnRJ
bnRlcm5hbC5oICovLAogCQkJCUJDMDBGMDAwMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlSW50
ZXJuYWwuaCAqLywKKwkJCQkyRTNCQzEwQTExN0Q0N0M4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9y
SW50ZXJuYWwuaCAqLywKIAkJCQlCQzAwRjAwMzBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZUxp
c3RJbnRlcm5hbC5oICovLAogCQkJCTg1RTcxMTRDMEFDNUQ1MzQwMDUzMjcwRiAvKiBET01IVE1M
QW5jaG9yRWxlbWVudEludGVybmFsLmggKi8sCiAJCQkJODU1MjQ3Q0QwQUQ4NTBCODAwMTIwOTNC
IC8qIERPTUhUTUxBcHBsZXRFbGVtZW50SW50ZXJuYWwuaCAqLywKQEAgLTEzMDIwLDYgKzEzMDM2
LDggQEAKIAkJCQlCQ0RCQjhDQzBFMDg5NTg0MDBDNjBGRjYgLyogRmlsZS5jcHAgKi8sCiAJCQkJ
QkNEQkI4Q0IwRTA4OTU4NDAwQzYwRkY2IC8qIEZpbGUuaCAqLywKIAkJCQlCQzE4ODFEOTBFMDhD
NEVEMDAwNDhDMTMgLyogRmlsZS5pZGwgKi8sCisJCQkJMkUzQkMwQkIxMTdEM0E0RjAwQjk0MDlB
IC8qIEZpbGVFcnJvci5oICovLAorCQkJCTJFM0JDMEJDMTE3RDNBNEYwMEI5NDA5QSAvKiBGaWxl
RXJyb3IuaWRsICovLAogCQkJCUJDREJCOEFCMEUwODhDQTUwMEM2MEZGNiAvKiBGaWxlTGlzdC5j
cHAgKi8sCiAJCQkJQkNEQkI4QUEwRTA4OENBNTAwQzYwRkY2IC8qIEZpbGVMaXN0LmggKi8sCiAJ
CQkJQkMxODgxREMwRTA4QzU0MzAwMDQ4QzEzIC8qIEZpbGVMaXN0LmlkbCAqLywKQEAgLTEzMzYx
LDYgKzEzMzc5LDggQEAKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YS5oICovLAogCQkJCUJDMDBGMDEwMEUwQTE4OTUwMEZEMDRFMyAvKiBKU0ZpbGUuY3BwICov
LAogCQkJCUJDMDBGMDExMEUwQTE4OTUwMEZEMDRFMyAvKiBKU0ZpbGUuaCAqLywKKwkJCQkyRTNC
QzBDODExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovLAorCQkJCTJFM0JDMEM5
MTE3RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oICovLAogCQkJCUJDMDBGMDEyMEUwQTE4
OTUwMEZEMDRFMyAvKiBKU0ZpbGVMaXN0LmNwcCAqLywKIAkJCQlCQzAwRjAxMzBFMEExODk1MDBG
RDA0RTMgLyogSlNGaWxlTGlzdC5oICovLAogCQkJCUJDOTdFNDEwMTA5MTU0RkEwMDEwRDM2MSAv
KiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKQEAgLTE4ODY5LDYgKzE4ODg5LDEwIEBACiAJ
CQkJMDhDNkE3QUMxMTdERkJBQjAwRkVBMUEyIC8qIFJlbmRlclNWR1Jlc291cmNlU29saWRDb2xv
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhBN0U5MjcxMTgwNUVEQTAwRDBCODcwIC8qIFNWR1Bh
aW50U2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEE3RTkyQjExODA1RUYxMDBEMEI4NzAg
LyogU1ZHUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTJFM0JDMEJEMTE3RDNBNEYwMEI5
NDA5QSAvKiBGaWxlRXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTJFM0JDMENCMTE3RDNFMDgw
MEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzQkMxMDgxMTdE
NDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzQkMx
MEIxMTdENDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTIxMTA1LDYgKzIxMTI5LDggQEAKIAkJCQkwOEM2QTdBQjExN0RGQkFCMDBGRUExQTIg
LyogUmVuZGVyU1ZHUmVzb3VyY2VTb2xpZENvbG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
Mzg4OUEwMTE2RUE5REMwMEFERjMxMyAvKiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwOEE3RTkyRjExODA1RUZEMDBEMEI4NzAgLyogU1ZHUmVzb3VyY2UuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMkUzQkMwQ0ExMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTJFM0JDMTA5MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxl
RXJyb3IubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V4Y2VwdGlv
bkNvZGUuaCBiL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAppbmRleCA1NzNmYjM2Li40MzI1
Mzg2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmgKKysrIGIvV2ViQ29y
ZS9kb20vRXhjZXB0aW9uQ29kZS5oCkBAIC01OCw2ICs1OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIEFCT1JUX0VSUiA9IDIwLAogICAgICAgICBVUkxfTUlTTUFUQ0hfRVJSID0g
MjEsCiAgICAgICAgIFFVT1RBX0VYQ0VFREVEX0VSUiA9IDIyLAorCisgICAgICAgIC8vIEludHJv
ZHVjZWQgaW4gRmlsZSBBUEk6CisjaWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklM
RV9XUklURVIpCisgICAgICAgIE5PVF9SRUFEQUJMRV9FUlIgPSAyNCwKKyAgICAgICAgRU5DT0RJ
TkdfRVJSID0gMjYsCisjZW5kaWYKICAgICB9OwogCiAgICAgZW51bSBFeGNlcHRpb25UeXBlIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9GaWxlRXJyb3IuaCBiL1dlYkNvcmUvaHRtbC9GaWxl
RXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzIxOTNlCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ZpbGVFcnJvci5oCkBAIC0wLDAgKzEsNTcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBGaWxlRXJyb3JfaAorI2RlZmluZSBGaWxlRXJyb3JfaAorCisjaWYgRU5BQkxFKEZJ
TEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisKKyNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBGaWxlRXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxGaWxlRXJyb3I+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGaWxlRXJyb3I+IGNyZWF0ZShFeGNlcHRpb25D
b2RlIGNvZGUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBGaWxlRXJyb3IoY29kZSkpOyB9CisKKyAg
ICBFeGNlcHRpb25Db2RlIGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KKworcHJpdmF0
ZToKKyAgICBGaWxlRXJyb3IoKSA6IG1fY29kZSgwKSB7IH0KKworICAgIEV4Y2VwdGlvbkNvZGUg
bV9jb2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisKKyNlbmRpZiAvLyBGaWxlRXJy
b3JfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0ZpbGVFcnJvci5pZGwgYi9XZWJDb3JlL2h0
bWwvRmlsZUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzJi
MDhjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ZpbGVFcnJvci5pZGwKQEAgLTAs
MCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0
aW9uYWw9RklMRV9SRUFERVJ8RklMRV9XUklURVIKKyAgICBdIEZpbGVFcnJvciB7CisgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiA9IDc7Cisg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IE5PVF9GT1VORF9FUlIgPSA4OworICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTRUNVUklUWV9FUlIgPSAxODsKKyAgICAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgQUJPUlRfRVJSID0gMjA7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IE5PVF9SRUFEQUJMRV9FUlIgPSAyNDsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgRU5D
T0RJTkdfRVJSID0gMjY7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCBjb2RlOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDI2Y2I4MWEuLjY2ZWJkODEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCkBAIC03MTQsNiArNzE0LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAg
ICAgYXR0cmlidXRlIERPTUZvcm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7CiAKKyAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1GSUxFX1JFQURFUnxGSUxFX1dSSVRFUl0gRmlsZUVycm9y
Q29uc3RydWN0b3IgRmlsZUVycm9yOworCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZB
U0NSSVBUKQogCiAjaWYgZGVmaW5lZChWOF9CSU5ESU5HKSAmJiBWOF9CSU5ESU5HCg==
</data>
<flag name="review"
          id="37961"
          type_id="1"
          status="+"
          setter="dimich"
    />
    <flag name="commit-queue"
          id="37962"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>