<?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>120691</bug_id>
          
          <creation_ts>2013-09-04 12:21:25 -0700</creation_ts>
          <short_desc>[DOM4] Have ProcessingInstruction inherit CharacterData</short_desc>
          <delta_ts>2013-09-09 02:55:21 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eoconnor</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>924552</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-09-04 12:21:25 -0700</bug_when>
    <thetext>Merge https://chromium.googlesource.com/chromium/blink/+/f4784150a3cc4b972fe6b2ea8c2d823106351f10

Have ProcessingInstruction inherit CharacterData as per the latest DOM4
specification:
http://dom.spec.whatwg.org/#processinginstruction

Previously, ProcessingInstruction was inheriting from Node as per DOM
Level 3.

Firefox already follows DOM4 but not IE10.
This change leads to less code duplication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924555</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-04 12:24:01 -0700</bug_when>
    <thetext>I can work on merging this tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924918</commentid>
    <comment_count>2</comment_count>
      <attachid>210587</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-05 01:15:09 -0700</bug_when>
    <thetext>Created attachment 210587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924925</commentid>
    <comment_count>3</comment_count>
      <attachid>210587</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-05 01:41:03 -0700</bug_when>
    <thetext>Comment on attachment 210587
Patch

Attachment 210587 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1696631</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924927</commentid>
    <comment_count>4</comment_count>
      <attachid>210587</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-05 01:57:19 -0700</bug_when>
    <thetext>Comment on attachment 210587
Patch

Attachment 210587 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1692820</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924940</commentid>
    <comment_count>5</comment_count>
      <attachid>210591</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-05 02:26:44 -0700</bug_when>
    <thetext>Created attachment 210591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924943</commentid>
    <comment_count>6</comment_count>
      <attachid>210591</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-05 02:47:47 -0700</bug_when>
    <thetext>Comment on attachment 210591
Patch

Attachment 210591 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1690847</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924947</commentid>
    <comment_count>7</comment_count>
      <attachid>210593</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-05 02:57:31 -0700</bug_when>
    <thetext>Created attachment 210593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924948</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-05 02:59:13 -0700</bug_when>
    <thetext>Please wait for approval from timothy@apple.com (or another member of the Apple Safari Team) before submitting because this patch contains changes to the Apple Mac WebKit.framework public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925167</commentid>
    <comment_count>9</comment_count>
      <attachid>210593</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-05 12:42:59 -0700</bug_when>
    <thetext>Comment on attachment 210593
Patch

This is fine for the ObjC API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925823</commentid>
    <comment_count>10</comment_count>
      <attachid>210593</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-06 13:30:05 -0700</bug_when>
    <thetext>Comment on attachment 210593
Patch

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

Looks OK except for two small issues. I’m going to say r=me but we should check into these two things.

&gt; Source/WebCore/bindings/objc/PublicDOMInterfaces.h:318
&gt; -@interface DOMProcessingInstruction : DOMNode WEBKIT_VERSION_1_3
&gt; +@interface DOMProcessingInstruction : DOMCharacterData WEBKIT_VERSION_1_3

I am not sure this is OK to change. Changing the inheritance could break OS X apps. We should ask Tim Hatcher what his risk assessment is.

&gt; Source/WebCore/dom/CharacterData.cpp:207
&gt; +    if (nodeType() == PROCESSING_INSTRUCTION_NODE)
&gt; +        toProcessingInstruction(this)-&gt;checkStyleSheet();

This is unfortunate, because nodeType is a virtual function dispatch. I guess this is not such a hot code path, though.

&gt; Source/WebCore/dom/CharacterData.h:65
&gt; +    String m_data;

Does ProcessingInstruction really need direct access to the data member? I can’t tell why from the patch. Typically I’d prefer a small inline function instead of exposing the data member.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925832</commentid>
    <comment_count>11</comment_count>
      <attachid>210593</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-06 13:45:05 -0700</bug_when>
    <thetext>Comment on attachment 210593
Patch

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

&gt;&gt; Source/WebCore/bindings/objc/PublicDOMInterfaces.h:318
&gt;&gt; +@interface DOMProcessingInstruction : DOMCharacterData WEBKIT_VERSION_1_3
&gt; 
&gt; I am not sure this is OK to change. Changing the inheritance could break OS X apps. We should ask Tim Hatcher what his risk assessment is.

Tim said it was OK in https://bugs.webkit.org/show_bug.cgi?id=120691#c9

&gt;&gt; Source/WebCore/dom/CharacterData.h:65
&gt;&gt; +    String m_data;
&gt; 
&gt; Does ProcessingInstruction really need direct access to the data member? I can’t tell why from the patch. Typically I’d prefer a small inline function instead of exposing the data member.

I&apos;ll check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926259</commentid>
    <comment_count>12</comment_count>
      <attachid>210593</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-07 13:43:52 -0700</bug_when>
    <thetext>Comment on attachment 210593
Patch

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

&gt;&gt;&gt; Source/WebCore/bindings/objc/PublicDOMInterfaces.h:318
&gt;&gt;&gt; +@interface DOMProcessingInstruction : DOMCharacterData WEBKIT_VERSION_1_3
&gt;&gt; 
&gt;&gt; I am not sure this is OK to change. Changing the inheritance could break OS X apps. We should ask Tim Hatcher what his risk assessment is.
&gt; 
&gt; Tim said it was OK in https://bugs.webkit.org/show_bug.cgi?id=120691#c9

It is OK because DOMCharacterData has a data method and it still inherits from DOMNode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926587</commentid>
    <comment_count>13</comment_count>
      <attachid>211013</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-09-08 23:58:44 -0700</bug_when>
    <thetext>Created attachment 211013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926626</commentid>
    <comment_count>14</comment_count>
      <attachid>211013</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-09 02:55:17 -0700</bug_when>
    <thetext>Comment on attachment 211013
Patch

Clearing flags on attachment: 211013

Committed r155340: &lt;http://trac.webkit.org/changeset/155340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926627</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-09 02:55:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210587</attachid>
            <date>2013-09-05 01:15:09 -0700</date>
            <delta_ts>2013-09-05 02:26:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120691-20130905111507.patch</filename>
            <type>text/plain</type>
            <size>15203</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZiYmM5MzZmZTU4OWVj
NmExOGU3MjA2MmZlZTM0ODBjMzljYTg4ZS4uMzU3YjQ2YzJmOTEyODM1NzM3NjVjYWEyNjcxMjE2
ZDY1Y2NhYWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTA5LTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBbRE9N
NF0gSGF2ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdCBDaGFyYWN0ZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA2OTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbiBpbmhlcml0IENoYXJhY3RlckRhdGEgYXMgcGVyIHRoZSBsYXRlc3QgRE9N
NAorICAgICAgICBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vZG9tLnNwZWMud2hhdHdn
Lm9yZy8jcHJvY2Vzc2luZ2luc3RydWN0aW9uCisKKyAgICAgICAgUHJldmlvdXNseSwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uIHdhcyBpbmhlcml0aW5nIGZyb20gTm9kZSBhcyBwZXIgRE9NCisgICAg
ICAgIExldmVsIDMuCisKKyAgICAgICAgRmlyZWZveCBhbmQgQmxpbmsgYWxyZWFkeSBmb2xsb3cg
RE9NNCBoZXJlIGJ1dCBub3QgSUUxMC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgbGVhZHMgdG8gbGVz
cyBjb2RlIGR1cGxpY2F0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3Byb2Nlc3Npbmct
aW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sCisKKyAgICAgICAgKiBkb20v
Q2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpzZXRE
YXRhQW5kVXBkYXRlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgorICAgICAgICAq
IGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vz
c2luZ0luc3RydWN0aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZpbmlzaFBhcnNpbmdDaGlsZHJlbik6CisgICAgICAg
ICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6dG9Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
aWRsOgorCiAyMDEzLTA5LTA0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgU3VwcG9ydCBpbnRlcnBvbGF0aW9uIGJldHdlZW4gY3Jvc3MtZmFkZSgpIGltYWdlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCmluZGV4IDQwN2IwNThkYjU3NzJiMjk5Njhm
NThmMjRkZTUwNTExYjllZDFkODAuLjhjODQ0NjBhZDZlNjJiZTNhNmU0Mzc0NDExM2VmNmQzYTEy
YjU0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJNdXRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiTXV0YXRpb25PYnNlcnZl
ckludGVyZXN0R3JvdXAuaCIKICNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUg
IlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNs
dWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKICNpbmNsdWRlICJUZXh0LmgiCkBAIC0yMDIsNiAr
MjAzLDkgQEAgdm9pZCBDaGFyYWN0ZXJEYXRhOjpzZXREYXRhQW5kVXBkYXRlKGNvbnN0IFN0cmlu
ZyYgbmV3RGF0YSwgdW5zaWduZWQgb2Zmc2V0T2ZSZXAKICAgICBpZiAoaXNUZXh0Tm9kZSgpKQog
ICAgICAgICBTdHlsZTo6dXBkYXRlVGV4dFJlbmRlcmVyQWZ0ZXJDb250ZW50Q2hhbmdlKCp0b1Rl
eHQodGhpcyksIG9mZnNldE9mUmVwbGFjZWREYXRhLCBvbGRMZW5ndGgpOwogCisgICAgaWYgKG5v
ZGVUeXBlKCkgPT0gUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFKQorICAgICAgICB0b1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbih0aGlzKS0+Y2hlY2tTdHlsZVNoZWV0KCk7CisKICAgICBpZiAoZG9j
dW1lbnQoKS5mcmFtZSgpKQogICAgICAgICBkb2N1bWVudCgpLmZyYW1lKCktPnNlbGVjdGlvbigp
LnRleHRXYXNSZXBsYWNlZCh0aGlzLCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwgb2xkTGVuZ3RoLCBu
ZXdMZW5ndGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAppbmRleCA1NWE5NmQ0NjRh
YjA4ZDUxMzQ0OWI2YjZhZGRmNmJhZGYzYzE1MmFiLi5hODVjMWY2OWFiYWFlNDEyNmFhZDhlZDJh
NmUyZjYyYWU0N2Y1Mzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVy
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmgKQEAgLTYyLDYg
KzYyLDggQEAgcHJvdGVjdGVkOgogICAgIH0KICAgICB2b2lkIGRpc3BhdGNoTW9kaWZpZWRFdmVu
dChjb25zdCBTdHJpbmcmIG9sZFZhbHVlKTsKIAorICAgIFN0cmluZyBtX2RhdGE7CisKIHByaXZh
dGU6CiAgICAgdmlydHVhbCBTdHJpbmcgbm9kZVZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7
CiAgICAgdmlydHVhbCB2b2lkIHNldE5vZGVWYWx1ZShjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJikgT1ZFUlJJREUgRklOQUw7CkBAIC03MCw4ICs3Miw2IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBib29sIG9mZnNldEluQ2hhcmFjdGVycygpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAg
IHZvaWQgc2V0RGF0YUFuZFVwZGF0ZShjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBvZmZzZXRPZlJl
cGxhY2VkRGF0YSwgdW5zaWduZWQgb2xkTGVuZ3RoLCB1bnNpZ25lZCBuZXdMZW5ndGgpOwogICAg
IHZvaWQgY2hlY2tDaGFyRGF0YU9wZXJhdGlvbih1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNv
ZGUmKTsKLQotICAgIFN0cmluZyBtX2RhdGE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCmluZGV4IDUy
OTUwYmU4Y2RjY2ZiMDkyMjUyZjRhM2I5MjI3ZDhlYWE1ZTBjM2YuLmJkNTM1YWYyNzRiNWI1Yjc5
MTFkM2Q5MGFhOWUzNjJmMjAxMjc4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwMCBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQogICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCkBAIC0zOSw5ICs0MCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGlu
bGluZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OlByb2Nlc3NpbmdJbnN0cnVjdGlvbihEb2N1bWVu
dCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpCi0g
ICAgOiBOb2RlKGRvY3VtZW50LCBDcmVhdGVPdGhlcikKKyAgICA6IENoYXJhY3RlckRhdGEoZG9j
dW1lbnQsIGRhdGEsIENyZWF0ZU90aGVyKQogICAgICwgbV90YXJnZXQodGFyZ2V0KQotICAgICwg
bV9kYXRhKGRhdGEpCiAgICAgLCBtX2NhY2hlZFNoZWV0KDApCiAgICAgLCBtX2xvYWRpbmcoZmFs
c2UpCiAgICAgLCBtX2FsdGVybmF0ZShmYWxzZSkKQEAgLTcwLDE0ICs3MCw2IEBAIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbjo6flByb2Nlc3NpbmdJbnN0cnVjdGlvbigpCiAgICAgICAgIGRvY3VtZW50
KCkuc3R5bGVTaGVldENvbGxlY3Rpb24oKS0+cmVtb3ZlU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUo
dGhpcyk7CiB9CiAKLXZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXREYXRhKGNvbnN0IFN0
cmluZyYgZGF0YSwgRXhjZXB0aW9uQ29kZSYpCi17Ci0gICAgaW50IG9sZExlbmd0aCA9IG1fZGF0
YS5sZW5ndGgoKTsKLSAgICBtX2RhdGEgPSBkYXRhOwotICAgIGRvY3VtZW50KCkudGV4dFJlbW92
ZWQodGhpcywgMCwgb2xkTGVuZ3RoKTsKLSAgICBjaGVja1N0eWxlU2hlZXQoKTsKLX0KLQogU3Ry
aW5nIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6bm9kZU5hbWUoKSBjb25zdAogewogICAgIHJldHVy
biBtX3RhcmdldDsKQEAgLTg4LDE3ICs4MCw2IEBAIE5vZGU6Ok5vZGVUeXBlIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbjo6bm9kZVR5cGUoKSBjb25zdAogICAgIHJldHVybiBQUk9DRVNTSU5HX0lOU1RS
VUNUSU9OX05PREU7CiB9CiAKLVN0cmluZyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246Om5vZGVWYWx1
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGF0YTsKLX0KLQotdm9pZCBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb246OnNldE5vZGVWYWx1ZShjb25zdCBTdHJpbmcmIG5vZGVWYWx1ZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgLy8gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOiB0YWtlbiBj
YXJlIG9mIGJ5IHNldERhdGEoKQotICAgIHNldERhdGEobm9kZVZhbHVlLCBlYyk7Ci19Ci0KIFBh
c3NSZWZQdHI8Tm9kZT4gUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjbG9uZU5vZGUoYm9vbCAvKmRl
ZXAqLykKIHsKICAgICAvLyBGSVhNRTogSXMgaXQgYSBwcm9ibGVtIHRoYXQgdGhpcyBkb2VzIG5v
dCBjb3B5IG1fbG9jYWxIcmVmPwpAQCAtMjczLDE2ICsyNTQsNiBAQCB2b2lkIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbjo6c2V0Q1NTU3R5bGVTaGVldChQYXNzUmVmUHRyPENTU1N0eWxlU2hlZXQ+IHNo
ZWV0KQogICAgIHNoZWV0LT5zZXREaXNhYmxlZChtX2FsdGVybmF0ZSk7CiB9CiAKLWJvb2wgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uOjpvZmZzZXRJbkNoYXJhY3RlcnMoKSBjb25zdAotewotICAgIHJl
dHVybiB0cnVlOwotfQotCi1pbnQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjptYXhDaGFyYWN0ZXJP
ZmZzZXQoKSBjb25zdCAKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihtX2RhdGEubGVu
Z3RoKCkpOwotfQotCiB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6YWRkU3VicmVzb3VyY2VB
dHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKSBjb25zdAogewogICAgIGlmICgh
c2hlZXQoKSkKQEAgLTI5Myw3ICsyNjQsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6
YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKQogCiBO
b2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6
aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQogewotICAgIE5vZGU6
Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2ludCk7CisgICAgQ2hhcmFjdGVyRGF0YTo6aW5zZXJ0
ZWRJbnRvKGluc2VydGlvblBvaW50KTsKICAgICBpZiAoIWluc2VydGlvblBvaW50LT5pbkRvY3Vt
ZW50KCkpCiAgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogICAgIGRvY3VtZW50KCkuc3R5
bGVTaGVldENvbGxlY3Rpb24oKS0+YWRkU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUodGhpcywgbV9j
cmVhdGVkQnlQYXJzZXIpOwpAQCAtMzAzLDcgKzI3NCw3IEBAIE5vZGU6Okluc2VydGlvbk5vdGlm
aWNhdGlvblJlcXVlc3QgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG8oQ29udGFp
bmVyCiAKIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbShDb250YWluZXJO
b2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKLSAgICBOb2RlOjpyZW1vdmVkRnJvbShpbnNlcnRpb25Q
b2ludCk7CisgICAgQ2hhcmFjdGVyRGF0YTo6cmVtb3ZlZEZyb20oaW5zZXJ0aW9uUG9pbnQpOwog
ICAgIGlmICghaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIApAQCAtMzIzLDcgKzI5NCw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1v
dmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHZvaWQgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uOjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQogewogICAgIG1fY3JlYXRlZEJ5UGFy
c2VyID0gZmFsc2U7Ci0gICAgTm9kZTo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CisgICAgQ2hh
cmFjdGVyRGF0YTo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKaW5kZXggNTVmOTg1
MTE5ZjM0MWVkYzkxMmMwYmZlNzBiMjZiM2E5NjczN2ZmOS4uMDA5MjEzOWZmNjE3YjRkMmE1ZmFl
ZGU4MTFmMWRjNWZhYTJmZGM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24uaApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDAgUGV0
ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQs
MjEgKzI1LDE5IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1
ZGUgIkNhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCIKLSNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVk
ZSAiQ2hhcmFjdGVyRGF0YS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxl
U2hlZXQ7CiBjbGFzcyBDU1NTdHlsZVNoZWV0OwogCi1jbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b24gRklOQUwgOiBwdWJsaWMgTm9kZSwgcHJpdmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsK
K2NsYXNzIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBGSU5BTCA6IHB1YmxpYyBDaGFyYWN0ZXJEYXRh
LCBwcml2YXRlIENhY2hlZFN0eWxlU2hlZXRDbGllbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFByb2Nlc3NpbmdJbnN0cnVjdGlvbj4gY3JlYXRlKERvY3VtZW50KiwgY29uc3Qg
U3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSk7CiAgICAgdmlydHVhbCB+UHJvY2Vz
c2luZ0luc3RydWN0aW9uKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIHRhcmdldCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGFyZ2V0OyB9Ci0gICAgY29uc3QgU3RyaW5nJiBkYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9kYXRhOyB9Ci0gICAgdm9pZCBzZXREYXRhKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNv
ZGUmKTsKIAogICAgIHZvaWQgc2V0Q3JlYXRlZEJ5UGFyc2VyKGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
KSB7IG1fY3JlYXRlZEJ5UGFyc2VyID0gY3JlYXRlZEJ5UGFyc2VyOyB9CiAKQEAgLTU0LDE1ICs1
MywxMiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgQ2hh
cmFjdGVyRGF0YTsKICAgICBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oRG9jdW1lbnQqLCBjb25zdCBT
dHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKTsKIAogICAgIHZpcnR1YWwgU3RyaW5n
IG5vZGVOYW1lKCkgY29uc3Q7CiAgICAgdmlydHVhbCBOb2RlVHlwZSBub2RlVHlwZSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgU3RyaW5nIG5vZGVWYWx1ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9p
ZCBzZXROb2RlVmFsdWUoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxOb2RlPiBjbG9uZU5vZGUoYm9vbCBkZWVwKTsKLSAgICB2aXJ0dWFsIGJv
b2wgb2Zmc2V0SW5DaGFyYWN0ZXJzKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWF4Q2hhcmFj
dGVyT2Zmc2V0KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJl
cXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwpAQCAtODEsNyArNzcs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFyc2VTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc2hl
ZXQpOwogCiAgICAgU3RyaW5nIG1fdGFyZ2V0OwotICAgIFN0cmluZyBtX2RhdGE7CiAgICAgU3Ry
aW5nIG1fbG9jYWxIcmVmOwogICAgIFN0cmluZyBtX3RpdGxlOwogICAgIFN0cmluZyBtX21lZGlh
OwpAQCAtOTYsNiArOTEsMTIgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAoraW5saW5lIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbiogdG9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oTm9kZSogbm9kZSkKK3sK
KyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5ub2Rl
VHlwZSgpID09IE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+KG5vZGUpOworfQorCiB9IC8vbmFt
ZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0
aW9uLmlkbAppbmRleCAwMGJjZDBmOWZjNzc0MGUxZmY2NDg5OTY1MTNjNWJjN2QzMzI0YjRkLi5i
YTcxMmY5NTQzODE0MDRlODU4MTc4YjBjMjUxMjY3Y2NkOTI2OTJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbApAQCAtMSw2ICsxLDcgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE4
LDEyICsxOSwxMSBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotaW50
ZXJmYWNlIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiA6IE5vZGUgeworaW50ZXJmYWNlIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbiA6IENoYXJhY3RlckRhdGEgewogCiAgICAgLy8gRE9NIExldmVsIDEKIAog
ICAgIFtUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdGFyZ2V0OwotICAgIFtUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGwsIFRy
ZWF0TnVsbEFzPU51bGxTdHJpbmcsIFNldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIERP
TVN0cmluZyBkYXRhOwogCiAgICAgLy8gaW50ZXJmYWNlIExpbmtTdHlsZSBmcm9tIERPTSBMZXZl
bCAyIFN0eWxlIFNoZWV0cwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0IHNoZWV0
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDVkZjdmZjZiYWE2ZWIwZDBjNjM2YWJhZmQ3NWFhYWRmOGMwNTZhNTAuLmUxZjBm
Zjc0ZWVjOTJjYzc5YzdmZjlhNDdkOGE5OGMwOTdkMDI1YzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxMy0wOS0wNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgW0RPTTRdIEhhdmUgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGluaGVyaXQg
Q2hhcmFjdGVyRGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTIwNjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIHZhbGlkYXRlIHRoYXQgUHJvY2Vzc2luZ0luc3RydWN0
aW9uIGluaGVyaXRzIGZyb20KKyAgICAgICAgQ2hhcmFjdGVyRGF0YS4KKworICAgICAgICAqIGZh
c3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLnhodG1s
OgorICAgICAgICAqIGZhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFy
YWN0ZXJkYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vcHJvY2Vz
c2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRhdGEueGh0bWw6IEFkZGVkLgorCiAy
MDEzLTA5LTA0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3Vw
cG9ydCBpbnRlcnBvbGF0aW9uIGJldHdlZW4gY3Jvc3MtZmFkZSgpIGltYWdlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRy
aWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKaW5kZXggODQwZWFmNDcxMjQzZWVlOWZkN2VlNmM1
MDZiNzQxYzA0ZWE4ZTAxNS4uYzI2ODhiY2JjYWM3MWEzMTgxNmFjYjhhNzhiMTYzZDg3ZjY2NWVm
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJp
YnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb3Jl
RE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBA
QCBUaGlzIHRlc3Qgc2V0dGluZyB2YXJpb3VzIGF0dHJpYnV0ZXMgb2YgYSBlbGVtZW50cyB0byBK
YXZhU2NyaXB0IG51bGwuCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIG51bGwuIFt0
ZXN0ZWQgQXR0ci52YWx1ZV0KIAotVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgbnVsbC4g
W3Rlc3RlZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YV0KK1RFU1QgU1VDQ0VFREVEOiBUaGUg
dmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmRhdGFdCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcu
IFt0ZXN0ZWQgQ2hhcmFjdGVyRGF0YS5kYXRhXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0bWwKaW5k
ZXggNzY3YjA5OTEzZmI4NGY2YmY3NGQwZmEyMWUxNjA3YjcyMGUyYmIyYi4uNDFhNmQzNjEyYjNj
OTk3MGQyYTQyNmQxYjRjODY0YjhhNTdiMTIyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLnhodG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC54aHRtbApA
QCAtNTcsNyArNTcsNyBAQAogICAgICAgICAgICAgICAgICAgICB0eXBlOiAnUHJvY2Vzc2luZ0lu
c3RydWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFRvVXNlOiBkb2N1bWVudC5j
cmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJ3RhcmdldCcsICdkYXRhJyksCiAgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZXM6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiAn
ZGF0YScsIGV4cGVjdGVkTnVsbDogbnVsbH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHtuYW1l
OiAnZGF0YScsIGV4cGVjdGVkTnVsbDogJyd9CiAgICAgICAgICAgICAgICAgICAgIF0KICAgICAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24t
aW5oZXJpdC1jaGFyYWN0ZXJkYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNmMzZmIwMTlj
YTNlYmI5MjM4MGEyOGEwYjY5NmRjNzg5NDdlNmFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRh
dGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgdGhhdCBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24gaW5oZXJpdHMgZnJvbSBDaGFyYWN0ZXJEYXRhCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbi5wcm90b3R5cGUuX19wcm90
b19fIGlzIENoYXJhY3RlckRhdGEucHJvdG90eXBlCitQQVNTIHByb2Nlc3NpbmdJbnN0cnVjdGlv
bi5fX3Byb3RvX18uX19wcm90b19fIGlzIENoYXJhY3RlckRhdGEucHJvdG90eXBlCitQQVNTIHBy
b2Nlc3NpbmdJbnN0cnVjdGlvbi50YXJnZXQgaXMgInRhcmdldCIKK1BBU1MgcHJvY2Vzc2luZ0lu
c3RydWN0aW9uLmRhdGEgaXMgImRhdGEiCitQQVNTIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi5sZW5n
dGggaXMgNAorUEFTUyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSBpcyAiIgorUEFTUyBwcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24ubGVuZ3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0YS54aHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0
ZXJkYXRhLnhodG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MmM1Y2Y4ZjU4NWViN2E4NWUxYTgyZTNhOWJhOTRl
ZjEwZTQ0NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm9jZXNz
aW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0YS54aHRtbApAQCAtMCwwICsxLDI2
IEBACis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorPCFbQ0RBVEFbCitkZXNjcmlwdGlvbigiVGVzdCB0
aGF0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbmhlcml0cyBmcm9tIENoYXJhY3RlckRhdGEiKTsK
Kworc2hvdWxkQmUoIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5wcm90b3R5cGUuX19wcm90b19fIiwg
IkNoYXJhY3RlckRhdGEucHJvdG90eXBlIik7CisKK3ZhciBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24g
PSBkb2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oInRhcmdldCIsICJkYXRhIik7
CitzaG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9uLl9fcHJvdG9fXy5fX3Byb3RvX18iLCAi
Q2hhcmFjdGVyRGF0YS5wcm90b3R5cGUiKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24udGFyZ2V0IiwgInRhcmdldCIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSIsICJkYXRhIik7CitzaG91bGRCZSgicHJv
Y2Vzc2luZ0luc3RydWN0aW9uLmxlbmd0aCIsICI0Iik7CisKK3Byb2Nlc3NpbmdJbnN0cnVjdGlv
bi5kYXRhID0gbnVsbDsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicHJvY2Vzc2luZ0luc3RydWN0
aW9uLmRhdGEiLCAiIik7CitzaG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9uLmxlbmd0aCIs
ICIwIik7CitdXT4KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210591</attachid>
            <date>2013-09-05 02:26:44 -0700</date>
            <delta_ts>2013-09-05 02:57:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120691-20130905122642.patch</filename>
            <type>text/plain</type>
            <size>15272</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZiYmM5MzZmZTU4OWVj
NmExOGU3MjA2MmZlZTM0ODBjMzljYTg4ZS4uMzU3YjQ2YzJmOTEyODM1NzM3NjVjYWEyNjcxMjE2
ZDY1Y2NhYWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTA5LTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBbRE9N
NF0gSGF2ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdCBDaGFyYWN0ZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA2OTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbiBpbmhlcml0IENoYXJhY3RlckRhdGEgYXMgcGVyIHRoZSBsYXRlc3QgRE9N
NAorICAgICAgICBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vZG9tLnNwZWMud2hhdHdn
Lm9yZy8jcHJvY2Vzc2luZ2luc3RydWN0aW9uCisKKyAgICAgICAgUHJldmlvdXNseSwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uIHdhcyBpbmhlcml0aW5nIGZyb20gTm9kZSBhcyBwZXIgRE9NCisgICAg
ICAgIExldmVsIDMuCisKKyAgICAgICAgRmlyZWZveCBhbmQgQmxpbmsgYWxyZWFkeSBmb2xsb3cg
RE9NNCBoZXJlIGJ1dCBub3QgSUUxMC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgbGVhZHMgdG8gbGVz
cyBjb2RlIGR1cGxpY2F0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3Byb2Nlc3Npbmct
aW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sCisKKyAgICAgICAgKiBkb20v
Q2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpzZXRE
YXRhQW5kVXBkYXRlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgorICAgICAgICAq
IGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vz
c2luZ0luc3RydWN0aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZpbmlzaFBhcnNpbmdDaGlsZHJlbik6CisgICAgICAg
ICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6dG9Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
aWRsOgorCiAyMDEzLTA5LTA0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgU3VwcG9ydCBpbnRlcnBvbGF0aW9uIGJldHdlZW4gY3Jvc3MtZmFkZSgpIGltYWdlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCmluZGV4IDQwN2IwNThkYjU3NzJiMjk5Njhm
NThmMjRkZTUwNTExYjllZDFkODAuLjhjODQ0NjBhZDZlNjJiZTNhNmU0Mzc0NDExM2VmNmQzYTEy
YjU0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJNdXRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiTXV0YXRpb25PYnNlcnZl
ckludGVyZXN0R3JvdXAuaCIKICNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgorI2luY2x1ZGUg
IlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNs
dWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKICNpbmNsdWRlICJUZXh0LmgiCkBAIC0yMDIsNiAr
MjAzLDkgQEAgdm9pZCBDaGFyYWN0ZXJEYXRhOjpzZXREYXRhQW5kVXBkYXRlKGNvbnN0IFN0cmlu
ZyYgbmV3RGF0YSwgdW5zaWduZWQgb2Zmc2V0T2ZSZXAKICAgICBpZiAoaXNUZXh0Tm9kZSgpKQog
ICAgICAgICBTdHlsZTo6dXBkYXRlVGV4dFJlbmRlcmVyQWZ0ZXJDb250ZW50Q2hhbmdlKCp0b1Rl
eHQodGhpcyksIG9mZnNldE9mUmVwbGFjZWREYXRhLCBvbGRMZW5ndGgpOwogCisgICAgaWYgKG5v
ZGVUeXBlKCkgPT0gUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFKQorICAgICAgICB0b1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbih0aGlzKS0+Y2hlY2tTdHlsZVNoZWV0KCk7CisKICAgICBpZiAoZG9j
dW1lbnQoKS5mcmFtZSgpKQogICAgICAgICBkb2N1bWVudCgpLmZyYW1lKCktPnNlbGVjdGlvbigp
LnRleHRXYXNSZXBsYWNlZCh0aGlzLCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwgb2xkTGVuZ3RoLCBu
ZXdMZW5ndGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAppbmRleCA1NWE5NmQ0NjRh
YjA4ZDUxMzQ0OWI2YjZhZGRmNmJhZGYzYzE1MmFiLi5hODVjMWY2OWFiYWFlNDEyNmFhZDhlZDJh
NmUyZjYyYWU0N2Y1Mzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVy
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmgKQEAgLTYyLDYg
KzYyLDggQEAgcHJvdGVjdGVkOgogICAgIH0KICAgICB2b2lkIGRpc3BhdGNoTW9kaWZpZWRFdmVu
dChjb25zdCBTdHJpbmcmIG9sZFZhbHVlKTsKIAorICAgIFN0cmluZyBtX2RhdGE7CisKIHByaXZh
dGU6CiAgICAgdmlydHVhbCBTdHJpbmcgbm9kZVZhbHVlKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7
CiAgICAgdmlydHVhbCB2b2lkIHNldE5vZGVWYWx1ZShjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25D
b2RlJikgT1ZFUlJJREUgRklOQUw7CkBAIC03MCw4ICs3Miw2IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBib29sIG9mZnNldEluQ2hhcmFjdGVycygpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwogICAg
IHZvaWQgc2V0RGF0YUFuZFVwZGF0ZShjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBvZmZzZXRPZlJl
cGxhY2VkRGF0YSwgdW5zaWduZWQgb2xkTGVuZ3RoLCB1bnNpZ25lZCBuZXdMZW5ndGgpOwogICAg
IHZvaWQgY2hlY2tDaGFyRGF0YU9wZXJhdGlvbih1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNv
ZGUmKTsKLQotICAgIFN0cmluZyBtX2RhdGE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCmluZGV4IDUy
OTUwYmU4Y2RjY2ZiMDkyMjUyZjRhM2I5MjI3ZDhlYWE1ZTBjM2YuLmJkNTM1YWYyNzRiNWI1Yjc5
MTFkM2Q5MGFhOWUzNjJmMjAxMjc4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uY3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAwMCBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQogICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCkBAIC0zOSw5ICs0MCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGlu
bGluZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OlByb2Nlc3NpbmdJbnN0cnVjdGlvbihEb2N1bWVu
dCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpCi0g
ICAgOiBOb2RlKGRvY3VtZW50LCBDcmVhdGVPdGhlcikKKyAgICA6IENoYXJhY3RlckRhdGEoZG9j
dW1lbnQsIGRhdGEsIENyZWF0ZU90aGVyKQogICAgICwgbV90YXJnZXQodGFyZ2V0KQotICAgICwg
bV9kYXRhKGRhdGEpCiAgICAgLCBtX2NhY2hlZFNoZWV0KDApCiAgICAgLCBtX2xvYWRpbmcoZmFs
c2UpCiAgICAgLCBtX2FsdGVybmF0ZShmYWxzZSkKQEAgLTcwLDE0ICs3MCw2IEBAIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbjo6flByb2Nlc3NpbmdJbnN0cnVjdGlvbigpCiAgICAgICAgIGRvY3VtZW50
KCkuc3R5bGVTaGVldENvbGxlY3Rpb24oKS0+cmVtb3ZlU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUo
dGhpcyk7CiB9CiAKLXZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXREYXRhKGNvbnN0IFN0
cmluZyYgZGF0YSwgRXhjZXB0aW9uQ29kZSYpCi17Ci0gICAgaW50IG9sZExlbmd0aCA9IG1fZGF0
YS5sZW5ndGgoKTsKLSAgICBtX2RhdGEgPSBkYXRhOwotICAgIGRvY3VtZW50KCkudGV4dFJlbW92
ZWQodGhpcywgMCwgb2xkTGVuZ3RoKTsKLSAgICBjaGVja1N0eWxlU2hlZXQoKTsKLX0KLQogU3Ry
aW5nIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6bm9kZU5hbWUoKSBjb25zdAogewogICAgIHJldHVy
biBtX3RhcmdldDsKQEAgLTg4LDE3ICs4MCw2IEBAIE5vZGU6Ok5vZGVUeXBlIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbjo6bm9kZVR5cGUoKSBjb25zdAogICAgIHJldHVybiBQUk9DRVNTSU5HX0lOU1RS
VUNUSU9OX05PREU7CiB9CiAKLVN0cmluZyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246Om5vZGVWYWx1
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGF0YTsKLX0KLQotdm9pZCBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb246OnNldE5vZGVWYWx1ZShjb25zdCBTdHJpbmcmIG5vZGVWYWx1ZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgLy8gTk9fTU9ESUZJQ0FUSU9OX0FMTE9XRURfRVJSOiB0YWtlbiBj
YXJlIG9mIGJ5IHNldERhdGEoKQotICAgIHNldERhdGEobm9kZVZhbHVlLCBlYyk7Ci19Ci0KIFBh
c3NSZWZQdHI8Tm9kZT4gUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjbG9uZU5vZGUoYm9vbCAvKmRl
ZXAqLykKIHsKICAgICAvLyBGSVhNRTogSXMgaXQgYSBwcm9ibGVtIHRoYXQgdGhpcyBkb2VzIG5v
dCBjb3B5IG1fbG9jYWxIcmVmPwpAQCAtMjczLDE2ICsyNTQsNiBAQCB2b2lkIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbjo6c2V0Q1NTU3R5bGVTaGVldChQYXNzUmVmUHRyPENTU1N0eWxlU2hlZXQ+IHNo
ZWV0KQogICAgIHNoZWV0LT5zZXREaXNhYmxlZChtX2FsdGVybmF0ZSk7CiB9CiAKLWJvb2wgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uOjpvZmZzZXRJbkNoYXJhY3RlcnMoKSBjb25zdAotewotICAgIHJl
dHVybiB0cnVlOwotfQotCi1pbnQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjptYXhDaGFyYWN0ZXJP
ZmZzZXQoKSBjb25zdCAKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihtX2RhdGEubGVu
Z3RoKCkpOwotfQotCiB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6YWRkU3VicmVzb3VyY2VB
dHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKSBjb25zdAogewogICAgIGlmICgh
c2hlZXQoKSkKQEAgLTI5Myw3ICsyNjQsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6
YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKQogCiBO
b2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6
aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQogewotICAgIE5vZGU6
Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2ludCk7CisgICAgQ2hhcmFjdGVyRGF0YTo6aW5zZXJ0
ZWRJbnRvKGluc2VydGlvblBvaW50KTsKICAgICBpZiAoIWluc2VydGlvblBvaW50LT5pbkRvY3Vt
ZW50KCkpCiAgICAgICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogICAgIGRvY3VtZW50KCkuc3R5
bGVTaGVldENvbGxlY3Rpb24oKS0+YWRkU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUodGhpcywgbV9j
cmVhdGVkQnlQYXJzZXIpOwpAQCAtMzAzLDcgKzI3NCw3IEBAIE5vZGU6Okluc2VydGlvbk5vdGlm
aWNhdGlvblJlcXVlc3QgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG8oQ29udGFp
bmVyCiAKIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbShDb250YWluZXJO
b2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKLSAgICBOb2RlOjpyZW1vdmVkRnJvbShpbnNlcnRpb25Q
b2ludCk7CisgICAgQ2hhcmFjdGVyRGF0YTo6cmVtb3ZlZEZyb20oaW5zZXJ0aW9uUG9pbnQpOwog
ICAgIGlmICghaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIApAQCAtMzIzLDcgKzI5NCw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1v
dmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHZvaWQgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uOjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQogewogICAgIG1fY3JlYXRlZEJ5UGFy
c2VyID0gZmFsc2U7Ci0gICAgTm9kZTo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CisgICAgQ2hh
cmFjdGVyRGF0YTo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKaW5kZXggNTVmOTg1
MTE5ZjM0MWVkYzkxMmMwYmZlNzBiMjZiM2E5NjczN2ZmOS4uMDA5MjEzOWZmNjE3YjRkMmE1ZmFl
ZGU4MTFmMWRjNWZhYTJmZGM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24uaApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDAgUGV0
ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQs
MjEgKzI1LDE5IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1
ZGUgIkNhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCIKLSNpbmNsdWRlICJOb2RlLmgiCisjaW5jbHVk
ZSAiQ2hhcmFjdGVyRGF0YS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxl
U2hlZXQ7CiBjbGFzcyBDU1NTdHlsZVNoZWV0OwogCi1jbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b24gRklOQUwgOiBwdWJsaWMgTm9kZSwgcHJpdmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsK
K2NsYXNzIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBGSU5BTCA6IHB1YmxpYyBDaGFyYWN0ZXJEYXRh
LCBwcml2YXRlIENhY2hlZFN0eWxlU2hlZXRDbGllbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFByb2Nlc3NpbmdJbnN0cnVjdGlvbj4gY3JlYXRlKERvY3VtZW50KiwgY29uc3Qg
U3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSk7CiAgICAgdmlydHVhbCB+UHJvY2Vz
c2luZ0luc3RydWN0aW9uKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIHRhcmdldCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGFyZ2V0OyB9Ci0gICAgY29uc3QgU3RyaW5nJiBkYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9kYXRhOyB9Ci0gICAgdm9pZCBzZXREYXRhKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNv
ZGUmKTsKIAogICAgIHZvaWQgc2V0Q3JlYXRlZEJ5UGFyc2VyKGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
KSB7IG1fY3JlYXRlZEJ5UGFyc2VyID0gY3JlYXRlZEJ5UGFyc2VyOyB9CiAKQEAgLTU0LDE1ICs1
MywxMiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgQ2hh
cmFjdGVyRGF0YTsKICAgICBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oRG9jdW1lbnQqLCBjb25zdCBT
dHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKTsKIAogICAgIHZpcnR1YWwgU3RyaW5n
IG5vZGVOYW1lKCkgY29uc3Q7CiAgICAgdmlydHVhbCBOb2RlVHlwZSBub2RlVHlwZSgpIGNvbnN0
OwotICAgIHZpcnR1YWwgU3RyaW5nIG5vZGVWYWx1ZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9p
ZCBzZXROb2RlVmFsdWUoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxOb2RlPiBjbG9uZU5vZGUoYm9vbCBkZWVwKTsKLSAgICB2aXJ0dWFsIGJv
b2wgb2Zmc2V0SW5DaGFyYWN0ZXJzKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBpbnQgbWF4Q2hhcmFj
dGVyT2Zmc2V0KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJl
cXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwpAQCAtODEsNyArNzcs
NiBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFyc2VTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc2hl
ZXQpOwogCiAgICAgU3RyaW5nIG1fdGFyZ2V0OwotICAgIFN0cmluZyBtX2RhdGE7CiAgICAgU3Ry
aW5nIG1fbG9jYWxIcmVmOwogICAgIFN0cmluZyBtX3RpdGxlOwogICAgIFN0cmluZyBtX21lZGlh
OwpAQCAtOTYsNiArOTEsMTIgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAoraW5saW5lIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbiogdG9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oTm9kZSogbm9kZSkKK3sK
KyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5ub2Rl
VHlwZSgpID09IE5vZGU6OlBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+KG5vZGUpOworfQorCiB9IC8vbmFt
ZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0
aW9uLmlkbAppbmRleCAwMGJjZDBmOWZjNzc0MGUxZmY2NDg5OTY1MTNjNWJjN2QzMzI0YjRkLi44
YmNlZTA5N2E5MThmYjNmNmJmMDA2OWI5MTM5YzBhYzQ0MGMyODY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbApAQCAtMSw2ICsxLDcgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE4
LDEyICsxOSwxNSBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotaW50
ZXJmYWNlIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiA6IE5vZGUgeworaW50ZXJmYWNlIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbiA6IENoYXJhY3RlckRhdGEgewogCiAgICAgLy8gRE9NIExldmVsIDEKIAog
ICAgIFtUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGxdIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgdGFyZ2V0OworCisjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYg
TEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxs
LCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0
ZSBET01TdHJpbmcgZGF0YTsKKyNlbmRpZgogCiAgICAgLy8gaW50ZXJmYWNlIExpbmtTdHlsZSBm
cm9tIERPTSBMZXZlbCAyIFN0eWxlIFNoZWV0cwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHls
ZVNoZWV0IHNoZWV0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVkZjdmZjZiYWE2ZWIwZDBjNjM2YWJhZmQ3NWFhYWRmOGMw
NTZhNTAuLmUxZjBmZjc0ZWVjOTJjYzc5YzdmZjlhNDdkOGE5OGMwOTdkMDI1YzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxMy0wOS0wNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNp
c2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0RPTTRdIEhhdmUgUHJvY2Vzc2luZ0luc3RydWN0
aW9uIGluaGVyaXQgQ2hhcmFjdGVyRGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTIwNjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IHRvIHZhbGlkYXRlIHRoYXQgUHJvY2Vz
c2luZ0luc3RydWN0aW9uIGluaGVyaXRzIGZyb20KKyAgICAgICAgQ2hhcmFjdGVyRGF0YS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1q
cy1udWxsLnhodG1sOgorICAgICAgICAqIGZhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24t
aW5oZXJpdC1jaGFyYWN0ZXJkYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRhdGEueGh0bWw6
IEFkZGVkLgorCiAyMDEzLTA5LTA0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgU3VwcG9ydCBpbnRlcnBvbGF0aW9uIGJldHdlZW4gY3Jvc3MtZmFkZSgpIGltYWdl
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJp
YnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00t
ZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKaW5kZXggODQwZWFmNDcxMjQz
ZWVlOWZkN2VlNmM1MDZiNzQxYzA0ZWE4ZTAxNS4uYzI2ODhiY2JjYWM3MWEzMTgxNmFjYjhhNzhi
MTYzZDg3ZjY2NWVmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1l
bGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0CkBA
IC0yLDcgKzIsNyBAQCBUaGlzIHRlc3Qgc2V0dGluZyB2YXJpb3VzIGF0dHJpYnV0ZXMgb2YgYSBl
bGVtZW50cyB0byBKYXZhU2NyaXB0IG51bGwuCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUg
d2FzIG51bGwuIFt0ZXN0ZWQgQXR0ci52YWx1ZV0KIAotVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1
ZSB3YXMgbnVsbC4gW3Rlc3RlZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YV0KK1RFU1QgU1VD
Q0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmRhdGFdCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBl
bXB0eSBzdHJpbmcuIFt0ZXN0ZWQgQ2hhcmFjdGVyRGF0YS5kYXRhXQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51
bGwueGh0bWwKaW5kZXggNzY3YjA5OTEzZmI4NGY2YmY3NGQwZmEyMWUxNjA3YjcyMGUyYmIyYi4u
NDFhNmQzNjEyYjNjOTk3MGQyYTQyNmQxYjRjODY0YjhhNTdiMTIyMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLnhodG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUtanMt
bnVsbC54aHRtbApAQCAtNTcsNyArNTcsNyBAQAogICAgICAgICAgICAgICAgICAgICB0eXBlOiAn
UHJvY2Vzc2luZ0luc3RydWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFRvVXNl
OiBkb2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJ3RhcmdldCcsICdkYXRhJyks
CiAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHtuYW1lOiAnZGF0YScsIGV4cGVjdGVkTnVsbDogbnVsbH0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHtuYW1lOiAnZGF0YScsIGV4cGVjdGVkTnVsbDogJyd9CiAgICAgICAgICAgICAgICAg
ICAgIF0KICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFy
YWN0ZXJkYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3Npbmct
aW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNmMzZmIwMTljYTNlYmI5MjM4MGEyOGEwYjY5NmRjNzg5NDdlNmFlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0
LWNoYXJhY3RlcmRhdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgdGhhdCBQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdHMgZnJvbSBDaGFyYWN0ZXJEYXRhCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbi5wcm90
b3R5cGUuX19wcm90b19fIGlzIENoYXJhY3RlckRhdGEucHJvdG90eXBlCitQQVNTIHByb2Nlc3Np
bmdJbnN0cnVjdGlvbi5fX3Byb3RvX18uX19wcm90b19fIGlzIENoYXJhY3RlckRhdGEucHJvdG90
eXBlCitQQVNTIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi50YXJnZXQgaXMgInRhcmdldCIKK1BBU1Mg
cHJvY2Vzc2luZ0luc3RydWN0aW9uLmRhdGEgaXMgImRhdGEiCitQQVNTIHByb2Nlc3NpbmdJbnN0
cnVjdGlvbi5sZW5ndGggaXMgNAorUEFTUyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSBpcyAi
IgorUEFTUyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubGVuZ3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0
YS54aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5o
ZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MmM1Y2Y4ZjU4NWViN2E4NWUx
YTgyZTNhOWJhOTRlZjEwZTQ0NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0YS54aHRtbApA
QCAtMCwwICsxLDI2IEBACis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCI+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorPCFbQ0RBVEFbCitkZXNjcmlw
dGlvbigiVGVzdCB0aGF0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbmhlcml0cyBmcm9tIENoYXJh
Y3RlckRhdGEiKTsKKworc2hvdWxkQmUoIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5wcm90b3R5cGUu
X19wcm90b19fIiwgIkNoYXJhY3RlckRhdGEucHJvdG90eXBlIik7CisKK3ZhciBwcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24gPSBkb2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oInRhcmdl
dCIsICJkYXRhIik7CitzaG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9uLl9fcHJvdG9fXy5f
X3Byb3RvX18iLCAiQ2hhcmFjdGVyRGF0YS5wcm90b3R5cGUiKTsKKworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24udGFyZ2V0IiwgInRhcmdldCIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSIsICJkYXRhIik7Citz
aG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9uLmxlbmd0aCIsICI0Iik7CisKK3Byb2Nlc3Np
bmdJbnN0cnVjdGlvbi5kYXRhID0gbnVsbDsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicHJvY2Vz
c2luZ0luc3RydWN0aW9uLmRhdGEiLCAiIik7CitzaG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0
aW9uLmxlbmd0aCIsICIwIik7CitdXT4KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210593</attachid>
            <date>2013-09-05 02:57:31 -0700</date>
            <delta_ts>2013-09-08 23:58:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120691-20130905125729.patch</filename>
            <type>text/plain</type>
            <size>15922</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZiYmM5MzZmZTU4OWVj
NmExOGU3MjA2MmZlZTM0ODBjMzljYTg4ZS4uMzU3YjQ2YzJmOTEyODM1NzM3NjVjYWEyNjcxMjE2
ZDY1Y2NhYWEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTA5LTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBbRE9N
NF0gSGF2ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdCBDaGFyYWN0ZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA2OTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIYXZlIFByb2Nlc3Np
bmdJbnN0cnVjdGlvbiBpbmhlcml0IENoYXJhY3RlckRhdGEgYXMgcGVyIHRoZSBsYXRlc3QgRE9N
NAorICAgICAgICBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vZG9tLnNwZWMud2hhdHdn
Lm9yZy8jcHJvY2Vzc2luZ2luc3RydWN0aW9uCisKKyAgICAgICAgUHJldmlvdXNseSwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uIHdhcyBpbmhlcml0aW5nIGZyb20gTm9kZSBhcyBwZXIgRE9NCisgICAg
ICAgIExldmVsIDMuCisKKyAgICAgICAgRmlyZWZveCBhbmQgQmxpbmsgYWxyZWFkeSBmb2xsb3cg
RE9NNCBoZXJlIGJ1dCBub3QgSUUxMC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgbGVhZHMgdG8gbGVz
cyBjb2RlIGR1cGxpY2F0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3Byb2Nlc3Npbmct
aW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sCisKKyAgICAgICAgKiBkb20v
Q2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpzZXRE
YXRhQW5kVXBkYXRlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgorICAgICAgICAq
IGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vz
c2luZ0luc3RydWN0aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZpbmlzaFBhcnNpbmdDaGlsZHJlbik6CisgICAgICAg
ICogZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6dG9Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24pOgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
aWRsOgorCiAyMDEzLTA5LTA0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgU3VwcG9ydCBpbnRlcnBvbGF0aW9uIGJldHdlZW4gY3Jvc3MtZmFkZSgpIGltYWdlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZh
Y2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMu
aAppbmRleCAzYWU1Nzk0YTBiODMyZTJlMzAwYWU3YWRlZjFhMzVlMzYyNWViNDY4Li5kNTg3MjZm
NjQ1ZmRhODExNWYwMDNkNjFhZmY5N2NhNWY3NzA5OGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaApAQCAtMzE1LDkgKzMxNSw4
IEBACiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICpzeXN0ZW1JZDsKIEBlbmQK
IAotQGludGVyZmFjZSBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gOiBET01Ob2RlIFdFQktJVF9W
RVJTSU9OXzFfMworQGludGVyZmFjZSBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gOiBET01DaGFy
YWN0ZXJEYXRhIFdFQktJVF9WRVJTSU9OXzFfMwogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBO
U1N0cmluZyAqdGFyZ2V0OwotQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5nICpkYXRhOwogQHByb3Bl
cnR5KHJlYWRvbmx5LCByZXRhaW4pIERPTVN0eWxlU2hlZXQgKnNoZWV0IEFWQUlMQUJMRV9XRUJL
SVRfVkVSU0lPTl8zXzBfQU5EX0xBVEVSOwogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVy
RGF0YS5jcHAKaW5kZXggNDA3YjA1OGRiNTc3MmIyOTk2OGY1OGYyNGRlNTA1MTFiOWVkMWQ4MC4u
OGM4NDQ2MGFkNmU2MmJlM2E2ZTQzNzQ0MTEzZWY2ZDNhMTJiNTQ0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9DaGFyYWN0ZXJEYXRhLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIk11dGF0aW9u
RXZlbnQuaCIKICNpbmNsdWRlICJNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oIgogI2lu
Y2x1ZGUgIk11dGF0aW9uUmVjb3JkLmgiCisjaW5jbHVkZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0
YS5oIgogI2luY2x1ZGUgIlRleHQuaCIKQEAgLTIwMiw2ICsyMDMsOSBAQCB2b2lkIENoYXJhY3Rl
ckRhdGE6OnNldERhdGFBbmRVcGRhdGUoY29uc3QgU3RyaW5nJiBuZXdEYXRhLCB1bnNpZ25lZCBv
ZmZzZXRPZlJlcAogICAgIGlmIChpc1RleHROb2RlKCkpCiAgICAgICAgIFN0eWxlOjp1cGRhdGVU
ZXh0UmVuZGVyZXJBZnRlckNvbnRlbnRDaGFuZ2UoKnRvVGV4dCh0aGlzKSwgb2Zmc2V0T2ZSZXBs
YWNlZERhdGEsIG9sZExlbmd0aCk7CiAKKyAgICBpZiAobm9kZVR5cGUoKSA9PSBQUk9DRVNTSU5H
X0lOU1RSVUNUSU9OX05PREUpCisgICAgICAgIHRvUHJvY2Vzc2luZ0luc3RydWN0aW9uKHRoaXMp
LT5jaGVja1N0eWxlU2hlZXQoKTsKKwogICAgIGlmIChkb2N1bWVudCgpLmZyYW1lKCkpCiAgICAg
ICAgIGRvY3VtZW50KCkuZnJhbWUoKS0+c2VsZWN0aW9uKCkudGV4dFdhc1JlcGxhY2VkKHRoaXMs
IG9mZnNldE9mUmVwbGFjZWREYXRhLCBvbGRMZW5ndGgsIG5ld0xlbmd0aCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQ2hhcmFjdGVyRGF0YS5oCmluZGV4IDU1YTk2ZDQ2NGFiMDhkNTEzNDQ5YjZiNmFkZGY2YmFk
ZjNjMTUyYWIuLmE4NWMxZjY5YWJhYWU0MTI2YWFkOGVkMmE2ZTJmNjJhZTQ3ZjUzODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaApAQCAtNjIsNiArNjIsOCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgfQogICAgIHZvaWQgZGlzcGF0Y2hNb2RpZmllZEV2ZW50KGNvbnN0IFN0cmluZyYgb2xkVmFs
dWUpOwogCisgICAgU3RyaW5nIG1fZGF0YTsKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIFN0cmlu
ZyBub2RlVmFsdWUoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
Tm9kZVZhbHVlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBPVkVSUklERSBGSU5BTDsK
QEAgLTcwLDggKzcyLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgb2Zmc2V0SW5DaGFy
YWN0ZXJzKCkgY29uc3QgT1ZFUlJJREUgRklOQUw7CiAgICAgdm9pZCBzZXREYXRhQW5kVXBkYXRl
KGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIG9mZnNldE9mUmVwbGFjZWREYXRhLCB1bnNpZ25lZCBv
bGRMZW5ndGgsIHVuc2lnbmVkIG5ld0xlbmd0aCk7CiAgICAgdm9pZCBjaGVja0NoYXJEYXRhT3Bl
cmF0aW9uKHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgU3RyaW5nIG1f
ZGF0YTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggNTI5NTBiZThjZGNjZmIwOTIyNTJmNGEz
YjkyMjdkOGVhYTVlMGMzZi4uYmQ1MzVhZjI3NGI1YjViNzkxMWQzZDkwYWE5ZTM2MmYyMDEyNzgz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKQEAg
LTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAwIFBldGVyIEtlbGx5IChwbWtA
cG9zdC5jb20pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ry
b25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTM5LDkg
KzQwLDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogaW5saW5lIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbjo6UHJvY2Vzc2luZ0luc3RydWN0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3Ry
aW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSkKLSAgICA6IE5vZGUoZG9jdW1lbnQsIENy
ZWF0ZU90aGVyKQorICAgIDogQ2hhcmFjdGVyRGF0YShkb2N1bWVudCwgZGF0YSwgQ3JlYXRlT3Ro
ZXIpCiAgICAgLCBtX3RhcmdldCh0YXJnZXQpCi0gICAgLCBtX2RhdGEoZGF0YSkKICAgICAsIG1f
Y2FjaGVkU2hlZXQoMCkKICAgICAsIG1fbG9hZGluZyhmYWxzZSkKICAgICAsIG1fYWx0ZXJuYXRl
KGZhbHNlKQpAQCAtNzAsMTQgKzcwLDYgQEAgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjp+UHJvY2Vz
c2luZ0luc3RydWN0aW9uKCkKICAgICAgICAgZG9jdW1lbnQoKS5zdHlsZVNoZWV0Q29sbGVjdGlv
bigpLT5yZW1vdmVTdHlsZVNoZWV0Q2FuZGlkYXRlTm9kZSh0aGlzKTsKIH0KIAotdm9pZCBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb246OnNldERhdGEoY29uc3QgU3RyaW5nJiBkYXRhLCBFeGNlcHRpb25D
b2RlJikKLXsKLSAgICBpbnQgb2xkTGVuZ3RoID0gbV9kYXRhLmxlbmd0aCgpOwotICAgIG1fZGF0
YSA9IGRhdGE7Ci0gICAgZG9jdW1lbnQoKS50ZXh0UmVtb3ZlZCh0aGlzLCAwLCBvbGRMZW5ndGgp
OwotICAgIGNoZWNrU3R5bGVTaGVldCgpOwotfQotCiBTdHJpbmcgUHJvY2Vzc2luZ0luc3RydWN0
aW9uOjpub2RlTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdGFyZ2V0OwpAQCAtODgsMTcg
KzgwLDYgQEAgTm9kZTo6Tm9kZVR5cGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpub2RlVHlwZSgp
IGNvbnN0CiAgICAgcmV0dXJuIFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERTsKIH0KIAotU3Ry
aW5nIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6bm9kZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1
cm4gbV9kYXRhOwotfQotCi12b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6c2V0Tm9kZVZhbHVl
KGNvbnN0IFN0cmluZyYgbm9kZVZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICAvLyBO
T19NT0RJRklDQVRJT05fQUxMT1dFRF9FUlI6IHRha2VuIGNhcmUgb2YgYnkgc2V0RGF0YSgpCi0g
ICAgc2V0RGF0YShub2RlVmFsdWUsIGVjKTsKLX0KLQogUGFzc1JlZlB0cjxOb2RlPiBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb246OmNsb25lTm9kZShib29sIC8qZGVlcCovKQogewogICAgIC8vIEZJWE1F
OiBJcyBpdCBhIHByb2JsZW0gdGhhdCB0aGlzIGRvZXMgbm90IGNvcHkgbV9sb2NhbEhyZWY/CkBA
IC0yNzMsMTYgKzI1NCw2IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpzZXRDU1NTdHls
ZVNoZWV0KFBhc3NSZWZQdHI8Q1NTU3R5bGVTaGVldD4gc2hlZXQpCiAgICAgc2hlZXQtPnNldERp
c2FibGVkKG1fYWx0ZXJuYXRlKTsKIH0KIAotYm9vbCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246Om9m
ZnNldEluQ2hhcmFjdGVycygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWludCBQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb246Om1heENoYXJhY3Rlck9mZnNldCgpIGNvbnN0IAotewotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1fZGF0YS5sZW5ndGgoKSk7Ci19Ci0KIHZvaWQgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uOjphZGRTdWJyZXNvdXJjZUF0dHJpYnV0ZVVSTHMoTGlzdEhhc2hT
ZXQ8S1VSTD4mIHVybHMpIGNvbnN0CiB7CiAgICAgaWYgKCFzaGVldCgpKQpAQCAtMjkzLDcgKzI2
NCw3IEBAIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjphZGRTdWJyZXNvdXJjZUF0dHJpYnV0
ZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMpCiAKIE5vZGU6Okluc2VydGlvbk5vdGlmaWNh
dGlvblJlcXVlc3QgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG8oQ29udGFpbmVy
Tm9kZSogaW5zZXJ0aW9uUG9pbnQpCiB7Ci0gICAgTm9kZTo6aW5zZXJ0ZWRJbnRvKGluc2VydGlv
blBvaW50KTsKKyAgICBDaGFyYWN0ZXJEYXRhOjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQp
OwogICAgIGlmICghaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJu
IEluc2VydGlvbkRvbmU7CiAgICAgZG9jdW1lbnQoKS5zdHlsZVNoZWV0Q29sbGVjdGlvbigpLT5h
ZGRTdHlsZVNoZWV0Q2FuZGlkYXRlTm9kZSh0aGlzLCBtX2NyZWF0ZWRCeVBhcnNlcik7CkBAIC0z
MDMsNyArMjc0LDcgQEAgTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb246Omluc2VydGVkSW50byhDb250YWluZXIKIAogdm9pZCBQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb246OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQog
ewotICAgIE5vZGU6OnJlbW92ZWRGcm9tKGluc2VydGlvblBvaW50KTsKKyAgICBDaGFyYWN0ZXJE
YXRhOjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7CiAgICAgaWYgKCFpbnNlcnRpb25Qb2lu
dC0+aW5Eb2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAgICAgCkBAIC0zMjMsNyArMjk0LDcg
QEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUq
IGluc2VydGlvblBvaW50KQogdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZpbmlzaFBhcnNp
bmdDaGlsZHJlbigpCiB7CiAgICAgbV9jcmVhdGVkQnlQYXJzZXIgPSBmYWxzZTsKLSAgICBOb2Rl
OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKKyAgICBDaGFyYWN0ZXJEYXRhOjpmaW5pc2hQYXJz
aW5nQ2hpbGRyZW4oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaAppbmRleCA1NWY5ODUxMTlmMzQxZWRjOTEyYzBiZmU3MGIy
NmIzYTk2NzM3ZmY5Li4wMDkyMTM5ZmY2MTdiNGQyYTVmYWVkZTgxMWYxZGM1ZmFhMmZkYzU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCkBAIC0xLDYgKzEs
NyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwMCBQZXRlciBLZWxseSAocG1rQHBvc3QuY29t
KQogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNCwyMSArMjUsMTkgQEAKIAogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkU3R5bGVTaGVldENs
aWVudC5oIgotI2luY2x1ZGUgIk5vZGUuaCIKKyNpbmNsdWRlICJDaGFyYWN0ZXJEYXRhLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVTaGVldDsKIGNsYXNzIENTU1N0eWxl
U2hlZXQ7CiAKLWNsYXNzIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBGSU5BTCA6IHB1YmxpYyBOb2Rl
LCBwcml2YXRlIENhY2hlZFN0eWxlU2hlZXRDbGllbnQgeworY2xhc3MgUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uIEZJTkFMIDogcHVibGljIENoYXJhY3RlckRhdGEsIHByaXZhdGUgQ2FjaGVkU3R5bGVT
aGVldENsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UHJvY2Vzc2luZ0lu
c3RydWN0aW9uPiBjcmVhdGUoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3Qg
U3RyaW5nJiBkYXRhKTsKICAgICB2aXJ0dWFsIH5Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKTsKIAog
ICAgIGNvbnN0IFN0cmluZyYgdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXQ7IH0KLSAg
ICBjb25zdCBTdHJpbmcmIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RhdGE7IH0KLSAgICB2b2lk
IHNldERhdGEoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCBzZXRD
cmVhdGVkQnlQYXJzZXIoYm9vbCBjcmVhdGVkQnlQYXJzZXIpIHsgbV9jcmVhdGVkQnlQYXJzZXIg
PSBjcmVhdGVkQnlQYXJzZXI7IH0KIApAQCAtNTQsMTUgKzUzLDEyIEBAIHB1YmxpYzoKICNlbmRp
ZgogCiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBDaGFyYWN0ZXJEYXRhOwogICAgIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbihEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBjb25zdCBT
dHJpbmcmIGRhdGEpOwogCiAgICAgdmlydHVhbCBTdHJpbmcgbm9kZU5hbWUoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIE5vZGVUeXBlIG5vZGVUeXBlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBTdHJpbmcg
bm9kZVZhbHVlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNldE5vZGVWYWx1ZShjb25zdCBT
dHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPE5vZGU+IGNs
b25lTm9kZShib29sIGRlZXApOwotICAgIHZpcnR1YWwgYm9vbCBvZmZzZXRJbkNoYXJhY3RlcnMo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGludCBtYXhDaGFyYWN0ZXJPZmZzZXQoKSBjb25zdDsKIAog
ICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRlZEludG8oQ29u
dGFpbmVyTm9kZSopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250
YWluZXJOb2RlKikgT1ZFUlJJREU7CkBAIC04MSw3ICs3Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBwYXJzZVN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzaGVldCk7CiAKICAgICBTdHJpbmcgbV90
YXJnZXQ7Ci0gICAgU3RyaW5nIG1fZGF0YTsKICAgICBTdHJpbmcgbV9sb2NhbEhyZWY7CiAgICAg
U3RyaW5nIG1fdGl0bGU7CiAgICAgU3RyaW5nIG1fbWVkaWE7CkBAIC05Niw2ICs5MSwxMiBAQCBw
cml2YXRlOgogI2VuZGlmCiB9OwogCitpbmxpbmUgUHJvY2Vzc2luZ0luc3RydWN0aW9uKiB0b1By
b2Nlc3NpbmdJbnN0cnVjdGlvbihOb2RlKiBub2RlKQoreworICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IG5vZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6UFJPQ0VT
U0lOR19JTlNUUlVDVElPTl9OT0RFKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UHJvY2Vzc2lu
Z0luc3RydWN0aW9uKj4obm9kZSk7Cit9CisKIH0gLy9uYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsCmluZGV4IDAwYmNkMGY5
ZmM3NzQwZTFmZjY0ODk5NjUxM2M1YmM3ZDMzMjRiNGQuLmJhNzEyZjk1NDM4MTQwNGU4NTgxNzhi
MGMyNTEyNjdjY2Q5MjY5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNz
aW5nSW5zdHJ1Y3Rpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24uaWRsCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiBB
cHBsZSBDb21wdXRlciwgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
PHNhbS53ZWluaWdAZ21haWwuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxl
Y3Ryb25pY3MKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTgsMTIgKzE5LDExIEBACiAgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi1pbnRlcmZhY2UgUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uIDogTm9kZSB7CitpbnRlcmZhY2UgUHJvY2Vzc2luZ0luc3RydWN0aW9uIDogQ2hhcmFj
dGVyRGF0YSB7CiAKICAgICAvLyBET00gTGV2ZWwgMQogCiAgICAgW1RyZWF0UmV0dXJuZWROdWxs
U3RyaW5nQXM9TnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7Ci0gICAg
W1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbCwgVHJlYXROdWxsQXM9TnVsbFN0cmluZywg
U2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRhdGE7CiAKICAgICAv
LyBpbnRlcmZhY2UgTGlua1N0eWxlIGZyb20gRE9NIExldmVsIDIgU3R5bGUgU2hlZXRzCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFN0eWxlU2hlZXQgc2hlZXQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWRmN2ZmNmJhYTZl
YjBkMGM2MzZhYmFmZDc1YWFhZGY4YzA1NmE1MC4uZTFmMGZmNzRlZWM5MmNjNzljN2ZmOWE0N2Q4
YTk4YzA5N2QwMjVjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA5LTA1ICBDaHJpc3Rv
cGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBbRE9NNF0g
SGF2ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdCBDaGFyYWN0ZXJEYXRhCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA2OTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3Qg
dG8gdmFsaWRhdGUgdGhhdCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdHMgZnJvbQorICAg
ICAgICBDaGFyYWN0ZXJEYXRhLgorCisgICAgICAgICogZmFzdC9kb20vY29yZURPTS1lbGVtZW50
LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb3Jl
RE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0bWw6CisgICAgICAgICogZmFzdC9kb20v
cHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRhdGEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVy
aXQtY2hhcmFjdGVyZGF0YS54aHRtbDogQWRkZWQuCisKIDIwMTMtMDktMDQgIERpcmsgU2NodWx6
ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBTdXBwb3J0IGludGVycG9sYXRpb24gYmV0
d2VlbiBjcm9zcy1mYWRlKCkgaW1hZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVk
LnR4dAppbmRleCA4NDBlYWY0NzEyNDNlZWU5ZmQ3ZWU2YzUwNmI3NDFjMDRlYThlMDE1Li5jMjY4
OGJjYmNhYzcxYTMxODE2YWNiOGE3OGIxNjNkODdmNjY1ZWY5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUt
anMtbnVsbC1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFRoaXMgdGVzdCBzZXR0aW5nIHZh
cmlvdXMgYXR0cmlidXRlcyBvZiBhIGVsZW1lbnRzIHRvIEphdmFTY3JpcHQgbnVsbC4KIAogVEVT
VCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgbnVsbC4gW3Rlc3RlZCBBdHRyLnZhbHVlXQogCi1U
RVNUIFNVQ0NFRURFRDogVGhlIHZhbHVlIHdhcyBudWxsLiBbdGVzdGVkIFByb2Nlc3NpbmdJbnN0
cnVjdGlvbi5kYXRhXQorVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0
cmluZy4gW3Rlc3RlZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YV0KIAogVEVTVCBTVUNDRUVE
RUQ6IFRoZSB2YWx1ZSB3YXMgdGhlIGVtcHR5IHN0cmluZy4gW3Rlc3RlZCBDaGFyYWN0ZXJEYXRh
LmRhdGFdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxlbWVu
dC1hdHRyaWJ1dGUtanMtbnVsbC54aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00t
ZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC54aHRtbAppbmRleCA3NjdiMDk5MTNmYjg0ZjZiZjc0
ZDBmYTIxZTE2MDdiNzIwZTJiYjJiLi40MWE2ZDM2MTJiM2M5OTcwZDJhNDI2ZDFiNGM4NjRiOGE1
N2IxMjIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQt
YXR0cmlidXRlLWpzLW51bGwueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURP
TS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLnhodG1sCkBAIC01Nyw3ICs1Nyw3IEBACiAgICAg
ICAgICAgICAgICAgICAgIHR5cGU6ICdQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLAogICAgICAgICAg
ICAgICAgICAgICBlbGVtZW50VG9Vc2U6IGRvY3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVj
dGlvbigndGFyZ2V0JywgJ2RhdGEnKSwKICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczog
WwotICAgICAgICAgICAgICAgICAgICAgICAge25hbWU6ICdkYXRhJywgZXhwZWN0ZWROdWxsOiBu
dWxsfQorICAgICAgICAgICAgICAgICAgICAgICAge25hbWU6ICdkYXRhJywgZXhwZWN0ZWROdWxs
OiAnJ30KICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvY2Vzc2luZy1p
bnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRhdGEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2YzNmYjAxOWNhM2ViYjkyMzgwYTI4YTBiNjk2ZGM3
ODk0N2U2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm9jZXNz
aW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0YS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorVGVzdCB0aGF0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbmhlcml0cyBmcm9t
IENoYXJhY3RlckRhdGEKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uLnByb3RvdHlwZS5fX3Byb3RvX18gaXMgQ2hhcmFjdGVyRGF0YS5w
cm90b3R5cGUKK1BBU1MgcHJvY2Vzc2luZ0luc3RydWN0aW9uLl9fcHJvdG9fXy5fX3Byb3RvX18g
aXMgQ2hhcmFjdGVyRGF0YS5wcm90b3R5cGUKK1BBU1MgcHJvY2Vzc2luZ0luc3RydWN0aW9uLnRh
cmdldCBpcyAidGFyZ2V0IgorUEFTUyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSBpcyAiZGF0
YSIKK1BBU1MgcHJvY2Vzc2luZ0luc3RydWN0aW9uLmxlbmd0aCBpcyA0CitQQVNTIHByb2Nlc3Np
bmdJbnN0cnVjdGlvbi5kYXRhIGlzICIiCitQQVNTIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi5sZW5n
dGggaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rp
b24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
Y2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNoYXJhY3RlcmRhdGEueGh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODYyYzVjZjhmNTg1ZWI3YTg1ZTFhODJlM2E5YmE5NGVmMTBlNDQ0NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJp
dC1jaGFyYWN0ZXJkYXRhLnhodG1sCkBAIC0wLDAgKzEsMjYgQEAKKzxodG1sIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+Cis8IVtDREFUQVsKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgUHJvY2Vzc2luZ0luc3RydWN0
aW9uIGluaGVyaXRzIGZyb20gQ2hhcmFjdGVyRGF0YSIpOworCitzaG91bGRCZSgiUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLnByb3RvdHlwZS5fX3Byb3RvX18iLCAiQ2hhcmFjdGVyRGF0YS5wcm90b3R5
cGUiKTsKKwordmFyIHByb2Nlc3NpbmdJbnN0cnVjdGlvbiA9IGRvY3VtZW50LmNyZWF0ZVByb2Nl
c3NpbmdJbnN0cnVjdGlvbigidGFyZ2V0IiwgImRhdGEiKTsKK3Nob3VsZEJlKCJwcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24uX19wcm90b19fLl9fcHJvdG9fXyIsICJDaGFyYWN0ZXJEYXRhLnByb3RvdHlw
ZSIpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInByb2Nlc3NpbmdJbnN0cnVjdGlvbi50YXJn
ZXQiLCAidGFyZ2V0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5kYXRhIiwgImRhdGEiKTsKK3Nob3VsZEJlKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubGVu
Z3RoIiwgIjQiKTsKKworcHJvY2Vzc2luZ0luc3RydWN0aW9uLmRhdGEgPSBudWxsOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSIsICIiKTsKK3Nob3Vs
ZEJlKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubGVuZ3RoIiwgIjAiKTsKK11dPgorPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211013</attachid>
            <date>2013-09-08 23:58:44 -0700</date>
            <delta_ts>2013-09-09 02:55:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120691-20130909095842.patch</filename>
            <type>text/plain</type>
            <size>16010</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY1ODlmODNlODQxYWJm
ZTBkZjdlMzEwMGQ1YjRhYWJlZGM0YmE2MS4uMjMyNzk5ZjVlODQ3N2FjZmVhOTUxZjhlZmRmODEy
MzIxYWM4MzFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDEzLTA5LTA4ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KIAorICAgICAgICBbRE9N
NF0gSGF2ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdCBDaGFyYWN0ZXJEYXRhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA2OTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBIYXZlIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbiBpbmhlcml0IENoYXJhY3RlckRhdGEgYXMgcGVyIHRoZSBsYXRlc3QgRE9NNAor
ICAgICAgICBzcGVjaWZpY2F0aW9uOgorICAgICAgICBodHRwOi8vZG9tLnNwZWMud2hhdHdnLm9y
Zy8jcHJvY2Vzc2luZ2luc3RydWN0aW9uCisKKyAgICAgICAgUHJldmlvdXNseSwgUHJvY2Vzc2lu
Z0luc3RydWN0aW9uIHdhcyBpbmhlcml0aW5nIGZyb20gTm9kZSBhcyBwZXIgRE9NCisgICAgICAg
IExldmVsIDMuCisKKyAgICAgICAgRmlyZWZveCBhbmQgQmxpbmsgYWxyZWFkeSBmb2xsb3cgRE9N
NCBoZXJlIGJ1dCBub3QgSUUxMC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgbGVhZHMgdG8gbGVzcyBj
b2RlIGR1cGxpY2F0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3Byb2Nlc3NpbmctaW5z
dHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sCisKKyAgICAgICAgKiBiaW5kaW5n
cy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaDoKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpzZXREYXRhQW5kVXBkYXRl
KToKKyAgICAgICAgKiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6UHJvY2Vzc2luZ0luc3RydWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2xvbmVOb2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6Y2hlY2tTdHlsZVNoZWV0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6aW5zZXJ0ZWRJbnRvKToKKyAg
ICAgICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6cmVtb3ZlZEZyb20pOgorICAg
ICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpmaW5pc2hQYXJzaW5nQ2hpbGRy
ZW4pOgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvUHJvY2Vzc2luZ0luc3RydWN0aW9uKToKKyAgICAgICAgKiBkb20vUHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmlkbDoKKworMjAxMy0wOS0wOCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1
bWV6QHNpc2Euc2Ftc3VuZy5jb20+CisKICAgICAgICAgW3drMl0gUkVHUkVTU0lPTiAocjE1NDY3
Myk6IFBERiBzY3JvbGxpbmcgbW92ZXMgdmVyeSBzbG93bHkKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDU0MgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oCmluZGV4IDNhZTU3OTRhMGI4
MzJlMmUzMDBhZTdhZGVmMWEzNWUzNjI1ZWI0NjguLmQ1ODcyNmY2NDVmZGE4MTE1ZjAwM2Q2MWFm
Zjk3Y2E1Zjc3MDk4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMv
UHVibGljRE9NSW50ZXJmYWNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMv
UHVibGljRE9NSW50ZXJmYWNlcy5oCkBAIC0zMTUsOSArMzE1LDggQEAKIEBwcm9wZXJ0eShyZWFk
b25seSwgY29weSkgTlNTdHJpbmcgKnN5c3RlbUlkOwogQGVuZAogCi1AaW50ZXJmYWNlIERPTVBy
b2Nlc3NpbmdJbnN0cnVjdGlvbiA6IERPTU5vZGUgV0VCS0lUX1ZFUlNJT05fMV8zCitAaW50ZXJm
YWNlIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbiA6IERPTUNoYXJhY3RlckRhdGEgV0VCS0lUX1ZF
UlNJT05fMV8zCiBAcHJvcGVydHkocmVhZG9ubHksIGNvcHkpIE5TU3RyaW5nICp0YXJnZXQ7Ci1A
cHJvcGVydHkoY29weSkgTlNTdHJpbmcgKmRhdGE7CiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFp
bikgRE9NU3R5bGVTaGVldCAqc2hlZXQgQVZBSUxBQkxFX1dFQktJVF9WRVJTSU9OXzNfMF9BTkRf
TEFURVI7CiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAppbmRleCA0MDdi
MDU4ZGI1NzcyYjI5OTY4ZjU4ZjI0ZGU1MDUxMWI5ZWQxZDgwLi44Yzg0NDYwYWQ2ZTYyYmUzYTZl
NDM3NDQxMTNlZjZkM2ExMmI1NDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hh
cmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgogI2luY2x1ZGUg
Ik11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25SZWNv
cmQuaCIKKyNpbmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIKICNpbmNsdWRlICJSZW5k
ZXJUZXh0LmgiCiAjaW5jbHVkZSAiU3R5bGVJbmhlcml0ZWREYXRhLmgiCiAjaW5jbHVkZSAiVGV4
dC5oIgpAQCAtMjAyLDYgKzIwMyw5IEBAIHZvaWQgQ2hhcmFjdGVyRGF0YTo6c2V0RGF0YUFuZFVw
ZGF0ZShjb25zdCBTdHJpbmcmIG5ld0RhdGEsIHVuc2lnbmVkIG9mZnNldE9mUmVwCiAgICAgaWYg
KGlzVGV4dE5vZGUoKSkKICAgICAgICAgU3R5bGU6OnVwZGF0ZVRleHRSZW5kZXJlckFmdGVyQ29u
dGVudENoYW5nZSgqdG9UZXh0KHRoaXMpLCBvZmZzZXRPZlJlcGxhY2VkRGF0YSwgb2xkTGVuZ3Ro
KTsKIAorICAgIGlmIChub2RlVHlwZSgpID09IFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERSkK
KyAgICAgICAgdG9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odGhpcyktPmNoZWNrU3R5bGVTaGVldCgp
OworCiAgICAgaWYgKGRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgZG9jdW1lbnQoKS5mcmFt
ZSgpLT5zZWxlY3Rpb24oKS50ZXh0V2FzUmVwbGFjZWQodGhpcywgb2Zmc2V0T2ZSZXBsYWNlZERh
dGEsIG9sZExlbmd0aCwgbmV3TGVuZ3RoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vz
c2luZ0luc3RydWN0aW9uLmNwcAppbmRleCA1Mjk1MGJlOGNkY2NmYjA5MjI1MmY0YTNiOTIyN2Q4
ZWFhNWUwYzNmLi43ZjJkODkzM2ZjYzA0MmIyYmE2OTRiZmNiM2Y0M2YxNGJmNzNlYzQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcApAQCAtMSw2ICsx
LDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDAgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNv
bSkKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzksOSArNDAsOCBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRh
cmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKQotICAgIDogTm9kZShkb2N1bWVudCwgQ3JlYXRlT3Ro
ZXIpCisgICAgOiBDaGFyYWN0ZXJEYXRhKGRvY3VtZW50LCBkYXRhLCBDcmVhdGVPdGhlcikKICAg
ICAsIG1fdGFyZ2V0KHRhcmdldCkKLSAgICAsIG1fZGF0YShkYXRhKQogICAgICwgbV9jYWNoZWRT
aGVldCgwKQogICAgICwgbV9sb2FkaW5nKGZhbHNlKQogICAgICwgbV9hbHRlcm5hdGUoZmFsc2Up
CkBAIC03MCwxNCArNzAsNiBAQCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246On5Qcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24oKQogICAgICAgICBkb2N1bWVudCgpLnN0eWxlU2hlZXRDb2xsZWN0aW9uKCktPnJl
bW92ZVN0eWxlU2hlZXRDYW5kaWRhdGVOb2RlKHRoaXMpOwogfQogCi12b2lkIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbjo6c2V0RGF0YShjb25zdCBTdHJpbmcmIGRhdGEsIEV4Y2VwdGlvbkNvZGUmKQot
ewotICAgIGludCBvbGRMZW5ndGggPSBtX2RhdGEubGVuZ3RoKCk7Ci0gICAgbV9kYXRhID0gZGF0
YTsKLSAgICBkb2N1bWVudCgpLnRleHRSZW1vdmVkKHRoaXMsIDAsIG9sZExlbmd0aCk7Ci0gICAg
Y2hlY2tTdHlsZVNoZWV0KCk7Ci19Ci0KIFN0cmluZyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246Om5v
ZGVOYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV90YXJnZXQ7CkBAIC04OCwyMiArODAsMTEg
QEAgTm9kZTo6Tm9kZVR5cGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpub2RlVHlwZSgpIGNvbnN0
CiAgICAgcmV0dXJuIFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERTsKIH0KIAotU3RyaW5nIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6bm9kZVZhbHVlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9k
YXRhOwotfQotCi12b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6c2V0Tm9kZVZhbHVlKGNvbnN0
IFN0cmluZyYgbm9kZVZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICAvLyBOT19NT0RJ
RklDQVRJT05fQUxMT1dFRF9FUlI6IHRha2VuIGNhcmUgb2YgYnkgc2V0RGF0YSgpCi0gICAgc2V0
RGF0YShub2RlVmFsdWUsIGVjKTsKLX0KLQogUGFzc1JlZlB0cjxOb2RlPiBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb246OmNsb25lTm9kZShib29sIC8qZGVlcCovKQogewogICAgIC8vIEZJWE1FOiBJcyBp
dCBhIHByb2JsZW0gdGhhdCB0aGlzIGRvZXMgbm90IGNvcHkgbV9sb2NhbEhyZWY/CiAgICAgLy8g
V2hhdCBhYm91dCBvdGhlciBkYXRhIG1lbWJlcnM/Ci0gICAgcmV0dXJuIGNyZWF0ZSgmZG9jdW1l
bnQoKSwgbV90YXJnZXQsIG1fZGF0YSk7CisgICAgcmV0dXJuIGNyZWF0ZSgmZG9jdW1lbnQoKSwg
bV90YXJnZXQsIGRhdGEoKSk7CiB9CiAKIHZvaWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGVj
a1N0eWxlU2hlZXQoKQpAQCAtMTEzLDcgKzk0LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b246OmNoZWNrU3R5bGVTaGVldCgpCiAgICAgICAgIC8vICMjIyBzdXBwb3J0IHN0eWxlc2hlZXQg
aW5jbHVkZWQgaW4gYSBmcmFnbWVudCBvZiB0aGlzIChvciBhbm90aGVyKSBkb2N1bWVudAogICAg
ICAgICAvLyAjIyMgbWFrZSBzdXJlIHRoaXMgZ2V0cyBjYWxsZWQgd2hlbiBhZGRpbmcgZnJvbSBq
YXZhc2NyaXB0CiAgICAgICAgIGJvb2wgYXR0cnNPazsKLSAgICAgICAgY29uc3QgSGFzaE1hcDxT
dHJpbmcsIFN0cmluZz4gYXR0cnMgPSBwYXJzZUF0dHJpYnV0ZXMobV9kYXRhLCBhdHRyc09rKTsK
KyAgICAgICAgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gYXR0cnMgPSBwYXJzZUF0dHJp
YnV0ZXMoZGF0YSgpLCBhdHRyc09rKTsKICAgICAgICAgaWYgKCFhdHRyc09rKQogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPjo6Y29uc3RfaXRlcmF0
b3IgaSA9IGF0dHJzLmZpbmQoInR5cGUiKTsKQEAgLTI3MywxNiArMjU0LDYgQEAgdm9pZCBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb246OnNldENTU1N0eWxlU2hlZXQoUGFzc1JlZlB0cjxDU1NTdHlsZVNo
ZWV0PiBzaGVldCkKICAgICBzaGVldC0+c2V0RGlzYWJsZWQobV9hbHRlcm5hdGUpOwogfQogCi1i
b29sIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6b2Zmc2V0SW5DaGFyYWN0ZXJzKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotaW50IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6bWF4Q2hh
cmFjdGVyT2Zmc2V0KCkgY29uc3QgCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obV9k
YXRhLmxlbmd0aCgpKTsKLX0KLQogdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmFkZFN1YnJl
c291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYgdXJscykgY29uc3QKIHsKICAg
ICBpZiAoIXNoZWV0KCkpCkBAIC0yOTMsNyArMjY0LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb246OmFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYgdXJs
cykKIAogTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb246Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKLSAg
ICBOb2RlOjppbnNlcnRlZEludG8oaW5zZXJ0aW9uUG9pbnQpOworICAgIENoYXJhY3RlckRhdGE6
Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2ludCk7CiAgICAgaWYgKCFpbnNlcnRpb25Qb2ludC0+
aW5Eb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gSW5zZXJ0aW9uRG9uZTsKICAgICBkb2N1bWVu
dCgpLnN0eWxlU2hlZXRDb2xsZWN0aW9uKCktPmFkZFN0eWxlU2hlZXRDYW5kaWRhdGVOb2RlKHRo
aXMsIG1fY3JlYXRlZEJ5UGFyc2VyKTsKQEAgLTMwMyw3ICsyNzQsNyBAQCBOb2RlOjpJbnNlcnRp
b25Ob3RpZmljYXRpb25SZXF1ZXN0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6aW5zZXJ0ZWRJbnRv
KENvbnRhaW5lcgogCiB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6cmVtb3ZlZEZyb20oQ29u
dGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCiB7Ci0gICAgTm9kZTo6cmVtb3ZlZEZyb20oaW5z
ZXJ0aW9uUG9pbnQpOworICAgIENoYXJhY3RlckRhdGE6OnJlbW92ZWRGcm9tKGluc2VydGlvblBv
aW50KTsKICAgICBpZiAoIWluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkpCiAgICAgICAgIHJl
dHVybjsKICAgICAKQEAgLTMyMyw3ICsyOTQsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlv
bjo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCiB2b2lkIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbjo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCkKIHsKICAgICBtX2NyZWF0
ZWRCeVBhcnNlciA9IGZhbHNlOwotICAgIE5vZGU6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwor
ICAgIENoYXJhY3RlckRhdGE6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogfQogCiB9IC8vIG5h
bWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCmluZGV4
IDU1Zjk4NTExOWYzNDFlZGM5MTJjMGJmZTcwYjI2YjNhOTY3MzdmZjkuLjAwOTIxMzlmZjYxN2I0
ZDJhNWZhZWRlODExZjFkYzVmYWEyZmRjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vz
c2luZ0luc3RydWN0aW9uLmgKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDAwIFBldGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1
bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
QEAgLTI0LDIxICsyNSwxOSBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIK
ICNpbmNsdWRlICJDYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgiCi0jaW5jbHVkZSAiTm9kZS5oIgor
I2luY2x1ZGUgIkNoYXJhY3RlckRhdGEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTdHlsZVNoZWV0OwogY2xhc3MgQ1NTU3R5bGVTaGVldDsKIAotY2xhc3MgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uIEZJTkFMIDogcHVibGljIE5vZGUsIHByaXZhdGUgQ2FjaGVkU3R5bGVTaGVldENs
aWVudCB7CitjbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gRklOQUwgOiBwdWJsaWMgQ2hhcmFj
dGVyRGF0YSwgcHJpdmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24+IGNyZWF0ZShEb2N1bWVudCos
IGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpOwogICAgIHZpcnR1YWwg
flByb2Nlc3NpbmdJbnN0cnVjdGlvbigpOwogCiAgICAgY29uc3QgU3RyaW5nJiB0YXJnZXQoKSBj
b25zdCB7IHJldHVybiBtX3RhcmdldDsgfQotICAgIGNvbnN0IFN0cmluZyYgZGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fZGF0YTsgfQotICAgIHZvaWQgc2V0RGF0YShjb25zdCBTdHJpbmcmLCBFeGNl
cHRpb25Db2RlJik7CiAKICAgICB2b2lkIHNldENyZWF0ZWRCeVBhcnNlcihib29sIGNyZWF0ZWRC
eVBhcnNlcikgeyBtX2NyZWF0ZWRCeVBhcnNlciA9IGNyZWF0ZWRCeVBhcnNlcjsgfQogCkBAIC01
NCwxNSArNTMsMTIgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisgICAgZnJpZW5kIGNs
YXNzIENoYXJhY3RlckRhdGE7CiAgICAgUHJvY2Vzc2luZ0luc3RydWN0aW9uKERvY3VtZW50Kiwg
Y29uc3QgU3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSk7CiAKICAgICB2aXJ0dWFs
IFN0cmluZyBub2RlTmFtZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgTm9kZVR5cGUgbm9kZVR5cGUo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIFN0cmluZyBub2RlVmFsdWUoKSBjb25zdDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0Tm9kZVZhbHVlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZT4gY2xvbmVOb2RlKGJvb2wgZGVlcCk7Ci0gICAgdmly
dHVhbCBib29sIG9mZnNldEluQ2hhcmFjdGVycygpIGNvbnN0OwotICAgIHZpcnR1YWwgaW50IG1h
eENoYXJhY3Rlck9mZnNldCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmlj
YXRpb25SZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKQEAgLTgx
LDcgKzc3LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhcnNlU3R5bGVTaGVldChjb25zdCBTdHJp
bmcmIHNoZWV0KTsKIAogICAgIFN0cmluZyBtX3RhcmdldDsKLSAgICBTdHJpbmcgbV9kYXRhOwog
ICAgIFN0cmluZyBtX2xvY2FsSHJlZjsKICAgICBTdHJpbmcgbV90aXRsZTsKICAgICBTdHJpbmcg
bV9tZWRpYTsKQEAgLTk2LDYgKzkxLDEyIEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKK2lubGlu
ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24qIHRvUHJvY2Vzc2luZ0luc3RydWN0aW9uKE5vZGUqIG5v
ZGUpCit7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgbm9k
ZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUpOworICAg
IHJldHVybiBzdGF0aWNfY2FzdDxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24qPihub2RlKTsKK30KKwog
fSAvL25hbWVzcGFjZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5pZGwKaW5kZXggMDBiY2QwZjlmYzc3NDBlMWZmNjQ4OTk2NTEzYzViYzdkMzMy
NGI0ZC4uYmE3MTJmOTU0MzgxNDA0ZTg1ODE3OGIwYzI1MTI2N2NjZDkyNjkyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5pZGwKQEAgLTEsNiArMSw3IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcwogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0xOCwxMiArMTksMTEgQEAKICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICov
CiAKLWludGVyZmFjZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gOiBOb2RlIHsKK2ludGVyZmFjZSBQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24gOiBDaGFyYWN0ZXJEYXRhIHsKIAogICAgIC8vIERPTSBMZXZl
bCAxCiAKICAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsKLSAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1O
dWxsLCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJp
YnV0ZSBET01TdHJpbmcgZGF0YTsKIAogICAgIC8vIGludGVyZmFjZSBMaW5rU3R5bGUgZnJvbSBE
T00gTGV2ZWwgMiBTdHlsZSBTaGVldHMKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3R5bGVTaGVl
dCBzaGVldDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAzNGE0ZDQyMjg2YzRkMmIxNmI2YTQzMTU2MjI3NDJkMWJlZTRhNTli
Li5lM2FjMmEyOWEzMGMxYjk1Mjc0MDc4MzA1MjBmYTVlMzU1YTljMDM5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTMtMDktMDggIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNh
bXN1bmcuY29tPgorCisgICAgICAgIFtET000XSBIYXZlIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBp
bmhlcml0IENoYXJhY3RlckRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMDY5MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCB0byB2YWxpZGF0ZSB0aGF0IFByb2Nlc3NpbmdJbnN0
cnVjdGlvbiBpbmhlcml0cyBmcm9tCisgICAgICAgIENoYXJhY3RlckRhdGEuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVsbC54
aHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVyaXQt
Y2hhcmFjdGVyZGF0YS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3By
b2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLnhodG1sOiBBZGRlZC4K
KwogMjAxMy0wOS0wOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAg
IGZhc3QvanMvZGZnLSogdGVzdHMgc2hvdWxkIHdhaXQgZm9yIHRoZSBjb25jdXJyZW50IEpJVApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0
ZS1qcy1udWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxl
bWVudC1hdHRyaWJ1dGUtanMtbnVsbC1leHBlY3RlZC50eHQKaW5kZXggODQwZWFmNDcxMjQzZWVl
OWZkN2VlNmM1MDZiNzQxYzA0ZWE4ZTAxNS4uYzI2ODhiY2JjYWM3MWEzMTgxNmFjYjhhNzhiMTYz
ZDg3ZjY2NWVmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVt
ZW50LWF0dHJpYnV0ZS1qcy1udWxsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwtZXhwZWN0ZWQudHh0CkBAIC0y
LDcgKzIsNyBAQCBUaGlzIHRlc3Qgc2V0dGluZyB2YXJpb3VzIGF0dHJpYnV0ZXMgb2YgYSBlbGVt
ZW50cyB0byBKYXZhU2NyaXB0IG51bGwuCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2Fz
IG51bGwuIFt0ZXN0ZWQgQXR0ci52YWx1ZV0KIAotVEVTVCBTVUNDRUVERUQ6IFRoZSB2YWx1ZSB3
YXMgbnVsbC4gW3Rlc3RlZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YV0KK1RFU1QgU1VDQ0VF
REVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcuIFt0ZXN0ZWQgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLmRhdGFdCiAKIFRFU1QgU1VDQ0VFREVEOiBUaGUgdmFsdWUgd2FzIHRoZSBlbXB0
eSBzdHJpbmcuIFt0ZXN0ZWQgQ2hhcmFjdGVyRGF0YS5kYXRhXQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwueGh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jb3JlRE9NLWVsZW1lbnQtYXR0cmlidXRlLWpzLW51bGwu
eGh0bWwKaW5kZXggNzY3YjA5OTEzZmI4NGY2YmY3NGQwZmEyMWUxNjA3YjcyMGUyYmIyYi4uNDFh
NmQzNjEyYjNjOTk3MGQyYTQyNmQxYjRjODY0YjhhNTdiMTIyMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vY29yZURPTS1lbGVtZW50LWF0dHJpYnV0ZS1qcy1udWxsLnhodG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvcmVET00tZWxlbWVudC1hdHRyaWJ1dGUtanMtbnVs
bC54aHRtbApAQCAtNTcsNyArNTcsNyBAQAogICAgICAgICAgICAgICAgICAgICB0eXBlOiAnUHJv
Y2Vzc2luZ0luc3RydWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFRvVXNlOiBk
b2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJ3RhcmdldCcsICdkYXRhJyksCiAg
ICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHtuYW1lOiAnZGF0YScsIGV4cGVjdGVkTnVsbDogbnVsbH0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHtuYW1lOiAnZGF0YScsIGV4cGVjdGVkTnVsbDogJyd9CiAgICAgICAgICAgICAgICAgICAg
IF0KICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0
ZXJkYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5z
dHJ1Y3Rpb24taW5oZXJpdC1jaGFyYWN0ZXJkYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NmMzZmIwMTljYTNlYmI5MjM4MGEyOGEwYjY5NmRjNzg5NDdlNmFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1pbmhlcml0LWNo
YXJhY3RlcmRhdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1Rlc3QgdGhhdCBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24gaW5oZXJpdHMgZnJvbSBDaGFyYWN0ZXJEYXRhCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbi5wcm90b3R5
cGUuX19wcm90b19fIGlzIENoYXJhY3RlckRhdGEucHJvdG90eXBlCitQQVNTIHByb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5fX3Byb3RvX18uX19wcm90b19fIGlzIENoYXJhY3RlckRhdGEucHJvdG90eXBl
CitQQVNTIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi50YXJnZXQgaXMgInRhcmdldCIKK1BBU1MgcHJv
Y2Vzc2luZ0luc3RydWN0aW9uLmRhdGEgaXMgImRhdGEiCitQQVNTIHByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5sZW5ndGggaXMgNAorUEFTUyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSBpcyAiIgor
UEFTUyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubGVuZ3RoIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0YS54
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24taW5oZXJp
dC1jaGFyYWN0ZXJkYXRhLnhodG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MmM1Y2Y4ZjU4NWViN2E4NWUxYTgy
ZTNhOWJhOTRlZjEwZTQ0NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWluaGVyaXQtY2hhcmFjdGVyZGF0YS54aHRtbApAQCAt
MCwwICsxLDI2IEBACis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorPCFbQ0RBVEFbCitkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbmhlcml0cyBmcm9tIENoYXJhY3Rl
ckRhdGEiKTsKKworc2hvdWxkQmUoIlByb2Nlc3NpbmdJbnN0cnVjdGlvbi5wcm90b3R5cGUuX19w
cm90b19fIiwgIkNoYXJhY3RlckRhdGEucHJvdG90eXBlIik7CisKK3ZhciBwcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24gPSBkb2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oInRhcmdldCIs
ICJkYXRhIik7CitzaG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9uLl9fcHJvdG9fXy5fX3By
b3RvX18iLCAiQ2hhcmFjdGVyRGF0YS5wcm90b3R5cGUiKTsKKworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24udGFyZ2V0IiwgInRhcmdldCIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uZGF0YSIsICJkYXRhIik7CitzaG91
bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9uLmxlbmd0aCIsICI0Iik7CisKK3Byb2Nlc3NpbmdJ
bnN0cnVjdGlvbi5kYXRhID0gbnVsbDsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicHJvY2Vzc2lu
Z0luc3RydWN0aW9uLmRhdGEiLCAiIik7CitzaG91bGRCZSgicHJvY2Vzc2luZ0luc3RydWN0aW9u
Lmxlbmd0aCIsICIwIik7CitdXT4KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>