<?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>38397</bug_id>
          
          <creation_ts>2010-04-30 12:35:26 -0700</creation_ts>
          <short_desc>Add &quot;preSubmitForm&quot; hook to FrameLoader</short_desc>
          <delta_ts>2010-05-03 11:12:57 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jens Alfke">jens</reporter>
          <assigned_to name="Jens Alfke">jens</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fishd</cc>
    
    <cc>jens</cc>
    
    <cc>sullivan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>219574</commentid>
    <comment_count>0</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2010-04-30 12:35:26 -0700</bug_when>
    <thetext>In some cases* the browser may need to examine the contents of a form immediately before it&apos;s submitted — in particular, before any of the page&apos;s onSubmit handlers have had a chance to run. WebKit does not currently have any hook for this, since the existing &quot;willSubmitForm&quot; delegate method in the API does not get called until after the form submission has actually begun.

The enclosed patch remedies this by adding a &quot;dispatchPreSubmitForm&quot; method to the WebCore::FrameLoaderClient interface. (It&apos;s not abstract: it defaults to doing nothing. I did this because it won&apos;t always be needed, and adding an abstract method to FrameLoaderClient requires modifying half a dozen subclasses for at least four different OSs, to avoid breaking the build.)

I plumbed this through Chromium&apos;s WebKit API, because I need this callback for some work I&apos;m doing on Chrome. I didn&apos;t touch the APIs for other platforms, but it would of course be easy to add if anyone else needs this functionality.

[* The case in question is &lt;http://code.google.com/p/chromium/issues/detail?id=28910&gt;. Some websites modify the login form, clearing the password field and putting a hashed password into a hidden field, in the onSubmit handler. This breaks Chrome&apos;s (and Safari&apos;s) password autofill, because by the time it registers that the form was submitted, it&apos;s too late to capture the password. The autofill code needs a chance to look at the form before the onSubmit handler runs.]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219579</commentid>
    <comment_count>1</comment_count>
      <attachid>54819</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2010-04-30 12:51:27 -0700</bug_when>
    <thetext>Created attachment 54819
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219583</commentid>
    <comment_count>2</comment_count>
      <attachid>54819</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-30 13:01:43 -0700</bug_when>
    <thetext>Comment on attachment 54819
patch

WebCore/html/HTMLFormElement.cpp:294
 +      frame-&gt;loader()-&gt;dispatchPreSubmitForm(this);
I would just do frame-&gt;loader()-&gt;client()-&gt;dispatch* here instead
of adding the intermediate FrameLoader method.

WebCore/loader/FrameLoaderClient.h:149
 +          virtual void dispatchPreSubmitForm(HTMLFormElement*) { };
How about naming this dispatchWillSendSubmitEvent?  I think that name is more accurate.

WebKit/chromium/public/WebFrameClient.h:143
 +      virtual void preSubmitForm(WebFrame*, const WebFormElement&amp;) { }
willSendSubmitEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219610</commentid>
    <comment_count>3</comment_count>
      <attachid>54826</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2010-04-30 14:03:12 -0700</bug_when>
    <thetext>Created attachment 54826
patch 2

Sounds good. Here&apos;s an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219629</commentid>
    <comment_count>4</comment_count>
      <attachid>54826</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-30 15:38:19 -0700</bug_when>
    <thetext>Comment on attachment 54826
patch 2

WebCore/loader/FrameLoaderClient.h:149
&gt; +          virtual void dispatchWillSendSubmitEvent(HTMLFormElement*) { };
no trailing suffix.  actually, this should be pure, and the numerous
implementations of this interface should be updated to have an empty
method.  that way if the method name is changed, it will be easy to
tell if it impacts any ports.

we don&apos;t use that rule in WebFrameClient.h since we have different
constraints there:  we are optimizing there for avoiding painful
two-sided commits.

WebKit/chromium/src/FrameLoaderClientImpl.cpp:955
&gt; +  void FrameLoaderClientImpl::dispatchWillSendSubmitEvent(WebCore::HTMLFormElement* form)
no need for WebCore:: prefix in this file.  there is
a &apos;using namespace WebCore&apos; at the top of the file.

WebKit/chromium/public/WebFrameClient.h:141
&gt; +      // A form submission has been requested, but the page&apos;s onSubmit handlers
nit: onSubmit -&gt; submit event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219651</commentid>
    <comment_count>5</comment_count>
      <attachid>54836</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2010-04-30 16:54:17 -0700</bug_when>
    <thetext>Created attachment 54836
patch 3

OK, made the new method abstract. That unfortunately required touching about 8 more files (all the places it&apos;s implemented across all platforms.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219684</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-04-30 19:38:45 -0700</bug_when>
    <thetext>Is the patch missing a change for the win port?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219700</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-05-01 00:21:35 -0700</bug_when>
    <thetext>&gt; Some websites
&gt; modify the login form, clearing the password field and putting a hashed
&gt; password into a hidden field, in the onSubmit handler.

Is it known why those sites are doing that? Is the purpose to prevent autofill?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219746</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-05-01 13:31:55 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; Some websites
&gt; &gt; modify the login form, clearing the password field and putting a hashed
&gt; &gt; password into a hidden field, in the onSubmit handler.
&gt; 
&gt; Is it known why those sites are doing that? Is the purpose to prevent autofill?

I don&apos;t think we know for sure, but it seems that they would just use autocomplete=off if they cared about defeating password managers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220025</commentid>
    <comment_count>9</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2010-05-02 23:12:11 -0700</bug_when>
    <thetext>&gt; Is it known why those sites are doing that? Is the purpose to prevent autofill?

No, the purpose is to avoid sending the password in the clear, without having to implement SSL on the server. I think LiveJournal does it because SSL used to be too expensive, and SimpleMachines does it because they want their forum software to be able to run in a typical hosted web setup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220144</commentid>
    <comment_count>10</comment_count>
      <attachid>54933</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2010-05-03 09:45:38 -0700</bug_when>
    <thetext>Created attachment 54933
patch 4

Added the new method to Windows WebFrame class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220197</commentid>
    <comment_count>11</comment_count>
      <attachid>54933</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-03 11:12:50 -0700</bug_when>
    <thetext>Comment on attachment 54933
patch 4

Clearing flags on attachment: 54933

Committed r58686: &lt;http://trac.webkit.org/changeset/58686&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220198</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-03 11:12:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54819</attachid>
            <date>2010-04-30 12:51:27 -0700</date>
            <delta_ts>2010-04-30 14:03:12 -0700</delta_ts>
            <desc>patch</desc>
            <filename>textmate stdin IgmZEh.txt</filename>
            <type>text/plain</type>
            <size>6586</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODFlODA4ZS4uOGE2NTEyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wNC0zMCAgSmVucyBBbGZrZSAg
PHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJwcmVTdWJtaXRGb3JtIiBob29rIHRvIFdlYkZy
YW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzOTcKKworICAgICAgICBObyB0ZXN0cyAoZnVuY3Rp
b25hbGl0eSBpcyBleHBvc2VkIG9ubHkgdGhyb3VnaCBuYXRpdmUgV2ViS2l0IEFQSS4pCisKKyAg
ICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Rm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQpOiAgQ2FsbCBmcmFtZSBsb2FkZXIncyBkaXNwYXRj
aFByZVN1Ym1pdEZvcm0KKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
OjpkaXNwYXRjaFByZVN1Ym1pdEZvcm0pOiAgQ2FsbCBjbGllbnQncyBkaXNwYXRjaFByZVN1Ym1p
dEZvcm0KKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIv
RnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaFByZVN1Ym1pdEZvcm0pOiAgTmV3IGVtcHR5IG1ldGhvZAorCiAyMDEwLTA0LTI4
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByNTgzMTMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmlu
ZGV4IGNhZmEzYzkuLmM3YmQ1ZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0yOTEs
NiArMjkxLDggQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQoRXZlbnQqIGV2
ZW50KQogICAgIGlmICghdmFsaWRhdGVJbnRlcmFjdGl2ZWx5KGV2ZW50KSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCisgICAgZnJhbWUtPmxvYWRlcigpLT5kaXNwYXRjaFByZVN1Ym1pdEZvcm0o
dGhpcyk7CisKICAgICBpZiAoZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5zdWJtaXRFdmVudCwgdHJ1ZSwgdHJ1ZSkpICYmICFtX2RvaW5nc3VibWl0KQogICAgICAgICBt
X2RvaW5nc3VibWl0ID0gdHJ1ZTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDgxM2RhNWYu
LmExZGUxOTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysg
Yi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0MzQsNiArMzQzNCwxMSBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3koY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFzcwogICAgICAgICBjb250aW51ZUxvYWRBZnRlcldpbGxTdWJt
aXRGb3JtKCk7CiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoUHJlU3VibWl0Rm9ybShI
VE1MRm9ybUVsZW1lbnQqIGZvcm0pCit7CisgICAgbV9jbGllbnQtPmRpc3BhdGNoUHJlU3VibWl0
Rm9ybShmb3JtKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlcjo6Y2FsbENvbnRpbnVlTG9hZEFmdGVy
TmV3V2luZG93UG9saWN5KHZvaWQqIGFyZ3VtZW50LAogICAgIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSwgY29uc3QgU3RyaW5n
JiBmcmFtZU5hbWUsIGJvb2wgc2hvdWxkQ29udGludWUpCiB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRl
eCA5MmEzMWYwLi4yNGZjNmNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTM0Nyw2ICszNDcsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGJvb2wgY2xlYXJXaW5kb3dQcm9wZXJ0aWVzID0g
dHJ1ZSwgYm9vbCBjbGVhclNjcmlwdE9iamVjdHMgPSB0cnVlLCBib29sIGNsZWFyRnJhbWVWaWV3
ID0gdHJ1ZSk7CiAgICAgCisgICAgdm9pZCBkaXNwYXRjaFByZVN1Ym1pdEZvcm0oSFRNTEZvcm1F
bGVtZW50KiBmb3JtKTsKKwogcHJpdmF0ZToKICAgICBib29sIGNhbkNhY2hlUGFnZUNvbnRhaW5p
bmdUaGlzRnJhbWUoKTsKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aAppbmRleCA3MzZjNjhlLi40MDJmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgK
QEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lTG9h
ZGVyOwogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIEhUTUxBcHBsZXRFbGVtZW50
OworICAgIGNsYXNzIEhUTUxGb3JtRWxlbWVudDsKICAgICBjbGFzcyBIVE1MRnJhbWVPd25lckVs
ZW1lbnQ7CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgY2xhc3MgSFRN
TE1lZGlhRWxlbWVudDsKQEAgLTE0NSw2ICsxNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29u
c3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hQ
cmVTdWJtaXRGb3JtKEhUTUxGb3JtRWxlbWVudCopIHsgfTsKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFzc1JlZlB0cjxG
b3JtU3RhdGU+KSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZE1h
aW5SZXNvdXJjZShEb2N1bWVudExvYWRlciopID0gMDsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI0ZmQ3ZjYu
LmUyYzE4NGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA0LTMwICBKZW5z
IEFsZmtlICA8c25lakBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgInByZVN1Ym1pdEZvcm0iIGhvb2sg
dG8gV2ViRnJhbWVDbGllbnQgYW5kIEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3Rz
IChmdW5jdGlvbmFsaXR5IGlzIGV4cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJ
LikKKworICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUNsaWVudDo6cHJlU3VibWl0Rm9ybSk6IE5ldyBlbXB0eSBtZXRob2QKKyAgICAg
ICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJh
bWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaFByZVN1Ym1pdEZvcm0pOiBEZWxlZ2F0ZSB0byBj
bGllbnQKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6CisKIDIwMTAtMDQt
MjcgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWVDbGllbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAppbmRl
eCAwYmEyYzMwLi5jZTZkMWM5IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lQ2xpZW50LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVu
dC5oCkBAIC0xMzgsNiArMTM4LDEwIEBAIHB1YmxpYzoKIAogICAgIC8vIE5hdmlnYXRpb25hbCBu
b3RpZmljYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
CisgICAgLy8gQSBmb3JtIHN1Ym1pc3Npb24gaGFzIGJlZW4gcmVxdWVzdGVkLCBidXQgdGhlIHBh
Z2UncyBvblN1Ym1pdCBoYW5kbGVycworICAgIC8vIGhhdmVuJ3QgeWV0IGhhZCBhIGNoYW5jZSB0
byBydW4gKGFuZCBwb3NzaWJseSBhbHRlci9pbnRlcnJ1cHQgdGhlIHN1Ym1pdC4pCisgICAgdmly
dHVhbCB2b2lkIHByZVN1Ym1pdEZvcm0oV2ViRnJhbWUqLCBjb25zdCBXZWJGb3JtRWxlbWVudCYp
IHsgfQorCiAgICAgLy8gQSBmb3JtIHN1Ym1pc3Npb24gaXMgYWJvdXQgdG8gb2NjdXIuCiAgICAg
dmlydHVhbCB2b2lkIHdpbGxTdWJtaXRGb3JtKFdlYkZyYW1lKiwgY29uc3QgV2ViRm9ybUVsZW1l
bnQmKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNs
aWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwu
Y3BwCmluZGV4IDY1Y2RlNTcuLmIzNDk4OWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Zy
YW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTk1Miw2ICs5NTIsMTIgQEAgdm9pZCBGcmFtZUxv
YWRlckNsaWVudEltcGw6OmRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVz
b3VyY2VFcnJvciYKICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+dW5hYmxlVG9JbXBsZW1lbnRQ
b2xpY3lXaXRoRXJyb3IobV93ZWJGcmFtZSwgZXJyb3IpOwogfQogCit2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50SW1wbDo6ZGlzcGF0Y2hQcmVTdWJtaXRGb3JtKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVu
dCogZm9ybSkKK3sKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCisgICAgICAgIG1fd2Vi
RnJhbWUtPmNsaWVudCgpLT5wcmVTdWJtaXRGb3JtKG1fd2ViRnJhbWUsIFdlYkZvcm1FbGVtZW50
KGZvcm0pKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFN1
Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwKICAgICBQYXNzUmVmUHRyPEZv
cm1TdGF0ZT4gZm9ybVN0YXRlKQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9G
cmFtZUxvYWRlckNsaWVudEltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJD
bGllbnRJbXBsLmgKaW5kZXggZDRmMTY5Mi4uNmQ4MmZiYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oCkBAIC0xMTcsNiArMTE3LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24o
V2ViQ29yZTo6RnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwgY29uc3QgV2ViQ29yZTo6TmF2
aWdhdGlvbkFjdGlvbiYgYWN0aW9uLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPiBmb3JtX3N0YXRlKTsKICAgICB2
aXJ0dWFsIHZvaWQgY2FuY2VsUG9saWN5Q2hlY2soKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hVbmFibGVUb0ltcGxlbWVudFBvbGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7
CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoUHJlU3VibWl0Rm9ybShXZWJDb3JlOjpIVE1MRm9y
bUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShXZWJD
b3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4p
OwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExvYWRNYWluUmVzb3VyY2UoV2ViQ29yZTo6
RG9jdW1lbnRMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0
YXRlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKik7Cg==
</data>
<flag name="review"
          id="38874"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54826</attachid>
            <date>2010-04-30 14:03:12 -0700</date>
            <delta_ts>2010-04-30 16:54:17 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>textmate stdin IfLjbE.txt</filename>
            <type>text/plain</type>
            <size>5593</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODFlODA4ZS4uNmRlZTM5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wNC0zMCAgSmVucyBBbGZrZSAg
PHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJ3aWxsU2VuZFN1Ym1pdEV2ZW50IiBob29rIHRv
IFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzOTcKKworICAgICAgICBObyB0ZXN0cyAo
ZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9ubHkgdGhyb3VnaCBuYXRpdmUgV2ViS2l0IEFQSS4p
CisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQpOiAgQ2FsbCBmcmFtZSBsb2FkZXIncyBk
aXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdp
bGxTZW5kU3VibWl0RXZlbnQpOiAgTmV3IGVtcHR5IG1ldGhvZAorCiAyMDEwLTA0LTI4ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByNTgzMTMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGNh
ZmEzYzkuLjcyNmM5ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0zOCw2ICszOCw3
IEBACiAjaW5jbHVkZSAiRm9ybVN0YXRlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1Db2xsZWN0aW9uLmgiCiAjaW5j
bHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgpAQCAtMjkxLDYgKzI5Miw4IEBAIGJvb2wgSFRNTEZv
cm1FbGVtZW50OjpwcmVwYXJlU3VibWl0KEV2ZW50KiBldmVudCkKICAgICBpZiAoIXZhbGlkYXRl
SW50ZXJhY3RpdmVseShldmVudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGZyYW1l
LT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCh0aGlzKTsK
KwogICAgIGlmIChkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN1Ym1p
dEV2ZW50LCB0cnVlLCB0cnVlKSkgJiYgIW1fZG9pbmdzdWJtaXQpCiAgICAgICAgIG1fZG9pbmdz
dWJtaXQgPSB0cnVlOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNs
aWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA3MzZjNjhl
Li5mOGI5MTRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTU0LDYgKzU0LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lTG9hZGVyOwogICAgIGNsYXNz
IEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIEhUTUxBcHBsZXRFbGVtZW50OworICAgIGNsYXNzIEhU
TUxGb3JtRWxlbWVudDsKICAgICBjbGFzcyBIVE1MRnJhbWVPd25lckVsZW1lbnQ7CiAjaWYgRU5B
QkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsK
QEAgLTE0NSw2ICsxNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVzb3VyY2VFcnJv
ciYpID0gMDsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2
ZW50KEhUTUxGb3JtRWxlbWVudCopIHsgfTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
V2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+
KSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJj
ZShEb2N1bWVudExvYWRlciopID0gMDsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI0ZmQ3ZjYuLjczODQyYmMg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA0LTMwICBKZW5zIEFsZmtlICA8
c25lakBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgIndpbGxTZW5kU3VibWl0RXZlbnQiIGhvb2sgdG8g
V2ViRnJhbWVDbGllbnQgYW5kIEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3RzIChm
dW5jdGlvbmFsaXR5IGlzIGV4cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJLikK
KworICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUNsaWVudDo6d2lsbFNlbmRTdWJtaXRFdmVudCk6IE5ldyBlbXB0eSBtZXRob2QKKyAg
ICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOiBEZWxl
Z2F0ZSB0byBjbGllbnQKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6CisK
IDIwMTAtMDQtMjcgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWVDbGllbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGll
bnQuaAppbmRleCAwYmEyYzMwLi4yNzBiNzU3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
cmFtZUNsaWVudC5oCkBAIC0xMzgsNiArMTM4LDEwIEBAIHB1YmxpYzoKIAogICAgIC8vIE5hdmln
YXRpb25hbCBub3RpZmljYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCisgICAgLy8gQSBmb3JtIHN1Ym1pc3Npb24gaGFzIGJlZW4gcmVxdWVzdGVkLCBi
dXQgdGhlIHBhZ2UncyBvblN1Ym1pdCBoYW5kbGVycworICAgIC8vIGhhdmVuJ3QgeWV0IGhhZCBh
IGNoYW5jZSB0byBydW4gKGFuZCBwb3NzaWJseSBhbHRlci9pbnRlcnJ1cHQgdGhlIHN1Ym1pdC4p
CisgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kU3VibWl0RXZlbnQoV2ViRnJhbWUqLCBjb25zdCBX
ZWJGb3JtRWxlbWVudCYpIHsgfQorCiAgICAgLy8gQSBmb3JtIHN1Ym1pc3Npb24gaXMgYWJvdXQg
dG8gb2NjdXIuCiAgICAgdmlydHVhbCB2b2lkIHdpbGxTdWJtaXRGb3JtKFdlYkZyYW1lKiwgY29u
c3QgV2ViRm9ybUVsZW1lbnQmKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwCmluZGV4IDY1Y2RlNTcuLjYzMTRlZjkgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTk1Miw2ICs5NTIsMTIg
QEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQ
b2xpY3koY29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+dW5h
YmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IobV93ZWJGcmFtZSwgZXJyb3IpOwogfQogCit2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFdl
YkNvcmU6OkhUTUxGb3JtRWxlbWVudCogZm9ybSkKK3sKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xp
ZW50KCkpCisgICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT53aWxsU2VuZFN1Ym1pdEV2ZW50
KG1fd2ViRnJhbWUsIFdlYkZvcm1FbGVtZW50KGZvcm0pKTsKK30KKwogdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiBm
dW5jdGlvbiwKICAgICBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlKQogewpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5kZXggZDRmMTY5Mi4uYzE2
M2Y2MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudElt
cGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oCkBA
IC0xMTcsNiArMTE3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViQ29yZTo6RnJhbWVQb2xpY3lGdW5jdGlvbiBm
dW5jdGlvbiwgY29uc3QgV2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlvbiYgYWN0aW9uLCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9y
bVN0YXRlPiBmb3JtX3N0YXRlKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9saWN5Q2hlY2so
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVudFBvbGljeShjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2ls
bFNlbmRTdWJtaXRFdmVudChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQqKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShXZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9u
LCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pOwogICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZExvYWRNYWluUmVzb3VyY2UoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqKTsKICAgICB2
aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRlKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyKik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54836</attachid>
            <date>2010-04-30 16:54:17 -0700</date>
            <delta_ts>2010-05-03 09:45:38 -0700</delta_ts>
            <desc>patch 3</desc>
            <filename>textmate stdin atmLmv.txt</filename>
            <type>text/plain</type>
            <size>15389</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODcxYjY5MC4uMTdhMmZkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNC0zMCAgSmVucyBBbGZrZSAg
PHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJ3aWxsU2VuZFN1Ym1pdEV2ZW50IiBob29rIHRv
IFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzOTcKKworICAgICAgICBObyB0ZXN0cyAo
ZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9ubHkgdGhyb3VnaCBuYXRpdmUgV2ViS2l0IEFQSS4p
CisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQpOiAgQ2FsbCBmcmFtZSBsb2FkZXIncyBk
aXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KTogIE5l
dyBlbXB0eSBtZXRob2QKKwogMjAxMC0wNC0yOSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5jcHAKaW5kZXggOTRkMDAyZi4uZDdmNWQ5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiRnJhbWVMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9y
bUNvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCkBAIC0yOTIsNiAr
MjkzLDggQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQoRXZlbnQqIGV2ZW50
KQogICAgIGlmICghdmFsaWRhdGVJbnRlcmFjdGl2ZWx5KGV2ZW50KSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hXaWxsU2Vu
ZFN1Ym1pdEV2ZW50KHRoaXMpOworCiAgICAgaWYgKGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuc3VibWl0RXZlbnQsIHRydWUsIHRydWUpKSAmJiAhbV9kb2luZ3N1Ym1p
dCkKICAgICAgICAgbV9kb2luZ3N1Ym1pdCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5k
ZXggYWI4MTBlZi4uYzYzMDkzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIzNCw2ICsyMzQs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVu
dFBvbGljeShjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KEhUTUxGb3JtRWxlbWVudCopIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NS
ZWZQdHI8Rm9ybVN0YXRlPikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2Fk
TWFpblJlc291cmNlKERvY3VtZW50TG9hZGVyKikgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaAppbmRleCAzZjAwMzg1Li40OWI0MDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
LmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1l
TG9hZGVyOwogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIEhUTUxBcHBsZXRFbGVt
ZW50OworICAgIGNsYXNzIEhUTUxGb3JtRWxlbWVudDsKICAgICBjbGFzcyBIVE1MRnJhbWVPd25l
ckVsZW1lbnQ7CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgY2xhc3Mg
SFRNTE1lZGlhRWxlbWVudDsKQEAgLTE0OSw2ICsxNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3ko
Y29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KEhUTUxGb3JtRWxlbWVudCopID0gMDsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFz
c1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkTG9hZE1haW5SZXNvdXJjZShEb2N1bWVudExvYWRlciopID0gMDsKZGlmZiAtLWdpdCBhL1dl
YktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkMGMxYmMuLmYyYjJlMzEg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTA0LTMwICBKZW5zIEFsZmtlICA8c25lakBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9t
aXVtXSBBZGQgIndpbGxTZW5kU3VibWl0RXZlbnQiIGhvb2sgdG8gV2ViRnJhbWVDbGllbnQgYW5k
IEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3RzIChmdW5jdGlvbmFsaXR5IGlzIGV4
cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJLikKKworICAgICAgICAqIGVmbC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCk6CisKIDIw
MTAtMDQtMjIgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NDM4Y2I2MC4uOGIyNTNjMiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xMzIsNiArMTMyLDIxIEBACiAgICAg
ICAgIChkZWJ1Z2dlclNjcmlwdENvbnN0cnVjdG9yLkRlYnVnZ2VyU2NyaXB0Ll92OFRvV2Via2l0
TGluZU51bWJlcik6CiAgICAgICAgIChkZWJ1Z2dlclNjcmlwdENvbnN0cnVjdG9yKToKIAorMjAx
MC0wNC0zMCAgSmVucyBBbGZrZSAgPHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJ3aWxsU2Vu
ZFN1Ym1pdEV2ZW50IiBob29rIHRvIFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRlckNsaWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzOTcK
KworICAgICAgICBObyB0ZXN0cyAoZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9ubHkgdGhyb3Vn
aCBuYXRpdmUgV2ViS2l0IEFQSS4pCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWVDbGllbnQu
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OndpbGxTZW5kU3VibWl0RXZlbnQp
OiBOZXcgZW1wdHkgbWV0aG9kCisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxs
U2VuZFN1Ym1pdEV2ZW50KTogRGVsZWdhdGUgdG8gY2xpZW50CisgICAgICAgICogc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5oOgorCiAyMDEwLTA0LTI3ICBKZW5zIEFsZmtlICA8c25lakBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggMGJhMmMzMC4uMmI3ZWUwZCAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaApAQCAtMTM4LDYgKzEzOCwxMCBAQCBw
dWJsaWM6CiAKICAgICAvLyBOYXZpZ2F0aW9uYWwgbm90aWZpY2F0aW9ucyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorICAgIC8vIEEgZm9ybSBzdWJtaXNzaW9u
IGhhcyBiZWVuIHJlcXVlc3RlZCwgYnV0IHRoZSBwYWdlJ3Mgc3VibWl0IGV2ZW50IGhhbmRsZXIK
KyAgICAvLyBoYXNuJ3QgeWV0IGhhZCBhIGNoYW5jZSB0byBydW4gKGFuZCBwb3NzaWJseSBhbHRl
ci9pbnRlcnJ1cHQgdGhlIHN1Ym1pdC4pCisgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kU3VibWl0
RXZlbnQoV2ViRnJhbWUqLCBjb25zdCBXZWJGb3JtRWxlbWVudCYpIHsgfQorCiAgICAgLy8gQSBm
b3JtIHN1Ym1pc3Npb24gaXMgYWJvdXQgdG8gb2NjdXIuCiAgICAgdmlydHVhbCB2b2lkIHdpbGxT
dWJtaXRGb3JtKFdlYkZyYW1lKiwgY29uc3QgV2ViRm9ybUVsZW1lbnQmKSB7IH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCmluZGV4IDY1Y2RlNTcu
LjE3ZDk0MTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGll
bnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1w
bC5jcHAKQEAgLTk1Miw2ICs5NTIsMTIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRp
c3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBt
X3dlYkZyYW1lLT5jbGllbnQoKS0+dW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IobV93
ZWJGcmFtZSwgZXJyb3IpOwogfQogCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0
Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KEhUTUxGb3JtRWxlbWVudCogZm9ybSkKK3sKKyAgICBpZiAo
bV93ZWJGcmFtZS0+Y2xpZW50KCkpCisgICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT53aWxs
U2VuZFN1Ym1pdEV2ZW50KG1fd2ViRnJhbWUsIFdlYkZvcm1FbGVtZW50KGZvcm0pKTsKK30KKwog
dm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQ
b2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwKICAgICBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0
YXRlKQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVu
dEltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5k
ZXggZDRmMTY5Mi4uYzE2M2Y2MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFt
ZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oCkBAIC0xMTcsNiArMTE3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViQ29yZTo6RnJhbWVQ
b2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwgY29uc3QgV2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlvbiYg
YWN0aW9uLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6Rm9ybVN0YXRlPiBmb3JtX3N0YXRlKTsKICAgICB2aXJ0dWFsIHZvaWQgY2Fu
Y2VsUG9saWN5Q2hlY2soKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxl
bWVudFBvbGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CisgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQq
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShXZWJDb3JlOjpGcmFt
ZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pOwogICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaERpZExvYWRNYWluUmVzb3VyY2UoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRlKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyKik7CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmggYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50RWZsLmgKaW5kZXggNDdiNTYyMS4uNTgxZWM4NSAxMDA2NDQKLS0tIGEv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCisrKyBiL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuaApAQCAtMTIxLDYg
KzEyMSw3IEBAIGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50RWZsIDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFVuYWJsZVRvSW1wbGVtZW50UG9s
aWN5KGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdp
bGxTZW5kU3VibWl0RXZlbnQoSFRNTEZvcm1FbGVtZW50KikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgV1RGOjpQYXNzUmVm
UHRyPEZvcm1TdGF0ZT4pOwogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZE1haW5S
ZXNvdXJjZShEb2N1bWVudExvYWRlciopOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBhNTNjMjFkLi5mNWMyZjkxIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTA0LTMwICBKZW5zIEFsZmtlICA8c25lakBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9t
aXVtXSBBZGQgIndpbGxTZW5kU3VibWl0RXZlbnQiIGhvb2sgdG8gV2ViRnJhbWVDbGllbnQgYW5k
IEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3RzIChmdW5jdGlvbmFsaXR5IGlzIGV4
cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJLikKKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmg6CisgICAgICAgIChXZWJLaXQ6OkZyYW1l
TG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOgorCiAyMDEwLTA0LTI5
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50R3RrLmgKaW5kZXggNjdmN2ExYS4uMmVlZWIzNSAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaApAQCAtMTAxLDYgKzEwMSw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFVu
YWJsZVRvSW1wbGVtZW50UG9saWN5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKIAor
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFdlYkNvcmU6
OkhUTUxGb3JtRWxlbWVudCopIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxs
U3VibWl0Rm9ybShXZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9uLCBXVEY6OlBhc3NSZWZQdHI8
V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlk
TG9hZE1haW5SZXNvdXJjZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciopOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2hhaWt1L0NoYW5nZUxvZyBiL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKaW5kZXggZjA5
YzQ1Ni4uZjdiNDc0NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDQtMzAgIEplbnMg
QWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCAid2lsbFNlbmRTdWJtaXRFdmVudCIg
aG9vayB0byBXZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mzk3CisKKyAgICAgICAgTm8g
dGVzdHMgKGZ1bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBvbmx5IHRocm91Z2ggbmF0aXZlIFdlYktp
dCBBUEkuKQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlr
dS5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRIYWlrdTo6ZGlzcGF0Y2hX
aWxsU2VuZFN1Ym1pdEV2ZW50KToKKwogMjAxMC0wNC0yMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuaCBi
L1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmgKaW5k
ZXggY2YyZmIwNi4uMDczYzBjMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuaAorKysgYi9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCkBAIC0xMTIsNiArMTEyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hTaG93KCk7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2xpY3lDaGVjaygpOwogCisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoSFRNTEZvcm1FbGVtZW50KikgeyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVu
Y3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPik7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShEb2N1bWVudExvYWRlciopOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAyYTkzMTBj
Li4xZjY1NTExIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0LTMwICBKZW5zIEFsZmtlICA8
c25lakBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgIndpbGxTZW5kU3VibWl0RXZlbnQiIGhvb2sgdG8g
V2ViRnJhbWVDbGllbnQgYW5kIEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3RzIChm
dW5jdGlvbmFsaXR5IGlzIGV4cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJLikK
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KToK
KwogMjAxMC0wNC0yOCAgTWlrZSBUaG9sZSAgPG10aG9sZUBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IGExMzJhMDkuLjdkNzAxYWYgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysg
Yi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTEy
NSw2ICsxMjUsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxl
VG9JbXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogCisgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChXZWJDb3JlOjpIVE1MRm9y
bUVsZW1lbnQqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShX
ZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0
ZT4pOwogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShXZWJD
b3JlOjpEb2N1bWVudExvYWRlciopOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMjcyNGY0MC4uOGRkNWMyZiAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTAtMDQtMzAgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFk
ZCAid2lsbFNlbmRTdWJtaXRFdmVudCIgaG9vayB0byBXZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVM
b2FkZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM4Mzk3CisKKyAgICAgICAgTm8gdGVzdHMgKGZ1bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBv
bmx5IHRocm91Z2ggbmF0aXZlIFdlYktpdCBBUEkuKQorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJD
bGllbnRRdDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KToKKwogMjAxMC0wNC0yOSAgTGFz
emxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaAppbmRleCAzNDg4NzJiLi45Yzk2OGEwIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCisr
KyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmgKQEAgLTEy
OCw2ICsxMjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZl
bnQoSFRNTEZvcm1FbGVtZW50KikgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdp
bGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPik7
CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShEb2N1
bWVudExvYWRlciopOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1dlYktpdC93
eC9DaGFuZ2VMb2cKaW5kZXggOTZiMGIyMi4uMGE1YTcxMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTAtMDQtMzAgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCAid2lsbFNl
bmRTdWJtaXRFdmVudCIgaG9vayB0byBXZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVMb2FkZXJDbGll
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mzk3
CisKKyAgICAgICAgTm8gdGVzdHMgKGZ1bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBvbmx5IHRocm91
Z2ggbmF0aXZlIFdlYktpdCBBUEkuKQorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFd4Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFd4Ojpk
aXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOgorCiAyMDEwLTA0LTI1ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsu
CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4
LmggYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKaW5kZXgg
ZTlmNTY2Yi4uOTVlZjJlNiAxMDA2NDQKLS0tIGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRXeC5oCisrKyBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50V3guaApAQCAtMTEzLDYgKzExMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoU2hvdygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
Y2FuY2VsUG9saWN5Q2hlY2soKTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxs
U2VuZFN1Ym1pdEV2ZW50KEhUTUxGb3JtRWxlbWVudCopIHsgfQogICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShGcmFtZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRy
PEZvcm1TdGF0ZT4pOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExvYWRNYWlu
UmVzb3VyY2UoRG9jdW1lbnRMb2FkZXIqKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9n
IGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTMxMTQ0Ni4uYzljODZiNiAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0wNC0zMCAgSmVucyBBbGZrZSAgPHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJ3
aWxsU2VuZFN1Ym1pdEV2ZW50IiBob29rIHRvIFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRl
ckNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzgzOTcKKworICAgICAgICBObyB0ZXN0cyAoZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9ubHkg
dGhyb3VnaCBuYXRpdmUgV2ViS2l0IEFQSS4pCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOgorCiAyMDEwLTA0
LTI4ICBNaWtlIFRob2xlICA8bXRob2xlQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXgs
IG5vdCByZXZpZXdlZC4KZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggNTZjMWRmYy4uNjk5MWY2YyAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmgKQEAgLTEwMyw2ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlRXJyb3ImKTsKICAgICAKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2Vu
ZFN1Ym1pdEV2ZW50KFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudCopIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24s
IFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAgCiAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciopOwo=
</data>
<flag name="review"
          id="38894"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54933</attachid>
            <date>2010-05-03 09:45:38 -0700</date>
            <delta_ts>2010-05-03 11:12:50 -0700</delta_ts>
            <desc>patch 4</desc>
            <filename>textmate stdin STr75w.txt</filename>
            <type>text/plain</type>
            <size>16446</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODcxYjY5MC4uMmZkOWQ3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNS0wMyAgSmVucyBBbGZrZSAg
PHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJ3aWxsU2VuZFN1Ym1pdEV2ZW50IiBob29rIHRv
IFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzOTcKKworICAgICAgICBObyB0ZXN0cyAo
ZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9ubHkgdGhyb3VnaCBuYXRpdmUgV2ViS2l0IEFQSS4p
CisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQpOiAgQ2FsbCBmcmFtZSBsb2FkZXIncyBk
aXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KTogIE5l
dyBlbXB0eSBtZXRob2QKKwogMjAxMC0wNC0yOSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5j
b20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5jcHAKaW5kZXggOTRkMDAyZi4uZDdmNWQ5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJGb3JtU3RhdGUuaCIKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiRnJhbWVMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9y
bUNvbGxlY3Rpb24uaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCkBAIC0yOTIsNiAr
MjkzLDggQEAgYm9vbCBIVE1MRm9ybUVsZW1lbnQ6OnByZXBhcmVTdWJtaXQoRXZlbnQqIGV2ZW50
KQogICAgIGlmICghdmFsaWRhdGVJbnRlcmFjdGl2ZWx5KGV2ZW50KSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hXaWxsU2Vu
ZFN1Ym1pdEV2ZW50KHRoaXMpOworCiAgICAgaWYgKGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuc3VibWl0RXZlbnQsIHRydWUsIHRydWUpKSAmJiAhbV9kb2luZ3N1Ym1p
dCkKICAgICAgICAgbV9kb2luZ3N1Ym1pdCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5k
ZXggYWI4MTBlZi4uYzYzMDkzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIzNCw2ICsyMzQs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVu
dFBvbGljeShjb25zdCBSZXNvdXJjZUVycm9yJikgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KEhUTUxGb3JtRWxlbWVudCopIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NS
ZWZQdHI8Rm9ybVN0YXRlPikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2Fk
TWFpblJlc291cmNlKERvY3VtZW50TG9hZGVyKikgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaAppbmRleCAzZjAwMzg1Li40OWI0MDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
LmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1l
TG9hZGVyOwogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIEhUTUxBcHBsZXRFbGVt
ZW50OworICAgIGNsYXNzIEhUTUxGb3JtRWxlbWVudDsKICAgICBjbGFzcyBIVE1MRnJhbWVPd25l
ckVsZW1lbnQ7CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCiAgICAgY2xhc3Mg
SFRNTE1lZGlhRWxlbWVudDsKQEAgLTE0OSw2ICsxNTAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3ko
Y29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KEhUTUxGb3JtRWxlbWVudCopID0gMDsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFz
c1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkTG9hZE1haW5SZXNvdXJjZShEb2N1bWVudExvYWRlciopID0gMDsKZGlmZiAtLWdpdCBhL1dl
YktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkMGMxYmMuLmYyYjJlMzEg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTA0LTMwICBKZW5zIEFsZmtlICA8c25lakBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9t
aXVtXSBBZGQgIndpbGxTZW5kU3VibWl0RXZlbnQiIGhvb2sgdG8gV2ViRnJhbWVDbGllbnQgYW5k
IEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3RzIChmdW5jdGlvbmFsaXR5IGlzIGV4
cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJLikKKworICAgICAgICAqIGVmbC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCk6CisKIDIw
MTAtMDQtMjIgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NDM4Y2I2MC4uNTE2ODUwZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDUt
MDMgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCAid2lsbFNlbmRTdWJt
aXRFdmVudCIgaG9vayB0byBXZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVMb2FkZXJDbGllbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mzk3CisKKyAg
ICAgICAgTm8gdGVzdHMgKGZ1bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBvbmx5IHRocm91Z2ggbmF0
aXZlIFdlYktpdCBBUEkuKQorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50Ojp3aWxsU2VuZFN1Ym1pdEV2ZW50KTogTmV3
IGVtcHR5IG1ldGhvZAorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFNlbmRT
dWJtaXRFdmVudCk6IERlbGVnYXRlIHRvIGNsaWVudAorICAgICAgICAqIHNyYy9GcmFtZUxvYWRl
ckNsaWVudEltcGwuaDoKKwogMjAxMC0wNC0yOSAgQW50b24gTXVoaW4gIDxhbnRvbm1AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAppbmRleCAwYmEyYzMwLi4yYjdlZTBkIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCkBAIC0xMzgsNiArMTM4LDEwIEBAIHB1
YmxpYzoKIAogICAgIC8vIE5hdmlnYXRpb25hbCBub3RpZmljYXRpb25zIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCisgICAgLy8gQSBmb3JtIHN1Ym1pc3Npb24g
aGFzIGJlZW4gcmVxdWVzdGVkLCBidXQgdGhlIHBhZ2UncyBzdWJtaXQgZXZlbnQgaGFuZGxlcgor
ICAgIC8vIGhhc24ndCB5ZXQgaGFkIGEgY2hhbmNlIHRvIHJ1biAoYW5kIHBvc3NpYmx5IGFsdGVy
L2ludGVycnVwdCB0aGUgc3VibWl0LikKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRTdWJtaXRF
dmVudChXZWJGcmFtZSosIGNvbnN0IFdlYkZvcm1FbGVtZW50JikgeyB9CisKICAgICAvLyBBIGZv
cm0gc3VibWlzc2lvbiBpcyBhYm91dCB0byBvY2N1ci4KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFN1
Ym1pdEZvcm0oV2ViRnJhbWUqLCBjb25zdCBXZWJGb3JtRWxlbWVudCYpIHsgfQogCmRpZmYgLS1n
aXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKaW5kZXggNjVjZGU1Ny4u
MTdkOTQxNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVu
dEltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmNwcApAQCAtOTUyLDYgKzk1MiwxMiBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlz
cGF0Y2hVbmFibGVUb0ltcGxlbWVudFBvbGljeShjb25zdCBSZXNvdXJjZUVycm9yJgogICAgIG1f
d2ViRnJhbWUtPmNsaWVudCgpLT51bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcihtX3dl
YkZyYW1lLCBlcnJvcik7CiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRj
aFdpbGxTZW5kU3VibWl0RXZlbnQoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQoreworICAgIGlmICht
X3dlYkZyYW1lLT5jbGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPndpbGxT
ZW5kU3VibWl0RXZlbnQobV93ZWJGcmFtZSwgV2ViRm9ybUVsZW1lbnQoZm9ybSkpOworfQorCiB2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShGcmFtZVBv
bGljeUZ1bmN0aW9uIGZ1bmN0aW9uLAogICAgIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3Rh
dGUpCiB7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRl
eCBkNGYxNjkyLi5jMTYzZjYyIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJD
bGllbnRJbXBsLmgKQEAgLTExNyw2ICsxMTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXZWJDb3JlOjpGcmFtZVBv
bGljeUZ1bmN0aW9uIGZ1bmN0aW9uLCBjb25zdCBXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uJiBh
Y3Rpb24sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpGb3JtU3RhdGU+IGZvcm1fc3RhdGUpOwogICAgIHZpcnR1YWwgdm9pZCBjYW5j
ZWxQb2xpY3lDaGVjaygpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFVuYWJsZVRvSW1wbGVt
ZW50UG9saWN5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudCop
OwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1l
UG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRGlkTG9hZE1haW5SZXNvdXJjZShXZWJDb3JlOjpEb2N1bWVudExv
YWRlciopOwogICAgIHZpcnR1YWwgdm9pZCByZXZlcnRUb1Byb3Zpc2lvbmFsU3RhdGUoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXIqKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuaCBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRFZmwuaAppbmRleCA0N2I1NjIxLi41ODFlYzg1IDEwMDY0NAotLS0gYS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmgKKysrIGIvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCkBAIC0xMjEsNiAr
MTIxLDcgQEAgY2xhc3MgRnJhbWVMb2FkZXJDbGllbnRFZmwgOiBwdWJsaWMgRnJhbWVMb2FkZXJD
bGllbnQgewogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xp
Y3koY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2ls
bFNlbmRTdWJtaXRFdmVudChIVE1MRm9ybUVsZW1lbnQqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShGcmFtZVBvbGljeUZ1bmN0aW9uLCBXVEY6OlBhc3NSZWZQ
dHI8Rm9ybVN0YXRlPik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkTWFpblJl
c291cmNlKERvY3VtZW50TG9hZGVyKik7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IGE1M2MyMWQuLjRhZmVhYWMgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMDUtMDMgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21p
dW1dIEFkZCAid2lsbFNlbmRTdWJtaXRFdmVudCIgaG9vayB0byBXZWJGcmFtZUNsaWVudCBhbmQg
RnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM4Mzk3CisKKyAgICAgICAgTm8gdGVzdHMgKGZ1bmN0aW9uYWxpdHkgaXMgZXhw
b3NlZCBvbmx5IHRocm91Z2ggbmF0aXZlIFdlYktpdCBBUEkuKQorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVM
b2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCk6CisKIDIwMTAtMDQtMjkg
IFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1
c3Rhdm8gTm9yb25oYS4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRHdGsuaAppbmRleCA2N2Y3YTFhLi4yZWVlYjM1IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKKysrIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCkBAIC0xMDEsNiArMTAxLDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5h
YmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogCisg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoV2ViQ29yZTo6
SFRNTEZvcm1FbGVtZW50KikgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxT
dWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24sIFdURjo6UGFzc1JlZlB0cjxX
ZWJDb3JlOjpGb3JtU3RhdGU+KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRM
b2FkTWFpblJlc291cmNlKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKik7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvaGFpa3UvQ2hhbmdlTG9nIGIvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZwppbmRleCBmMDlj
NDU2Li5mN2UzZmNiIDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9oYWlrdS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNS0wMyAgSmVucyBB
bGZrZSAgPHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkICJ3aWxsU2VuZFN1Ym1pdEV2ZW50IiBo
b29rIHRvIFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxvYWRlckNsaWVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgzOTcKKworICAgICAgICBObyB0
ZXN0cyAoZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9ubHkgdGhyb3VnaCBuYXRpdmUgV2ViS2l0
IEFQSS4pCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1
Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEhhaWt1OjpkaXNwYXRjaFdp
bGxTZW5kU3VibWl0RXZlbnQpOgorCiAyMDEwLTA0LTIwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oIGIv
V2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuaAppbmRl
eCBjZjJmYjA2Li4wNzNjMGMzIDEwMDY0NAotLS0gYS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCisrKyBiL1dlYktpdC9oYWlrdS9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmgKQEAgLTExMiw2ICsxMTIsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFNob3coKTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvbGljeUNoZWNrKCk7CiAKKyAgICAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChIVE1MRm9ybUVsZW1lbnQqKSB7IH0KICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5j
dGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hEaWRMb2FkTWFpblJlc291cmNlKERvY3VtZW50TG9hZGVyKik7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDJhOTMxMGMu
LjAxNTU5MGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDUtMDMgIEplbnMgQWxma2UgIDxz
bmVqQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBbY2hyb21pdW1dIEFkZCAid2lsbFNlbmRTdWJtaXRFdmVudCIgaG9vayB0byBX
ZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mzk3CisKKyAgICAgICAgTm8gdGVzdHMgKGZ1
bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBvbmx5IHRocm91Z2ggbmF0aXZlIFdlYktpdCBBUEkuKQor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOgor
CiAyMDEwLTA0LTI4ICBNaWtlIFRob2xlICA8bXRob2xlQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYTEzMmEwOS4uN2Q3MDFhZiAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisrKyBi
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMTI1
LDYgKzEyNSw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVU
b0ltcGxlbWVudFBvbGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAKKyAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudCopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKFdl
YkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRl
Pik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkTWFpblJlc291cmNlKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyKik7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIv
V2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAyNzI0ZjQwLi5iZDgyNzY1IDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMC0wNS0wMyAgSmVucyBBbGZrZSAgPHNuZWpAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRk
ICJ3aWxsU2VuZFN1Ym1pdEV2ZW50IiBob29rIHRvIFdlYkZyYW1lQ2xpZW50IGFuZCBGcmFtZUxv
YWRlckNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzgzOTcKKworICAgICAgICBObyB0ZXN0cyAoZnVuY3Rpb25hbGl0eSBpcyBleHBvc2VkIG9u
bHkgdGhyb3VnaCBuYXRpdmUgV2ViS2l0IEFQSS4pCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFF0Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNs
aWVudFF0OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOgorCiAyMDEwLTA0LTI5ICBMYXN6
bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmggYi9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCmluZGV4IDM0ODg3MmIuLjljOTY4YTAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmgKKysr
IGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaApAQCAtMTI4
LDYgKzEyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVudFBvbGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yJik7CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVu
dChIVE1MRm9ybUVsZW1lbnQqKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2ls
bFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+KTsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkTWFpblJlc291cmNlKERvY3Vt
ZW50TG9hZGVyKik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktpdC93
aW4vQ2hhbmdlTG9nCmluZGV4IDdmNzE0YTMuLjc0NTBmNWYgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDUtMDMgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCAid2ls
bFNlbmRTdWJtaXRFdmVudCIgaG9vayB0byBXZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVMb2FkZXJD
bGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4
Mzk3CisKKyAgICAgICAgTm8gdGVzdHMgKGZ1bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBvbmx5IHRo
cm91Z2ggbmF0aXZlIFdlYktpdCBBUEkuKQorCisgICAgICAgICogV2ViRnJhbWUuaDoKKwogMjAx
MC0wNC0yOCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1lLmggYi9X
ZWJLaXQvd2luL1dlYkZyYW1lLmgKaW5kZXggYzcwMjY1NC4uZDA1M2QzYiAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9XZWJGcmFtZS5oCisrKyBiL1dlYktpdC93aW4vV2ViRnJhbWUuaApAQCAtMjg2
LDYgKzI4Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoZWRGcm9tUGFyZW50
MigpOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hlZEZyb21QYXJlbnQzKCk7CiAgICAgdmlydHVh
bCB2b2lkIGNhbmNlbFBvbGljeUNoZWNrKCk7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2ls
bFNlbmRTdWJtaXRFdmVudChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQqKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShXZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0
aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXZlcnRUb1Byb3Zpc2lvbmFsU3RhdGUoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0TWFpbkZyYW1lRG9jdW1lbnRSZWFkeShib29sKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC93eC9DaGFuZ2VMb2cgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IDk2YjBiMjIu
LjBjMWY3NWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3d4
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA1LTAzICBKZW5zIEFsZmtlICA8c25l
akBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW2Nocm9taXVtXSBBZGQgIndpbGxTZW5kU3VibWl0RXZlbnQiIGhvb2sgdG8gV2Vi
RnJhbWVDbGllbnQgYW5kIEZyYW1lTG9hZGVyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODM5NworCisgICAgICAgIE5vIHRlc3RzIChmdW5j
dGlvbmFsaXR5IGlzIGV4cG9zZWQgb25seSB0aHJvdWdoIG5hdGl2ZSBXZWJLaXQgQVBJLikKKwor
ICAgICAgICAqIFdlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50
KToKKwogMjAxMC0wNC0yNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L1dl
YktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oIGIvV2ViS2l0L3d4L1dlYktpdFN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oCmluZGV4IGU5ZjU2NmIuLjk1ZWYyZTYgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaAorKysgYi9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKQEAgLTExMyw2ICsx
MTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aFNob3coKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvbGljeUNoZWNrKCk7CiAKKyAg
ICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChIVE1MRm9ybUVs
ZW1lbnQqKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0o
RnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+KTsKIAogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMb2FkTWFpblJlc291cmNlKERvY3VtZW50TG9hZGVyKik7
CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDkzMTE0NDYuLmM5Yzg2YjYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDQtMzAgIEplbnMgQWxma2Ug
IDxzbmVqQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCAid2lsbFNlbmRTdWJtaXRFdmVudCIgaG9vayB0
byBXZWJGcmFtZUNsaWVudCBhbmQgRnJhbWVMb2FkZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mzk3CisKKyAgICAgICAgTm8gdGVzdHMg
KGZ1bmN0aW9uYWxpdHkgaXMgZXhwb3NlZCBvbmx5IHRocm91Z2ggbmF0aXZlIFdlYktpdCBBUEku
KQorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hX
aWxsU2VuZFN1Ym1pdEV2ZW50KToKKwogMjAxMC0wNC0yOCAgTWlrZSBUaG9sZSAgPG10aG9sZUBh
cHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4LCBub3QgcmV2aWV3ZWQuCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
aCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5oCmluZGV4IDU2YzFkZmMuLjY5OTFmNmMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0xMDMsNiAr
MTAzLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVU
b0ltcGxlbWVudFBvbGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAgICAgCisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChXZWJDb3JlOjpIVE1M
Rm9ybUVsZW1lbnQqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9y
bShXZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1T
dGF0ZT4pOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExvYWRNYWluUmVzb3Vy
Y2UoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>