<?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>77248</bug_id>
          
          <creation_ts>2012-01-27 14:53:26 -0800</creation_ts>
          <short_desc>run-webkit-tests calls out to webkit-build-directory twice</short_desc>
          <delta_ts>2012-01-31 16:33:07 -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>
          <dependson>77472</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>544398</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-27 14:53:26 -0800</bug_when>
    <thetext>run-webkit-tests calls out to webkit-build-directory twice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544405</commentid>
    <comment_count>1</comment_count>
      <attachid>124377</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-27 14:56:38 -0800</bug_when>
    <thetext>Created attachment 124377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544409</commentid>
    <comment_count>2</comment_count>
      <attachid>124377</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-27 15:01:37 -0800</bug_when>
    <thetext>Comment on attachment 124377
Patch

I&apos;m gonna need to start at this one a bit, so I won&apos;t be able to get to it until later this afternoon. We need to be really careful about what data propagates across process boundaries due to the way processes are started on Windows. I think the config object is probably safe, but I need to double check. I&apos;m also a bit surprised at all the changes you had to make to config_unittest.py, but I haven&apos;t looked closely yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544499</commentid>
    <comment_count>3</comment_count>
      <attachid>124377</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-27 16:25:31 -0800</bug_when>
    <thetext>Comment on attachment 124377
Patch

As discussed on #webkit, we should rely on Config being pickleable, we should instead pass the webkit_base_dir and configurations to the subprocess and use those when creating the port to avoid having to call out to webkit-build-directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545320</commentid>
    <comment_count>4</comment_count>
      <attachid>124584</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-30 12:47:49 -0800</bug_when>
    <thetext>Created attachment 124584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545381</commentid>
    <comment_count>5</comment_count>
      <attachid>124592</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-30 13:49:11 -0800</bug_when>
    <thetext>Created attachment 124592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545383</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-30 13:50:01 -0800</bug_when>
    <thetext>Tweaked a bunch of the code in this last patch to make it more unittest-friendly so that it didn&apos;t require each test that created a Port instance to have a mock executive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545401</commentid>
    <comment_count>7</comment_count>
      <attachid>124592</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-30 14:06:38 -0800</bug_when>
    <thetext>Comment on attachment 124592
Patch

very sneaky reusing the options argument like this. Good idea :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545617</commentid>
    <comment_count>8</comment_count>
      <attachid>124592</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 17:05:00 -0800</bug_when>
    <thetext>Comment on attachment 124592
Patch

Clearing flags on attachment: 124592

Committed r106302: &lt;http://trac.webkit.org/changeset/106302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545618</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 17:05:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546410</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-31 13:06:45 -0800</bug_when>
    <thetext>It appears that this patch broke Mac bots:
http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Tests%29/builds/36811/steps/layout-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546436</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-31 13:29:16 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; It appears that this patch broke Mac bots:
&gt; http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28Tests%29/builds/36811/steps/layout-test/logs/stdio

Odd. That path is right, isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546564</commentid>
    <comment_count>12</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-31 15:31:09 -0800</bug_when>
    <thetext>This was rolled out in http://trac.webkit.org/changeset/106389. There&apos;s a bug with setting --root causing us not to build DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546596</commentid>
    <comment_count>13</comment_count>
      <attachid>124839</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-31 16:05:02 -0800</bug_when>
    <thetext>Created attachment 124839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546598</commentid>
    <comment_count>14</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-31 16:05:59 -0800</bug_when>
    <thetext>The bug was that --root apparently implies --no-build, which meant we wouldn&apos;t build DRT. Instead, store the build directory in the existing --build-directory option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546608</commentid>
    <comment_count>15</comment_count>
      <attachid>124839</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-31 16:20:15 -0800</bug_when>
    <thetext>Comment on attachment 124839
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:383
&gt; +            # Set --root here Since this modifies the options object used by the worker subprocesses,

Nit: fix the comment. Looks fine otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546627</commentid>
    <comment_count>16</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-01-31 16:33:07 -0800</bug_when>
    <thetext>Committed r106412: &lt;http://trac.webkit.org/changeset/106412&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124377</attachid>
            <date>2012-01-27 14:56:38 -0800</date>
            <delta_ts>2012-01-30 12:47:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77248-20120127145637.patch</filename>
            <type>text/plain</type>
            <size>11260</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDZkMzNjMDMwMTEyYThlMTNkNTJhNDY0MjU3YTFjNzZl
NWRjM2UzZC4uOGYwOWU4ZDQwMjI5OTc2MWExOTY4MmU2NWU0YjNjYTY0ZTdlZTkzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDEyLTAxLTI3ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgcnVuLXdlYmtpdC10ZXN0cyBjYWxscyBvdXQgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0
d2ljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzcy
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFYWNo
IGNhbGwgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0YWtlcyA1MDBtcyBmb3IgdGhlIEFwcGxl
IE1hYyBwb3J0LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5Ogor
ICAgICAgICBJZiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMsIHByaW50IG91dCBib3RoIHRoZSB0
b3AtbGV2ZWwgZGlyZWN0b3J5IGFuZCB0aGUgCisgICAgICAgIGNvbmZpZ3VyYXRpb24gZGlyZWN0
b3J5LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5OgorICAgICAgICAoX011bHRpUHJvY2Vzc01hbmFn
ZXIuX19pbml0X18pOgorICAgICAgICAoX011bHRpUHJvY2Vzc01hbmFnZXIuc3RhcnRfd29ya2Vy
KToKKyAgICAgICAgKF9Qcm9jZXNzLl9faW5pdF9fKToKKyAgICAgICAgKF9Qcm9jZXNzLnJ1bik6
CisgICAgICAgIChfTXVsdGlQcm9jZXNzV29ya2VyQ29ubmVjdGlvbi5fX2luaXRfXyk6CisgICAg
ICAgIFNoYXJlIHRoZSBDb25maWcgb2JqZWN0IHdpdGggdGhlIF9Qcm9jZXNzJ3MgcG9ydCBpbnN0
YW5jZSB0byBtYWtlIHVzZSBvZgorICAgICAgICB0aGUgYnVpbGRfZGlyZWN0b3J5IGNhY2hlLiAK
KworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYmFzZS5weToK
KyAgICAgICAgKFBvcnQuY29uZmlnKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2NvbmZpZy5weToKKyAgICAgICAgKENvbmZpZy5idWlsZF9kaXJlY3Rvcnkp
OgorICAgICAgICBXaGVuIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cywgZ2V0IGFuZCBjYWNoZSBi
b3RoIHRoZSB0b3AtbGV2ZWwgYW5kIGNvbmZpZ3VyYXRpb24gZGlyZWN0b3JpZXMuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2NvbmZpZ19zdGFuZGFsb25l
LnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jb25maWdfdW5pdHRlc3QucHk6CisgICAgICAgIChDb25maWdUZXN0LmFzc2Vy
dF9jb25maWd1cmF0aW9uKToKKyAgICAgICAgKENvbmZpZ1Rlc3QudGVzdF9idWlsZF9kaXJlY3Rv
cnkubW9ja193ZWJraXRfYnVpbGRfZGlyZWN0b3J5KToKKyAgICAgICAgKENvbmZpZ1Rlc3QudGVz
dF9idWlsZF9kaXJlY3RvcnkpOgorICAgICAgICAoQ29uZmlnVGVzdC50ZXN0X2RlZmF1bHRfY29u
ZmlndXJhdGlvbl9fbm90Zm91bmQpOgorCiAyMDEyLTAxLTI3ICBBZGEgQ2hhbiAgPGFkYWNoYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCB0ZXN0IGZvciBXS0J1bmRsZUZyYW1lR2V0UGFyZW50
RnJhbWUoKS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVjdG9y
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVjdG9yeQppbmRleCBiZjdkNjZkYmZi
OTYyYzJkNjEzMjBjZGY3YzcwZjYzYjgwNTljN2U1Li5kYWIxZDY2MjJmZmY3ZjUyZDc5ZDNkMjgw
ZGM3N2FlZTE5NjY0ODUyIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdC1idWlsZC1k
aXJlY3RvcnkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5CkBAIC01
NywxMiArNTcsMTUgQEAgbXkgJGdldE9wdGlvbnNSZXN1bHQgPSBHZXRPcHRpb25zKAogICAgICdo
ZWxwfGgnID0+IFwkc2hvd0hlbHAsCiApOwogCi1pZiAoISRnZXRPcHRpb25zUmVzdWx0IHx8ICRz
aG93SGVscCB8fCAoISRzaG93Q29uZmlndXJhdGlvbkRpcmVjdG9yeSAmJiAhJHNob3dUb3BMZXZl
bERpcmVjdG9yeSkpIHsKK2lmICghJGdldE9wdGlvbnNSZXN1bHQgfHwgJHNob3dIZWxwKSB7CiAg
ICAgcHJpbnQgU1RERVJSICR1c2FnZTsKICAgICBleGl0IDE7CiB9CiAKLWlmICgkc2hvd1RvcExl
dmVsRGlyZWN0b3J5KSB7CitpZiAoISRzaG93Q29uZmlndXJhdGlvbkRpcmVjdG9yeSAmJiAhJHNo
b3dUb3BMZXZlbERpcmVjdG9yeSkgeworICAgIHByaW50IGJhc2VQcm9kdWN0RGlyKCkgLiAiXG4i
OworICAgIHByaW50IHByb2R1Y3REaXIoKSAuICJcbiI7Cit9IGVsc2lmICgkc2hvd1RvcExldmVs
RGlyZWN0b3J5KSB7CiAgICAgcHJpbnQgYmFzZVByb2R1Y3REaXIoKSAuICJcbiI7CiB9IGVsc2Ug
ewogICAgIHByaW50IHByb2R1Y3REaXIoKSAuICJcbiI7CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3dvcmtlcl9icm9r
ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9t
YW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKaW5kZXggODJiYTkxZmY1MmU3MDA1OTIyOGVkNzA5ZDAy
MTc4MTg5YzY1Y2FkZC4uZGExNDgyNDhiYTg5OTU0Y2U1ZjM2MzY5NGI5MmNmN2I0YzdkMTVkYyAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQpAQCAtMTg2
LDEwICsxODYsMTEgQEAgY2xhc3MgX011bHRpUHJvY2Vzc01hbmFnZXIoX01hbmFnZXJDb25uZWN0
aW9uKToKICAgICAgICAgIyBhbmQgb3B0aW9ucy4KICAgICAgICAgX01hbmFnZXJDb25uZWN0aW9u
Ll9faW5pdF9fKHNlbGYsIGJyb2tlciwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpCiAg
ICAgICAgIHNlbGYuX3BsYXRmb3JtX25hbWUgPSBwb3J0LnJlYWxfbmFtZSgpCisgICAgICAgIHNl
bGYuX2NvbmZpZyA9IHBvcnQuY29uZmlnKCkKIAogICAgIGRlZiBzdGFydF93b3JrZXIoc2VsZiwg
d29ya2VyX251bWJlciwgcmVzdWx0c19kaXJlY3RvcnkpOgogICAgICAgICB3b3JrZXJfY29ubmVj
dGlvbiA9IF9NdWx0aVByb2Nlc3NXb3JrZXJDb25uZWN0aW9uKHNlbGYuX2Jyb2tlciwgc2VsZi5f
cGxhdGZvcm1fbmFtZSwKLSAgICAgICAgICAgIHNlbGYuX3dvcmtlcl9jbGFzcywgd29ya2VyX251
bWJlciwgcmVzdWx0c19kaXJlY3RvcnksIHNlbGYuX29wdGlvbnMpCisgICAgICAgICAgICBzZWxm
Ll93b3JrZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIHJlc3VsdHNfZGlyZWN0b3J5LCBzZWxmLl9v
cHRpb25zLCBzZWxmLl9jb25maWcpCiAgICAgICAgIHdvcmtlcl9jb25uZWN0aW9uLnN0YXJ0KCkK
ICAgICAgICAgcmV0dXJuIHdvcmtlcl9jb25uZWN0aW9uCiAKQEAgLTI0OCwxMiArMjQ5LDEzIEBA
IGNsYXNzIF9JbmxpbmVXb3JrZXJDb25uZWN0aW9uKF9Xb3JrZXJDb25uZWN0aW9uKToKIGlmIG11
bHRpcHJvY2Vzc2luZzoKIAogICAgIGNsYXNzIF9Qcm9jZXNzKG11bHRpcHJvY2Vzc2luZy5Qcm9j
ZXNzKToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmtlcl9jb25uZWN0aW9uLCBwbGF0
Zm9ybV9uYW1lLCBvcHRpb25zLCBjbGllbnQpOgorICAgICAgICBkZWYgX19pbml0X18oc2VsZiwg
d29ya2VyX2Nvbm5lY3Rpb24sIHBsYXRmb3JtX25hbWUsIG9wdGlvbnMsIGNsaWVudCwgY29uZmln
KToKICAgICAgICAgICAgIG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzLl9faW5pdF9fKHNlbGYpCiAg
ICAgICAgICAgICBzZWxmLl93b3JrZXJfY29ubmVjdGlvbiA9IHdvcmtlcl9jb25uZWN0aW9uCiAg
ICAgICAgICAgICBzZWxmLl9wbGF0Zm9ybV9uYW1lID0gcGxhdGZvcm1fbmFtZQogICAgICAgICAg
ICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgICAgIHNlbGYuX2NsaWVudCA9IGNs
aWVudAorICAgICAgICAgICAgc2VsZi5fY29uZmlnID0gY29uZmlnCiAKICAgICAgICAgZGVmIHJ1
bihzZWxmKToKICAgICAgICAgICAgICMgV2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgSG9zdCBvYmpl
Y3QgaGVyZSBiZWNhdXNlIHRoaXMgaXMKQEAgLTI2Niw3ICsyNjgsNyBAQCBpZiBtdWx0aXByb2Nl
c3Npbmc6CiAgICAgICAgICAgICBob3N0Ll9pbml0aWFsaXplX3NjbSgpCiAKICAgICAgICAgICAg
IG9wdGlvbnMgPSBzZWxmLl9vcHRpb25zCi0gICAgICAgICAgICBwb3J0X29iaiA9IGhvc3QucG9y
dF9mYWN0b3J5LmdldChzZWxmLl9wbGF0Zm9ybV9uYW1lLCBvcHRpb25zKQorICAgICAgICAgICAg
cG9ydF9vYmogPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQoc2VsZi5fcGxhdGZvcm1fbmFtZSwgb3B0
aW9ucywgY29uZmlnPXNlbGYuX2NvbmZpZykKIAogICAgICAgICAgICAgIyBUaGUgdW5peCBtdWx0
aXByb2Nlc3NpbmcgaW1wbGVtZW50YXRpb24gY2xvbmVzIHRoZQogICAgICAgICAgICAgIyBsb2cg
aGFuZGxlciBjb25maWd1cmF0aW9uIGludG8gdGhlIGNoaWxkIHByb2Nlc3NlcywKQEAgLTI4Miw5
ICsyODQsOSBAQCBpZiBtdWx0aXByb2Nlc3Npbmc6CiAKIAogY2xhc3MgX011bHRpUHJvY2Vzc1dv
cmtlckNvbm5lY3Rpb24oX1dvcmtlckNvbm5lY3Rpb24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBicm9rZXIsIHBsYXRmb3JtX25hbWUsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVz
dWx0c19kaXJlY3RvcnksIG9wdGlvbnMpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIs
IHBsYXRmb3JtX25hbWUsIHdvcmtlcl9jbGFzcywgd29ya2VyX251bWJlciwgcmVzdWx0c19kaXJl
Y3RvcnksIG9wdGlvbnMsIGNvbmZpZyk6CiAgICAgICAgIF9Xb3JrZXJDb25uZWN0aW9uLl9faW5p
dF9fKHNlbGYsIGJyb2tlciwgd29ya2VyX2NsYXNzLCB3b3JrZXJfbnVtYmVyLCByZXN1bHRzX2Rp
cmVjdG9yeSwgb3B0aW9ucykKLSAgICAgICAgc2VsZi5fcHJvYyA9IF9Qcm9jZXNzKHNlbGYsIHBs
YXRmb3JtX25hbWUsIG9wdGlvbnMsIHNlbGYuX2NsaWVudCkKKyAgICAgICAgc2VsZi5fcHJvYyA9
IF9Qcm9jZXNzKHNlbGYsIHBsYXRmb3JtX25hbWUsIG9wdGlvbnMsIHNlbGYuX2NsaWVudCwgY29u
ZmlnKQogCiAgICAgZGVmIGNhbmNlbChzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2Mu
dGVybWluYXRlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvYmFzZS5weQppbmRleCBlZGQ2MTY2MDkwZWNiMmEwMGQxZDIxMmIzYWZhYjllY2Y0NTdkYjlk
Li5lNDczZDliMjM4ODIzZDBmY2JiYzNmNDc4ZjVmOWQ3MDQyMGY5YzI1IDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Jhc2UucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9iYXNlLnB5CkBAIC0xMDAsNyAr
MTAwLDYgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICByZXR1cm4gY2xzLnBvcnRfbmFt
ZQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBvcnRfbmFtZT1Ob25lLCBvcHRpb25z
PU5vbmUsIGNvbmZpZz1Ob25lLCAqKmt3YXJncyk6Ci0KICAgICAgICAgIyBUaGlzIHZhbHVlIG1h
eSBiZSBkaWZmZXJlbnQgZnJvbSBjbHMucG9ydF9uYW1lIGJ5IGhhdmluZyB2ZXJzaW9uIG1vZGlm
aWVycwogICAgICAgICAjIGFuZCBvdGhlciBmaWVsZHMgYXBwZW5kZWQgdG8gaXQgKGZvciBleGFt
cGxlLCAncXQtYXJtJyBvciAnbWFjLXdrMicpLgogCkBAIC0xNTMsNiArMTUyLDkgQEAgY2xhc3Mg
UG9ydChvYmplY3QpOgogICAgICAgICBzZWxmLl9tdWx0aXByb2Nlc3NpbmdfaXNfYXZhaWxhYmxl
ID0gKG11bHRpcHJvY2Vzc2luZyBpcyBub3QgTm9uZSkKICAgICAgICAgc2VsZi5fcmVzdWx0c19k
aXJlY3RvcnkgPSBOb25lCiAKKyAgICBkZWYgY29uZmlnKHNlbGYpOgorICAgICAgICByZXR1cm4g
c2VsZi5fY29uZmlnCisKICAgICBkZWYgd2RpZmZfYXZhaWxhYmxlKHNlbGYpOgogICAgICAgICBp
ZiBzZWxmLl93ZGlmZl9hdmFpbGFibGUgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuX3dkaWZm
X2F2YWlsYWJsZSA9IHNlbGYuY2hlY2tfd2RpZmYobG9nZ2luZz1GYWxzZSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmlnLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKaW5kZXggYzU1
MjkwNzI4MThkMzAyZWEzZGU4NjhiOTNmN2RhN2IzYzg2NTcwMC4uYmIyYTdkNWRkY2FjNThiNmI1
YjVmZWRkZjUzNTBhYzc0Y2QzYTBlMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKQEAgLTc0LDEyICs3NCwyMCBAQCBjbGFzcyBD
b25maWcob2JqZWN0KToKICAgICAgICAgICAgIGZsYWdzID0gWyItLWNvbmZpZ3VyYXRpb24iLCBz
ZWxmLmZsYWdfZm9yX2NvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbildCiAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gIiIKLSAgICAgICAgICAgIGZsYWdzID0gWyIt
LXRvcC1sZXZlbCJdCisgICAgICAgICAgICBmbGFncyA9IFtdCiAKICAgICAgICAgaWYgbm90IHNl
bGYuX2J1aWxkX2RpcmVjdG9yaWVzLmdldChjb25maWd1cmF0aW9uKToKICAgICAgICAgICAgIGFy
Z3MgPSBbInBlcmwiLCBzZWxmLnNjcmlwdF9wYXRoKCJ3ZWJraXQtYnVpbGQtZGlyZWN0b3J5Iild
ICsgZmxhZ3MKLSAgICAgICAgICAgIHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzW2NvbmZpZ3VyYXRp
b25dID0gKAotICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChhcmdz
LCBjd2Q9c2VsZi53ZWJraXRfYmFzZV9kaXIoKSkucnN0cmlwKCkpCisgICAgICAgICAgICBvdXRw
dXQgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoYXJncywgY3dkPXNlbGYud2Via2l0X2Jh
c2VfZGlyKCkpLnJzdHJpcCgpCisgICAgICAgICAgICBpZiBjb25maWd1cmF0aW9uOgorICAgICAg
ICAgICAgICAgIHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzW2NvbmZpZ3VyYXRpb25dID0gb3V0cHV0
CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHBhcnRzID0gb3V0cHV0LnNwbGl0
KCJcbiIpCisgICAgICAgICAgICAgICAgc2VsZi5fYnVpbGRfZGlyZWN0b3JpZXNbY29uZmlndXJh
dGlvbl0gPSBwYXJ0c1swXQorICAgICAgICAgICAgICAgIGRlZmF1bHRfY29uZmlndXJhdGlvbiA9
IHBhcnRzWzFdW2xlbihwYXJ0c1swXSk6XQorICAgICAgICAgICAgICAgIGlmIGRlZmF1bHRfY29u
ZmlndXJhdGlvbi5zdGFydHN3aXRoKCIvIik6CisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRf
Y29uZmlndXJhdGlvbiA9IGRlZmF1bHRfY29uZmlndXJhdGlvblsxOl0KKyAgICAgICAgICAgICAg
ICBzZWxmLl9idWlsZF9kaXJlY3Rvcmllc1tkZWZhdWx0X2NvbmZpZ3VyYXRpb25dID0gcGFydHNb
MV0KIAogICAgICAgICByZXR1cm4gc2VsZi5fYnVpbGRfZGlyZWN0b3JpZXNbY29uZmlndXJhdGlv
bl0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jb25maWdfc3RhbmRhbG9uZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY29uZmlnX3N0YW5kYWxvbmUucHkKaW5kZXggM2RlYzNiOTFjNDU2MmJlY2E5MWJh
NTBlN2M3MjE1YjViNDJkZGNhZi4uNWIwNDgzMTQ1MjBjODk5NDU0Y2ZkZTE2ZTZjOTMzMmUyZmUy
NTkzZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jb25maWdfc3RhbmRhbG9uZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2NvbmZpZ19zdGFuZGFsb25lLnB5CkBAIC01Nyw3ICs1Nyw3IEBAIGRlZiBt
YWluKGFyZ3Y9Tm9uZSk6CiAgICAgICAgIGFyZ3YgPSBzeXMuYXJndgogCiAgICAgaWYgbGVuKGFy
Z3YpID09IDMgYW5kIGFyZ3ZbMV0gPT0gJy0tbW9jayc6Ci0gICAgICAgIGUgPSBleGVjdXRpdmVf
bW9jay5Nb2NrRXhlY3V0aXZlMihvdXRwdXQ9J2ZvbycpCisgICAgICAgIGUgPSBleGVjdXRpdmVf
bW9jay5Nb2NrRXhlY3V0aXZlMihvdXRwdXQ9J2Zvb1xuZm9vLyVzJyAlIGFyZ3ZbMl0pCiAgICAg
ICAgIGZzID0gZmlsZXN5c3RlbV9tb2NrLk1vY2tGaWxlU3lzdGVtKHsnZm9vL0NvbmZpZ3VyYXRp
b24nOiBhcmd2WzJdfSkKICAgICBlbHNlOgogICAgICAgICBlID0gZXhlY3V0aXZlLkV4ZWN1dGl2
ZSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2NvbmZpZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY29uZmlnX3VuaXR0ZXN0LnB5CmluZGV4IGU1NTdlZWZlOGYxNTA2MjczYzQ1ZjlhM2Mz
ZTUyMjQxOTk1ZjgwZDcuLjUxYTc3OTg1MDA1NjkwMTAwODk5MGEyNTUzMjc3ZmFjMTdiZjFmZTQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29u
ZmlnX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY29uZmlnX3VuaXR0ZXN0LnB5CkBAIC01MSwxOCArNTEsMjEgQEAgY2xhc3MgQ29uZmln
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFzc2VydF9jb25maWd1cmF0aW9uKHNl
bGYsIGNvbnRlbnRzLCBleHBlY3RlZCk6CiAgICAgICAgICMgVGhpcyB0ZXN0cyB0aGF0IGEgY29u
ZmlndXJhdGlvbiBmaWxlIGNvbnRhaW5pbmcKICAgICAgICAgIyBfY29udGVudHNfIGVuZHMgdXAg
YmVpbmcgaW50ZXJwcmV0ZWQgYXMgX2V4cGVjdGVkXy4KLSAgICAgICAgYyA9IHNlbGYubWFrZV9j
b25maWcoJ2ZvbycsIHsnZm9vL0NvbmZpZ3VyYXRpb24nOiBjb250ZW50c30pCisgICAgICAgIG91
dHB1dCA9ICdmb29cbmZvby8lcycgJSBjb250ZW50cworICAgICAgICBjID0gc2VsZi5tYWtlX2Nv
bmZpZyhvdXRwdXQsIHsnZm9vL0NvbmZpZ3VyYXRpb24nOiBjb250ZW50c30pCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoYy5kZWZhdWx0X2NvbmZpZ3VyYXRpb24oKSwgZXhwZWN0ZWQpCiAKICAg
ICBkZWYgdGVzdF9idWlsZF9kaXJlY3Rvcnkoc2VsZik6CiAgICAgICAgICMgLS10b3AtbGV2ZWwK
ICAgICAgICAgZGVmIG1vY2tfd2Via2l0X2J1aWxkX2RpcmVjdG9yeShhcmdfbGlzdCk6CiAgICAg
ICAgICAgICBpZiBhcmdfbGlzdCA9PSBbJy0tdG9wLWxldmVsJ106Ci0gICAgICAgICAgICAgICAg
cmV0dXJuICcvV2ViS2l0QnVpbGQnCisgICAgICAgICAgICAgICAgcmV0dXJuICcvV2ViS2l0QnVp
bGQvJwogICAgICAgICAgICAgZWxpZiBhcmdfbGlzdCA9PSBbJy0tY29uZmlndXJhdGlvbicsICct
LWRlYnVnJ106CiAgICAgICAgICAgICAgICAgcmV0dXJuICcvV2ViS2l0QnVpbGQvRGVidWcnCiAg
ICAgICAgICAgICBlbGlmIGFyZ19saXN0ID09IFsnLS1jb25maWd1cmF0aW9uJywgJy0tcmVsZWFz
ZSddOgogICAgICAgICAgICAgICAgIHJldHVybiAnL1dlYktpdEJ1aWxkL1JlbGVhc2UnCisgICAg
ICAgICAgICBlbGlmIGFyZ19saXN0ID09IFtdOgorICAgICAgICAgICAgICAgIHJldHVybiAnL1dl
YktpdEJ1aWxkL1xuL1dlYktpdEJ1aWxkLy9EZWJ1Z1xuJwogICAgICAgICAgICAgcmV0dXJuICdF
cnJvcicKIAogICAgICAgICBkZWYgbW9ja19ydW5fY29tbWFuZChhcmdfbGlzdCk6CkBAIC03MSwx
MCArNzQsMTAgQEAgY2xhc3MgQ29uZmlnVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
ICAgICByZXR1cm4gJ0Vycm9yJwogCiAgICAgICAgIGMgPSBzZWxmLm1ha2VfY29uZmlnKHJ1bl9j
b21tYW5kX2ZuPW1vY2tfcnVuX2NvbW1hbmQpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjLmJ1
aWxkX2RpcmVjdG9yeShOb25lKS5lbmRzd2l0aCgnV2ViS2l0QnVpbGQnKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjLmJ1aWxkX2RpcmVjdG9yeShOb25lKSwgJy9XZWJLaXRCdWlsZC8nKQog
CiAgICAgICAgICMgVGVzdCBhZ2FpbiB0byBjaGVjayBjYWNoaW5nCi0gICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShjLmJ1aWxkX2RpcmVjdG9yeShOb25lKS5lbmRzd2l0aCgnV2ViS2l0QnVpbGQnKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjLmJ1aWxkX2RpcmVjdG9yeShOb25lKSwgJy9XZWJL
aXRCdWlsZC8nKQogCiAgICAgICAgICMgVGVzdCBvdGhlciB2YWx1ZXMKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKGMuYnVpbGRfZGlyZWN0b3J5KCdSZWxlYXNlJykuZW5kc3dpdGgoJy9SZWxlYXNl
JykpCkBAIC05NSw3ICs5OCw3IEBAIGNsYXNzIENvbmZpZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogCiAgICAgZGVmIHRlc3RfZGVmYXVsdF9jb25maWd1cmF0aW9uX19ub3Rmb3VuZChzZWxmKToK
ICAgICAgICAgIyBUaGlzIHRlc3RzIHdoYXQgaGFwcGVucyBpZiB0aGUgZGVmYXVsdCBjb25maWd1
cmF0aW9uIGZpbGUgZG9lc24ndCBleGlzdC4KLSAgICAgICAgYyA9IHNlbGYubWFrZV9jb25maWco
b3V0cHV0PSdmb28nLCBmaWxlcz17J2Zvby9Db25maWd1cmF0aW9uJzogTm9uZX0pCisgICAgICAg
IGMgPSBzZWxmLm1ha2VfY29uZmlnKG91dHB1dD0nZm9vXG5mb28vUmVsZWFzZScsIGZpbGVzPXsn
Zm9vL0NvbmZpZ3VyYXRpb24nOiBOb25lfSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjLmRl
ZmF1bHRfY29uZmlndXJhdGlvbigpLCAiUmVsZWFzZSIpCiAKICAgICBkZWYgdGVzdF9kZWZhdWx0
X2NvbmZpZ3VyYXRpb25fX3Vua25vd24oc2VsZik6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124584</attachid>
            <date>2012-01-30 12:47:49 -0800</date>
            <delta_ts>2012-01-30 13:49:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77248-20120130124748.patch</filename>
            <type>text/plain</type>
            <size>9725</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDZkMzNjMDMwMTEyYThlMTNkNTJhNDY0MjU3YTFjNzZl
NWRjM2UzZC4uNGZhNmUwNDYzYjAwNGJlMzUyYmFjMDljZjc4OTU5ODRmM2Y5MGZkZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDEyLTAxLTMwICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgcnVuLXdlYmtpdC10ZXN0cyBjYWxscyBvdXQgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0
d2ljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzcy
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHJlZHVjZXMgdG8gY2FsbHMgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0byBvbmUgY2FsbCBh
bmQKKyAgICAgICAgc2F2ZXMgNTAwbXMgZm9yIHJ1bi13ZWJraXQtdGVzdHMgb3ZlciBhIHNpbmds
ZSBmaWxlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5OgorICAg
ICAgICBJZiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMsIHByaW50IG91dCBib3RoIHRoZSB0b3At
bGV2ZWwgZGlyZWN0b3J5IGFuZCB0aGUgCisgICAgICAgIGNvbmZpZ3VyYXRpb24gZGlyZWN0b3J5
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmlnLnB5OgorICAgICAgICAo
Q29uZmlnLmJ1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIFdoZW4gY2FsbGVkIHdpdGggbm8gYXJn
dW1lbnRzLCBnZXQgYW5kIGNhY2hlIGJvdGggdGhlIHRvcC1sZXZlbCBhbmQgY29uZmlndXJhdGlv
biBkaXJlY3Rvcmllcy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY29uZmlnX3N0YW5kYWxvbmUucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2NvbmZpZ191bml0dGVzdC5weToKKyAg
ICAgICAgKENvbmZpZ1Rlc3QuYXNzZXJ0X2NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoQ29uZmln
VGVzdC50ZXN0X2J1aWxkX2RpcmVjdG9yeS5tb2NrX3dlYmtpdF9idWlsZF9kaXJlY3RvcnkpOgor
ICAgICAgICAoQ29uZmlnVGVzdC50ZXN0X2J1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIChDb25m
aWdUZXN0LnRlc3RfZGVmYXVsdF9jb25maWd1cmF0aW9uX19ub3Rmb3VuZCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgIChX
ZWJLaXRQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgQ2FjaGUgdGhlIHJvb3QgZGlyZWN0b3J5IGlu
IHRoZSBvcHRpb25zIG9iamVjdCBzbyB0aGF0IG90aGVyIHVzZXJzCisgICAgICAgIG9mIHRoZSBv
cHRpb25zIG9iamVjdCBkb24ndCBuZWVkIHRvIGNhbGwgb3V0IHRvIHdlYmtpdC1idWlsZC1kaXJl
Y3RvcnkuCisKKyAgICAgICAgKFdlYktpdFBvcnQuX2J1aWxkX3BhdGgpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6CisKIDIwMTIt
MDEtMjcgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHRlc3Qg
Zm9yIFdLQnVuZGxlRnJhbWVHZXRQYXJlbnRGcmFtZSgpLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXQtYnVpbGQt
ZGlyZWN0b3J5CmluZGV4IGJmN2Q2NmRiZmI5NjJjMmQ2MTMyMGNkZjdjNzBmNjNiODA1OWM3ZTUu
LmRhYjFkNjYyMmZmZjdmNTJkNzlkM2QyODBkYzc3YWVlMTk2NjQ4NTIgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVjdG9yeQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdC1idWlsZC1kaXJlY3RvcnkKQEAgLTU3LDEyICs1NywxNSBAQCBteSAkZ2V0T3B0aW9uc1Jl
c3VsdCA9IEdldE9wdGlvbnMoCiAgICAgJ2hlbHB8aCcgPT4gXCRzaG93SGVscCwKICk7CiAKLWlm
ICghJGdldE9wdGlvbnNSZXN1bHQgfHwgJHNob3dIZWxwIHx8ICghJHNob3dDb25maWd1cmF0aW9u
RGlyZWN0b3J5ICYmICEkc2hvd1RvcExldmVsRGlyZWN0b3J5KSkgeworaWYgKCEkZ2V0T3B0aW9u
c1Jlc3VsdCB8fCAkc2hvd0hlbHApIHsKICAgICBwcmludCBTVERFUlIgJHVzYWdlOwogICAgIGV4
aXQgMTsKIH0KIAotaWYgKCRzaG93VG9wTGV2ZWxEaXJlY3RvcnkpIHsKK2lmICghJHNob3dDb25m
aWd1cmF0aW9uRGlyZWN0b3J5ICYmICEkc2hvd1RvcExldmVsRGlyZWN0b3J5KSB7CisgICAgcHJp
bnQgYmFzZVByb2R1Y3REaXIoKSAuICJcbiI7CisgICAgcHJpbnQgcHJvZHVjdERpcigpIC4gIlxu
IjsKK30gZWxzaWYgKCRzaG93VG9wTGV2ZWxEaXJlY3RvcnkpIHsKICAgICBwcmludCBiYXNlUHJv
ZHVjdERpcigpIC4gIlxuIjsKIH0gZWxzZSB7CiAgICAgcHJpbnQgcHJvZHVjdERpcigpIC4gIlxu
IjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
Y29uZmlnLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25m
aWcucHkKaW5kZXggYzU1MjkwNzI4MThkMzAyZWEzZGU4NjhiOTNmN2RhN2IzYzg2NTcwMC4uZmMy
ZTI0MTc3ZGU3OGFkMmZhMzI3YjE3MzA0YTVjMzZkZTEzMTUyNCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKQEAgLTc4LDggKzc4
LDE2IEBAIGNsYXNzIENvbmZpZyhvYmplY3QpOgogCiAgICAgICAgIGlmIG5vdCBzZWxmLl9idWls
ZF9kaXJlY3Rvcmllcy5nZXQoY29uZmlndXJhdGlvbik6CiAgICAgICAgICAgICBhcmdzID0gWyJw
ZXJsIiwgc2VsZi5zY3JpcHRfcGF0aCgid2Via2l0LWJ1aWxkLWRpcmVjdG9yeSIpXSArIGZsYWdz
Ci0gICAgICAgICAgICBzZWxmLl9idWlsZF9kaXJlY3Rvcmllc1tjb25maWd1cmF0aW9uXSA9ICgK
LSAgICAgICAgICAgICAgICBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoYXJncywgY3dkPXNl
bGYud2Via2l0X2Jhc2VfZGlyKCkpLnJzdHJpcCgpKQorICAgICAgICAgICAgb3V0cHV0ID0gc2Vs
Zi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLndlYmtpdF9iYXNlX2Rpcigp
KS5yc3RyaXAoKQorICAgICAgICAgICAgaWYgY29uZmlndXJhdGlvbjoKKyAgICAgICAgICAgICAg
ICBzZWxmLl9idWlsZF9kaXJlY3Rvcmllc1tjb25maWd1cmF0aW9uXSA9IG91dHB1dAorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwYXJ0cyA9IG91dHB1dC5zcGxpdCgiXG4iKQor
ICAgICAgICAgICAgICAgIHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzW2NvbmZpZ3VyYXRpb25dID0g
cGFydHNbMF0KKyAgICAgICAgICAgICAgICBkZWZhdWx0X2NvbmZpZ3VyYXRpb24gPSBwYXJ0c1sx
XVtsZW4ocGFydHNbMF0pOl0KKyAgICAgICAgICAgICAgICBpZiBkZWZhdWx0X2NvbmZpZ3VyYXRp
b24uc3RhcnRzd2l0aCgiLyIpOgorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X2NvbmZpZ3Vy
YXRpb24gPSBkZWZhdWx0X2NvbmZpZ3VyYXRpb25bMTpdCisgICAgICAgICAgICAgICAgc2VsZi5f
YnVpbGRfZGlyZWN0b3JpZXNbZGVmYXVsdF9jb25maWd1cmF0aW9uXSA9IHBhcnRzWzFdCiAKICAg
ICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzW2NvbmZpZ3VyYXRpb25dCiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmln
X3N0YW5kYWxvbmUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2NvbmZpZ19zdGFuZGFsb25lLnB5CmluZGV4IDNkZWMzYjkxYzQ1NjJiZWNhOTFiYTUwZTdjNzIx
NWI1YjQyZGRjYWYuLjViMDQ4MzE0NTIwYzg5OTQ1NGNmZGUxNmU2YzkzMzJlMmZlMjU5M2YgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmln
X3N0YW5kYWxvbmUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9jb25maWdfc3RhbmRhbG9uZS5weQpAQCAtNTcsNyArNTcsNyBAQCBkZWYgbWFpbihhcmd2
PU5vbmUpOgogICAgICAgICBhcmd2ID0gc3lzLmFyZ3YKIAogICAgIGlmIGxlbihhcmd2KSA9PSAz
IGFuZCBhcmd2WzFdID09ICctLW1vY2snOgotICAgICAgICBlID0gZXhlY3V0aXZlX21vY2suTW9j
a0V4ZWN1dGl2ZTIob3V0cHV0PSdmb28nKQorICAgICAgICBlID0gZXhlY3V0aXZlX21vY2suTW9j
a0V4ZWN1dGl2ZTIob3V0cHV0PSdmb29cbmZvby8lcycgJSBhcmd2WzJdKQogICAgICAgICBmcyA9
IGZpbGVzeXN0ZW1fbW9jay5Nb2NrRmlsZVN5c3RlbSh7J2Zvby9Db25maWd1cmF0aW9uJzogYXJn
dlsyXX0pCiAgICAgZWxzZToKICAgICAgICAgZSA9IGV4ZWN1dGl2ZS5FeGVjdXRpdmUoKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWdf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nv
bmZpZ191bml0dGVzdC5weQppbmRleCBlNTU3ZWVmZThmMTUwNjI3M2M0NWY5YTNjM2U1MjI0MTk5
NWY4MGQ3Li41MWE3Nzk4NTAwNTY5MDEwMDg5OTBhMjU1MzI3N2ZhYzE3YmYxZmU0IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2NvbmZpZ191bml0
dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nv
bmZpZ191bml0dGVzdC5weQpAQCAtNTEsMTggKzUxLDIxIEBAIGNsYXNzIENvbmZpZ1Rlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBhc3NlcnRfY29uZmlndXJhdGlvbihzZWxmLCBjb250
ZW50cywgZXhwZWN0ZWQpOgogICAgICAgICAjIFRoaXMgdGVzdHMgdGhhdCBhIGNvbmZpZ3VyYXRp
b24gZmlsZSBjb250YWluaW5nCiAgICAgICAgICMgX2NvbnRlbnRzXyBlbmRzIHVwIGJlaW5nIGlu
dGVycHJldGVkIGFzIF9leHBlY3RlZF8uCi0gICAgICAgIGMgPSBzZWxmLm1ha2VfY29uZmlnKCdm
b28nLCB7J2Zvby9Db25maWd1cmF0aW9uJzogY29udGVudHN9KQorICAgICAgICBvdXRwdXQgPSAn
Zm9vXG5mb28vJXMnICUgY29udGVudHMKKyAgICAgICAgYyA9IHNlbGYubWFrZV9jb25maWcob3V0
cHV0LCB7J2Zvby9Db25maWd1cmF0aW9uJzogY29udGVudHN9KQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGMuZGVmYXVsdF9jb25maWd1cmF0aW9uKCksIGV4cGVjdGVkKQogCiAgICAgZGVmIHRl
c3RfYnVpbGRfZGlyZWN0b3J5KHNlbGYpOgogICAgICAgICAjIC0tdG9wLWxldmVsCiAgICAgICAg
IGRlZiBtb2NrX3dlYmtpdF9idWlsZF9kaXJlY3RvcnkoYXJnX2xpc3QpOgogICAgICAgICAgICAg
aWYgYXJnX2xpc3QgPT0gWyctLXRvcC1sZXZlbCddOgotICAgICAgICAgICAgICAgIHJldHVybiAn
L1dlYktpdEJ1aWxkJworICAgICAgICAgICAgICAgIHJldHVybiAnL1dlYktpdEJ1aWxkLycKICAg
ICAgICAgICAgIGVsaWYgYXJnX2xpc3QgPT0gWyctLWNvbmZpZ3VyYXRpb24nLCAnLS1kZWJ1Zydd
OgogICAgICAgICAgICAgICAgIHJldHVybiAnL1dlYktpdEJ1aWxkL0RlYnVnJwogICAgICAgICAg
ICAgZWxpZiBhcmdfbGlzdCA9PSBbJy0tY29uZmlndXJhdGlvbicsICctLXJlbGVhc2UnXToKICAg
ICAgICAgICAgICAgICByZXR1cm4gJy9XZWJLaXRCdWlsZC9SZWxlYXNlJworICAgICAgICAgICAg
ZWxpZiBhcmdfbGlzdCA9PSBbXToKKyAgICAgICAgICAgICAgICByZXR1cm4gJy9XZWJLaXRCdWls
ZC9cbi9XZWJLaXRCdWlsZC8vRGVidWdcbicKICAgICAgICAgICAgIHJldHVybiAnRXJyb3InCiAK
ICAgICAgICAgZGVmIG1vY2tfcnVuX2NvbW1hbmQoYXJnX2xpc3QpOgpAQCAtNzEsMTAgKzc0LDEw
IEBAIGNsYXNzIENvbmZpZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgcmV0
dXJuICdFcnJvcicKIAogICAgICAgICBjID0gc2VsZi5tYWtlX2NvbmZpZyhydW5fY29tbWFuZF9m
bj1tb2NrX3J1bl9jb21tYW5kKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoYy5idWlsZF9kaXJl
Y3RvcnkoTm9uZSkuZW5kc3dpdGgoJ1dlYktpdEJ1aWxkJykpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoYy5idWlsZF9kaXJlY3RvcnkoTm9uZSksICcvV2ViS2l0QnVpbGQvJykKIAogICAgICAg
ICAjIFRlc3QgYWdhaW4gdG8gY2hlY2sgY2FjaGluZwotICAgICAgICBzZWxmLmFzc2VydFRydWUo
Yy5idWlsZF9kaXJlY3RvcnkoTm9uZSkuZW5kc3dpdGgoJ1dlYktpdEJ1aWxkJykpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoYy5idWlsZF9kaXJlY3RvcnkoTm9uZSksICcvV2ViS2l0QnVpbGQv
JykKIAogICAgICAgICAjIFRlc3Qgb3RoZXIgdmFsdWVzCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShjLmJ1aWxkX2RpcmVjdG9yeSgnUmVsZWFzZScpLmVuZHN3aXRoKCcvUmVsZWFzZScpKQpAQCAt
OTUsNyArOTgsNyBAQCBjbGFzcyBDb25maWdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAg
IGRlZiB0ZXN0X2RlZmF1bHRfY29uZmlndXJhdGlvbl9fbm90Zm91bmQoc2VsZik6CiAgICAgICAg
ICMgVGhpcyB0ZXN0cyB3aGF0IGhhcHBlbnMgaWYgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBm
aWxlIGRvZXNuJ3QgZXhpc3QuCi0gICAgICAgIGMgPSBzZWxmLm1ha2VfY29uZmlnKG91dHB1dD0n
Zm9vJywgZmlsZXM9eydmb28vQ29uZmlndXJhdGlvbic6IE5vbmV9KQorICAgICAgICBjID0gc2Vs
Zi5tYWtlX2NvbmZpZyhvdXRwdXQ9J2Zvb1xuZm9vL1JlbGVhc2UnLCBmaWxlcz17J2Zvby9Db25m
aWd1cmF0aW9uJzogTm9uZX0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYy5kZWZhdWx0X2Nv
bmZpZ3VyYXRpb24oKSwgIlJlbGVhc2UiKQogCiAgICAgZGVmIHRlc3RfZGVmYXVsdF9jb25maWd1
cmF0aW9uX191bmtub3duKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weQppbmRleCA0MWExNTJkNmYwNzE4YThiYTViYmFmNDY1
ODA5YzM3YzAwYjg2ZjZhLi5iNmQ4NTgyNDg0M2VjNGY3YmY2YzZjMTEzMzI0YTY0ZDAyZDNmMjQ5
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dl
YmtpdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dl
YmtpdC5weQpAQCAtNjIsNiArNjIsMTQgQEAgY2xhc3MgV2ViS2l0UG9ydChQb3J0KToKICAgICAg
ICAgZGVmYXVsdF90aW1lX291dF9zZWNvbmRzID0gMzUwIGlmIHNlbGYuZ2V0X29wdGlvbignZ3Vh
cmRfbWFsbG9jJykgZWxzZSAzNQogICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgidGlt
ZV9vdXRfbXMiLCBkZWZhdWx0X3RpbWVfb3V0X3NlY29uZHMgKiAxMDAwKQogCisgICAgICAgICMg
LS1yb290IGlzIHVzZWQgZm9yIHJ1bm5pbmcgd2l0aCBhIHByZS1idWlsdCByb290IChsaWtlIGZy
b20gYSBuaWdodGx5IHppcCkuCisgICAgICAgICMgU2V0IGl0IGhlcmUgaWYgaXQncyBub3Qgc2V0
IGFscmVhZHkuIFNpbmNlIHRoaXMgbW9kaWZpZXMgdGhlIG9wdGlvbnMgb2JqZWN0CisgICAgICAg
ICMgdXNlZCBieSB0aGUgd29ya2VyIHN1YnByb2Nlc3NlcywgaXQgYXZvaWRzIHRoZSBzbG93IGNh
bGwgb3V0IHRvIGJ1aWxkX2RpcmVjdG9yeSBpbgorICAgICAgICAjIGVhY2ggc3VicHJvY2Vzcy4K
KyAgICAgICAgYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5nZXRfb3B0aW9uKCdyb290JykKKyAgICAg
ICAgaWYgbm90IGJ1aWxkX2RpcmVjdG9yeToKKyAgICAgICAgICAgIHNlbGYuc2V0X29wdGlvbl9k
ZWZhdWx0KCdyb290Jywgc2VsZi5fY29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxmLmdldF9vcHRp
b24oJ2NvbmZpZ3VyYXRpb24nKSkpCisKICAgICBkZWYgZHJpdmVyX25hbWUoc2VsZik6CiAgICAg
ICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVyJyk6CiAgICAgICAgICAg
ICByZXR1cm4gIldlYktpdFRlc3RSdW5uZXIiCkBAIC0zNzYsMTEgKzM4NCw3IEBAIGNsYXNzIFdl
YktpdFBvcnQoUG9ydCk6CiAgICAgICAgIHJldHVybiBzZWxmLnNraXBwZWRfbGF5b3V0X3Rlc3Rz
KHRlc3RfbGlzdCkKIAogICAgIGRlZiBfYnVpbGRfcGF0aChzZWxmLCAqY29tcHMpOgotICAgICAg
ICAjIC0tcm9vdCBpcyB1c2VkIGZvciBydW5uaW5nIHdpdGggYSBwcmUtYnVpbHQgcm9vdCAobGlr
ZSBmcm9tIGEgbmlnaHRseSB6aXApLgotICAgICAgICBidWlsZF9kaXJlY3RvcnkgPSBzZWxmLmdl
dF9vcHRpb24oJ3Jvb3QnKQotICAgICAgICBpZiBub3QgYnVpbGRfZGlyZWN0b3J5OgotICAgICAg
ICAgICAgYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5fY29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxm
LmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVz
eXN0ZW0uam9pbihidWlsZF9kaXJlY3RvcnksICpjb21wcykKKyAgICAgICAgcmV0dXJuIHNlbGYu
X2ZpbGVzeXN0ZW0uam9pbihzZWxmLmdldF9vcHRpb24oJ3Jvb3QnKSwgKmNvbXBzKQogCiAgICAg
ZGVmIF9wYXRoX3RvX2RyaXZlcihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3Bh
dGgoc2VsZi5kcml2ZXJfbmFtZSgpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXggMzY2ZTMzNWQ1M2QwMTFi
NGJhZGU1MjY5MTZlMzMzMzQ5MzU2ZjU0OS4uZDBkNDhmMWNlZWQ2MzlkNWE3MDk0ZGM1YzRhNjcx
M2MwZTA0ZWRiNyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC00NzMsNyArNDczLDEwIEBAIGRlZiBtYWlu
KCk6CiAKIGlmICdfX21haW5fXycgPT0gX19uYW1lX186CiAgICAgdHJ5OgotICAgICAgICBzeXMu
ZXhpdChtYWluKCkpCisgICAgICAgIGltcG9ydCBjUHJvZmlsZQorICAgICAgICBjUHJvZmlsZS5y
dW4oInN5cy5leGl0KG1haW4oKSkiLCAib2phbiIpCisgICAgICAgIGltcG9ydCBwc3RhdHMKKyAg
ICAgICAgcHN0YXRzLlN0YXRzKCJvamFuIikuc29ydF9zdGF0cygnY3VtdWxhdGl2ZScpLnByaW50
X3N0YXRzKCkKICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CiAgICAgICAgICMgVGhpcyBt
aXJyb3JzIHdoYXQgdGhlIHNoZWxsIG5vcm1hbGx5IGRvZXMuCiAgICAgICAgIElOVEVSUlVQVEVE
X0VYSVRfU1RBVFVTID0gc2lnbmFsLlNJR0lOVCArIDEyOAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124592</attachid>
            <date>2012-01-30 13:49:11 -0800</date>
            <delta_ts>2012-01-31 16:04:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77248-20120130134910.patch</filename>
            <type>text/plain</type>
            <size>8108</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDZkMzNjMDMwMTEyYThlMTNkNTJhNDY0MjU3YTFjNzZl
NWRjM2UzZC4uZTYzZmYzMTJjOThhYjk0YjVhNjczNThjOGUwZGFhNGM3YjliODRkMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDEyLTAxLTMwICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgcnVuLXdlYmtpdC10ZXN0cyBjYWxscyBvdXQgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0
d2ljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzcy
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHJlZHVjZXMgdG8gY2FsbHMgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0byBvbmUgY2FsbCBh
bmQKKyAgICAgICAgc2F2ZXMgNTAwbXMgZm9yIHJ1bi13ZWJraXQtdGVzdHMgb3ZlciBhIHNpbmds
ZSBmaWxlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5OgorICAg
ICAgICBJZiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMsIHByaW50IG91dCBib3RoIHRoZSB0b3At
bGV2ZWwgZGlyZWN0b3J5IGFuZCB0aGUgCisgICAgICAgIGNvbmZpZ3VyYXRpb24gZGlyZWN0b3J5
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmlnLnB5OgorICAgICAgICAo
Q29uZmlnLmJ1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIFdoZW4gY2FsbGVkIHdpdGggbm8gYXJn
dW1lbnRzLCBnZXQgYW5kIGNhY2hlIGJvdGggdGhlIHRvcC1sZXZlbCBhbmQgY29uZmlndXJhdGlv
biBkaXJlY3Rvcmllcy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY29uZmlnX3N0YW5kYWxvbmUucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2NvbmZpZ191bml0dGVzdC5weToKKyAg
ICAgICAgKENvbmZpZ1Rlc3QuYXNzZXJ0X2NvbmZpZ3VyYXRpb24pOgorICAgICAgICAoQ29uZmln
VGVzdC50ZXN0X2J1aWxkX2RpcmVjdG9yeS5tb2NrX3dlYmtpdF9idWlsZF9kaXJlY3RvcnkpOgor
ICAgICAgICAoQ29uZmlnVGVzdC50ZXN0X2J1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIChDb25m
aWdUZXN0LnRlc3RfZGVmYXVsdF9jb25maWd1cmF0aW9uX19ub3Rmb3VuZCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHk6CisgICAgICAgIChX
ZWJLaXRQb3J0Ll9idWlsZF9wYXRoKToKKyAgICAgICAgQ2FjaGUgdGhlIHJvb3QgZGlyZWN0b3J5
IGluIHRoZSBvcHRpb25zIG9iamVjdCBzbyB0aGF0IG90aGVyIHVzZXJzCisgICAgICAgIG9mIHRo
ZSBvcHRpb25zIG9iamVjdCBkb24ndCBuZWVkIHRvIGNhbGwgb3V0IHRvIHdlYmtpdC1idWlsZC1k
aXJlY3RvcnkuCisKIDIwMTItMDEtMjcgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHRlc3QgZm9yIFdLQnVuZGxlRnJhbWVHZXRQYXJlbnRGcmFtZSgpLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5CmluZGV4IGJmN2Q2NmRiZmI5NjJjMmQ2MTMyMGNk
ZjdjNzBmNjNiODA1OWM3ZTUuLmRhYjFkNjYyMmZmZjdmNTJkNzlkM2QyODBkYzc3YWVlMTk2NjQ4
NTIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVjdG9yeQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdC1idWlsZC1kaXJlY3RvcnkKQEAgLTU3LDEyICs1NywxNSBA
QCBteSAkZ2V0T3B0aW9uc1Jlc3VsdCA9IEdldE9wdGlvbnMoCiAgICAgJ2hlbHB8aCcgPT4gXCRz
aG93SGVscCwKICk7CiAKLWlmICghJGdldE9wdGlvbnNSZXN1bHQgfHwgJHNob3dIZWxwIHx8ICgh
JHNob3dDb25maWd1cmF0aW9uRGlyZWN0b3J5ICYmICEkc2hvd1RvcExldmVsRGlyZWN0b3J5KSkg
eworaWYgKCEkZ2V0T3B0aW9uc1Jlc3VsdCB8fCAkc2hvd0hlbHApIHsKICAgICBwcmludCBTVERF
UlIgJHVzYWdlOwogICAgIGV4aXQgMTsKIH0KIAotaWYgKCRzaG93VG9wTGV2ZWxEaXJlY3Rvcnkp
IHsKK2lmICghJHNob3dDb25maWd1cmF0aW9uRGlyZWN0b3J5ICYmICEkc2hvd1RvcExldmVsRGly
ZWN0b3J5KSB7CisgICAgcHJpbnQgYmFzZVByb2R1Y3REaXIoKSAuICJcbiI7CisgICAgcHJpbnQg
cHJvZHVjdERpcigpIC4gIlxuIjsKK30gZWxzaWYgKCRzaG93VG9wTGV2ZWxEaXJlY3RvcnkpIHsK
ICAgICBwcmludCBiYXNlUHJvZHVjdERpcigpIC4gIlxuIjsKIH0gZWxzZSB7CiAgICAgcHJpbnQg
cHJvZHVjdERpcigpIC4gIlxuIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvY29uZmlnLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC9jb25maWcucHkKaW5kZXggYzU1MjkwNzI4MThkMzAyZWEzZGU4NjhiOTNm
N2RhN2IzYzg2NTcwMC4uNmExMDQ1ZjEyZWYyOWY0MjBhNjU3MDQ1M2IwODkwMTZhZWMwNzA1OCAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25m
aWcucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25m
aWcucHkKQEAgLTc0LDEyICs3NCwxOSBAQCBjbGFzcyBDb25maWcob2JqZWN0KToKICAgICAgICAg
ICAgIGZsYWdzID0gWyItLWNvbmZpZ3VyYXRpb24iLCBzZWxmLmZsYWdfZm9yX2NvbmZpZ3VyYXRp
b24oY29uZmlndXJhdGlvbildCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBjb25maWd1cmF0
aW9uID0gIiIKLSAgICAgICAgICAgIGZsYWdzID0gWyItLXRvcC1sZXZlbCJdCisgICAgICAgICAg
ICBmbGFncyA9IFtdCiAKICAgICAgICAgaWYgbm90IHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzLmdl
dChjb25maWd1cmF0aW9uKToKICAgICAgICAgICAgIGFyZ3MgPSBbInBlcmwiLCBzZWxmLnNjcmlw
dF9wYXRoKCJ3ZWJraXQtYnVpbGQtZGlyZWN0b3J5IildICsgZmxhZ3MKLSAgICAgICAgICAgIHNl
bGYuX2J1aWxkX2RpcmVjdG9yaWVzW2NvbmZpZ3VyYXRpb25dID0gKAotICAgICAgICAgICAgICAg
IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi53ZWJraXRfYmFzZV9k
aXIoKSkucnN0cmlwKCkpCisgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLl9leGVjdXRpdmUucnVu
X2NvbW1hbmQoYXJncywgY3dkPXNlbGYud2Via2l0X2Jhc2VfZGlyKCkpLnJzdHJpcCgpCisgICAg
ICAgICAgICBwYXJ0cyA9IG91dHB1dC5zcGxpdCgiXG4iKQorICAgICAgICAgICAgc2VsZi5fYnVp
bGRfZGlyZWN0b3JpZXNbY29uZmlndXJhdGlvbl0gPSBwYXJ0c1swXQorCisgICAgICAgICAgICBp
ZiBsZW4ocGFydHMpID09IDI6CisgICAgICAgICAgICAgICAgZGVmYXVsdF9jb25maWd1cmF0aW9u
ID0gcGFydHNbMV1bbGVuKHBhcnRzWzBdKTpdCisgICAgICAgICAgICAgICAgaWYgZGVmYXVsdF9j
b25maWd1cmF0aW9uLnN0YXJ0c3dpdGgoIi8iKToKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVs
dF9jb25maWd1cmF0aW9uID0gZGVmYXVsdF9jb25maWd1cmF0aW9uWzE6XQorICAgICAgICAgICAg
ICAgIHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzW2RlZmF1bHRfY29uZmlndXJhdGlvbl0gPSBwYXJ0
c1sxXQogCiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9kaXJlY3Rvcmllc1tjb25maWd1cmF0
aW9uXQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2NvbmZpZ19zdGFuZGFsb25lLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9jb25maWdfc3RhbmRhbG9uZS5weQppbmRleCAzZGVjM2I5MWM0NTYyYmVjYTkx
YmE1MGU3YzcyMTViNWI0MmRkY2FmLi41YjA0ODMxNDUyMGM4OTk0NTRjZmRlMTZlNmM5MzMyZTJm
ZTI1OTNmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L2NvbmZpZ19zdGFuZGFsb25lLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvY29uZmlnX3N0YW5kYWxvbmUucHkKQEAgLTU3LDcgKzU3LDcgQEAgZGVm
IG1haW4oYXJndj1Ob25lKToKICAgICAgICAgYXJndiA9IHN5cy5hcmd2CiAKICAgICBpZiBsZW4o
YXJndikgPT0gMyBhbmQgYXJndlsxXSA9PSAnLS1tb2NrJzoKLSAgICAgICAgZSA9IGV4ZWN1dGl2
ZV9tb2NrLk1vY2tFeGVjdXRpdmUyKG91dHB1dD0nZm9vJykKKyAgICAgICAgZSA9IGV4ZWN1dGl2
ZV9tb2NrLk1vY2tFeGVjdXRpdmUyKG91dHB1dD0nZm9vXG5mb28vJXMnICUgYXJndlsyXSkKICAg
ICAgICAgZnMgPSBmaWxlc3lzdGVtX21vY2suTW9ja0ZpbGVTeXN0ZW0oeydmb28vQ29uZmlndXJh
dGlvbic6IGFyZ3ZbMl19KQogICAgIGVsc2U6CiAgICAgICAgIGUgPSBleGVjdXRpdmUuRXhlY3V0
aXZlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY29uZmlnX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jb25maWdfdW5pdHRlc3QucHkKaW5kZXggZTU1N2VlZmU4ZjE1MDYyNzNjNDVmOWEz
YzNlNTIyNDE5OTVmODBkNy4uNTFhNzc5ODUwMDU2OTAxMDA4OTkwYTI1NTMyNzdmYWMxN2JmMWZl
NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
b25maWdfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9jb25maWdfdW5pdHRlc3QucHkKQEAgLTUxLDE4ICs1MSwyMSBAQCBjbGFzcyBDb25m
aWdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0X2NvbmZpZ3VyYXRpb24o
c2VsZiwgY29udGVudHMsIGV4cGVjdGVkKToKICAgICAgICAgIyBUaGlzIHRlc3RzIHRoYXQgYSBj
b25maWd1cmF0aW9uIGZpbGUgY29udGFpbmluZwogICAgICAgICAjIF9jb250ZW50c18gZW5kcyB1
cCBiZWluZyBpbnRlcnByZXRlZCBhcyBfZXhwZWN0ZWRfLgotICAgICAgICBjID0gc2VsZi5tYWtl
X2NvbmZpZygnZm9vJywgeydmb28vQ29uZmlndXJhdGlvbic6IGNvbnRlbnRzfSkKKyAgICAgICAg
b3V0cHV0ID0gJ2Zvb1xuZm9vLyVzJyAlIGNvbnRlbnRzCisgICAgICAgIGMgPSBzZWxmLm1ha2Vf
Y29uZmlnKG91dHB1dCwgeydmb28vQ29uZmlndXJhdGlvbic6IGNvbnRlbnRzfSkKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChjLmRlZmF1bHRfY29uZmlndXJhdGlvbigpLCBleHBlY3RlZCkKIAog
ICAgIGRlZiB0ZXN0X2J1aWxkX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgIyAtLXRvcC1sZXZl
bAogICAgICAgICBkZWYgbW9ja193ZWJraXRfYnVpbGRfZGlyZWN0b3J5KGFyZ19saXN0KToKICAg
ICAgICAgICAgIGlmIGFyZ19saXN0ID09IFsnLS10b3AtbGV2ZWwnXToKLSAgICAgICAgICAgICAg
ICByZXR1cm4gJy9XZWJLaXRCdWlsZCcKKyAgICAgICAgICAgICAgICByZXR1cm4gJy9XZWJLaXRC
dWlsZC8nCiAgICAgICAgICAgICBlbGlmIGFyZ19saXN0ID09IFsnLS1jb25maWd1cmF0aW9uJywg
Jy0tZGVidWcnXToKICAgICAgICAgICAgICAgICByZXR1cm4gJy9XZWJLaXRCdWlsZC9EZWJ1ZycK
ICAgICAgICAgICAgIGVsaWYgYXJnX2xpc3QgPT0gWyctLWNvbmZpZ3VyYXRpb24nLCAnLS1yZWxl
YXNlJ106CiAgICAgICAgICAgICAgICAgcmV0dXJuICcvV2ViS2l0QnVpbGQvUmVsZWFzZScKKyAg
ICAgICAgICAgIGVsaWYgYXJnX2xpc3QgPT0gW106CisgICAgICAgICAgICAgICAgcmV0dXJuICcv
V2ViS2l0QnVpbGQvXG4vV2ViS2l0QnVpbGQvL0RlYnVnXG4nCiAgICAgICAgICAgICByZXR1cm4g
J0Vycm9yJwogCiAgICAgICAgIGRlZiBtb2NrX3J1bl9jb21tYW5kKGFyZ19saXN0KToKQEAgLTcx
LDEwICs3NCwxMCBAQCBjbGFzcyBDb25maWdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAg
ICAgICAgIHJldHVybiAnRXJyb3InCiAKICAgICAgICAgYyA9IHNlbGYubWFrZV9jb25maWcocnVu
X2NvbW1hbmRfZm49bW9ja19ydW5fY29tbWFuZCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGMu
YnVpbGRfZGlyZWN0b3J5KE5vbmUpLmVuZHN3aXRoKCdXZWJLaXRCdWlsZCcpKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGMuYnVpbGRfZGlyZWN0b3J5KE5vbmUpLCAnL1dlYktpdEJ1aWxkLycp
CiAKICAgICAgICAgIyBUZXN0IGFnYWluIHRvIGNoZWNrIGNhY2hpbmcKLSAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKGMuYnVpbGRfZGlyZWN0b3J5KE5vbmUpLmVuZHN3aXRoKCdXZWJLaXRCdWlsZCcp
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMuYnVpbGRfZGlyZWN0b3J5KE5vbmUpLCAnL1dl
YktpdEJ1aWxkLycpCiAKICAgICAgICAgIyBUZXN0IG90aGVyIHZhbHVlcwogICAgICAgICBzZWxm
LmFzc2VydFRydWUoYy5idWlsZF9kaXJlY3RvcnkoJ1JlbGVhc2UnKS5lbmRzd2l0aCgnL1JlbGVh
c2UnKSkKQEAgLTk1LDcgKzk4LDcgQEAgY2xhc3MgQ29uZmlnVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAKICAgICBkZWYgdGVzdF9kZWZhdWx0X2NvbmZpZ3VyYXRpb25fX25vdGZvdW5kKHNlbGYp
OgogICAgICAgICAjIFRoaXMgdGVzdHMgd2hhdCBoYXBwZW5zIGlmIHRoZSBkZWZhdWx0IGNvbmZp
Z3VyYXRpb24gZmlsZSBkb2Vzbid0IGV4aXN0LgotICAgICAgICBjID0gc2VsZi5tYWtlX2NvbmZp
ZyhvdXRwdXQ9J2ZvbycsIGZpbGVzPXsnZm9vL0NvbmZpZ3VyYXRpb24nOiBOb25lfSkKKyAgICAg
ICAgYyA9IHNlbGYubWFrZV9jb25maWcob3V0cHV0PSdmb29cbmZvby9SZWxlYXNlJywgZmlsZXM9
eydmb28vQ29uZmlndXJhdGlvbic6IE5vbmV9KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMu
ZGVmYXVsdF9jb25maWd1cmF0aW9uKCksICJSZWxlYXNlIikKIAogICAgIGRlZiB0ZXN0X2RlZmF1
bHRfY29uZmlndXJhdGlvbl9fdW5rbm93bihzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKaW5kZXggNDFhMTUyZDZmMDcxOGE4
YmE1YmJhZjQ2NTgwOWMzN2MwMGI4NmY2YS4uNzkxODA2NjUyNWYxZDM4MGM4YWZiZmRiODc4YThh
ZTM3NmY2MTQwYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXQucHkKQEAgLTM4MCw2ICszODAsOSBAQCBjbGFzcyBXZWJLaXRQb3J0KFBv
cnQpOgogICAgICAgICBidWlsZF9kaXJlY3RvcnkgPSBzZWxmLmdldF9vcHRpb24oJ3Jvb3QnKQog
ICAgICAgICBpZiBub3QgYnVpbGRfZGlyZWN0b3J5OgogICAgICAgICAgICAgYnVpbGRfZGlyZWN0
b3J5ID0gc2VsZi5fY29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxmLmdldF9vcHRpb24oJ2NvbmZp
Z3VyYXRpb24nKSkKKyAgICAgICAgICAgICMgU2V0IC0tcm9vdCBoZXJlIFNpbmNlIHRoaXMgbW9k
aWZpZXMgdGhlIG9wdGlvbnMgb2JqZWN0IHVzZWQgYnkgdGhlIHdvcmtlciBzdWJwcm9jZXNzZXMs
CisgICAgICAgICAgICAjIGl0IGF2b2lkcyB0aGUgc2xvdyBjYWxsIG91dCB0byBidWlsZF9kaXJl
Y3RvcnkgaW4gZWFjaCBzdWJwcm9jZXNzLgorICAgICAgICAgICAgc2VsZi5zZXRfb3B0aW9uX2Rl
ZmF1bHQoJ3Jvb3QnLCBidWlsZF9kaXJlY3RvcnkpCiAgICAgICAgIHJldHVybiBzZWxmLl9maWxl
c3lzdGVtLmpvaW4oYnVpbGRfZGlyZWN0b3J5LCAqY29tcHMpCiAKICAgICBkZWYgX3BhdGhfdG9f
ZHJpdmVyKHNlbGYpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124839</attachid>
            <date>2012-01-31 16:05:02 -0800</date>
            <delta_ts>2012-01-31 16:20:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77248-20120131160501.patch</filename>
            <type>text/plain</type>
            <size>8265</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDkxOGMwNGQ2MmUzMWU2NGRiOTZhMGIyMWY2ZGY2NjIy
ODk5NmM0YS4uYjIzZDI1NmMzNjU1NGM4YTIyNGNjNTU2MDU0MzNkMWUwOWU3NGQyOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDEyLTAxLTMxICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgcnVuLXdlYmtpdC10ZXN0cyBjYWxscyBvdXQgdG8gd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSB0
d2ljZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzcy
NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVjdG9yeToKKyAgICAgICAgSWYgY2FsbGVkIHdpdGggbm8g
YXJndW1lbnRzLCBwcmludCBvdXQgYm90aCB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeSBhbmQgdGhl
IAorICAgICAgICBjb25maWd1cmF0aW9uIGRpcmVjdG9yeQorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHk6CisgICAgICAgIChDb25maWcuYnVp
bGRfZGlyZWN0b3J5KToKKyAgICAgICAgV2hlbiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMsIGdl
dCBhbmQgY2FjaGUgYm90aCB0aGUgdG9wLWxldmVsIGFuZCBjb25maWd1cmF0aW9uIGRpcmVjdG9y
aWVzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25m
aWdfc3RhbmRhbG9uZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmlnX3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ29u
ZmlnVGVzdC5hc3NlcnRfY29uZmlndXJhdGlvbik6CisgICAgICAgIChDb25maWdUZXN0LnRlc3Rf
YnVpbGRfZGlyZWN0b3J5Lm1vY2tfd2Via2l0X2J1aWxkX2RpcmVjdG9yeSk6CisgICAgICAgIChD
b25maWdUZXN0LnRlc3RfYnVpbGRfZGlyZWN0b3J5KToKKyAgICAgICAgKENvbmZpZ1Rlc3QudGVz
dF9kZWZhdWx0X2NvbmZpZ3VyYXRpb25fX25vdGZvdW5kKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weToKKyAgICAgICAgKFdlYktpdFBvcnQu
X2J1aWxkX3BhdGgpOgorICAgICAgICBDYWNoZSB0aGUgYnVpbGQgZGlyZWN0b3J5IGluIHRoZSBv
cHRpb25zIG9iamVjdCBzbyB0aGF0IG90aGVyIHVzZXJzCisgICAgICAgIG9mIHRoZSBvcHRpb25z
IG9iamVjdCBkb24ndCBuZWVkIHRvIGNhbGwgb3V0IHRvIHdlYmtpdC1idWlsZC1kaXJlY3Rvcnku
CisgICAgICAgIEFsc28sIHByb3Blcmx5IHN1cHBvcnQgdGhlIGV4aXN0aW5nIC0tYnVpbGQtZGly
ZWN0b3J5IGFyZ3VtZW50LgorCiAyMDEyLTAxLTMxICBFaHNhbiBBa2hnYXJpICA8ZWhzYW4uYWto
Z2FyaUBnbWFpbC5jb20+CiAKICAgICAgICAgRml4IHRoZSB1cGRhdGVfd2ViZ2xfY29uZm9ybWFu
Y2VfdGVzdHMucHkgc2NyaXB0IGluIG9yZGVyIHRvIGVuYWJsZSBpdApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXQtYnVpbGQtZGlyZWN0b3J5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXQt
YnVpbGQtZGlyZWN0b3J5CmluZGV4IGJmN2Q2NmRiZmI5NjJjMmQ2MTMyMGNkZjdjNzBmNjNiODA1
OWM3ZTUuLmRhYjFkNjYyMmZmZjdmNTJkNzlkM2QyODBkYzc3YWVlMTk2NjQ4NTIgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVjdG9yeQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdC1idWlsZC1kaXJlY3RvcnkKQEAgLTU3LDEyICs1NywxNSBAQCBteSAkZ2V0T3B0
aW9uc1Jlc3VsdCA9IEdldE9wdGlvbnMoCiAgICAgJ2hlbHB8aCcgPT4gXCRzaG93SGVscCwKICk7
CiAKLWlmICghJGdldE9wdGlvbnNSZXN1bHQgfHwgJHNob3dIZWxwIHx8ICghJHNob3dDb25maWd1
cmF0aW9uRGlyZWN0b3J5ICYmICEkc2hvd1RvcExldmVsRGlyZWN0b3J5KSkgeworaWYgKCEkZ2V0
T3B0aW9uc1Jlc3VsdCB8fCAkc2hvd0hlbHApIHsKICAgICBwcmludCBTVERFUlIgJHVzYWdlOwog
ICAgIGV4aXQgMTsKIH0KIAotaWYgKCRzaG93VG9wTGV2ZWxEaXJlY3RvcnkpIHsKK2lmICghJHNo
b3dDb25maWd1cmF0aW9uRGlyZWN0b3J5ICYmICEkc2hvd1RvcExldmVsRGlyZWN0b3J5KSB7Cisg
ICAgcHJpbnQgYmFzZVByb2R1Y3REaXIoKSAuICJcbiI7CisgICAgcHJpbnQgcHJvZHVjdERpcigp
IC4gIlxuIjsKK30gZWxzaWYgKCRzaG93VG9wTGV2ZWxEaXJlY3RvcnkpIHsKICAgICBwcmludCBi
YXNlUHJvZHVjdERpcigpIC4gIlxuIjsKIH0gZWxzZSB7CiAgICAgcHJpbnQgcHJvZHVjdERpcigp
IC4gIlxuIjsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvY29uZmlnLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9jb25maWcucHkKaW5kZXggYzU1MjkwNzI4MThkMzAyZWEzZGU4NjhiOTNmN2RhN2IzYzg2NTcw
MC4uNmExMDQ1ZjEyZWYyOWY0MjBhNjU3MDQ1M2IwODkwMTZhZWMwNzA1OCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWcucHkKQEAgLTc0
LDEyICs3NCwxOSBAQCBjbGFzcyBDb25maWcob2JqZWN0KToKICAgICAgICAgICAgIGZsYWdzID0g
WyItLWNvbmZpZ3VyYXRpb24iLCBzZWxmLmZsYWdfZm9yX2NvbmZpZ3VyYXRpb24oY29uZmlndXJh
dGlvbildCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gIiIKLSAg
ICAgICAgICAgIGZsYWdzID0gWyItLXRvcC1sZXZlbCJdCisgICAgICAgICAgICBmbGFncyA9IFtd
CiAKICAgICAgICAgaWYgbm90IHNlbGYuX2J1aWxkX2RpcmVjdG9yaWVzLmdldChjb25maWd1cmF0
aW9uKToKICAgICAgICAgICAgIGFyZ3MgPSBbInBlcmwiLCBzZWxmLnNjcmlwdF9wYXRoKCJ3ZWJr
aXQtYnVpbGQtZGlyZWN0b3J5IildICsgZmxhZ3MKLSAgICAgICAgICAgIHNlbGYuX2J1aWxkX2Rp
cmVjdG9yaWVzW2NvbmZpZ3VyYXRpb25dID0gKAotICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWN1
dGl2ZS5ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi53ZWJraXRfYmFzZV9kaXIoKSkucnN0cmlw
KCkpCisgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoYXJn
cywgY3dkPXNlbGYud2Via2l0X2Jhc2VfZGlyKCkpLnJzdHJpcCgpCisgICAgICAgICAgICBwYXJ0
cyA9IG91dHB1dC5zcGxpdCgiXG4iKQorICAgICAgICAgICAgc2VsZi5fYnVpbGRfZGlyZWN0b3Jp
ZXNbY29uZmlndXJhdGlvbl0gPSBwYXJ0c1swXQorCisgICAgICAgICAgICBpZiBsZW4ocGFydHMp
ID09IDI6CisgICAgICAgICAgICAgICAgZGVmYXVsdF9jb25maWd1cmF0aW9uID0gcGFydHNbMV1b
bGVuKHBhcnRzWzBdKTpdCisgICAgICAgICAgICAgICAgaWYgZGVmYXVsdF9jb25maWd1cmF0aW9u
LnN0YXJ0c3dpdGgoIi8iKToKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9jb25maWd1cmF0
aW9uID0gZGVmYXVsdF9jb25maWd1cmF0aW9uWzE6XQorICAgICAgICAgICAgICAgIHNlbGYuX2J1
aWxkX2RpcmVjdG9yaWVzW2RlZmF1bHRfY29uZmlndXJhdGlvbl0gPSBwYXJ0c1sxXQogCiAgICAg
ICAgIHJldHVybiBzZWxmLl9idWlsZF9kaXJlY3Rvcmllc1tjb25maWd1cmF0aW9uXQogCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2NvbmZpZ19z
dGFuZGFsb25lLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9j
b25maWdfc3RhbmRhbG9uZS5weQppbmRleCAzZGVjM2I5MWM0NTYyYmVjYTkxYmE1MGU3YzcyMTVi
NWI0MmRkY2FmLi41YjA0ODMxNDUyMGM4OTk0NTRjZmRlMTZlNmM5MzMyZTJmZTI1OTNmIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2NvbmZpZ19z
dGFuZGFsb25lLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvY29uZmlnX3N0YW5kYWxvbmUucHkKQEAgLTU3LDcgKzU3LDcgQEAgZGVmIG1haW4oYXJndj1O
b25lKToKICAgICAgICAgYXJndiA9IHN5cy5hcmd2CiAKICAgICBpZiBsZW4oYXJndikgPT0gMyBh
bmQgYXJndlsxXSA9PSAnLS1tb2NrJzoKLSAgICAgICAgZSA9IGV4ZWN1dGl2ZV9tb2NrLk1vY2tF
eGVjdXRpdmUyKG91dHB1dD0nZm9vJykKKyAgICAgICAgZSA9IGV4ZWN1dGl2ZV9tb2NrLk1vY2tF
eGVjdXRpdmUyKG91dHB1dD0nZm9vXG5mb28vJXMnICUgYXJndlsyXSkKICAgICAgICAgZnMgPSBm
aWxlc3lzdGVtX21vY2suTW9ja0ZpbGVTeXN0ZW0oeydmb28vQ29uZmlndXJhdGlvbic6IGFyZ3Zb
Ml19KQogICAgIGVsc2U6CiAgICAgICAgIGUgPSBleGVjdXRpdmUuRXhlY3V0aXZlKCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY29uZmlnX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25m
aWdfdW5pdHRlc3QucHkKaW5kZXggZTU1N2VlZmU4ZjE1MDYyNzNjNDVmOWEzYzNlNTIyNDE5OTVm
ODBkNy4uNTFhNzc5ODUwMDU2OTAxMDA4OTkwYTI1NTMyNzdmYWMxN2JmMWZlNCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25maWdfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jb25m
aWdfdW5pdHRlc3QucHkKQEAgLTUxLDE4ICs1MSwyMSBAQCBjbGFzcyBDb25maWdUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgYXNzZXJ0X2NvbmZpZ3VyYXRpb24oc2VsZiwgY29udGVu
dHMsIGV4cGVjdGVkKToKICAgICAgICAgIyBUaGlzIHRlc3RzIHRoYXQgYSBjb25maWd1cmF0aW9u
IGZpbGUgY29udGFpbmluZwogICAgICAgICAjIF9jb250ZW50c18gZW5kcyB1cCBiZWluZyBpbnRl
cnByZXRlZCBhcyBfZXhwZWN0ZWRfLgotICAgICAgICBjID0gc2VsZi5tYWtlX2NvbmZpZygnZm9v
Jywgeydmb28vQ29uZmlndXJhdGlvbic6IGNvbnRlbnRzfSkKKyAgICAgICAgb3V0cHV0ID0gJ2Zv
b1xuZm9vLyVzJyAlIGNvbnRlbnRzCisgICAgICAgIGMgPSBzZWxmLm1ha2VfY29uZmlnKG91dHB1
dCwgeydmb28vQ29uZmlndXJhdGlvbic6IGNvbnRlbnRzfSkKICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChjLmRlZmF1bHRfY29uZmlndXJhdGlvbigpLCBleHBlY3RlZCkKIAogICAgIGRlZiB0ZXN0
X2J1aWxkX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgIyAtLXRvcC1sZXZlbAogICAgICAgICBk
ZWYgbW9ja193ZWJraXRfYnVpbGRfZGlyZWN0b3J5KGFyZ19saXN0KToKICAgICAgICAgICAgIGlm
IGFyZ19saXN0ID09IFsnLS10b3AtbGV2ZWwnXToKLSAgICAgICAgICAgICAgICByZXR1cm4gJy9X
ZWJLaXRCdWlsZCcKKyAgICAgICAgICAgICAgICByZXR1cm4gJy9XZWJLaXRCdWlsZC8nCiAgICAg
ICAgICAgICBlbGlmIGFyZ19saXN0ID09IFsnLS1jb25maWd1cmF0aW9uJywgJy0tZGVidWcnXToK
ICAgICAgICAgICAgICAgICByZXR1cm4gJy9XZWJLaXRCdWlsZC9EZWJ1ZycKICAgICAgICAgICAg
IGVsaWYgYXJnX2xpc3QgPT0gWyctLWNvbmZpZ3VyYXRpb24nLCAnLS1yZWxlYXNlJ106CiAgICAg
ICAgICAgICAgICAgcmV0dXJuICcvV2ViS2l0QnVpbGQvUmVsZWFzZScKKyAgICAgICAgICAgIGVs
aWYgYXJnX2xpc3QgPT0gW106CisgICAgICAgICAgICAgICAgcmV0dXJuICcvV2ViS2l0QnVpbGQv
XG4vV2ViS2l0QnVpbGQvL0RlYnVnXG4nCiAgICAgICAgICAgICByZXR1cm4gJ0Vycm9yJwogCiAg
ICAgICAgIGRlZiBtb2NrX3J1bl9jb21tYW5kKGFyZ19saXN0KToKQEAgLTcxLDEwICs3NCwxMCBA
QCBjbGFzcyBDb25maWdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIHJldHVy
biAnRXJyb3InCiAKICAgICAgICAgYyA9IHNlbGYubWFrZV9jb25maWcocnVuX2NvbW1hbmRfZm49
bW9ja19ydW5fY29tbWFuZCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGMuYnVpbGRfZGlyZWN0
b3J5KE5vbmUpLmVuZHN3aXRoKCdXZWJLaXRCdWlsZCcpKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGMuYnVpbGRfZGlyZWN0b3J5KE5vbmUpLCAnL1dlYktpdEJ1aWxkLycpCiAKICAgICAgICAg
IyBUZXN0IGFnYWluIHRvIGNoZWNrIGNhY2hpbmcKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGMu
YnVpbGRfZGlyZWN0b3J5KE5vbmUpLmVuZHN3aXRoKCdXZWJLaXRCdWlsZCcpKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGMuYnVpbGRfZGlyZWN0b3J5KE5vbmUpLCAnL1dlYktpdEJ1aWxkLycp
CiAKICAgICAgICAgIyBUZXN0IG90aGVyIHZhbHVlcwogICAgICAgICBzZWxmLmFzc2VydFRydWUo
Yy5idWlsZF9kaXJlY3RvcnkoJ1JlbGVhc2UnKS5lbmRzd2l0aCgnL1JlbGVhc2UnKSkKQEAgLTk1
LDcgKzk4LDcgQEAgY2xhc3MgQ29uZmlnVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBk
ZWYgdGVzdF9kZWZhdWx0X2NvbmZpZ3VyYXRpb25fX25vdGZvdW5kKHNlbGYpOgogICAgICAgICAj
IFRoaXMgdGVzdHMgd2hhdCBoYXBwZW5zIGlmIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmls
ZSBkb2Vzbid0IGV4aXN0LgotICAgICAgICBjID0gc2VsZi5tYWtlX2NvbmZpZyhvdXRwdXQ9J2Zv
bycsIGZpbGVzPXsnZm9vL0NvbmZpZ3VyYXRpb24nOiBOb25lfSkKKyAgICAgICAgYyA9IHNlbGYu
bWFrZV9jb25maWcob3V0cHV0PSdmb29cbmZvby9SZWxlYXNlJywgZmlsZXM9eydmb28vQ29uZmln
dXJhdGlvbic6IE5vbmV9KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMuZGVmYXVsdF9jb25m
aWd1cmF0aW9uKCksICJSZWxlYXNlIikKIAogICAgIGRlZiB0ZXN0X2RlZmF1bHRfY29uZmlndXJh
dGlvbl9fdW5rbm93bihzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC93ZWJraXQucHkKaW5kZXggNDFhMTUyZDZmMDcxOGE4YmE1YmJhZjQ2NTgw
OWMzN2MwMGI4NmY2YS4uNDRhNDRjMjhjYzZiNjFmNjEwYzU3MTRiYTlhNzJhMWYwYzM0YTJlYyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJr
aXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJr
aXQucHkKQEAgLTM3Nyw5ICszNzcsMTIgQEAgY2xhc3MgV2ViS2l0UG9ydChQb3J0KToKIAogICAg
IGRlZiBfYnVpbGRfcGF0aChzZWxmLCAqY29tcHMpOgogICAgICAgICAjIC0tcm9vdCBpcyB1c2Vk
IGZvciBydW5uaW5nIHdpdGggYSBwcmUtYnVpbHQgcm9vdCAobGlrZSBmcm9tIGEgbmlnaHRseSB6
aXApLgotICAgICAgICBidWlsZF9kaXJlY3RvcnkgPSBzZWxmLmdldF9vcHRpb24oJ3Jvb3QnKQor
ICAgICAgICBidWlsZF9kaXJlY3RvcnkgPSBzZWxmLmdldF9vcHRpb24oJ3Jvb3QnKSBvciBzZWxm
LmdldF9vcHRpb24oJ2J1aWxkX2RpcmVjdG9yeScpCiAgICAgICAgIGlmIG5vdCBidWlsZF9kaXJl
Y3Rvcnk6CiAgICAgICAgICAgICBidWlsZF9kaXJlY3RvcnkgPSBzZWxmLl9jb25maWcuYnVpbGRf
ZGlyZWN0b3J5KHNlbGYuZ2V0X29wdGlvbignY29uZmlndXJhdGlvbicpKQorICAgICAgICAgICAg
IyBTZXQgLS1yb290IGhlcmUgU2luY2UgdGhpcyBtb2RpZmllcyB0aGUgb3B0aW9ucyBvYmplY3Qg
dXNlZCBieSB0aGUgd29ya2VyIHN1YnByb2Nlc3NlcywKKyAgICAgICAgICAgICMgaXQgYXZvaWRz
IHRoZSBzbG93IGNhbGwgb3V0IHRvIGJ1aWxkX2RpcmVjdG9yeSBpbiBlYWNoIHN1YnByb2Nlc3Mu
CisgICAgICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgnYnVpbGRfZGlyZWN0b3J5Jywg
YnVpbGRfZGlyZWN0b3J5KQogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKGJ1
aWxkX2RpcmVjdG9yeSwgKmNvbXBzKQogCiAgICAgZGVmIF9wYXRoX3RvX2RyaXZlcihzZWxmKToK
</data>
<flag name="review"
          id="126207"
          type_id="1"
          status="+"
          setter="dpranke"
    />
    <flag name="commit-queue"
          id="126211"
          type_id="3"
          status="-"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>