<?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>78558</bug_id>
          
          <creation_ts>2012-02-13 17:46:20 -0800</creation_ts>
          <short_desc>Implement start/stop_helper for ChromiumAndroidPort</short_desc>
          <delta_ts>2012-02-13 19:09:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>78524</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>jnd</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>555809</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-13 17:46:20 -0800</bug_when>
    <thetext>Implement start/stop_helper for ChromiumAndroidPort</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555810</commentid>
    <comment_count>1</comment_count>
      <attachid>126874</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-13 17:48:33 -0800</bug_when>
    <thetext>Created attachment 126874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555814</commentid>
    <comment_count>2</comment_count>
      <attachid>126876</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-13 17:52:07 -0800</bug_when>
    <thetext>Created attachment 126876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555818</commentid>
    <comment_count>3</comment_count>
      <attachid>126876</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-13 17:56:24 -0800</bug_when>
    <thetext>Comment on attachment 126876
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py:35
&gt; +_log = logging.getLogger(&apos;webkitpy.layout_tests.port.chromium_android&apos;)

Nit: you should use __file__ here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555827</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-13 18:09:05 -0800</bug_when>
    <thetext>&gt; Nit: you should use __file__ here.

Gah!  (grepping around, it looks like we use __name__)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555829</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-13 18:10:27 -0800</bug_when>
    <thetext>Committed r107653: &lt;http://trac.webkit.org/changeset/107653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555831</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-13 18:13:39 -0800</bug_when>
    <thetext>Sorry, yeah __name__ is likely better than __file__.  I too often get them confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555868</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-13 19:09:11 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; Nit: you should use __file__ here.
&gt; 
&gt; Gah!  (grepping around, it looks like we use __name__)

Sorry! I meant __name__.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126874</attachid>
            <date>2012-02-13 17:48:33 -0800</date>
            <delta_ts>2012-02-13 17:51:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78558-20120213174832.patch</filename>
            <type>text/plain</type>
            <size>11543</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwNzY1MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM4IEBACisyMDEyLTAyLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IHN0YXJ0L3N0b3BfaGVscGVyIGZvciBDaHJvbWl1bUFuZHJvaWRQ
b3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNl
IGZ1bmN0aW9ucyAoYW5kIHRoZWlyIGRlcGVuZGVuY2llcykgc2V0IHVwIHRoZSBBbmRyb2lkIGRl
dmljZSBmb3IKKyAgICAgICAgdGVzdGluZy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gaW5j
bHVkZXMgYSBmZXcgdHdlYWtzIG9uIHRoZSBwcmV2aW91cyBwYXRjaCByZWNvbW1lbmRlZAorICAg
ICAgICBieSBkcHJhbmtlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5OgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9y
dC5fX2luaXRfXyk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0LnN0YXJ0X2hlbHBlcik6
CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0LnN0b3BfaGVscGVyKToKKyAgICAgICAgKENo
cm9taXVtQW5kcm9pZFBvcnQuX3NodXRfZG93bl9odHRwX3NlcnZlcik6CisgICAgICAgIChDaHJv
bWl1bUFuZHJvaWRQb3J0KToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZFBvcnQuX3B1c2hfZXhl
Y3V0YWJsZSk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0Ll9wdXNoX2ZvbnRzKToKKyAg
ICAgICAgKENocm9taXVtQW5kcm9pZFBvcnQuX3Jlc3RvcmVfc3lzdGVtX2ZvbnQpOgorICAgICAg
ICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5fcHVzaF90ZXN0X3Jlc291cmNlcyk6CisgICAgICAgIChD
aHJvbWl1bUFuZHJvaWRQb3J0Ll9wdXNoX3RvX2RldmljZSk6CisgICAgICAgIChDaHJvbWl1bUFu
ZHJvaWRQb3J0Ll9wdWxsX2Zyb21fZGV2aWNlKToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZFBv
cnQuX2tpbGxfZGV2aWNlX3Byb2Nlc3MpOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5f
c2V0dXBfcGVyZm9ybWFuY2UpOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5fdGVhcmRv
d25fcGVyZm9ybWFuY2UpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fYW5kcm9pZF91bml0dGVzdC5weToKKyAgICAgICAgKENocm9taXVtQW5k
cm9pZFBvcnRUZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3BvcnRfdGVzdGNhc2UucHk6CisgICAgICAgIChQb3J0VGVzdENhc2UpOgorICAgICAgICAo
UG9ydFRlc3RDYXNlLm1ha2VfcG9ydCk6CisgICAgICAgIChQb3J0VGVzdENhc2UudGVzdF9kZWZh
dWx0X3dvcmtlcl9tb2RlbCk6CisKIDIwMTItMDItMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgZW5vdWdoIG9mIENocm9taXVtQW5kcm9pZFBv
cnQgdG8gbWFrZSBDaHJvbWl1bUFuZHJvaWRQb3J0VGVzdCBwYXNzCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV9hbmRyb2lkLnB5CShyZXZpc2lvbiAxMDc2MzcpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDcgKzI2LDI2IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQg
bG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBjaHJvbWl1
bQorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgZmFjdG9yeQorCisKK19s
b2cgPSBsb2dnaW5nLmdldExvZ2dlcignd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQuY2hyb21p
dW1fYW5kcm9pZCcpCisKKworIyBUaGUgcm9vdCBkaXJlY3RvcnkgZm9yIHRlc3QgcmVzb3VyY2Vz
LCB3aGljaCBoYXMgdGhlIHNhbWUgc3RydWN0dXJlIGFzIHRoZQorIyBzb3VyY2Ugcm9vdCBkaXJl
Y3Rvcnkgb2YgQ2hyb21pdW0uCisjIFRoaXMgcGF0aCBpcyBkZWZpbmVkIGluIGJhc2UvYmFzZV9w
YXRoc19hbmRyb2lkLmNjIGFuZAorIyB3ZWJraXQvc3VwcG9ydC9wbGF0Zm9ybV9zdXBwb3J0X2Fu
ZHJvaWQuY2MuCitERVZJQ0VfU09VUkNFX1JPT1RfRElSID0gJy9kYXRhL2xvY2FsL3RtcC8nCisK
K0RFVklDRV9EUlRfRElSID0gJy9kYXRhL2RydC8nCitERVZJQ0VfRFJUX1BBVEggPSBERVZJQ0Vf
RFJUX0RJUiArICdEdW1wUmVuZGVyVHJlZScKK0RFVklDRV9EUlRfU1RERVJSID0gREVWSUNFX0RS
VF9ESVIgKyAnRHVtcFJlbmRlclRyZWUuc3RkZXJyJworREVWSUNFX0ZPUldBUkRFUl9QQVRIID0g
REVWSUNFX0RSVF9ESVIgKyAnZm9yd2FyZGVyJworREVWSUNFX0RSVF9TVEFNUF9QQVRIID0gREVW
SUNFX0RSVF9ESVIgKyAnRHVtcFJlbmRlclRyZWUuc3RhbXAnCiAKIE1TX1RSVUVUWVBFX0ZPTlRT
X0RJUiA9ICcvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvJwogCkBAIC02
Niw2ICs4NSwzMCBAQCBIT1NUX0ZPTlRfRklMRVMgPSBbCiAjIFNob3VsZCBpbmNyZWFzZSB0aGlz
IHZlcnNpb24gYWZ0ZXIgY2hhbmdpbmcgSE9TVF9GT05UX0ZJTEVTLgogRk9OVF9GSUxFU19WRVJT
SU9OID0gMQogCitERVZJQ0VfRk9OVFNfRElSID0gREVWSUNFX0RSVF9ESVIgKyAnZm9udHMvJwor
REVWSUNFX0ZJUlNUX0ZBTExCQUNLX0ZPTlQgPSAnL3N5c3RlbS9mb250cy9Ecm9pZE5hc2toLVJl
Z3VsYXIudHRmJworCisjIFRoZSBsYXlvdXQgdGVzdHMgZGlyZWN0b3J5IG9uIGRldmljZSwgd2hp
Y2ggaGFzIHR3byB1c2FnZXM6CisjIDEuIGFzIGEgdmlydHVhbCBwYXRoIGluIGZpbGUgdXJscyB0
aGF0IHdpbGwgYmUgYnJpZGdlZCB0byBIVFRQLgorIyAyLiBwb2ludGluZyB0byBzb21lIGZpbGVz
IHRoYXQgYXJlIHB1c2hlZCB0byB0aGUgZGV2aWNlIGZvciB0ZXN0cyB0aGF0CisjIGRvbid0IHdv
cmsgb24gZmlsZS1vdmVyLWh0dHAgKGUuZy4gYmxvYiBwcm90b2NvbCB0ZXN0cykuCitERVZJQ0Vf
TEFZT1VUX1RFU1RTX0RJUiA9IChERVZJQ0VfU09VUkNFX1JPT1RfRElSICsgJ3RoaXJkX3BhcnR5
L1dlYktpdC9MYXlvdXRUZXN0cy8nKQorCisjIFRlc3QgcmVzb3VyY2VzIHRoYXQgbmVlZCB0byBi
ZSBhY2Nlc3NlZCBhcyBmaWxlcyBkaXJlY3RseS4KKyMgRWFjaCBpdGVtIGNhbiBiZSB0aGUgcmVs
YXRpdmUgcGF0aCBvZiBhIGRpcmVjdG9yeSBvciBhIGZpbGUuCitURVNUX1JFU09VUkNFU19UT19Q
VVNIID0gWworICAgICMgQmxvYiB0ZXN0cyBuZWVkIHRvIGFjY2VzcyBmaWxlcyBkaXJlY3RseS4K
KyAgICAnZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlcycsCisgICAgJ2Zhc3QvZmlsZXMvcmVz
b3VyY2VzJywKKyAgICAnaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMnLAorICAgICdodHRwL3Rl
c3RzL2xvY2FsL2Zvcm1kYXRhL3Jlc291cmNlcycsCisgICAgIyBVc2VyIHN0eWxlIFVSTHMgYXJl
IGFjY2Vzc2VkIGFzIGxvY2FsIGZpbGVzIGluIHdlYmtpdF9zdXBwb3J0LgorICAgICdodHRwL3Rl
c3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jc3NTdHlsZS5jc3MnLAorICAgICMgTWVkaWEgdGVzdHMg
bmVlZCB0byBhY2Nlc3MgYXVkaW8vdmlkZW8gYXMgZmlsZXMuCisgICAgJ21lZGlhL2NvbnRlbnQn
LAorICAgICdjb21wb3NpdGluZy9yZXNvdXJjZXMvdmlkZW8ubXA0JywKK10KKwogCiBjbGFzcyBD
aHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgcG9ydF9uYW1l
ID0gJ2Nocm9taXVtLWFuZHJvaWQnCkBAIC04OSw3ICsxMzIsNyBAQCBjbGFzcyBDaHJvbWl1bUFu
ZHJvaWRQb3J0KGNocm9taXVtLkNocm9tCiAgICAgICAgIHNlbGYuX29yaWdpbmFsX2dvdmVybm9y
ID0gTm9uZQogICAgICAgICBzZWxmLl9hbmRyb2lkX2Jhc2VfZGlyID0gTm9uZQogCi0gICAgICAg
IHNlbGYuX2hvc3RfcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgnY2hyb21pdW0nLCAqKmt3
YXJncykKKyAgICAgICAgc2VsZi5faG9zdF9wb3J0ID0gZmFjdG9yeS5Qb3J0RmFjdG9yeShob3N0
KS5nZXQoJ2Nocm9taXVtJywgKiprd2FyZ3MpCiAKICAgICAgICAgc2VsZi5fYWRiX2NvbW1hbmQg
PSBbJ2FkYiddCiAgICAgICAgIGFkYl9hcmdzID0gc2VsZi5nZXRfb3B0aW9uKCdhZGJfYXJncycp
CkBAIC0xMzcsMTIgKzE4MCwxOSBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVt
LkNocm9tCiAgICAgICAgIHBhc3MKIAogICAgIGRlZiBzdGFydF9oZWxwZXIoc2VsZik6Ci0gICAg
ICAgICMgRklYTUU6IE5vdCBpbXBsZW1lbnRlZCAoeWV0ISkKLSAgICAgICAgcGFzcworICAgICAg
ICBzZWxmLl9zZXR1cF9wZXJmb3JtYW5jZSgpCisgICAgICAgICMgUmVxdWlyZWQgYnkgd2Via2l0
X3N1cHBvcnQ6OkdldFdlYktpdFJvb3REaXJGaWxlUGF0aCgpLgorICAgICAgICAjIE90aGVyIGRp
cmVjdG9yaWVzIHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGFkYiBwdXNoLgorICAg
ICAgICBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdta2RpcicsICctcCcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX1NPVVJDRV9ST09UX0RJUiArICdjaHJv
bWUnXSkKKyAgICAgICAgc2VsZi5fcHVzaF9leGVjdXRhYmxlKCkKKyAgICAgICAgc2VsZi5fcHVz
aF9mb250cygpCiAKICAgICBkZWYgc3RvcF9oZWxwZXIoc2VsZik6Ci0gICAgICAgICMgRklYTUU6
IE5vdCBpbXBsZW1lbnRlZCAoeWV0ISkKLSAgICAgICAgcGFzcworICAgICAgICBzZWxmLl9yZXN0
b3JlX3N5c3RlbV9mb250KCkKKyAgICAgICAgIyBMZWF2ZSB0aGUgZm9yd2FyZGVyIGFuZCB0ZXN0
cyBodHRwZCBzZXJ2ZXIgdGhlcmUgYmVjYXVzZSB0aGV5IGFyZQorICAgICAgICAjIHVzZWZ1bCBm
b3IgZGVidWdnaW5nIGFuZCBkbyBubyBoYXJtIHRvIHN1YnNlcXVlbnQgdGVzdHMuCisgICAgICAg
IHNlbGYuX3RlYXJkb3duX3BlcmZvcm1hbmNlKCkKIAogICAgIGRlZiBfYnVpbGRfcGF0aChzZWxm
LCAqY29tcHMpOgogICAgICAgICByZXR1cm4gc2VsZi5faG9zdF9wb3J0Ll9idWlsZF9wYXRoKCpj
b21wcykKQEAgLTE3OSwzICsyMjksNjkgQEAgY2xhc3MgQ2hyb21pdW1BbmRyb2lkUG9ydChjaHJv
bWl1bS5DaHJvbQogCiAgICAgZGVmIF9zaHV0X2Rvd25faHR0cF9zZXJ2ZXIoc2VsZiwgcGlkKToK
ICAgICAgICAgcmV0dXJuIHNlbGYuX2hvc3RfcG9ydC5fc2h1dF9kb3duX2h0dHBfc2VydmVyKHBp
ZCkKKworICAgIGRlZiBfcHVzaF9leGVjdXRhYmxlKHNlbGYpOgorICAgICAgICBkcnRfaG9zdF9w
YXRoID0gc2VsZi5fcGF0aF90b19kcml2ZXIoKQorICAgICAgICBmb3J3YXJkZXJfaG9zdF9wYXRo
ID0gc2VsZi5fcGF0aF90b19oZWxwZXIoKQorICAgICAgICBkcnRfamFyX2hvc3RfcGF0aCA9IGRy
dF9ob3N0X3BhdGggKyAnLmphcicKKyAgICAgICAgaG9zdF9zdGFtcCA9IGludChmbG9hdChtYXgo
b3Muc3RhdChkcnRfaG9zdF9wYXRoKS5zdF9tdGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3Muc3RhdChmb3J3YXJkZXJfaG9zdF9wYXRoKS5zdF9tdGltZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Muc3RhdChkcnRfamFyX2hvc3RfcGF0aCku
c3RfbXRpbWUpKSkKKyAgICAgICAgZGV2aWNlX3N0YW1wID0gaW50KGZsb2F0KHNlbGYuX3J1bl9h
ZGJfY29tbWFuZChbCisgICAgICAgICAgICAnc2hlbGwnLCAnY2F0ICVzIDI+L2Rldi9udWxsIHx8
IGVjaG8gMCcgJSBERVZJQ0VfRFJUX1NUQU1QX1BBVEhdKSkpCisgICAgICAgIGlmIGRldmljZV9z
dGFtcCA8IGhvc3Rfc3RhbXA6CisgICAgICAgICAgICBfbG9nLmRlYnVnKCdQdXNoaW5nIGV4ZWN1
dGFibGUnKQorICAgICAgICAgICAgc2VsZi5fa2lsbF9kZXZpY2VfcHJvY2VzcyhERVZJQ0VfRk9S
V0FSREVSX1BBVEgpCisgICAgICAgICAgICBzZWxmLl9wdXNoX3RvX2RldmljZShmb3J3YXJkZXJf
aG9zdF9wYXRoLCBERVZJQ0VfRk9SV0FSREVSX1BBVEgpCisgICAgICAgICAgICBzZWxmLl9wdXNo
X3RvX2RldmljZShkcnRfaG9zdF9wYXRoLCBERVZJQ0VfRFJUX1BBVEgpCisgICAgICAgICAgICBz
ZWxmLl9wdXNoX3RvX2RldmljZShkcnRfaG9zdF9wYXRoICsgJy5wYWsnLCBERVZJQ0VfRFJUX1BB
VEggKyAnLnBhaycpCisgICAgICAgICAgICBzZWxmLl9wdXNoX3RvX2RldmljZShkcnRfaG9zdF9w
YXRoICsgJ19yZXNvdXJjZXMnLCBERVZJQ0VfRFJUX1BBVEggKyAnX3Jlc291cmNlcycpCisgICAg
ICAgICAgICBzZWxmLl9wdXNoX3RvX2RldmljZShkcnRfamFyX2hvc3RfcGF0aCwgREVWSUNFX0RS
VF9QQVRIICsgJy5qYXInKQorICAgICAgICAgICAgIyBWZXJzaW9uIGNvbnRyb2wgb2YgdGVzdCBy
ZXNvdXJjZXMgaXMgZGVwZW5kZW50IG9uIGV4ZWN1dGFibGVzLAorICAgICAgICAgICAgIyBiZWNh
dXNlIHdlIHdpbGwgYWx3YXlzIHJlYnVpbGQgZXhlY3V0YWJsZXMgd2hlbiByZXNvdXJjZXMgYXJl
CisgICAgICAgICAgICAjIHVwZGF0ZWQuCisgICAgICAgICAgICBzZWxmLl9wdXNoX3Rlc3RfcmVz
b3VyY2VzKCkKKyAgICAgICAgICAgIHNlbGYuX3J1bl9hZGJfY29tbWFuZChbJ3NoZWxsJywgJ2Vj
aG8gJWQgPiVzJyAlIChob3N0X3N0YW1wLCBERVZJQ0VfRFJUX1NUQU1QX1BBVEgpXSkKKworICAg
IGRlZiBfcHVzaF9mb250cyhzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuX2NoZWNrX3ZlcnNp
b24oREVWSUNFX0ZPTlRTX0RJUiwgRk9OVF9GSUxFU19WRVJTSU9OKToKKyAgICAgICAgICAgIF9s
b2cuZGVidWcoJ1B1c2hpbmcgZm9udHMnKQorICAgICAgICAgICAgcGF0aF90b19haGVtX2ZvbnQg
PSBzZWxmLl9idWlsZF9wYXRoKHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpLCAnQUhF
TV9fX18uVFRGJykKKyAgICAgICAgICAgIHNlbGYuX3B1c2hfdG9fZGV2aWNlKHBhdGhfdG9fYWhl
bV9mb250LCBERVZJQ0VfRk9OVFNfRElSICsgJ0FIRU1fX19fLlRURicpCisgICAgICAgICAgICBm
b3IgKGhvc3RfZGlyLCBmb250X2ZpbGUpIGluIEhPU1RfRk9OVF9GSUxFUzoKKyAgICAgICAgICAg
ICAgICBzZWxmLl9wdXNoX3RvX2RldmljZShob3N0X2RpciArIGZvbnRfZmlsZSwgREVWSUNFX0ZP
TlRTX0RJUiArIGZvbnRfZmlsZSkKKyAgICAgICAgICAgIHNlbGYuX3VwZGF0ZV92ZXJzaW9uKERF
VklDRV9GT05UU19ESVIsIEZPTlRfRklMRVNfVkVSU0lPTikKKworICAgIGRlZiBfcmVzdG9yZV9z
eXN0ZW1fZm9udChzZWxmKToKKyAgICAgICAgIyBGaXJzdCByZW1vdW50IC9zeXN0ZW0gaW4gcmVh
ZC93cml0ZSBtb2RlLgorICAgICAgICBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydyZW1vdW50J10p
CisgICAgICAgIHNlbGYuX3B1c2hfdG9fZGV2aWNlKG9zLmVudmlyb25bJ09VVCddICsgREVWSUNF
X0ZJUlNUX0ZBTExCQUNLX0ZPTlQsIERFVklDRV9GSVJTVF9GQUxMQkFDS19GT05UKQorCisgICAg
ZGVmIF9wdXNoX3Rlc3RfcmVzb3VyY2VzKHNlbGYpOgorICAgICAgICBfbG9nLmRlYnVnKCdQdXNo
aW5nIHRlc3QgcmVzb3VyY2VzJykKKyAgICAgICAgZm9yIHJlc291cmNlIGluIFRFU1RfUkVTT1VS
Q0VTX1RPX1BVU0g6CisgICAgICAgICAgICBzZWxmLl9wdXNoX3RvX2RldmljZShzZWxmLmxheW91
dF90ZXN0c19kaXIoKSArICcvJyArIHJlc291cmNlLCBERVZJQ0VfTEFZT1VUX1RFU1RTX0RJUiAr
IHJlc291cmNlKQorCisgICAgZGVmIF9wdXNoX3RvX2RldmljZShzZWxmLCBob3N0X3BhdGgsIGRl
dmljZV9wYXRoLCBpZ25vcmVfZXJyb3I9RmFsc2UpOgorICAgICAgICByZXR1cm4gc2VsZi5fcnVu
X2FkYl9jb21tYW5kKFsncHVzaCcsIGhvc3RfcGF0aCwgZGV2aWNlX3BhdGhdLCBpZ25vcmVfZXJy
b3IpCisKKyAgICBkZWYgX3B1bGxfZnJvbV9kZXZpY2Uoc2VsZiwgZGV2aWNlX3BhdGgsIGhvc3Rf
cGF0aCwgaWdub3JlX2Vycm9yPUZhbHNlKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3J1bl9hZGJf
Y29tbWFuZChbJ3B1bGwnLCBkZXZpY2VfcGF0aCwgaG9zdF9wYXRoXSwgaWdub3JlX2Vycm9yKQor
CisgICAgZGVmIF9raWxsX2RldmljZV9wcm9jZXNzKHNlbGYsIG5hbWUpOgorICAgICAgICBwc19y
ZXN1bHQgPSBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdwcyddKS5zcGxpdCgnXG4n
KQorICAgICAgICBmb3IgbGluZSBpbiBwc19yZXN1bHQ6CisgICAgICAgICAgICBpZiBsaW5lLmZp
bmQobmFtZSkgPiAwOgorICAgICAgICAgICAgICAgIHBpZCA9IGxpbmUuc3BsaXQoKVsxXQorICAg
ICAgICAgICAgICAgIHNlbGYuX3J1bl9hZGJfY29tbWFuZChbJ3NoZWxsJywgJ2tpbGwnLCBwaWRd
KQorCisgICAgZGVmIF9zZXR1cF9wZXJmb3JtYW5jZShzZWxmKToKKyAgICAgICAgIyBEaXNhYmxl
IENQVSBzY2FsaW5nIGFuZCBkcm9wIHJhbSBjYWNoZSB0byByZWR1Y2Ugbm9pc2UgaW4gdGVzdHMK
KyAgICAgICAgaWYgbm90IHNlbGYuX29yaWdpbmFsX2dvdmVybm9yOgorICAgICAgICAgICAgc2Vs
Zi5fb3JpZ2luYWxfZ292ZXJub3IgPSBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdj
YXQnLCBTQ0FMSU5HX0dPVkVSTk9SXSkKKyAgICAgICAgICAgIHNlbGYuX3J1bl9hZGJfY29tbWFu
ZChbJ3NoZWxsJywgJ2VjaG8nLCAncGVyZm9ybWFuY2UnLCAnPicsIFNDQUxJTkdfR09WRVJOT1Jd
KQorCisgICAgZGVmIF90ZWFyZG93bl9wZXJmb3JtYW5jZShzZWxmKToKKyAgICAgICAgaWYgc2Vs
Zi5fb3JpZ2luYWxfZ292ZXJub3I6CisgICAgICAgICAgICBzZWxmLl9ydW5fYWRiX2NvbW1hbmQo
WydzaGVsbCcsICdlY2hvJywgc2VsZi5fb3JpZ2luYWxfZ292ZXJub3IsIFNDQUxJTkdfR09WRVJO
T1JdKQorICAgICAgICBzZWxmLl9vcmlnaW5hbF9nb3Zlcm5vciA9IE5vbmUKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9pZF91bml0
dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtX2FuZHJvaWRfdW5pdHRlc3QucHkJKHJldmlzaW9uIDEwNzYzNykKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9p
ZF91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzgsNCArMzgsNCBAQCBmcm9tIHdlYmtp
dHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBwCiBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0
VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgcG9ydF9uYW1lID0gJ2Nocm9t
aXVtLWFuZHJvaWQnCiAgICAgcG9ydF9tYWtlciA9IGNocm9taXVtX2FuZHJvaWQuQ2hyb21pdW1B
bmRyb2lkUG9ydAotICAgIGRlZmF1bHRfd29ya2VyX21vZGVsID0gJ2lubGluZScKKyAgICBleHBl
Y3RlZF9kZWZhdWx0X3dvcmtlcl9tb2RlbCA9ICdpbmxpbmUnCkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9wb3J0X3Rlc3RjYXNl
LnB5CShyZXZpc2lvbiAxMDc2MzcpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTUyLDEzICs1Miwx
MCBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIG9zX25hbWUg
PSBOb25lCiAgICAgb3NfdmVyc2lvbiA9IE5vbmUKICAgICBwb3J0X21ha2VyID0gTm9uZQotICAg
IGRlZmF1bHRfd29ya2VyX21vZGVsID0gJ3Byb2Nlc3NlcycKKyAgICBleHBlY3RlZF9kZWZhdWx0
X3dvcmtlcl9tb2RlbCA9ICdwcm9jZXNzZXMnCiAKICAgICBkZWYgbWFrZV9wb3J0KHNlbGYsIGhv
c3Q9Tm9uZSwgcG9ydF9uYW1lPU5vbmUsIG9wdGlvbnM9Tm9uZSwgb3NfbmFtZT1Ob25lLCBvc192
ZXJzaW9uPU5vbmUsICoqa3dhcmdzKToKLSAgICAgICAgaG9zdCA9IGhvc3QKLSAgICAgICAgaWYg
bm90IGhvc3Q6Ci0gICAgICAgICAgICBob3N0ID0gTW9ja1N5c3RlbUhvc3Qob3NfbmFtZT0ob3Nf
bmFtZSBvciBzZWxmLm9zX25hbWUpLCBvc192ZXJzaW9uPShvc192ZXJzaW9uIG9yIHNlbGYub3Nf
dmVyc2lvbikpCi0gICAgICAgICAgICBob3N0LnBvcnRfZmFjdG9yeSA9IGZhY3RvcnkuUG9ydEZh
Y3RvcnkoaG9zdCkKKyAgICAgICAgaG9zdCA9IGhvc3Qgb3IgTW9ja1N5c3RlbUhvc3Qob3NfbmFt
ZT0ob3NfbmFtZSBvciBzZWxmLm9zX25hbWUpLCBvc192ZXJzaW9uPShvc192ZXJzaW9uIG9yIHNl
bGYub3NfdmVyc2lvbikpCiAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIG9yIE1vY2tPcHRpb25z
KGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnKQogICAgICAgICBwb3J0X25hbWUgPSBwb3J0X25hbWUg
b3Igc2VsZi5wb3J0X25hbWUKICAgICAgICAgcG9ydF9uYW1lID0gc2VsZi5wb3J0X21ha2VyLmRl
dGVybWluZV9mdWxsX3BvcnRfbmFtZShob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpCkBAIC02Niw3
ICs2Myw3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBk
ZWYgdGVzdF9kZWZhdWx0X3dvcmtlcl9tb2RlbChzZWxmKToKICAgICAgICAgcG9ydCA9IHNlbGYu
bWFrZV9wb3J0KCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRlZmF1bHRfd29ya2Vy
X21vZGVsKCksIHNlbGYuZGVmYXVsdF93b3JrZXJfbW9kZWwpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocG9ydC5kZWZhdWx0X3dvcmtlcl9tb2RlbCgpLCBzZWxmLmV4cGVjdGVkX2RlZmF1bHRf
d29ya2VyX21vZGVsKQogCiAgICAgZGVmIHRlc3RfZHJpdmVyX2NtZF9saW5lKHNlbGYpOgogICAg
ICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126876</attachid>
            <date>2012-02-13 17:52:07 -0800</date>
            <delta_ts>2012-02-13 17:56:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78558-20120213175200.patch</filename>
            <type>text/plain</type>
            <size>12119</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEwNzY1MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM4IEBACisyMDEyLTAyLTEzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IHN0YXJ0L3N0b3BfaGVscGVyIGZvciBDaHJvbWl1bUFuZHJvaWRQ
b3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXNl
IGZ1bmN0aW9ucyAoYW5kIHRoZWlyIGRlcGVuZGVuY2llcykgc2V0IHVwIHRoZSBBbmRyb2lkIGRl
dmljZSBmb3IKKyAgICAgICAgdGVzdGluZy4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gaW5j
bHVkZXMgYSBmZXcgdHdlYWtzIG9uIHRoZSBwcmV2aW91cyBwYXRjaCByZWNvbW1lbmRlZAorICAg
ICAgICBieSBkcHJhbmtlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jaHJvbWl1bV9hbmRyb2lkLnB5OgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9y
dC5fX2luaXRfXyk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0LnN0YXJ0X2hlbHBlcik6
CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0LnN0b3BfaGVscGVyKToKKyAgICAgICAgKENo
cm9taXVtQW5kcm9pZFBvcnQuX3NodXRfZG93bl9odHRwX3NlcnZlcik6CisgICAgICAgIChDaHJv
bWl1bUFuZHJvaWRQb3J0KToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZFBvcnQuX3B1c2hfZXhl
Y3V0YWJsZSk6CisgICAgICAgIChDaHJvbWl1bUFuZHJvaWRQb3J0Ll9wdXNoX2ZvbnRzKToKKyAg
ICAgICAgKENocm9taXVtQW5kcm9pZFBvcnQuX3Jlc3RvcmVfc3lzdGVtX2ZvbnQpOgorICAgICAg
ICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5fcHVzaF90ZXN0X3Jlc291cmNlcyk6CisgICAgICAgIChD
aHJvbWl1bUFuZHJvaWRQb3J0Ll9wdXNoX3RvX2RldmljZSk6CisgICAgICAgIChDaHJvbWl1bUFu
ZHJvaWRQb3J0Ll9wdWxsX2Zyb21fZGV2aWNlKToKKyAgICAgICAgKENocm9taXVtQW5kcm9pZFBv
cnQuX2tpbGxfZGV2aWNlX3Byb2Nlc3MpOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5f
c2V0dXBfcGVyZm9ybWFuY2UpOgorICAgICAgICAoQ2hyb21pdW1BbmRyb2lkUG9ydC5fdGVhcmRv
d25fcGVyZm9ybWFuY2UpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY2hyb21pdW1fYW5kcm9pZF91bml0dGVzdC5weToKKyAgICAgICAgKENocm9taXVtQW5k
cm9pZFBvcnRUZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3BvcnRfdGVzdGNhc2UucHk6CisgICAgICAgIChQb3J0VGVzdENhc2UpOgorICAgICAgICAo
UG9ydFRlc3RDYXNlLm1ha2VfcG9ydCk6CisgICAgICAgIChQb3J0VGVzdENhc2UudGVzdF9kZWZh
dWx0X3dvcmtlcl9tb2RlbCk6CisKIDIwMTItMDItMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgZW5vdWdoIG9mIENocm9taXVtQW5kcm9pZFBv
cnQgdG8gbWFrZSBDaHJvbWl1bUFuZHJvaWRQb3J0VGVzdCBwYXNzCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1
bV9hbmRyb2lkLnB5CShyZXZpc2lvbiAxMDc2MzcpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWQucHkJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDcgKzI2LDI2IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQg
bG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBjaHJvbWl1
bQorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydCBpbXBvcnQgZmFjdG9yeQorCisKK19s
b2cgPSBsb2dnaW5nLmdldExvZ2dlcignd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQuY2hyb21p
dW1fYW5kcm9pZCcpCisKKworIyBUaGUgcm9vdCBkaXJlY3RvcnkgZm9yIHRlc3QgcmVzb3VyY2Vz
LCB3aGljaCBoYXMgdGhlIHNhbWUgc3RydWN0dXJlIGFzIHRoZQorIyBzb3VyY2Ugcm9vdCBkaXJl
Y3Rvcnkgb2YgQ2hyb21pdW0uCisjIFRoaXMgcGF0aCBpcyBkZWZpbmVkIGluIGJhc2UvYmFzZV9w
YXRoc19hbmRyb2lkLmNjIGFuZAorIyB3ZWJraXQvc3VwcG9ydC9wbGF0Zm9ybV9zdXBwb3J0X2Fu
ZHJvaWQuY2MuCitERVZJQ0VfU09VUkNFX1JPT1RfRElSID0gJy9kYXRhL2xvY2FsL3RtcC8nCisK
K0RFVklDRV9EUlRfRElSID0gJy9kYXRhL2RydC8nCitERVZJQ0VfRFJUX1BBVEggPSBERVZJQ0Vf
RFJUX0RJUiArICdEdW1wUmVuZGVyVHJlZScKK0RFVklDRV9EUlRfU1RERVJSID0gREVWSUNFX0RS
VF9ESVIgKyAnRHVtcFJlbmRlclRyZWUuc3RkZXJyJworREVWSUNFX0ZPUldBUkRFUl9QQVRIID0g
REVWSUNFX0RSVF9ESVIgKyAnZm9yd2FyZGVyJworREVWSUNFX0RSVF9TVEFNUF9QQVRIID0gREVW
SUNFX0RSVF9ESVIgKyAnRHVtcFJlbmRlclRyZWUuc3RhbXAnCiAKIE1TX1RSVUVUWVBFX0ZPTlRT
X0RJUiA9ICcvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL21zdHRjb3JlZm9udHMvJwogCkBAIC02
Niw2ICs4NSwzMCBAQCBIT1NUX0ZPTlRfRklMRVMgPSBbCiAjIFNob3VsZCBpbmNyZWFzZSB0aGlz
IHZlcnNpb24gYWZ0ZXIgY2hhbmdpbmcgSE9TVF9GT05UX0ZJTEVTLgogRk9OVF9GSUxFU19WRVJT
SU9OID0gMQogCitERVZJQ0VfRk9OVFNfRElSID0gREVWSUNFX0RSVF9ESVIgKyAnZm9udHMvJwor
REVWSUNFX0ZJUlNUX0ZBTExCQUNLX0ZPTlQgPSAnL3N5c3RlbS9mb250cy9Ecm9pZE5hc2toLVJl
Z3VsYXIudHRmJworCisjIFRoZSBsYXlvdXQgdGVzdHMgZGlyZWN0b3J5IG9uIGRldmljZSwgd2hp
Y2ggaGFzIHR3byB1c2FnZXM6CisjIDEuIGFzIGEgdmlydHVhbCBwYXRoIGluIGZpbGUgdXJscyB0
aGF0IHdpbGwgYmUgYnJpZGdlZCB0byBIVFRQLgorIyAyLiBwb2ludGluZyB0byBzb21lIGZpbGVz
IHRoYXQgYXJlIHB1c2hlZCB0byB0aGUgZGV2aWNlIGZvciB0ZXN0cyB0aGF0CisjIGRvbid0IHdv
cmsgb24gZmlsZS1vdmVyLWh0dHAgKGUuZy4gYmxvYiBwcm90b2NvbCB0ZXN0cykuCitERVZJQ0Vf
TEFZT1VUX1RFU1RTX0RJUiA9IChERVZJQ0VfU09VUkNFX1JPT1RfRElSICsgJ3RoaXJkX3BhcnR5
L1dlYktpdC9MYXlvdXRUZXN0cy8nKQorCisjIFRlc3QgcmVzb3VyY2VzIHRoYXQgbmVlZCB0byBi
ZSBhY2Nlc3NlZCBhcyBmaWxlcyBkaXJlY3RseS4KKyMgRWFjaCBpdGVtIGNhbiBiZSB0aGUgcmVs
YXRpdmUgcGF0aCBvZiBhIGRpcmVjdG9yeSBvciBhIGZpbGUuCitURVNUX1JFU09VUkNFU19UT19Q
VVNIID0gWworICAgICMgQmxvYiB0ZXN0cyBuZWVkIHRvIGFjY2VzcyBmaWxlcyBkaXJlY3RseS4K
KyAgICAnZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlcycsCisgICAgJ2Zhc3QvZmlsZXMvcmVz
b3VyY2VzJywKKyAgICAnaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMnLAorICAgICdodHRwL3Rl
c3RzL2xvY2FsL2Zvcm1kYXRhL3Jlc291cmNlcycsCisgICAgIyBVc2VyIHN0eWxlIFVSTHMgYXJl
IGFjY2Vzc2VkIGFzIGxvY2FsIGZpbGVzIGluIHdlYmtpdF9zdXBwb3J0LgorICAgICdodHRwL3Rl
c3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jc3NTdHlsZS5jc3MnLAorICAgICMgTWVkaWEgdGVzdHMg
bmVlZCB0byBhY2Nlc3MgYXVkaW8vdmlkZW8gYXMgZmlsZXMuCisgICAgJ21lZGlhL2NvbnRlbnQn
LAorICAgICdjb21wb3NpdGluZy9yZXNvdXJjZXMvdmlkZW8ubXA0JywKK10KKwogCiBjbGFzcyBD
aHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVtLkNocm9taXVtUG9ydCk6CiAgICAgcG9ydF9uYW1l
ID0gJ2Nocm9taXVtLWFuZHJvaWQnCkBAIC04OSw3ICsxMzIsNyBAQCBjbGFzcyBDaHJvbWl1bUFu
ZHJvaWRQb3J0KGNocm9taXVtLkNocm9tCiAgICAgICAgIHNlbGYuX29yaWdpbmFsX2dvdmVybm9y
ID0gTm9uZQogICAgICAgICBzZWxmLl9hbmRyb2lkX2Jhc2VfZGlyID0gTm9uZQogCi0gICAgICAg
IHNlbGYuX2hvc3RfcG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldCgnY2hyb21pdW0nLCAqKmt3
YXJncykKKyAgICAgICAgc2VsZi5faG9zdF9wb3J0ID0gZmFjdG9yeS5Qb3J0RmFjdG9yeShob3N0
KS5nZXQoJ2Nocm9taXVtJywgKiprd2FyZ3MpCiAKICAgICAgICAgc2VsZi5fYWRiX2NvbW1hbmQg
PSBbJ2FkYiddCiAgICAgICAgIGFkYl9hcmdzID0gc2VsZi5nZXRfb3B0aW9uKCdhZGJfYXJncycp
CkBAIC0xMzcsMTIgKzE4MCwyMCBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVt
LkNocm9tCiAgICAgICAgIHBhc3MKIAogICAgIGRlZiBzdGFydF9oZWxwZXIoc2VsZik6Ci0gICAg
ICAgICMgRklYTUU6IE5vdCBpbXBsZW1lbnRlZCAoeWV0ISkKLSAgICAgICAgcGFzcworICAgICAg
ICBzZWxmLl9zZXR1cF9wZXJmb3JtYW5jZSgpCisgICAgICAgICMgUmVxdWlyZWQgYnkgd2Via2l0
X3N1cHBvcnQ6OkdldFdlYktpdFJvb3REaXJGaWxlUGF0aCgpLgorICAgICAgICAjIE90aGVyIGRp
cmVjdG9yaWVzIHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGFkYiBwdXNoLgorICAg
ICAgICBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdta2RpcicsICctcCcsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX1NPVVJDRV9ST09UX0RJUiArICdjaHJv
bWUnXSkKKyAgICAgICAgc2VsZi5fcHVzaF9leGVjdXRhYmxlKCkKKyAgICAgICAgc2VsZi5fcHVz
aF9mb250cygpCisgICAgICAgIHNlbGYuX3NldHVwX3N5c3RlbV9mb250X2Zvcl90ZXN0KCkKIAog
ICAgIGRlZiBzdG9wX2hlbHBlcihzZWxmKToKLSAgICAgICAgIyBGSVhNRTogTm90IGltcGxlbWVu
dGVkICh5ZXQhKQotICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuX3Jlc3RvcmVfc3lzdGVtX2Zv
bnQoKQorICAgICAgICAjIExlYXZlIHRoZSBmb3J3YXJkZXIgYW5kIHRlc3RzIGh0dHBkIHNlcnZl
ciB0aGVyZSBiZWNhdXNlIHRoZXkgYXJlCisgICAgICAgICMgdXNlZnVsIGZvciBkZWJ1Z2dpbmcg
YW5kIGRvIG5vIGhhcm0gdG8gc3Vic2VxdWVudCB0ZXN0cy4KKyAgICAgICAgc2VsZi5fdGVhcmRv
d25fcGVyZm9ybWFuY2UoKQogCiAgICAgZGVmIF9idWlsZF9wYXRoKHNlbGYsICpjb21wcyk6CiAg
ICAgICAgIHJldHVybiBzZWxmLl9ob3N0X3BvcnQuX2J1aWxkX3BhdGgoKmNvbXBzKQpAQCAtMTc5
LDMgKzIzMCw3OCBAQCBjbGFzcyBDaHJvbWl1bUFuZHJvaWRQb3J0KGNocm9taXVtLkNocm9tCiAK
ICAgICBkZWYgX3NodXRfZG93bl9odHRwX3NlcnZlcihzZWxmLCBwaWQpOgogICAgICAgICByZXR1
cm4gc2VsZi5faG9zdF9wb3J0Ll9zaHV0X2Rvd25faHR0cF9zZXJ2ZXIocGlkKQorCisgICAgZGVm
IF9wdXNoX2V4ZWN1dGFibGUoc2VsZik6CisgICAgICAgIGRydF9ob3N0X3BhdGggPSBzZWxmLl9w
YXRoX3RvX2RyaXZlcigpCisgICAgICAgIGZvcndhcmRlcl9ob3N0X3BhdGggPSBzZWxmLl9wYXRo
X3RvX2hlbHBlcigpCisgICAgICAgIGRydF9qYXJfaG9zdF9wYXRoID0gZHJ0X2hvc3RfcGF0aCAr
ICcuamFyJworICAgICAgICBob3N0X3N0YW1wID0gaW50KGZsb2F0KG1heChvcy5zdGF0KGRydF9o
b3N0X3BhdGgpLnN0X210aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
cy5zdGF0KGZvcndhcmRlcl9ob3N0X3BhdGgpLnN0X210aW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvcy5zdGF0KGRydF9qYXJfaG9zdF9wYXRoKS5zdF9tdGltZSkpKQor
ICAgICAgICBkZXZpY2Vfc3RhbXAgPSBpbnQoZmxvYXQoc2VsZi5fcnVuX2FkYl9jb21tYW5kKFsK
KyAgICAgICAgICAgICdzaGVsbCcsICdjYXQgJXMgMj4vZGV2L251bGwgfHwgZWNobyAwJyAlIERF
VklDRV9EUlRfU1RBTVBfUEFUSF0pKSkKKyAgICAgICAgaWYgZGV2aWNlX3N0YW1wIDwgaG9zdF9z
dGFtcDoKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ1B1c2hpbmcgZXhlY3V0YWJsZScpCisgICAg
ICAgICAgICBzZWxmLl9raWxsX2RldmljZV9wcm9jZXNzKERFVklDRV9GT1JXQVJERVJfUEFUSCkK
KyAgICAgICAgICAgIHNlbGYuX3B1c2hfdG9fZGV2aWNlKGZvcndhcmRlcl9ob3N0X3BhdGgsIERF
VklDRV9GT1JXQVJERVJfUEFUSCkKKyAgICAgICAgICAgIHNlbGYuX3B1c2hfdG9fZGV2aWNlKGRy
dF9ob3N0X3BhdGgsIERFVklDRV9EUlRfUEFUSCkKKyAgICAgICAgICAgIHNlbGYuX3B1c2hfdG9f
ZGV2aWNlKGRydF9ob3N0X3BhdGggKyAnLnBhaycsIERFVklDRV9EUlRfUEFUSCArICcucGFrJykK
KyAgICAgICAgICAgIHNlbGYuX3B1c2hfdG9fZGV2aWNlKGRydF9ob3N0X3BhdGggKyAnX3Jlc291
cmNlcycsIERFVklDRV9EUlRfUEFUSCArICdfcmVzb3VyY2VzJykKKyAgICAgICAgICAgIHNlbGYu
X3B1c2hfdG9fZGV2aWNlKGRydF9qYXJfaG9zdF9wYXRoLCBERVZJQ0VfRFJUX1BBVEggKyAnLmph
cicpCisgICAgICAgICAgICAjIFZlcnNpb24gY29udHJvbCBvZiB0ZXN0IHJlc291cmNlcyBpcyBk
ZXBlbmRlbnQgb24gZXhlY3V0YWJsZXMsCisgICAgICAgICAgICAjIGJlY2F1c2Ugd2Ugd2lsbCBh
bHdheXMgcmVidWlsZCBleGVjdXRhYmxlcyB3aGVuIHJlc291cmNlcyBhcmUKKyAgICAgICAgICAg
ICMgdXBkYXRlZC4KKyAgICAgICAgICAgIHNlbGYuX3B1c2hfdGVzdF9yZXNvdXJjZXMoKQorICAg
ICAgICAgICAgc2VsZi5fcnVuX2FkYl9jb21tYW5kKFsnc2hlbGwnLCAnZWNobyAlZCA+JXMnICUg
KGhvc3Rfc3RhbXAsIERFVklDRV9EUlRfU1RBTVBfUEFUSCldKQorCisgICAgZGVmIF9wdXNoX2Zv
bnRzKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5fY2hlY2tfdmVyc2lvbihERVZJQ0VfRk9O
VFNfRElSLCBGT05UX0ZJTEVTX1ZFUlNJT04pOgorICAgICAgICAgICAgX2xvZy5kZWJ1ZygnUHVz
aGluZyBmb250cycpCisgICAgICAgICAgICBwYXRoX3RvX2FoZW1fZm9udCA9IHNlbGYuX2J1aWxk
X3BhdGgoc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJyksICdBSEVNX19fXy5UVEYnKQor
ICAgICAgICAgICAgc2VsZi5fcHVzaF90b19kZXZpY2UocGF0aF90b19haGVtX2ZvbnQsIERFVklD
RV9GT05UU19ESVIgKyAnQUhFTV9fX18uVFRGJykKKyAgICAgICAgICAgIGZvciAoaG9zdF9kaXIs
IGZvbnRfZmlsZSkgaW4gSE9TVF9GT05UX0ZJTEVTOgorICAgICAgICAgICAgICAgIHNlbGYuX3B1
c2hfdG9fZGV2aWNlKGhvc3RfZGlyICsgZm9udF9maWxlLCBERVZJQ0VfRk9OVFNfRElSICsgZm9u
dF9maWxlKQorICAgICAgICAgICAgc2VsZi5fdXBkYXRlX3ZlcnNpb24oREVWSUNFX0ZPTlRTX0RJ
UiwgRk9OVF9GSUxFU19WRVJTSU9OKQorCisgICAgZGVmIF9zZXR1cF9zeXN0ZW1fZm9udF9mb3Jf
dGVzdChzZWxmKToKKyAgICAgICAgIyBUaGUgRGVqYVZ1IGZvbnQgaW1wbGljaXRseSB1c2VkIGJ5
IHNvbWUgQ1NTIDIuMSB0ZXN0cyBzaG91bGQgYmUgYWRkZWQKKyAgICAgICAgIyBpbnRvIHRoZSBm
b250IGZhbGxiYWNrIGxpc3Qgb2YgdGhlIHN5c3RlbS4gRHJvaWROYXNraC1SZWd1bGFyLnR0ZiBp
cworICAgICAgICAjIHRoZSBmaXJzdCBmb250IGluIEFuZHJvaWQgU2tpYSdzIGZvbnQgZmFsbGJh
Y2sgbGlzdC4gRm9ydHVuYXRlbHkgdGhlCisgICAgICAgICMgRGVqYVZ1IGZvbnQgYWxzbyBjb250
YWlucyBOYXNraCBnbHlwaHMuCisgICAgICAgICMgRmlyc3QgcmVtb3VudCAvc3lzdGVtIGluIHJl
YWQvd3JpdGUgbW9kZS4KKyAgICAgICAgc2VsZi5fcnVuX2FkYl9jb21tYW5kKFsncmVtb3VudCdd
KQorICAgICAgICBzZWxmLl9jb3B5X2RldmljZV9maWxlKERFVklDRV9GT05UU19ESVIgKyAnRGVq
YVZ1U2Fucy50dGYnLCBERVZJQ0VfRklSU1RfRkFMTEJBQ0tfRk9OVCkKKworICAgIGRlZiBfcmVz
dG9yZV9zeXN0ZW1fZm9udChzZWxmKToKKyAgICAgICAgIyBGaXJzdCByZW1vdW50IC9zeXN0ZW0g
aW4gcmVhZC93cml0ZSBtb2RlLgorICAgICAgICBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydyZW1v
dW50J10pCisgICAgICAgIHNlbGYuX3B1c2hfdG9fZGV2aWNlKG9zLmVudmlyb25bJ09VVCddICsg
REVWSUNFX0ZJUlNUX0ZBTExCQUNLX0ZPTlQsIERFVklDRV9GSVJTVF9GQUxMQkFDS19GT05UKQor
CisgICAgZGVmIF9wdXNoX3Rlc3RfcmVzb3VyY2VzKHNlbGYpOgorICAgICAgICBfbG9nLmRlYnVn
KCdQdXNoaW5nIHRlc3QgcmVzb3VyY2VzJykKKyAgICAgICAgZm9yIHJlc291cmNlIGluIFRFU1Rf
UkVTT1VSQ0VTX1RPX1BVU0g6CisgICAgICAgICAgICBzZWxmLl9wdXNoX3RvX2RldmljZShzZWxm
LmxheW91dF90ZXN0c19kaXIoKSArICcvJyArIHJlc291cmNlLCBERVZJQ0VfTEFZT1VUX1RFU1RT
X0RJUiArIHJlc291cmNlKQorCisgICAgZGVmIF9wdXNoX3RvX2RldmljZShzZWxmLCBob3N0X3Bh
dGgsIGRldmljZV9wYXRoLCBpZ25vcmVfZXJyb3I9RmFsc2UpOgorICAgICAgICByZXR1cm4gc2Vs
Zi5fcnVuX2FkYl9jb21tYW5kKFsncHVzaCcsIGhvc3RfcGF0aCwgZGV2aWNlX3BhdGhdLCBpZ25v
cmVfZXJyb3IpCisKKyAgICBkZWYgX3B1bGxfZnJvbV9kZXZpY2Uoc2VsZiwgZGV2aWNlX3BhdGgs
IGhvc3RfcGF0aCwgaWdub3JlX2Vycm9yPUZhbHNlKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3J1
bl9hZGJfY29tbWFuZChbJ3B1bGwnLCBkZXZpY2VfcGF0aCwgaG9zdF9wYXRoXSwgaWdub3JlX2Vy
cm9yKQorCisgICAgZGVmIF9raWxsX2RldmljZV9wcm9jZXNzKHNlbGYsIG5hbWUpOgorICAgICAg
ICBwc19yZXN1bHQgPSBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVsbCcsICdwcyddKS5zcGxp
dCgnXG4nKQorICAgICAgICBmb3IgbGluZSBpbiBwc19yZXN1bHQ6CisgICAgICAgICAgICBpZiBs
aW5lLmZpbmQobmFtZSkgPiAwOgorICAgICAgICAgICAgICAgIHBpZCA9IGxpbmUuc3BsaXQoKVsx
XQorICAgICAgICAgICAgICAgIHNlbGYuX3J1bl9hZGJfY29tbWFuZChbJ3NoZWxsJywgJ2tpbGwn
LCBwaWRdKQorCisgICAgZGVmIF9zZXR1cF9wZXJmb3JtYW5jZShzZWxmKToKKyAgICAgICAgIyBE
aXNhYmxlIENQVSBzY2FsaW5nIGFuZCBkcm9wIHJhbSBjYWNoZSB0byByZWR1Y2Ugbm9pc2UgaW4g
dGVzdHMKKyAgICAgICAgaWYgbm90IHNlbGYuX29yaWdpbmFsX2dvdmVybm9yOgorICAgICAgICAg
ICAgc2VsZi5fb3JpZ2luYWxfZ292ZXJub3IgPSBzZWxmLl9ydW5fYWRiX2NvbW1hbmQoWydzaGVs
bCcsICdjYXQnLCBTQ0FMSU5HX0dPVkVSTk9SXSkKKyAgICAgICAgICAgIHNlbGYuX3J1bl9hZGJf
Y29tbWFuZChbJ3NoZWxsJywgJ2VjaG8nLCAncGVyZm9ybWFuY2UnLCAnPicsIFNDQUxJTkdfR09W
RVJOT1JdKQorCisgICAgZGVmIF90ZWFyZG93bl9wZXJmb3JtYW5jZShzZWxmKToKKyAgICAgICAg
aWYgc2VsZi5fb3JpZ2luYWxfZ292ZXJub3I6CisgICAgICAgICAgICBzZWxmLl9ydW5fYWRiX2Nv
bW1hbmQoWydzaGVsbCcsICdlY2hvJywgc2VsZi5fb3JpZ2luYWxfZ292ZXJub3IsIFNDQUxJTkdf
R09WRVJOT1JdKQorICAgICAgICBzZWxmLl9vcmlnaW5hbF9nb3Zlcm5vciA9IE5vbmUKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fYW5kcm9p
ZF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2Nocm9taXVtX2FuZHJvaWRfdW5pdHRlc3QucHkJKHJldmlzaW9uIDEwNzYz
NykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
YW5kcm9pZF91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzgsNCArMzgsNCBAQCBmcm9t
IHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0IGltcG9ydCBwCiBjbGFzcyBDaHJvbWl1bUFuZHJv
aWRQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAgcG9ydF9uYW1lID0g
J2Nocm9taXVtLWFuZHJvaWQnCiAgICAgcG9ydF9tYWtlciA9IGNocm9taXVtX2FuZHJvaWQuQ2hy
b21pdW1BbmRyb2lkUG9ydAotICAgIGRlZmF1bHRfd29ya2VyX21vZGVsID0gJ2lubGluZScKKyAg
ICBleHBlY3RlZF9kZWZhdWx0X3dvcmtlcl9tb2RlbCA9ICdpbmxpbmUnCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9wb3J0X3Rl
c3RjYXNlLnB5CShyZXZpc2lvbiAxMDc2MzcpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L3BvcnRfdGVzdGNhc2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTUyLDEz
ICs1MiwxMCBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIG9z
X25hbWUgPSBOb25lCiAgICAgb3NfdmVyc2lvbiA9IE5vbmUKICAgICBwb3J0X21ha2VyID0gTm9u
ZQotICAgIGRlZmF1bHRfd29ya2VyX21vZGVsID0gJ3Byb2Nlc3NlcycKKyAgICBleHBlY3RlZF9k
ZWZhdWx0X3dvcmtlcl9tb2RlbCA9ICdwcm9jZXNzZXMnCiAKICAgICBkZWYgbWFrZV9wb3J0KHNl
bGYsIGhvc3Q9Tm9uZSwgcG9ydF9uYW1lPU5vbmUsIG9wdGlvbnM9Tm9uZSwgb3NfbmFtZT1Ob25l
LCBvc192ZXJzaW9uPU5vbmUsICoqa3dhcmdzKToKLSAgICAgICAgaG9zdCA9IGhvc3QKLSAgICAg
ICAgaWYgbm90IGhvc3Q6Ci0gICAgICAgICAgICBob3N0ID0gTW9ja1N5c3RlbUhvc3Qob3NfbmFt
ZT0ob3NfbmFtZSBvciBzZWxmLm9zX25hbWUpLCBvc192ZXJzaW9uPShvc192ZXJzaW9uIG9yIHNl
bGYub3NfdmVyc2lvbikpCi0gICAgICAgICAgICBob3N0LnBvcnRfZmFjdG9yeSA9IGZhY3Rvcnku
UG9ydEZhY3RvcnkoaG9zdCkKKyAgICAgICAgaG9zdCA9IGhvc3Qgb3IgTW9ja1N5c3RlbUhvc3Qo
b3NfbmFtZT0ob3NfbmFtZSBvciBzZWxmLm9zX25hbWUpLCBvc192ZXJzaW9uPShvc192ZXJzaW9u
IG9yIHNlbGYub3NfdmVyc2lvbikpCiAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIG9yIE1vY2tP
cHRpb25zKGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnKQogICAgICAgICBwb3J0X25hbWUgPSBwb3J0
X25hbWUgb3Igc2VsZi5wb3J0X25hbWUKICAgICAgICAgcG9ydF9uYW1lID0gc2VsZi5wb3J0X21h
a2VyLmRldGVybWluZV9mdWxsX3BvcnRfbmFtZShob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpCkBA
IC02Niw3ICs2Myw3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAK
ICAgICBkZWYgdGVzdF9kZWZhdWx0X3dvcmtlcl9tb2RlbChzZWxmKToKICAgICAgICAgcG9ydCA9
IHNlbGYubWFrZV9wb3J0KCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRlZmF1bHRf
d29ya2VyX21vZGVsKCksIHNlbGYuZGVmYXVsdF93b3JrZXJfbW9kZWwpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocG9ydC5kZWZhdWx0X3dvcmtlcl9tb2RlbCgpLCBzZWxmLmV4cGVjdGVkX2Rl
ZmF1bHRfd29ya2VyX21vZGVsKQogCiAgICAgZGVmIHRlc3RfZHJpdmVyX2NtZF9saW5lKHNlbGYp
OgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQo=
</data>
<flag name="review"
          id="128829"
          type_id="1"
          status="+"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>