<?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>102328</bug_id>
          
          <creation_ts>2012-11-14 21:34:03 -0800</creation_ts>
          <short_desc>MutationObserver wrapper should not be collected while still observing</short_desc>
          <delta_ts>2012-11-19 18:17:17 -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>102701</dependson>
          <blocked>93661</blocked>
    
    <blocked>102555</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767692</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-14 21:34:03 -0800</bug_when>
    <thetext>MutationObserver wrapper should not be collected while still observing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767696</commentid>
    <comment_count>1</comment_count>
      <attachid>174338</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-14 21:36:23 -0800</bug_when>
    <thetext>Created attachment 174338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767710</commentid>
    <comment_count>2</comment_count>
      <attachid>174338</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-14 21:49:12 -0800</bug_when>
    <thetext>Comment on attachment 174338
Patch

Attachment 174338 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14834626</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767713</commentid>
    <comment_count>3</comment_count>
      <attachid>174338</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-14 21:51:53 -0800</bug_when>
    <thetext>Comment on attachment 174338
Patch

Attachment 174338 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14847258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767722</commentid>
    <comment_count>4</comment_count>
      <attachid>174338</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-14 22:10:50 -0800</bug_when>
    <thetext>Comment on attachment 174338
Patch

Attachment 174338 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14831650</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767730</commentid>
    <comment_count>5</comment_count>
      <attachid>174350</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-14 22:26:04 -0800</bug_when>
    <thetext>Created attachment 174350
Patch

Woops, deleted too many lines from the JSC code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768254</commentid>
    <comment_count>6</comment_count>
      <attachid>174350</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-15 10:23:47 -0800</bug_when>
    <thetext>Comment on attachment 174350
Patch

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

&gt; Source/WebCore/dom/MutationObserver.cpp:60
&gt; -PassRefPtr&lt;MutationObserver&gt; MutationObserver::create(PassRefPtr&lt;MutationCallback&gt; callback)
&gt; +PassRefPtr&lt;MutationObserver&gt; MutationObserver::create(PassRefPtr&lt;MutationCallback&gt; callback, ScriptExecutionContext* context)

Don&apos;t we usually pass the ScriptExecutionContext as the first argument?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768265</commentid>
    <comment_count>7</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-15 10:30:43 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 174350 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174350&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/MutationObserver.cpp:60
&gt; &gt; -PassRefPtr&lt;MutationObserver&gt; MutationObserver::create(PassRefPtr&lt;MutationCallback&gt; callback)
&gt; &gt; +PassRefPtr&lt;MutationObserver&gt; MutationObserver::create(PassRefPtr&lt;MutationCallback&gt; callback, ScriptExecutionContext* context)
&gt; 
&gt; Don&apos;t we usually pass the ScriptExecutionContext as the first argument?

Yeah we&apos;ve talked about this before. The code generator passes it as the last one (ex. V8MutationCallback::create), but humans pass it first like XMLHttpRequest. We should fix the code generator so code isn&apos;t weird like in V8MutationObserverCustom having two create() calls with a different order.

I&apos;ll change this to match XMLHttpRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768271</commentid>
    <comment_count>8</comment_count>
      <attachid>174483</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-15 10:34:47 -0800</bug_when>
    <thetext>Created attachment 174483
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768296</commentid>
    <comment_count>9</comment_count>
      <attachid>174483</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-15 10:49:18 -0800</bug_when>
    <thetext>Comment on attachment 174483
Patch for landing

Silly code generator.  Trix are for kids.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768388</commentid>
    <comment_count>10</comment_count>
      <attachid>174483</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 12:35:03 -0800</bug_when>
    <thetext>Comment on attachment 174483
Patch for landing

Rejecting attachment 174483 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
commit-queue/Source/WebKit/chromium/third_party/v8-i18n --revision 157 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
50&gt;At revision 157.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/14843700</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768447</commentid>
    <comment_count>11</comment_count>
      <attachid>174483</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 13:48:37 -0800</bug_when>
    <thetext>Comment on attachment 174483
Patch for landing

Clearing flags on attachment: 174483

Committed r134830: &lt;http://trac.webkit.org/changeset/134830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768448</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 13:48:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770909</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 11:59:36 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 102701</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770917</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-11-19 12:03:52 -0800</bug_when>
    <thetext>In offline discussion, abarth suggested an alternate approach using opaque roots: put each MutationObserver wrapper in the same object group(s) as the Nodes it&apos;s observing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770975</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 13:02:25 -0800</bug_when>
    <thetext>In particular, we can&apos;t use ActiveDOMObject because MutationObservers need to work with Frameless documents, like those created by XMLHttpRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771223</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-11-19 16:56:37 -0800</bug_when>
    <thetext>I tried to do this with implicit references and ran into flakiness. Opaque roots seem to work great, patch coming...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771226</commentid>
    <comment_count>17</comment_count>
      <attachid>175083</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-11-19 16:59:51 -0800</bug_when>
    <thetext>Created attachment 175083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771231</commentid>
    <comment_count>18</comment_count>
      <attachid>175083</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-19 17:03:32 -0800</bug_when>
    <thetext>Comment on attachment 175083
Patch

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

Nice!

&gt; Source/WebCore/dom/MutationObserverRegistration.cpp:130
&gt; +    if (m_transientRegistrationNodes) {

Early return is usually nicer than indenting everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771234</commentid>
    <comment_count>19</comment_count>
      <attachid>175083</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-19 17:08:34 -0800</bug_when>
    <thetext>Comment on attachment 175083
Patch

This looks good.  Do we need to skip these tests for JSC while we work on a fix for the JSC bindings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771249</commentid>
    <comment_count>20</comment_count>
      <attachid>175088</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-11-19 17:19:25 -0800</bug_when>
    <thetext>Created attachment 175088
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771250</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-11-19 17:19:47 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 175083 [details])
&gt; This looks good.  Do we need to skip these tests for JSC while we work on a fix for the JSC bindings?

Skipped in all non-chromium ports with a pointer to bug 102744.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771345</commentid>
    <comment_count>22</comment_count>
      <attachid>175088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 18:17:12 -0800</bug_when>
    <thetext>Comment on attachment 175088
Patch for landing

Clearing flags on attachment: 175088

Committed r135228: &lt;http://trac.webkit.org/changeset/135228&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771346</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-19 18:17:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174338</attachid>
            <date>2012-11-14 21:36:23 -0800</date>
            <delta_ts>2012-11-14 22:26:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102328-20121114213420.patch</filename>
            <type>text/plain</type>
            <size>10131</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDNhOWVhMDQ5MWZlYmFh
Mzk4ODI1YzRjYTU5M2M1MDRjYTMyMTBmNC4uOWEyNGMwNzA0MzMyN2M2Njg2MDJiYTRjYTdlOWRj
M2EwNjhiMmFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTE0ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE11dGF0aW9uT2Jz
ZXJ2ZXIgd3JhcHBlciBzaG91bGQgbm90IGJlIGNvbGxlY3RlZCB3aGlsZSBzdGlsbCBvYnNlcnZp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
TXV0YXRpb25PYnNlcnZlciBhbiBBY3RpdmVET01PYmplY3Qgc28gdGhhdCB0aGUgd3JhcHBlciBp
cyBub3QKKyAgICAgICAgY29sbGVjdGVkIHdoaWxlIGl0IGlzIHN0aWxsIG9ic2VydmluZyB0aGUg
RE9NLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlCisgICAgICAgIHRoZSB3cmFwcGVyIGlzIHBhc3Nl
ZCBpbnRvIHRoZSBjYWxsYmFjayBhbmQgZXhwYW5kb3Mgb24gdGhlIHdyYXBwZXIKKyAgICAgICAg
c2hvdWxkIGJlIHByZXNlcnZlZC4KKworICAgICAgICBUZXN0OiBmYXN0L211dGF0aW9uL29ic2Vy
dmVyLXdyYXBwZXItZHJvcG9mZi5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU011dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNNdXRhdGlvbk9ic2Vy
dmVyQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTTXV0YXRpb25PYnNlcnZlcik6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAg
ICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVy
OjpNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXI6
Om9ic2VydmF0aW9uU3RhcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVy
OjpvYnNlcnZhdGlvbkVuZGVkKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsOgor
CiAyMDEyLTExLTE0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbVjhdIEtpbGwgJGltcGxDbGFzc05hbWUgZnJvbSBDb2RlR2VuZXJhdG9yVjgucG0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uT2JzZXJ2ZXJD
dXN0b20uY3BwCmluZGV4IGFiNTU2MGQ4MGNjOTdjNDMwMWM3ZjUwYWUxNDA4NDE3ZmUwY2IwYjIu
LjU3MTFiOGY4MTc0Y2VhYjQzNTVkNGU5NGY2ZDcwZDA3ZjcwOGM4MDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNw
cApAQCAtNTMsOSArNTMsMTEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU011dGF0
aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNNdXRhdGlvbk8KICAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICB9CiAKLSAgICBKU011dGF0
aW9uT2JzZXJ2ZXJDb25zdHJ1Y3RvcioganNDb25zdHJ1Y3RvciA9IGpzQ2FzdDxKU011dGF0aW9u
T2JzZXJ2ZXJDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgpKTsKLSAgICBSZWZQdHI8TXV0YXRp
b25DYWxsYmFjaz4gY2FsbGJhY2sgPSBKU011dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3Qs
IGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGFzT2JqZWN0KHRvSlMoZXhlYywganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCksIE11
dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpKSkpOworICAgIFJlZlB0
cjxKU011dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gSlNNdXRhdGlvbkNhbGxiYWNrOjpjcmVh
dGUob2JqZWN0LCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKSk7CisgICAgUmVmUHRyPE11
dGF0aW9uT2JzZXJ2ZXI+IG9ic2VydmVyID0gTXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKGNhbGxi
YWNrLCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKTsKKyAgICBKU09iamVjdCogd3JhcHBlciA9IGFzT2JqZWN0KHRvSlMoZXhlYywganNDb25z
dHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCksIG9ic2VydmVyLnJlbGVhc2UoKSkpOworCisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh3cmFwcGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRp
b25PYnNlcnZlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcAppbmRleCBmODBjZTU5OGE5NzJhY2I3ZDVmYzJm
MzQ5OTY4ZjRiOWVhOGYyYmY2Li41ZTdhZWRhMTBlNjVkNGViODkxYzAyZWY1NzAwYzFhMjlhMWZh
YmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNdXRh
dGlvbk9ic2VydmVyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApAQCAtNjMsNyArNjMsNyBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhNdXRhdGlvbk9ic2VydmVyOjpjb25zdHJ1Y3RvckNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudAogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQg
PSBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAKICAgICBSZWZQdHI8TXV0YXRpb25DYWxs
YmFjaz4gY2FsbGJhY2sgPSBWOE11dGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShhcmcsIGNvbnRleHQp
OwotICAgIFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IE11dGF0aW9uT2JzZXJ2
ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNlKCkpOworICAgIFJlZlB0cjxNdXRhdGlvbk9ic2Vy
dmVyPiBvYnNlcnZlciA9IE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShjYWxsYmFjay5yZWxlYXNl
KCksIGNvbnRleHQpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gYXJn
cy5Ib2xkZXIoKTsKICAgICBWOERPTVdyYXBwZXI6OmNyZWF0ZURPTVdyYXBwZXIob2JzZXJ2ZXIu
cmVsZWFzZSgpLCAmaW5mbywgd3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTXV0YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNl
cnZlci5jcHAKaW5kZXggMGMyMTBmYTQ2YmFkYTY5MjYzYzRjYThiMDFkOTI1YmNmODlhMzRkOS4u
YjhjMGI5MjQ4MDZlNjI4NjJlZDY2ZTcwMjA0NWQwMWU3ZGQ2NzJjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvbk9ic2VydmVyLmNwcApAQCAtNTcsMTQgKzU3LDE3IEBAIHN0cnVjdCBNdXRh
dGlvbk9ic2VydmVyOjpPYnNlcnZlckxlc3NUaGFuIHsKICAgICB9CiB9OwogCi1QYXNzUmVmUHRy
PE11dGF0aW9uT2JzZXJ2ZXI+IE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShQYXNzUmVmUHRyPE11
dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBN
dXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxs
YmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTXV0YXRpb25PYnNlcnZlcihj
YWxsYmFjaykpOworICAgIFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IGFkb3B0
UmVmKG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrLCBjb250ZXh0KSk7CisgICAgb2JzZXJ2
ZXItPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBvYnNlcnZlci5yZWxlYXNlKCk7CiB9
CiAKLU11dGF0aW9uT2JzZXJ2ZXI6Ok11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlv
bkNhbGxiYWNrPiBjYWxsYmFjaykKLSAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCitNdXRhdGlv
bk9ic2VydmVyOjpNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4g
Y2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBBY3RpdmVE
T01PYmplY3QoY29udGV4dCwgdGhpcykKKyAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spCiAgICAg
LCBtX3ByaW9yaXR5KHNfb2JzZXJ2ZXJQcmlvcml0eSsrKQogewogfQpAQCAtMTM4LDEyICsxNDEs
MTQgQEAgdm9pZCBNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZhdGlvblN0YXJ0ZWQoTXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbiogcmVnaXN0cmEKIHsKICAgICBBU1NFUlQoIW1fcmVnaXN0cmF0
aW9ucy5jb250YWlucyhyZWdpc3RyYXRpb24pKTsKICAgICBtX3JlZ2lzdHJhdGlvbnMuYWRkKHJl
Z2lzdHJhdGlvbik7CisgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogfQogCiB2b2lkIE11
dGF0aW9uT2JzZXJ2ZXI6Om9ic2VydmF0aW9uRW5kZWQoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbiogcmVnaXN0cmF0aW9uKQogewogICAgIEFTU0VSVChtX3JlZ2lzdHJhdGlvbnMuY29udGFp
bnMocmVnaXN0cmF0aW9uKSk7CiAgICAgbV9yZWdpc3RyYXRpb25zLnJlbW92ZShyZWdpc3RyYXRp
b24pOworICAgIHVuc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogfQogCiB0eXBlZGVmIEhhc2hT
ZXQ8UmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+ID4gTXV0YXRpb25PYnNlcnZlclNldDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5oCmluZGV4IGZhZGIzNzhkMWVmZGViZDFjYmNlMzI0
N2VkOWY5ZmIxMDM3NzM0MDEuLjA1YWI3ZWYzYzkxNWY5OGFkMWMwYmIzNDgyM2MzY2FjMzliODUz
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaApAQCAtMzMsNiArMzMsNyBA
QAogCiAjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKIAorI2luY2x1ZGUgIkFjdGl2ZURP
TU9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNDgsMTMgKzQ5LDE0IEBAIGNs
YXNzIE11dGF0aW9uQ2FsbGJhY2s7CiBjbGFzcyBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
OwogY2xhc3MgTXV0YXRpb25SZWNvcmQ7CiBjbGFzcyBOb2RlOworY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIAogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogdHlwZWRlZiB1bnNp
Z25lZCBjaGFyIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zOwogdHlwZWRlZiB1bnNpZ25lZCBjaGFy
IE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zOwogCi1jbGFzcyBNdXRhdGlvbk9ic2VydmVy
IDogcHVibGljIFJlZkNvdW50ZWQ8TXV0YXRpb25PYnNlcnZlcj4geworY2xhc3MgTXV0YXRpb25P
YnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2JzZXJ2ZXI+LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKICAgICBlbnVtIE11dGF0aW9uVHlwZSB7CiAgICAgICAg
IENoaWxkTGlzdCA9IDEgPDwgMCwKQEAgLTc0LDEwICs3NiwxMCBAQCBwdWJsaWM6CiAgICAgICAg
IENoYXJhY3RlckRhdGFPbGRWYWx1ZSA9IDEgPDwgNiwKICAgICB9OwogCi0gICAgc3RhdGljIFBh
c3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gY3JlYXRlKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxs
YmFjaz4pOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQ
YXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAg
ICAgc3RhdGljIHZvaWQgZGVsaXZlckFsbE11dGF0aW9ucygpOwogCi0gICAgfk11dGF0aW9uT2Jz
ZXJ2ZXIoKTsKKyAgICB2aXJ0dWFsIH5NdXRhdGlvbk9ic2VydmVyKCk7CiAKICAgICB2b2lkIG9i
c2VydmUoTm9kZSosIGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJik7CiAgICAgVmVj
dG9yPFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiB0YWtlUmVjb3JkcygpOwpAQCAtOTAsNyArOTIs
NyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0cnVjdCBPYnNlcnZlckxlc3NUaGFuOwogCi0g
ICAgZXhwbGljaXQgTXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+
KTsKKyAgICBNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICB2b2lkIGRlbGl2ZXIoKTsKIAogICAgIHN0YXRp
YyBib29sIHZhbGlkYXRlT3B0aW9ucyhNdXRhdGlvbk9ic2VydmVyT3B0aW9ucyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5pZGwKaW5kZXggMTE3NGYyOWVhZmMwZDE2N2Q5ZGU2
NzA3NWU5ZDBmYzZjNjJiNzJhNi4uMjg2ZTA2MzFiZTdiMDNjMDJiYjJiYmViMDhmYzA4Yjg1NDQx
MTQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbApAQCAtMjksNiAr
MjksNyBAQAogICovCiAKIFsKKyAgICBBY3RpdmVET01PYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9
TVVUQVRJT05fT0JTRVJWRVJTLAogICAgIEN1c3RvbUNvbnN0cnVjdG9yLAogICAgIENvbnN0cnVj
dG9yUGFyYW1ldGVycz0xCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTVkMWQzMDE3MGRiZTE5YmQzM2JiMzBlM2IxMjc0MjMw
ZDZiOGNmZi4uMDJjYjg3MDhlY2Q0MmQ1MGY3MDc5MTljMWIwMmI5OTJiMWFlOTk2NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEyLTExLTE0ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXIgd3JhcHBlciBzaG91bGQgbm90
IGJlIGNvbGxlY3RlZCB3aGlsZSBzdGlsbCBvYnNlcnZpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhhdCBhIE11dGF0aW9uT2JzZXJ2ZXIg
d3JhcHBlciBpcyBub3QgY29sbGVjdGVkIHdoaWxlIHRoZSBvYnNlcnZlcgorICAgICAgICBpcyBz
dGlsbCBvYnNlcnZpbmcgc2luY2UgdGhlIHdyYXBwZXIgbXVzdCBiZSBwYXNzZWQgaW50byB0aGUg
Y2FsbGJhY2sKKyAgICAgICAgbGF0ZXIuCisKKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2Vy
dmVyLXdyYXBwZXItZHJvcG9mZi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
bXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEx
LTE0ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB0
ZXN0cyBmb3Igd2VlayBwaWNrZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRp
b24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jOGMwZjJlOWRjYzY0MTY1ZGQ4MmE3ZDEyNGM1ZjMyOWVjM2JlOTNjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3Bv
ZmYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK011dGF0aW9uT2JzZXJ2ZXIgd3JhcHBl
cnMgc2hvdWxkIHN1cnZpdmUgR0MgZm9yIHBhc3NpbmcgaW50byB0aGUgY2FsbGJhY2sgZXZlbiBp
ZiBKUyBoYXMgbG9zdCByZWZlcmVuY2VzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBvYnNlcnZlci50ZXN0UHJvcGVydHkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM1ZGJjYmJmMDk1ZWRmNDQ1MGY0NTZjZTEzYTYzNjM2NzNjZTE0YjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi5o
dG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCdNdXRhdGlvbk9ic2VydmVyIHdyYXBwZXJzIHNob3VsZCBzdXJ2aXZlIEdDIGZvciBw
YXNzaW5nIGludG8gdGhlIGNhbGxiYWNrIGV2ZW4gaWYgSlMgaGFzIGxvc3QgcmVmZXJlbmNlcy4n
KTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIGFkZE9ic2VydmVyKG5vZGUs
IGZuKSB7CisgICAgdmFyIG9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZm4p
OworICAgIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSA9IHRydWU7CisgICAgb2JzZXJ2ZXIub2JzZXJ2
ZShub2RlLCB7YXR0cmlidXRlczp0cnVlfSk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGFkZE9ic2VydmVyKGRvY3VtZW50LmJvZHksIGZ1bmN0aW9uKHJlY29yZHMsIG9ic2VydmVy
KSB7CisgICAgICAgIHdpbmRvdy5vYnNlcnZlciA9IG9ic2VydmVyOworICAgICAgICBzaG91bGRC
ZSgnb2JzZXJ2ZXIudGVzdFByb3BlcnR5JywgJ3RydWUnKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgfSk7CisKKyAgICBnYygpOworCisgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1
dGUoJ3RvdWNoJywgJ3RoZSBub2RlJyk7Cit9OworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174350</attachid>
            <date>2012-11-14 22:26:04 -0800</date>
            <delta_ts>2012-11-15 10:34:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102328-20121115012401.patch</filename>
            <type>text/plain</type>
            <size>10091</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk0ZDZmNjRmMDYzOWQw
NjNlMWY4YjhmMzQyMzFlYTJkMTQ5YmUzZS4uZjMxYjBmNmI2NmYxMmZkMTEyNDIzZGIzMzg3N2M2
OGMzZTRlNjhkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTE0ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE11dGF0aW9uT2Jz
ZXJ2ZXIgd3JhcHBlciBzaG91bGQgbm90IGJlIGNvbGxlY3RlZCB3aGlsZSBzdGlsbCBvYnNlcnZp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ug
TXV0YXRpb25PYnNlcnZlciBhbiBBY3RpdmVET01PYmplY3Qgc28gdGhhdCB0aGUgd3JhcHBlciBp
cyBub3QKKyAgICAgICAgY29sbGVjdGVkIHdoaWxlIGl0IGlzIHN0aWxsIG9ic2VydmluZyB0aGUg
RE9NLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlCisgICAgICAgIHRoZSB3cmFwcGVyIGlzIHBhc3Nl
ZCBpbnRvIHRoZSBjYWxsYmFjayBhbmQgZXhwYW5kb3Mgb24gdGhlIHdyYXBwZXIKKyAgICAgICAg
c2hvdWxkIGJlIHByZXNlcnZlZC4KKworICAgICAgICBUZXN0OiBmYXN0L211dGF0aW9uL29ic2Vy
dmVyLXdyYXBwZXItZHJvcG9mZi5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU011dGF0
aW9uT2JzZXJ2ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNNdXRhdGlvbk9ic2Vy
dmVyQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTTXV0YXRpb25PYnNlcnZlcik6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOE11dGF0aW9uT2JzZXJ2ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOgorICAg
ICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0
aW9uT2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVy
OjpNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXI6
Om9ic2VydmF0aW9uU3RhcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVy
OjpvYnNlcnZhdGlvbkVuZGVkKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsOgor
CiAyMDEyLTExLTE0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLiBSZWJhc2VsaW5lZCBydW4tYmluZGluZ3MtdGVzdHMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uT2JzZXJ2ZXJDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbk9ic2VydmVyQ3VzdG9t
LmNwcAppbmRleCBhYjU1NjBkODBjYzk3YzQzMDFjN2Y1MGFlMTQwODQxN2ZlMGNiMGIyLi5kNjc4
NDUxNWRlMDgyZDA2ZjQ3YTg4Y2U5ZmIwN2Y2MjM3NDk1ZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAg
LTU0LDggKzU0LDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNNdXRhdGlvbk9i
c2VydmVyQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTTXV0YXRpb25PCiAgICAgfQogCiAgICAgSlNN
dXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3IgPSBqc0Nhc3Q8SlNNdXRh
dGlvbk9ic2VydmVyQ29uc3RydWN0b3IqPihleGVjLT5jYWxsZWUoKSk7Ci0gICAgUmVmUHRyPE11
dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gSlNNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUob2Jq
ZWN0LCBqc0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShhc09iamVjdCh0b0pTKGV4ZWMsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgp
LCBNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKSkpKTsKKyAgICBS
ZWZQdHI8SlNNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IEpTTXV0YXRpb25DYWxsYmFjazo6
Y3JlYXRlKG9iamVjdCwganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCkpOworICAgIFJlZlB0
cjxNdXRhdGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShj
YWxsYmFjaywganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCktPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7CisgICAgSlNPYmplY3QqIHdyYXBwZXIgPSBhc09iamVjdCh0b0pTKGV4ZWMsIGpz
Q29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLCBvYnNlcnZlci5yZWxlYXNlKCkpKTsKKworICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUod3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11
dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKaW5kZXggZjgwY2U1OThhOTcyYWNiN2Q1
ZmMyZjM0OTk2OGY0YjllYThmMmJmNi4uNWU3YWVkYTEwZTY1ZDRlYjg5MWMwMmVmNTcwMGMxYTI5
YTFmYWJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TXV0YXRpb25PYnNlcnZlcjo6Y29uc3RydWN0b3JDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnQKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogCiAgICAgUmVmUHRyPE11dGF0aW9u
Q2FsbGJhY2s+IGNhbGxiYWNrID0gVjhNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUoYXJnLCBjb250
ZXh0KTsKLSAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBNdXRhdGlvbk9i
c2VydmVyOjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICBSZWZQdHI8TXV0YXRpb25P
YnNlcnZlcj4gb2JzZXJ2ZXIgPSBNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoY2FsbGJhY2sucmVs
ZWFzZSgpLCBjb250ZXh0KTsKIAogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9
IGFyZ3MuSG9sZGVyKCk7CiAgICAgVjhET01XcmFwcGVyOjpjcmVhdGVET01XcmFwcGVyKG9ic2Vy
dmVyLnJlbGVhc2UoKSwgJmluZm8sIHdyYXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9u
T2JzZXJ2ZXIuY3BwCmluZGV4IDBjMjEwZmE0NmJhZGE2OTI2M2M0Y2E4YjAxZDkyNWJjZjg5YTM0
ZDkuLmI4YzBiOTI0ODA2ZTYyODYyZWQ2NmU3MDIwNDVkMDFlN2RkNjcyYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAKQEAgLTU3LDE0ICs1NywxNyBAQCBzdHJ1Y3Qg
TXV0YXRpb25PYnNlcnZlcjo6T2JzZXJ2ZXJMZXNzVGhhbiB7CiAgICAgfQogfTsKIAotUGFzc1Jl
ZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0
cjxNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjaykKK1Bhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZl
cj4gTXV0YXRpb25PYnNlcnZlcjo6Y3JlYXRlKFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4g
Y2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE11dGF0aW9uT2JzZXJ2
ZXIoY2FsbGJhY2spKTsKKyAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBh
ZG9wdFJlZihuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjaywgY29udGV4dCkpOworICAgIG9i
c2VydmVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gb2JzZXJ2ZXIucmVsZWFzZSgp
OwogfQogCi1NdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0
YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCi0gICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQorTXV0
YXRpb25PYnNlcnZlcjo6TXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogQWN0
aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpCisgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQog
ICAgICwgbV9wcmlvcml0eShzX29ic2VydmVyUHJpb3JpdHkrKykKIHsKIH0KQEAgLTEzOCwxMiAr
MTQxLDE0IEBAIHZvaWQgTXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2YXRpb25TdGFydGVkKE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhCiB7CiAgICAgQVNTRVJUKCFtX3JlZ2lz
dHJhdGlvbnMuY29udGFpbnMocmVnaXN0cmF0aW9uKSk7CiAgICAgbV9yZWdpc3RyYXRpb25zLmFk
ZChyZWdpc3RyYXRpb24pOworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKIH0KIAogdm9p
ZCBNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZhdGlvbkVuZGVkKE11dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyYXRpb24qIHJlZ2lzdHJhdGlvbikKIHsKICAgICBBU1NFUlQobV9yZWdpc3RyYXRpb25zLmNv
bnRhaW5zKHJlZ2lzdHJhdGlvbikpOwogICAgIG1fcmVnaXN0cmF0aW9ucy5yZW1vdmUocmVnaXN0
cmF0aW9uKTsKKyAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKIH0KIAogdHlwZWRlZiBI
YXNoU2V0PFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiA+IE11dGF0aW9uT2JzZXJ2ZXJTZXQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaAppbmRleCBmYWRiMzc4ZDFlZmRlYmQxY2Jj
ZTMyNDdlZDlmOWZiMTAzNzczNDAxLi4wNWFiN2VmM2M5MTVmOThhZDFjMGJiMzQ4MjNjM2NhYzM5
Yjg1M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmgKQEAgLTMzLDYgKzMz
LDcgQEAKIAogI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCiAKKyNpbmNsdWRlICJBY3Rp
dmVET01PYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQ4LDEzICs0OSwxNCBA
QCBjbGFzcyBNdXRhdGlvbkNhbGxiYWNrOwogY2xhc3MgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbjsKIGNsYXNzIE11dGF0aW9uUmVjb3JkOwogY2xhc3MgTm9kZTsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIHR5cGVkZWYg
dW5zaWduZWQgY2hhciBNdXRhdGlvbk9ic2VydmVyT3B0aW9uczsKIHR5cGVkZWYgdW5zaWduZWQg
Y2hhciBNdXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9uczsKIAotY2xhc3MgTXV0YXRpb25PYnNl
cnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2JzZXJ2ZXI+IHsKK2NsYXNzIE11dGF0
aW9uT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvbk9ic2VydmVyPiwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgZW51bSBNdXRhdGlvblR5cGUgewogICAg
ICAgICBDaGlsZExpc3QgPSAxIDw8IDAsCkBAIC03NCwxMCArNzYsMTAgQEAgcHVibGljOgogICAg
ICAgICBDaGFyYWN0ZXJEYXRhT2xkVmFsdWUgPSAxIDw8IDYsCiAgICAgfTsKIAotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9u
Q2FsbGJhY2s+KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBjcmVh
dGUoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OwogICAgIHN0YXRpYyB2b2lkIGRlbGl2ZXJBbGxNdXRhdGlvbnMoKTsKIAotICAgIH5NdXRhdGlv
bk9ic2VydmVyKCk7CisgICAgdmlydHVhbCB+TXV0YXRpb25PYnNlcnZlcigpOwogCiAgICAgdm9p
ZCBvYnNlcnZlKE5vZGUqLCBjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IFZlY3RvcjxSZWZQdHI8TXV0YXRpb25SZWNvcmQ+ID4gdGFrZVJlY29yZHMoKTsKQEAgLTkwLDcg
KzkyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdHJ1Y3QgT2JzZXJ2ZXJMZXNzVGhhbjsK
IAotICAgIGV4cGxpY2l0IE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxi
YWNrPik7CisgICAgTXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgdm9pZCBkZWxpdmVyKCk7CiAKICAgICBz
dGF0aWMgYm9vbCB2YWxpZGF0ZU9wdGlvbnMoTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsCmluZGV4IDExNzRmMjllYWZjMGQxNjdk
OWRlNjcwNzVlOWQwZmM2YzYyYjcyYTYuLjI4NmUwNjMxYmU3YjAzYzAyYmIyYmJlYjA4ZmMwOGI4
NTQ0MTE0NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5pZGwKQEAgLTI5
LDYgKzI5LDcgQEAKICAqLwogCiBbCisgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlv
bmFsPU1VVEFUSU9OX09CU0VSVkVSUywKICAgICBDdXN0b21Db25zdHJ1Y3RvciwKICAgICBDb25z
dHJ1Y3RvclBhcmFtZXRlcnM9MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI5NWM1NTkxNmM5YzcyMGFiNjgwMTc1ZjdiY2Mw
MWUyNDlhMzRkMDYuLjA3NmU0N2JjYzQ1YjQ5YmM5MDhjYjgyNGM2OThkMzJjMzQ3ODBlZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMS0xNCAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBNdXRhdGlvbk9ic2VydmVyIHdyYXBwZXIgc2hvdWxk
IG5vdCBiZSBjb2xsZWN0ZWQgd2hpbGUgc3RpbGwgb2JzZXJ2aW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IHRoYXQgYSBNdXRhdGlvbk9ic2Vy
dmVyIHdyYXBwZXIgaXMgbm90IGNvbGxlY3RlZCB3aGlsZSB0aGUgb2JzZXJ2ZXIKKyAgICAgICAg
aXMgc3RpbGwgb2JzZXJ2aW5nIHNpbmNlIHRoZSB3cmFwcGVyIG11c3QgYmUgcGFzc2VkIGludG8g
dGhlIGNhbGxiYWNrCisgICAgICAgIGxhdGVyLgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9v
YnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi5odG1sOiBBZGRlZC4KKwogMjAx
Mi0xMS0xNCAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBv
cnQgYW5pbWF0aW9uIG9mIGJhc2ljIHNoYXBlICdwb2x5Z29uJwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4YzBmMmU5ZGNjNjQxNjVkZDgyYTdkMTI0YzVmMzI5ZWMz
YmU5M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2Vy
dmVyLXdyYXBwZXItZHJvcG9mZi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorTXV0YXRp
b25PYnNlcnZlciB3cmFwcGVycyBzaG91bGQgc3Vydml2ZSBHQyBmb3IgcGFzc2luZyBpbnRvIHRo
ZSBjYWxsYmFjayBldmVuIGlmIEpTIGhhcyBsb3N0IHJlZmVyZW5jZXMuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSBpcyB0cnVlCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2Zm
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzVkYmNiYmYwOTVlZGY0NDUwZjQ1NmNlMTNhNjM2MzY3M2NlMTRi
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXIt
d3JhcHBlci1kcm9wb2ZmLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ011dGF0aW9uT2JzZXJ2ZXIgd3JhcHBlcnMgc2hvdWxk
IHN1cnZpdmUgR0MgZm9yIHBhc3NpbmcgaW50byB0aGUgY2FsbGJhY2sgZXZlbiBpZiBKUyBoYXMg
bG9zdCByZWZlcmVuY2VzLicpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24g
YWRkT2JzZXJ2ZXIobm9kZSwgZm4pIHsKKyAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcihmbik7CisgICAgb2JzZXJ2ZXIudGVzdFByb3BlcnR5ID0gdHJ1ZTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKG5vZGUsIHthdHRyaWJ1dGVzOnRydWV9KTsKK30KKworb25sb2Fk
ID0gZnVuY3Rpb24oKSB7CisgICAgYWRkT2JzZXJ2ZXIoZG9jdW1lbnQuYm9keSwgZnVuY3Rpb24o
cmVjb3Jkcywgb2JzZXJ2ZXIpIHsKKyAgICAgICAgd2luZG93Lm9ic2VydmVyID0gb2JzZXJ2ZXI7
CisgICAgICAgIHNob3VsZEJlKCdvYnNlcnZlci50ZXN0UHJvcGVydHknLCAndHJ1ZScpOworICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKKworICAgIGdjKCk7CisKKyAgICBkb2N1bWVu
dC5ib2R5LnNldEF0dHJpYnV0ZSgndG91Y2gnLCAndGhlIG5vZGUnKTsKK307Cis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174483</attachid>
            <date>2012-11-15 10:34:47 -0800</date>
            <delta_ts>2012-11-19 16:59:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102328-20121115133243.patch</filename>
            <type>text/plain</type>
            <size>10085</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODI1MzllZTdiMmY5MDQ0
NTJiODRlYzdhZTc3MzMyODMzYTM1ZjliZC4uZjYyMzljMzc2MDI1ZjJhMWEzMmY5M2M3N2ZlNzhm
MmQxMTAzZjM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTE1ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE11dGF0aW9uT2Jz
ZXJ2ZXIgd3JhcHBlciBzaG91bGQgbm90IGJlIGNvbGxlY3RlZCB3aGlsZSBzdGlsbCBvYnNlcnZp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgTWFrZSBNdXRh
dGlvbk9ic2VydmVyIGFuIEFjdGl2ZURPTU9iamVjdCBzbyB0aGF0IHRoZSB3cmFwcGVyIGlzIG5v
dAorICAgICAgICBjb2xsZWN0ZWQgd2hpbGUgaXQgaXMgc3RpbGwgb2JzZXJ2aW5nIHRoZSBET00u
IFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UKKyAgICAgICAgdGhlIHdyYXBwZXIgaXMgcGFzc2VkIGlu
dG8gdGhlIGNhbGxiYWNrIGFuZCBleHBhbmRvcyBvbiB0aGUgd3JhcHBlcgorICAgICAgICBzaG91
bGQgYmUgcHJlc2VydmVkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbXV0YXRpb24vb2JzZXJ2ZXIt
d3JhcHBlci1kcm9wb2ZmLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTXV0YXRpb25P
YnNlcnZlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU011dGF0aW9uT2JzZXJ2ZXJD
b25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNNdXRhdGlvbk9ic2VydmVyKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4TXV0YXRpb25PYnNlcnZlcjo6Y29uc3RydWN0b3JDYWxsYmFjayk6CisgICAgICAg
ICogZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25P
YnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXI6Ok11
dGF0aW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlcjo6b2Jz
ZXJ2YXRpb25TdGFydGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXI6Om9i
c2VydmF0aW9uRW5kZWQpOgorICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5pZGw6CisKIDIw
MTItMTEtMTUgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
cGRhdGUgRE9NRXhjZXB0aW9uIG5hbWU6IE5vdFN1cHBvcnRlZEVycm9yCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLmNwcApp
bmRleCBhYjU1NjBkODBjYzk3YzQzMDFjN2Y1MGFlMTQwODQxN2ZlMGNiMGIyLi41ZjdmZTU5ZTE2
NTQ0NGQ5YmUwZWM4MzYzOWY4MGMwMTY3NmIwMDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU011dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTU0LDgg
KzU0LDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNNdXRhdGlvbk9ic2VydmVy
Q29uc3RydWN0b3I6OmNvbnN0cnVjdEpTTXV0YXRpb25PCiAgICAgfQogCiAgICAgSlNNdXRhdGlv
bk9ic2VydmVyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3IgPSBqc0Nhc3Q8SlNNdXRhdGlvbk9i
c2VydmVyQ29uc3RydWN0b3IqPihleGVjLT5jYWxsZWUoKSk7Ci0gICAgUmVmUHRyPE11dGF0aW9u
Q2FsbGJhY2s+IGNhbGxiYWNrID0gSlNNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBq
c0NvbnN0cnVjdG9yLT5nbG9iYWxPYmplY3QoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShhc09iamVjdCh0b0pTKGV4ZWMsIGpzQ29uc3RydWN0b3ItPmdsb2JhbE9iamVjdCgpLCBNdXRh
dGlvbk9ic2VydmVyOjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKSkpKTsKKyAgICBSZWZQdHI8
SlNNdXRhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IEpTTXV0YXRpb25DYWxsYmFjazo6Y3JlYXRl
KG9iamVjdCwganNDb25zdHJ1Y3Rvci0+Z2xvYmFsT2JqZWN0KCkpOworICAgIFJlZlB0cjxNdXRh
dGlvbk9ic2VydmVyPiBvYnNlcnZlciA9IE11dGF0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShqc0NvbnN0
cnVjdG9yLT5nbG9iYWxPYmplY3QoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBjYWxsYmFj
ayk7CisgICAgSlNPYmplY3QqIHdyYXBwZXIgPSBhc09iamVjdCh0b0pTKGV4ZWMsIGpzQ29uc3Ry
dWN0b3ItPmdsb2JhbE9iamVjdCgpLCBvYnNlcnZlci5yZWxlYXNlKCkpKTsKKworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUod3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE11dGF0aW9u
T2JzZXJ2ZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKaW5kZXggZjgwY2U1OThhOTcyYWNiN2Q1ZmMyZjM0
OTk2OGY0YjllYThmMmJmNi4uMGRiNjViMTZmNTJlMzgwMDZmMWZiZTY3NWVkMDg4ZjMyMjI2YjI5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TXV0YXRp
b25PYnNlcnZlckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TXV0YXRpb25PYnNlcnZlckN1c3RvbS5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4TXV0YXRpb25PYnNlcnZlcjo6Y29uc3RydWN0b3JDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnQKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0g
Z2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogCiAgICAgUmVmUHRyPE11dGF0aW9uQ2FsbGJh
Y2s+IGNhbGxiYWNrID0gVjhNdXRhdGlvbkNhbGxiYWNrOjpjcmVhdGUoYXJnLCBjb250ZXh0KTsK
LSAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBNdXRhdGlvbk9ic2VydmVy
OjpjcmVhdGUoY2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZl
cj4gb2JzZXJ2ZXIgPSBNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoY29udGV4dCwgY2FsbGJhY2su
cmVsZWFzZSgpKTsKIAogICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IGFyZ3Mu
SG9sZGVyKCk7CiAgICAgVjhET01XcmFwcGVyOjpjcmVhdGVET01XcmFwcGVyKG9ic2VydmVyLnJl
bGVhc2UoKSwgJmluZm8sIHdyYXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L011dGF0aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2
ZXIuY3BwCmluZGV4IDBjMjEwZmE0NmJhZGE2OTI2M2M0Y2E4YjAxZDkyNWJjZjg5YTM0ZDkuLjgw
MzJjMjEyYjNlMWI5NWNjMjM0OGE3OGU4ZjU5MzAzZjFiOWVjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTXV0YXRpb25PYnNlcnZlci5jcHAKQEAgLTU3LDE0ICs1NywxNyBAQCBzdHJ1Y3QgTXV0YXRp
b25PYnNlcnZlcjo6T2JzZXJ2ZXJMZXNzVGhhbiB7CiAgICAgfQogfTsKIAotUGFzc1JlZlB0cjxN
dXRhdGlvbk9ic2VydmVyPiBNdXRhdGlvbk9ic2VydmVyOjpjcmVhdGUoUGFzc1JlZlB0cjxNdXRh
dGlvbkNhbGxiYWNrPiBjYWxsYmFjaykKK1Bhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gTXV0
YXRpb25PYnNlcnZlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IE11dGF0aW9uT2JzZXJ2ZXIoY2Fs
bGJhY2spKTsKKyAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIgPSBhZG9wdFJl
ZihuZXcgTXV0YXRpb25PYnNlcnZlcihjb250ZXh0LCBjYWxsYmFjaykpOworICAgIG9ic2VydmVy
LT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gb2JzZXJ2ZXIucmVsZWFzZSgpOwogfQog
Ci1NdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25D
YWxsYmFjaz4gY2FsbGJhY2spCi0gICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQorTXV0YXRpb25P
YnNlcnZlcjo6TXV0YXRpb25PYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrKQorICAgIDogQWN0aXZlRE9N
T2JqZWN0KGNvbnRleHQsIHRoaXMpCisgICAgLCBtX2NhbGxiYWNrKGNhbGxiYWNrKQogICAgICwg
bV9wcmlvcml0eShzX29ic2VydmVyUHJpb3JpdHkrKykKIHsKIH0KQEAgLTEzOCwxMiArMTQxLDE0
IEBAIHZvaWQgTXV0YXRpb25PYnNlcnZlcjo6b2JzZXJ2YXRpb25TdGFydGVkKE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhCiB7CiAgICAgQVNTRVJUKCFtX3JlZ2lzdHJhdGlv
bnMuY29udGFpbnMocmVnaXN0cmF0aW9uKSk7CiAgICAgbV9yZWdpc3RyYXRpb25zLmFkZChyZWdp
c3RyYXRpb24pOworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKIH0KIAogdm9pZCBNdXRh
dGlvbk9ic2VydmVyOjpvYnNlcnZhdGlvbkVuZGVkKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRp
b24qIHJlZ2lzdHJhdGlvbikKIHsKICAgICBBU1NFUlQobV9yZWdpc3RyYXRpb25zLmNvbnRhaW5z
KHJlZ2lzdHJhdGlvbikpOwogICAgIG1fcmVnaXN0cmF0aW9ucy5yZW1vdmUocmVnaXN0cmF0aW9u
KTsKKyAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKIH0KIAogdHlwZWRlZiBIYXNoU2V0
PFJlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiA+IE11dGF0aW9uT2JzZXJ2ZXJTZXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaAppbmRleCBmYWRiMzc4ZDFlZmRlYmQxY2JjZTMyNDdl
ZDlmOWZiMTAzNzczNDAxLi5kMTBiNWVlODhlNzhhMWRiZjU5NDk2NzNiMmUxN2FjNWNhZmIxZjU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmgKQEAgLTMzLDYgKzMzLDcgQEAK
IAogI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCiAKKyNpbmNsdWRlICJBY3RpdmVET01P
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQ4LDEzICs0OSwxNCBAQCBjbGFz
cyBNdXRhdGlvbkNhbGxiYWNrOwogY2xhc3MgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjsK
IGNsYXNzIE11dGF0aW9uUmVjb3JkOwogY2xhc3MgTm9kZTsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIHR5cGVkZWYgdW5zaWdu
ZWQgY2hhciBNdXRhdGlvbk9ic2VydmVyT3B0aW9uczsKIHR5cGVkZWYgdW5zaWduZWQgY2hhciBN
dXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9uczsKIAotY2xhc3MgTXV0YXRpb25PYnNlcnZlciA6
IHB1YmxpYyBSZWZDb3VudGVkPE11dGF0aW9uT2JzZXJ2ZXI+IHsKK2NsYXNzIE11dGF0aW9uT2Jz
ZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNdXRhdGlvbk9ic2VydmVyPiwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCB7CiBwdWJsaWM6CiAgICAgZW51bSBNdXRhdGlvblR5cGUgewogICAgICAgICBD
aGlsZExpc3QgPSAxIDw8IDAsCkBAIC03NCwxMCArNzYsMTAgQEAgcHVibGljOgogICAgICAgICBD
aGFyYWN0ZXJEYXRhT2xkVmFsdWUgPSAxIDw8IDYsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9uQ2FsbGJh
Y2s+KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8TXV0YXRpb25DYWxsYmFjaz4pOwogICAg
IHN0YXRpYyB2b2lkIGRlbGl2ZXJBbGxNdXRhdGlvbnMoKTsKIAotICAgIH5NdXRhdGlvbk9ic2Vy
dmVyKCk7CisgICAgdmlydHVhbCB+TXV0YXRpb25PYnNlcnZlcigpOwogCiAgICAgdm9pZCBvYnNl
cnZlKE5vZGUqLCBjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFZlY3Rv
cjxSZWZQdHI8TXV0YXRpb25SZWNvcmQ+ID4gdGFrZVJlY29yZHMoKTsKQEAgLTkwLDcgKzkyLDcg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdHJ1Y3QgT2JzZXJ2ZXJMZXNzVGhhbjsKIAotICAg
IGV4cGxpY2l0IE11dGF0aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlvbkNhbGxiYWNrPik7
CisgICAgTXV0YXRpb25PYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0
cjxNdXRhdGlvbkNhbGxiYWNrPik7CiAgICAgdm9pZCBkZWxpdmVyKCk7CiAKICAgICBzdGF0aWMg
Ym9vbCB2YWxpZGF0ZU9wdGlvbnMoTXV0YXRpb25PYnNlcnZlck9wdGlvbnMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsCmluZGV4IDExNzRmMjllYWZjMGQxNjdkOWRlNjcw
NzVlOWQwZmM2YzYyYjcyYTYuLjI4NmUwNjMxYmU3YjAzYzAyYmIyYmJlYjA4ZmMwOGI4NTQ0MTE0
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5pZGwKQEAgLTI5LDYgKzI5
LDcgQEAKICAqLwogCiBbCisgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPU1V
VEFUSU9OX09CU0VSVkVSUywKICAgICBDdXN0b21Db25zdHJ1Y3RvciwKICAgICBDb25zdHJ1Y3Rv
clBhcmFtZXRlcnM9MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYzMGVhY2VmNGZkMzU1MTg4NjI5MjY4ODg4ODQ1ODIwZGE0
YmYzNWUuLjk3ZDZmYjBiZmE1ZWFlMzJkYWRhNzQ1MTNlMDFmZDMxZWE5ZjUyNjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMi0xMS0xNSAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBNdXRhdGlvbk9ic2VydmVyIHdyYXBwZXIgc2hvdWxkIG5vdCBi
ZSBjb2xsZWN0ZWQgd2hpbGUgc3RpbGwgb2JzZXJ2aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzMjgKKworICAgICAgICBSZXZpZXdlZCBieSBB
ZGFtIEJhcnRoLgorCisgICAgICAgIFRlc3QgdGhhdCBhIE11dGF0aW9uT2JzZXJ2ZXIgd3JhcHBl
ciBpcyBub3QgY29sbGVjdGVkIHdoaWxlIHRoZSBvYnNlcnZlcgorICAgICAgICBpcyBzdGlsbCBv
YnNlcnZpbmcgc2luY2UgdGhlIHdyYXBwZXIgbXVzdCBiZSBwYXNzZWQgaW50byB0aGUgY2FsbGJh
Y2sKKyAgICAgICAgbGF0ZXIuCisKKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmVyLXdy
YXBwZXItZHJvcG9mZi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXV0YXRp
b24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTE1ICBF
cmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIERPTUV4
Y2VwdGlvbiBuYW1lOiBOb3RTdXBwb3J0ZWRFcnJvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM4YzBmMmU5ZGNjNjQxNjVkZDgyYTdkMTI0YzVmMzI5ZWMzYmU5M2MK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdy
YXBwZXItZHJvcG9mZi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorTXV0YXRpb25PYnNl
cnZlciB3cmFwcGVycyBzaG91bGQgc3Vydml2ZSBHQyBmb3IgcGFzc2luZyBpbnRvIHRoZSBjYWxs
YmFjayBldmVuIGlmIEpTIGhhcyBsb3N0IHJlZmVyZW5jZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSBpcyB0cnVlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzVkYmNiYmYwOTVlZGY0NDUwZjQ1NmNlMTNhNjM2MzY3M2NlMTRiOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBl
ci1kcm9wb2ZmLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorCis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ011dGF0aW9uT2JzZXJ2ZXIgd3JhcHBlcnMgc2hvdWxkIHN1cnZp
dmUgR0MgZm9yIHBhc3NpbmcgaW50byB0aGUgY2FsbGJhY2sgZXZlbiBpZiBKUyBoYXMgbG9zdCBy
ZWZlcmVuY2VzLicpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gYWRkT2Jz
ZXJ2ZXIobm9kZSwgZm4pIHsKKyAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25P
YnNlcnZlcihmbik7CisgICAgb2JzZXJ2ZXIudGVzdFByb3BlcnR5ID0gdHJ1ZTsKKyAgICBvYnNl
cnZlci5vYnNlcnZlKG5vZGUsIHthdHRyaWJ1dGVzOnRydWV9KTsKK30KKworb25sb2FkID0gZnVu
Y3Rpb24oKSB7CisgICAgYWRkT2JzZXJ2ZXIoZG9jdW1lbnQuYm9keSwgZnVuY3Rpb24ocmVjb3Jk
cywgb2JzZXJ2ZXIpIHsKKyAgICAgICAgd2luZG93Lm9ic2VydmVyID0gb2JzZXJ2ZXI7CisgICAg
ICAgIHNob3VsZEJlKCdvYnNlcnZlci50ZXN0UHJvcGVydHknLCAndHJ1ZScpOworICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKKworICAgIGdjKCk7CisKKyAgICBkb2N1bWVudC5ib2R5
LnNldEF0dHJpYnV0ZSgndG91Y2gnLCAndGhlIG5vZGUnKTsKK307Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175083</attachid>
            <date>2012-11-19 16:59:51 -0800</date>
            <delta_ts>2012-11-19 17:19:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102328-20121119165741.patch</filename>
            <type>text/plain</type>
            <size>11122</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUxZGI1NDgxZTc1ODRm
NWIwY2VjZGNlOGQ3YmI1MmU1MWI1ZWUxOS4uNzFmMDI1NWQzZDlmY2FmOTEyNDQ1OWJmZmE5MTZk
ZmIyNzYxZTg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTE5ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXIg
d3JhcHBlciBzaG91bGQgbm90IGJlIGNvbGxlY3RlZCB3aGlsZSBzdGlsbCBvYnNlcnZpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0aGUgbmV3
IG9wYXF1ZVJvb3RGb3JHQyBoZWxwZXIgaW4gVjhHQ0NvbnRyb2xsZXIgdG8gcHV0IGVhY2gKKyAg
ICAgICAgTXV0YXRpb25PYnNlcnZlciB3cmFwcGVyIGluIHRoZSBzYW1lIG9iamVjdCBncm91cCBh
cyB0aGUgbm9kZXMgaXQncworICAgICAgICBvYnNlcnZpbmcuCisKKyAgICAgICAgT25seSBpbmNs
dWRlcyBWOCBpbXBsIGZvciBub3csIEpTQyBpbXBsIGNvbWluZyBzb29uLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYu
aHRtbAorCisgICAgICAgICogYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwOiBBZGQgY3Vz
dG9tIGNvZGUgZm9yIE11dGF0aW9uT2JzZXJ2ZXIKKyAgICAgICAgd2l0aCBhIEZJWE1FIHRvIG1v
dmUgdGhpcyBvdXQgb25jZSB3ZSB1cGRhdGUgdGhlIG9wYXF1ZSByb290cyBBUEkuCisgICAgICAg
ICogZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25P
YnNlcnZlcjo6Z2V0T2JzZXJ2ZWROb2Rlcyk6IFBsdW1iaW5nIHRvIGV4cG9zZSB0aGUgb2JzZXJ2
ZWQgbm9kZXMKKyAgICAgICAgdG8gdGhlIEdDIGNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5oOgorICAgICAgICAqIGRvbS9NdXRh
dGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb246OmFkZFJlZ2lzdHJhdGlvbk5vZGVzVG9TZXQpOiBNb3JlIHBs
dW1iaW5nLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL011dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAgICAgKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24p
OgorCiAyMDEyLTExLTE5ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW2Nocm9taXVtXSBMYXp5IGltYWdlIGRlY29kaW5nIHdpdGhvdXQgY2FjaGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0NDb250cm9sbGVyLmNwcAppbmRleCA5ODczN2IzYmI1
NzYwZTNlOGIwYzMxZDFiM2RlMjUyOWUzMmE4YzM0Li40Y2MwM2ZiZGMzOGYxMWI1MmRmZjA4NWIy
ODhiN2NhNGIzM2VhNmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEdDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0Nv
bnRyb2xsZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiVjhBYnN0cmFjdEV2ZW50
TGlzdGVuZXIuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOE1lc3NhZ2VQ
b3J0LmgiCisjaW5jbHVkZSAiVjhNdXRhdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiVjhOb2Rl
LmgiCiAjaW5jbHVkZSAiVjhSZWN1cnNpb25TY29wZS5oIgogI2luY2x1ZGUgIldyYXBwZXJUeXBl
SW5mby5oIgpAQCAtMTc2LDYgKzE3NywxNCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBNZXNzYWdl
UG9ydCogcG9ydCA9IHN0YXRpY19jYXN0PE1lc3NhZ2VQb3J0Kj4ob2JqZWN0KTsKICAgICAgICAg
ICAgIGlmIChwb3J0LT5pc0VudGFuZ2xlZCgpIHx8IHBvcnQtPmhhc1BlbmRpbmdBY3Rpdml0eSgp
KQogICAgICAgICAgICAgICAgIG1fZ3JvdXBlci5rZWVwQWxpdmUod3JhcHBlcik7CisjaWYgRU5B
QkxFKE1VVEFUSU9OX09CU0VSVkVSUykKKyAgICAgICAgfSBlbHNlIGlmIChWOE11dGF0aW9uT2Jz
ZXJ2ZXI6OmluZm8uZXF1YWxzKHR5cGUpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogQWxsb3cg
b3BhcXVlUm9vdEZvckdDIHRvIG9wZXJhdGUgb24gbXVsdGlwbGUgcm9vdHMgYW5kIG1vdmUgdGhp
cyBsb2dpYyBpbnRvIFY4TXV0YXRpb25PYnNlcnZlckN1c3RvbS4KKyAgICAgICAgICAgIE11dGF0
aW9uT2JzZXJ2ZXIqIG9ic2VydmVyID0gc3RhdGljX2Nhc3Q8TXV0YXRpb25PYnNlcnZlcio+KG9i
amVjdCk7CisgICAgICAgICAgICBIYXNoU2V0PE5vZGUqPiBvYnNlcnZlZE5vZGVzID0gb2JzZXJ2
ZXItPmdldE9ic2VydmVkTm9kZXMoKTsKKyAgICAgICAgICAgIGZvciAoSGFzaFNldDxOb2RlKj46
Oml0ZXJhdG9yIGl0ID0gb2JzZXJ2ZWROb2Rlcy5iZWdpbigpOyBpdCAhPSBvYnNlcnZlZE5vZGVz
LmVuZCgpOyArK2l0KQorICAgICAgICAgICAgICAgIG1fZ3JvdXBlci5hZGRUb0dyb3VwKFY4R0ND
b250cm9sbGVyOjpvcGFxdWVSb290Rm9yR0MoKml0KSwgd3JhcHBlcik7CisjZW5kaWYgLy8gRU5B
QkxFKE1VVEFUSU9OX09CU0VSVkVSUykKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIEFj
dGl2ZURPTU9iamVjdCogYWN0aXZlRE9NT2JqZWN0ID0gdHlwZS0+dG9BY3RpdmVET01PYmplY3Qo
d3JhcHBlcik7CiAgICAgICAgICAgICBpZiAoYWN0aXZlRE9NT2JqZWN0ICYmIGFjdGl2ZURPTU9i
amVjdC0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTXV0YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNl
cnZlci5jcHAKaW5kZXggMGMyMTBmYTQ2YmFkYTY5MjYzYzRjYThiMDFkOTI1YmNmODlhMzRkOS4u
N2IxZWJhYjRjMjI1NTQ3MjA2NDI2NTI2NTcxMzQ4ZGZhM2ZiNGZmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvbk9ic2VydmVyLmNwcApAQCAtMTY3LDYgKzE2NywxNCBAQCB2b2lkIE11dGF0
aW9uT2JzZXJ2ZXI6OnNldEhhc1RyYW5zaWVudFJlZ2lzdHJhdGlvbigpCiAgICAgYWN0aXZlTXV0
YXRpb25PYnNlcnZlcnMoKS5hZGQodGhpcyk7CiB9CiAKK0hhc2hTZXQ8Tm9kZSo+IE11dGF0aW9u
T2JzZXJ2ZXI6OmdldE9ic2VydmVkTm9kZXMoKSBjb25zdAoreworICAgIEhhc2hTZXQ8Tm9kZSo+
IG9ic2VydmVkTm9kZXM7CisgICAgZm9yIChIYXNoU2V0PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24qPjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG1fcmVnaXN0cmF0aW9ucy5iZWdpbigpOyBp
dGVyICE9IG1fcmVnaXN0cmF0aW9ucy5lbmQoKTsgKytpdGVyKQorICAgICAgICAoKml0ZXIpLT5h
ZGRSZWdpc3RyYXRpb25Ob2Rlc1RvU2V0KG9ic2VydmVkTm9kZXMpOworICAgIHJldHVybiBvYnNl
cnZlZE5vZGVzOworfQorCiB2b2lkIE11dGF0aW9uT2JzZXJ2ZXI6OmRlbGl2ZXIoKQogewogICAg
IC8vIENhbGxpbmcgY2xlYXJUcmFuc2llbnRSZWdpc3RyYXRpb25zKCkgY2FuIG1vZGlmeSBtX3Jl
Z2lzdHJhdGlvbnMsIHNvIGl0J3MgbmVjZXNzYXJ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTXV0YXRpb25PYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXIuaAppbmRleCBmYWRiMzc4ZDFlZmRlYmQxY2JjZTMyNDdlZDlmOWZiMTAzNzczNDAxLi42
NzdjNjM3ZmY0MTAwNjI5ZGJkM2RjNDA4NzExMDMzY2VmOThiYjcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NdXRhdGlvbk9ic2VydmVyLmgKQEAgLTg3LDYgKzg3LDggQEAgcHVibGljOgogICAgIHZvaWQg
ZW5xdWV1ZU11dGF0aW9uUmVjb3JkKFBhc3NSZWZQdHI8TXV0YXRpb25SZWNvcmQ+KTsKICAgICB2
b2lkIHNldEhhc1RyYW5zaWVudFJlZ2lzdHJhdGlvbigpOwogCisgICAgSGFzaFNldDxOb2RlKj4g
Z2V0T2JzZXJ2ZWROb2RlcygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHN0cnVjdCBPYnNlcnZl
ckxlc3NUaGFuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggNGMzMGFjMzBjYzhiYjk3YmFkZmUwMDg0Mzk1MmVkMGJk
NTIzOTU2YS4uZThiODA4YzVhM2I1MzhlNzAyNDFlYWEwMDM4NDk1YjY3NGM2ZjA0OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNw
cApAQCAtMTI0LDYgKzEyNCwxNSBAQCBib29sIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246
OnNob3VsZFJlY2VpdmVNdXRhdGlvbkZyb20oTm9kZSogbm9kZSwgTXV0YXRpbwogICAgIHJldHVy
biBtX2F0dHJpYnV0ZUZpbHRlci5jb250YWlucyhhdHRyaWJ1dGVOYW1lLT5sb2NhbE5hbWUoKSk7
CiB9CiAKK3ZvaWQgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6YWRkUmVnaXN0cmF0aW9u
Tm9kZXNUb1NldChIYXNoU2V0PE5vZGUqPiYgbm9kZXMpIGNvbnN0Cit7CisgICAgbm9kZXMuYWRk
KG1fcmVnaXN0cmF0aW9uTm9kZSk7CisgICAgaWYgKG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9k
ZXMpIHsKKyAgICAgICAgZm9yIChOb2RlSGFzaFNldDo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG1f
dHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmJlZ2luKCk7IGl0ZXIgIT0gbV90cmFuc2llbnRS
ZWdpc3RyYXRpb25Ob2Rlcy0+ZW5kKCk7ICsraXRlcikKKyAgICAgICAgICAgIG5vZGVzLmFkZChp
dGVyLT5nZXQoKSk7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmgKaW5kZXggYWYyMjJlOGM1YjRhZDg0MjIz
NDQ1NmNmYjYyZWRkMDMxYjg1Y2FiMy4uZjcyYjY0NDc5MjBlZWYzYTFiNTU2YjNkMWU3OWI5Njk2
NGZiNDQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5oCkBAIC02MCw2ICs2MCw4IEBAIHB1YmxpYzoKICAgICBNdXRhdGlvblJlY29y
ZERlbGl2ZXJ5T3B0aW9ucyBkZWxpdmVyeU9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX29wdGlv
bnMgJiAoTXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xkVmFsdWUgfCBNdXRhdGlvbk9ic2Vy
dmVyOjpDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOyB9CiAgICAgTXV0YXRpb25PYnNlcnZlck9wdGlv
bnMgbXV0YXRpb25UeXBlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0aW9uT2Jz
ZXJ2ZXI6OkFsbE11dGF0aW9uVHlwZXM7IH0KIAorICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uTm9k
ZXNUb1NldChIYXNoU2V0PE5vZGUqPiYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24oUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiwgTm9kZSos
IE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0
dHJpYnV0ZUZpbHRlcik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZWYzOGM1ODExZTQxZTM5NDVlNjUyMDk4NzQ1YWFm
Yzk2NzgwNDRiLi5kNzMzN2RiNjdiYWJlNzEyOTZmZDVhN2E5M2JlYmU0ZGI0MDE2ZTgwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMTEtMTkgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTXV0YXRpb25PYnNlcnZlciB3cmFwcGVyIHNob3VsZCBub3QgYmUg
Y29sbGVjdGVkIHdoaWxlIHN0aWxsIG9ic2VydmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgc2hvd2luZyB0aGF0IG9ic2VydmVycyBhcmUg
a2VwdCBhbGl2ZSwgYm90aCBpbiB0aGUgc2ltcGxlIGNhc2UKKyAgICAgICAgYW5kIGluIHRoZSB0
cmFuc2llbnQgcmVnaXN0ZXJlZCBvYnNlcnZlciBjYXNlICh3aGVyZSB0aGUgb3JpZ2luYWwKKyAg
ICAgICAgcmVnaXN0cmF0aW9uIG5vZGUgaXMgR0NlZCBidXQgdGhlIHRyYW5zaWVudCBvYnNlcnZh
dGlvbiBub2RlIGlzIHN0aWxsCisgICAgICAgIGFsaXZlKS4KKworICAgICAgICAqIGZhc3QvbXV0
YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtdHJhbnNpZW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFw
cGVyLWRyb3BvZmYtdHJhbnNpZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXV0YXRp
b24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTE5ICBB
Ymhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4g
QXBwbHlTdHlsZUNvbW1hbmQ6OmNsZWFudXBVbnN0eWxlZEFwcGxlU3R5bGVTcGFucy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2Zm
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBl
ci1kcm9wb2ZmLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGMwZjJlOWRjYzY0MTY1ZGQ4MmE3
ZDEyNGM1ZjMyOWVjM2JlOTNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9t
dXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK011dGF0aW9uT2JzZXJ2ZXIgd3JhcHBlcnMgc2hvdWxkIHN1cnZpdmUgR0MgZm9yIHBh
c3NpbmcgaW50byB0aGUgY2FsbGJhY2sgZXZlbiBpZiBKUyBoYXMgbG9zdCByZWZlcmVuY2VzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBvYnNlcnZlci50ZXN0UHJvcGVy
dHkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3Jh
cHBlci1kcm9wb2ZmLXRyYW5zaWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211
dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk2M2E1NTNlYzIyMzZjYzFmZWRkMzFlOGVkZjExYTQ0MWMzYjZiYjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXIt
ZHJvcG9mZi10cmFuc2llbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK011dGF0aW9u
T2JzZXJ2ZXIgd3JhcHBlcnMgc2hvdWxkIHN1cnZpdmUgR0MgZm9yIHBhc3NpbmcgaW50byB0aGUg
Y2FsbGJhY2sgZXZlbiBpZiBKUyBoYXMgbG9zdCByZWZlcmVuY2VzIGFuZCB0aGUgb25seSByZW1h
aW5pbmcgb2JzZXJ2YXRpb25zIGFyZSB0cmFuc2llbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtdHJhbnNpZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9m
Zi10cmFuc2llbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGM4NDI1OGMwZTdhODc5MDlhZjIyMTA2YjZj
MTUyOGI4ODVkNDY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlv
bi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtdHJhbnNpZW50Lmh0bWwKQEAgLTAsMCArMSwzMyBA
QAorPCFET0NUWVBFIGh0bWw+CisKKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ011dGF0aW9uT2Jz
ZXJ2ZXIgd3JhcHBlcnMgc2hvdWxkIHN1cnZpdmUgR0MgZm9yIHBhc3NpbmcgaW50byB0aGUgY2Fs
bGJhY2sgZXZlbiBpZiBKUyBoYXMgbG9zdCByZWZlcmVuY2VzIGFuZCB0aGUgb25seSByZW1haW5p
bmcgb2JzZXJ2YXRpb25zIGFyZSB0cmFuc2llbnQuJyk7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCitmdW5jdGlvbiBhZGRPYnNlcnZlcihub2RlLCBmbikgeworICAgIHZhciBvYnNlcnZlciA9
IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZuKTsKKyAgICBvYnNlcnZlci50ZXN0UHJvcGVy
dHkgPSB0cnVlOworICAgIG9ic2VydmVyLm9ic2VydmUobm9kZSwge2F0dHJpYnV0ZXM6dHJ1ZSwg
c3VidHJlZTogdHJ1ZX0pOworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIHZhciBjaGlsZCA9IHJvb3Qu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKTsKKyAgICBhZGRPYnNl
cnZlcihyb290LCBmdW5jdGlvbihyZWNvcmRzLCBvYnNlcnZlcikgeworICAgICAgICB3aW5kb3cu
b2JzZXJ2ZXIgPSBvYnNlcnZlcjsKKyAgICAgICAgc2hvdWxkQmUoJ29ic2VydmVyLnRlc3RQcm9w
ZXJ0eScsICd0cnVlJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0pOworCisgICAg
cm9vdC5yZW1vdmVDaGlsZChjaGlsZCk7CisgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdmb28nLCAn
YmFyJyk7CisgICAgcm9vdCA9IG51bGw7CisKKyAgICBnYygpOworfTsKKzwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJv
cG9mZi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRy
b3BvZmYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWRiY2JiZjA5NWVkZjQ0NTBmNDU2Y2UxM2E2MzYzNjcz
Y2UxNGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNl
cnZlci13cmFwcGVyLWRyb3BvZmYuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRt
bD4KKworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignTXV0YXRpb25PYnNlcnZlciB3cmFwcGVycyBz
aG91bGQgc3Vydml2ZSBHQyBmb3IgcGFzc2luZyBpbnRvIHRoZSBjYWxsYmFjayBldmVuIGlmIEpT
IGhhcyBsb3N0IHJlZmVyZW5jZXMuJyk7CisKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5j
dGlvbiBhZGRPYnNlcnZlcihub2RlLCBmbikgeworICAgIHZhciBvYnNlcnZlciA9IG5ldyBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyKGZuKTsKKyAgICBvYnNlcnZlci50ZXN0UHJvcGVydHkgPSB0cnVl
OworICAgIG9ic2VydmVyLm9ic2VydmUobm9kZSwge2F0dHJpYnV0ZXM6dHJ1ZX0pOworfQorCitv
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBhZGRPYnNlcnZlcihkb2N1bWVudC5ib2R5LCBmdW5j
dGlvbihyZWNvcmRzLCBvYnNlcnZlcikgeworICAgICAgICB3aW5kb3cub2JzZXJ2ZXIgPSBvYnNl
cnZlcjsKKyAgICAgICAgc2hvdWxkQmUoJ29ic2VydmVyLnRlc3RQcm9wZXJ0eScsICd0cnVlJyk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0pOworCisgICAgZ2MoKTsKKworICAgIGRv
Y3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCd0b3VjaCcsICd0aGUgbm9kZScpOworfTsKKzwvc2Ny
aXB0PgorCis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175088</attachid>
            <date>2012-11-19 17:19:25 -0800</date>
            <delta_ts>2012-11-19 18:17:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102328-20121119171715.patch</filename>
            <type>text/plain</type>
            <size>15703</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUxZGI1NDgxZTc1ODRm
NWIwY2VjZGNlOGQ3YmI1MmU1MWI1ZWUxOS4uMTI4M2YyYjI4N2I4MmQ4ZTAyMTZjZWExN2Q5ZDU0
YjU5ZjA5YThmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTE5ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXIg
d3JhcHBlciBzaG91bGQgbm90IGJlIGNvbGxlY3RlZCB3aGlsZSBzdGlsbCBvYnNlcnZpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjMyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgVXNlIHRoZSBuZXcgb3Bh
cXVlUm9vdEZvckdDIGhlbHBlciBpbiBWOEdDQ29udHJvbGxlciB0byBwdXQgZWFjaAorICAgICAg
ICBNdXRhdGlvbk9ic2VydmVyIHdyYXBwZXIgaW4gdGhlIHNhbWUgb2JqZWN0IGdyb3VwIGFzIHRo
ZSBub2RlcyBpdCdzCisgICAgICAgIG9ic2VydmluZy4KKworICAgICAgICBPbmx5IGluY2x1ZGVz
IFY4IGltcGwgZm9yIG5vdywgSlNDIGltcGwgY29taW5nIHNvb24uCisKKyAgICAgICAgVGVzdHM6
IGZhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLXRyYW5zaWVudC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi5odG1s
CisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHA6IEFkZCBjdXN0b20g
Y29kZSBmb3IgTXV0YXRpb25PYnNlcnZlcgorICAgICAgICB3aXRoIGEgRklYTUUgdG8gbW92ZSB0
aGlzIG91dCBvbmNlIHdlIHVwZGF0ZSB0aGUgb3BhcXVlIHJvb3RzIEFQSS4KKyAgICAgICAgKiBk
b20vTXV0YXRpb25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlvbk9ic2Vy
dmVyOjpnZXRPYnNlcnZlZE5vZGVzKTogUGx1bWJpbmcgdG8gZXhwb3NlIHRoZSBvYnNlcnZlZCBu
b2RlcworICAgICAgICB0byB0aGUgR0MgY29udHJvbGxlci4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGRvbS9NdXRhdGlvbk9ic2VydmVyLmg6CisgICAgICAgICogZG9tL011dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbjo6YWRkUmVnaXN0cmF0aW9uTm9kZXNUb1NldCk6IE1vcmUgcGx1bWJp
bmcuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5oOgorICAgICAgICAoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbik6CisK
IDIwMTItMTEtMTkgIEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
Y2hyb21pdW1dIExhenkgaW1hZ2UgZGVjb2Rpbmcgd2l0aG91dCBjYWNoZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIuY3BwCmluZGV4IDk4NzM3YjNiYjU3NjBl
M2U4YjBjMzFkMWIzZGUyNTI5ZTMyYThjMzQuLjRjYzAzZmJkYzM4ZjExYjUyZGZmMDg1YjI4OGI3
Y2E0YjMzZWE2ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4R0ND
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEdDQ29udHJv
bGxlci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJWOEFic3RyYWN0RXZlbnRMaXN0
ZW5lci5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4TWVzc2FnZVBvcnQu
aCIKKyNpbmNsdWRlICJWOE11dGF0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJWOE5vZGUuaCIK
ICNpbmNsdWRlICJWOFJlY3Vyc2lvblNjb3BlLmgiCiAjaW5jbHVkZSAiV3JhcHBlclR5cGVJbmZv
LmgiCkBAIC0xNzYsNiArMTc3LDE0IEBAIHB1YmxpYzoKICAgICAgICAgICAgIE1lc3NhZ2VQb3J0
KiBwb3J0ID0gc3RhdGljX2Nhc3Q8TWVzc2FnZVBvcnQqPihvYmplY3QpOwogICAgICAgICAgICAg
aWYgKHBvcnQtPmlzRW50YW5nbGVkKCkgfHwgcG9ydC0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpCiAg
ICAgICAgICAgICAgICAgbV9ncm91cGVyLmtlZXBBbGl2ZSh3cmFwcGVyKTsKKyNpZiBFTkFCTEUo
TVVUQVRJT05fT0JTRVJWRVJTKQorICAgICAgICB9IGVsc2UgaWYgKFY4TXV0YXRpb25PYnNlcnZl
cjo6aW5mby5lcXVhbHModHlwZSkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBBbGxvdyBvcGFx
dWVSb290Rm9yR0MgdG8gb3BlcmF0ZSBvbiBtdWx0aXBsZSByb290cyBhbmQgbW92ZSB0aGlzIGxv
Z2ljIGludG8gVjhNdXRhdGlvbk9ic2VydmVyQ3VzdG9tLgorICAgICAgICAgICAgTXV0YXRpb25P
YnNlcnZlciogb2JzZXJ2ZXIgPSBzdGF0aWNfY2FzdDxNdXRhdGlvbk9ic2VydmVyKj4ob2JqZWN0
KTsKKyAgICAgICAgICAgIEhhc2hTZXQ8Tm9kZSo+IG9ic2VydmVkTm9kZXMgPSBvYnNlcnZlci0+
Z2V0T2JzZXJ2ZWROb2RlcygpOworICAgICAgICAgICAgZm9yIChIYXNoU2V0PE5vZGUqPjo6aXRl
cmF0b3IgaXQgPSBvYnNlcnZlZE5vZGVzLmJlZ2luKCk7IGl0ICE9IG9ic2VydmVkTm9kZXMuZW5k
KCk7ICsraXQpCisgICAgICAgICAgICAgICAgbV9ncm91cGVyLmFkZFRvR3JvdXAoVjhHQ0NvbnRy
b2xsZXI6Om9wYXF1ZVJvb3RGb3JHQygqaXQpLCB3cmFwcGVyKTsKKyNlbmRpZiAvLyBFTkFCTEUo
TVVUQVRJT05fT0JTRVJWRVJTKQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgQWN0aXZl
RE9NT2JqZWN0KiBhY3RpdmVET01PYmplY3QgPSB0eXBlLT50b0FjdGl2ZURPTU9iamVjdCh3cmFw
cGVyKTsKICAgICAgICAgICAgIGlmIChhY3RpdmVET01PYmplY3QgJiYgYWN0aXZlRE9NT2JqZWN0
LT5oYXNQZW5kaW5nQWN0aXZpdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbk9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
LmNwcAppbmRleCAwYzIxMGZhNDZiYWRhNjkyNjNjNGNhOGIwMWQ5MjViY2Y4OWEzNGQ5Li43YjFl
YmFiNGMyMjU1NDcyMDY0MjY1MjY1NzEzNDhkZmEzZmI0ZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L011dGF0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjcsNiArMTY3LDE0IEBAIHZvaWQgTXV0YXRpb25P
YnNlcnZlcjo6c2V0SGFzVHJhbnNpZW50UmVnaXN0cmF0aW9uKCkKICAgICBhY3RpdmVNdXRhdGlv
bk9ic2VydmVycygpLmFkZCh0aGlzKTsKIH0KIAorSGFzaFNldDxOb2RlKj4gTXV0YXRpb25PYnNl
cnZlcjo6Z2V0T2JzZXJ2ZWROb2RlcygpIGNvbnN0Cit7CisgICAgSGFzaFNldDxOb2RlKj4gb2Jz
ZXJ2ZWROb2RlczsKKyAgICBmb3IgKEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlv
bio+Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbV9yZWdpc3RyYXRpb25zLmJlZ2luKCk7IGl0ZXIg
IT0gbV9yZWdpc3RyYXRpb25zLmVuZCgpOyArK2l0ZXIpCisgICAgICAgICgqaXRlciktPmFkZFJl
Z2lzdHJhdGlvbk5vZGVzVG9TZXQob2JzZXJ2ZWROb2Rlcyk7CisgICAgcmV0dXJuIG9ic2VydmVk
Tm9kZXM7Cit9CisKIHZvaWQgTXV0YXRpb25PYnNlcnZlcjo6ZGVsaXZlcigpCiB7CiAgICAgLy8g
Q2FsbGluZyBjbGVhclRyYW5zaWVudFJlZ2lzdHJhdGlvbnMoKSBjYW4gbW9kaWZ5IG1fcmVnaXN0
cmF0aW9ucywgc28gaXQncyBuZWNlc3NhcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NdXRhdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZl
ci5oCmluZGV4IGZhZGIzNzhkMWVmZGViZDFjYmNlMzI0N2VkOWY5ZmIxMDM3NzM0MDEuLjY3N2M2
MzdmZjQxMDA2MjlkYmQzZGM0MDg3MTEwMzNjZWY5OGJiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011
dGF0aW9uT2JzZXJ2ZXIuaApAQCAtODcsNiArODcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbnF1
ZXVlTXV0YXRpb25SZWNvcmQoUGFzc1JlZlB0cjxNdXRhdGlvblJlY29yZD4pOwogICAgIHZvaWQg
c2V0SGFzVHJhbnNpZW50UmVnaXN0cmF0aW9uKCk7CiAKKyAgICBIYXNoU2V0PE5vZGUqPiBnZXRP
YnNlcnZlZE5vZGVzKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgc3RydWN0IE9ic2VydmVyTGVz
c1RoYW47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmNwcAppbmRleCA0YzMwYWMzMGNjOGJiOTdiYWRmZTAwODQzOTUyZWQwYmQ1MjM5
NTZhLi5lZDdhMzUwOGE4NDBlNGM5YzU0NzlmZjYwYmZhYTdhNjg4ZTM1ZDA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCkBA
IC0xMjQsNiArMTI0LDE1IEBAIGJvb2wgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6c2hv
dWxkUmVjZWl2ZU11dGF0aW9uRnJvbShOb2RlKiBub2RlLCBNdXRhdGlvCiAgICAgcmV0dXJuIG1f
YXR0cmlidXRlRmlsdGVyLmNvbnRhaW5zKGF0dHJpYnV0ZU5hbWUtPmxvY2FsTmFtZSgpKTsKIH0K
IAordm9pZCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjphZGRSZWdpc3RyYXRpb25Ob2Rl
c1RvU2V0KEhhc2hTZXQ8Tm9kZSo+JiBub2RlcykgY29uc3QKK3sKKyAgICBub2Rlcy5hZGQobV9y
ZWdpc3RyYXRpb25Ob2RlKTsKKyAgICBpZiAoIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMp
CisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKE5vZGVIYXNoU2V0Ojpjb25zdF9pdGVyYXRvciBp
dGVyID0gbV90cmFuc2llbnRSZWdpc3RyYXRpb25Ob2Rlcy0+YmVnaW4oKTsgaXRlciAhPSBtX3Ry
YW5zaWVudFJlZ2lzdHJhdGlvbk5vZGVzLT5lbmQoKTsgKytpdGVyKQorICAgICAgICBub2Rlcy5h
ZGQoaXRlci0+Z2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmgKaW5kZXggYWYyMjJlOGM1YjRhZDg0MjIzNDQ1
NmNmYjYyZWRkMDMxYjg1Y2FiMy4uZjcyYjY0NDc5MjBlZWYzYTFiNTU2YjNkMWU3OWI5Njk2NGZi
NDQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbi5oCkBAIC02MCw2ICs2MCw4IEBAIHB1YmxpYzoKICAgICBNdXRhdGlvblJlY29yZERl
bGl2ZXJ5T3B0aW9ucyBkZWxpdmVyeU9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMg
JiAoTXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xkVmFsdWUgfCBNdXRhdGlvbk9ic2VydmVy
OjpDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOyB9CiAgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMg
bXV0YXRpb25UeXBlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0aW9uT2JzZXJ2
ZXI6OkFsbE11dGF0aW9uVHlwZXM7IH0KIAorICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uTm9kZXNU
b1NldChIYXNoU2V0PE5vZGUqPiYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24oUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPiwgTm9kZSosIE11
dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJp
YnV0ZUZpbHRlcik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZWYzOGM1ODExZTQxZTM5NDVlNjUyMDk4NzQ1YWFmYzk2
NzgwNDRiLi4wMzNmMGE2OGZlNmMzN2I0Y2IxYmYyNzMyNDE2Yjk5NjYyMDgxMmQ1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMTEtMTkgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTXV0YXRpb25PYnNlcnZlciB3cmFwcGVyIHNob3VsZCBub3QgYmUgY29s
bGVjdGVkIHdoaWxlIHN0aWxsIG9ic2VydmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KKworICAgICAgICBUZXN0cyBzaG93aW5nIHRoYXQgb2JzZXJ2ZXJzIGFyZSBrZXB0IGFs
aXZlLCBib3RoIGluIHRoZSBzaW1wbGUgY2FzZQorICAgICAgICBhbmQgaW4gdGhlIHRyYW5zaWVu
dCByZWdpc3RlcmVkIG9ic2VydmVyIGNhc2UgKHdoZXJlIHRoZSBvcmlnaW5hbAorICAgICAgICBy
ZWdpc3RyYXRpb24gbm9kZSBpcyBHQ2VkIGJ1dCB0aGUgdHJhbnNpZW50IG9ic2VydmF0aW9uIG5v
ZGUgaXMgc3RpbGwKKyAgICAgICAgYWxpdmUpLgorCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9v
YnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJv
cG9mZi10cmFuc2llbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdXRhdGlvbi9vYnNl
cnZlci13cmFwcGVyLWRyb3BvZmYuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTkgIEFiaGlzaGVr
IEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBBcHBseVN0
eWxlQ29tbWFuZDo6Y2xlYW51cFVuc3R5bGVkQXBwbGVTdHlsZVNwYW5zLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3Bv
ZmYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4YzBmMmU5ZGNjNjQxNjVkZDgyYTdkMTI0YzVm
MzI5ZWMzYmU5M2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9u
L29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAor
TXV0YXRpb25PYnNlcnZlciB3cmFwcGVycyBzaG91bGQgc3Vydml2ZSBHQyBmb3IgcGFzc2luZyBp
bnRvIHRoZSBjYWxsYmFjayBldmVuIGlmIEpTIGhhcyBsb3N0IHJlZmVyZW5jZXMuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRy
b3BvZmYtdHJhbnNpZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24v
b2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLXRyYW5zaWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTYzYTU1M2VjMjIzNmNjMWZlZGQzMWU4ZWRmMTFhNDQxYzNiNmJiMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2Zm
LXRyYW5zaWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorTXV0YXRpb25PYnNlcnZl
ciB3cmFwcGVycyBzaG91bGQgc3Vydml2ZSBHQyBmb3IgcGFzc2luZyBpbnRvIHRoZSBjYWxsYmFj
ayBldmVuIGlmIEpTIGhhcyBsb3N0IHJlZmVyZW5jZXMgYW5kIHRoZSBvbmx5IHJlbWFpbmluZyBv
YnNlcnZhdGlvbnMgYXJlIHRyYW5zaWVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1Mgb2JzZXJ2ZXIudGVzdFByb3BlcnR5IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLXRyYW5z
aWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkYzg0MjU4YzBlN2E4NzkwOWFmMjIxMDZiNmMxNTI4Yjg4
NWQ0NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2Vy
dmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURP
Q1RZUEUgaHRtbD4KKworPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignTXV0YXRpb25PYnNlcnZlciB3
cmFwcGVycyBzaG91bGQgc3Vydml2ZSBHQyBmb3IgcGFzc2luZyBpbnRvIHRoZSBjYWxsYmFjayBl
dmVuIGlmIEpTIGhhcyBsb3N0IHJlZmVyZW5jZXMgYW5kIHRoZSBvbmx5IHJlbWFpbmluZyBvYnNl
cnZhdGlvbnMgYXJlIHRyYW5zaWVudC4nKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1
bmN0aW9uIGFkZE9ic2VydmVyKG5vZGUsIGZuKSB7CisgICAgdmFyIG9ic2VydmVyID0gbmV3IFdl
YktpdE11dGF0aW9uT2JzZXJ2ZXIoZm4pOworICAgIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSA9IHRy
dWU7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZShub2RlLCB7YXR0cmlidXRlczp0cnVlLCBzdWJ0cmVl
OiB0cnVlfSk7Cit9CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgdmFyIGNoaWxkID0gcm9vdC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykpOworICAgIGFkZE9ic2VydmVyKHJv
b3QsIGZ1bmN0aW9uKHJlY29yZHMsIG9ic2VydmVyKSB7CisgICAgICAgIHdpbmRvdy5vYnNlcnZl
ciA9IG9ic2VydmVyOworICAgICAgICBzaG91bGRCZSgnb2JzZXJ2ZXIudGVzdFByb3BlcnR5Jywg
J3RydWUnKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSk7CisKKyAgICByb290LnJl
bW92ZUNoaWxkKGNoaWxkKTsKKyAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2ZvbycsICdiYXInKTsK
KyAgICByb290ID0gbnVsbDsKKworICAgIGdjKCk7Cit9OworPC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1ZGJjYmJmMDk1ZWRmNDQ1MGY0NTZjZTEzYTYzNjM2NzNjZTE0YjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmVyLXdy
YXBwZXItZHJvcG9mZi5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKwor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdNdXRhdGlvbk9ic2VydmVyIHdyYXBwZXJzIHNob3VsZCBz
dXJ2aXZlIEdDIGZvciBwYXNzaW5nIGludG8gdGhlIGNhbGxiYWNrIGV2ZW4gaWYgSlMgaGFzIGxv
c3QgcmVmZXJlbmNlcy4nKTsKKworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIGFk
ZE9ic2VydmVyKG5vZGUsIGZuKSB7CisgICAgdmFyIG9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0
aW9uT2JzZXJ2ZXIoZm4pOworICAgIG9ic2VydmVyLnRlc3RQcm9wZXJ0eSA9IHRydWU7CisgICAg
b2JzZXJ2ZXIub2JzZXJ2ZShub2RlLCB7YXR0cmlidXRlczp0cnVlfSk7Cit9CisKK29ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgIGFkZE9ic2VydmVyKGRvY3VtZW50LmJvZHksIGZ1bmN0aW9uKHJl
Y29yZHMsIG9ic2VydmVyKSB7CisgICAgICAgIHdpbmRvdy5vYnNlcnZlciA9IG9ic2VydmVyOwor
ICAgICAgICBzaG91bGRCZSgnb2JzZXJ2ZXIudGVzdFByb3BlcnR5JywgJ3RydWUnKTsKKyAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSk7CisKKyAgICBnYygpOworCisgICAgZG9jdW1lbnQu
Ym9keS5zZXRBdHRyaWJ1dGUoJ3RvdWNoJywgJ3RoZSBub2RlJyk7Cit9OworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjZkYzQxMTM5
YTE4YjYwMGZhMjQ1NTlhMTUzYWVmMzMxMTE3OTZmNC4uNjY3ODY3YWRhODNmMWE2Y2IxNmViMGNl
ZDc1NGRkM2Y5YjM3ZGJiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE3MTMsMyArMTcxMyw2IEBAIHdlYmtpdC5vcmcvYi8xMDIzNjQgY29tcG9zaXRp
bmcvb3ZlcmZsb3cvc2Nyb2xsaW5nLXdpdGhvdXQtcGFpbnRpbmcuaHRtbCBbIEZhaWx1CiB3ZWJr
aXQub3JnL2IvMTAyMzY3IGZhc3QvZm9ybXMvem9vbWVkLWNvbnRyb2xzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIE1pc3NpbmcgXQogCiB3ZWJraXQub3JnL2IvMTAyNDkzIGZhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci5odG1sIFsgRmFpbHVyZSBdCisKK3dlYmtpdC5vcmcvYi8xMDI3NDQgZmFzdC9t
dXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYuaHRtbCBbIFNraXAgXQord2Via2l0Lm9y
Zy9iLzEwMjc0NCBmYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2ll
bnQuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA1N2ExMDMwZTA5YzI1YmUxNzQ5NjI0OWIyMGQzYjAzMWJiNTI2ODg5Li5jZWU1NzA4
OWVmOGFkZDdhNzMzOGM3MzA4MmZiNDMyZWRiZmZhNTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTM4Nyw2ICsxMzg3LDkgQEAgd2Via2l0Lm9yZy9i
LzEwMjM0OSBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWVuYWJsZWQtYXJlYS5o
dG1sIFsgSW1hZ2UKIAogd2Via2l0Lm9yZy9iLzEwMjU4NiBtZWRpYS92aWRlby1zcmMtYmxvYi5o
dG1sIFsgRmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8xMDI3NDQgZmFzdC9tdXRhdGlvbi9vYnNl
cnZlci13cmFwcGVyLWRyb3BvZmYuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwMjc0NCBm
YXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQuaHRtbCBbIFNr
aXAgXQorCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2YgVGVzdHMg
ZmFpbGluZwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMDQwMGRmYTYyMTJiMzhlODk3Yzc0Yzcz
ZDcyMGQ0OTg3MjIzYjllMy4uZThkM2Y3NjZjNzliOWVkNmI4NzZmZjMxODQ2MDE1NTEwOWFmMDQz
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExOTMs
MyArMTE5Myw2IEBAIEJ1ZyhqZXJub2JsZSkgWyBNb3VudGFpbkxpb24gTGlvbiBTbm93TGVvcGFy
ZCBdIG1lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWwKIAogIyBIYW5ncyBzYWZhcmkgYXBwYXJlbnRs
eSBkdWUgdG8gYW4gaXNzdWUgd2l0aCB3ZWlyZCBtdWx0aS1mcmFtZSBDVVIgaW1hZ2UgZmlsZXMK
IHdlYmtpdC5vcmcvYi8xMDE4MTEgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVj
dXIuaHRtbCBbIFNraXAgXQorCit3ZWJraXQub3JnL2IvMTAyNzQ0IGZhc3QvbXV0YXRpb24vb2Jz
ZXJ2ZXItd3JhcHBlci1kcm9wb2ZmLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDI3NDQg
ZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYtdHJhbnNpZW50Lmh0bWwgWyBT
a2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDk0YWM2
NWMyMjhjMDQ0YzhiNTRhZjI2YWE3MzFkOGViNjFiZjBkNTIuLmU1MWE4MTk1MDk0MGFhYzgyNjAx
ZjZiNmU2NjM2YzhhY2YzNWEwMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjM4NiwzICsyMzg2LDYgQEAgd2Via2l0Lm9yZy9iLzEwMTkyNSBjc3MzL2Zp
bHRlcnMvZWZmZWN0LXJlZmVyZW5jZS1vcmRlcmluZy1ody5odG1sCiAKICMgW1F0XSBmYXN0L2Js
b2NrL2Zsb2F0L292ZXJoYW5naW5nLXRhbGwtYmxvY2suaHRtbCBhc3NlcnRzIGFmdGVyIHIxMzUw
MjUKIHdlYmtpdC5vcmcvYi8xMDI2NzUgWyBEZWJ1ZyBdIGZhc3QvYmxvY2svZmxvYXQvb3Zlcmhh
bmdpbmctdGFsbC1ibG9jay5odG1sCisKK3dlYmtpdC5vcmcvYi8xMDI3NDQgZmFzdC9tdXRhdGlv
bi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEw
Mjc0NCBmYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi10cmFuc2llbnQuaHRt
bCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA3OGE5OTYzYTNmMDI0NTBiZDYzNmM2OWMxZTdhMzU4OTI1ZTNmZmYwLi42ZDA3NDJkNTZmMTNm
ODE3NzMwNTY1M2Q2MDViOTBhZTZmOTRjZjYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMjQzMCwzICsyNDMwLDYgQEAgZmFzdC94bWxodHRwcmVxdWVz
dC94bWxodHRwcmVxdWVzdC1yZWN1cnNpdmUtc3luYy1ldmVudC5odG1sCiBmYXN0L2NzczMtdGV4
dC9jc3MzLXRleHQtYWxpZ24tbGFzdC9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUt
dGV4dC1hbGlnbi1sYXN0LWluaGVyaXRlZC5odG1sCiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQt
YWxpZ24tbGFzdC9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC1hbGlnbi1s
YXN0Lmh0bWwKIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVk
U3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LWRlY29yYXRpb24tbGluZS5odG1sCisKK3dlYmtp
dC5vcmcvYi8xMDI3NDQgZmFzdC9tdXRhdGlvbi9vYnNlcnZlci13cmFwcGVyLWRyb3BvZmYuaHRt
bCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwMjc0NCBmYXN0L211dGF0aW9uL29ic2VydmVyLXdy
YXBwZXItZHJvcG9mZi10cmFuc2llbnQuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDM3ODI5N2M5NzJmMTJjMzNh
YjYxNWM2YzhhOTBiODhiNzI4N2FlZS4uMDgxMGQ5YmZmNDg4MDhlNjYzYTU4ZTQ4ODIxZDU3Nzc4
MGFmY2Y0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCkBAIC0yOTYxLDMgKzI5NjEsNiBAQCBmYXN0L3htbGh0dHByZXF1ZXN0L3htbGh0dHBy
ZXF1ZXN0LXJlY3Vyc2l2ZS1zeW5jLWV2ZW50Lmh0bWwKIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4
dC1hbGlnbi1sYXN0L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LWFsaWdu
LWxhc3QtaW5oZXJpdGVkLmh0bWwKIGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1hbGlnbi1sYXN0
L2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LWFsaWduLWxhc3QuaHRtbAog
ZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWRlY29yYXRpb24vZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLXRleHQtZGVjb3JhdGlvbi1saW5lLmh0bWwKKword2Via2l0Lm9yZy9iLzEw
Mjc0NCBmYXN0L211dGF0aW9uL29ic2VydmVyLXdyYXBwZXItZHJvcG9mZi5odG1sIFsgU2tpcCBd
Cit3ZWJraXQub3JnL2IvMTAyNzQ0IGZhc3QvbXV0YXRpb24vb2JzZXJ2ZXItd3JhcHBlci1kcm9w
b2ZmLXRyYW5zaWVudC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>