<?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>83788</bug_id>
          
          <creation_ts>2012-04-12 09:44:04 -0700</creation_ts>
          <short_desc>Update webkitSourceAppend() signature to match Media Source v0.4 spec</short_desc>
          <delta_ts>2012-05-01 10:31:44 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>83607</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Aaron Colwell">acolwell</reporter>
          <assigned_to name="Aaron Colwell">acolwell</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>601297</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-12 09:44:04 -0700</bug_when>
    <thetext>The Media Source v0.4 spec(http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html) adds an ID parameter to the webkitSourceAppend() signature. 

The method signature needs to be updated in the IDL, ID validation logic needs to be added, and the id parameter needs to be propagated to the MediaPlayerPrivate interface so the Chromium code has access to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609128</commentid>
    <comment_count>1</comment_count>
      <attachid>138663</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-24 15:16:07 -0700</bug_when>
    <thetext>Created attachment 138663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609136</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 15:19:43 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609138</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-24 15:20:27 -0700</bug_when>
    <thetext>Attachment 138663 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/http...&quot; exit_code: 1
Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609149</commentid>
    <comment_count>4</comment_count>
      <attachid>138668</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-24 15:28:03 -0700</bug_when>
    <thetext>Created attachment 138668
Making style bot happy with my ChangeLog entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609816</commentid>
    <comment_count>5</comment_count>
      <attachid>138668</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-04-25 09:05:46 -0700</bug_when>
    <thetext>Comment on attachment 138668
Making style bot happy with my ChangeLog entry

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

The WebKit portion looks OK modulo the minor style nit noted. Not marking r+ or cq + because I am not abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org

&gt; LayoutTests/http/tests/media/media-source/webm/webm-media-source.js:114
&gt; +function addSourceId(videoTag) {
&gt; +    videoTag.webkitSourceAddId(sourceID, &apos;video/webm; codecs=&quot;vp8, vorbis&quot;&apos;);
&gt; +}

Nit: the opening brace should be on its own line (darned EMACS formatter :-) ).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609860</commentid>
    <comment_count>6</comment_count>
      <attachid>138832</attachid>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-25 10:02:20 -0700</bug_when>
    <thetext>Created attachment 138832
Addressed style nit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610681</commentid>
    <comment_count>7</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-26 09:36:22 -0700</bug_when>
    <thetext>Ping. abarth, dglazkov, fishd or tkent can I get a review &amp; cq+ please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610962</commentid>
    <comment_count>8</comment_count>
      <attachid>138832</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-04-26 14:10:44 -0700</bug_when>
    <thetext>Comment on attachment 138832
Addressed style nit

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

&gt; Source/WebCore/html/HTMLMediaElement.idl:107
&gt; +    [V8EnabledAtRuntime=mediaSource] void webkitSourceAppend(in DOMString id, in Uint8Array data) raises (DOMException);

I assume we have not yet shipped with mediaSource enabled at runtime in a stable Chrome build, right?  We don&apos;t have to worry about breaking existing content with this change, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610973</commentid>
    <comment_count>9</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-26 14:24:29 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 138832 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=138832&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLMediaElement.idl:107
&gt; &gt; +    [V8EnabledAtRuntime=mediaSource] void webkitSourceAppend(in DOMString id, in Uint8Array data) raises (DOMException);
&gt; 
&gt; I assume we have not yet shipped with mediaSource enabled at runtime in a stable Chrome build, right?  We don&apos;t have to worry about breaking existing content with this change, right?

This feature is not enabled by default. Since Chrome 17 people have had to manually turn it on through about:flags. If people happen to be experimenting with this API this change will break them. They would need to call webkitSourceAddId() and then use the ID in all their webkitSourceAppend() calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611537</commentid>
    <comment_count>10</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-04-27 08:47:36 -0700</bug_when>
    <thetext>fishd: Is it ok to introduce such a breakage since the feature is behind about:flags? If so could you please cq+ the patch. If not could you point me to some docs/info indicating how I should go about deprecating the old signature in favor of the new one. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613508</commentid>
    <comment_count>11</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2012-05-01 10:31:44 -0700</bug_when>
    <thetext>Closing in favor of landing all Media Source v0.4 method signatures at once.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138663</attachid>
            <date>2012-04-24 15:16:07 -0700</date>
            <delta_ts>2012-04-24 15:27:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83788-20120424151606.patch</filename>
            <type>text/plain</type>
            <size>22646</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FlMjk1NjBjODhhY2E3
ZjNmNjFkZjJlYjgzNzU1ZjdlOWY3MjIyZS4uZTMxNTMwMmY5MGY4NzZiOWExZGMzNTkyNzljOWRk
ODNlOWEwZGZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA0LTI0ICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSB3ZWJr
aXRTb3VyY2VBcHBlbmQoKSBzaWduYXR1cmUgdG8gbWF0Y2ggTWVkaWEgU291cmNlIHYwLjQgc3Bl
Yy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNzg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQXBwZW5kKToK
KyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxNZWRpYUVs
ZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGw6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TnVs
bE1lZGlhUGxheWVyUHJpdmF0ZTo6c291cmNlQXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2
YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6OnNv
dXJjZUFwcGVuZCk6CisKIDIwMTItMDQtMjQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2ZXJ0IHIxMTUwMDk7IEl0IGRvZXNuJ3QgbWFrZSBuZWNlc3Nhcnkg
Y2hhbmdlcyB0byBOb2RlUmFyZURhdGEgYW5kIE5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IGVmZjFlZGE1YjhhYjA0NzY0ODI2MzRiYzlkZjQzMDEyNmNiNmZiMWEuLjkxYzhhN2Qx
NWViZDI5MDU3OTVkYzk5ZGU5Nzk0NTllNjUyY2NlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDQtMjQgIEFhcm9uIENvbHdlbGwgIDxhY29sd2Vs
bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXBkYXRlIHNvdXJjZUFwcGVuZCgpIHNpZ25hdHVy
ZSB0byBtYXRjaCBNZWRpYSBTb3VyY2UgdjAuNCBzcGVjLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllci5oOgorICAg
ICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllcjo6c291cmNlQXBwZW5kKToKKyAgICAgICAgKiBz
cmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAqIHNyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuaDoKKyAgICAgICAgKFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCk6
CisKIDIwMTItMDQtMjQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAK
ICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBDcmVhdGUgYSBuZXcgZmxhZyBmb3IgUGVlckNvbm5l
Y3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDJhMjc2
YWVjMDY5NzE3OTM4MDY1Zjg2NjVlMjc2MGQ0Y2ZiNzQwZWIuLmNjM2NhMjAzZGYwNzhlZTlhOWQ1
MTdlMTA5MmNkZjRhMzFhNzg0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcApAQCAtMjM1NCwxNCArMjM1NCwyNSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Ondl
YmtpdFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ICAgIG1fc291cmNlSURzLnJlbW92ZShpZCk7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
d2Via2l0U291cmNlQXBwZW5kKFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9u
Q29kZSYgZWMpCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFwcGVuZChjb25z
dCBTdHJpbmcmIGlkLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUm
IGVjKQogeworICAgIGlmICghaXNWYWxpZFNvdXJjZUlkKGlkLCBlYykpCisgICAgICAgIHJldHVy
bjsKKwogICAgIGlmICghbV9wbGF5ZXIgfHwgbV9jdXJyZW50U3JjICE9IG1fbWVkaWFTb3VyY2VV
UkwgfHwgbV9zb3VyY2VTdGF0ZSAhPSBTT1VSQ0VfT1BFTikgewogICAgICAgICBlYyA9IElOVkFM
SURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFkYXRhLmdl
dCgpIHx8ICFtX3BsYXllci0+c291cmNlQXBwZW5kKGRhdGEtPmRhdGEoKSwgZGF0YS0+bGVuZ3Ro
KCkpKSB7CisgICAgaWYgKCFkYXRhLmdldCgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NF
U1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFkYXRhLT5sZW5ndGgo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX3BsYXllci0+c291cmNlQXBwZW5kKGlk
LCBkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0aCgpKSkgewogICAgICAgICBlYyA9IFNZTlRBWF9F
UlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCmluZGV4IDZkZTM1ZGJhMTgwYTg0ZTRhNDBhYjU1YmQyNWUyNTJkMGE5ZjlhYmEuLmIw
NzlmZTA5MjZmZWU4ZmNmN2JiNDIzNzdjMTNlYTI5MTA4NjQ5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC0xNzQsNyArMTc0LDcgQEAgcHVibGljOgogICAgIGNv
bnN0IEtVUkwmIHdlYmtpdE1lZGlhU291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVNv
dXJjZVVSTDsgfQogICAgIHZvaWQgd2Via2l0U291cmNlQWRkSWQoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgd2Via2l0U291cmNlUmVtb3Zl
SWQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgd2Via2l0U291cmNl
QXBwZW5kKFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYsIFBhc3NSZWZQdHI8VWludDhB
cnJheT4gZGF0YSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGVudW0gRW5kT2ZTdHJlYW1TdGF0dXMg
eyBFT1NfTk9fRVJST1IsIEVPU19ORVRXT1JLX0VSUiwgRU9TX0RFQ09ERV9FUlIgfTsKICAgICB2
b2lkIHdlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHVuc2lnbmVkIHNob3J0LCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgZW51bSBTb3VyY2VTdGF0ZSB7IFNPVVJDRV9DTE9TRUQsIFNPVVJDRV9PUEVOLCBT
T1VSQ0VfRU5ERUQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmlu
ZGV4IDViOWMxMDFjZWIyZmIxMmNjODZkMzAwMDMwZjIwNjY0YmIwMTZjYzYuLjhiNTE1NjFmNDUx
YWYxNzEwNzIyZThhN2QwNmZjNDE1MDc0YTJhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmlkbApAQCAtMTA0LDcgKzEwNCw3IEBAIG1vZHVsZSBodG1sIHsKICAgICBb
VjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZVJlbW92ZUlk
KGluIERPTVN0cmluZyBpZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCiAgICAgLy8gQXBwZW5k
cyBtZWRpYSB0byB0byB0aGUgc291cmNlLgotICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFT
b3VyY2VdIHZvaWQgd2Via2l0U291cmNlQXBwZW5kKGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZv
aWQgd2Via2l0U291cmNlQXBwZW5kKGluIERPTVN0cmluZyBpZCwgaW4gVWludDhBcnJheSBkYXRh
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBTaWduYWxzIHRoZSBlbmQgb2Ygc3Ry
ZWFtLgogICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIGNvbnN0IHVuc2lnbmVk
IHNob3J0IEVPU19OT19FUlJPUiA9IDA7IC8vIEVuZCBvZiBzdHJlYW0gcmVhY2hlZCB3L28gZXJy
b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKaW5kZXggMWU4MTg1N2U4MDFlNjNlNGZjMDBhMzZlNzEzMWM1MjhmMGUzYWI4Mi4uMmYzMDNk
Njc5MTZmMWQxYzRhMjAxNDE1Y2U1MGViZTg2NTM5OWUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTUxLDcgKzE1MSw3IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZpcnR1YWwgTWVkaWFQbGF5
ZXI6OkFkZElkU3RhdHVzIHNvdXJjZUFkZElkKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IFN0cmlu
ZyYgdHlwZSkgeyByZXR1cm4gTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDsgfQogICAgIHZpcnR1
YWwgYm9vbCBzb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmIGlkKSB7IHJldHVybiBmYWxzZTsg
fQotICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciosIHVu
c2lnbmVkKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQo
Y29uc3QgU3RyaW5nJiwgY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkKSB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShNZWRpYVBsYXllcjo6
RW5kT2ZTdHJlYW1TdGF0dXMgc3RhdHVzKSB7IH0KICNlbmRpZgogCkBAIC00NjksOSArNDY5LDkg
QEAgYm9vbCBNZWRpYVBsYXllcjo6c291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJiBpZCkKICAg
ICByZXR1cm4gbV9wcml2YXRlLT5zb3VyY2VSZW1vdmVJZChpZCk7CiB9CiAKLWJvb2wgTWVkaWFQ
bGF5ZXI6OnNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBs
ZW5ndGgpCitib29sIE1lZGlhUGxheWVyOjpzb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwg
Y29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogewotICAgIHJldHVy
biBtX3ByaXZhdGUtPnNvdXJjZUFwcGVuZChkYXRhLCBsZW5ndGgpOworICAgIHJldHVybiBtX3By
aXZhdGUtPnNvdXJjZUFwcGVuZChpZCwgZGF0YSwgbGVuZ3RoKTsKIH0KIAogdm9pZCBNZWRpYVBs
YXllcjo6c291cmNlRW5kT2ZTdHJlYW0oTWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzIHN0
YXR1cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CmluZGV4IDQyOWU1ZmNmNTU4ZGMyMzBiNGMwMzNkNmYxYTYxZTdmY2I4ZDk1MTYuLjZkYmNiODE2
ZDZkYjhkNmQ1M2E0MTk0YzBjOTFkYmUwMTFjZDY4OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjMyLDcgKzIzMiw3IEBAIHB1Ymxp
YzoKICAgICBlbnVtIEFkZElkU3RhdHVzIHsgT2ssIE5vdFN1cHBvcnRlZCwgUmVhY2hlZElkTGlt
aXQgfTsKICAgICBBZGRJZFN0YXR1cyBzb3VyY2VBZGRJZChjb25zdCBTdHJpbmcmIGlkLCBjb25z
dCBTdHJpbmcmIHR5cGUpOwogICAgIGJvb2wgc291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJiBp
ZCk7Ci0gICAgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5z
aWduZWQgbGVuZ3RoKTsKKyAgICBib29sIHNvdXJjZUFwcGVuZChjb25zdCBTdHJpbmcmIGlkLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIGVudW0gRW5k
T2ZTdHJlYW1TdGF0dXMgeyBFb3NOb0Vycm9yLCBFb3NOZXR3b3JrRXJyb3IsIEVvc0RlY29kZUVy
cm9yIH07CiAgICAgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cyk7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKaW5kZXggZmY1NWQxYjBiNWFjMDgyMmJiNTZmZGQ3Yzk1Yzg1MTVhMjNl
M2U2Yy4uOWVkYTc1YTEzMjllNTM2NTZiZGEwMDgxYmRjNGUzOTc0YzYwZmJhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKQEAgLTE2MCw3ICsxNjAsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkK
ICAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpBZGRJZFN0YXR1cyBzb3VyY2VBZGRJZChjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IHJldHVybiBNZWRpYVBsYXllcjo6Tm90U3VwcG9ydGVk
OyB9CiAgICAgdmlydHVhbCBib29sIHNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYpIHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25l
ZCBjaGFyKiwgdW5zaWduZWQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNv
dXJjZUFwcGVuZChjb25zdCBTdHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQp
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUVuZE9mU3RyZWFtKE1l
ZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cykgeyB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5oCmluZGV4IGYzOTQ2OWYxZTE3
MGQyMzJhZGRhZGVmOTdlYjEwMTgzMzQwZGE4ZDguLjAzNWU1NTdiYmUxMjgzYzcwODk0ODIyYjZi
YzYwNjkyMjYzZmZmZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYk1lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
TWVkaWFQbGF5ZXIuaApAQCAtMjAwLDcgKzIwMCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
QWRkSWRTdGF0dXMgc291cmNlQWRkSWQoY29uc3QgV2ViU3RyaW5nJiBpZCwgY29uc3QgV2ViU3Ry
aW5nJiB0eXBlKSB7IHJldHVybiBBZGRJZFN0YXR1c05vdFN1cHBvcnRlZDsgfQogICAgIHZpcnR1
YWwgYm9vbCBzb3VyY2VSZW1vdmVJZChjb25zdCBXZWJTdHJpbmcmIGlkKSB7IHJldHVybiBmYWxz
ZTsgfQotICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciog
ZGF0YSwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBzb3VyY2VBcHBlbmQoY29uc3QgV2ViU3RyaW5nJiBpZCwgY29uc3QgdW5zaWduZWQgY2hhciog
ZGF0YSwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9p
ZCBzb3VyY2VFbmRPZlN0cmVhbShFbmRPZlN0cmVhbVN0YXR1cykgIHsgfQogCiAgICAgLy8gUmV0
dXJucyB3aGV0aGVyIGtleVN5c3RlbSBpcyBzdXBwb3J0ZWQuIElmIHRydWUsIHRoZSByZXN1bHQg
d2lsbCBiZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5jcHAKaW5kZXggNThiNjM5NmYxY2NmNjMyOGRmYzNiOTMyYmNiZTZi
NjU1N2VlMTdjNS4uM2IzNjE1MDI3ZDVmOGUzMGQ5Y2FiYTllMjE1ZjdkZjE2MTcxYzVmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNs
aWVudEltcGwuY3BwCkBAIC0zNTYsMTAgKzM1NiwxMCBAQCBib29sIFdlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbDo6c291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJiBpZCkKICAgICByZXR1cm4gbV93
ZWJNZWRpYVBsYXllci0+c291cmNlUmVtb3ZlSWQoaWQpOwogfQogCi1ib29sIFdlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbDo6c291cmNlQXBwZW5kKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVu
c2lnbmVkIGxlbmd0aCkKK2Jvb2wgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VBcHBl
bmQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQg
bGVuZ3RoKQogewogICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQotICAgICAgICByZXR1cm4gbV93
ZWJNZWRpYVBsYXllci0+c291cmNlQXBwZW5kKGRhdGEsIGxlbmd0aCk7CisgICAgICAgIHJldHVy
biBtX3dlYk1lZGlhUGxheWVyLT5zb3VyY2VBcHBlbmQoaWQsIGRhdGEsIGxlbmd0aCk7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oCmluZGV4IDJlOWUwODMwZGZhOGUxZDI2YWExMGE3
YjEzNzViMjlmZTlhMGQxNzcuLjNjM2YyMTdhMTQ2ZDliYjQzMDQ5NTM1NWMyYWMwYjI4NTc0OWMx
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbC5oCkBAIC0xNTEsNyArMTUxLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShN
RURJQV9TT1VSQ0UpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpNZWRpYVBsYXllcjo6QWRkSWRTdGF0
dXMgc291cmNlQWRkSWQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlKTsKICAg
ICB2aXJ0dWFsIGJvb2wgc291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJik7Ci0gICAgdmlydHVh
bCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBs
ZW5ndGgpOworICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiwgY29u
c3QgdW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc291cmNlRW5kT2ZTdHJlYW0oV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3Rh
dHVzKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTIyM2E3Yzc1NzlhN2RmYjViOWYxOTBlYjcxYjU5NmFm
MzM0YTRlNC4uZDYzNGQ2NWVjZjc3YWQwNTZkNzdhZGQ0YTk5ZDIwMTdkYWZkODA5MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTI0ICBBYXJvbiBDb2x3ZWxsICA8YWNvbHdlbGxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSBMYXlvdXRUZXN0cyB0byB1c2UgdGhlIG5ldyB3
ZWJraXRTb3VyY2VBcHBlbmQoKSBzaWduYXR1cmUKKyAgICAgICAgc3BlY2lmaWVkIGluIHRoZSB2
MC40IE1lZGlhIFNvdXJjZSBzcGVjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODM3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8t
bWVkaWEtc291cmNlLWVycm9ycy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVr
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRl
by1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3dlYm0vd2VibS1tZWRpYS1zb3VyY2UuanM6CisgICAgICAgIChh
ZGRTb3VyY2VJZCk6CisgICAgICAgIChhcHBlbmRIZWFkZXJzKToKKyAgICAgICAgKGFwcGVuZENs
dXN0ZXIpOgorICAgICAgICAoYXBwZW5kVW50aWxFbmRPZlN0cmVhbSk6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDEyLTA0LTI0ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmVydCByMTE1MDA5OyBJ
dCBkb2Vzbid0IG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMgdG8gTm9kZVJhcmVEYXRhIGFuZCBOb2Rl
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
d2VibS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRt
bAppbmRleCAwZGU3YzYwMDc3NjAyMzJkNjBkMmYxMWEyMzA1M2VmZDA3YWM1NjFhLi5hNDc0N2Zl
NzgyMjNjNGNjZGNkOGIwNDg2OTQ2MjQwM2MwN2IzZDc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1l
cnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbApAQCAtMTM5LDYgKzEzOSw3IEBA
CiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgicnVubmluZyAiICsgZnVuY3Rpb25OYW1lKTsKICAgICAgICAgICAg
ICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9w
ZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7CisgICAgICAgICAgICAgICAgICAgIGFkZFNvdXJj
ZUlkKGV2ZW50LnRhcmdldCk7CiAgICAgICAgICAgICAgICAgICAgIG9uT3BlbkZ1bmN0aW9uKGV2
ZW50KTsKICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJt
L3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKaW5kZXgg
ODE4YTY1YTM3NTYxZWZmNTNkMGQ5NzVlODkwODM1OWIwMDRhZmIzNi4uYjgyZGRjODc1ZDRiZmFk
NGI0ZjNmOGU1MmRmMWI3M2JmNjVmZmIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlk
ZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbApAQCAtNyw2ICs3LDcgQEAKICAgICAgICAgICAgIGZ1
bmN0aW9uIG9uU291cmNlT3BlbihldmVudCkgCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OworICAgICAgICAgICAgICAgIGFkZFNvdXJj
ZUlkKHZpZGVvVGFnKTsKICAgICAgICAgICAgICAgICBhcHBlbmRIZWFkZXJzKHZpZGVvVGFnKTsK
ICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbEVuZE9mU3RyZWFtKHZpZGVvVGFnLCAwKTsKICAg
ICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXNl
ZWsuaHRtbAppbmRleCA4ZGE0OGQ4NTY4MDk1MWExYzBiMGNkYzQ3NTQ2MjczMjljZTVhNzZmLi41
NDEwY2Y5MmRlZDg2YjEyMmJkZTkwODc3NzA4Y2Y5Y2ZiNGU5ODhjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNv
dXJjZS1zZWVrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sCkBAIC0xNSw2ICsxNSw3IEBA
CiAgICAgICAgICAgICAgICAgaWYgKGZpcnN0T3BlbikgewogICAgICAgICAgICAgICAgICAgICBm
aXJzdE9wZW4gPSBmYWxzZTsKIAorICAgICAgICAgICAgICAgICAgICBhZGRTb3VyY2VJZCh2aWRl
b1RhZyk7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZEhlYWRlcnModmlkZW9UYWcpOwogICAg
ICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbEVuZE9mU3RyZWFtKHZpZGVvVGFnLCAwKTsKICAg
ICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1l
ZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKaW5kZXggNDIwYzc3ZmYwYzAxNmYyOTYwZmNl
ZTk0MDAxYWExNjc1NGU3YjEyNi4uNWRhYmIzNGVmMzdkYTg4OTI5ZGE3M2RiMzQwMzFmNDUxNGU1
ZWMyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291
cmNlLXN0YXRlLWNoYW5nZXMuaHRtbApAQCAtNiwyMiArNiwyMiBAQAogICAgICAgICA8c2NyaXB0
PgogICAgICAgICAgICAgdmFyIHNlZWtUaW1lID0gZ2V0Q2x1c3RlclRpbWVGb3JJbmRleCg0KTsK
IAotICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kVW50aWxFbmQodmlkZW9UYWcsIHN0YXJ0SW5k
ZXgpIAorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kVW50aWxFbmQodmlkZW9UYWcsIHN0YXJ0
SW5kZXgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgaW5kZXggPSBz
dGFydEluZGV4OyBpbmRleCA8IGdldENsdXN0ZXJDb3VudCgpOyBpbmRleCsrKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChnZXRDbHVzdGVyKGluZGV4
KSk7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENsdXN0ZXIodmlkZW9UYWcsIGluZGV4KTsK
ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJPUik7CiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGFwcGVuZENsdXN0ZXJzRm9yU2Vlayh2aWRlb1Rh
ZywgY2x1c3RlclNlZWtUaW1lKSAKKyAgICAgICAgICAgIGZ1bmN0aW9uIGFwcGVuZENsdXN0ZXJz
Rm9yU2Vlayh2aWRlb1RhZywgY2x1c3RlclNlZWtUaW1lKQogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIHZhciBjbHVzdGVySW5kZXggPSBnZXRDbHVzdGVySW5kZXhGb3JUaW1lc3RhbXAo
Y2x1c3RlclNlZWtUaW1lKTsKICAgICAgICAgICAgICAgICB2YXIgZW5kSW5kZXggPSBjbHVzdGVy
SW5kZXggKyAyOwogCiAgICAgICAgICAgICAgICAgZm9yICg7IChjbHVzdGVySW5kZXggPCBlbmRJ
bmRleCkgJiYgKGNsdXN0ZXJJbmRleCA8IGdldENsdXN0ZXJDb3VudCgpKTsgY2x1c3RlckluZGV4
KyspIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGdl
dENsdXN0ZXIoY2x1c3RlckluZGV4KSk7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENsdXN0
ZXIodmlkZW9UYWcsIGNsdXN0ZXJJbmRleCk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICAgICAgaWYgKGNsdXN0ZXJJbmRleCA+PSBnZXRDbHVzdGVyQ291bnQoKSkgewpAQCAtMzAs
MTIgKzMwLDEyIEBACiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBmdW5jdGlvbiBvblNvdXJjZUV2ZW50KGV2ZW50KSAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IG9uU291cmNlRXZlbnQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCdFVkVOVCgnICsgZXZlbnQudHlwZSArICcpIDogJyArIGdldFNvdXJjZVN0YXRl
TmFtZShldmVudC50YXJnZXQud2Via2l0U291cmNlU3RhdGUpKTsKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZU9wZW4oZXZlbnQpIAorICAgICAgICAg
ICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZU9wZW4oZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUgc291cmNlIGlzIG9wZW5l
ZC4gV2UganVzdCB3YW50IHRvIGFwcGVuZAogICAgICAgICAgICAgICAgIC8vIHRoZSBoZWFkZXJz
IGFuZCBjbHVzdGVycyB1bnRpbCB0aGUgZW5kIG9mIHN0cmVhbS4gVGhpcyBpcyB0ZXN0aW5nIHRo
ZQpAQCAtNDMsNiArNDMsNyBAQAogCiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZl
bnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7CisgICAgICAgICAgICAgICAg
YWRkU291cmNlSWQodmlkZW9UYWcpOwogCiAgICAgICAgICAgICAgICAgZXhwZWN0U291cmNlU3Rh
dGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOwogCkBAIC01NCw3ICs1
NSw3IEBACiAgICAgICAgICAgICAgICAgYXBwZW5kVW50aWxFbmQodmlkZW9UYWcsIDApOwogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlRW5kZWQoZXZl
bnQpIAorICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZUVuZGVkKGV2ZW50KQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsK
ICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3Vy
Y2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CkBAIC03Niw3ICs3Nyw3IEBACiAgICAgICAg
ICAgICAgICAgdmlkZW9UYWcuY3VycmVudFRpbWUgPSBzZWVrVGltZTsKICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtpbmcoZXZlbnQpIAorICAgICAgICAg
ICAgZnVuY3Rpb24gb25GaXJzdFNlZWtpbmcoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvbkZpcnN0U2Vla2luZyk7CkBA
IC04Nyw3ICs4OCw3IEBACiAgICAgICAgICAgICAgICAgYXBwZW5kQ2x1c3RlcnNGb3JTZWVrKHZp
ZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIGZ1bmN0aW9uIG9uRmlyc3RTZWVrZWQoZXZlbnQpIAorICAgICAgICAgICAgZnVuY3Rpb24g
b25GaXJzdFNlZWtlZChldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIg
dmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3Zl
RXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25GaXJzdFNlZWtlZCk7CkBAIC0xMDAsNyArMTAxLDcg
QEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5jdXJyZW50VGltZSA9IHNlZWtUaW1lOwogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtpbmcoZXZlbnQp
IAorICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTZWVraW5nKGV2ZW50KQogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAg
ICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVraW5nJywgb25TZWNv
bmRTZWVraW5nKTsKQEAgLTExMSw3ICsxMTIsNyBAQAogICAgICAgICAgICAgICAgIGFwcGVuZENs
dXN0ZXJzRm9yU2Vlayh2aWRlb1RhZywgdmlkZW9UYWcuY3VycmVudFRpbWUpOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkgCisgICAg
ICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25TZWNvbmRTZWVrZWQp
OwpAQCAtMTIzLDcgKzEyNCw3IEBACiAgICAgICAgICAgICAgICAgc2V0U3JjVG9NZWRpYVNvdXJj
ZVVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9u
Rmlyc3RTb3VyY2VDbG9zZShldmVudCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291
cmNlQ2xvc2UoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVv
VGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50
TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJjZUNsb3NlKTsKQEAgLTEz
MywxMCArMTM0LDExIEBACiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRkRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7CiAgICAgICAgICAgICB9
CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlT3BlbihldmVudCkgCisgICAg
ICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZU9wZW4oZXZlbnQpCiAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAg
ICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBv
blNlY29uZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIGFkZFNvdXJjZUlkKHZpZGVvVGFn
KTsKIAogICAgICAgICAgICAgICAgIGV4cGVjdFNvdXJjZVN0YXRlKHZpZGVvVGFnLCBIVE1MTWVk
aWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKIApAQCAtMTQ4LDcgKzE1MCw3IEBACiAgICAgICAgICAg
ICAgICAgYXBwZW5kVW50aWxFbmQodmlkZW9UYWcsIDApOwogICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZUVuZGVkKGV2ZW50KSAKKyAgICAgICAgICAg
IGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlRW5kZWQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAg
IHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWVuZGVkJywgb25TZWNv
bmRTb3VyY2VFbmRlZCk7CkBAIC0xNjgsNyArMTcwLDcgQEAKICAgICAgICAgICAgICAgICBzZXRT
cmNUb01lZGlhU291cmNlVVJMKHZpZGVvVGFnKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VDbG9zZShldmVudCkgCisgICAgICAgICAgICBmdW5j
dGlvbiBvblNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRl
b1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9zZScsIG9uU2Vjb25kU291
cmNlQ2xvc2UpOwpAQCAtMTc3LDE3ICsxNzksMTggQEAKICAgICAgICAgICAgICAgICB2aWRlb1Rh
Zy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4p
OwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblRoaXJkU291cmNlT3Bl
bihldmVudCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvblRoaXJkU291cmNlT3BlbihldmVudCkK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJn
ZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0
c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAgICBhZGRTb3Vy
Y2VJZCh2aWRlb1RhZyk7CiAKICAgICAgICAgICAgICAgICBleHBlY3RTb3VyY2VTdGF0ZSh2aWRl
b1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CiAKICAgICAgICAgICAgICAgICBl
bmRUZXN0KCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZCgp
IAorICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vd2VibS1tZWRpYS1zb3VyY2UuanMgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3dlYm0tbWVkaWEt
c291cmNlLmpzCmluZGV4IDBhM2RlZGJlMjJmYWM3MzgzMzQ2MGFjNjM2YWI1YTFhOTNmNDlmNjku
LmE1MGM3MjVhYjVkNDE1ZjVhM2I4ZDBlYzk5YzA5NTA1YjU4OTU2MGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vd2VibS1tZWRpYS1z
b3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
d2VibS93ZWJtLW1lZGlhLXNvdXJjZS5qcwpAQCAtMTEsNiArMTEsNyBAQCB2YXIgY2x1c3Rlcklu
Zm8gPSBbCiAKIHZhciBoZWFkZXJEYXRhID0gbnVsbDsKIHZhciBjbHVzdGVyRGF0YSA9IFtdOwor
dmFyIHNvdXJjZUlEID0gInNvdXJjZUlEMSI7CiAKIGZ1bmN0aW9uIGdldERhdGEodXJsLCBjYWxs
YmFjaykKIHsKQEAgLTEwOCw2ICsxMDksMTAgQEAgZnVuY3Rpb24gc2V0U3JjVG9NZWRpYVNvdXJj
ZVVSTCh2aWRlb1RhZykKICAgICB2aWRlb1RhZy5zcmMgPSB2aWRlb1RhZy53ZWJraXRNZWRpYVNv
dXJjZVVSTDsKIH0KIAorZnVuY3Rpb24gYWRkU291cmNlSWQodmlkZW9UYWcpIHsKKyAgICB2aWRl
b1RhZy53ZWJraXRTb3VyY2VBZGRJZChzb3VyY2VJRCwgJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA4
LCB2b3JiaXMiJyk7Cit9CisKIGZ1bmN0aW9uIGFwcGVuZEhlYWRlcnModmlkZW9UYWcpCiB7CiAg
ICAgaWYgKCF2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQpIHsKQEAgLTExNSw3ICsxMjAsNyBA
QCBmdW5jdGlvbiBhcHBlbmRIZWFkZXJzKHZpZGVvVGFnKQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGdldEhlYWRlcnMoKSk7CisgICAg
dmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNvdXJjZUlELCBnZXRIZWFkZXJzKCkpOwogfQog
CiBmdW5jdGlvbiBhcHBlbmRDbHVzdGVyKHZpZGVvVGFnLCBjbHVzdGVySW5kZXgpCkBAIC0xMzIs
NyArMTM3LDcgQEAgZnVuY3Rpb24gYXBwZW5kQ2x1c3Rlcih2aWRlb1RhZywgY2x1c3RlckluZGV4
KQogCiAgICAgdHJ5IHsKICAgICAgICAgdmFyIGNsdXN0ZXIgPSBnZXRDbHVzdGVyKGNsdXN0ZXJJ
bmRleCk7Ci0gICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChjbHVzdGVyKTsKKyAg
ICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKHNvdXJjZUlELCBjbHVzdGVyKTsKICAg
ICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgY29uc29sZVdyaXRlKGVycik7CiAgICAgfQpAQCAt
MTQ2LDcgKzE1MSw3IEBAIGZ1bmN0aW9uIGFwcGVuZFVudGlsRW5kT2ZTdHJlYW0odmlkZW9UYWcs
IHN0YXJ0SW5kZXgpCiAgICAgfQogCiAgICAgZm9yICh2YXIgY2x1c3RlckluZGV4ID0gc3RhcnRJ
bmRleDsgY2x1c3RlckluZGV4IDwgZ2V0Q2x1c3RlckNvdW50KCk7IGNsdXN0ZXJJbmRleCsrKSB7
Ci0gICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChnZXRDbHVzdGVyKGNsdXN0ZXJJ
bmRleCkpOworICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc291cmNlSUQsIGdl
dENsdXN0ZXIoY2x1c3RlckluZGV4KSk7CiAgICAgfQogICAgIHZpZGVvVGFnLndlYmtpdFNvdXJj
ZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19OT19FUlJPUik7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggODhkNWYz
OWU0N2I4N2VkMDAzYjhhMTBhOGU3MDgwNDdhMDYzMjVmMS4uMTg3NDQ4Nzk1N2Q0MzI3YzkwYjgy
NTg5YTg0Y2NlOWEwODhlOWRlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzY1Niw5ICszNjU2LDYgQEAgQlVHQ1Ix
MjI0NDggOiBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC5odG1sID0gUEFTUyBURVhU
CiAKIEJVR0NSMTIyNDYyIFdJTiBMSU5VWCA6IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Qt
ZWxlbWVudC5odG1sID0gVEVYVAogCi0vLyBUZW1wb3JhcmlseSBkaXNhYmxlZCB1bnRpbCBDaHJv
bWl1bSBzb3VyY2VBZGRJZCgpICYgc291cmNlUmVtb3ZlSWQoKSBjb2RlIGhhcyBiZWVuIGNoZWNr
ZWQgaW4uCi1CVUdXSzgzNjE2IFNLSVAgOiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93
ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQtYW5kLXJlbW92ZS1pZHMuaHRtbCA9IEZBSUwKLQog
QlVHV0s4MzUwMyBMSU5VWCBERUJVRyA6IHBsdWdpbnMvaW5uZXItaHRtbC1kaXNwbGF5LW5vbmUu
aHRtbCA9IENSQVNICiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138668</attachid>
            <date>2012-04-24 15:28:03 -0700</date>
            <delta_ts>2012-04-25 10:02:15 -0700</delta_ts>
            <desc>Making style bot happy with my ChangeLog entry</desc>
            <filename>bug-83788-20120424152802.patch</filename>
            <type>text/plain</type>
            <size>22876</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FlMjk1NjBjODhhY2E3
ZjNmNjFkZjJlYjgzNzU1ZjdlOWY3MjIyZS4uMjM4MmRjZTdiNTk1NWMzODg0M2U1YmZiMWRmMDNj
MTk3NTNlOWM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA0LTI0ICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSB3ZWJr
aXRTb3VyY2VBcHBlbmQoKSBzaWduYXR1cmUgdG8gbWF0Y2ggTWVkaWEgU291cmNlIHYwLjQgc3Bl
Yy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNzg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBUaGUgZXhpc3RpbmcgdGVzdHMgaW4gaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UgY292ZXIgdGhpcyBjb2RlIGFuZCB3ZXJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgc2lnbmF0
dXJlIGNoYW5nZS4gVGhlIHNpZ25hdHVyZSBjaGFuZ2UgYWxzbyBhbGxvd3MgdGhlIG9uZSBmYWls
aW5nIHRlc3QgdG8gYmUgcmVtb3ZlZCBmcm9tIHRlc3RfZXhwZWN0YXRpb25zLnR4dCBhbmQgYWN0
dWFsbHkgcGFzc2VzIG5vdy4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VBcHBlbmQp
OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoSFRNTE1lZGlh
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
dWxsTWVkaWFQbGF5ZXJQcml2YXRlOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXI6OnNvdXJjZUFwcGVuZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6
c291cmNlQXBwZW5kKToKKwogMjAxMi0wNC0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZlcnQgcjExNTAwOTsgSXQgZG9lc24ndCBtYWtlIG5lY2Vzc2Fy
eSBjaGFuZ2VzIHRvIE5vZGVSYXJlRGF0YSBhbmQgTm9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggZWZmMWVkYTViOGFiMDQ3NjQ4MjYzNGJjOWRmNDMwMTI2Y2I2ZmIxYS4uOTFjOGE3
ZDE1ZWJkMjkwNTc5NWRjOTlkZTk3OTQ1OWU2NTJjY2U1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNC0yNCAgQWFyb24gQ29sd2VsbCAgPGFjb2x3
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUgc291cmNlQXBwZW5kKCkgc2lnbmF0
dXJlIHRvIG1hdGNoIE1lZGlhIFNvdXJjZSB2MC40IHNwZWMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mzc4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYk1lZGlhUGxheWVyLmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAq
IHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZUFwcGVuZCk6CisgICAgICAgICogc3JjL1dlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
KToKKwogMjAxMi0wNC0yNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IENyZWF0ZSBhIG5ldyBmbGFnIGZvciBQZWVyQ29u
bmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMmEy
NzZhZWMwNjk3MTc5MzgwNjVmODY2NWUyNzYwZDRjZmI3NDBlYi4uY2MzY2EyMDNkZjA3OGVlOWE5
ZDUxN2UxMDkyY2RmNGEzMWE3ODQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCkBAIC0yMzU0LDE0ICsyMzU0LDI1IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
d2Via2l0U291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJiBpZCwgRXhjZXB0aW9uQ29kZSYgZWMp
CiAgICAgbV9zb3VyY2VJRHMucmVtb3ZlKGlkKTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50
Ojp3ZWJraXRTb3VyY2VBcHBlbmQoUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRp
b25Db2RlJiBlYykKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6d2Via2l0U291cmNlQXBwZW5kKGNv
bnN0IFN0cmluZyYgaWQsIFBhc3NSZWZQdHI8VWludDhBcnJheT4gZGF0YSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CisgICAgaWYgKCFpc1ZhbGlkU291cmNlSWQoaWQsIGVjKSkKKyAgICAgICAgcmV0
dXJuOworCiAgICAgaWYgKCFtX3BsYXllciB8fCBtX2N1cnJlbnRTcmMgIT0gbV9tZWRpYVNvdXJj
ZVVSTCB8fCBtX3NvdXJjZVN0YXRlICE9IFNPVVJDRV9PUEVOKSB7CiAgICAgICAgIGVjID0gSU5W
QUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIWRhdGEu
Z2V0KCkgfHwgIW1fcGxheWVyLT5zb3VyY2VBcHBlbmQoZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5n
dGgoKSkpIHsKKyAgICBpZiAoIWRhdGEuZ2V0KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FD
Q0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIWRhdGEtPmxlbmd0
aCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGxheWVyLT5zb3VyY2VBcHBlbmQo
aWQsIGRhdGEtPmRhdGEoKSwgZGF0YS0+bGVuZ3RoKCkpKSB7CiAgICAgICAgIGVjID0gU1lOVEFY
X0VSUjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKaW5kZXggNmRlMzVkYmExODBhODRlNGE0MGFiNTViZDI1ZTI1MmQwYTlmOWFiYS4u
YjA3OWZlMDkyNmZlZThmY2Y3YmI0MjM3N2MxM2VhMjkxMDg2NDlkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTE3NCw3ICsxNzQsNyBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgS1VSTCYgd2Via2l0TWVkaWFTb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBtX21lZGlh
U291cmNlVVJMOyB9CiAgICAgdm9pZCB3ZWJraXRTb3VyY2VBZGRJZChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB3ZWJraXRTb3VyY2VSZW1v
dmVJZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB3ZWJraXRTb3Vy
Y2VBcHBlbmQoUGFzc1JlZlB0cjxVaW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgdm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxVaW50
OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJik7CiAgICAgZW51bSBFbmRPZlN0cmVhbVN0YXR1
cyB7IEVPU19OT19FUlJPUiwgRU9TX05FVFdPUktfRVJSLCBFT1NfREVDT0RFX0VSUiB9OwogICAg
IHZvaWQgd2Via2l0U291cmNlRW5kT2ZTdHJlYW0odW5zaWduZWQgc2hvcnQsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICBlbnVtIFNvdXJjZVN0YXRlIHsgU09VUkNFX0NMT1NFRCwgU09VUkNFX09QRU4s
IFNPVVJDRV9FTkRFRCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwK
aW5kZXggNWI5YzEwMWNlYjJmYjEyY2M4NmQzMDAwMzBmMjA2NjRiYjAxNmNjNi4uOGI1MTU2MWY0
NTFhZjE3MTA3MjJlOGE3ZDA2ZmM0MTUwNzRhMmFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCkBAIC0xMDQsNyArMTA0LDcgQEAgbW9kdWxlIGh0bWwgewogICAg
IFtWOEVuYWJsZWRBdFJ1bnRpbWU9bWVkaWFTb3VyY2VdIHZvaWQgd2Via2l0U291cmNlUmVtb3Zl
SWQoaW4gRE9NU3RyaW5nIGlkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBBcHBl
bmRzIG1lZGlhIHRvIHRvIHRoZSBzb3VyY2UuCi0gICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRp
YVNvdXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoaW4gVWludDhBcnJheSBkYXRhKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0g
dm9pZCB3ZWJraXRTb3VyY2VBcHBlbmQoaW4gRE9NU3RyaW5nIGlkLCBpbiBVaW50OEFycmF5IGRh
dGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAogICAgIC8vIFNpZ25hbHMgdGhlIGVuZCBvZiBz
dHJlYW0uCiAgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNvdXJjZV0gY29uc3QgdW5zaWdu
ZWQgc2hvcnQgRU9TX05PX0VSUk9SID0gMDsgLy8gRW5kIG9mIHN0cmVhbSByZWFjaGVkIHcvbyBl
cnJvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAppbmRleCAxZTgxODU3ZTgwMWU2M2U0ZmMwMGEzNmU3MTMxYzUyOGYwZTNhYjgyLi4yZjMw
M2Q2NzkxNmYxZDFjNGEyMDE0MTVjZTUwZWJlODY1Mzk5ZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNTEsNyArMTUxLDcg
QEAgcHVibGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdmlydHVhbCBNZWRpYVBs
YXllcjo6QWRkSWRTdGF0dXMgc291cmNlQWRkSWQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3Ry
aW5nJiB0eXBlKSB7IHJldHVybiBNZWRpYVBsYXllcjo6Tm90U3VwcG9ydGVkOyB9CiAgICAgdmly
dHVhbCBib29sIHNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQpIHsgcmV0dXJuIGZhbHNl
OyB9Ci0gICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiwg
dW5zaWduZWQpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVu
ZChjb25zdCBTdHJpbmcmLCBjb25zdCB1bnNpZ25lZCBjaGFyKiwgdW5zaWduZWQpIHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUVuZE9mU3RyZWFtKE1lZGlhUGxheWVy
OjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMpIHsgfQogI2VuZGlmCiAKQEAgLTQ2OSw5ICs0Njks
OSBAQCBib29sIE1lZGlhUGxheWVyOjpzb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmIGlkKQog
ICAgIHJldHVybiBtX3ByaXZhdGUtPnNvdXJjZVJlbW92ZUlkKGlkKTsKIH0KIAotYm9vbCBNZWRp
YVBsYXllcjo6c291cmNlQXBwZW5kKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVk
IGxlbmd0aCkKK2Jvb2wgTWVkaWFQbGF5ZXI6OnNvdXJjZUFwcGVuZChjb25zdCBTdHJpbmcmIGlk
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCiB7Ci0gICAgcmV0
dXJuIG1fcHJpdmF0ZS0+c291cmNlQXBwZW5kKGRhdGEsIGxlbmd0aCk7CisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+c291cmNlQXBwZW5kKGlkLCBkYXRhLCBsZW5ndGgpOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyOjpzb3VyY2VFbmRPZlN0cmVhbShNZWRpYVBsYXllcjo6RW5kT2ZTdHJlYW1TdGF0dXMg
c3RhdHVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgKaW5kZXggNDI5ZTVmY2Y1NThkYzIzMGI0YzAzM2Q2ZjFhNjFlN2ZjYjhkOTUxNi4uNmRiY2I4
MTZkNmRiOGQ2ZDUzYTQxOTRjMGM5MWRiZTAxMWNkNjg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0yMzIsNyArMjMyLDcgQEAgcHVi
bGljOgogICAgIGVudW0gQWRkSWRTdGF0dXMgeyBPaywgTm90U3VwcG9ydGVkLCBSZWFjaGVkSWRM
aW1pdCB9OwogICAgIEFkZElkU3RhdHVzIHNvdXJjZUFkZElkKGNvbnN0IFN0cmluZyYgaWQsIGNv
bnN0IFN0cmluZyYgdHlwZSk7CiAgICAgYm9vbCBzb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcm
IGlkKTsKLSAgICBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1
bnNpZ25lZCBsZW5ndGgpOworICAgIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYgaWQs
IGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgZW51bSBF
bmRPZlN0cmVhbVN0YXR1cyB7IEVvc05vRXJyb3IsIEVvc05ldHdvcmtFcnJvciwgRW9zRGVjb2Rl
RXJyb3IgfTsKICAgICB2b2lkIHNvdXJjZUVuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaAppbmRleCBmZjU1ZDFiMGI1YWMwODIyYmI1NmZkZDdjOTVjODUxNWEy
M2UzZTZjLi45ZWRhNzVhMTMyOWU1MzY1NmJkYTAwODFiZGM0ZTM5NzRjNjBmYmEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaApAQCAtMTYwLDcgKzE2MCw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQogICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6OkFkZElkU3RhdHVzIHNvdXJjZUFkZElkKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIHsgcmV0dXJuIE1lZGlhUGxheWVyOjpOb3RTdXBwb3J0
ZWQ7IH0KICAgICB2aXJ0dWFsIGJvb2wgc291cmNlUmVtb3ZlSWQoY29uc3QgU3RyaW5nJikgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IHVuc2ln
bmVkIGNoYXIqLCB1bnNpZ25lZCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
c291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqLCB1bnNpZ25l
ZCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc291cmNlRW5kT2ZTdHJlYW0o
TWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzKSB7IH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTWVkaWFQbGF5ZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyLmgKaW5kZXggZjM5NDY5ZjFl
MTcwZDIzMmFkZGFkZWY5N2ViMTAxODMzNDBkYThkOC4uMDM1ZTU1N2JiZTEyODNjNzA4OTQ4MjJi
NmJjNjA2OTIyNjNmZmZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJNZWRpYVBsYXllci5oCkBAIC0yMDAsNyArMjAwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBBZGRJZFN0YXR1cyBzb3VyY2VBZGRJZChjb25zdCBXZWJTdHJpbmcmIGlkLCBjb25zdCBXZWJT
dHJpbmcmIHR5cGUpIHsgcmV0dXJuIEFkZElkU3RhdHVzTm90U3VwcG9ydGVkOyB9CiAgICAgdmly
dHVhbCBib29sIHNvdXJjZVJlbW92ZUlkKGNvbnN0IFdlYlN0cmluZyYgaWQpIHsgcmV0dXJuIGZh
bHNlOyB9Ci0gICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFy
KiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBi
b29sIHNvdXJjZUFwcGVuZChjb25zdCBXZWJTdHJpbmcmIGlkLCBjb25zdCB1bnNpZ25lZCBjaGFy
KiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHNvdXJjZUVuZE9mU3RyZWFtKEVuZE9mU3RyZWFtU3RhdHVzKSAgeyB9CiAKICAgICAvLyBS
ZXR1cm5zIHdoZXRoZXIga2V5U3lzdGVtIGlzIHN1cHBvcnRlZC4gSWYgdHJ1ZSwgdGhlIHJlc3Vs
dCB3aWxsIGJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmNwcAppbmRleCA1OGI2Mzk2ZjFjY2Y2MzI4ZGZjM2I5MzJiY2Jl
NmI2NTU3ZWUxN2M1Li4zYjM2MTUwMjdkNWY4ZTMwZDljYWJhOWUyMTVmN2RmMTYxNzFjNWY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVu
dEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbC5jcHAKQEAgLTM1NiwxMCArMzU2LDEwIEBAIGJvb2wgV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsOjpzb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmIGlkKQogICAgIHJldHVybiBt
X3dlYk1lZGlhUGxheWVyLT5zb3VyY2VSZW1vdmVJZChpZCk7CiB9CiAKLWJvb2wgV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwg
dW5zaWduZWQgbGVuZ3RoKQorYm9vbCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZUFw
cGVuZChjb25zdCBTdHJpbmcmIGlkLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25l
ZCBsZW5ndGgpCiB7CiAgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCi0gICAgICAgIHJldHVybiBt
X3dlYk1lZGlhUGxheWVyLT5zb3VyY2VBcHBlbmQoZGF0YSwgbGVuZ3RoKTsKKyAgICAgICAgcmV0
dXJuIG1fd2ViTWVkaWFQbGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0YSwgbGVuZ3RoKTsKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKaW5kZXggMmU5ZTA4MzBkZmE4ZTFkMjZhYTEw
YTdiMTM3NWIyOWZlOWEwZDE3Ny4uM2MzZjIxN2ExNDZkOWJiNDMwNDk1MzU1YzJhYzBiMjg1NzQ5
YzFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5
ZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsLmgKQEAgLTE1MSw3ICsxNTEsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpBZGRJZFN0
YXR1cyBzb3VyY2VBZGRJZChjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUpOwog
ICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VSZW1vdmVJZChjb25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0
dWFsIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVk
IGxlbmd0aCk7CisgICAgdmlydHVhbCBib29sIHNvdXJjZUFwcGVuZChjb25zdCBTdHJpbmcmLCBj
b25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHZpcnR1YWwg
dm9pZCBzb3VyY2VFbmRPZlN0cmVhbShXZWJDb3JlOjpNZWRpYVBsYXllcjo6RW5kT2ZTdHJlYW1T
dGF0dXMpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MjIzYTdjNzU3OWE3ZGZiNWI5ZjE5MGViNzFiNTk2
YWYzMzRhNGU0Li5kNjM0ZDY1ZWNmNzdhZDA1NmQ3N2FkZDRhOTlkMjAxN2RhZmQ4MDkxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDQtMjQgIEFhcm9uIENvbHdlbGwgIDxhY29sd2VsbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXBkYXRlIExheW91dFRlc3RzIHRvIHVzZSB0aGUgbmV3
IHdlYmtpdFNvdXJjZUFwcGVuZCgpIHNpZ25hdHVyZQorICAgICAgICBzcGVjaWZpZWQgaW4gdGhl
IHYwLjQgTWVkaWEgU291cmNlIHNwZWMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04Mzc4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRl
by1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXNl
ZWsuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3Zp
ZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS93ZWJtLW1lZGlhLXNvdXJjZS5qczoKKyAgICAgICAg
KGFkZFNvdXJjZUlkKToKKyAgICAgICAgKGFwcGVuZEhlYWRlcnMpOgorICAgICAgICAoYXBwZW5k
Q2x1c3Rlcik6CisgICAgICAgIChhcHBlbmRVbnRpbEVuZE9mU3RyZWFtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIwMTItMDQtMjQgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2ZXJ0IHIxMTUwMDk7
IEl0IGRvZXNuJ3QgbWFrZSBuZWNlc3NhcnkgY2hhbmdlcyB0byBOb2RlUmFyZURhdGEgYW5kIE5v
ZGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5o
dG1sCmluZGV4IDBkZTdjNjAwNzc2MDIzMmQ2MGQyZjExYTIzMDUzZWZkMDdhYzU2MWEuLmE0NzQ3
ZmU3ODIyM2M0Y2NkY2Q4YjA0ODY5NDYyNDAzYzA3YjNkNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNl
LWVycm9ycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLWVycm9ycy5odG1sCkBAIC0xMzksNiArMTM5LDcg
QEAKICAgICAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKICAgICAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJydW5uaW5nICIgKyBmdW5jdGlvbk5hbWUpOwogICAgICAgICAg
ICAgICAgICAgICBldmVudC50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNl
b3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgYWRkU291
cmNlSWQoZXZlbnQudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICAgb25PcGVuRnVuY3Rpb24o
ZXZlbnQpOwogICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuYWRk
RXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIGV2ZW50SGFuZGxlckZ1bmN0aW9uKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dl
Ym0vdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbAppbmRl
eCA4MThhNjVhMzc1NjFlZmY1M2QwZDk3NWU4OTA4MzU5YjAwNGFmYjM2Li5iODJkZGM4NzVkNGJm
YWQ0YjRmM2Y4ZTUyZGYxYjczYmY2NWZmYjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92
aWRlby1tZWRpYS1zb3VyY2UtcGxheS5odG1sCkBAIC03LDYgKzcsNyBAQAogICAgICAgICAgICAg
ZnVuY3Rpb24gb25Tb3VyY2VPcGVuKGV2ZW50KSAKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CisgICAgICAgICAgICAgICAgYWRkU291
cmNlSWQodmlkZW9UYWcpOwogICAgICAgICAgICAgICAgIGFwcGVuZEhlYWRlcnModmlkZW9UYWcp
OwogICAgICAgICAgICAgICAgIGFwcGVuZFVudGlsRW5kT2ZTdHJlYW0odmlkZW9UYWcsIDApOwog
ICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
ZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Ut
c2Vlay5odG1sCmluZGV4IDhkYTQ4ZDg1NjgwOTUxYTFjMGIwY2RjNDc1NDYyNzMyOWNlNWE3NmYu
LjU0MTBjZjkyZGVkODZiMTIyYmRlOTA4Nzc3MDhjZjljZmI0ZTk4OGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEt
c291cmNlLXNlZWsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKQEAgLTE1LDYgKzE1LDcg
QEAKICAgICAgICAgICAgICAgICBpZiAoZmlyc3RPcGVuKSB7CiAgICAgICAgICAgICAgICAgICAg
IGZpcnN0T3BlbiA9IGZhbHNlOwogCisgICAgICAgICAgICAgICAgICAgIGFkZFNvdXJjZUlkKHZp
ZGVvVGFnKTsKICAgICAgICAgICAgICAgICAgICAgYXBwZW5kSGVhZGVycyh2aWRlb1RhZyk7CiAg
ICAgICAgICAgICAgICAgICAgIGFwcGVuZFVudGlsRW5kT2ZTdHJlYW0odmlkZW9UYWcsIDApOwog
ICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8t
bWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbAppbmRleCA0MjBjNzdmZjBjMDE2ZjI5NjBm
Y2VlOTQwMDFhYTE2NzU0ZTdiMTI2Li41ZGFiYjM0ZWYzN2RhODg5MjlkYTczZGIzNDAzMWY0NTE0
ZTVlYzJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1z
b3VyY2Utc3RhdGUtY2hhbmdlcy5odG1sCkBAIC02LDIyICs2LDIyIEBACiAgICAgICAgIDxzY3Jp
cHQ+CiAgICAgICAgICAgICB2YXIgc2Vla1RpbWUgPSBnZXRDbHVzdGVyVGltZUZvckluZGV4KDQp
OwogCi0gICAgICAgICAgICBmdW5jdGlvbiBhcHBlbmRVbnRpbEVuZCh2aWRlb1RhZywgc3RhcnRJ
bmRleCkgCisgICAgICAgICAgICBmdW5jdGlvbiBhcHBlbmRVbnRpbEVuZCh2aWRlb1RhZywgc3Rh
cnRJbmRleCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBmb3IgKHZhciBpbmRleCA9
IHN0YXJ0SW5kZXg7IGluZGV4IDwgZ2V0Q2x1c3RlckNvdW50KCk7IGluZGV4KyspIHsKLSAgICAg
ICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGdldENsdXN0ZXIoaW5k
ZXgpKTsKKyAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2x1c3Rlcih2aWRlb1RhZywgaW5kZXgp
OwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUVuZE9mU3RyZWFtKEhUTUxNZWRpYUVsZW1lbnQuRU9TX05PX0VSUk9SKTsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kQ2x1c3RlcnNGb3JTZWVrKHZpZGVv
VGFnLCBjbHVzdGVyU2Vla1RpbWUpIAorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kQ2x1c3Rl
cnNGb3JTZWVrKHZpZGVvVGFnLCBjbHVzdGVyU2Vla1RpbWUpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgdmFyIGNsdXN0ZXJJbmRleCA9IGdldENsdXN0ZXJJbmRleEZvclRpbWVzdGFt
cChjbHVzdGVyU2Vla1RpbWUpOwogICAgICAgICAgICAgICAgIHZhciBlbmRJbmRleCA9IGNsdXN0
ZXJJbmRleCArIDI7CiAKICAgICAgICAgICAgICAgICBmb3IgKDsgKGNsdXN0ZXJJbmRleCA8IGVu
ZEluZGV4KSAmJiAoY2x1c3RlckluZGV4IDwgZ2V0Q2x1c3RlckNvdW50KCkpOyBjbHVzdGVySW5k
ZXgrKykgewotICAgICAgICAgICAgICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQo
Z2V0Q2x1c3RlcihjbHVzdGVySW5kZXgpKTsKKyAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2x1
c3Rlcih2aWRlb1RhZywgY2x1c3RlckluZGV4KTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgICAgICBpZiAoY2x1c3RlckluZGV4ID49IGdldENsdXN0ZXJDb3VudCgpKSB7CkBAIC0z
MCwxMiArMzAsMTIgQEAKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgIGZ1bmN0aW9uIG9uU291cmNlRXZlbnQoZXZlbnQpIAorICAgICAgICAgICAgZnVuY3Rp
b24gb25Tb3VyY2VFdmVudChldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoJ0VWRU5UKCcgKyBldmVudC50eXBlICsgJykgOiAnICsgZ2V0U291cmNlU3Rh
dGVOYW1lKGV2ZW50LnRhcmdldC53ZWJraXRTb3VyY2VTdGF0ZSkpOwogICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlT3BlbihldmVudCkgCisgICAgICAg
ICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlT3BlbihldmVudCkKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB0aW1lIHRoZSBzb3VyY2UgaXMgb3Bl
bmVkLiBXZSBqdXN0IHdhbnQgdG8gYXBwZW5kCiAgICAgICAgICAgICAgICAgLy8gdGhlIGhlYWRl
cnMgYW5kIGNsdXN0ZXJzIHVudGlsIHRoZSBlbmQgb2Ygc3RyZWFtLiBUaGlzIGlzIHRlc3Rpbmcg
dGhlCkBAIC00Myw2ICs0Myw3IEBACiAKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBl
dmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5l
cignd2Via2l0c291cmNlb3BlbicsIG9uRmlyc3RTb3VyY2VPcGVuKTsKKyAgICAgICAgICAgICAg
ICBhZGRTb3VyY2VJZCh2aWRlb1RhZyk7CiAKICAgICAgICAgICAgICAgICBleHBlY3RTb3VyY2VT
dGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CiAKQEAgLTU0LDcg
KzU1LDcgQEAKICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbEVuZCh2aWRlb1RhZywgMCk7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmlyc3RTb3VyY2VFbmRlZChl
dmVudCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U291cmNlRW5kZWQoZXZlbnQpCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0
OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNv
dXJjZWVuZGVkJywgb25GaXJzdFNvdXJjZUVuZGVkKTsKQEAgLTc2LDcgKzc3LDcgQEAKICAgICAg
ICAgICAgICAgICB2aWRlb1RhZy5jdXJyZW50VGltZSA9IHNlZWtUaW1lOwogICAgICAgICAgICAg
fQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0U2Vla2luZyhldmVudCkgCisgICAgICAg
ICAgICBmdW5jdGlvbiBvbkZpcnN0U2Vla2luZyhldmVudCkKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAg
dmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2luZycsIG9uRmlyc3RTZWVraW5nKTsK
QEAgLTg3LDcgKzg4LDcgQEAKICAgICAgICAgICAgICAgICBhcHBlbmRDbHVzdGVyc0ZvclNlZWso
dmlkZW9UYWcsIHZpZGVvVGFnLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgIH0KIAotICAgICAg
ICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtlZChldmVudCkgCisgICAgICAgICAgICBmdW5jdGlv
biBvbkZpcnN0U2Vla2VkKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZh
ciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1v
dmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvbkZpcnN0U2Vla2VkKTsKQEAgLTEwMCw3ICsxMDEs
NyBAQAogICAgICAgICAgICAgICAgIHZpZGVvVGFnLmN1cnJlbnRUaW1lID0gc2Vla1RpbWU7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU2Vla2luZyhldmVu
dCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtpbmcoZXZlbnQpCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvblNl
Y29uZFNlZWtpbmcpOwpAQCAtMTExLDcgKzExMiw3IEBACiAgICAgICAgICAgICAgICAgYXBwZW5k
Q2x1c3RlcnNGb3JTZWVrKHZpZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAg
ICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU2Vla2VkKGV2ZW50KSAKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU2Vla2VkKGV2ZW50KQogICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAg
ICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWVrZWQnLCBvblNlY29uZFNlZWtl
ZCk7CkBAIC0xMjMsNyArMTI0LDcgQEAKICAgICAgICAgICAgICAgICBzZXRTcmNUb01lZGlhU291
cmNlVVJMKHZpZGVvVGFnKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24g
b25GaXJzdFNvdXJjZUNsb3NlKGV2ZW50KSAKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmlyc3RT
b3VyY2VDbG9zZShldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIgdmlk
ZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZl
bnRMaXN0ZW5lcignd2Via2l0c291cmNlY2xvc2UnLCBvbkZpcnN0U291cmNlQ2xvc2UpOwpAQCAt
MTMzLDEwICsxMzQsMTEgQEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25TZWNvbmRTb3VyY2VPcGVuKTsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VPcGVuKGV2ZW50KSAKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlT3BlbihldmVudCkKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAg
ICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3Blbics
IG9uU2Vjb25kU291cmNlT3Blbik7CisgICAgICAgICAgICAgICAgYWRkU291cmNlSWQodmlkZW9U
YWcpOwogCiAgICAgICAgICAgICAgICAgZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxN
ZWRpYUVsZW1lbnQuU09VUkNFX09QRU4pOwogCkBAIC0xNDgsNyArMTUwLDcgQEAKICAgICAgICAg
ICAgICAgICBhcHBlbmRVbnRpbEVuZCh2aWRlb1RhZywgMCk7CiAgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlRW5kZWQoZXZlbnQpIAorICAgICAgICAg
ICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VFbmRlZChldmVudCkKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAg
ICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlZW5kZWQnLCBvblNl
Y29uZFNvdXJjZUVuZGVkKTsKQEAgLTE2OCw3ICsxNzAsNyBAQAogICAgICAgICAgICAgICAgIHNl
dFNyY1RvTWVkaWFTb3VyY2VVUkwodmlkZW9UYWcpOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KSAKKyAgICAgICAgICAgIGZ1
bmN0aW9uIG9uU2Vjb25kU291cmNlQ2xvc2UoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZp
ZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25TZWNvbmRT
b3VyY2VDbG9zZSk7CkBAIC0xNzcsMTcgKzE3OSwxOCBAQAogICAgICAgICAgICAgICAgIHZpZGVv
VGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvblRoaXJkU291cmNlT3Bl
bik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uVGhpcmRTb3VyY2VP
cGVuKGV2ZW50KSAKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uVGhpcmRTb3VyY2VPcGVuKGV2ZW50
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRh
cmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJr
aXRzb3VyY2VvcGVuJywgb25UaGlyZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIGFkZFNv
dXJjZUlkKHZpZGVvVGFnKTsKIAogICAgICAgICAgICAgICAgIGV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKIAogICAgICAgICAgICAgICAg
IGVuZFRlc3QoKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2Fk
KCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvbkxvYWQoKQogICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS93ZWJtLW1lZGlhLXNvdXJjZS5qcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vd2VibS1tZWRp
YS1zb3VyY2UuanMKaW5kZXggMGEzZGVkYmUyMmZhYzczODMzNDYwYWM2MzZhYjVhMWE5M2Y0OWY2
OS4uYTUwYzcyNWFiNWQ0MTVmNWEzYjhkMGVjOTljMDk1MDViNTg5NTYwYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS93ZWJtLW1lZGlh
LXNvdXJjZS5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS93ZWJtL3dlYm0tbWVkaWEtc291cmNlLmpzCkBAIC0xMSw2ICsxMSw3IEBAIHZhciBjbHVzdGVy
SW5mbyA9IFsKIAogdmFyIGhlYWRlckRhdGEgPSBudWxsOwogdmFyIGNsdXN0ZXJEYXRhID0gW107
Cit2YXIgc291cmNlSUQgPSAic291cmNlSUQxIjsKIAogZnVuY3Rpb24gZ2V0RGF0YSh1cmwsIGNh
bGxiYWNrKQogewpAQCAtMTA4LDYgKzEwOSwxMCBAQCBmdW5jdGlvbiBzZXRTcmNUb01lZGlhU291
cmNlVVJMKHZpZGVvVGFnKQogICAgIHZpZGVvVGFnLnNyYyA9IHZpZGVvVGFnLndlYmtpdE1lZGlh
U291cmNlVVJMOwogfQogCitmdW5jdGlvbiBhZGRTb3VyY2VJZCh2aWRlb1RhZykgeworICAgIHZp
ZGVvVGFnLndlYmtpdFNvdXJjZUFkZElkKHNvdXJjZUlELCAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDgsIHZvcmJpcyInKTsKK30KKwogZnVuY3Rpb24gYXBwZW5kSGVhZGVycyh2aWRlb1RhZykKIHsK
ICAgICBpZiAoIXZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZCkgewpAQCAtMTE1LDcgKzEyMCw3
IEBAIGZ1bmN0aW9uIGFwcGVuZEhlYWRlcnModmlkZW9UYWcpCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoZ2V0SGVhZGVycygpKTsKKyAg
ICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc291cmNlSUQsIGdldEhlYWRlcnMoKSk7CiB9
CiAKIGZ1bmN0aW9uIGFwcGVuZENsdXN0ZXIodmlkZW9UYWcsIGNsdXN0ZXJJbmRleCkKQEAgLTEz
Miw3ICsxMzcsNyBAQCBmdW5jdGlvbiBhcHBlbmRDbHVzdGVyKHZpZGVvVGFnLCBjbHVzdGVySW5k
ZXgpCiAKICAgICB0cnkgewogICAgICAgICB2YXIgY2x1c3RlciA9IGdldENsdXN0ZXIoY2x1c3Rl
ckluZGV4KTsKLSAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGNsdXN0ZXIpOwor
ICAgICAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBcHBlbmQoc291cmNlSUQsIGNsdXN0ZXIpOwog
ICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICBjb25zb2xlV3JpdGUoZXJyKTsKICAgICB9CkBA
IC0xNDYsNyArMTUxLDcgQEAgZnVuY3Rpb24gYXBwZW5kVW50aWxFbmRPZlN0cmVhbSh2aWRlb1Rh
Zywgc3RhcnRJbmRleCkKICAgICB9CiAKICAgICBmb3IgKHZhciBjbHVzdGVySW5kZXggPSBzdGFy
dEluZGV4OyBjbHVzdGVySW5kZXggPCBnZXRDbHVzdGVyQ291bnQoKTsgY2x1c3RlckluZGV4Kysp
IHsKLSAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5kKGdldENsdXN0ZXIoY2x1c3Rl
ckluZGV4KSk7CisgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChzb3VyY2VJRCwg
Z2V0Q2x1c3RlcihjbHVzdGVySW5kZXgpKTsKICAgICB9CiAgICAgdmlkZW9UYWcud2Via2l0U291
cmNlRW5kT2ZTdHJlYW0odmlkZW9UYWcuRU9TX05PX0VSUk9SKTsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA4OGQ1
ZjM5ZTQ3Yjg3ZWQwMDNiOGExMGE4ZTcwODA0N2EwNjMyNWYxLi4xODc0NDg3OTU3ZDQzMjdjOTBi
ODI1ODlhODRjY2U5YTA4OGU5ZGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zNjU2LDkgKzM2NTYsNiBAQCBCVUdD
UjEyMjQ0OCA6IG1lZGlhL3ZpZGVvLXNlZWstcGFzdC1lbmQtcGF1c2VkLmh0bWwgPSBQQVNTIFRF
WFQKIAogQlVHQ1IxMjI0NjIgV0lOIExJTlVYIDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dC1lbGVtZW50Lmh0bWwgPSBURVhUCiAKLS8vIFRlbXBvcmFyaWx5IGRpc2FibGVkIHVudGlsIENo
cm9taXVtIHNvdXJjZUFkZElkKCkgJiBzb3VyY2VSZW1vdmVJZCgpIGNvZGUgaGFzIGJlZW4gY2hl
Y2tlZCBpbi4KLUJVR1dLODM2MTYgU0tJUCA6IGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLWFkZC1hbmQtcmVtb3ZlLWlkcy5odG1sID0gRkFJTAot
CiBCVUdXSzgzNTAzIExJTlVYIERFQlVHIDogcGx1Z2lucy9pbm5lci1odG1sLWRpc3BsYXktbm9u
ZS5odG1sID0gQ1JBU0gKIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138832</attachid>
            <date>2012-04-25 10:02:20 -0700</date>
            <delta_ts>2012-04-30 09:32:58 -0700</delta_ts>
            <desc>Addressed style nit</desc>
            <filename>bug-83788-20120425100219.patch</filename>
            <type>text/plain</type>
            <size>23930</size>
            <attacher name="Aaron Colwell">acolwell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIyOTIzZmY1YmNiNzQw
NmIwZDY4Mzk4NTk3OWIzYzhiNjRhMjQyZi4uODNjYzJhNTNkMjkyZTU5ZTJiOGQyOWUxNjY3NDhi
ZWQwZjRkNTg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA0LTI1ICBBYXJv
biBDb2x3ZWxsICA8YWNvbHdlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVwZGF0ZSB3ZWJr
aXRTb3VyY2VBcHBlbmQoKSBzaWduYXR1cmUgdG8gbWF0Y2ggTWVkaWEgU291cmNlIHYwLjQgc3Bl
Yy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNzg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBUaGUgZXhpc3RpbmcgdGVzdHMgaW4gaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UgY292ZXIgdGhpcyBjb2RlIGFuZCB3ZXJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgc2lnbmF0
dXJlIGNoYW5nZS4gVGhlIHNpZ25hdHVyZSBjaGFuZ2UgYWxzbyBhbGxvd3MgdGhlIG9uZSBmYWls
aW5nIHRlc3QgdG8gYmUgcmVtb3ZlZCBmcm9tIHRlc3RfZXhwZWN0YXRpb25zLnR4dCBhbmQgYWN0
dWFsbHkgcGFzc2VzIG5vdy4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VBcHBlbmQp
OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoSFRNTE1lZGlh
RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
dWxsTWVkaWFQbGF5ZXJQcml2YXRlOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFQbGF5ZXI6OnNvdXJjZUFwcGVuZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6
c291cmNlQXBwZW5kKToKKwogMjAxMi0wNC0yNSAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5h
cmRAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQsIGZpeCBXaW5kb3dzIGJ1
aWxkIGFmdGVyIHIxMTUyMTUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY4MTlmZWM1
MjYzYTVjNmZjZTU2YTNlNmVmN2FkMzc1MzFlNDAyODQuLjgzZTRmMmM3MzdjNmJkMGZlMzg0OGU4
YmQ1NDUyNjhkOGVkY2MwZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTItMDQtMjUgIEFhcm9uIENvbHdlbGwgIDxhY29sd2VsbEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgVXBkYXRlIHNvdXJjZUFwcGVuZCgpIHNpZ25hdHVyZSB0byBtYXRjaCBNZWRp
YSBTb3VyY2UgdjAuNCBzcGVjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODM3ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllcjo6c291cmNlQXBwZW5kKToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5
ZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsOjpzb3VyY2VBcHBlbmQpOgorICAgICAgICAqIHNyYy9XZWJNZWRpYVBsYXllckNsaWVudElt
cGwuaDoKKyAgICAgICAgKFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCk6CisKIDIwMTItMDQtMjUg
IE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1
bV0gQ2FsbCBhY3R1YWxNZW1vcnlVc2FnZU1CIGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAyYTI3NmFlYzA2OTcxNzkzODA2NWY4NjY1ZTI3NjBk
NGNmYjc0MGViLi5jYzNjYTIwM2RmMDc4ZWU5YTlkNTE3ZTEwOTJjZGY0YTMxYTc4NDllIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTIzNTQsMTQgKzIzNTQs
MjUgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3ZWJraXRTb3VyY2VSZW1vdmVJZChjb25zdCBT
dHJpbmcmIGlkLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBtX3NvdXJjZUlEcy5yZW1vdmUoaWQp
OwogfQogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndlYmtpdFNvdXJjZUFwcGVuZChQYXNzUmVm
UHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBIVE1MTWVkaWFF
bGVtZW50Ojp3ZWJraXRTb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgUGFzc1JlZlB0cjxV
aW50OEFycmF5PiBkYXRhLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBpZiAoIWlzVmFsaWRT
b3VyY2VJZChpZCwgZWMpKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAoIW1fcGxheWVyIHx8
IG1fY3VycmVudFNyYyAhPSBtX21lZGlhU291cmNlVVJMIHx8IG1fc291cmNlU3RhdGUgIT0gU09V
UkNFX09QRU4pIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIGlmICghZGF0YS5nZXQoKSB8fCAhbV9wbGF5ZXItPnNvdXJjZUFw
cGVuZChkYXRhLT5kYXRhKCksIGRhdGEtPmxlbmd0aCgpKSkgeworICAgIGlmICghZGF0YS5nZXQo
KSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmICghZGF0YS0+bGVuZ3RoKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmICghbV9wbGF5ZXItPnNvdXJjZUFwcGVuZChpZCwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5sZW5n
dGgoKSkpIHsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogICAgICAgICByZXR1cm47CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA2ZGUzNWRiYTE4MGE4
NGU0YTQwYWI1NWJkMjVlMjUyZDBhOWY5YWJhLi5iMDc5ZmUwOTI2ZmVlOGZjZjdiYjQyMzc3YzEz
ZWEyOTEwODY0OWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
MTc0LDcgKzE3NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBLVVJMJiB3ZWJraXRNZWRpYVNvdXJj
ZVVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTb3VyY2VVUkw7IH0KICAgICB2b2lkIHdlYmtp
dFNvdXJjZUFkZElkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICB2b2lkIHdlYmtpdFNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlv
bkNvZGUmKTsKLSAgICB2b2lkIHdlYmtpdFNvdXJjZUFwcGVuZChQYXNzUmVmUHRyPFVpbnQ4QXJy
YXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHdlYmtpdFNvdXJjZUFwcGVuZChj
b25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGRhdGEsIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICBlbnVtIEVuZE9mU3RyZWFtU3RhdHVzIHsgRU9TX05PX0VSUk9SLCBFT1NfTkVUV09S
S19FUlIsIEVPU19ERUNPREVfRVJSIH07CiAgICAgdm9pZCB3ZWJraXRTb3VyY2VFbmRPZlN0cmVh
bSh1bnNpZ25lZCBzaG9ydCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGVudW0gU291cmNlU3RhdGUg
eyBTT1VSQ0VfQ0xPU0VELCBTT1VSQ0VfT1BFTiwgU09VUkNFX0VOREVEIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCA1YjljMTAxY2ViMmZiMTJjYzg2ZDMw
MDAzMGYyMDY2NGJiMDE2Y2M2Li44YjUxNTYxZjQ1MWFmMTcxMDcyMmU4YTdkMDZmYzQxNTA3NGEy
YWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTEwNCw3
ICsxMDQsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1tZWRpYVNv
dXJjZV0gdm9pZCB3ZWJraXRTb3VyY2VSZW1vdmVJZChpbiBET01TdHJpbmcgaWQpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKIAogICAgIC8vIEFwcGVuZHMgbWVkaWEgdG8gdG8gdGhlIHNvdXJjZS4K
LSAgICBbVjhFbmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUFw
cGVuZChpbiBVaW50OEFycmF5IGRhdGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBbVjhF
bmFibGVkQXRSdW50aW1lPW1lZGlhU291cmNlXSB2b2lkIHdlYmtpdFNvdXJjZUFwcGVuZChpbiBE
T01TdHJpbmcgaWQsIGluIFVpbnQ4QXJyYXkgZGF0YSkgcmFpc2VzIChET01FeGNlcHRpb24pOwog
CiAgICAgLy8gU2lnbmFscyB0aGUgZW5kIG9mIHN0cmVhbS4KICAgICBbVjhFbmFibGVkQXRSdW50
aW1lPW1lZGlhU291cmNlXSBjb25zdCB1bnNpZ25lZCBzaG9ydCBFT1NfTk9fRVJST1IgPSAwOyAv
LyBFbmQgb2Ygc3RyZWFtIHJlYWNoZWQgdy9vIGVycm9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDFlODE4NTdlODAxZTYzZTRm
YzAwYTM2ZTcxMzFjNTI4ZjBlM2FiODIuLjJmMzAzZDY3OTE2ZjFkMWM0YTIwMTQxNWNlNTBlYmU4
NjUzOTllMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKICAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpBZGRJZFN0YXR1cyBzb3VyY2VBZGRJ
ZChjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBTdHJpbmcmIHR5cGUpIHsgcmV0dXJuIE1lZGlhUGxh
eWVyOjpOb3RTdXBwb3J0ZWQ7IH0KICAgICB2aXJ0dWFsIGJvb2wgc291cmNlUmVtb3ZlSWQoY29u
c3QgU3RyaW5nJiBpZCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgc291cmNl
QXBwZW5kKGNvbnN0IHVuc2lnbmVkIGNoYXIqLCB1bnNpZ25lZCkgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IHVuc2ln
bmVkIGNoYXIqLCB1bnNpZ25lZCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c291cmNlRW5kT2ZTdHJlYW0oTWVkaWFQbGF5ZXI6OkVuZE9mU3RyZWFtU3RhdHVzIHN0YXR1cykg
eyB9CiAjZW5kaWYKIApAQCAtNDY5LDkgKzQ2OSw5IEBAIGJvb2wgTWVkaWFQbGF5ZXI6OnNvdXJj
ZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c291cmNl
UmVtb3ZlSWQoaWQpOwogfQogCi1ib29sIE1lZGlhUGxheWVyOjpzb3VyY2VBcHBlbmQoY29uc3Qg
dW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQorYm9vbCBNZWRpYVBsYXllcjo6
c291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEs
IHVuc2lnbmVkIGxlbmd0aCkKIHsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5zb3VyY2VBcHBlbmQo
ZGF0YSwgbGVuZ3RoKTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5zb3VyY2VBcHBlbmQoaWQsIGRh
dGEsIGxlbmd0aCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXI6OnNvdXJjZUVuZE9mU3RyZWFtKE1l
ZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCA0MjllNWZjZjU1OGRjMjMwYjRj
MDMzZDZmMWE2MWU3ZmNiOGQ5NTE2Li42ZGJjYjgxNmQ2ZGI4ZDZkNTNhNDE5NGMwYzkxZGJlMDEx
Y2Q2ODllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKQEAgLTIzMiw3ICsyMzIsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBBZGRJZFN0YXR1cyB7
IE9rLCBOb3RTdXBwb3J0ZWQsIFJlYWNoZWRJZExpbWl0IH07CiAgICAgQWRkSWRTdGF0dXMgc291
cmNlQWRkSWQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiB0eXBlKTsKICAgICBib29s
IHNvdXJjZVJlbW92ZUlkKGNvbnN0IFN0cmluZyYgaWQpOwotICAgIGJvb2wgc291cmNlQXBwZW5k
KGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCk7CisgICAgYm9vbCBz
b3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwg
dW5zaWduZWQgbGVuZ3RoKTsKICAgICBlbnVtIEVuZE9mU3RyZWFtU3RhdHVzIHsgRW9zTm9FcnJv
ciwgRW9zTmV0d29ya0Vycm9yLCBFb3NEZWNvZGVFcnJvciB9OwogICAgIHZvaWQgc291cmNlRW5k
T2ZTdHJlYW0oRW5kT2ZTdHJlYW1TdGF0dXMpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGZmNTVk
MWIwYjVhYzA4MjJiYjU2ZmRkN2M5NWM4NTE1YTIzZTNlNmMuLjllZGE3NWExMzI5ZTUzNjU2YmRh
MDA4MWJkYzRlMzk3NGM2MGZiYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0xNjAsNyArMTYwLDcgQEAgcHVi
bGljOgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6
QWRkSWRTdGF0dXMgc291cmNlQWRkSWQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyBy
ZXR1cm4gTWVkaWFQbGF5ZXI6Ok5vdFN1cHBvcnRlZDsgfQogICAgIHZpcnR1YWwgYm9vbCBzb3Vy
Y2VSZW1vdmVJZChjb25zdCBTdHJpbmcmKSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwg
Ym9vbCBzb3VyY2VBcHBlbmQoY29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkKSB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3QgU3RyaW5nJiwg
Y29uc3QgdW5zaWduZWQgY2hhciosIHVuc2lnbmVkKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBzb3VyY2VFbmRPZlN0cmVhbShNZWRpYVBsYXllcjo6RW5kT2ZTdHJlYW1TdGF0
dXMpIHsgfTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJNZWRpYVBsYXllci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
TWVkaWFQbGF5ZXIuaAppbmRleCBmMzk0NjlmMWUxNzBkMjMyYWRkYWRlZjk3ZWIxMDE4MzM0MGRh
OGQ4Li4wMzVlNTU3YmJlMTI4M2M3MDg5NDgyMmI2YmM2MDY5MjI2M2ZmZmRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJNZWRpYVBsYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk1lZGlhUGxheWVyLmgKQEAgLTIwMCw3ICsy
MDAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIEFkZElkU3RhdHVzIHNvdXJjZUFkZElkKGNv
bnN0IFdlYlN0cmluZyYgaWQsIGNvbnN0IFdlYlN0cmluZyYgdHlwZSkgeyByZXR1cm4gQWRkSWRT
dGF0dXNOb3RTdXBwb3J0ZWQ7IH0KICAgICB2aXJ0dWFsIGJvb2wgc291cmNlUmVtb3ZlSWQoY29u
c3QgV2ViU3RyaW5nJiBpZCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgc291
cmNlQXBwZW5kKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc291cmNlQXBwZW5kKGNvbnN0IFdlYlN0
cmluZyYgaWQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc291cmNlRW5kT2ZTdHJlYW0oRW5kT2ZT
dHJlYW1TdGF0dXMpICB7IH0KIAogICAgIC8vIFJldHVybnMgd2hldGhlciBrZXlTeXN0ZW0gaXMg
c3VwcG9ydGVkLiBJZiB0cnVlLCB0aGUgcmVzdWx0IHdpbGwgYmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4
IDU4YjYzOTZmMWNjZjYzMjhkZmMzYjkzMmJjYmU2YjY1NTdlZTE3YzUuLjNiMzYxNTAyN2Q1Zjhl
MzBkOWNhYmE5ZTIxNWY3ZGYxNjE3MWM1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcApAQCAtMzU2LDEwICsz
NTYsMTAgQEAgYm9vbCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZVJlbW92ZUlkKGNv
bnN0IFN0cmluZyYgaWQpCiAgICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPnNvdXJjZVJlbW92
ZUlkKGlkKTsKIH0KIAotYm9vbCBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNvdXJjZUFwcGVu
ZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCitib29sIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6c291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICBpZiAobV93ZWJN
ZWRpYVBsYXllcikKLSAgICAgICAgcmV0dXJuIG1fd2ViTWVkaWFQbGF5ZXItPnNvdXJjZUFwcGVu
ZChkYXRhLCBsZW5ndGgpOworICAgICAgICByZXR1cm4gbV93ZWJNZWRpYVBsYXllci0+c291cmNl
QXBwZW5kKGlkLCBkYXRhLCBsZW5ndGgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwu
aAppbmRleCAyZTllMDgzMGRmYThlMWQyNmFhMTBhN2IxMzc1YjI5ZmU5YTBkMTc3Li4zYzNmMjE3
YTE0NmQ5YmI0MzA0OTUzNTVjMmFjMGIyODU3NDljMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuaApAQCAtMTUxLDcg
KzE1MSw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZpcnR1YWwg
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkFkZElkU3RhdHVzIHNvdXJjZUFkZElkKGNvbnN0IFN0cmlu
ZyYgaWQsIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAgICAgdmlydHVhbCBib29sIHNvdXJjZVJlbW92
ZUlkKGNvbnN0IFN0cmluZyYpOwotICAgIHZpcnR1YWwgYm9vbCBzb3VyY2VBcHBlbmQoY29uc3Qg
dW5zaWduZWQgY2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICB2aXJ0dWFsIGJvb2wg
c291cmNlQXBwZW5kKGNvbnN0IFN0cmluZyYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsIHVu
c2lnbmVkIGxlbmd0aCk7CiAgICAgdmlydHVhbCB2b2lkIHNvdXJjZUVuZE9mU3RyZWFtKFdlYkNv
cmU6Ok1lZGlhUGxheWVyOjpFbmRPZlN0cmVhbVN0YXR1cyk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEx
M2Q1ZWQ0ODgzOGEzZGExZDUzNDdlMGU3Y2NiYjljNWRlYjY2MjYuLmVhMTgxMzgxNTJlMWViNTQx
YjZjYzAyZWM0MWVmZmU4ZjBkYzg2N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wNC0y
NSAgQWFyb24gQ29sd2VsbCAgPGFjb2x3ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRh
dGUgTGF5b3V0VGVzdHMgdG8gdXNlIHRoZSBuZXcgd2Via2l0U291cmNlQXBwZW5kKCkgc2lnbmF0
dXJlCisgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgdjAuNCBNZWRpYSBTb3VyY2Ugc3BlYy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNzg4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlh
LXNvdXJjZS1wbGF5Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5n
ZXMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3dl
Ym0tbWVkaWEtc291cmNlLmpzOgorICAgICAgICAoYWRkU291cmNlSWQpOgorICAgICAgICAoYXBw
ZW5kSGVhZGVycyk6CisgICAgICAgIChhcHBlbmRDbHVzdGVyKToKKyAgICAgICAgKGFwcGVuZFVu
dGlsRW5kT2ZTdHJlYW0pOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dDoKKwogMjAxMi0wNC0yNSAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlh
Z28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgZHVwbGljYXRlZCB0
ZXN0IGV4cGVjdGF0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2UtZXJyb3JzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNv
dXJjZS1lcnJvcnMuaHRtbAppbmRleCAwZGU3YzYwMDc3NjAyMzJkNjBkMmYxMWEyMzA1M2VmZDA3
YWM1NjFhLi5hNDc0N2ZlNzgyMjNjNGNjZGNkOGIwNDg2OTQ2MjQwM2MwN2IzZDc3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVv
LW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1lcnJvcnMuaHRtbApAQCAt
MTM5LDYgKzEzOSw3IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CiAg
ICAgICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgicnVubmluZyAiICsgZnVuY3Rpb25OYW1l
KTsKICAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIo
J3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRsZXJGdW5jdGlvbik7CisgICAgICAgICAgICAg
ICAgICAgIGFkZFNvdXJjZUlkKGV2ZW50LnRhcmdldCk7CiAgICAgICAgICAgICAgICAgICAgIG9u
T3BlbkZ1bmN0aW9uKGV2ZW50KTsKICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAg
IHZpZGVvVGFnLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBldmVudEhhbmRs
ZXJGdW5jdGlvbik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1w
bGF5Lmh0bWwKaW5kZXggODE4YTY1YTM3NTYxZWZmNTNkMGQ5NzVlODkwODM1OWIwMDRhZmIzNi4u
YjgyZGRjODc1ZDRiZmFkNGI0ZjNmOGU1MmRmMWI3M2JmNjVmZmIwZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1z
b3VyY2UtcGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXBsYXkuaHRtbApAQCAtNyw2ICs3LDcgQEAK
ICAgICAgICAgICAgIGZ1bmN0aW9uIG9uU291cmNlT3BlbihldmVudCkgCiAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OworICAgICAgICAg
ICAgICAgIGFkZFNvdXJjZUlkKHZpZGVvVGFnKTsKICAgICAgICAgICAgICAgICBhcHBlbmRIZWFk
ZXJzKHZpZGVvVGFnKTsKICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbEVuZE9mU3RyZWFtKHZp
ZGVvVGFnLCAwKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8tbWVkaWEtc291cmNlLXNlZWsuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vdmlkZW8t
bWVkaWEtc291cmNlLXNlZWsuaHRtbAppbmRleCA4ZGE0OGQ4NTY4MDk1MWExYzBiMGNkYzQ3NTQ2
MjczMjljZTVhNzZmLi41NDEwY2Y5MmRlZDg2YjEyMmJkZTkwODc3NzA4Y2Y5Y2ZiNGU5ODhjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJt
L3ZpZGVvLW1lZGlhLXNvdXJjZS1zZWVrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Utc2Vlay5odG1sCkBA
IC0xNSw2ICsxNSw3IEBACiAgICAgICAgICAgICAgICAgaWYgKGZpcnN0T3BlbikgewogICAgICAg
ICAgICAgICAgICAgICBmaXJzdE9wZW4gPSBmYWxzZTsKIAorICAgICAgICAgICAgICAgICAgICBh
ZGRTb3VyY2VJZCh2aWRlb1RhZyk7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZEhlYWRlcnMo
dmlkZW9UYWcpOwogICAgICAgICAgICAgICAgICAgICBhcHBlbmRVbnRpbEVuZE9mU3RyZWFtKHZp
ZGVvVGFnLCAwKTsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0
ZS1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1zdGF0ZS1jaGFuZ2VzLmh0bWwKaW5kZXggNDIwYzc3
ZmYwYzAxNmYyOTYwZmNlZTk0MDAxYWExNjc1NGU3YjEyNi4uNWRhYmIzNGVmMzdkYTg4OTI5ZGE3
M2RiMzQwMzFmNDUxNGU1ZWMyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
ZWRpYS9tZWRpYS1zb3VyY2Uvd2VibS92aWRlby1tZWRpYS1zb3VyY2Utc3RhdGUtY2hhbmdlcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0v
dmlkZW8tbWVkaWEtc291cmNlLXN0YXRlLWNoYW5nZXMuaHRtbApAQCAtNiwyMiArNiwyMiBAQAog
ICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgdmFyIHNlZWtUaW1lID0gZ2V0Q2x1c3RlclRp
bWVGb3JJbmRleCg0KTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kVW50aWxFbmQodmlk
ZW9UYWcsIHN0YXJ0SW5kZXgpIAorICAgICAgICAgICAgZnVuY3Rpb24gYXBwZW5kVW50aWxFbmQo
dmlkZW9UYWcsIHN0YXJ0SW5kZXgpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgZm9y
ICh2YXIgaW5kZXggPSBzdGFydEluZGV4OyBpbmRleCA8IGdldENsdXN0ZXJDb3VudCgpOyBpbmRl
eCsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUFwcGVuZChn
ZXRDbHVzdGVyKGluZGV4KSk7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENsdXN0ZXIodmlk
ZW9UYWcsIGluZGV4KTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICB2aWRl
b1RhZy53ZWJraXRTb3VyY2VFbmRPZlN0cmVhbShIVE1MTWVkaWFFbGVtZW50LkVPU19OT19FUlJP
Uik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGFwcGVuZENsdXN0ZXJz
Rm9yU2Vlayh2aWRlb1RhZywgY2x1c3RlclNlZWtUaW1lKSAKKyAgICAgICAgICAgIGZ1bmN0aW9u
IGFwcGVuZENsdXN0ZXJzRm9yU2Vlayh2aWRlb1RhZywgY2x1c3RlclNlZWtUaW1lKQogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIHZhciBjbHVzdGVySW5kZXggPSBnZXRDbHVzdGVySW5k
ZXhGb3JUaW1lc3RhbXAoY2x1c3RlclNlZWtUaW1lKTsKICAgICAgICAgICAgICAgICB2YXIgZW5k
SW5kZXggPSBjbHVzdGVySW5kZXggKyAyOwogCiAgICAgICAgICAgICAgICAgZm9yICg7IChjbHVz
dGVySW5kZXggPCBlbmRJbmRleCkgJiYgKGNsdXN0ZXJJbmRleCA8IGdldENsdXN0ZXJDb3VudCgp
KTsgY2x1c3RlckluZGV4KyspIHsKLSAgICAgICAgICAgICAgICAgICAgdmlkZW9UYWcud2Via2l0
U291cmNlQXBwZW5kKGdldENsdXN0ZXIoY2x1c3RlckluZGV4KSk7CisgICAgICAgICAgICAgICAg
ICAgIGFwcGVuZENsdXN0ZXIodmlkZW9UYWcsIGNsdXN0ZXJJbmRleCk7CiAgICAgICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKGNsdXN0ZXJJbmRleCA+PSBnZXRDbHVzdGVyQ291
bnQoKSkgewpAQCAtMzAsMTIgKzMwLDEyIEBACiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblNvdXJjZUV2ZW50KGV2ZW50KSAKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIG9uU291cmNlRXZlbnQoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCdFVkVOVCgnICsgZXZlbnQudHlwZSArICcpIDogJyAr
IGdldFNvdXJjZVN0YXRlTmFtZShldmVudC50YXJnZXQud2Via2l0U291cmNlU3RhdGUpKTsKICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZU9wZW4oZXZl
bnQpIAorICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZU9wZW4oZXZlbnQpCiAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUg
c291cmNlIGlzIG9wZW5lZC4gV2UganVzdCB3YW50IHRvIGFwcGVuZAogICAgICAgICAgICAgICAg
IC8vIHRoZSBoZWFkZXJzIGFuZCBjbHVzdGVycyB1bnRpbCB0aGUgZW5kIG9mIHN0cmVhbS4gVGhp
cyBpcyB0ZXN0aW5nIHRoZQpAQCAtNDMsNiArNDMsNyBAQAogCiAgICAgICAgICAgICAgICAgdmFy
IHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92
ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZW9wZW4nLCBvbkZpcnN0U291cmNlT3Blbik7Cisg
ICAgICAgICAgICAgICAgYWRkU291cmNlSWQodmlkZW9UYWcpOwogCiAgICAgICAgICAgICAgICAg
ZXhwZWN0U291cmNlU3RhdGUodmlkZW9UYWcsIEhUTUxNZWRpYUVsZW1lbnQuU09VUkNFX09QRU4p
OwogCkBAIC01NCw3ICs1NSw3IEBACiAgICAgICAgICAgICAgICAgYXBwZW5kVW50aWxFbmQodmlk
ZW9UYWcsIDApOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvbkZpcnN0
U291cmNlRW5kZWQoZXZlbnQpIAorICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNvdXJjZUVu
ZGVkKGV2ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9
IGV2ZW50LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3Rl
bmVyKCd3ZWJraXRzb3VyY2VlbmRlZCcsIG9uRmlyc3RTb3VyY2VFbmRlZCk7CkBAIC03Niw3ICs3
Nyw3IEBACiAgICAgICAgICAgICAgICAgdmlkZW9UYWcuY3VycmVudFRpbWUgPSBzZWVrVGltZTsK
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtpbmcoZXZl
bnQpIAorICAgICAgICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtpbmcoZXZlbnQpCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAg
ICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlZWtpbmcnLCBvbkZp
cnN0U2Vla2luZyk7CkBAIC04Nyw3ICs4OCw3IEBACiAgICAgICAgICAgICAgICAgYXBwZW5kQ2x1
c3RlcnNGb3JTZWVrKHZpZGVvVGFnLCB2aWRlb1RhZy5jdXJyZW50VGltZSk7CiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uRmlyc3RTZWVrZWQoZXZlbnQpIAorICAgICAg
ICAgICAgZnVuY3Rpb24gb25GaXJzdFNlZWtlZChldmVudCkKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAg
dmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywgb25GaXJzdFNlZWtlZCk7CkBA
IC0xMDAsNyArMTAxLDcgQEAKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5jdXJyZW50VGltZSA9
IHNlZWtUaW1lOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblNlY29u
ZFNlZWtpbmcoZXZlbnQpIAorICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTZWVraW5nKGV2
ZW50KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50
LnRhcmdldDsKICAgICAgICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCdz
ZWVraW5nJywgb25TZWNvbmRTZWVraW5nKTsKQEAgLTExMSw3ICsxMTIsNyBAQAogICAgICAgICAg
ICAgICAgIGFwcGVuZENsdXN0ZXJzRm9yU2Vlayh2aWRlb1RhZywgdmlkZW9UYWcuY3VycmVudFRp
bWUpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtl
ZChldmVudCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNlZWtlZChldmVudCkKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9UYWcgPSBldmVudC50YXJnZXQ7
CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Vla2VkJywg
b25TZWNvbmRTZWVrZWQpOwpAQCAtMTIzLDcgKzEyNCw3IEBACiAgICAgICAgICAgICAgICAgc2V0
U3JjVG9NZWRpYVNvdXJjZVVSTCh2aWRlb1RhZyk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIGZ1bmN0aW9uIG9uRmlyc3RTb3VyY2VDbG9zZShldmVudCkgCisgICAgICAgICAgICBmdW5j
dGlvbiBvbkZpcnN0U291cmNlQ2xvc2UoZXZlbnQpCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0OwogICAgICAgICAgICAgICAgIHZpZGVv
VGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJjZWNsb3NlJywgb25GaXJzdFNvdXJj
ZUNsb3NlKTsKQEAgLTEzMywxMCArMTM0LDExIEBACiAgICAgICAgICAgICAgICAgdmlkZW9UYWcu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uU2Vjb25kU291cmNlT3Blbik7
CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlT3Bl
bihldmVudCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZU9wZW4oZXZlbnQp
CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFy
Z2V0OwogICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtp
dHNvdXJjZW9wZW4nLCBvblNlY29uZFNvdXJjZU9wZW4pOworICAgICAgICAgICAgICAgIGFkZFNv
dXJjZUlkKHZpZGVvVGFnKTsKIAogICAgICAgICAgICAgICAgIGV4cGVjdFNvdXJjZVN0YXRlKHZp
ZGVvVGFnLCBIVE1MTWVkaWFFbGVtZW50LlNPVVJDRV9PUEVOKTsKIApAQCAtMTQ4LDcgKzE1MCw3
IEBACiAgICAgICAgICAgICAgICAgYXBwZW5kVW50aWxFbmQodmlkZW9UYWcsIDApOwogICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZUVuZGVkKGV2ZW50
KSAKKyAgICAgICAgICAgIGZ1bmN0aW9uIG9uU2Vjb25kU291cmNlRW5kZWQoZXZlbnQpCiAgICAg
ICAgICAgICB7CiAgICAgICAgICAgICAgICAgdmFyIHZpZGVvVGFnID0gZXZlbnQudGFyZ2V0Owog
ICAgICAgICAgICAgICAgIHZpZGVvVGFnLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtpdHNvdXJj
ZWVuZGVkJywgb25TZWNvbmRTb3VyY2VFbmRlZCk7CkBAIC0xNjgsNyArMTcwLDcgQEAKICAgICAg
ICAgICAgICAgICBzZXRTcmNUb01lZGlhU291cmNlVVJMKHZpZGVvVGFnKTsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gb25TZWNvbmRTb3VyY2VDbG9zZShldmVudCkgCisg
ICAgICAgICAgICBmdW5jdGlvbiBvblNlY29uZFNvdXJjZUNsb3NlKGV2ZW50KQogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgIHZhciB2aWRlb1RhZyA9IGV2ZW50LnRhcmdldDsKICAgICAg
ICAgICAgICAgICB2aWRlb1RhZy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VjbG9z
ZScsIG9uU2Vjb25kU291cmNlQ2xvc2UpOwpAQCAtMTc3LDE3ICsxNzksMTggQEAKICAgICAgICAg
ICAgICAgICB2aWRlb1RhZy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRzb3VyY2VvcGVuJywgb25U
aGlyZFNvdXJjZU9wZW4pOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBv
blRoaXJkU291cmNlT3BlbihldmVudCkgCisgICAgICAgICAgICBmdW5jdGlvbiBvblRoaXJkU291
cmNlT3BlbihldmVudCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB2YXIgdmlkZW9U
YWcgPSBldmVudC50YXJnZXQ7CiAgICAgICAgICAgICAgICAgdmlkZW9UYWcucmVtb3ZlRXZlbnRM
aXN0ZW5lcignd2Via2l0c291cmNlb3BlbicsIG9uVGhpcmRTb3VyY2VPcGVuKTsKKyAgICAgICAg
ICAgICAgICBhZGRTb3VyY2VJZCh2aWRlb1RhZyk7CiAKICAgICAgICAgICAgICAgICBleHBlY3RT
b3VyY2VTdGF0ZSh2aWRlb1RhZywgSFRNTE1lZGlhRWxlbWVudC5TT1VSQ0VfT1BFTik7CiAKICAg
ICAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1
bmN0aW9uIG9uTG9hZCgpIAorICAgICAgICAgICAgZnVuY3Rpb24gb25Mb2FkKCkKICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dlYm0vd2VibS1tZWRp
YS1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93
ZWJtL3dlYm0tbWVkaWEtc291cmNlLmpzCmluZGV4IDBhM2RlZGJlMjJmYWM3MzgzMzQ2MGFjNjM2
YWI1YTFhOTNmNDlmNjkuLmIxMGJiYWRjMDIzNmI4NWI2NjBmNTE3NTQ3YmVmYmE0ZTQ2ZDkzNTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL3dl
Ym0vd2VibS1tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2Uvd2VibS93ZWJtLW1lZGlhLXNvdXJjZS5qcwpAQCAtMTEsMTMgKzExLDE1
IEBAIHZhciBjbHVzdGVySW5mbyA9IFsKIAogdmFyIGhlYWRlckRhdGEgPSBudWxsOwogdmFyIGNs
dXN0ZXJEYXRhID0gW107Cit2YXIgc291cmNlSUQgPSAic291cmNlSUQxIjsKIAogZnVuY3Rpb24g
Z2V0RGF0YSh1cmwsIGNhbGxiYWNrKQogewogICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC5vcGVuKCJHRVQiLCB1cmwsIHRydWUpOwogICAgIHJlcXVl
c3QucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKLSAgICByZXF1ZXN0Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgIHJlcXVlc3Qub25sb2FkID0gZnVuY3Rpb24oKQorICAgIHsKICAgICAg
ICAgaWYgKHJlcXVlc3Quc3RhdHVzICE9IDIwMCkgewogICAgICAgICAgICAgZmFpbFRlc3QoIlVu
ZXhwZWN0ZWQgc3RhdHVzIGNvZGUgIiArIHJlcXVlc3Quc3RhdHVzICsgIiBmb3IgIiArIHVybCk7
CiAgICAgICAgICAgICBjYWxsYmFjayhudWxsKTsKQEAgLTI5LDggKzMxLDEwIEBAIGZ1bmN0aW9u
IGdldERhdGEodXJsLCBjYWxsYmFjaykKICAgICByZXF1ZXN0LnNlbmQoKTsKIH0KIAotZnVuY3Rp
b24gY3JlYXRlQ2x1c3RlckdldEZ1bmN0aW9uKGNsdXN0ZXJJbmRleCwgY2FsbGJhY2spIHsKLSAg
ICByZXR1cm4gZnVuY3Rpb24oZGF0YSkgeworZnVuY3Rpb24gY3JlYXRlQ2x1c3RlckdldEZ1bmN0
aW9uKGNsdXN0ZXJJbmRleCwgY2FsbGJhY2spCit7CisgICAgcmV0dXJuIGZ1bmN0aW9uKGRhdGEp
CisgICAgewogICAgICAgICBpZiAoIWRhdGEpIHsKICAgICAgICAgICAgIGNhbGxiYWNrKGZhbHNl
KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQ5LDggKzUzLDEwIEBAIGZ1bmN0aW9uIGNyZWF0
ZUNsdXN0ZXJHZXRGdW5jdGlvbihjbHVzdGVySW5kZXgsIGNhbGxiYWNrKSB7CiAgICAgfTsKIH0K
IAotZnVuY3Rpb24gbG9hZFdlYk1EYXRhKGNhbGxiYWNrKSB7Ci0gICAgZ2V0RGF0YSgiL21lZGlh
L3Jlc291cmNlcy9tZWRpYS1zb3VyY2Uvd2VibS90ZXN0LndlYm0uaGVhZGVycyIsIGZ1bmN0aW9u
KGRhdGEpIHsKK2Z1bmN0aW9uIGxvYWRXZWJNRGF0YShjYWxsYmFjaykKK3sKKyAgICBnZXREYXRh
KCIvbWVkaWEvcmVzb3VyY2VzL21lZGlhLXNvdXJjZS93ZWJtL3Rlc3Qud2VibS5oZWFkZXJzIiwg
ZnVuY3Rpb24oZGF0YSkKKyAgICB7CiAgICAgICAgIGlmICghZGF0YSkgewogICAgICAgICAgICAg
Y2FsbGJhY2soZmFsc2UpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTA4LDYgKzExNCwxMSBA
QCBmdW5jdGlvbiBzZXRTcmNUb01lZGlhU291cmNlVVJMKHZpZGVvVGFnKQogICAgIHZpZGVvVGFn
LnNyYyA9IHZpZGVvVGFnLndlYmtpdE1lZGlhU291cmNlVVJMOwogfQogCitmdW5jdGlvbiBhZGRT
b3VyY2VJZCh2aWRlb1RhZykKK3sKKyAgICB2aWRlb1RhZy53ZWJraXRTb3VyY2VBZGRJZChzb3Vy
Y2VJRCwgJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA4LCB2b3JiaXMiJyk7Cit9CisKIGZ1bmN0aW9u
IGFwcGVuZEhlYWRlcnModmlkZW9UYWcpCiB7CiAgICAgaWYgKCF2aWRlb1RhZy53ZWJraXRTb3Vy
Y2VBcHBlbmQpIHsKQEAgLTExNSw3ICsxMjYsNyBAQCBmdW5jdGlvbiBhcHBlbmRIZWFkZXJzKHZp
ZGVvVGFnKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgdmlkZW9UYWcud2Via2l0U291
cmNlQXBwZW5kKGdldEhlYWRlcnMoKSk7CisgICAgdmlkZW9UYWcud2Via2l0U291cmNlQXBwZW5k
KHNvdXJjZUlELCBnZXRIZWFkZXJzKCkpOwogfQogCiBmdW5jdGlvbiBhcHBlbmRDbHVzdGVyKHZp
ZGVvVGFnLCBjbHVzdGVySW5kZXgpCkBAIC0xMzIsNyArMTQzLDcgQEAgZnVuY3Rpb24gYXBwZW5k
Q2x1c3Rlcih2aWRlb1RhZywgY2x1c3RlckluZGV4KQogCiAgICAgdHJ5IHsKICAgICAgICAgdmFy
IGNsdXN0ZXIgPSBnZXRDbHVzdGVyKGNsdXN0ZXJJbmRleCk7Ci0gICAgICAgIHZpZGVvVGFnLndl
YmtpdFNvdXJjZUFwcGVuZChjbHVzdGVyKTsKKyAgICAgICAgdmlkZW9UYWcud2Via2l0U291cmNl
QXBwZW5kKHNvdXJjZUlELCBjbHVzdGVyKTsKICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAg
Y29uc29sZVdyaXRlKGVycik7CiAgICAgfQpAQCAtMTQ2LDcgKzE1Nyw3IEBAIGZ1bmN0aW9uIGFw
cGVuZFVudGlsRW5kT2ZTdHJlYW0odmlkZW9UYWcsIHN0YXJ0SW5kZXgpCiAgICAgfQogCiAgICAg
Zm9yICh2YXIgY2x1c3RlckluZGV4ID0gc3RhcnRJbmRleDsgY2x1c3RlckluZGV4IDwgZ2V0Q2x1
c3RlckNvdW50KCk7IGNsdXN0ZXJJbmRleCsrKSB7Ci0gICAgICAgIHZpZGVvVGFnLndlYmtpdFNv
dXJjZUFwcGVuZChnZXRDbHVzdGVyKGNsdXN0ZXJJbmRleCkpOworICAgICAgICB2aWRlb1RhZy53
ZWJraXRTb3VyY2VBcHBlbmQoc291cmNlSUQsIGdldENsdXN0ZXIoY2x1c3RlckluZGV4KSk7CiAg
ICAgfQogICAgIHZpZGVvVGFnLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKHZpZGVvVGFnLkVPU19O
T19FUlJPUik7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMzcxMWRhYmVhMDJjMGE0Y2IxN2I0ODRhYmI3ODM4MDk4
YTI4ZmYyZi4uMjJiNWI1NWI2ZTI4N2Y5YjAzNzY3NWEyYjQ2NzQxYTA1NDc5ZDgwMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dApAQCAtMzYxNCw5ICszNjE0LDYgQEAgQlVHQ1IxMjI0NDggOiBtZWRpYS92aWRlby1zZWVrLXBh
c3QtZW5kLXBhdXNlZC5odG1sID0gUEFTUyBURVhUCiAKIEJVR0NSMTIyNDYyIFdJTiBMSU5VWCA6
IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3QtZWxlbWVudC5odG1sID0gVEVYVAogCi0vLyBU
ZW1wb3JhcmlseSBkaXNhYmxlZCB1bnRpbCBDaHJvbWl1bSBzb3VyY2VBZGRJZCgpICYgc291cmNl
UmVtb3ZlSWQoKSBjb2RlIGhhcyBiZWVuIGNoZWNrZWQgaW4uCi1CVUdXSzgzNjE2IFNLSVAgOiBo
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS93ZWJtL3ZpZGVvLW1lZGlhLXNvdXJjZS1hZGQt
YW5kLXJlbW92ZS1pZHMuaHRtbCA9IEZBSUwKLQogQlVHV0s4MzUwMyBMSU5VWCBERUJVRyA6IHBs
dWdpbnMvaW5uZXItaHRtbC1kaXNwbGF5LW5vbmUuaHRtbCA9IENSQVNICiAKIAo=
</data>
<flag name="review"
          id="144302"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>