<?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>146125</bug_id>
          
          <creation_ts>2015-06-18 15:37:37 -0700</creation_ts>
          <short_desc>Extend run-benchmark script capability to supoort mobile device</short_desc>
          <delta_ts>2015-06-18 19:33:27 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>dewei_zhu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1103056</commentid>
    <comment_count>0</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2015-06-18 15:37:37 -0700</bug_when>
    <thetext>Extend run-benchmark script capability to supoort mobile device</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103059</commentid>
    <comment_count>1</comment_count>
      <attachid>255143</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2015-06-18 15:39:19 -0700</bug_when>
    <thetext>Created attachment 255143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103113</commentid>
    <comment_count>2</comment_count>
      <attachid>255143</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-06-18 17:46:29 -0700</bug_when>
    <thetext>Comment on attachment 255143
Patch

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

&gt; Tools/ChangeLog:7
&gt; +

You should explain what kind of code changes you&apos;re making here.
See other change log entires.

&gt; Tools/Scripts/run-benchmark:14
&gt;  _log.addHandler(ch)

This logging code should also be moved into some helper function in run_benchmark.py

&gt; Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:29
&gt; +        _log.info(&apos;Initializing benchmark runner&apos;)

This logging is probably not useful. Remove it?

&gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:9
&gt; -    def prepareEnv(self):
&gt; +    def prepareEnv(self, udid=None):

Why don&apos;t we stick with the same &quot;deviceID&quot;?

&gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:13
&gt; +# _log.setLevel(logging.INFO)

What&apos;s going on with these commented out code?
r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103119</commentid>
    <comment_count>3</comment_count>
      <attachid>255159</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2015-06-18 18:23:51 -0700</bug_when>
    <thetext>Created attachment 255159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103122</commentid>
    <comment_count>4</comment_count>
      <attachid>255159</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-06-18 18:31:14 -0700</bug_when>
    <thetext>Comment on attachment 255159
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        Extend capability of run-benchmark to support mobile device

You need a period after the sentence.

&gt; Tools/ChangeLog:11
&gt; +        Correct typo.
&gt; +        * Scripts/run-benchmark:

You need a blank line between the line line of the description and the list of files.

&gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:9
&gt; -    def prepareEnv(self):
&gt; +    def prepareEnv(self, deviceID=None):

We don&apos;t need default arguments in these functions because we always call it with deviceID.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103124</commentid>
    <comment_count>5</comment_count>
      <attachid>255162</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2015-06-18 18:40:08 -0700</bug_when>
    <thetext>Created attachment 255162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103134</commentid>
    <comment_count>6</comment_count>
      <attachid>255162</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-18 19:33:22 -0700</bug_when>
    <thetext>Comment on attachment 255162
Patch

Clearing flags on attachment: 255162

Committed r185732: &lt;http://trac.webkit.org/changeset/185732&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1103135</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-18 19:33:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255143</attachid>
            <date>2015-06-18 15:39:19 -0700</date>
            <delta_ts>2015-06-18 18:23:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146125-20150618153842.patch</filename>
            <type>text/plain</type>
            <size>12469</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjMyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmRhNzM5YWZjYWY5NjBlNmIxNTI0ZmJlMjA0MmJhZDYz
ZTk5ODRiYy4uZTUzOWRjODNiZGM1MDg1MDBjNjYzNDA3Nzc3MjEwZDY2MzZlNjUzYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMy
IEBACisyMDE1LTA2LTE4ICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgorCisgICAg
ICAgIEV4dGVuZCBydW4tYmVuY2htYXJrIHNjcmlwdCBjYXBhYmlsaXR5IHRvIHN1cG9vcnQgbW9i
aWxlIGRldmljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ2MTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3J1bi1iZW5jaG1hcms6CisgICAgICAgIChtYWluKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5l
ci5weToKKyAgICAgICAgKEJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6CisgICAgICAgIChCZW5j
aG1hcmtSdW5uZXIuZXhlY3V0ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoQnJv
d3NlckRyaXZlci5wcmVwYXJlRW52KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAg
ICAoT1NYQnJvd3NlckRyaXZlci5wcmVwYXJlRW52KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHk6
CisgICAgICAgIChPU1hTYWZhcmlEcml2ZXIucHJlcGFyZUVudik6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2h0dHBfc2VydmVyX2RyaXZlci9odHRwX3NlcnZl
cl9kcml2ZXIucHk6CisgICAgICAgIChIVFRQU2VydmVyRHJpdmVyLmdldFJldHVybkNvZGUpOgor
ICAgICAgICAoSFRUUFNlcnZlckRyaXZlcik6CisgICAgICAgIChIVFRQU2VydmVyRHJpdmVyLnNl
dERldmljZUlEKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
cnVuX2JlbmNobWFyay5weTogQ29waWVkIGZyb20gVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJr
LgorICAgICAgICAocGFyc2VfYXJncyk6CisgICAgICAgIChzdGFydCk6CisgICAgICAgIChtYWlu
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvdXRpbHMucHk6
CisgICAgICAgIChnZXRQYXRoRnJvbVByb2plY3RSb290KToKKwogMjAxNS0wNi0xNSAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiAgaU9TIGFjY2Vz
c2liaWxpdHkgdGVzdHMgYXJlIG5vdCBydW5uaW5nIGJlY2F1c2Ugd2UgbmVlZCBXS1RSIHN1cHBv
cnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJlbmNobWFyayBiL1Rvb2xzL1Njcmlw
dHMvcnVuLWJlbmNobWFyawppbmRleCA4MjJiMTU5ODc0Y2FjYmUxMTE1ZjVkNDRmMDUwODg3NjI4
NmIxZTRkLi43MzM2M2VmMzJjMDJiMzY1M2UxZjk1ZTRkNjc0MDQ4N2QxZTU3MzM3IDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3J1bi1iZW5jaG1hcmsKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4t
YmVuY2htYXJrCkBAIC0xLDEyICsxLDkgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgogCi1pbXBv
cnQgYXJncGFyc2UKIGltcG9ydCBsb2dnaW5nCi1pbXBvcnQgcGxhdGZvcm0KIGltcG9ydCBzeXMK
IAotZnJvbSB3ZWJraXRweS5iZW5jaG1hcmtfcnVubmVyLmJlbmNobWFya19ydW5uZXIgaW1wb3J0
IEJlbmNobWFya1J1bm5lcgotZnJvbSB3ZWJraXRweS5iZW5jaG1hcmtfcnVubmVyLmJyb3dzZXJf
ZHJpdmVyLmJyb3dzZXJfZHJpdmVyX2ZhY3RvcnkgaW1wb3J0IEJyb3dzZXJEcml2ZXJGYWN0b3J5
Citmcm9tIHdlYmtpdHB5LmJlbmNobWFya19ydW5uZXIucnVuX2JlbmNobWFyayBpbXBvcnQgbWFp
bgogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcigpCkBAIC0xNywyOCArMTQsNSBAQCBjaC5z
ZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQogX2xvZy5hZGRIYW5kbGVyKGNoKQogCiAKLWRlZiBtYWlu
KCk6Ci0gICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0F1
dG9tYXRlIHRoZSBicm93c2VyIGJhc2VkIHBlcmZvcm1hbmNlIGJlbmNobWFya3MnKQotICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJy0tb3V0cHV0LWZpbGUnLCBkZXN0PSdvdXRwdXQnLCBkZWZhdWx0
PU5vbmUpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1idWlsZC1kaXJlY3RvcnknLCBkZXN0
PSdidWlsZERpcicsIGhlbHA9J1BhdGggdG8gdGhlIGJyb3dzZXIgZXhlY3V0YWJsZS4gZS5nLiBX
ZWJLaXRCdWlsZC9SZWxlYXNlLycpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wbGFuJywg
ZGVzdD0ncGxhbicsIHJlcXVpcmVkPVRydWUsIGhlbHA9J0JlbmNobWFyayBwbGFuIHRvIHJ1bi4g
ZS5nLiBzcGVlZG9tZXRlciwgamV0c3RyZWFtJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCct
LXBsYXRmb3JtJywgZGVzdD0ncGxhdGZvcm0nLCByZXF1aXJlZD1UcnVlLCBjaG9pY2VzPUJyb3dz
ZXJEcml2ZXJGYWN0b3J5LmF2YWlsYWJsZV9wbGF0Zm9ybXMoKSkKLSAgICAjIEZJWE1FOiBTaG91
bGQgd2UgYWRkIGNocm9tZSBhcyBhbiBvcHRpb24/IFdlbGwsIGNocm9tZSB1c2VzIHdlYmtpdCBp
biBpT1MuCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1icm93c2VyJywgZGVzdD0nYnJvd3Nl
cicsIHJlcXVpcmVkPVRydWUsIGNob2ljZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxl
X2Jyb3dzZXJzKCkpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kZWJ1ZycsIGFjdGlvbj0n
c3RvcmVfdHJ1ZScpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1sb2NhbC1jb3B5JywgZGVz
dD0nbG9jYWxDb3B5JywgaGVscD0nUGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFy
ay4gZS5nLiBQZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci8nKQotICAgIHBhcnNlci5hZGRfYXJn
dW1lbnQoJy0tY291bnQnLCBkZXN0PSdjb3VudE92ZXJyaWRlJywgdHlwZT1pbnQsIGhlbHA9J051
bWJlciBvZiB0aW1lcyB0byBydW4gdGhlIGJlbmNobWFyay4gZS5nLiA1JykKLSAgICBhcmdzID0g
cGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgaWYgYXJncy5kZWJ1ZzoKLSAgICAgICAgX2xvZy5z
ZXRMZXZlbChsb2dnaW5nLkRFQlVHKQotICAgIF9sb2cuZGVidWcoJ0luaXRpYWxpemluZyBwcm9n
cmFtIHdpdGggZm9sbG93aW5nIHBhcmFtZXRlcnMnKQotICAgIF9sb2cuZGVidWcoJ1x0b3V0cHV0
IGZpbGUgbmFtZVx0OiAlcycgJSBhcmdzLm91dHB1dCkKLSAgICBfbG9nLmRlYnVnKCdcdGJ1aWxk
IGRpcmVjdG9yeVx0OiAlcycgJSBhcmdzLmJ1aWxkRGlyKQotICAgIF9sb2cuZGVidWcoJ1x0cGxh
biBuYW1lXHQ6ICVzJywgYXJncy5wbGFuKQotICAgIHJ1bm5lciA9IEJlbmNobWFya1J1bm5lcihh
cmdzLnBsYW4sIGFyZ3MubG9jYWxDb3B5LCBhcmdzLmNvdW50T3ZlcnJpZGUsIGFyZ3MuYnVpbGRE
aXIsIGFyZ3Mub3V0cHV0LCBhcmdzLnBsYXRmb3JtLCBhcmdzLmJyb3dzZXIpCi0gICAgcnVubmVy
LmV4ZWN1dGUoKQotCi0KIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgc3lzLmV4aXQo
bWFpbigpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQppbmRleCBiYjFkYjYxMTA2ODg2MWU0ZWMxODJi
MjA5NjRjMTc1MzVmODEyZTAxLi41MzdlMGRkYWM0OTcyN2EyMGU5N2M3NjY5ZjI3MTE2NGU4NzJk
NzhlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YmVuY2htYXJrX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQpAQCAtMjUsOCArMjUsOCBAQCBfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIGNsYXNzIEJlbmNobWFya1J1bm5lcihvYmplY3Qp
OgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5GaWxlLCBsb2NhbENvcHksIGNvdW50T3Zl
cnJpZGUsIGJ1aWxkRGlyLCBvdXRwdXRGaWxlLCBwbGF0Zm9ybSwgYnJvd3Nlcik6Ci0gICAgICAg
IF9sb2cuaW5mbygnSW5pdGlhbGl6aW5nIGJlbmNobWFyayBydW5uaW5nJykKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgcGxhbkZpbGUsIGxvY2FsQ29weSwgY291bnRPdmVycmlkZSwgYnVpbGREaXIs
IG91dHB1dEZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBodHRwU2VydmVyRHJpdmVyT3ZlcnJpZGU9
Tm9uZSwgZGV2aWNlSUQ9Tm9uZSk6CisgICAgICAgIF9sb2cuaW5mbygnSW5pdGlhbGl6aW5nIGJl
bmNobWFyayBydW5uZXInKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwbGFuRmlsZSA9IHNl
bGYuX2ZpbmRQbGFuRmlsZShwbGFuRmlsZSkKICAgICAgICAgICAgIHdpdGggb3BlbihwbGFuRmls
ZSwgJ3InKSBhcyBmcDoKQEAgLTM2LDEwICszNiwxNCBAQCBjbGFzcyBCZW5jaG1hcmtSdW5uZXIo
b2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGFuWydsb2NhbF9jb3B5J10gPSBs
b2NhbENvcHkKICAgICAgICAgICAgICAgICBpZiBjb3VudE92ZXJyaWRlOgogICAgICAgICAgICAg
ICAgICAgICBzZWxmLnBsYW5bJ2NvdW50J10gPSBjb3VudE92ZXJyaWRlCisgICAgICAgICAgICAg
ICAgaWYgaHR0cFNlcnZlckRyaXZlck92ZXJyaWRlOgorICAgICAgICAgICAgICAgICAgICBzZWxm
LnBsYW5bJ2h0dHBfc2VydmVyX2RyaXZlciddID0gaHR0cFNlcnZlckRyaXZlck92ZXJyaWRlCiAg
ICAgICAgICAgICAgICAgc2VsZi5icm93c2VyRHJpdmVyID0gQnJvd3NlckRyaXZlckZhY3Rvcnku
Y3JlYXRlKFtwbGF0Zm9ybSwgYnJvd3Nlcl0pCiAgICAgICAgICAgICAgICAgc2VsZi5odHRwU2Vy
dmVyRHJpdmVyID0gSFRUUFNlcnZlckRyaXZlckZhY3RvcnkuY3JlYXRlKFtzZWxmLnBsYW5bJ2h0
dHBfc2VydmVyX2RyaXZlciddXSkKKyAgICAgICAgICAgICAgICBzZWxmLmh0dHBTZXJ2ZXJEcml2
ZXIuc2V0RGV2aWNlSUQoZGV2aWNlSUQpCiAgICAgICAgICAgICAgICAgc2VsZi5idWlsZERpciA9
IG9zLnBhdGguYWJzcGF0aChidWlsZERpcikgaWYgYnVpbGREaXIgZWxzZSBOb25lCiAgICAgICAg
ICAgICAgICAgc2VsZi5vdXRwdXRGaWxlID0gb3V0cHV0RmlsZQorICAgICAgICAgICAgICAgIHNl
bGYuZGV2aWNlSUQgPSBkZXZpY2VJRAogICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnJvcjoK
ICAgICAgICAgICAgIF9sb2cuZXJyb3IoJ0NhbiBub3Qgb3BlbiBwbGFuIGZpbGU6ICVzIC0gRXJy
b3IgJXMnICUgKHBsYW5GaWxlLCBlcnJvcikpCiAgICAgICAgICAgICByYWlzZSBlcnJvcgpAQCAt
NjgsNyArNzIsNyBAQCBjbGFzcyBCZW5jaG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAgICAgZm9y
IHggaW4geHJhbmdlKGludChzZWxmLnBsYW5bJ2NvdW50J10pKToKICAgICAgICAgICAgIF9sb2cu
aW5mbygnU3RhcnQgdGhlIGl0ZXJhdGlvbiAlZCBvZiBjdXJyZW50IGJlbmNobWFyaycgJSAoeCAr
IDEpKQogICAgICAgICAgICAgc2VsZi5odHRwU2VydmVyRHJpdmVyLnNlcnZlKHdlYlJvb3QpCi0g
ICAgICAgICAgICBzZWxmLmJyb3dzZXJEcml2ZXIucHJlcGFyZUVudigpCisgICAgICAgICAgICBz
ZWxmLmJyb3dzZXJEcml2ZXIucHJlcGFyZUVudihzZWxmLmRldmljZUlEKQogICAgICAgICAgICAg
dXJsID0gdXJscGFyc2UudXJsam9pbihzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuYmFzZVVybCgpLCBz
ZWxmLnBsYW5OYW1lICsgJy8nICsgc2VsZi5wbGFuWydlbnRyeV9wb2ludCddKQogICAgICAgICAg
ICAgc2VsZi5icm93c2VyRHJpdmVyLmxhdW5jaFVybCh1cmwsIHNlbGYuYnVpbGREaXIpCiAgICAg
ICAgICAgICByZXN1bHQgPSBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvYnJvd3Nlcl9kcml2ZXIucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvYnJvd3Nl
cl9kcml2ZXIucHkKaW5kZXggNmJlZjE1MDZmYWY2NGFhMDFmNGU0MTEzMTgzMjA0MTgyZjU4N2Uz
Zi4uZmQ1NDIwMTk3MmQ1ZDgxMTI2MzhlODA5N2IzMjdmMzAyYjg1MTZkYyAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jy
b3dzZXJfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZlci5weQpAQCAtNiw3ICs2LDcgQEAgaW1w
b3J0IGFiYwogY2xhc3MgQnJvd3NlckRyaXZlcihvYmplY3QpOgogCiAgICAgQGFiYy5hYnN0cmFj
dG1ldGhvZAotICAgIGRlZiBwcmVwYXJlRW52KHNlbGYpOgorICAgIGRlZiBwcmVwYXJlRW52KHNl
bGYsIHVkaWQ9Tm9uZSk6CiAgICAgICAgIHBhc3MKIAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93
c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5Cmlu
ZGV4IDA5YzE0ZDIzMzU4NGMxZTQ0MzRkOTRkYzE3MTU4NGI4OTZjNzkwYmUuLmQ5OGQyMjliYmRi
ZDdjOGIwZjJlNDliMjU1M2ZjYzUyYmFlNWI1NTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weQpAQCAtMTUsNyArMTUsNyBAQCBfbG9nID0g
bG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBPU1hCcm93c2VyRHJpdmVyKEJyb3dz
ZXJEcml2ZXIpOgogICAgIGJ1bmRsZUlkZW50aWZpZXIgPSBOb25lCiAKLSAgICBkZWYgcHJlcGFy
ZUVudihzZWxmKToKKyAgICBkZWYgcHJlcGFyZUVudihzZWxmLCB1ZGlkPU5vbmUpOgogICAgICAg
ICBzZWxmLmNsb3NlQnJvd3NlcnMoKQogICAgICAgICBDR1dhcnBNb3VzZUN1cnNvclBvc2l0aW9u
KCgxMCwgMCkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJr
X3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2Ry
aXZlci5weQppbmRleCBjNGNhMWE0ZTU4MjI3NDAzODhhNmQ0ZTlmNzk5OGFlOTEwZGY2YWVkLi44
YWMyNmRlYTI5N2YyMjE3ZjFlYWUyMTkzZWI0ZmNjN2VkMjU4ZmQzIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3Nh
ZmFyaV9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CkBAIC0xNiw3ICsxNiw3IEBA
IF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIE9TWFNhZmFyaURyaXZl
cihPU1hCcm93c2VyRHJpdmVyKToKICAgICBidW5kbGVJZGVudGlmaWVyID0gJ2NvbS5hcHBsZS5T
YWZhcmknCiAKLSAgICBkZWYgcHJlcGFyZUVudihzZWxmKToKKyAgICBkZWYgcHJlcGFyZUVudihz
ZWxmLCB1ZGlkPU5vbmUpOgogICAgICAgICBzZWxmLnNhZmFyaVByb2Nlc3MgPSBOb25lCiAgICAg
ICAgIHN1cGVyKE9TWFNhZmFyaURyaXZlciwgc2VsZikucHJlcGFyZUVudigpCiAgICAgICAgIGZv
cmNlUmVtb3ZlKG9zLnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSwgJ0xpYnJhcnkv
U2F2ZWQgQXBwbGljYXRpb24gU3RhdGUvY29tLmFwcGxlLlNhZmFyaS5zYXZlZFN0YXRlJykpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvaHR0cF9z
ZXJ2ZXJfZHJpdmVyL2h0dHBfc2VydmVyX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9odHRwX3NlcnZlcl9kcml2ZXIvaHR0cF9zZXJ2ZXJfZHJpdmVy
LnB5CmluZGV4IDk3ZWI0MzYxMTlkNWIwYWRkNDE3ZDk1Yzg4ZDk0NTc0ZDk5YWEzYWIuLjlkMjlj
NjM2Yjk2MGI0YzhlMjA5MjgyMmViNGEyOGJiNDdmNjVlZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9odHRwX3NlcnZlcl9kcml2ZXIvaHR0cF9z
ZXJ2ZXJfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9odHRwX3NlcnZlcl9kcml2ZXIvaHR0cF9zZXJ2ZXJfZHJpdmVyLnB5CkBAIC0xOSwzICsx
OSw3IEBAIGNsYXNzIEhUVFBTZXJ2ZXJEcml2ZXIob2JqZWN0KToKICAgICBAYWJzdHJhY3RtZXRo
b2QKICAgICBkZWYgZ2V0UmV0dXJuQ29kZShzZWxmKToKICAgICAgICAgcGFzcworCisgICAgQGFi
c3RyYWN0bWV0aG9kCisgICAgZGVmIHNldERldmljZUlEKHNlbGYsIGRldmljZUlEKToKKyAgICAg
ICAgcGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL3J1bl9iZW5jaG1hcmsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvcnVuX2JlbmNobWFyay5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjBjNmJmMDcyZTBmOWNhNjZjODBl
MDk4ZDQ0ZGFlM2RlOTc2YTM0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL3J1bl9iZW5jaG1hcmsucHkKQEAgLTAsMCArMSw1MiBAQAor
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGxvZ2dpbmcK
K2ltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IG9zCisKK2Zyb20gYmVuY2htYXJrX3J1bm5lciBpbXBv
cnQgQmVuY2htYXJrUnVubmVyCitmcm9tIGJyb3dzZXJfZHJpdmVyLmJyb3dzZXJfZHJpdmVyX2Zh
Y3RvcnkgaW1wb3J0IEJyb3dzZXJEcml2ZXJGYWN0b3J5CisKKworX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQorIyBfbG9nLnNldExldmVsKGxvZ2dpbmcuSU5GTykKKyMgY2ggPSBs
b2dnaW5nLlN0cmVhbUhhbmRsZXIoKQorIyBmb3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcign
JShhc2N0aW1lKXMgLSAlKGxldmVsbmFtZSlzIC0gJShtZXNzYWdlKXMnKQorIyBjaC5zZXRGb3Jt
YXR0ZXIoZm9ybWF0dGVyKQorIyBfbG9nLmFkZEhhbmRsZXIoY2gpCisKKworZGVmIHBhcnNlX2Fy
Z3MoKToKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0n
QXV0b21hdGUgdGhlIGJyb3dzZXIgYmFzZWQgcGVyZm9ybWFuY2UgYmVuY2htYXJrcycpCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1vdXRwdXQtZmlsZScsIGRlc3Q9J291dHB1dCcsIGRlZmF1
bHQ9Tm9uZSkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWJ1aWxkLWRpcmVjdG9yeScsIGRl
c3Q9J2J1aWxkRGlyJywgaGVscD0nUGF0aCB0byB0aGUgYnJvd3NlciBleGVjdXRhYmxlLiBlLmcu
IFdlYktpdEJ1aWxkL1JlbGVhc2UvJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXBsYW4n
LCBkZXN0PSdwbGFuJywgcmVxdWlyZWQ9VHJ1ZSwgaGVscD0nQmVuY2htYXJrIHBsYW4gdG8gcnVu
LiBlLmcuIHNwZWVkb21ldGVyLCBqZXRzdHJlYW0nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Jy0tcGxhdGZvcm0nLCBkZXN0PSdwbGF0Zm9ybScsIHJlcXVpcmVkPVRydWUsIGNob2ljZXM9QnJv
d3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX3BsYXRmb3JtcygpKQorICAgICMgRklYTUU6IFNo
b3VsZCB3ZSBhZGQgY2hyb21lIGFzIGFuIG9wdGlvbj8gV2VsbCwgY2hyb21lIHVzZXMgd2Via2l0
IGluIGlPUy4KKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWJyb3dzZXInLCBkZXN0PSdicm93
c2VyJywgcmVxdWlyZWQ9VHJ1ZSwgY2hvaWNlcz1Ccm93c2VyRHJpdmVyRmFjdG9yeS5hdmFpbGFi
bGVfYnJvd3NlcnMoKSkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRlYnVnJywgYWN0aW9u
PSdzdG9yZV90cnVlJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvY2FsLWNvcHknLCBk
ZXN0PSdsb2NhbENvcHknLCBoZWxwPSdQYXRoIHRvIGEgbG9jYWwgY29weSBvZiB0aGUgYmVuY2ht
YXJrLiBlLmcuIFBlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyLycpCisgICAgcGFyc2VyLmFkZF9h
cmd1bWVudCgnLS1jb3VudCcsIGRlc3Q9J2NvdW50T3ZlcnJpZGUnLCB0eXBlPWludCwgaGVscD0n
TnVtYmVyIG9mIHRpbWVzIHRvIHJ1biB0aGUgYmVuY2htYXJrLiBlLmcuIDUnKQorICAgIHBhcnNl
ci5hZGRfYXJndW1lbnQoJy0taHR0cC1zZXJ2ZXItZHJpdmVyJywgZGVzdD0naHR0cFNlcnZlckRy
aXZlck92ZXJyaWRlJywgZGVmYXVsdD1Ob25lLCBoZWxwPSdTcGVjaWZ5IHdoaWNoIEhUVFAgc2Vy
dmVyIHlvdSB3YW50cyB0byB1c2UnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZGV2aWNl
LWlkJywgZGVzdD0nZGV2aWNlX2lkJywgZGVmYXVsdD1Ob25lKQorCisgICAgYXJncyA9IHBhcnNl
ci5wYXJzZV9hcmdzKCkKKworICAgIGlmIGFyZ3MuZGVidWc6CisgICAgICAgIF9sb2cuc2V0TGV2
ZWwobG9nZ2luZy5ERUJVRykKKyAgICBfbG9nLmRlYnVnKCdJbml0aWFsaXppbmcgcHJvZ3JhbSB3
aXRoIGZvbGxvd2luZyBwYXJhbWV0ZXJzJykKKyAgICBfbG9nLmRlYnVnKCdcdG91dHB1dCBmaWxl
IG5hbWVcdDogJXMnICUgYXJncy5vdXRwdXQpCisgICAgX2xvZy5kZWJ1ZygnXHRidWlsZCBkaXJl
Y3RvcnlcdDogJXMnICUgYXJncy5idWlsZERpcikKKyAgICBfbG9nLmRlYnVnKCdcdHBsYW4gbmFt
ZVx0OiAlcycsIGFyZ3MucGxhbikKKworICAgIHJldHVybiBhcmdzCisKKworZGVmIHN0YXJ0KGFy
Z3MpOgorICAgIHJ1bm5lciA9IEJlbmNobWFya1J1bm5lcihhcmdzLnBsYW4sIGFyZ3MubG9jYWxD
b3B5LCBhcmdzLmNvdW50T3ZlcnJpZGUsIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdz
LnBsYXRmb3JtLCBhcmdzLmJyb3dzZXIsIGFyZ3MuaHR0cFNlcnZlckRyaXZlck92ZXJyaWRlLCBh
cmdzLmRldmljZV9pZCkKKyAgICBydW5uZXIuZXhlY3V0ZSgpCisKKworZGVmIG1haW4oKToKKyAg
ICBzdGFydChwYXJzZV9hcmdzKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvdXRpbHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvdXRpbHMucHkKaW5kZXggOWJiZDY5ZDY5ZjQ2NDg5MTFhMDNmYzNhOGQxYWYw
Y2M0YzcyMzRhZi4uYmMzMjRlMjJjNzU5ZDgxYjA5YzgzNGNkNmY2MThhODcxN2RkZGVlYiAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3V0aWxzLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci91dGlscy5weQpA
QCAtMjMsNyArMjMsNyBAQCBkZWYgbG9hZE1vZHVsZShtb2R1bGVEZXNjKToKIAogCiBkZWYgZ2V0
UGF0aEZyb21Qcm9qZWN0Um9vdChyZWxhdGl2ZVBhdGhUb1Byb2plY3RSb290KToKLSAgICAjIENo
b29zZSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5uaW5nIGN1cnJlbnQgZmlsZSBhcyBzdGFydCBwb2lu
dCwKKyAgICAjIENob29zZSB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgY3VycmVudCBmaWxlIGFz
IHN0YXJ0IHBvaW50LAogICAgICMgY29tcHV0ZSByZWxhdGl2ZSBwYXRoIGJhc2Ugb24gdGhlIHBh
cmFtZXRlciwKICAgICAjIGFuZCByZXR1cm4gYW4gYWJzb2x1dGUgcGF0aAogICAgIHJldHVybiBv
cy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3Bh
dGgoX19maWxlX18pKSwgcmVsYXRpdmVQYXRoVG9Qcm9qZWN0Um9vdCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255159</attachid>
            <date>2015-06-18 18:23:51 -0700</date>
            <delta_ts>2015-06-18 18:40:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146125-20150618182313.patch</filename>
            <type>text/plain</type>
            <size>12857</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjMyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmRhNzM5YWZjYWY5NjBlNmIxNTI0ZmJlMjA0MmJhZDYz
ZTk5ODRiYy4uNjM5ZWY5Nzk5ODdhZDZkZTQ5MmMzODA4NzkyN2Q0YWMwMjU3Y2UwNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDE1LTA2LTE4ICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgorCisgICAg
ICAgIEV4dGVuZCBjYXBhYmlsaXR5IG9mIHJ1bi1iZW5jaG1hcmsgc2NyaXB0IHRvIHN1cHBvcnQg
bW9iaWxlIGRldmljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ2MTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXh0ZW5kIGNhcGFiaWxpdHkgb2YgcnVuLWJlbmNobWFyayB0byBzdXBwb3J0IG1vYmls
ZSBkZXZpY2UKKyAgICAgICAgTW92ZSBtYWpvcml0eSBvZiBydW4tYmVuY2htYXJrIHNjcmlwdCBj
b2RlIHRvIGJlbmNobWFya19ydW5uZXIgZGlyZWN0b3J5LCBhbmQgbWFrZSBydW4tYmVuY2htYXJr
IGEgd3JhcHBpbmcgc2NyaXB0CisgICAgICAgIENvcnJlY3QgdHlwby4KKyAgICAgICAgKiBTY3Jp
cHRzL3J1bi1iZW5jaG1hcms6CisgICAgICAgIChtYWluKTogRGVsZXRlZC4KKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weToKKyAg
ICAgICAgKEJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6CisgICAgICAgIChCZW5jaG1hcmtSdW5u
ZXIuZXhlY3V0ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoQnJvd3NlckRyaXZl
ci5wcmVwYXJlRW52KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoT1NYQnJv
d3NlckRyaXZlci5wcmVwYXJlRW52KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHk6CisgICAgICAg
IChPU1hTYWZhcmlEcml2ZXIucHJlcGFyZUVudik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2h0dHBfc2VydmVyX2RyaXZlci9odHRwX3NlcnZlcl9kcml2ZXIu
cHk6CisgICAgICAgIChIVFRQU2VydmVyRHJpdmVyLmdldFJldHVybkNvZGUpOgorICAgICAgICAo
SFRUUFNlcnZlckRyaXZlcik6CisgICAgICAgIChIVFRQU2VydmVyRHJpdmVyLnNldERldmljZUlE
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNo
bWFyay5weTogQ29waWVkIGZyb20gVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJrLgorICAgICAg
ICAocGFyc2VfYXJncyk6CisgICAgICAgIChzdGFydCk6CisgICAgICAgIChtYWluKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvdXRpbHMucHk6CisgICAgICAg
IChnZXRQYXRoRnJvbVByb2plY3RSb290KToKKwogMjAxNS0wNi0xNSAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiAgaU9TIGFjY2Vzc2liaWxpdHkg
dGVzdHMgYXJlIG5vdCBydW5uaW5nIGJlY2F1c2Ugd2UgbmVlZCBXS1RSIHN1cHBvcnQKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJlbmNobWFyayBiL1Rvb2xzL1NjcmlwdHMvcnVuLWJl
bmNobWFyawppbmRleCA4MjJiMTU5ODc0Y2FjYmUxMTE1ZjVkNDRmMDUwODg3NjI4NmIxZTRkLi45
YWE2ZDNhOWRmZDM4MThlZDI0Y2U1ZWI2NTk5MGRmYjM4ZDQzYjliIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3J1bi1iZW5jaG1hcmsKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJr
CkBAIC0xLDQ0ICsxLDEzIEBACiAjIS91c3IvYmluL2VudiBweXRob24KIAotaW1wb3J0IGFyZ3Bh
cnNlCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IHBsYXRmb3JtCiBpbXBvcnQgc3lzCiAKLWZyb20g
d2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci5iZW5jaG1hcmtfcnVubmVyIGltcG9ydCBCZW5jaG1h
cmtSdW5uZXIKLWZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci5icm93c2VyX2RyaXZlci5i
cm93c2VyX2RyaXZlcl9mYWN0b3J5IGltcG9ydCBCcm93c2VyRHJpdmVyRmFjdG9yeQorZnJvbSB3
ZWJraXRweS5iZW5jaG1hcmtfcnVubmVyLnJ1bl9iZW5jaG1hcmsgaW1wb3J0IG1haW4sIGZvcm1h
dF9sb2dnZXIKIAogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoKQotX2xvZy5zZXRMZXZlbChs
b2dnaW5nLklORk8pCi1jaCA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigpCi1mb3JtYXR0ZXIgPSBs
b2dnaW5nLkZvcm1hdHRlcignJShhc2N0aW1lKXMgLSAlKGxldmVsbmFtZSlzIC0gJShtZXNzYWdl
KXMnKQotY2guc2V0Rm9ybWF0dGVyKGZvcm1hdHRlcikKLV9sb2cuYWRkSGFuZGxlcihjaCkKLQot
Ci1kZWYgbWFpbigpOgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2Ny
aXB0aW9uPSdBdXRvbWF0ZSB0aGUgYnJvd3NlciBiYXNlZCBwZXJmb3JtYW5jZSBiZW5jaG1hcmtz
JykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dC1maWxlJywgZGVzdD0nb3V0cHV0
JywgZGVmYXVsdD1Ob25lKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYnVpbGQtZGlyZWN0
b3J5JywgZGVzdD0nYnVpbGREaXInLCBoZWxwPSdQYXRoIHRvIHRoZSBicm93c2VyIGV4ZWN1dGFi
bGUuIGUuZy4gV2ViS2l0QnVpbGQvUmVsZWFzZS8nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Jy0tcGxhbicsIGRlc3Q9J3BsYW4nLCByZXF1aXJlZD1UcnVlLCBoZWxwPSdCZW5jaG1hcmsgcGxh
biB0byBydW4uIGUuZy4gc3BlZWRvbWV0ZXIsIGpldHN0cmVhbScpCi0gICAgcGFyc2VyLmFkZF9h
cmd1bWVudCgnLS1wbGF0Zm9ybScsIGRlc3Q9J3BsYXRmb3JtJywgcmVxdWlyZWQ9VHJ1ZSwgY2hv
aWNlcz1Ccm93c2VyRHJpdmVyRmFjdG9yeS5hdmFpbGFibGVfcGxhdGZvcm1zKCkpCi0gICAgIyBG
SVhNRTogU2hvdWxkIHdlIGFkZCBjaHJvbWUgYXMgYW4gb3B0aW9uPyBXZWxsLCBjaHJvbWUgdXNl
cyB3ZWJraXQgaW4gaU9TLgotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYnJvd3NlcicsIGRl
c3Q9J2Jyb3dzZXInLCByZXF1aXJlZD1UcnVlLCBjaG9pY2VzPUJyb3dzZXJEcml2ZXJGYWN0b3J5
LmF2YWlsYWJsZV9icm93c2VycygpKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZGVidWcn
LCBhY3Rpb249J3N0b3JlX3RydWUnKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9jYWwt
Y29weScsIGRlc3Q9J2xvY2FsQ29weScsIGhlbHA9J1BhdGggdG8gYSBsb2NhbCBjb3B5IG9mIHRo
ZSBiZW5jaG1hcmsuIGUuZy4gUGVyZm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIvJykKLSAgICBwYXJz
ZXIuYWRkX2FyZ3VtZW50KCctLWNvdW50JywgZGVzdD0nY291bnRPdmVycmlkZScsIHR5cGU9aW50
LCBoZWxwPSdOdW1iZXIgb2YgdGltZXMgdG8gcnVuIHRoZSBiZW5jaG1hcmsuIGUuZy4gNScpCi0g
ICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLQotICAgIGlmIGFyZ3MuZGVidWc6Ci0gICAg
ICAgIF9sb2cuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKLSAgICBfbG9nLmRlYnVnKCdJbml0aWFs
aXppbmcgcHJvZ3JhbSB3aXRoIGZvbGxvd2luZyBwYXJhbWV0ZXJzJykKLSAgICBfbG9nLmRlYnVn
KCdcdG91dHB1dCBmaWxlIG5hbWVcdDogJXMnICUgYXJncy5vdXRwdXQpCi0gICAgX2xvZy5kZWJ1
ZygnXHRidWlsZCBkaXJlY3RvcnlcdDogJXMnICUgYXJncy5idWlsZERpcikKLSAgICBfbG9nLmRl
YnVnKCdcdHBsYW4gbmFtZVx0OiAlcycsIGFyZ3MucGxhbikKLSAgICBydW5uZXIgPSBCZW5jaG1h
cmtSdW5uZXIoYXJncy5wbGFuLCBhcmdzLmxvY2FsQ29weSwgYXJncy5jb3VudE92ZXJyaWRlLCBh
cmdzLmJ1aWxkRGlyLCBhcmdzLm91dHB1dCwgYXJncy5wbGF0Zm9ybSwgYXJncy5icm93c2VyKQot
ICAgIHJ1bm5lci5leGVjdXRlKCkKLQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAg
IGZvcm1hdF9sb2dnZXIoX2xvZykKICAgICBzeXMuZXhpdChtYWluKCkpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVu
bmVyLnB5CmluZGV4IGJiMWRiNjExMDY4ODYxZTRlYzE4MmIyMDk2NGMxNzUzNWY4MTJlMDEuLjQ3
ZTc4YmQ1YTIyMmE3MGRjY2EwMDI1OWJhNDlmMjJiNjE4ZGY4MWUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVubmVyLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVu
bmVyLnB5CkBAIC0yNSw4ICsyNSw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKIAogY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18o
c2VsZiwgcGxhbkZpbGUsIGxvY2FsQ29weSwgY291bnRPdmVycmlkZSwgYnVpbGREaXIsIG91dHB1
dEZpbGUsIHBsYXRmb3JtLCBicm93c2VyKToKLSAgICAgICAgX2xvZy5pbmZvKCdJbml0aWFsaXpp
bmcgYmVuY2htYXJrIHJ1bm5pbmcnKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuRmlsZSwg
bG9jYWxDb3B5LCBjb3VudE92ZXJyaWRlLCBidWlsZERpciwgb3V0cHV0RmlsZSwgcGxhdGZvcm0s
IGJyb3dzZXIsIGh0dHBTZXJ2ZXJEcml2ZXJPdmVycmlkZT1Ob25lLCBkZXZpY2VJRD1Ob25lKToK
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGxhbkZpbGUgPSBzZWxmLl9maW5kUGxhbkZpbGUo
cGxhbkZpbGUpCiAgICAgICAgICAgICB3aXRoIG9wZW4ocGxhbkZpbGUsICdyJykgYXMgZnA6CkBA
IC0zNiwxMCArMzUsMTQgQEAgY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgICAgIHNlbGYucGxhblsnbG9jYWxfY29weSddID0gbG9jYWxDb3B5CiAgICAgICAg
ICAgICAgICAgaWYgY291bnRPdmVycmlkZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGFu
Wydjb3VudCddID0gY291bnRPdmVycmlkZQorICAgICAgICAgICAgICAgIGlmIGh0dHBTZXJ2ZXJE
cml2ZXJPdmVycmlkZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGFuWydodHRwX3NlcnZl
cl9kcml2ZXInXSA9IGh0dHBTZXJ2ZXJEcml2ZXJPdmVycmlkZQogICAgICAgICAgICAgICAgIHNl
bGYuYnJvd3NlckRyaXZlciA9IEJyb3dzZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShbcGxhdGZvcm0s
IGJyb3dzZXJdKQogICAgICAgICAgICAgICAgIHNlbGYuaHR0cFNlcnZlckRyaXZlciA9IEhUVFBT
ZXJ2ZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShbc2VsZi5wbGFuWydodHRwX3NlcnZlcl9kcml2ZXIn
XV0pCisgICAgICAgICAgICAgICAgc2VsZi5odHRwU2VydmVyRHJpdmVyLnNldERldmljZUlEKGRl
dmljZUlEKQogICAgICAgICAgICAgICAgIHNlbGYuYnVpbGREaXIgPSBvcy5wYXRoLmFic3BhdGgo
YnVpbGREaXIpIGlmIGJ1aWxkRGlyIGVsc2UgTm9uZQogICAgICAgICAgICAgICAgIHNlbGYub3V0
cHV0RmlsZSA9IG91dHB1dEZpbGUKKyAgICAgICAgICAgICAgICBzZWxmLmRldmljZUlEID0gZGV2
aWNlSUQKICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyb3I6CiAgICAgICAgICAgICBfbG9n
LmVycm9yKCdDYW4gbm90IG9wZW4gcGxhbiBmaWxlOiAlcyAtIEVycm9yICVzJyAlIChwbGFuRmls
ZSwgZXJyb3IpKQogICAgICAgICAgICAgcmFpc2UgZXJyb3IKQEAgLTY4LDcgKzcxLDcgQEAgY2xh
c3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgICAgIGZvciB4IGluIHhyYW5nZShpbnQo
c2VsZi5wbGFuWydjb3VudCddKSk6CiAgICAgICAgICAgICBfbG9nLmluZm8oJ1N0YXJ0IHRoZSBp
dGVyYXRpb24gJWQgb2YgY3VycmVudCBiZW5jaG1hcmsnICUgKHggKyAxKSkKICAgICAgICAgICAg
IHNlbGYuaHR0cFNlcnZlckRyaXZlci5zZXJ2ZSh3ZWJSb290KQotICAgICAgICAgICAgc2VsZi5i
cm93c2VyRHJpdmVyLnByZXBhcmVFbnYoKQorICAgICAgICAgICAgc2VsZi5icm93c2VyRHJpdmVy
LnByZXBhcmVFbnYoc2VsZi5kZXZpY2VJRCkKICAgICAgICAgICAgIHVybCA9IHVybHBhcnNlLnVy
bGpvaW4oc2VsZi5odHRwU2VydmVyRHJpdmVyLmJhc2VVcmwoKSwgc2VsZi5wbGFuTmFtZSArICcv
JyArIHNlbGYucGxhblsnZW50cnlfcG9pbnQnXSkKICAgICAgICAgICAgIHNlbGYuYnJvd3NlckRy
aXZlci5sYXVuY2hVcmwodXJsLCBzZWxmLmJ1aWxkRGlyKQogICAgICAgICAgICAgcmVzdWx0ID0g
Tm9uZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5CmluZGV4
IDZiZWYxNTA2ZmFmNjRhYTAxZjRlNDExMzE4MzIwNDE4MmY1ODdlM2YuLmM0YzQ1ZDFkMjViYTVm
NzY0MDdjZTY4OWI1YTlkOTQ0ZThiYjYxMmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZlci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2
ZXIvYnJvd3Nlcl9kcml2ZXIucHkKQEAgLTYsNyArNiw3IEBAIGltcG9ydCBhYmMKIGNsYXNzIEJy
b3dzZXJEcml2ZXIob2JqZWN0KToKIAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKLSAgICBkZWYg
cHJlcGFyZUVudihzZWxmKToKKyAgICBkZWYgcHJlcGFyZUVudihzZWxmLCBkZXZpY2VJRD1Ob25l
KToKICAgICAgICAgcGFzcwogCiAgICAgQGFiYy5hYnN0cmFjdG1ldGhvZApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29z
eF9icm93c2VyX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2ZXIucHkKaW5kZXggMDljMTRkMjMz
NTg0YzFlNDQzNGQ5NGRjMTcxNTg0Yjg5NmM3OTBiZS4uZGQ4NmIyYWFmYzA5ZDcyMjYyNjQwOGE3
YWZhYjk1NDhlNTBiYmE1OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4
X2Jyb3dzZXJfZHJpdmVyLnB5CkBAIC0xNSw3ICsxNSw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExv
Z2dlcihfX25hbWVfXykKIGNsYXNzIE9TWEJyb3dzZXJEcml2ZXIoQnJvd3NlckRyaXZlcik6CiAg
ICAgYnVuZGxlSWRlbnRpZmllciA9IE5vbmUKIAotICAgIGRlZiBwcmVwYXJlRW52KHNlbGYpOgor
ICAgIGRlZiBwcmVwYXJlRW52KHNlbGYsIGRldmljZUlEPU5vbmUpOgogICAgICAgICBzZWxmLmNs
b3NlQnJvd3NlcnMoKQogICAgICAgICBDR1dhcnBNb3VzZUN1cnNvclBvc2l0aW9uKCgxMCwgMCkp
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
cm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpp
bmRleCBjNGNhMWE0ZTU4MjI3NDAzODhhNmQ0ZTlmNzk5OGFlOTEwZGY2YWVkLi5iY2JhNWUxZTA0
MTk3ZDQ2Yjk2MTQ4Njk5NTJiN2JlZDhmMTcxZDc1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CkBAIC0xNiw3ICsxNiw3IEBAIF9sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIE9TWFNhZmFyaURyaXZlcihPU1hCcm93
c2VyRHJpdmVyKToKICAgICBidW5kbGVJZGVudGlmaWVyID0gJ2NvbS5hcHBsZS5TYWZhcmknCiAK
LSAgICBkZWYgcHJlcGFyZUVudihzZWxmKToKKyAgICBkZWYgcHJlcGFyZUVudihzZWxmLCBkZXZp
Y2VJRD1Ob25lKToKICAgICAgICAgc2VsZi5zYWZhcmlQcm9jZXNzID0gTm9uZQogICAgICAgICBz
dXBlcihPU1hTYWZhcmlEcml2ZXIsIHNlbGYpLnByZXBhcmVFbnYoKQogICAgICAgICBmb3JjZVJl
bW92ZShvcy5wYXRoLmpvaW4ob3MucGF0aC5leHBhbmR1c2VyKCd+JyksICdMaWJyYXJ5L1NhdmVk
IEFwcGxpY2F0aW9uIFN0YXRlL2NvbS5hcHBsZS5TYWZhcmkuc2F2ZWRTdGF0ZScpKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2h0dHBfc2VydmVy
X2RyaXZlci9odHRwX3NlcnZlcl9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvaHR0cF9zZXJ2ZXJfZHJpdmVyL2h0dHBfc2VydmVyX2RyaXZlci5weQpp
bmRleCA5N2ViNDM2MTE5ZDViMGFkZDQxN2Q5NWM4OGQ5NDU3NGQ5OWFhM2FiLi4xZWM2OTgxMDk1
MjM0N2E1MmMzMjk2NDhjY2ZhOWIzNjYyOTZhZmRjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvaHR0cF9zZXJ2ZXJfZHJpdmVyL2h0dHBfc2VydmVy
X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
aHR0cF9zZXJ2ZXJfZHJpdmVyL2h0dHBfc2VydmVyX2RyaXZlci5weQpAQCAtMTksMyArMTksNyBA
QCBjbGFzcyBIVFRQU2VydmVyRHJpdmVyKG9iamVjdCk6CiAgICAgQGFic3RyYWN0bWV0aG9kCiAg
ICAgZGVmIGdldFJldHVybkNvZGUoc2VsZik6CiAgICAgICAgIHBhc3MKKworICAgIEBhYnN0cmFj
dG1ldGhvZAorICAgIGRlZiBzZXREZXZpY2VJRChzZWxmLCBkZXZpY2VJRD1Ob25lKToKKyAgICAg
ICAgcGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL3J1bl9iZW5jaG1hcmsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvcnVuX2JlbmNobWFyay5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWQ3YjE2NGU5NjJiYmI1NDY2YWYz
MmQxMmU1MzkwMjE5NmFmYzNlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL3J1bl9iZW5jaG1hcmsucHkKQEAgLTAsMCArMSw1NSBAQAor
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGxvZ2dpbmcK
K2ltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IG9zCisKK2Zyb20gYmVuY2htYXJrX3J1bm5lciBpbXBv
cnQgQmVuY2htYXJrUnVubmVyCitmcm9tIGJyb3dzZXJfZHJpdmVyLmJyb3dzZXJfZHJpdmVyX2Zh
Y3RvcnkgaW1wb3J0IEJyb3dzZXJEcml2ZXJGYWN0b3J5CisKKworX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQorCisKK2RlZiBwYXJzZV9hcmdzKCk6CisgICAgcGFyc2VyID0gYXJn
cGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0F1dG9tYXRlIHRoZSBicm93c2VyIGJh
c2VkIHBlcmZvcm1hbmNlIGJlbmNobWFya3MnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
b3V0cHV0LWZpbGUnLCBkZXN0PSdvdXRwdXQnLCBkZWZhdWx0PU5vbmUpCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgnLS1idWlsZC1kaXJlY3RvcnknLCBkZXN0PSdidWlsZERpcicsIGhlbHA9J1Bh
dGggdG8gdGhlIGJyb3dzZXIgZXhlY3V0YWJsZS4gZS5nLiBXZWJLaXRCdWlsZC9SZWxlYXNlLycp
CisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wbGFuJywgZGVzdD0ncGxhbicsIHJlcXVpcmVk
PVRydWUsIGhlbHA9J0JlbmNobWFyayBwbGFuIHRvIHJ1bi4gZS5nLiBzcGVlZG9tZXRlciwgamV0
c3RyZWFtJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXBsYXRmb3JtJywgZGVzdD0ncGxh
dGZvcm0nLCByZXF1aXJlZD1UcnVlLCBjaG9pY2VzPUJyb3dzZXJEcml2ZXJGYWN0b3J5LmF2YWls
YWJsZV9wbGF0Zm9ybXMoKSkKKyAgICAjIEZJWE1FOiBTaG91bGQgd2UgYWRkIGNocm9tZSBhcyBh
biBvcHRpb24/IFdlbGwsIGNocm9tZSB1c2VzIHdlYmtpdCBpbiBpT1MuCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgnLS1icm93c2VyJywgZGVzdD0nYnJvd3NlcicsIHJlcXVpcmVkPVRydWUsIGNo
b2ljZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX2Jyb3dzZXJzKCkpCisgICAgcGFy
c2VyLmFkZF9hcmd1bWVudCgnLS1kZWJ1ZycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisgICAgcGFy
c2VyLmFkZF9hcmd1bWVudCgnLS1sb2NhbC1jb3B5JywgZGVzdD0nbG9jYWxDb3B5JywgaGVscD0n
UGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFyay4gZS5nLiBQZXJmb3JtYW5jZVRl
c3RzL1N1blNwaWRlci8nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tY291bnQnLCBkZXN0
PSdjb3VudE92ZXJyaWRlJywgdHlwZT1pbnQsIGhlbHA9J051bWJlciBvZiB0aW1lcyB0byBydW4g
dGhlIGJlbmNobWFyay4gZS5nLiA1JykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWh0dHAt
c2VydmVyLWRyaXZlcicsIGRlc3Q9J2h0dHBTZXJ2ZXJEcml2ZXJPdmVycmlkZScsIGRlZmF1bHQ9
Tm9uZSwgaGVscD0nU3BlY2lmeSB3aGljaCBIVFRQIHNlcnZlciB5b3Ugd2FudHMgdG8gdXNlJykK
KyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRldmljZS1pZCcsIGRlc3Q9J2RldmljZV9pZCcs
IGRlZmF1bHQ9Tm9uZSkKKworICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICBp
ZiBhcmdzLmRlYnVnOgorICAgICAgICBfbG9nLnNldExldmVsKGxvZ2dpbmcuREVCVUcpCisgICAg
X2xvZy5kZWJ1ZygnSW5pdGlhbGl6aW5nIHByb2dyYW0gd2l0aCBmb2xsb3dpbmcgcGFyYW1ldGVy
cycpCisgICAgX2xvZy5kZWJ1ZygnXHRvdXRwdXQgZmlsZSBuYW1lXHQ6ICVzJyAlIGFyZ3Mub3V0
cHV0KQorICAgIF9sb2cuZGVidWcoJ1x0YnVpbGQgZGlyZWN0b3J5XHQ6ICVzJyAlIGFyZ3MuYnVp
bGREaXIpCisgICAgX2xvZy5kZWJ1ZygnXHRwbGFuIG5hbWVcdDogJXMnLCBhcmdzLnBsYW4pCisK
KyAgICByZXR1cm4gYXJncworCisKK2RlZiBzdGFydChhcmdzKToKKyAgICBydW5uZXIgPSBCZW5j
aG1hcmtSdW5uZXIoYXJncy5wbGFuLCBhcmdzLmxvY2FsQ29weSwgYXJncy5jb3VudE92ZXJyaWRl
LCBhcmdzLmJ1aWxkRGlyLCBhcmdzLm91dHB1dCwgYXJncy5wbGF0Zm9ybSwgYXJncy5icm93c2Vy
LCBhcmdzLmh0dHBTZXJ2ZXJEcml2ZXJPdmVycmlkZSwgYXJncy5kZXZpY2VfaWQpCisgICAgcnVu
bmVyLmV4ZWN1dGUoKQorCisKK2RlZiBmb3JtYXRfbG9nZ2VyKGxvZ2dlcik6CisgICAgbG9nZ2Vy
LnNldExldmVsKGxvZ2dpbmcuSU5GTykKKyAgICBjaCA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigp
CisgICAgZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoJyUoYXNjdGltZSlzIC0gJShsZXZl
bG5hbWUpcyAtICUobWVzc2FnZSlzJykKKyAgICBjaC5zZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQor
ICAgIGxvZ2dlci5hZGRIYW5kbGVyKGNoKQorCisKK2RlZiBtYWluKCk6CisgICAgc3RhcnQocGFy
c2VfYXJncygpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL3V0aWxzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L3V0aWxzLnB5CmluZGV4IDliYmQ2OWQ2OWY0NjQ4OTExYTAzZmMzYThkMWFmMGNjNGM3MjM0YWYu
LmJjMzI0ZTIyYzc1OWQ4MWIwOWM4MzRjZDZmNjE4YTg3MTdkZGRlZWIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci91dGlscy5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvdXRpbHMucHkKQEAgLTIzLDcgKzIz
LDcgQEAgZGVmIGxvYWRNb2R1bGUobW9kdWxlRGVzYyk6CiAKIAogZGVmIGdldFBhdGhGcm9tUHJv
amVjdFJvb3QocmVsYXRpdmVQYXRoVG9Qcm9qZWN0Um9vdCk6Ci0gICAgIyBDaG9vc2UgdGhlIGRp
cmVjdG9yeSBjb250YWlubmluZyBjdXJyZW50IGZpbGUgYXMgc3RhcnQgcG9pbnQsCisgICAgIyBD
aG9vc2UgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGN1cnJlbnQgZmlsZSBhcyBzdGFydCBwb2lu
dCwKICAgICAjIGNvbXB1dGUgcmVsYXRpdmUgcGF0aCBiYXNlIG9uIHRoZSBwYXJhbWV0ZXIsCiAg
ICAgIyBhbmQgcmV0dXJuIGFuIGFic29sdXRlIHBhdGgKICAgICByZXR1cm4gb3MucGF0aC5hYnNw
YXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9f
KSksIHJlbGF0aXZlUGF0aFRvUHJvamVjdFJvb3QpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255162</attachid>
            <date>2015-06-18 18:40:08 -0700</date>
            <delta_ts>2015-06-18 19:33:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146125-20150618183930.patch</filename>
            <type>text/plain</type>
            <size>12843</size>
            <attacher>dewei_zhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1NjMyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmRhNzM5YWZjYWY5NjBlNmIxNTI0ZmJlMjA0MmJhZDYz
ZTk5ODRiYy4uZWI2YTBhNzBkZWY0NWQxYzMxNjc4NTExNTljOWQ5OGJiZGQwZTJmNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDE1LTA2LTE4ICBEZXdlaSBaaHUgIDxkZXdlaV96aHVAYXBwbGUuY29tPgorCisgICAg
ICAgIEV4dGVuZCBjYXBhYmlsaXR5IG9mIHJ1bi1iZW5jaG1hcmsgc2NyaXB0IHRvIHN1cHBvcnQg
bW9iaWxlIGRldmljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ2MTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRXh0ZW5kIGNhcGFiaWxpdHkgb2YgcnVuLWJlbmNobWFyayB0byBzdXBwb3J0IG1vYmls
ZSBkZXZpY2UsIGFuZCBtb3ZlIG1ham9yaXR5IG9mIHJ1bi1iZW5jaG1hcmsgc2NyaXB0IGNvZGUg
dG8KKyAgICAgICAgYmVuY2htYXJrX3J1bm5lciBkaXJlY3RvcnksIGFuZCBtYWtlIHJ1bi1iZW5j
aG1hcmsgYSB3cmFwcGluZyBzY3JpcHQuIEFsc28gY29ycmVjdCBhIHR5cG8uCisKKyAgICAgICAg
KiBTY3JpcHRzL3J1bi1iZW5jaG1hcms6CisgICAgICAgIChtYWluKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5w
eToKKyAgICAgICAgKEJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6CisgICAgICAgIChCZW5jaG1h
cmtSdW5uZXIuZXhlY3V0ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoQnJvd3Nl
ckRyaXZlci5wcmVwYXJlRW52KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAo
T1NYQnJvd3NlckRyaXZlci5wcmVwYXJlRW52KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHk6Cisg
ICAgICAgIChPU1hTYWZhcmlEcml2ZXIucHJlcGFyZUVudik6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2h0dHBfc2VydmVyX2RyaXZlci9odHRwX3NlcnZlcl9k
cml2ZXIucHk6CisgICAgICAgIChIVFRQU2VydmVyRHJpdmVyLmdldFJldHVybkNvZGUpOgorICAg
ICAgICAoSFRUUFNlcnZlckRyaXZlcik6CisgICAgICAgIChIVFRQU2VydmVyRHJpdmVyLnNldERl
dmljZUlEKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVu
X2JlbmNobWFyay5weTogQ29waWVkIGZyb20gVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJrLgor
ICAgICAgICAocGFyc2VfYXJncyk6CisgICAgICAgIChzdGFydCk6CisgICAgICAgIChtYWluKToK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvdXRpbHMucHk6Cisg
ICAgICAgIChnZXRQYXRoRnJvbVByb2plY3RSb290KToKKwogMjAxNS0wNi0xNSAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiAgaU9TIGFjY2Vzc2li
aWxpdHkgdGVzdHMgYXJlIG5vdCBydW5uaW5nIGJlY2F1c2Ugd2UgbmVlZCBXS1RSIHN1cHBvcnQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJlbmNobWFyayBiL1Rvb2xzL1NjcmlwdHMv
cnVuLWJlbmNobWFyawppbmRleCA4MjJiMTU5ODc0Y2FjYmUxMTE1ZjVkNDRmMDUwODg3NjI4NmIx
ZTRkLi45YWE2ZDNhOWRmZDM4MThlZDI0Y2U1ZWI2NTk5MGRmYjM4ZDQzYjliIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3J1bi1iZW5jaG1hcmsKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmVu
Y2htYXJrCkBAIC0xLDQ0ICsxLDEzIEBACiAjIS91c3IvYmluL2VudiBweXRob24KIAotaW1wb3J0
IGFyZ3BhcnNlCiBpbXBvcnQgbG9nZ2luZwotaW1wb3J0IHBsYXRmb3JtCiBpbXBvcnQgc3lzCiAK
LWZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci5iZW5jaG1hcmtfcnVubmVyIGltcG9ydCBC
ZW5jaG1hcmtSdW5uZXIKLWZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci5icm93c2VyX2Ry
aXZlci5icm93c2VyX2RyaXZlcl9mYWN0b3J5IGltcG9ydCBCcm93c2VyRHJpdmVyRmFjdG9yeQor
ZnJvbSB3ZWJraXRweS5iZW5jaG1hcmtfcnVubmVyLnJ1bl9iZW5jaG1hcmsgaW1wb3J0IG1haW4s
IGZvcm1hdF9sb2dnZXIKIAogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoKQotX2xvZy5zZXRM
ZXZlbChsb2dnaW5nLklORk8pCi1jaCA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigpCi1mb3JtYXR0
ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcignJShhc2N0aW1lKXMgLSAlKGxldmVsbmFtZSlzIC0gJSht
ZXNzYWdlKXMnKQotY2guc2V0Rm9ybWF0dGVyKGZvcm1hdHRlcikKLV9sb2cuYWRkSGFuZGxlcihj
aCkKLQotCi1kZWYgbWFpbigpOgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2Vy
KGRlc2NyaXB0aW9uPSdBdXRvbWF0ZSB0aGUgYnJvd3NlciBiYXNlZCBwZXJmb3JtYW5jZSBiZW5j
aG1hcmtzJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dC1maWxlJywgZGVzdD0n
b3V0cHV0JywgZGVmYXVsdD1Ob25lKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYnVpbGQt
ZGlyZWN0b3J5JywgZGVzdD0nYnVpbGREaXInLCBoZWxwPSdQYXRoIHRvIHRoZSBicm93c2VyIGV4
ZWN1dGFibGUuIGUuZy4gV2ViS2l0QnVpbGQvUmVsZWFzZS8nKQotICAgIHBhcnNlci5hZGRfYXJn
dW1lbnQoJy0tcGxhbicsIGRlc3Q9J3BsYW4nLCByZXF1aXJlZD1UcnVlLCBoZWxwPSdCZW5jaG1h
cmsgcGxhbiB0byBydW4uIGUuZy4gc3BlZWRvbWV0ZXIsIGpldHN0cmVhbScpCi0gICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGRlc3Q9J3BsYXRmb3JtJywgcmVxdWlyZWQ9VHJ1
ZSwgY2hvaWNlcz1Ccm93c2VyRHJpdmVyRmFjdG9yeS5hdmFpbGFibGVfcGxhdGZvcm1zKCkpCi0g
ICAgIyBGSVhNRTogU2hvdWxkIHdlIGFkZCBjaHJvbWUgYXMgYW4gb3B0aW9uPyBXZWxsLCBjaHJv
bWUgdXNlcyB3ZWJraXQgaW4gaU9TLgotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYnJvd3Nl
cicsIGRlc3Q9J2Jyb3dzZXInLCByZXF1aXJlZD1UcnVlLCBjaG9pY2VzPUJyb3dzZXJEcml2ZXJG
YWN0b3J5LmF2YWlsYWJsZV9icm93c2VycygpKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
ZGVidWcnLCBhY3Rpb249J3N0b3JlX3RydWUnKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
bG9jYWwtY29weScsIGRlc3Q9J2xvY2FsQ29weScsIGhlbHA9J1BhdGggdG8gYSBsb2NhbCBjb3B5
IG9mIHRoZSBiZW5jaG1hcmsuIGUuZy4gUGVyZm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIvJykKLSAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNvdW50JywgZGVzdD0nY291bnRPdmVycmlkZScsIHR5
cGU9aW50LCBoZWxwPSdOdW1iZXIgb2YgdGltZXMgdG8gcnVuIHRoZSBiZW5jaG1hcmsuIGUuZy4g
NScpCi0gICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLQotICAgIGlmIGFyZ3MuZGVidWc6
Ci0gICAgICAgIF9sb2cuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKLSAgICBfbG9nLmRlYnVnKCdJ
bml0aWFsaXppbmcgcHJvZ3JhbSB3aXRoIGZvbGxvd2luZyBwYXJhbWV0ZXJzJykKLSAgICBfbG9n
LmRlYnVnKCdcdG91dHB1dCBmaWxlIG5hbWVcdDogJXMnICUgYXJncy5vdXRwdXQpCi0gICAgX2xv
Zy5kZWJ1ZygnXHRidWlsZCBkaXJlY3RvcnlcdDogJXMnICUgYXJncy5idWlsZERpcikKLSAgICBf
bG9nLmRlYnVnKCdcdHBsYW4gbmFtZVx0OiAlcycsIGFyZ3MucGxhbikKLSAgICBydW5uZXIgPSBC
ZW5jaG1hcmtSdW5uZXIoYXJncy5wbGFuLCBhcmdzLmxvY2FsQ29weSwgYXJncy5jb3VudE92ZXJy
aWRlLCBhcmdzLmJ1aWxkRGlyLCBhcmdzLm91dHB1dCwgYXJncy5wbGF0Zm9ybSwgYXJncy5icm93
c2VyKQotICAgIHJ1bm5lci5leGVjdXRlKCkKLQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18n
OgorICAgIGZvcm1hdF9sb2dnZXIoX2xvZykKICAgICBzeXMuZXhpdChtYWluKCkpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1
bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1h
cmtfcnVubmVyLnB5CmluZGV4IGJiMWRiNjExMDY4ODYxZTRlYzE4MmIyMDk2NGMxNzUzNWY4MTJl
MDEuLjQ3ZTc4YmQ1YTIyMmE3MGRjY2EwMDI1OWJhNDlmMjJiNjE4ZGY4MWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVubmVy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1h
cmtfcnVubmVyLnB5CkBAIC0yNSw4ICsyNSw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihf
X25hbWVfXykKIAogY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAKLSAgICBkZWYgX19p
bml0X18oc2VsZiwgcGxhbkZpbGUsIGxvY2FsQ29weSwgY291bnRPdmVycmlkZSwgYnVpbGREaXIs
IG91dHB1dEZpbGUsIHBsYXRmb3JtLCBicm93c2VyKToKLSAgICAgICAgX2xvZy5pbmZvKCdJbml0
aWFsaXppbmcgYmVuY2htYXJrIHJ1bm5pbmcnKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFu
RmlsZSwgbG9jYWxDb3B5LCBjb3VudE92ZXJyaWRlLCBidWlsZERpciwgb3V0cHV0RmlsZSwgcGxh
dGZvcm0sIGJyb3dzZXIsIGh0dHBTZXJ2ZXJEcml2ZXJPdmVycmlkZT1Ob25lLCBkZXZpY2VJRD1O
b25lKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGxhbkZpbGUgPSBzZWxmLl9maW5kUGxh
bkZpbGUocGxhbkZpbGUpCiAgICAgICAgICAgICB3aXRoIG9wZW4ocGxhbkZpbGUsICdyJykgYXMg
ZnA6CkBAIC0zNiwxMCArMzUsMTQgQEAgY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAg
ICAgICAgICAgICAgICAgICAgIHNlbGYucGxhblsnbG9jYWxfY29weSddID0gbG9jYWxDb3B5CiAg
ICAgICAgICAgICAgICAgaWYgY291bnRPdmVycmlkZToKICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5wbGFuWydjb3VudCddID0gY291bnRPdmVycmlkZQorICAgICAgICAgICAgICAgIGlmIGh0dHBT
ZXJ2ZXJEcml2ZXJPdmVycmlkZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGFuWydodHRw
X3NlcnZlcl9kcml2ZXInXSA9IGh0dHBTZXJ2ZXJEcml2ZXJPdmVycmlkZQogICAgICAgICAgICAg
ICAgIHNlbGYuYnJvd3NlckRyaXZlciA9IEJyb3dzZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShbcGxh
dGZvcm0sIGJyb3dzZXJdKQogICAgICAgICAgICAgICAgIHNlbGYuaHR0cFNlcnZlckRyaXZlciA9
IEhUVFBTZXJ2ZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShbc2VsZi5wbGFuWydodHRwX3NlcnZlcl9k
cml2ZXInXV0pCisgICAgICAgICAgICAgICAgc2VsZi5odHRwU2VydmVyRHJpdmVyLnNldERldmlj
ZUlEKGRldmljZUlEKQogICAgICAgICAgICAgICAgIHNlbGYuYnVpbGREaXIgPSBvcy5wYXRoLmFi
c3BhdGgoYnVpbGREaXIpIGlmIGJ1aWxkRGlyIGVsc2UgTm9uZQogICAgICAgICAgICAgICAgIHNl
bGYub3V0cHV0RmlsZSA9IG91dHB1dEZpbGUKKyAgICAgICAgICAgICAgICBzZWxmLmRldmljZUlE
ID0gZGV2aWNlSUQKICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyb3I6CiAgICAgICAgICAg
ICBfbG9nLmVycm9yKCdDYW4gbm90IG9wZW4gcGxhbiBmaWxlOiAlcyAtIEVycm9yICVzJyAlIChw
bGFuRmlsZSwgZXJyb3IpKQogICAgICAgICAgICAgcmFpc2UgZXJyb3IKQEAgLTY4LDcgKzcxLDcg
QEAgY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgICAgIGZvciB4IGluIHhyYW5n
ZShpbnQoc2VsZi5wbGFuWydjb3VudCddKSk6CiAgICAgICAgICAgICBfbG9nLmluZm8oJ1N0YXJ0
IHRoZSBpdGVyYXRpb24gJWQgb2YgY3VycmVudCBiZW5jaG1hcmsnICUgKHggKyAxKSkKICAgICAg
ICAgICAgIHNlbGYuaHR0cFNlcnZlckRyaXZlci5zZXJ2ZSh3ZWJSb290KQotICAgICAgICAgICAg
c2VsZi5icm93c2VyRHJpdmVyLnByZXBhcmVFbnYoKQorICAgICAgICAgICAgc2VsZi5icm93c2Vy
RHJpdmVyLnByZXBhcmVFbnYoc2VsZi5kZXZpY2VJRCkKICAgICAgICAgICAgIHVybCA9IHVybHBh
cnNlLnVybGpvaW4oc2VsZi5odHRwU2VydmVyRHJpdmVyLmJhc2VVcmwoKSwgc2VsZi5wbGFuTmFt
ZSArICcvJyArIHNlbGYucGxhblsnZW50cnlfcG9pbnQnXSkKICAgICAgICAgICAgIHNlbGYuYnJv
d3NlckRyaXZlci5sYXVuY2hVcmwodXJsLCBzZWxmLmJ1aWxkRGlyKQogICAgICAgICAgICAgcmVz
dWx0ID0gTm9uZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5
CmluZGV4IDZiZWYxNTA2ZmFmNjRhYTAxZjRlNDExMzE4MzIwNDE4MmY1ODdlM2YuLjQzN2E4Y2Jj
ZDM4YWUxNDY3NDFlOTRiNzc3MTA1MzBjYzYyZTBkYzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZl
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nl
cl9kcml2ZXIvYnJvd3Nlcl9kcml2ZXIucHkKQEAgLTYsNyArNiw3IEBAIGltcG9ydCBhYmMKIGNs
YXNzIEJyb3dzZXJEcml2ZXIob2JqZWN0KToKIAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKLSAg
ICBkZWYgcHJlcGFyZUVudihzZWxmKToKKyAgICBkZWYgcHJlcGFyZUVudihzZWxmLCBkZXZpY2VJ
RCk6CiAgICAgICAgIHBhc3MKIAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9v
c3hfYnJvd3Nlcl9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5CmluZGV4IDA5YzE0ZDIz
MzU4NGMxZTQ0MzRkOTRkYzE3MTU4NGI4OTZjNzkwYmUuLjJkYzdlYWFlMTMwNTZiZTkwNDFmYWZj
ZDhjZjIxOTFjYmJhZjY3ZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVu
Y2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2ZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29z
eF9icm93c2VyX2RyaXZlci5weQpAQCAtMTUsNyArMTUsNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCiBjbGFzcyBPU1hCcm93c2VyRHJpdmVyKEJyb3dzZXJEcml2ZXIpOgog
ICAgIGJ1bmRsZUlkZW50aWZpZXIgPSBOb25lCiAKLSAgICBkZWYgcHJlcGFyZUVudihzZWxmKToK
KyAgICBkZWYgcHJlcGFyZUVudihzZWxmLCBkZXZpY2VJRCk6CiAgICAgICAgIHNlbGYuY2xvc2VC
cm93c2VycygpCiAgICAgICAgIENHV2FycE1vdXNlQ3Vyc29yUG9zaXRpb24oKDEwLCAwKSkKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CmluZGV4
IGM0Y2ExYTRlNTgyMjc0MDM4OGE2ZDRlOWY3OTk4YWU5MTBkZjZhZWQuLjk3YWZiYjMxNTY0ZDVm
MGVkNjc5MTVkZTQyNTM3NmQ0YmE2NTlhYzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9k
cml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHkKQEAgLTE2LDcgKzE2LDcgQEAgX2xvZyA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogY2xhc3MgT1NYU2FmYXJpRHJpdmVyKE9TWEJyb3dzZXJE
cml2ZXIpOgogICAgIGJ1bmRsZUlkZW50aWZpZXIgPSAnY29tLmFwcGxlLlNhZmFyaScKIAotICAg
IGRlZiBwcmVwYXJlRW52KHNlbGYpOgorICAgIGRlZiBwcmVwYXJlRW52KHNlbGYsIGRldmljZUlE
KToKICAgICAgICAgc2VsZi5zYWZhcmlQcm9jZXNzID0gTm9uZQogICAgICAgICBzdXBlcihPU1hT
YWZhcmlEcml2ZXIsIHNlbGYpLnByZXBhcmVFbnYoKQogICAgICAgICBmb3JjZVJlbW92ZShvcy5w
YXRoLmpvaW4ob3MucGF0aC5leHBhbmR1c2VyKCd+JyksICdMaWJyYXJ5L1NhdmVkIEFwcGxpY2F0
aW9uIFN0YXRlL2NvbS5hcHBsZS5TYWZhcmkuc2F2ZWRTdGF0ZScpKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2h0dHBfc2VydmVyX2RyaXZlci9o
dHRwX3NlcnZlcl9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvaHR0cF9zZXJ2ZXJfZHJpdmVyL2h0dHBfc2VydmVyX2RyaXZlci5weQppbmRleCA5N2Vi
NDM2MTE5ZDViMGFkZDQxN2Q5NWM4OGQ5NDU3NGQ5OWFhM2FiLi45ZDI5YzYzNmI5NjBiNGM4ZTIw
OTI4MjJlYjRhMjhiYjQ3ZjY1ZWY0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvaHR0cF9zZXJ2ZXJfZHJpdmVyL2h0dHBfc2VydmVyX2RyaXZlci5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvaHR0cF9zZXJ2
ZXJfZHJpdmVyL2h0dHBfc2VydmVyX2RyaXZlci5weQpAQCAtMTksMyArMTksNyBAQCBjbGFzcyBI
VFRQU2VydmVyRHJpdmVyKG9iamVjdCk6CiAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIGdl
dFJldHVybkNvZGUoc2VsZik6CiAgICAgICAgIHBhc3MKKworICAgIEBhYnN0cmFjdG1ldGhvZAor
ICAgIGRlZiBzZXREZXZpY2VJRChzZWxmLCBkZXZpY2VJRCk6CisgICAgICAgIHBhc3MKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2ht
YXJrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3J1bl9iZW5j
aG1hcmsucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FkN2IxNjRlOTYyYmJiNTQ2NmFmMzJkMTJlNTM5MDIxOTZh
ZmMzZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJr
X3J1bm5lci9ydW5fYmVuY2htYXJrLnB5CkBAIC0wLDAgKzEsNTUgQEAKKyMhL3Vzci9iaW4vZW52
IHB5dGhvbgorCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgcGxhdGZv
cm0KK2ltcG9ydCBvcworCitmcm9tIGJlbmNobWFya19ydW5uZXIgaW1wb3J0IEJlbmNobWFya1J1
bm5lcgorZnJvbSBicm93c2VyX2RyaXZlci5icm93c2VyX2RyaXZlcl9mYWN0b3J5IGltcG9ydCBC
cm93c2VyRHJpdmVyRmFjdG9yeQorCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKKworCitkZWYgcGFyc2VfYXJncygpOgorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50
UGFyc2VyKGRlc2NyaXB0aW9uPSdBdXRvbWF0ZSB0aGUgYnJvd3NlciBiYXNlZCBwZXJmb3JtYW5j
ZSBiZW5jaG1hcmtzJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dC1maWxlJywg
ZGVzdD0nb3V0cHV0JywgZGVmYXVsdD1Ob25lKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
YnVpbGQtZGlyZWN0b3J5JywgZGVzdD0nYnVpbGREaXInLCBoZWxwPSdQYXRoIHRvIHRoZSBicm93
c2VyIGV4ZWN1dGFibGUuIGUuZy4gV2ViS2l0QnVpbGQvUmVsZWFzZS8nKQorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoJy0tcGxhbicsIGRlc3Q9J3BsYW4nLCByZXF1aXJlZD1UcnVlLCBoZWxwPSdC
ZW5jaG1hcmsgcGxhbiB0byBydW4uIGUuZy4gc3BlZWRvbWV0ZXIsIGpldHN0cmVhbScpCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGRlc3Q9J3BsYXRmb3JtJywgcmVxdWly
ZWQ9VHJ1ZSwgY2hvaWNlcz1Ccm93c2VyRHJpdmVyRmFjdG9yeS5hdmFpbGFibGVfcGxhdGZvcm1z
KCkpCisgICAgIyBGSVhNRTogU2hvdWxkIHdlIGFkZCBjaHJvbWUgYXMgYW4gb3B0aW9uPyBXZWxs
LCBjaHJvbWUgdXNlcyB3ZWJraXQgaW4gaU9TLgorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
YnJvd3NlcicsIGRlc3Q9J2Jyb3dzZXInLCByZXF1aXJlZD1UcnVlLCBjaG9pY2VzPUJyb3dzZXJE
cml2ZXJGYWN0b3J5LmF2YWlsYWJsZV9icm93c2VycygpKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy0tZGVidWcnLCBhY3Rpb249J3N0b3JlX3RydWUnKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy0tbG9jYWwtY29weScsIGRlc3Q9J2xvY2FsQ29weScsIGhlbHA9J1BhdGggdG8gYSBsb2Nh
bCBjb3B5IG9mIHRoZSBiZW5jaG1hcmsuIGUuZy4gUGVyZm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIv
JykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNvdW50JywgZGVzdD0nY291bnRPdmVycmlk
ZScsIHR5cGU9aW50LCBoZWxwPSdOdW1iZXIgb2YgdGltZXMgdG8gcnVuIHRoZSBiZW5jaG1hcmsu
IGUuZy4gNScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1odHRwLXNlcnZlci1kcml2ZXIn
LCBkZXN0PSdodHRwU2VydmVyRHJpdmVyT3ZlcnJpZGUnLCBkZWZhdWx0PU5vbmUsIGhlbHA9J1Nw
ZWNpZnkgd2hpY2ggSFRUUCBzZXJ2ZXIgeW91IHdhbnRzIHRvIHVzZScpCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgnLS1kZXZpY2UtaWQnLCBkZXN0PSdkZXZpY2VfaWQnLCBkZWZhdWx0PU5vbmUp
CisKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgaWYgYXJncy5kZWJ1ZzoK
KyAgICAgICAgX2xvZy5zZXRMZXZlbChsb2dnaW5nLkRFQlVHKQorICAgIF9sb2cuZGVidWcoJ0lu
aXRpYWxpemluZyBwcm9ncmFtIHdpdGggZm9sbG93aW5nIHBhcmFtZXRlcnMnKQorICAgIF9sb2cu
ZGVidWcoJ1x0b3V0cHV0IGZpbGUgbmFtZVx0OiAlcycgJSBhcmdzLm91dHB1dCkKKyAgICBfbG9n
LmRlYnVnKCdcdGJ1aWxkIGRpcmVjdG9yeVx0OiAlcycgJSBhcmdzLmJ1aWxkRGlyKQorICAgIF9s
b2cuZGVidWcoJ1x0cGxhbiBuYW1lXHQ6ICVzJywgYXJncy5wbGFuKQorCisgICAgcmV0dXJuIGFy
Z3MKKworCitkZWYgc3RhcnQoYXJncyk6CisgICAgcnVubmVyID0gQmVuY2htYXJrUnVubmVyKGFy
Z3MucGxhbiwgYXJncy5sb2NhbENvcHksIGFyZ3MuY291bnRPdmVycmlkZSwgYXJncy5idWlsZERp
ciwgYXJncy5vdXRwdXQsIGFyZ3MucGxhdGZvcm0sIGFyZ3MuYnJvd3NlciwgYXJncy5odHRwU2Vy
dmVyRHJpdmVyT3ZlcnJpZGUsIGFyZ3MuZGV2aWNlX2lkKQorICAgIHJ1bm5lci5leGVjdXRlKCkK
KworCitkZWYgZm9ybWF0X2xvZ2dlcihsb2dnZXIpOgorICAgIGxvZ2dlci5zZXRMZXZlbChsb2dn
aW5nLklORk8pCisgICAgY2ggPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoKQorICAgIGZvcm1hdHRl
ciA9IGxvZ2dpbmcuRm9ybWF0dGVyKCclKGFzY3RpbWUpcyAtICUobGV2ZWxuYW1lKXMgLSAlKG1l
c3NhZ2UpcycpCisgICAgY2guc2V0Rm9ybWF0dGVyKGZvcm1hdHRlcikKKyAgICBsb2dnZXIuYWRk
SGFuZGxlcihjaCkKKworCitkZWYgbWFpbigpOgorICAgIHN0YXJ0KHBhcnNlX2FyZ3MoKSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci91dGlscy5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci91dGlscy5weQppbmRl
eCA5YmJkNjlkNjlmNDY0ODkxMWEwM2ZjM2E4ZDFhZjBjYzRjNzIzNGFmLi5iYzMyNGUyMmM3NTlk
ODFiMDljODM0Y2Q2ZjYxOGE4NzE3ZGRkZWViIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvdXRpbHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL3V0aWxzLnB5CkBAIC0yMyw3ICsyMyw3IEBAIGRlZiBsb2Fk
TW9kdWxlKG1vZHVsZURlc2MpOgogCiAKIGRlZiBnZXRQYXRoRnJvbVByb2plY3RSb290KHJlbGF0
aXZlUGF0aFRvUHJvamVjdFJvb3QpOgotICAgICMgQ2hvb3NlIHRoZSBkaXJlY3RvcnkgY29udGFp
bm5pbmcgY3VycmVudCBmaWxlIGFzIHN0YXJ0IHBvaW50LAorICAgICMgQ2hvb3NlIHRoZSBkaXJl
Y3RvcnkgY29udGFpbmluZyBjdXJyZW50IGZpbGUgYXMgc3RhcnQgcG9pbnQsCiAgICAgIyBjb21w
dXRlIHJlbGF0aXZlIHBhdGggYmFzZSBvbiB0aGUgcGFyYW1ldGVyLAogICAgICMgYW5kIHJldHVy
biBhbiBhYnNvbHV0ZSBwYXRoCiAgICAgcmV0dXJuIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpLCByZWxhdGl2ZVBh
dGhUb1Byb2plY3RSb290KSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>