<?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>137541</bug_id>
          
          <creation_ts>2014-10-08 16:43:23 -0700</creation_ts>
          <short_desc>Errors using git-add-reviewer on a branch whose name includes parentheses</short_desc>
          <delta_ts>2014-10-09 14:10:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Burkart">dburkart</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1040435</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-08 16:43:23 -0700</bug_when>
    <thetext>&quot;I have a branch named &quot;parsec-caching-improvements(18462642)&quot;. When trying to use git-add-reviewer to add a reviewer to a patch on this branch, I see:

 % git add-reviewer HEAD &quot;Brian Weinstein&quot;
sh: -c: line 0: syntax error near unexpected token `(&apos;
sh: -c: line 0: `git rev-parse parsec-caching-improvements(18462642)&apos;
sh: -c: line 0: syntax error near unexpected token `(&apos;
sh: -c: line 0: `git merge-base 88d471e44f9cd5b4e5cca657747d1fcc3d82fe5f parsec-caching-improvements(18462642)&apos;
Brian Weinstein is not an ancestor of HEAD. at /Users/anshu/code/Safari/OpenSource/Tools/Scripts/git-add-reviewer line 171.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040436</commentid>
    <comment_count>1</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-08 16:43:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/18588042&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040437</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-08 16:44:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/18590158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040438</commentid>
    <comment_count>3</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-08 16:49:47 -0700</bug_when>
    <thetext>The fix here is to quote arguments passed to git. Additionally, let&apos;s fix that incorrect error message isAncestor() returns false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040439</commentid>
    <comment_count>4</comment_count>
      <attachid>239500</attachid>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-08 16:51:30 -0700</bug_when>
    <thetext>Created attachment 239500
Quote arguments to git.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040569</commentid>
    <comment_count>5</comment_count>
      <attachid>239500</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-09 09:28:09 -0700</bug_when>
    <thetext>Comment on attachment 239500
Quote arguments to git.

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

&gt; Tools/Scripts/git-add-reviewer:311
&gt; +    chomp(my $mergeBase = `git merge-base &apos;$ancestor&apos; &apos;$descendant&apos;`);

This relies on the names not having single quote in them. Is that guaranteed?

&gt; Tools/Scripts/git-add-reviewer:319
&gt; +    chomp(my $commit = `git rev-parse &apos;$arg&apos;`);

This relies on the argument not having a single quote in it. Is that guaranteed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040571</commentid>
    <comment_count>6</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-09 09:36:56 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 239500 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=239500&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/git-add-reviewer:311
&gt; &gt; +    chomp(my $mergeBase = `git merge-base &apos;$ancestor&apos; &apos;$descendant&apos;`);
&gt; 
&gt; This relies on the names not having single quote in them. Is that guaranteed?

For $ancestor, it should be guaranteed, however, for $descendant it isn&apos;t... apparently, git allows quotes in branch names

&gt; 
&gt; &gt; Tools/Scripts/git-add-reviewer:319
&gt; &gt; +    chomp(my $commit = `git rev-parse &apos;$arg&apos;`);
&gt; 
&gt; This relies on the argument not having a single quote in it. Is that guaranteed?

Not guaranteed for $arg either. 

An alternative solution could be to replace the backticks with a call to perl&apos;s system(), which won&apos;t invoke sh and should side-step the parenthesis problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040575</commentid>
    <comment_count>7</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-09 09:45:41 -0700</bug_when>
    <thetext>Well, I guess system() wouldn&apos;t be a valid replacement as we need to capture the output of the command, so we would need to do something a bit more involved (or just escape any single-quotes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040588</commentid>
    <comment_count>8</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-09 10:16:09 -0700</bug_when>
    <thetext>Also, upon second look at this script, it turns out we are *not* correctly using the return code from any of the system() calls. For example, the following system() call:

&gt;    my $result = system &quot;git cherry-pick -n $item-&gt;{commit} &gt; /dev/null&quot;;
&gt;    !$result or return fail(&quot;Failed to cherry-pick $item-&gt;{commit}&quot;);

The perl documentation for the system command states that system returns the result from the wait() system call (http://perldoc.perl.org/functions/system.html), which is the _pid_ of the subprocess, not the return value.

To get the return value, we must shift by 8, i.e.:

    my $result = system &quot;git cherry-pick -n $item-&gt;{commit} &gt; /dev/null&quot;;
    !($result &gt;&gt; 8) or return fail(&quot;Failed to cherry-pick $item-&gt;{commit}&quot;);

Maybe this is out of the scope of this bug, but it needs fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040599</commentid>
    <comment_count>9</comment_count>
      <attachid>239548</attachid>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-09 10:44:01 -0700</bug_when>
    <thetext>Created attachment 239548
Fix which doesn&apos;t use backticks at all

This patch adds a function `runCommandWithOutput` which does the same thing as backticks, but does not use sh, so we don&apos;t have any interpolation problems.

It also fixes a bunch of issues discovered with the use of the system() command in the script (see above comment).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040602</commentid>
    <comment_count>10</comment_count>
      <attachid>239549</attachid>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-09 10:48:47 -0700</bug_when>
    <thetext>Created attachment 239549
Forgot to update ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040688</commentid>
    <comment_count>11</comment_count>
    <who name="Dana Burkart">dburkart</who>
    <bug_when>2014-10-09 14:10:57 -0700</bug_when>
    <thetext>Committed in r174526.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239500</attachid>
            <date>2014-10-08 16:51:30 -0700</date>
            <delta_ts>2014-10-09 10:44:01 -0700</delta_ts>
            <desc>Quote arguments to git.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1679</size>
            <attacher name="Dana Burkart">dburkart</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDQ4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDE0LTEwLTA4ICBEYW5hIEJ1cmthcnQgIDxkYnVya2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgUXVvdGUgYXJndW1lbnRzIHRvIGdpdCBzbyB0aGF0IHBhcmVudGhlc2lzIGdl
dCBwcm9wZXJseSBlc2NhcGVkLiBBbHNvLAorICAgICAgICBmaXggaW5jb3JyZWN0IGVycm9yIG1l
c3NhZ2Ugd2hlbiBpc0FuY2VzdG9yKCkgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzU0MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtYWRkLXJldmlld2Vy
OgorICAgICAgICAobm9uSW50ZXJhY3RpdmUpOgorICAgICAgICAoaXNBbmNlc3Rvcik6CisgICAg
ICAgICh0b0NvbW1pdCk6CisKIDIwMTQtMTAtMDggIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gUmVzb2x2ZSB2YXJpb3VzIHN0YXRpYyBhbmFseXpl
ciB3YXJuaW5ncyBpbiBUb29scy4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvZ2l0LWFkZC1yZXZpZXdl
cgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2dpdC1hZGQtcmV2aWV3ZXIJKHJldmlzaW9u
IDE3MzIxMCkKKysrIFRvb2xzL1NjcmlwdHMvZ2l0LWFkZC1yZXZpZXdlcgkod29ya2luZyBjb3B5
KQpAQCAtMTY4LDcgKzE2OCw3IEBAIHN1YiBub25JbnRlcmFjdGl2ZSgpCiAgICAgbXkgJGhlYWQg
PSBoZWFkKCk7CiAgICAgbXkgJGhlYWRDb21taXQgPSB0b0NvbW1pdCgkaGVhZCk7CiAKLSAgICBp
c0FuY2VzdG9yKCRjb21taXQsICRoZWFkKSBvciBkaWUgIiRBUkdWWzFdIGlzIG5vdCBhbiBhbmNl
c3RvciBvZiBIRUFELiI7CisgICAgaXNBbmNlc3RvcigkY29tbWl0LCAkaGVhZCkgb3IgZGllICIk
QVJHVlswXSBpcyBub3QgYW4gYW5jZXN0b3Igb2YgSEVBRC4iOwogCiAgICAgbXkgJWl0ZW0gPSAo
CiAgICAgICAgIHJldmlld2VyID0+ICRyZXZpZXdlciwKQEAgLTMwOCw3ICszMDgsNyBAQCBzdWIg
aXNBbmNlc3RvcigkJCkKIHsKICAgICBteSAoJGFuY2VzdG9yLCAkZGVzY2VuZGFudCkgPSBAXzsK
IAotICAgIGNob21wKG15ICRtZXJnZUJhc2UgPSBgZ2l0IG1lcmdlLWJhc2UgJGFuY2VzdG9yICRk
ZXNjZW5kYW50YCk7CisgICAgY2hvbXAobXkgJG1lcmdlQmFzZSA9IGBnaXQgbWVyZ2UtYmFzZSAn
JGFuY2VzdG9yJyAnJGRlc2NlbmRhbnQnYCk7CiAgICAgcmV0dXJuICRtZXJnZUJhc2UgZXEgJGFu
Y2VzdG9yOwogfQogCkBAIC0zMTYsNyArMzE2LDcgQEAgc3ViIHRvQ29tbWl0KCQpCiB7CiAgICAg
bXkgKCRhcmcpID0gQF87CiAKLSAgICBjaG9tcChteSAkY29tbWl0ID0gYGdpdCByZXYtcGFyc2Ug
JGFyZ2ApOworICAgIGNob21wKG15ICRjb21taXQgPSBgZ2l0IHJldi1wYXJzZSAnJGFyZydgKTsK
ICAgICByZXR1cm4gJGNvbW1pdDsKIH0KIAo=
</data>
<flag name="review"
          id="264225"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239548</attachid>
            <date>2014-10-09 10:44:01 -0700</date>
            <delta_ts>2014-10-09 10:48:47 -0700</delta_ts>
            <desc>Fix which doesn&apos;t use backticks at all</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6386</size>
            <attacher name="Dana Burkart">dburkart</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDQ4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDE0LTEwLTA4ICBEYW5hIEJ1cmthcnQgIDxkYnVya2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgUXVvdGUgYXJndW1lbnRzIHRvIGdpdCBzbyB0aGF0IHBhcmVudGhlc2lzIGdl
dCBwcm9wZXJseSBlc2NhcGVkLiBBbHNvLAorICAgICAgICBmaXggaW5jb3JyZWN0IGVycm9yIG1l
c3NhZ2Ugd2hlbiBpc0FuY2VzdG9yKCkgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzU0MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9naXQtYWRkLXJldmlld2Vy
OgorICAgICAgICAobm9uSW50ZXJhY3RpdmUpOgorICAgICAgICAoaXNBbmNlc3Rvcik6CisgICAg
ICAgICh0b0NvbW1pdCk6CisKIDIwMTQtMTAtMDggIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gUmVzb2x2ZSB2YXJpb3VzIHN0YXRpYyBhbmFseXpl
ciB3YXJuaW5ncyBpbiBUb29scy4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvZ2l0LWFkZC1yZXZpZXdl
cgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2dpdC1hZGQtcmV2aWV3ZXIJKHJldmlzaW9u
IDE3MzIxMCkKKysrIFRvb2xzL1NjcmlwdHMvZ2l0LWFkZC1yZXZpZXdlcgkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksNyBAQCB1c2UgRmlsZTo6QmFzZW5hbWU7CiB1c2UgRmlsZTo6VGVtcCAo
KTsKIHVzZSBHZXRvcHQ6Okxvbmc7CiB1c2UgUE9TSVg7Cit1c2UgSVBDOjpPcGVuMjsKIAogbXkg
JGRlZmF1bHRSZXZpZXdlciA9ICJOT0JPRFkiOwogCkBAIC05NSw3ICs5Niw3IEBAIHN1YiBpbnRl
cmFjdGl2ZSgpCiAKICAgICBpc0FuY2VzdG9yKCR1cHN0cmVhbSwgJGhlYWQpIG9yIGRpZSAiJEFS
R1ZbMF0gaXMgbm90IGFuIGFuY2VzdG9yIG9mIEhFQUQuIjsKIAotICAgIG15IEByZXZsaXN0ID0g
YGdpdCByZXYtbGlzdCAtLXJldmVyc2UgLS1wcmV0dHk9b25lbGluZSAkdXBzdHJlYW0uLmA7Cisg
ICAgbXkgQHJldmxpc3QgPSBydW5Db21tYW5kV2l0aE91dHB1dCgnZ2l0JywgJ3Jldi1saXN0Jywg
Jy0tcmV2ZXJzZScsICctLXByZXR0eT1vbmVsaW5lJywgIiR1cHN0cmVhbS4uIik7CiAgICAgQHJl
dmxpc3Qgb3IgZGllICJDb3VsZG4ndCBkZXRlcm1pbmUgcmV2aXNpb25zIjsKIAogICAgIG15ICR0
ZW1wRmlsZSA9IG5ldyBGaWxlOjpUZW1wKFVOTElOSyA9PiAxKTsKQEAgLTExOSw3ICsxMjAsNyBA
QCBFT0YKIAogICAgIG15ICRlZGl0b3IgPSAkRU5We0dJVF9FRElUT1J9IHx8IGdldENvbmZpZ1Zh
bHVlKCJjb3JlLmVkaXRvciIpIHx8ICRFTlZ7VklTVUFMfSB8fCAkRU5We0VESVRPUn0gfHwgInZp
IjsKICAgICBteSAkcmVzdWx0ID0gc3lzdGVtICIkZWRpdG9yIFwiIiAuICR0ZW1wRmlsZS0+Zmls
ZW5hbWUgLiAiXCIiOwotICAgICEkcmVzdWx0IG9yIGRpZSAiRXJyb3Igc3Bhd25pbmcgZWRpdG9y
LiI7CisgICAgISgkcmVzdWx0ID4+IDgpIG9yIGRpZSAiRXJyb3Igc3Bhd25pbmcgZWRpdG9yLiI7
CiAKICAgICBteSBAdG9kbyA9ICgpOwogICAgIG9wZW4gVEVNUEZJTEUsICc8JywgJHRlbXBGaWxl
LT5maWxlbmFtZSBvciBkaWUgIkVycm9yIG9wZW5pbmcgdGVtcCBmaWxlLiI7CkBAIC0xMzYsNyAr
MTM3LDcgQEAgRU9GCiAgICAgfQogCiAgICAgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0IiwgImNoZWNr
b3V0IiwgJHVwc3RyZWFtOwotICAgICEkcmVzdWx0IG9yIGRpZSAiRXJyb3IgY2hlY2tpbmcgb3V0
ICRBUkdWWzBdLiI7CisgICAgISgkcmVzdWx0ID4+IDgpIG9yIGRpZSAiRXJyb3IgY2hlY2tpbmcg
b3V0ICRBUkdWWzBdLiI7CiAKICAgICBteSAkc3VjY2VzcyA9IDE7CiAgICAgZm9yZWFjaCBteSAk
aXRlbSAoQHRvZG8pIHsKQEAgLTE1NCw5ICsxNTUsOSBAQCBFT0YKICAgICB9CiAKICAgICAkcmVz
dWx0ID0gc3lzdGVtICJnaXQiLCAiYnJhbmNoIiwgIi1mIiwgJGhlYWQ7Ci0gICAgISRyZXN1bHQg
b3IgZGllICJFcnJvciB1cGRhdGluZyAkaGVhZC4iOworICAgICEoJHJlc3VsdCA+PiA4KSBvciBk
aWUgIkVycm9yIHVwZGF0aW5nICRoZWFkLiI7CiAgICAgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0Iiwg
ImNoZWNrb3V0IiwgJGhlYWQ7Ci0gICAgZXhpdCBXRVhJVFNUQVRVUygkcmVzdWx0KTsKKyAgICBl
eGl0IFdFWElUU1RBVFVTKCRyZXN1bHQgPj4gOCk7CiB9CiAKIHN1YiBub25JbnRlcmFjdGl2ZSgp
CkBAIC0xNjgsNyArMTY5LDcgQEAgc3ViIG5vbkludGVyYWN0aXZlKCkKICAgICBteSAkaGVhZCA9
IGhlYWQoKTsKICAgICBteSAkaGVhZENvbW1pdCA9IHRvQ29tbWl0KCRoZWFkKTsKIAotICAgIGlz
QW5jZXN0b3IoJGNvbW1pdCwgJGhlYWQpIG9yIGRpZSAiJEFSR1ZbMV0gaXMgbm90IGFuIGFuY2Vz
dG9yIG9mIEhFQUQuIjsKKyAgICBpc0FuY2VzdG9yKCRjb21taXQsICRoZWFkKSBvciBkaWUgIiRB
UkdWWzBdIGlzIG5vdCBhbiBhbmNlc3RvciBvZiBIRUFELiI7CiAKICAgICBteSAlaXRlbSA9ICgK
ICAgICAgICAgcmV2aWV3ZXIgPT4gJHJldmlld2VyLApAQCAtMTk3LDEwICsxOTgsMTAgQEAgc3Vi
IHVzYWdlKCkKIAogc3ViIHJlcXVpcmVDbGVhbldvcmtUcmVlKCkKIHsKLSAgICBteSAkcmVzdWx0
ID0gc3lzdGVtICJnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgPiAvZGV2L251bGwiOwotICAg
ICRyZXN1bHQgfHw9IHN5c3RlbSBxdyhnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCk7Ci0gICAg
JHJlc3VsdCB8fD0gc3lzdGVtIHF3KGdpdCBkaWZmLWZpbGVzIC0tcXVpZXQpOwotICAgICRyZXN1
bHQgfHw9IHN5c3RlbSBxdyhnaXQgZGlmZi1pbmRleCAtLWNhY2hlZCAtLXF1aWV0IEhFQUQgLS0p
OworICAgIG15ICRyZXN1bHQgPSBzeXN0ZW0oImdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCA+
IC9kZXYvbnVsbCIpID4+IDg7CisgICAgJHJlc3VsdCB8fD0gc3lzdGVtKHF3KGdpdCB1cGRhdGUt
aW5kZXggLS1yZWZyZXNoKSkgPj4gODsKKyAgICAkcmVzdWx0IHx8PSBzeXN0ZW0ocXcoZ2l0IGRp
ZmYtZmlsZXMgLS1xdWlldCkpID4+IDg7CisgICAgJHJlc3VsdCB8fD0gc3lzdGVtKHF3KGdpdCBk
aWZmLWluZGV4IC0tY2FjaGVkIC0tcXVpZXQgSEVBRCAtLSkpID4+IDg7CiAgICAgISRyZXN1bHQg
b3IgZGllICJXb3JraW5nIHRyZWUgaXMgZGlydHkiCiB9CiAKQEAgLTIxNiw3ICsyMTcsNyBAQCBz
dWIgY2hlcnJ5UGljayhcJSkKICAgICBteSAoJGl0ZW0pID0gQF87CiAKICAgICBteSAkcmVzdWx0
ID0gc3lzdGVtICJnaXQgY2hlcnJ5LXBpY2sgLW4gJGl0ZW0tPntjb21taXR9ID4gL2Rldi9udWxs
IjsKLSAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGNoZXJyeS1waWNrICRp
dGVtLT57Y29tbWl0fSIpOworICAgICEoJHJlc3VsdCA+PiA4KSBvciByZXR1cm4gZmFpbCgiRmFp
bGVkIHRvIGNoZXJyeS1waWNrICRpdGVtLT57Y29tbWl0fSIpOwogCiAgICAgcmV0dXJuIDE7CiB9
CkBAIC0yNDMsNyArMjQ0LDcgQEAgc3ViIGNvbW1pdCg7JCkKICAgICBteSBAY29tbWFuZCA9IHF3
KGdpdCBjb21taXQgLUYgLmdpdC9NRVJHRV9NU0cpOwogICAgIHB1c2ggQGNvbW1hbmQsICItLWFt
ZW5kIiBpZiAkYW1lbmQ7CiAgICAgbXkgJHJlc3VsdCA9IHN5c3RlbSBAY29tbWFuZDsKLSAgICAh
JHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGNvbW1pdCByZXZpc2lvbiIpOworICAg
ICEoJHJlc3VsdCA+PiA4KSBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGNvbW1pdCByZXZpc2lv
biIpOwogCiAgICAgcmV0dXJuIDE7CiB9CkBAIC0yODUsMTEgKzI4NiwxMSBAQCBzdWIgYWRkUmV2
aWV3ZXJUb0ZpbGUKICAgICBjbG9zZSBMT0cgb3IgcmV0dXJuIGZhaWwoIkNvdWxkbid0IGNsb3Nl
ICRsb2ciKTsKIAogICAgIG15ICRyZXN1bHQgPSBzeXN0ZW0gIm12IiwgJHRlbXBGaWxlLT5maWxl
bmFtZSwgJGxvZzsKLSAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIHJlbmFt
ZSAkdGVtcEZpbGUgdG8gJGxvZyIpOworICAgICEoJHJlc3VsdCA+PiA4KSBvciByZXR1cm4gZmFp
bCgiRmFpbGVkIHRvIHJlbmFtZSAkdGVtcEZpbGUgdG8gJGxvZyIpOwogCiAgICAgdW5sZXNzICgk
aXNDb21taXRNZXNzYWdlKSB7CiAgICAgICAgIG15ICRyZXN1bHQgPSBzeXN0ZW0gImdpdCIsICJh
ZGQiLCAkbG9nOwotICAgICAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGdp
dCBhZGQiKTsKKyAgICAgICAgISgkcmVzdWx0ID4+IDgpIG9yIHJldHVybiBmYWlsKCJGYWlsZWQg
dG8gZ2l0IGFkZCIpOwogICAgIH0KIAogICAgIHJldHVybiAxOwpAQCAtMjk3LDcgKzI5OCw3IEBA
IHN1YiBhZGRSZXZpZXdlclRvRmlsZQogCiBzdWIgaGVhZCgpCiB7Ci0gICAgbXkgJGhlYWQgPSBg
Z2l0IHN5bWJvbGljLXJlZiBIRUFEYDsKKyAgICBteSAkaGVhZCA9IHJ1bkNvbW1hbmRXaXRoT3V0
cHV0KCdnaXQnLCAnc3ltYm9saWMtcmVmJywgJ0hFQUQnKTsKICAgICAkaGVhZCA9fiAvXnJlZnNc
L2hlYWRzXC8oLiopJC8gb3IgZGllICJDb3VsZG4ndCBkZXRlcm1pbmUgY3VycmVudCBicmFuY2gu
IjsKICAgICAkaGVhZCA9ICQxOwogCkBAIC0zMDgsNyArMzA5LDcgQEAgc3ViIGlzQW5jZXN0b3Io
JCQpCiB7CiAgICAgbXkgKCRhbmNlc3RvciwgJGRlc2NlbmRhbnQpID0gQF87CiAKLSAgICBjaG9t
cChteSAkbWVyZ2VCYXNlID0gYGdpdCBtZXJnZS1iYXNlICRhbmNlc3RvciAkZGVzY2VuZGFudGAp
OworICAgIGNob21wKG15ICRtZXJnZUJhc2UgPSBydW5Db21tYW5kV2l0aE91dHB1dCgnZ2l0Jywg
J21lcmdlLWJhc2UnLCAkYW5jZXN0b3IsICRkZXNjZW5kYW50KSk7CiAgICAgcmV0dXJuICRtZXJn
ZUJhc2UgZXEgJGFuY2VzdG9yOwogfQogCkBAIC0zMTYsNyArMzE3LDcgQEAgc3ViIHRvQ29tbWl0
KCQpCiB7CiAgICAgbXkgKCRhcmcpID0gQF87CiAKLSAgICBjaG9tcChteSAkY29tbWl0ID0gYGdp
dCByZXYtcGFyc2UgJGFyZ2ApOworICAgIGNob21wKG15ICRjb21taXQgPSBydW5Db21tYW5kV2l0
aE91dHB1dCgnZ2l0JywgJ3Jldi1wYXJzZScsICRhcmcpKTsKICAgICByZXR1cm4gJGNvbW1pdDsK
IH0KIApAQCAtMzI0LDcgKzMyNSw3IEBAIHN1YiBjaGFuZ2VMb2dzRm9yQ29tbWl0KCQpCiB7CiAg
ICAgbXkgKCRjb21taXQpID0gQF87CiAKLSAgICBteSBAZmlsZXMgPSBgZ2l0IGRpZmYgLXIgLS1u
YW1lLXN0YXR1cyAkY29tbWl0XiAkY29tbWl0YDsKKyAgICBteSBAZmlsZXMgPSBydW5Db21tYW5k
V2l0aE91dHB1dCgnZ2l0JywgJ2RpZmYnLCAnLXInLCAnLS1uYW1lLXN0YXR1cycsICIkY29tbWl0
XiIsICIkY29tbWl0Iik7CiAgICAgQGZpbGVzIG9yIHJldHVybiBmYWlsKCJDb3VsZG4ndCBkZXRl
cm1pbmUgY2hhbmdlZCBmaWxlcyBmb3IgJGNvbW1pdC4iKTsKIAogICAgIG15IEBjaGFuZ2VMb2dz
ID0gbWFwIHsgL15bQUNNUl1ccyooLiopLzsgJDEgfSBncmVwIHsgL15bQUNNUl0uKlteLV1DaGFu
Z2VMb2cvIH0gQGZpbGVzOwpAQCAtMzM2LDcgKzMzNyw3IEBAIHN1YiByZXNldFRvQ29tbWl0KCQp
CiAgICAgbXkgKCRjb21taXQpID0gQF87CiAKICAgICBteSAkcmVzdWx0ID0gc3lzdGVtICJnaXQi
LCAiY2hlY2tvdXQiLCAiLWYiLCAkY29tbWl0OwotICAgICEkcmVzdWx0IG9yIHJldHVybiBmYWls
KCJFcnJvciBjaGVja2luZyBvdXQgJGNvbW1pdC4iKTsKKyAgICAhKCRyZXN1bHQgPj4gOCkgb3Ig
cmV0dXJuIGZhaWwoIkVycm9yIGNoZWNraW5nIG91dCAkY29tbWl0LiIpOwogCiAgICAgcmV0dXJu
IDE7CiB9CkBAIC0zODEsNyArMzgyLDE3IEBAIHN1YiBnZXRDb25maWdWYWx1ZSgkKQogewogICAg
IG15ICgkdmFyaWFibGUpID0gQF87CiAKLSAgICBjaG9tcChteSAkdmFsdWUgPSBgZ2l0IGNvbmZp
ZyAtLWdldCAiJHZhcmlhYmxlImApOworICAgIGNob21wKG15ICR2YWx1ZSA9IHJ1bkNvbW1tYW5k
V2l0aE91dHB1dCgnZ2l0JywgJ2NvbmZpZycsICctLWdldCcsICR2YXJpYWJsZSkpOwogCiAgICAg
cmV0dXJuICR2YWx1ZTsKIH0KKworc3ViIHJ1bkNvbW1hbmRXaXRoT3V0cHV0IHsKKyAgICBteSAo
JG91dHB1dCwgJGlucHV0KTsKKworICAgIG15ICRwaWQgPSBvcGVuMigkb3V0cHV0LCAkaW5wdXQs
IEBfKTsKKworICAgIHdhaXRwaWQoJHBpZCwgMCk7CisKKyAgICByZXR1cm4gPCRvdXRwdXQ+Owor
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239549</attachid>
            <date>2014-10-09 10:48:47 -0700</date>
            <delta_ts>2014-10-09 14:05:07 -0700</delta_ts>
            <desc>Forgot to update ChangeLog</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6698</size>
            <attacher name="Dana Burkart">dburkart</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3NDUxMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE0LTEwLTA5ICBEYW5hIEJ1cmthcnQgIDxkYnVya2FydEBhcHBsZS5jb20+
CisKKyAgICAgICAgRG9uJ3QgdXNlIGJhY2t0aWNrcyB3aGVuIHJ1bm5pbmcgY29tbWFuZHMsIGFz
IHdlIHJ1biBpbnRvIHNoLXJlbGF0ZWQKKyAgICAgICAgaW50ZXJwb2xhdGlvbiBpc3N1ZXMuIEFs
c28sIGZpeCBvdXIgdXNhZ2Ugb2Ygc3lzdGVtKCkgdG8gcHJvcGVybHkKKyAgICAgICAgcmV0cmll
dmUgdGhlIHN0YXR1cyBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTM3NTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL2dpdC1hZGQtcmV2aWV3ZXI6CisgICAgICAgIChpbnRlcmFj
dGl2ZSk6CisgICAgICAgIChub25JbnRlcmFjdGl2ZSk6CisgICAgICAgIChyZXF1aXJlQ2xlYW5X
b3JrVHJlZSk6CisgICAgICAgIChjaGVycnlQaWNrKToKKyAgICAgICAgKGNvbW1pdCk6CisgICAg
ICAgIChhZGRSZXZpZXdlclRvRmlsZSk6CisgICAgICAgIChoZWFkKToKKyAgICAgICAgKGlzQW5j
ZXN0b3IpOgorICAgICAgICAodG9Db21taXQpOgorICAgICAgICAoY2hhbmdlTG9nc0ZvckNvbW1p
dCk6CisgICAgICAgIChyZXNldFRvQ29tbWl0KToKKyAgICAgICAgKGdldENvbmZpZ1ZhbHVlKToK
KyAgICAgICAgKHJ1bkNvbW1hbmRXaXRoT3V0cHV0KToKKwogMjAxNC0xMC0wOCAgSmFrZSBOaWVs
c2VuICA8amFjb2JfbmllbHNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3R5bGVRdWV1ZSBzaG91
bGQgdGhyb3cgYSBQYXRjaElzTm90VmFsaWQgZXhjZXB0aW9uIHRvIGFjaGlldmUKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvZ2l0LWFkZC1yZXZpZXdlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L2dpdC1hZGQtcmV2aWV3ZXIJKHJldmlzaW9uIDE3MzIxMCkKKysrIFRvb2xzL1NjcmlwdHMvZ2l0
LWFkZC1yZXZpZXdlcgkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQCB1c2UgRmlsZTo6
QmFzZW5hbWU7CiB1c2UgRmlsZTo6VGVtcCAoKTsKIHVzZSBHZXRvcHQ6Okxvbmc7CiB1c2UgUE9T
SVg7Cit1c2UgSVBDOjpPcGVuMjsKIAogbXkgJGRlZmF1bHRSZXZpZXdlciA9ICJOT0JPRFkiOwog
CkBAIC05NSw3ICs5Niw3IEBAIHN1YiBpbnRlcmFjdGl2ZSgpCiAKICAgICBpc0FuY2VzdG9yKCR1
cHN0cmVhbSwgJGhlYWQpIG9yIGRpZSAiJEFSR1ZbMF0gaXMgbm90IGFuIGFuY2VzdG9yIG9mIEhF
QUQuIjsKIAotICAgIG15IEByZXZsaXN0ID0gYGdpdCByZXYtbGlzdCAtLXJldmVyc2UgLS1wcmV0
dHk9b25lbGluZSAkdXBzdHJlYW0uLmA7CisgICAgbXkgQHJldmxpc3QgPSBydW5Db21tYW5kV2l0
aE91dHB1dCgnZ2l0JywgJ3Jldi1saXN0JywgJy0tcmV2ZXJzZScsICctLXByZXR0eT1vbmVsaW5l
JywgIiR1cHN0cmVhbS4uIik7CiAgICAgQHJldmxpc3Qgb3IgZGllICJDb3VsZG4ndCBkZXRlcm1p
bmUgcmV2aXNpb25zIjsKIAogICAgIG15ICR0ZW1wRmlsZSA9IG5ldyBGaWxlOjpUZW1wKFVOTElO
SyA9PiAxKTsKQEAgLTExOSw3ICsxMjAsNyBAQCBFT0YKIAogICAgIG15ICRlZGl0b3IgPSAkRU5W
e0dJVF9FRElUT1J9IHx8IGdldENvbmZpZ1ZhbHVlKCJjb3JlLmVkaXRvciIpIHx8ICRFTlZ7VklT
VUFMfSB8fCAkRU5We0VESVRPUn0gfHwgInZpIjsKICAgICBteSAkcmVzdWx0ID0gc3lzdGVtICIk
ZWRpdG9yIFwiIiAuICR0ZW1wRmlsZS0+ZmlsZW5hbWUgLiAiXCIiOwotICAgICEkcmVzdWx0IG9y
IGRpZSAiRXJyb3Igc3Bhd25pbmcgZWRpdG9yLiI7CisgICAgISgkcmVzdWx0ID4+IDgpIG9yIGRp
ZSAiRXJyb3Igc3Bhd25pbmcgZWRpdG9yLiI7CiAKICAgICBteSBAdG9kbyA9ICgpOwogICAgIG9w
ZW4gVEVNUEZJTEUsICc8JywgJHRlbXBGaWxlLT5maWxlbmFtZSBvciBkaWUgIkVycm9yIG9wZW5p
bmcgdGVtcCBmaWxlLiI7CkBAIC0xMzYsNyArMTM3LDcgQEAgRU9GCiAgICAgfQogCiAgICAgJHJl
c3VsdCA9IHN5c3RlbSAiZ2l0IiwgImNoZWNrb3V0IiwgJHVwc3RyZWFtOwotICAgICEkcmVzdWx0
IG9yIGRpZSAiRXJyb3IgY2hlY2tpbmcgb3V0ICRBUkdWWzBdLiI7CisgICAgISgkcmVzdWx0ID4+
IDgpIG9yIGRpZSAiRXJyb3IgY2hlY2tpbmcgb3V0ICRBUkdWWzBdLiI7CiAKICAgICBteSAkc3Vj
Y2VzcyA9IDE7CiAgICAgZm9yZWFjaCBteSAkaXRlbSAoQHRvZG8pIHsKQEAgLTE1NCw5ICsxNTUs
OSBAQCBFT0YKICAgICB9CiAKICAgICAkcmVzdWx0ID0gc3lzdGVtICJnaXQiLCAiYnJhbmNoIiwg
Ii1mIiwgJGhlYWQ7Ci0gICAgISRyZXN1bHQgb3IgZGllICJFcnJvciB1cGRhdGluZyAkaGVhZC4i
OworICAgICEoJHJlc3VsdCA+PiA4KSBvciBkaWUgIkVycm9yIHVwZGF0aW5nICRoZWFkLiI7CiAg
ICAgJHJlc3VsdCA9IHN5c3RlbSAiZ2l0IiwgImNoZWNrb3V0IiwgJGhlYWQ7Ci0gICAgZXhpdCBX
RVhJVFNUQVRVUygkcmVzdWx0KTsKKyAgICBleGl0IFdFWElUU1RBVFVTKCRyZXN1bHQgPj4gOCk7
CiB9CiAKIHN1YiBub25JbnRlcmFjdGl2ZSgpCkBAIC0xNjgsNyArMTY5LDcgQEAgc3ViIG5vbklu
dGVyYWN0aXZlKCkKICAgICBteSAkaGVhZCA9IGhlYWQoKTsKICAgICBteSAkaGVhZENvbW1pdCA9
IHRvQ29tbWl0KCRoZWFkKTsKIAotICAgIGlzQW5jZXN0b3IoJGNvbW1pdCwgJGhlYWQpIG9yIGRp
ZSAiJEFSR1ZbMV0gaXMgbm90IGFuIGFuY2VzdG9yIG9mIEhFQUQuIjsKKyAgICBpc0FuY2VzdG9y
KCRjb21taXQsICRoZWFkKSBvciBkaWUgIiRBUkdWWzBdIGlzIG5vdCBhbiBhbmNlc3RvciBvZiBI
RUFELiI7CiAKICAgICBteSAlaXRlbSA9ICgKICAgICAgICAgcmV2aWV3ZXIgPT4gJHJldmlld2Vy
LApAQCAtMTk3LDEwICsxOTgsMTAgQEAgc3ViIHVzYWdlKCkKIAogc3ViIHJlcXVpcmVDbGVhbldv
cmtUcmVlKCkKIHsKLSAgICBteSAkcmVzdWx0ID0gc3lzdGVtICJnaXQgcmV2LXBhcnNlIC0tdmVy
aWZ5IEhFQUQgPiAvZGV2L251bGwiOwotICAgICRyZXN1bHQgfHw9IHN5c3RlbSBxdyhnaXQgdXBk
YXRlLWluZGV4IC0tcmVmcmVzaCk7Ci0gICAgJHJlc3VsdCB8fD0gc3lzdGVtIHF3KGdpdCBkaWZm
LWZpbGVzIC0tcXVpZXQpOwotICAgICRyZXN1bHQgfHw9IHN5c3RlbSBxdyhnaXQgZGlmZi1pbmRl
eCAtLWNhY2hlZCAtLXF1aWV0IEhFQUQgLS0pOworICAgIG15ICRyZXN1bHQgPSBzeXN0ZW0oImdp
dCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCA+IC9kZXYvbnVsbCIpID4+IDg7CisgICAgJHJlc3Vs
dCB8fD0gc3lzdGVtKHF3KGdpdCB1cGRhdGUtaW5kZXggLS1yZWZyZXNoKSkgPj4gODsKKyAgICAk
cmVzdWx0IHx8PSBzeXN0ZW0ocXcoZ2l0IGRpZmYtZmlsZXMgLS1xdWlldCkpID4+IDg7CisgICAg
JHJlc3VsdCB8fD0gc3lzdGVtKHF3KGdpdCBkaWZmLWluZGV4IC0tY2FjaGVkIC0tcXVpZXQgSEVB
RCAtLSkpID4+IDg7CiAgICAgISRyZXN1bHQgb3IgZGllICJXb3JraW5nIHRyZWUgaXMgZGlydHki
CiB9CiAKQEAgLTIxNiw3ICsyMTcsNyBAQCBzdWIgY2hlcnJ5UGljayhcJSkKICAgICBteSAoJGl0
ZW0pID0gQF87CiAKICAgICBteSAkcmVzdWx0ID0gc3lzdGVtICJnaXQgY2hlcnJ5LXBpY2sgLW4g
JGl0ZW0tPntjb21taXR9ID4gL2Rldi9udWxsIjsKLSAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFp
bCgiRmFpbGVkIHRvIGNoZXJyeS1waWNrICRpdGVtLT57Y29tbWl0fSIpOworICAgICEoJHJlc3Vs
dCA+PiA4KSBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGNoZXJyeS1waWNrICRpdGVtLT57Y29t
bWl0fSIpOwogCiAgICAgcmV0dXJuIDE7CiB9CkBAIC0yNDMsNyArMjQ0LDcgQEAgc3ViIGNvbW1p
dCg7JCkKICAgICBteSBAY29tbWFuZCA9IHF3KGdpdCBjb21taXQgLUYgLmdpdC9NRVJHRV9NU0cp
OwogICAgIHB1c2ggQGNvbW1hbmQsICItLWFtZW5kIiBpZiAkYW1lbmQ7CiAgICAgbXkgJHJlc3Vs
dCA9IHN5c3RlbSBAY29tbWFuZDsKLSAgICAhJHJlc3VsdCBvciByZXR1cm4gZmFpbCgiRmFpbGVk
IHRvIGNvbW1pdCByZXZpc2lvbiIpOworICAgICEoJHJlc3VsdCA+PiA4KSBvciByZXR1cm4gZmFp
bCgiRmFpbGVkIHRvIGNvbW1pdCByZXZpc2lvbiIpOwogCiAgICAgcmV0dXJuIDE7CiB9CkBAIC0y
ODUsMTEgKzI4NiwxMSBAQCBzdWIgYWRkUmV2aWV3ZXJUb0ZpbGUKICAgICBjbG9zZSBMT0cgb3Ig
cmV0dXJuIGZhaWwoIkNvdWxkbid0IGNsb3NlICRsb2ciKTsKIAogICAgIG15ICRyZXN1bHQgPSBz
eXN0ZW0gIm12IiwgJHRlbXBGaWxlLT5maWxlbmFtZSwgJGxvZzsKLSAgICAhJHJlc3VsdCBvciBy
ZXR1cm4gZmFpbCgiRmFpbGVkIHRvIHJlbmFtZSAkdGVtcEZpbGUgdG8gJGxvZyIpOworICAgICEo
JHJlc3VsdCA+PiA4KSBvciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIHJlbmFtZSAkdGVtcEZpbGUg
dG8gJGxvZyIpOwogCiAgICAgdW5sZXNzICgkaXNDb21taXRNZXNzYWdlKSB7CiAgICAgICAgIG15
ICRyZXN1bHQgPSBzeXN0ZW0gImdpdCIsICJhZGQiLCAkbG9nOwotICAgICAgICAhJHJlc3VsdCBv
ciByZXR1cm4gZmFpbCgiRmFpbGVkIHRvIGdpdCBhZGQiKTsKKyAgICAgICAgISgkcmVzdWx0ID4+
IDgpIG9yIHJldHVybiBmYWlsKCJGYWlsZWQgdG8gZ2l0IGFkZCIpOwogICAgIH0KIAogICAgIHJl
dHVybiAxOwpAQCAtMjk3LDcgKzI5OCw3IEBAIHN1YiBhZGRSZXZpZXdlclRvRmlsZQogCiBzdWIg
aGVhZCgpCiB7Ci0gICAgbXkgJGhlYWQgPSBgZ2l0IHN5bWJvbGljLXJlZiBIRUFEYDsKKyAgICBt
eSAkaGVhZCA9IHJ1bkNvbW1hbmRXaXRoT3V0cHV0KCdnaXQnLCAnc3ltYm9saWMtcmVmJywgJ0hF
QUQnKTsKICAgICAkaGVhZCA9fiAvXnJlZnNcL2hlYWRzXC8oLiopJC8gb3IgZGllICJDb3VsZG4n
dCBkZXRlcm1pbmUgY3VycmVudCBicmFuY2guIjsKICAgICAkaGVhZCA9ICQxOwogCkBAIC0zMDgs
NyArMzA5LDcgQEAgc3ViIGlzQW5jZXN0b3IoJCQpCiB7CiAgICAgbXkgKCRhbmNlc3RvciwgJGRl
c2NlbmRhbnQpID0gQF87CiAKLSAgICBjaG9tcChteSAkbWVyZ2VCYXNlID0gYGdpdCBtZXJnZS1i
YXNlICRhbmNlc3RvciAkZGVzY2VuZGFudGApOworICAgIGNob21wKG15ICRtZXJnZUJhc2UgPSBy
dW5Db21tYW5kV2l0aE91dHB1dCgnZ2l0JywgJ21lcmdlLWJhc2UnLCAkYW5jZXN0b3IsICRkZXNj
ZW5kYW50KSk7CiAgICAgcmV0dXJuICRtZXJnZUJhc2UgZXEgJGFuY2VzdG9yOwogfQogCkBAIC0z
MTYsNyArMzE3LDcgQEAgc3ViIHRvQ29tbWl0KCQpCiB7CiAgICAgbXkgKCRhcmcpID0gQF87CiAK
LSAgICBjaG9tcChteSAkY29tbWl0ID0gYGdpdCByZXYtcGFyc2UgJGFyZ2ApOworICAgIGNob21w
KG15ICRjb21taXQgPSBydW5Db21tYW5kV2l0aE91dHB1dCgnZ2l0JywgJ3Jldi1wYXJzZScsICRh
cmcpKTsKICAgICByZXR1cm4gJGNvbW1pdDsKIH0KIApAQCAtMzI0LDcgKzMyNSw3IEBAIHN1YiBj
aGFuZ2VMb2dzRm9yQ29tbWl0KCQpCiB7CiAgICAgbXkgKCRjb21taXQpID0gQF87CiAKLSAgICBt
eSBAZmlsZXMgPSBgZ2l0IGRpZmYgLXIgLS1uYW1lLXN0YXR1cyAkY29tbWl0XiAkY29tbWl0YDsK
KyAgICBteSBAZmlsZXMgPSBydW5Db21tYW5kV2l0aE91dHB1dCgnZ2l0JywgJ2RpZmYnLCAnLXIn
LCAnLS1uYW1lLXN0YXR1cycsICIkY29tbWl0XiIsICIkY29tbWl0Iik7CiAgICAgQGZpbGVzIG9y
IHJldHVybiBmYWlsKCJDb3VsZG4ndCBkZXRlcm1pbmUgY2hhbmdlZCBmaWxlcyBmb3IgJGNvbW1p
dC4iKTsKIAogICAgIG15IEBjaGFuZ2VMb2dzID0gbWFwIHsgL15bQUNNUl1ccyooLiopLzsgJDEg
fSBncmVwIHsgL15bQUNNUl0uKlteLV1DaGFuZ2VMb2cvIH0gQGZpbGVzOwpAQCAtMzM2LDcgKzMz
Nyw3IEBAIHN1YiByZXNldFRvQ29tbWl0KCQpCiAgICAgbXkgKCRjb21taXQpID0gQF87CiAKICAg
ICBteSAkcmVzdWx0ID0gc3lzdGVtICJnaXQiLCAiY2hlY2tvdXQiLCAiLWYiLCAkY29tbWl0Owot
ICAgICEkcmVzdWx0IG9yIHJldHVybiBmYWlsKCJFcnJvciBjaGVja2luZyBvdXQgJGNvbW1pdC4i
KTsKKyAgICAhKCRyZXN1bHQgPj4gOCkgb3IgcmV0dXJuIGZhaWwoIkVycm9yIGNoZWNraW5nIG91
dCAkY29tbWl0LiIpOwogCiAgICAgcmV0dXJuIDE7CiB9CkBAIC0zODEsNyArMzgyLDE3IEBAIHN1
YiBnZXRDb25maWdWYWx1ZSgkKQogewogICAgIG15ICgkdmFyaWFibGUpID0gQF87CiAKLSAgICBj
aG9tcChteSAkdmFsdWUgPSBgZ2l0IGNvbmZpZyAtLWdldCAiJHZhcmlhYmxlImApOworICAgIGNo
b21wKG15ICR2YWx1ZSA9IHJ1bkNvbW1tYW5kV2l0aE91dHB1dCgnZ2l0JywgJ2NvbmZpZycsICct
LWdldCcsICR2YXJpYWJsZSkpOwogCiAgICAgcmV0dXJuICR2YWx1ZTsKIH0KKworc3ViIHJ1bkNv
bW1hbmRXaXRoT3V0cHV0IHsKKyAgICBteSAoJG91dHB1dCwgJGlucHV0KTsKKworICAgIG15ICRw
aWQgPSBvcGVuMigkb3V0cHV0LCAkaW5wdXQsIEBfKTsKKworICAgIHdhaXRwaWQoJHBpZCwgMCk7
CisKKyAgICByZXR1cm4gPCRvdXRwdXQ+OworfQo=
</data>
<flag name="review"
          id="264277"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>