<?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>110372</bug_id>
          
          <creation_ts>2013-02-20 13:23:09 -0800</creation_ts>
          <short_desc>[CSS Exclusions] Properly position multiple stacked floats with non rectangular shape outside</short_desc>
          <delta_ts>2013-04-09 15:30:30 -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>CSS</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>http://dev.w3.org/csswg/css3-exclusions/#floats-and-exclusions</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>837692</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-02-20 13:23:09 -0800</bug_when>
    <thetext>With a non-rectangular shape-outside, stacked floats should use the bounding box of previous floats to position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870972</commentid>
    <comment_count>1</comment_count>
      <attachid>196877</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-04-08 11:32:15 -0700</bug_when>
    <thetext>Created attachment 196877
Patch

Fix stacked float handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871989</commentid>
    <comment_count>2</comment_count>
      <attachid>196877</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-04-09 11:41:16 -0700</bug_when>
    <thetext>Comment on attachment 196877
Patch

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

&gt; Source/WebCore/ChangeLog:22
&gt; +        (WebCore::RenderBlock::logicalRightOffsetForLine): Add paramter for offset mode.

Typo: parameter

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:202
&gt; +    RenderBlock::FloatingObjectSetIterator it = floatingObjectSet.end();
&gt; +    --it; // Go to last item.
&gt; +    RenderBlock::FloatingObjectSetIterator begin = floatingObjectSet.begin();
&gt; +    while (it != begin) {
&gt; +        --it;

Doesn&apos;t this skip the very last item in the first pass? Is that ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871995</commentid>
    <comment_count>3</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-04-09 11:49:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 196877 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=196877&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:22
&gt; &gt; +        (WebCore::RenderBlock::logicalRightOffsetForLine): Add paramter for offset mode.
&gt; 
&gt; Typo: parameter

Thanks, I&apos;ll fix that.

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:202
&gt; &gt; +    RenderBlock::FloatingObjectSetIterator it = floatingObjectSet.end();
&gt; &gt; +    --it; // Go to last item.
&gt; &gt; +    RenderBlock::FloatingObjectSetIterator begin = floatingObjectSet.begin();
&gt; &gt; +    while (it != begin) {
&gt; &gt; +        --it;
&gt; 
&gt; Doesn&apos;t this skip the very last item in the first pass? Is that ok?

I was thinking that would be ok, since our new float will always be the last one on the list the way that the code is currently used, but I should be paranoid and not skip the last one just in case I&apos;m missing something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872062</commentid>
    <comment_count>4</comment_count>
      <attachid>197167</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-04-09 13:49:41 -0700</bug_when>
    <thetext>Created attachment 197167
Patch

Update for review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872066</commentid>
    <comment_count>5</comment_count>
      <attachid>197167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-09 13:53:23 -0700</bug_when>
    <thetext>Comment on attachment 197167
Patch

Rejecting attachment 197167 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--non-interactive&apos;, 197167, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-commit-queue.appspot.com/results/17628013</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872070</commentid>
    <comment_count>6</comment_count>
      <attachid>197169</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-04-09 14:07:37 -0700</bug_when>
    <thetext>Created attachment 197169
Patch

Update for review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872071</commentid>
    <comment_count>7</comment_count>
      <attachid>197169</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2013-04-09 14:08:57 -0700</bug_when>
    <thetext>Comment on attachment 197169
Patch

Somebody should teach the commit-queue to figure out the reviewer&apos;s name at these straightforward cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872105</commentid>
    <comment_count>8</comment_count>
      <attachid>197169</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-09 15:30:28 -0700</bug_when>
    <thetext>Comment on attachment 197169
Patch

Clearing flags on attachment: 197169

Committed r148056: &lt;http://trac.webkit.org/changeset/148056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872106</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-09 15:30:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196877</attachid>
            <date>2013-04-08 11:32:15 -0700</date>
            <delta_ts>2013-04-09 13:50:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110372-20130408113159.patch</filename>
            <type>text/plain</type>
            <size>24256</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU5NjVhMjQ3Yjg4NmI3
MGYyZWE3Yzg0ZDQ4NDE2MmQ0NjJjNzUxYi4uMzkzNmViNmMxNTc3YTk3MDE5MTM1MTBjYjgzODRm
MjJjODkxZGFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA0LTA4ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gUHJvcGVybHkgcG9zaXRpb24gbXVsdGlwbGUgc3RhY2tlZCBmbG9hdHMgd2l0aCBub24gcmVj
dGFuZ3VsYXIgc2hhcGUgb3V0c2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwMzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU3RhY2tlZCBmbG9hdHMgZ2V0IHBvc2l0aW9uZWQgYmFzZWQgb24gdGhl
IGJvdW5kaW5nIGJveCBvZiB0aGUgc2hhcGUsCisgICAgICAgIG5vdCBvbiB0aGUgc2hhcGUgY29u
dG91cnMgaXRzZWxmLiBUaGlzIHBhdGNoIGNhdXNlcyB0aGF0IHRvIGhhcHBlbi4KKworICAgICAg
ICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtc3RhY2tlZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVMb2dpY2FsTG9jYXRp
b25Gb3JGbG9hdCk6IFVzZSB0aGUKKyAgICAgICAgICAgICJCb3VuZGluZ0JveE9mZnNldCIgbW9k
ZSBzbyB0aGF0IHdlIGNvbXB1dGUgb2Zmc2V0cyBiYXNlZCBvbiB0aGUgc2hhcGUKKyAgICAgICAg
ICAgIGJvdW5kaW5nIGJveGVzIG9mIHByZXZpb3VzIGZsb2F0cywgbm90IHRoZSBzaGFwZSBjb250
b3VyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZSk6IENoZWNrIHRoZQorICAgICAgICAgICAgU2hhcGVPdXRzaWRlRmxvYXRPZmZzZXRNb2Rl
IHRvIGRldGVybWluZSBpZiB0aGUgb2Zmc2V0IHNob3VsZCBiZQorICAgICAgICAgICAgYWRqdXN0
ZWQgZm9yIHRoZSBzaGFwZSBjb250b3VyIG9yIG5vdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9n
aWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSk6IEFkZCBwYXJhbXRlciBmb3Igb2Zmc2V0IG1vZGUuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKTog
RGl0dG8uCisgICAgICAgIChSZW5kZXJCbG9jayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJsb2NrTGluZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaW5lV2lkdGg6OnNocmlu
a0F2YWlsYWJsZVdpZHRoRm9yTmV3RmxvYXRJZk5lZWRlZCk6IElmIHRoZQorICAgICAgICAgICAg
bmV3IGZsb2F0IGlzIGJlaW5nIGFkZGVkIG9uIHRvcCBvZiBhIHByZXZpb3VzIGZsb2F0IG9uIHRo
ZSBzYW1lIGxpbmUsCisgICAgICAgICAgICB1bmRvIHRoZSBvZmZzZXQgZm9yIHRoZSBwcmV2aW91
cyBmbG9hdCdzIHNoYXBlIGNvbnRvdXIgc28gdGhhdCB3ZQorICAgICAgICAgICAgcG9zaXRpb24g
dGhlIG5ldyBmbG9hdCBiYXNlZCBvbiB0aGUgYm91bmRpbmcgYm94LgorCiAyMDEzLTA0LTA4ICBN
YXggVnVqb3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
MTQ3NTAyKTogQW5pbWF0aW9ucyBvZiBDQSBmaWx0ZXJzIGJyb2tlbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggODc5MDJhYjJmMzU1ODRlMDY4MDY3MGYwMmMz
YjE0YjQyODg5ZmQ2NC4uZGEzMmRmM2Q1NTcwOTRmYTEzYTY4OTEzZWYzZmRhZTVlOWUwYWM2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC00MDI0LDEwICs0
MDI0LDEwIEBAIExheW91dFBvaW50IFJlbmRlckJsb2NrOjpjb21wdXRlTG9naWNhbExvY2F0aW9u
Rm9yRmxvYXQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGZsCiAgICAgaWYgKGNoaWxkQm94LT5zdHls
ZSgpLT5mbG9hdGluZygpID09IExlZnRGbG9hdCkgewogICAgICAgICBMYXlvdXRVbml0IGhlaWdo
dFJlbWFpbmluZ0xlZnQgPSAxOwogICAgICAgICBMYXlvdXRVbml0IGhlaWdodFJlbWFpbmluZ1Jp
Z2h0ID0gMTsKLSAgICAgICAgZmxvYXRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsTGVmdE9mZnNldCwgZmFsc2UsICZoZWlnaHRS
ZW1haW5pbmdMZWZ0KTsKLSAgICAgICAgd2hpbGUgKGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUo
bG9naWNhbFRvcE9mZnNldCwgbG9naWNhbFJpZ2h0T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFp
bmluZ1JpZ2h0KSAtIGZsb2F0TG9naWNhbExlZnQgPCBmbG9hdExvZ2ljYWxXaWR0aCkgeworICAg
ICAgICBmbG9hdExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxU
b3BPZmZzZXQsIGxvZ2ljYWxMZWZ0T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ0xlZnQs
IDAsIFNoYXBlT3V0c2lkZUZsb2F0Qm91bmRpbmdCb3hPZmZzZXQpOworICAgICAgICB3aGlsZSAo
bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsUmlnaHRP
ZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nUmlnaHQsIDAsIFNoYXBlT3V0c2lkZUZsb2F0
Qm91bmRpbmdCb3hPZmZzZXQpIC0gZmxvYXRMb2dpY2FsTGVmdCA8IGZsb2F0TG9naWNhbFdpZHRo
KSB7CiAgICAgICAgICAgICBsb2dpY2FsVG9wT2Zmc2V0ICs9IG1pbihoZWlnaHRSZW1haW5pbmdM
ZWZ0LCBoZWlnaHRSZW1haW5pbmdSaWdodCk7Ci0gICAgICAgICAgICBmbG9hdExvZ2ljYWxMZWZ0
ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxMZWZ0
T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ0xlZnQpOworICAgICAgICAgICAgZmxvYXRM
b2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0LCBs
b2dpY2FsTGVmdE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdMZWZ0LCAwLCBTaGFwZU91
dHNpZGVGbG9hdEJvdW5kaW5nQm94T2Zmc2V0KTsKICAgICAgICAgICAgIGlmIChpbnNpZGVGbG93
VGhyZWFkKSB7CiAgICAgICAgICAgICAgICAgLy8gSGF2ZSB0byByZS1ldmFsdWF0ZSBhbGwgb2Yg
b3VyIG9mZnNldHMsIHNpbmNlIHRoZXkgbWF5IGhhdmUgY2hhbmdlZC4KICAgICAgICAgICAgICAg
ICBsb2dpY2FsUmlnaHRPZmZzZXQgPSBsb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KGxvZ2lj
YWxUb3BPZmZzZXQpOyAvLyBDb25zdGFudCBwYXJ0IG9mIHJpZ2h0IG9mZnNldC4KQEAgLTQwMzks
MTAgKzQwMzksMTAgQEAgTGF5b3V0UG9pbnQgUmVuZGVyQmxvY2s6OmNvbXB1dGVMb2dpY2FsTG9j
YXRpb25Gb3JGbG9hdChjb25zdCBGbG9hdGluZ09iamVjdCogZmwKICAgICB9IGVsc2UgewogICAg
ICAgICBMYXlvdXRVbml0IGhlaWdodFJlbWFpbmluZ0xlZnQgPSAxOwogICAgICAgICBMYXlvdXRV
bml0IGhlaWdodFJlbWFpbmluZ1JpZ2h0ID0gMTsKLSAgICAgICAgZmxvYXRMb2dpY2FsTGVmdCA9
IGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbFJpZ2h0
T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ1JpZ2h0KTsKLSAgICAgICAgd2hpbGUgKGZs
b2F0TG9naWNhbExlZnQgLSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNl
dCwgbG9naWNhbExlZnRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nTGVmdCkgPCBmbG9h
dExvZ2ljYWxXaWR0aCkgeworICAgICAgICBmbG9hdExvZ2ljYWxMZWZ0ID0gbG9naWNhbFJpZ2h0
T2Zmc2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsUmlnaHRPZmZzZXQsIGZhbHNl
LCAmaGVpZ2h0UmVtYWluaW5nUmlnaHQsIDAsIFNoYXBlT3V0c2lkZUZsb2F0Qm91bmRpbmdCb3hP
ZmZzZXQpOworICAgICAgICB3aGlsZSAoZmxvYXRMb2dpY2FsTGVmdCAtIGxvZ2ljYWxMZWZ0T2Zm
c2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsTGVmdE9mZnNldCwgZmFsc2UsICZo
ZWlnaHRSZW1haW5pbmdMZWZ0LCAwLCBTaGFwZU91dHNpZGVGbG9hdEJvdW5kaW5nQm94T2Zmc2V0
KSA8IGZsb2F0TG9naWNhbFdpZHRoKSB7CiAgICAgICAgICAgICBsb2dpY2FsVG9wT2Zmc2V0ICs9
IG1pbihoZWlnaHRSZW1haW5pbmdMZWZ0LCBoZWlnaHRSZW1haW5pbmdSaWdodCk7Ci0gICAgICAg
ICAgICBmbG9hdExvZ2ljYWxMZWZ0ID0gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShsb2dpY2Fs
VG9wT2Zmc2V0LCBsb2dpY2FsUmlnaHRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nUmln
aHQpOworICAgICAgICAgICAgZmxvYXRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxSaWdodE9mZnNldEZv
ckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbFJpZ2h0T2Zmc2V0LCBmYWxzZSwgJmhlaWdo
dFJlbWFpbmluZ1JpZ2h0LCAwLCBTaGFwZU91dHNpZGVGbG9hdEJvdW5kaW5nQm94T2Zmc2V0KTsK
ICAgICAgICAgICAgIGlmIChpbnNpZGVGbG93VGhyZWFkKSB7CiAgICAgICAgICAgICAgICAgLy8g
SGF2ZSB0byByZS1ldmFsdWF0ZSBhbGwgb2Ygb3VyIG9mZnNldHMsIHNpbmNlIHRoZXkgbWF5IGhh
dmUgY2hhbmdlZC4KICAgICAgICAgICAgICAgICBsb2dpY2FsUmlnaHRPZmZzZXQgPSBsb2dpY2Fs
UmlnaHRPZmZzZXRGb3JDb250ZW50KGxvZ2ljYWxUb3BPZmZzZXQpOyAvLyBDb25zdGFudCBwYXJ0
IG9mIHJpZ2h0IG9mZnNldC4KQEAgLTQzMzEsNyArNDMzMSw3IEBAIExheW91dFVuaXQgUmVuZGVy
QmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoUmVuZGVyUmVnaW9uKiByZWdpb24s
IExheW91CiAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNldCAtIChsb2dpY2FsV2lkdGgoKSAt
IChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm94UmVjdC5tYXhYKCkgOiBib3hSZWN0Lm1h
eFkoKSkpOwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbml0IGZpeGVkT2Zmc2V0LCBib29s
IGFwcGx5VGV4dEluZGVudCwgTGF5b3V0VW5pdCogaGVpZ2h0UmVtYWluaW5nLCBMYXlvdXRVbml0
IGxvZ2ljYWxIZWlnaHQpIGNvbnN0CitMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2FsTGVm
dE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbml0IGZpeGVkT2Zm
c2V0LCBib29sIGFwcGx5VGV4dEluZGVudCwgTGF5b3V0VW5pdCogaGVpZ2h0UmVtYWluaW5nLCBM
YXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIFNoYXBlT3V0c2lkZUZsb2F0T2Zmc2V0TW9kZSBvZmZz
ZXRNb2RlKSBjb25zdAogewogICAgIExheW91dFVuaXQgbGVmdCA9IGZpeGVkT2Zmc2V0OwogICAg
IGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAmJiBtX2Zsb2F0aW5nT2JqZWN0cy0+aGFzTGVmdE9iamVj
dHMoKSkgewpAQCAtNDM0Miw3ICs0MzQyLDggQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9n
aWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW4KICAg
ICAgICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNlZEZsb2F0c1RyZWUoKS5hbGxPdmVybGFwc1dp
dGhBZGFwdGVyKGFkYXB0ZXIpOwogCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQotICAgICAg
ICBpZiAoY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0
KCkpIHsKKyAgICAgICAgY29uc3QgRmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIu
bGFzdEZsb2F0KCk7CisgICAgICAgIGlmIChvZmZzZXRNb2RlID09IFNoYXBlT3V0c2lkZUZsb2F0
U2hhcGVPZmZzZXQgJiYgbGFzdEZsb2F0KSB7CiAgICAgICAgICAgICBpZiAoRXhjbHVzaW9uU2hh
cGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0gbGFzdEZsb2F0LT5yZW5kZXJlcigpLT5leGNs
dXNpb25TaGFwZU91dHNpZGVJbmZvKCkpIHsKICAgICAgICAgICAgICAgICBzaGFwZU91dHNpZGUt
PmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobG9naWNhbFRvcCAtIGxvZ2ljYWxUb3BGb3JGbG9hdChs
YXN0RmxvYXQpICsgc2hhcGVPdXRzaWRlLT5zaGFwZUxvZ2ljYWxUb3AoKSwgbG9naWNhbEhlaWdo
dCk7CiAgICAgICAgICAgICAgICAgbGVmdCArPSBzaGFwZU91dHNpZGUtPnJpZ2h0U2VnbWVudFNo
YXBlQm91bmRpbmdCb3hEZWx0YSgpOwpAQCAtNDM4Nyw3ICs0Mzg4LDcgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRv
cCwgTGF5b3V0VW4KICAgICByZXR1cm4gbGVmdDsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCbG9j
azo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91
dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBoZWln
aHRSZW1haW5pbmcsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCkgY29uc3QKK0xheW91dFVuaXQg
UmVuZGVyQmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2Fs
VG9wLCBMYXlvdXRVbml0IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5VGV4dEluZGVudCwgTGF5b3V0
VW5pdCogaGVpZ2h0UmVtYWluaW5nLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIFNoYXBlT3V0
c2lkZUZsb2F0T2Zmc2V0TW9kZSBvZmZzZXRNb2RlKSBjb25zdAogewogICAgIExheW91dFVuaXQg
cmlnaHQgPSBmaXhlZE9mZnNldDsKICAgICBpZiAobV9mbG9hdGluZ09iamVjdHMgJiYgbV9mbG9h
dGluZ09iamVjdHMtPmhhc1JpZ2h0T2JqZWN0cygpKSB7CkBAIC00Mzk5LDcgKzQ0MDAsOCBAQCBM
YXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVu
aXQgbG9naWNhbFRvcCwgTGF5b3V0VQogICAgICAgICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2Vk
RmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBzV2l0aEFkYXB0ZXIoYWRhcHRlcik7CiAKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgICAgIGlmIChjb25zdCBGbG9hdGluZ09iamVjdCogbGFz
dEZsb2F0ID0gYWRhcHRlci5sYXN0RmxvYXQoKSkgeworICAgICAgICBjb25zdCBGbG9hdGluZ09i
amVjdCogbGFzdEZsb2F0ID0gYWRhcHRlci5sYXN0RmxvYXQoKTsKKyAgICAgICAgaWYgKG9mZnNl
dE1vZGUgPT0gU2hhcGVPdXRzaWRlRmxvYXRTaGFwZU9mZnNldCAmJiBsYXN0RmxvYXQpIHsKICAg
ICAgICAgICAgIGlmIChFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGUgPSBs
YXN0RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKSkgewogICAg
ICAgICAgICAgICAgIHNoYXBlT3V0c2lkZS0+Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShsb2dpY2Fs
VG9wIC0gbG9naWNhbFRvcEZvckZsb2F0KGxhc3RGbG9hdCkgKyBzaGFwZU91dHNpZGUtPnNoYXBl
TG9naWNhbFRvcCgpLCBsb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgICAgICAgICByaWdodEZsb2F0
T2Zmc2V0ICs9IHNoYXBlT3V0c2lkZS0+bGVmdFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGEo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggMjhmNTFiZTU0MWYx
NGY2MGQ5MzA4MjkzMGE4ZTMwMzNmNTg5YzlkMi4uMGZhZTFiYWVjN2Y4ZmY3NThmYmMwYjhhZWE4
NmZkMmFhMzlkM2QyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAg
LTcxLDYgKzcxLDcgQEAgdHlwZWRlZiBWZWN0b3I8V29yZE1lYXN1cmVtZW50LCA2ND4gV29yZE1l
YXN1cmVtZW50czsKIAogZW51bSBDYXJldFR5cGUgeyBDdXJzb3JDYXJldCwgRHJhZ0NhcmV0IH07
CiBlbnVtIENvbnRhaW5pbmdCbG9ja1N0YXRlIHsgTmV3Q29udGFpbmluZ0Jsb2NrLCBTYW1lQ29u
dGFpbmluZ0Jsb2NrIH07CitlbnVtIFNoYXBlT3V0c2lkZUZsb2F0T2Zmc2V0TW9kZSB7IFNoYXBl
T3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQsIFNoYXBlT3V0c2lkZUZsb2F0Qm91bmRpbmdCb3hPZmZz
ZXQgfTsKIAogZW51bSBUZXh0UnVuRmxhZyB7CiAgICAgRGVmYXVsdFRleHRSdW5GbGFncyA9IDAs
CkBAIC0xNzAsMTMgKzE3MSwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtYXg8TGF5b3V0
VW5pdD4oMCwgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgc2hvdWxkSW5kZW50
VGV4dCwgcmVnaW9uLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlLCBsb2dpY2FsSGVp
Z2h0KQogICAgICAgICAgICAgLSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUocG9zaXRpb24sIHNo
b3VsZEluZGVudFRleHQsIHJlZ2lvbiwgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSwg
bG9naWNhbEhlaWdodCkpOwogICAgIH0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodE9mZnNl
dEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0LCBSZW5k
ZXJSZWdpb24qIHJlZ2lvbiwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQ
YWdlLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwKSBjb25zdCAKKyAgICBMYXlvdXRVbml0
IGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91
bGRJbmRlbnRUZXh0LCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgTGF5b3V0VW5pdCBvZmZzZXRGcm9t
TG9naWNhbFRvcE9mRmlyc3RQYWdlLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwLCBTaGFw
ZU91dHNpZGVGbG9hdE9mZnNldE1vZGUgb2Zmc2V0TW9kZSA9IFNoYXBlT3V0c2lkZUZsb2F0U2hh
cGVPZmZzZXQpIGNvbnN0IAogICAgIHsKLSAgICAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNl
dEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQocmVnaW9uLCBv
ZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbG9n
aWNhbEhlaWdodCk7CisgICAgICAgIHJldHVybiBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHBv
c2l0aW9uLCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KHJlZ2lvbiwgb2Zmc2V0RnJvbUxv
Z2ljYWxUb3BPZkZpcnN0UGFnZSksIHNob3VsZEluZGVudFRleHQsIDAsIGxvZ2ljYWxIZWlnaHQs
IG9mZnNldE1vZGUpOwogICAgIH0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIHNob3VsZEluZGVudFRleHQsIFJlbmRlclJl
Z2lvbiogcmVnaW9uLCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2Us
IExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDApIGNvbnN0IAorICAgIExheW91dFVuaXQgbG9n
aWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5k
ZW50VGV4dCwgUmVuZGVyUmVnaW9uKiByZWdpb24sIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2lj
YWxUb3BPZkZpcnN0UGFnZSwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCwgU2hhcGVPdXRz
aWRlRmxvYXRPZmZzZXRNb2RlIG9mZnNldE1vZGUgPSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zm
c2V0KSBjb25zdCAKICAgICB7Ci0gICAgICAgIHJldHVybiBsb2dpY2FsTGVmdE9mZnNldEZvckxp
bmUocG9zaXRpb24sIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudChyZWdpb24sIG9mZnNldEZy
b21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UpLCBzaG91bGRJbmRlbnRUZXh0LCAwLCBsb2dpY2FsSGVp
Z2h0KTsKKyAgICAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwg
bG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KHJlZ2lvbiwgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BP
ZkZpcnN0UGFnZSksIHNob3VsZEluZGVudFRleHQsIDAsIGxvZ2ljYWxIZWlnaHQsIG9mZnNldE1v
ZGUpOwogICAgIH0KICAgICBMYXlvdXRVbml0IHN0YXJ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0
IHBvc2l0aW9uLCBib29sIHNob3VsZEluZGVudFRleHQsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBM
YXlvdXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UsIExheW91dFVuaXQgbG9n
aWNhbEhlaWdodCA9IDApIGNvbnN0CiAgICAgewpAQCAtMTkzLDEzICsxOTQsMTMgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgcmV0dXJuIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aEZvckxpbmUocG9z
aXRpb24sIHNob3VsZEluZGVudFRleHQsIHJlZ2lvbkF0QmxvY2tPZmZzZXQocG9zaXRpb24pLCBv
ZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCksIGxvZ2ljYWxIZWlnaHQpOwogICAgIH0K
LSAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3Np
dGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0LCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAw
KSBjb25zdCAKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0
VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0LCBMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQgPSAwLCBTaGFwZU91dHNpZGVGbG9hdE9mZnNldE1vZGUgb2Zmc2V0TW9kZSA9IFNoYXBl
T3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQpIGNvbnN0IAogICAgIHsKLSAgICAgICAgcmV0dXJuIGxv
Z2ljYWxSaWdodE9mZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxSaWdodE9mZnNldEZvckNv
bnRlbnQocG9zaXRpb24pLCBzaG91bGRJbmRlbnRUZXh0LCAwLCBsb2dpY2FsSGVpZ2h0KTsKKyAg
ICAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxS
aWdodE9mZnNldEZvckNvbnRlbnQocG9zaXRpb24pLCBzaG91bGRJbmRlbnRUZXh0LCAwLCBsb2dp
Y2FsSGVpZ2h0LCBvZmZzZXRNb2RlKTsKICAgICB9Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVm
dE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0
LCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwKSBjb25zdCAKKyAgICBMYXlvdXRVbml0IGxv
Z2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIHNob3VsZElu
ZGVudFRleHQsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDAsIFNoYXBlT3V0c2lkZUZsb2F0
T2Zmc2V0TW9kZSBvZmZzZXRNb2RlID0gU2hhcGVPdXRzaWRlRmxvYXRTaGFwZU9mZnNldCkgY29u
c3QgCiAgICAgewotICAgICAgICByZXR1cm4gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKHBvc2l0
aW9uLCBsb2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQocG9zaXRpb24pLCBzaG91bGRJbmRlbnRU
ZXh0LCAwLCBsb2dpY2FsSGVpZ2h0KTsKKyAgICAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0
Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KHBvc2l0aW9uKSwg
c2hvdWxkSW5kZW50VGV4dCwgMCwgbG9naWNhbEhlaWdodCwgb2Zmc2V0TW9kZSk7CiAgICAgfQog
ICAgIExheW91dFVuaXQgcGl4ZWxTbmFwcGVkTG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91
dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4dCwgTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0ID0gMCkgY29uc3QgCiAgICAgewpAQCAtNTE4LDggKzUxOSw4IEBAIHByb3RlY3RlZDoK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDaGlsZHJlbihQYWludEluZm8mIGZvclNlbGYsIGNvbnN0
IExheW91dFBvaW50JiwgUGFpbnRJbmZvJiBmb3JDaGlsZCwgYm9vbCB1c2VQcmludFJlY3QpOwog
ICAgIGJvb2wgcGFpbnRDaGlsZChSZW5kZXJCb3gqLCBQYWludEluZm8mIGZvclNlbGYsIGNvbnN0
IExheW91dFBvaW50JiwgUGFpbnRJbmZvJiBmb3JDaGlsZCwgYm9vbCB1c2VQcmludFJlY3QpOwog
ICAgCi0gICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQg
cG9zaXRpb24sIExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50LCBM
YXlvdXRVbml0KiBsb2dpY2FsSGVpZ2h0UmVtYWluaW5nID0gMCwgTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0ID0gMCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldEZvckxp
bmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgTGF5b3V0VW5pdCBmaXhlZE9mZnNldCwgYm9vbCBhcHBs
eVRleHRJbmRlbnQsIExheW91dFVuaXQqIGxvZ2ljYWxIZWlnaHRSZW1haW5pbmcgPSAwLCBMYXlv
dXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwKSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxS
aWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgTGF5b3V0VW5pdCBmaXhlZE9m
ZnNldCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExheW91dFVuaXQqIGxvZ2ljYWxIZWlnaHRSZW1h
aW5pbmcgPSAwLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwLCBTaGFwZU91dHNpZGVGbG9h
dE9mZnNldE1vZGUgPSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0KSBjb25zdDsKKyAgICBM
YXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBM
YXlvdXRVbml0IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5VGV4dEluZGVudCwgTGF5b3V0VW5pdCog
bG9naWNhbEhlaWdodFJlbWFpbmluZyA9IDAsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDAs
IFNoYXBlT3V0c2lkZUZsb2F0T2Zmc2V0TW9kZSA9IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZz
ZXQpIGNvbnN0OwogCiAgICAgdmlydHVhbCBFVGV4dEFsaWduIHRleHRBbGlnbm1lbnRGb3JMaW5l
KGJvb2wgZW5kc1dpdGhTb2Z0QnJlYWspIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bmxpbmVEaXJlY3Rpb25MaW5lQm91bmRzKGludCAvKiBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50
ICovLCBmbG9hdCYgLyogbG9naWNhbExlZnQgKi8sIGZsb2F0JiAvKiBsb2dpY2FsV2lkdGggKi8p
IGNvbnN0IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAppbmRleCBlYmI4YmQ1NGJhMzI4NWYyNzUwNzUxY2RiYjQwZGFlMDY3YjY1
NzZiLi4xY2JlNDZiNmZlNmYyOTE0OTQzNTU2ZTk3OWJkOWQ1MmRjMDgzMWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAt
MTg4LDYgKzE4OCwyNyBAQCBpbmxpbmUgdm9pZCBMaW5lV2lkdGg6OnNocmlua0F2YWlsYWJsZVdp
ZHRoRm9yTmV3RmxvYXRJZk5lZWRlZChSZW5kZXJCbG9jazo6RmxvYQogICAgICAgICByZXR1cm47
CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgLy8gV2hlbiBmbG9hdHMgd2l0aCBz
aGFwZSBvdXRzaWRlIGFyZSBzdGFja2VkLCB0aGUgZmxvYXRzIGFyZSBwb3NpdGlvbmVkIGJhc2Vk
IG9uIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIHNoYXBlLAorICAgIC8vIG5vdCB0aGUgc2hhcGUn
cyBjb250b3VyLiBTaW5jZSB3ZSBjb21wdXRlZCB0aGUgd2lkdGggYmFzZWQgb24gdGhlIHNoYXBl
IGNvbnRvdXIgd2hlbiB3ZSBhZGRlZCB0aGUgZmxvYXQsCisgICAgLy8gd2hlbiB3ZSBhZGQgYSBz
dWJzZXF1ZW50IGZsb2F0IG9uIHRoZSBzYW1lIGxpbmUsIHdlIG5lZWQgdG8gdW5kbyB0aGUgc2hh
cGUgZGVsdGEgaW4gb3JkZXIgdG8gcG9zaXRpb24KKyAgICAvLyBiYXNlZCBvbiB0aGUgYm91bmRp
bmcgYm94LiBJbiBvcmRlciB0byBkbyB0aGlzLCB3ZSBuZWVkIHRvIHdhbGsgYmFjayB0aHJvdWdo
IHRoZSBmbG9hdGluZyBvYmplY3QgbGlzdCB0byBmaW5kCisgICAgLy8gdGhlIGZpcnN0IHByZXZp
b3VzIGZsb2F0IHRoYXQgaXMgb24gdGhlIHNhbWUgc2lkZSBhcyBvdXIgbmV3RmxvYXQuCisgICAg
RXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyogbGFzdFNoYXBlT3V0c2lkZUluZm8gPSAwOworICAg
IGNvbnN0IFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdFNldCYgZmxvYXRpbmdPYmplY3RTZXQg
PSBtX2Jsb2NrLT5tX2Zsb2F0aW5nT2JqZWN0cy0+c2V0KCk7CisgICAgUmVuZGVyQmxvY2s6OkZs
b2F0aW5nT2JqZWN0U2V0SXRlcmF0b3IgaXQgPSBmbG9hdGluZ09iamVjdFNldC5lbmQoKTsKKyAg
ICAtLWl0OyAvLyBHbyB0byBsYXN0IGl0ZW0uCisgICAgUmVuZGVyQmxvY2s6OkZsb2F0aW5nT2Jq
ZWN0U2V0SXRlcmF0b3IgYmVnaW4gPSBmbG9hdGluZ09iamVjdFNldC5iZWdpbigpOworICAgIHdo
aWxlIChpdCAhPSBiZWdpbikgeworICAgICAgICAtLWl0OworICAgICAgICBSZW5kZXJCbG9jazo6
RmxvYXRpbmdPYmplY3QqIGxhc3RGbG9hdCA9ICppdDsKKyAgICAgICAgaWYgKGxhc3RGbG9hdCAh
PSBuZXdGbG9hdCAmJiBsYXN0RmxvYXQtPnR5cGUoKSA9PSBuZXdGbG9hdC0+dHlwZSgpKSB7Cisg
ICAgICAgICAgICBsYXN0U2hhcGVPdXRzaWRlSW5mbyA9IGxhc3RGbG9hdC0+cmVuZGVyZXIoKS0+
ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpOworICAgICAgICAgICAgaWYgKGxhc3RTaGFwZU91
dHNpZGVJbmZvKQorICAgICAgICAgICAgICAgIGxhc3RTaGFwZU91dHNpZGVJbmZvLT5jb21wdXRl
U2VnbWVudHNGb3JMaW5lKG1fYmxvY2stPmxvZ2ljYWxIZWlnaHQoKSAtIG1fYmxvY2stPmxvZ2lj
YWxUb3BGb3JGbG9hdChsYXN0RmxvYXQpICsgbGFzdFNoYXBlT3V0c2lkZUluZm8tPnNoYXBlTG9n
aWNhbFRvcCgpLCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShtX2Jsb2NrLCBtX2lzRmlyc3RMaW5lKSk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKwogICAgIEV4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8qIHNoYXBlT3V0c2lkZUluZm8gPSBuZXdGbG9hdC0+cmVuZGVyZXIoKS0+
ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpOwogICAgIGlmIChzaGFwZU91dHNpZGVJbmZvKQog
ICAgICAgICBzaGFwZU91dHNpZGVJbmZvLT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKG1fYmxvY2st
PmxvZ2ljYWxIZWlnaHQoKSAtIG1fYmxvY2stPmxvZ2ljYWxUb3BGb3JGbG9hdChuZXdGbG9hdCkg
KyBzaGFwZU91dHNpZGVJbmZvLT5zaGFwZUxvZ2ljYWxUb3AoKSwgbG9naWNhbEhlaWdodEZvckxp
bmUobV9ibG9jaywgbV9pc0ZpcnN0TGluZSkpOwpAQCAtMTk2LDYgKzIxNyw4IEBAIGlubGluZSB2
b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxhYmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKFJl
bmRlckJsb2NrOjpGbG9hCiAgICAgaWYgKG5ld0Zsb2F0LT50eXBlKCkgPT0gUmVuZGVyQmxvY2s6
OkZsb2F0aW5nT2JqZWN0OjpGbG9hdExlZnQpIHsKICAgICAgICAgZmxvYXQgbmV3TGVmdCA9IG1f
YmxvY2stPmxvZ2ljYWxSaWdodEZvckZsb2F0KG5ld0Zsb2F0KTsKICNpZiBFTkFCTEUoQ1NTX0VY
Q0xVU0lPTlMpCisgICAgICAgIGlmIChsYXN0U2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgICAg
IG5ld0xlZnQgLT0gbGFzdFNoYXBlT3V0c2lkZUluZm8tPnJpZ2h0U2VnbWVudFNoYXBlQm91bmRp
bmdCb3hEZWx0YSgpOwogICAgICAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKICAgICAgICAgICAg
IG5ld0xlZnQgKz0gc2hhcGVPdXRzaWRlSW5mby0+cmlnaHRTZWdtZW50U2hhcGVCb3VuZGluZ0Jv
eERlbHRhKCk7CiAjZW5kaWYKQEAgLTIwNiw2ICsyMjksOCBAQCBpbmxpbmUgdm9pZCBMaW5lV2lk
dGg6OnNocmlua0F2YWlsYWJsZVdpZHRoRm9yTmV3RmxvYXRJZk5lZWRlZChSZW5kZXJCbG9jazo6
RmxvYQogICAgIH0gZWxzZSB7CiAgICAgICAgIGZsb2F0IG5ld1JpZ2h0ID0gbV9ibG9jay0+bG9n
aWNhbExlZnRGb3JGbG9hdChuZXdGbG9hdCk7CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQor
ICAgICAgICBpZiAobGFzdFNoYXBlT3V0c2lkZUluZm8pCisgICAgICAgICAgICBuZXdSaWdodCAt
PSBsYXN0U2hhcGVPdXRzaWRlSW5mby0+bGVmdFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGEo
KTsKICAgICAgICAgaWYgKHNoYXBlT3V0c2lkZUluZm8pCiAgICAgICAgICAgICBuZXdSaWdodCAr
PSBzaGFwZU91dHNpZGVJbmZvLT5sZWZ0U2VnbWVudFNoYXBlQm91bmRpbmdCb3hEZWx0YSgpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNzMwNWZmMDdhNjQ0N2QwM2Y2YzEzMGM5ZGI1NmVlNmQ3OWI0NWRmNS4u
M2Q3YzNiODkwZjE1ZDgwNjlkMzM3OTQxYTQ5N2ZjM2E1M2M5YzhlZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDEzLTA0LTA4ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgor
CisgICAgICAgIFtDU1MgRXhjbHVzaW9uc10gUHJvcGVybHkgcG9zaXRpb24gbXVsdGlwbGUgc3Rh
Y2tlZCBmbG9hdHMgd2l0aCBub24gcmVjdGFuZ3VsYXIgc2hhcGUgb3V0c2lkZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMzcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgZGVtb25zdHJhdGlu
ZyBzdGFja2VkIGZsb2F0cyBwcm9wZXJseSB3b3JraW5nIHdpdGggc2hhcGUtb3V0c2lkZS4KKwor
ICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy1zdGFja2VkLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFj
a2VkLmh0bWw6IEFkZGVkLgorCiAyMDEzLTA0LTA4ICBNYXggVnVqb3ZpYyAgPG12dWpvdmljQGFk
b2JlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTQ3NTAyKTogQW5pbWF0aW9ucyBvZiBD
QSBmaWx0ZXJzIGJyb2tlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25z
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXN0YWNrZWQtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFja2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzgyZTQ3Y2EzMTM4OTE2YWEwNWYxYjNjYzFiZGJiZThjN2VhY2FhNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWZsb2F0cy1zdGFja2VkLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMDYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgorICAgIC5jb250YWlu
ZXIgeworICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgZm9udDogNDBweC8xIEFoZW0sIHNhbnMt
c2VyaWY7CisgICAgfQorICAgIC5sZWZ0IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICAgIGZsb2F0OiBsZWZ0OworICAgICAgY2xlYXI6IGxlZnQ7CisgICAgICBoZWlnaHQ6IDQwcHg7
CisgICAgfQorICAgIC50cmlhbmdsZS1sZWZ0OmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBibG9j
azsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAgICAg
IHotaW5kZXg6IC0xOworICAgICAgdG9wOiAwcHg7CisgICAgICBsZWZ0OiAwcHg7CisgICAgICB3
aWR0aDogMDsgaGVpZ2h0OiAwOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7
CisgICAgICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRl
ci1sZWZ0OiAxMDBweCBzb2xpZCByZ2JhKDAsIDAsIDI1NSwgMC41KTsKKyAgICB9CisgICAgLnRy
aWFuZ2xlLWxlZnQyOmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAgICAgIHotaW5kZXg6IC0xOwor
ICAgICAgdG9wOiAwcHg7CisgICAgICBsZWZ0OiAxMDBweDsKKyAgICAgIHdpZHRoOiAwOyBoZWln
aHQ6IDA7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRl
ci10b3A6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50OworICAgICAgYm9yZGVyLWxlZnQ6IDEwMHB4
IHNvbGlkIHJnYmEoMCwgMCwgMjU1LCAwLjUpOworICAgIH0KKyAgICAucmlnaHQgeworICAgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgICAgZmxvYXQ6IHJpZ2h0OworICAgICAgY2xlYXI6IHJp
Z2h0OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKyAgICAudHJpYW5nbGUtcmlnaHQ6YmVm
b3JlIHsKKyAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgcG9zaXRpb246IGFic29sdXRlOwor
ICAgICAgY29udGVudDogJyAnOworICAgICAgei1pbmRleDogLTE7CisgICAgICB0b3A6IDBweDsK
KyAgICAgIHJpZ2h0OiAwcHg7CisgICAgICB3aWR0aDogMDsgaGVpZ2h0OiAwOworICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgICBib3JkZXItdG9wOiAxMDBweCBzb2xp
ZCB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRlci1yaWdodDogMTAwcHggc29saWQgcmdiYSgwLCAw
LCAyNTUsIDAuNSk7CisgICAgfQorICAgIC50cmlhbmdsZS1yaWdodDI6YmVmb3JlIHsKKyAgICAg
IGRpc3BsYXk6IGJsb2NrOworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgY29udGVu
dDogJyAnOworICAgICAgei1pbmRleDogLTE7CisgICAgICB0b3A6IDBweDsKKyAgICAgIHJpZ2h0
OiAxMDBweDsKKyAgICAgIHdpZHRoOiAwOyBoZWlnaHQ6IDA7CisgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRlci10b3A6IDEwMHB4IHNvbGlkIHRyYW5zcGFy
ZW50OworICAgICAgYm9yZGVyLXJpZ2h0OiAxMDBweCBzb2xpZCByZ2JhKDAsIDAsIDI1NSwgMC41
KTsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGgxPkJ1ZyA8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMzcyIj4xMTAzNzI8
L2E+IC0gW0NTUyBFeGNsdXNpb25zXSBQcm9wZXJseSBwb3NpdGlvbiBtdWx0aXBsZSBzdGFja2Vk
IGZsb2F0cyB3aXRoIG5vbiByZWN0YW5ndWxhciBzaGFwZSBvdXRzaWRlPC9oMT4KKyAgPGgyPlRo
ZXJlIHNob3VsZCBiZSB0d28gdHJpYW5nZXMgb24gdGhlIGxlZnQsIGFuZCBvbmUgb24gdGhlIHJp
Z2h0LiBOb25lIG9mCisgICAgdGhlIHRyaWFuZ2xlcyBzaG91ZCBvdmVybGFwLCBhbmQgdGhlIGJs
YWNrIGJveGVzIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgdHJpYW5nbGVzIG9uIHRoZSBsZWZ0Ljwv
aDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6NDBw
eDsiIGNsYXNzPSJsZWZ0IHRyaWFuZ2xlLWxlZnQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogMTAwcHg7IiBjbGFzcz0icmlnaHQgdHJp
YW5nbGUtbGVmdCI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6ODBweDsiIGNsYXNzPSJs
ZWZ0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBzdHlsZT0id2lkdGg6MTQwcHg7IiBj
bGFzcz0ibGVmdCB0cmlhbmdsZS1sZWZ0MiI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6
MTgwcHg7IiBjbGFzcz0ibGVmdCI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6MjAwcHg7
IiBjbGFzcz0ibGVmdCI+PC9kaXY+CisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFgg
WCBYCisgICAgWCBYIFggWCBYIFgKKyAgPC9kaXY+CisgIDxoMj5UaGVyZSBzaG91bGQgYmUgdHdv
IHRyaWFuZ2VzIG9uIHRoZSByaWdodCwgYW5kIG9uZSBvbiB0aGUgbGVmdC4gTm9uZSBvZgorICAg
IHRoZSB0cmlhbmdsZXMgc2hvdWQgb3ZlcmxhcCwgYW5kIHRoZSBibGFjayBib3hlcyBzaG91bGQg
d3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlcyBvbiB0aGUgcmlnaHQuPC9oMj4KKyAgPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogcmlnaHQiIGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgc3R5bGU9
IndpZHRoOjQwcHg7IiBjbGFzcz0icmlnaHQgdHJpYW5nbGUtcmlnaHQiPjwvZGl2PgorICAgIFgg
WCBYIFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogMTAwcHg7IiBjbGFz
cz0ibGVmdCB0cmlhbmdsZS1yaWdodCI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6ODBw
eDsiIGNsYXNzPSJyaWdodCI+PC9kaXY+CisgICAgWCBYIFggWAorICAgIDxkaXYgc3R5bGU9Indp
ZHRoOjE0MHB4OyIgY2xhc3M9InJpZ2h0IHRyaWFuZ2xlLXJpZ2h0MiI+PC9kaXY+CisgICAgPGRp
diBzdHlsZT0id2lkdGg6MTgwcHg7IiBjbGFzcz0icmlnaHQiPjwvZGl2PgorICAgIDxkaXYgc3R5
bGU9IndpZHRoOjIwMHB4OyIgY2xhc3M9InJpZ2h0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAg
WCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFggWCBYIFggWAorICA8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFja2VkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMtc3RhY2tlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiZDI5NzA2ODRlYmIwNGUxZWVlN2ZkOTM1
NDcxZWFiMTgyY2NjMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1
c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc3RhY2tlZC5o
dG1sCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1ZSk7CisgIDwvc2NyaXB0Pgor
ICA8c3R5bGU+CisgICAgLmNvbnRhaW5lciB7CisgICAgICB3aWR0aDogNTAwcHg7CisgICAgICBm
b250OiA0MHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICB9CisgICAgLnRyaWFuZ2xlLWxlZnQg
eworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgIGZsb2F0OiBsZWZ0OworICAgICAgLXdlYmtpdC1zaGFwZS1v
dXRzaWRlOiBwb2x5Z29uKDAgMCwgMCAxMDAlLCAxMDAlIDEwMCUpOworICAgIH0KKyAgICAudHJp
YW5nbGUtbGVmdDpiZWZvcmUgeworICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICBjb250ZW50OiAnICc7CisgICAgICB6LWluZGV4OiAtMTsKKyAg
ICAgIHRvcDogMHB4OworICAgICAgbGVmdDogMHB4OworICAgICAgd2lkdGg6IDA7IGhlaWdodDog
MDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OworICAgICAgYm9yZGVyLXRv
cDogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7CisgICAgICBib3JkZXItbGVmdDogMTAwcHggc29s
aWQgcmdiYSgwLCAwLCAyNTUsIDAuNSk7CisgICAgfQorICAgIC50cmlhbmdsZS1yaWdodCB7Cisg
ICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBoZWln
aHQ6IDEwMHB4OworICAgICAgZmxvYXQ6IHJpZ2h0OworICAgICAgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiBwb2x5Z29uKDEwMCUgMCwgMTAwJSAxMDAlLCAwJSAxMDAlKTsKKyAgICB9CisgICAgLnRy
aWFuZ2xlLXJpZ2h0OmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAgICAgIHotaW5kZXg6IC0xOwor
ICAgICAgdG9wOiAwcHg7CisgICAgICBsZWZ0OiAwcHg7CisgICAgICB3aWR0aDogMDsgaGVpZ2h0
OiAwOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgICBib3JkZXIt
dG9wOiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRlci1yaWdodDogMTAwcHgg
c29saWQgcmdiYSgwLCAwLCAyNTUsIDAuNSk7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+CisgIDxoMT5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDM3MiI+MTEwMzcyPC9hPiAtIFtDU1MgRXhjbHVzaW9uc10gUHJvcGVybHkg
cG9zaXRpb24gbXVsdGlwbGUgc3RhY2tlZCBmbG9hdHMgd2l0aCBub24gcmVjdGFuZ3VsYXIgc2hh
cGUgb3V0c2lkZTwvaDE+CisgIDxoMj5UaGVyZSBzaG91bGQgYmUgdHdvIHRyaWFuZ2VzIG9uIHRo
ZSBsZWZ0LCBhbmQgb25lIG9uIHRoZSByaWdodC4gTm9uZSBvZgorICAgIHRoZSB0cmlhbmdsZXMg
c2hvdWQgb3ZlcmxhcCwgYW5kIHRoZSBibGFjayBib3hlcyBzaG91bGQgd3JhcCBhcm91bmQgdGhl
IHRyaWFuZ2xlcyBvbiB0aGUgbGVmdC48L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgor
ICAgIDxkaXYgY2xhc3M9InRyaWFuZ2xlLWxlZnQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8
ZGl2IHN0eWxlPSJmbG9hdDpyaWdodCIgY2xhc3M9InRyaWFuZ2xlLWxlZnQiPjwvZGl2PgorICAg
IFggWCBYIFgKKyAgICA8ZGl2IGNsYXNzPSJ0cmlhbmdsZS1sZWZ0Ij48L2Rpdj4KKyAgICBYIFgg
WCBYCisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFggWCBYIFggWAorICA8L2Rpdj4K
KyAgPGgyPlRoZXJlIHNob3VsZCBiZSB0d28gdHJpYW5nZXMgb24gdGhlIHJpZ2h0LCBhbmQgb25l
IG9uIHRoZSBsZWZ0LiBOb25lIG9mCisgICAgdGhlIHRyaWFuZ2xlcyBzaG91ZCBvdmVybGFwLCBh
bmQgdGhlIGJsYWNrIGJveGVzIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgdHJpYW5nbGVzIG9uIHRo
ZSByaWdodC48L2gyPgorICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodCIgY2xhc3M9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0idHJpYW5nbGUtcmlnaHQiPjwvZGl2PgorICAgIFgg
WCBYIFgKKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0IiBjbGFzcz0idHJpYW5nbGUtcmlnaHQi
PjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8ZGl2IGNsYXNzPSJ0cmlhbmdsZS1yaWdodCI+PC9k
aXY+CisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFggWCBYCisgICAgWCBYIFggWCBY
IFgKKyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="219058"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197167</attachid>
            <date>2013-04-09 13:49:41 -0700</date>
            <delta_ts>2013-04-09 13:53:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110372-20130409134924.patch</filename>
            <type>text/plain</type>
            <size>24221</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU5NjVhMjQ3Yjg4NmI3
MGYyZWE3Yzg0ZDQ4NDE2MmQ0NjJjNzUxYi4uN2FlMGQ1NzQ1M2I4ZTM0ZTRlNzI0MGUzNmVlMGYz
NmYwYjZhMThiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA0LTA4ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gUHJvcGVybHkgcG9zaXRpb24gbXVsdGlwbGUgc3RhY2tlZCBmbG9hdHMgd2l0aCBub24gcmVj
dGFuZ3VsYXIgc2hhcGUgb3V0c2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwMzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU3RhY2tlZCBmbG9hdHMgZ2V0IHBvc2l0aW9uZWQgYmFzZWQgb24gdGhl
IGJvdW5kaW5nIGJveCBvZiB0aGUgc2hhcGUsCisgICAgICAgIG5vdCBvbiB0aGUgc2hhcGUgY29u
dG91cnMgaXRzZWxmLiBUaGlzIHBhdGNoIGNhdXNlcyB0aGF0IHRvIGhhcHBlbi4KKworICAgICAg
ICBUZXN0OiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtc3RhY2tlZC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVMb2dpY2FsTG9jYXRp
b25Gb3JGbG9hdCk6IFVzZSB0aGUKKyAgICAgICAgICAgICJCb3VuZGluZ0JveE9mZnNldCIgbW9k
ZSBzbyB0aGF0IHdlIGNvbXB1dGUgb2Zmc2V0cyBiYXNlZCBvbiB0aGUgc2hhcGUKKyAgICAgICAg
ICAgIGJvdW5kaW5nIGJveGVzIG9mIHByZXZpb3VzIGZsb2F0cywgbm90IHRoZSBzaGFwZSBjb250
b3VyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZSk6IENoZWNrIHRoZQorICAgICAgICAgICAgU2hhcGVPdXRzaWRlRmxvYXRPZmZzZXRNb2Rl
IHRvIGRldGVybWluZSBpZiB0aGUgb2Zmc2V0IHNob3VsZCBiZQorICAgICAgICAgICAgYWRqdXN0
ZWQgZm9yIHRoZSBzaGFwZSBjb250b3VyIG9yIG5vdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bG9n
aWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSk6IEFkZCBwYXJhbWV0ZXIgZm9yIG9mZnNldCBtb2RlLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZSk6
IERpdHRvLgorICAgICAgICAoUmVuZGVyQmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCbG9ja0xpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGluZVdpZHRoOjpzaHJp
bmtBdmFpbGFibGVXaWR0aEZvck5ld0Zsb2F0SWZOZWVkZWQpOiBJZiB0aGUKKyAgICAgICAgICAg
IG5ldyBmbG9hdCBpcyBiZWluZyBhZGRlZCBvbiB0b3Agb2YgYSBwcmV2aW91cyBmbG9hdCBvbiB0
aGUgc2FtZSBsaW5lLAorICAgICAgICAgICAgdW5kbyB0aGUgb2Zmc2V0IGZvciB0aGUgcHJldmlv
dXMgZmxvYXQncyBzaGFwZSBjb250b3VyIHNvIHRoYXQgd2UKKyAgICAgICAgICAgIHBvc2l0aW9u
IHRoZSBuZXcgZmxvYXQgYmFzZWQgb24gdGhlIGJvdW5kaW5nIGJveC4KKwogMjAxMy0wNC0wOCAg
TWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjE0NzUwMik6IEFuaW1hdGlvbnMgb2YgQ0EgZmlsdGVycyBicm9rZW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDg3OTAyYWIyZjM1NTg0ZTA2ODA2NzBmMDJj
M2IxNGI0Mjg4OWZkNjQuLmRhMzJkZjNkNTU3MDk0ZmExM2E2ODkxM2VmM2ZkYWU1ZTllMGFjNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNDAyNCwxMCAr
NDAyNCwxMCBAQCBMYXlvdXRQb2ludCBSZW5kZXJCbG9jazo6Y29tcHV0ZUxvZ2ljYWxMb2NhdGlv
bkZvckZsb2F0KGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBmbAogICAgIGlmIChjaGlsZEJveC0+c3R5
bGUoKS0+ZmxvYXRpbmcoKSA9PSBMZWZ0RmxvYXQpIHsKICAgICAgICAgTGF5b3V0VW5pdCBoZWln
aHRSZW1haW5pbmdMZWZ0ID0gMTsKICAgICAgICAgTGF5b3V0VW5pdCBoZWlnaHRSZW1haW5pbmdS
aWdodCA9IDE7Ci0gICAgICAgIGZsb2F0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbExlZnRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0
UmVtYWluaW5nTGVmdCk7Ci0gICAgICAgIHdoaWxlIChsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5l
KGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxSaWdodE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1h
aW5pbmdSaWdodCkgLSBmbG9hdExvZ2ljYWxMZWZ0IDwgZmxvYXRMb2dpY2FsV2lkdGgpIHsKKyAg
ICAgICAgZmxvYXRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2Fs
VG9wT2Zmc2V0LCBsb2dpY2FsTGVmdE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdMZWZ0
LCAwLCBTaGFwZU91dHNpZGVGbG9hdEJvdW5kaW5nQm94T2Zmc2V0KTsKKyAgICAgICAgd2hpbGUg
KGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbFJpZ2h0
T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ1JpZ2h0LCAwLCBTaGFwZU91dHNpZGVGbG9h
dEJvdW5kaW5nQm94T2Zmc2V0KSAtIGZsb2F0TG9naWNhbExlZnQgPCBmbG9hdExvZ2ljYWxXaWR0
aCkgewogICAgICAgICAgICAgbG9naWNhbFRvcE9mZnNldCArPSBtaW4oaGVpZ2h0UmVtYWluaW5n
TGVmdCwgaGVpZ2h0UmVtYWluaW5nUmlnaHQpOwotICAgICAgICAgICAgZmxvYXRMb2dpY2FsTGVm
dCA9IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsTGVm
dE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdMZWZ0KTsKKyAgICAgICAgICAgIGZsb2F0
TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNldCwg
bG9naWNhbExlZnRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nTGVmdCwgMCwgU2hhcGVP
dXRzaWRlRmxvYXRCb3VuZGluZ0JveE9mZnNldCk7CiAgICAgICAgICAgICBpZiAoaW5zaWRlRmxv
d1RocmVhZCkgewogICAgICAgICAgICAgICAgIC8vIEhhdmUgdG8gcmUtZXZhbHVhdGUgYWxsIG9m
IG91ciBvZmZzZXRzLCBzaW5jZSB0aGV5IG1heSBoYXZlIGNoYW5nZWQuCiAgICAgICAgICAgICAg
ICAgbG9naWNhbFJpZ2h0T2Zmc2V0ID0gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudChsb2dp
Y2FsVG9wT2Zmc2V0KTsgLy8gQ29uc3RhbnQgcGFydCBvZiByaWdodCBvZmZzZXQuCkBAIC00MDM5
LDEwICs0MDM5LDEwIEBAIExheW91dFBvaW50IFJlbmRlckJsb2NrOjpjb21wdXRlTG9naWNhbExv
Y2F0aW9uRm9yRmxvYXQoY29uc3QgRmxvYXRpbmdPYmplY3QqIGZsCiAgICAgfSBlbHNlIHsKICAg
ICAgICAgTGF5b3V0VW5pdCBoZWlnaHRSZW1haW5pbmdMZWZ0ID0gMTsKICAgICAgICAgTGF5b3V0
VW5pdCBoZWlnaHRSZW1haW5pbmdSaWdodCA9IDE7Ci0gICAgICAgIGZsb2F0TG9naWNhbExlZnQg
PSBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxSaWdo
dE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdSaWdodCk7Ci0gICAgICAgIHdoaWxlIChm
bG9hdExvZ2ljYWxMZWZ0IC0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZz
ZXQsIGxvZ2ljYWxMZWZ0T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ0xlZnQpIDwgZmxv
YXRMb2dpY2FsV2lkdGgpIHsKKyAgICAgICAgZmxvYXRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxSaWdo
dE9mZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbFJpZ2h0T2Zmc2V0LCBmYWxz
ZSwgJmhlaWdodFJlbWFpbmluZ1JpZ2h0LCAwLCBTaGFwZU91dHNpZGVGbG9hdEJvdW5kaW5nQm94
T2Zmc2V0KTsKKyAgICAgICAgd2hpbGUgKGZsb2F0TG9naWNhbExlZnQgLSBsb2dpY2FsTGVmdE9m
ZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbExlZnRPZmZzZXQsIGZhbHNlLCAm
aGVpZ2h0UmVtYWluaW5nTGVmdCwgMCwgU2hhcGVPdXRzaWRlRmxvYXRCb3VuZGluZ0JveE9mZnNl
dCkgPCBmbG9hdExvZ2ljYWxXaWR0aCkgewogICAgICAgICAgICAgbG9naWNhbFRvcE9mZnNldCAr
PSBtaW4oaGVpZ2h0UmVtYWluaW5nTGVmdCwgaGVpZ2h0UmVtYWluaW5nUmlnaHQpOwotICAgICAg
ICAgICAgZmxvYXRMb2dpY2FsTGVmdCA9IGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUobG9naWNh
bFRvcE9mZnNldCwgbG9naWNhbFJpZ2h0T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ1Jp
Z2h0KTsKKyAgICAgICAgICAgIGZsb2F0TG9naWNhbExlZnQgPSBsb2dpY2FsUmlnaHRPZmZzZXRG
b3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxSaWdodE9mZnNldCwgZmFsc2UsICZoZWln
aHRSZW1haW5pbmdSaWdodCwgMCwgU2hhcGVPdXRzaWRlRmxvYXRCb3VuZGluZ0JveE9mZnNldCk7
CiAgICAgICAgICAgICBpZiAoaW5zaWRlRmxvd1RocmVhZCkgewogICAgICAgICAgICAgICAgIC8v
IEhhdmUgdG8gcmUtZXZhbHVhdGUgYWxsIG9mIG91ciBvZmZzZXRzLCBzaW5jZSB0aGV5IG1heSBo
YXZlIGNoYW5nZWQuCiAgICAgICAgICAgICAgICAgbG9naWNhbFJpZ2h0T2Zmc2V0ID0gbG9naWNh
bFJpZ2h0T2Zmc2V0Rm9yQ29udGVudChsb2dpY2FsVG9wT2Zmc2V0KTsgLy8gQ29uc3RhbnQgcGFy
dCBvZiByaWdodCBvZmZzZXQuCkBAIC00MzMxLDcgKzQzMzEsNyBAQCBMYXlvdXRVbml0IFJlbmRl
ckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KFJlbmRlclJlZ2lvbiogcmVnaW9u
LCBMYXlvdQogICAgIHJldHVybiBsb2dpY2FsUmlnaHRPZmZzZXQgLSAobG9naWNhbFdpZHRoKCkg
LSAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJveFJlY3QubWF4WCgpIDogYm94UmVjdC5t
YXhZKCkpKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRG
b3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBmaXhlZE9mZnNldCwgYm9v
bCBhcHBseVRleHRJbmRlbnQsIExheW91dFVuaXQqIGhlaWdodFJlbWFpbmluZywgTGF5b3V0VW5p
dCBsb2dpY2FsSGVpZ2h0KSBjb25zdAorTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExl
ZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0VW5pdCBmaXhlZE9m
ZnNldCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExheW91dFVuaXQqIGhlaWdodFJlbWFpbmluZywg
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBTaGFwZU91dHNpZGVGbG9hdE9mZnNldE1vZGUgb2Zm
c2V0TW9kZSkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGxlZnQgPSBmaXhlZE9mZnNldDsKICAg
ICBpZiAobV9mbG9hdGluZ09iamVjdHMgJiYgbV9mbG9hdGluZ09iamVjdHMtPmhhc0xlZnRPYmpl
Y3RzKCkpIHsKQEAgLTQzNDIsNyArNDM0Miw4IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6Omxv
Z2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuCiAg
ICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRGbG9hdHNUcmVlKCkuYWxsT3ZlcmxhcHNX
aXRoQWRhcHRlcihhZGFwdGVyKTsKIAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKLSAgICAg
ICAgaWYgKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQgPSBhZGFwdGVyLmxhc3RGbG9h
dCgpKSB7CisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQgPSBhZGFwdGVy
Lmxhc3RGbG9hdCgpOworICAgICAgICBpZiAob2Zmc2V0TW9kZSA9PSBTaGFwZU91dHNpZGVGbG9h
dFNoYXBlT2Zmc2V0ICYmIGxhc3RGbG9hdCkgewogICAgICAgICAgICAgaWYgKEV4Y2x1c2lvblNo
YXBlT3V0c2lkZUluZm8qIHNoYXBlT3V0c2lkZSA9IGxhc3RGbG9hdC0+cmVuZGVyZXIoKS0+ZXhj
bHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CiAgICAgICAgICAgICAgICAgc2hhcGVPdXRzaWRl
LT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxvZ2ljYWxUb3AgLSBsb2dpY2FsVG9wRm9yRmxvYXQo
bGFzdEZsb2F0KSArIHNoYXBlT3V0c2lkZS0+c2hhcGVMb2dpY2FsVG9wKCksIGxvZ2ljYWxIZWln
aHQpOwogICAgICAgICAgICAgICAgIGxlZnQgKz0gc2hhcGVPdXRzaWRlLT5yaWdodFNlZ21lbnRT
aGFwZUJvdW5kaW5nQm94RGVsdGEoKTsKQEAgLTQzODcsNyArNDM4OCw3IEBAIExheW91dFVuaXQg
UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxU
b3AsIExheW91dFVuCiAgICAgcmV0dXJuIGxlZnQ7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQmxv
Y2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlv
dXRVbml0IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5VGV4dEluZGVudCwgTGF5b3V0VW5pdCogaGVp
Z2h0UmVtYWluaW5nLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQpIGNvbnN0CitMYXlvdXRVbml0
IFJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNh
bFRvcCwgTGF5b3V0VW5pdCBmaXhlZE9mZnNldCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExheW91
dFVuaXQqIGhlaWdodFJlbWFpbmluZywgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBTaGFwZU91
dHNpZGVGbG9hdE9mZnNldE1vZGUgb2Zmc2V0TW9kZSkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0
IHJpZ2h0ID0gZml4ZWRPZmZzZXQ7CiAgICAgaWYgKG1fZmxvYXRpbmdPYmplY3RzICYmIG1fZmxv
YXRpbmdPYmplY3RzLT5oYXNSaWdodE9iamVjdHMoKSkgewpAQCAtNDM5OSw3ICs0NDAwLDggQEAg
TGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRV
bml0IGxvZ2ljYWxUb3AsIExheW91dFUKICAgICAgICAgbV9mbG9hdGluZ09iamVjdHMtPnBsYWNl
ZEZsb2F0c1RyZWUoKS5hbGxPdmVybGFwc1dpdGhBZGFwdGVyKGFkYXB0ZXIpOwogCiAjaWYgRU5B
QkxFKENTU19FWENMVVNJT05TKQotICAgICAgICBpZiAoY29uc3QgRmxvYXRpbmdPYmplY3QqIGxh
c3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0KCkpIHsKKyAgICAgICAgY29uc3QgRmxvYXRpbmdP
YmplY3QqIGxhc3RGbG9hdCA9IGFkYXB0ZXIubGFzdEZsb2F0KCk7CisgICAgICAgIGlmIChvZmZz
ZXRNb2RlID09IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQgJiYgbGFzdEZsb2F0KSB7CiAg
ICAgICAgICAgICBpZiAoRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlID0g
bGFzdEZsb2F0LT5yZW5kZXJlcigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCkpIHsKICAg
ICAgICAgICAgICAgICBzaGFwZU91dHNpZGUtPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobG9naWNh
bFRvcCAtIGxvZ2ljYWxUb3BGb3JGbG9hdChsYXN0RmxvYXQpICsgc2hhcGVPdXRzaWRlLT5zaGFw
ZUxvZ2ljYWxUb3AoKSwgbG9naWNhbEhlaWdodCk7CiAgICAgICAgICAgICAgICAgcmlnaHRGbG9h
dE9mZnNldCArPSBzaGFwZU91dHNpZGUtPmxlZnRTZWdtZW50U2hhcGVCb3VuZGluZ0JveERlbHRh
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDI4ZjUxYmU1NDFm
MTRmNjBkOTMwODI5MzBhOGUzMDMzZjU4OWM5ZDIuLjBmYWUxYmFlYzdmOGZmNzU4ZmJjMGI4YWVh
ODZmZDJhYTM5ZDNkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBA
IC03MSw2ICs3MSw3IEBAIHR5cGVkZWYgVmVjdG9yPFdvcmRNZWFzdXJlbWVudCwgNjQ+IFdvcmRN
ZWFzdXJlbWVudHM7CiAKIGVudW0gQ2FyZXRUeXBlIHsgQ3Vyc29yQ2FyZXQsIERyYWdDYXJldCB9
OwogZW51bSBDb250YWluaW5nQmxvY2tTdGF0ZSB7IE5ld0NvbnRhaW5pbmdCbG9jaywgU2FtZUNv
bnRhaW5pbmdCbG9jayB9OworZW51bSBTaGFwZU91dHNpZGVGbG9hdE9mZnNldE1vZGUgeyBTaGFw
ZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0LCBTaGFwZU91dHNpZGVGbG9hdEJvdW5kaW5nQm94T2Zm
c2V0IH07CiAKIGVudW0gVGV4dFJ1bkZsYWcgewogICAgIERlZmF1bHRUZXh0UnVuRmxhZ3MgPSAw
LApAQCAtMTcwLDEzICsxNzEsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbWF4PExheW91
dFVuaXQ+KDAsIGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUocG9zaXRpb24sIHNob3VsZEluZGVu
dFRleHQsIHJlZ2lvbiwgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSwgbG9naWNhbEhl
aWdodCkKICAgICAgICAgICAgIC0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBz
aG91bGRJbmRlbnRUZXh0LCByZWdpb24sIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2Us
IGxvZ2ljYWxIZWlnaHQpKTsKICAgICB9Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRPZmZz
ZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4dCwgUmVu
ZGVyUmVnaW9uKiByZWdpb24sIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0
UGFnZSwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCkgY29uc3QgCisgICAgTGF5b3V0VW5p
dCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hv
dWxkSW5kZW50VGV4dCwgUmVuZGVyUmVnaW9uKiByZWdpb24sIExheW91dFVuaXQgb2Zmc2V0RnJv
bUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCwgU2hh
cGVPdXRzaWRlRmxvYXRPZmZzZXRNb2RlIG9mZnNldE1vZGUgPSBTaGFwZU91dHNpZGVGbG9hdFNo
YXBlT2Zmc2V0KSBjb25zdCAKICAgICB7Ci0gICAgICAgIHJldHVybiBsb2dpY2FsUmlnaHRPZmZz
ZXRGb3JMaW5lKHBvc2l0aW9uLCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KHJlZ2lvbiwg
b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSksIHNob3VsZEluZGVudFRleHQsIDAsIGxv
Z2ljYWxIZWlnaHQpOworICAgICAgICByZXR1cm4gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShw
b3NpdGlvbiwgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudChyZWdpb24sIG9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UpLCBzaG91bGRJbmRlbnRUZXh0LCAwLCBsb2dpY2FsSGVpZ2h0
LCBvZmZzZXRNb2RlKTsKICAgICB9Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldEZv
ckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0LCBSZW5kZXJS
ZWdpb24qIHJlZ2lvbiwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdl
LCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwKSBjb25zdCAKKyAgICBMYXlvdXRVbml0IGxv
Z2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIHNob3VsZElu
ZGVudFRleHQsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdFBhZ2UsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDAsIFNoYXBlT3V0
c2lkZUZsb2F0T2Zmc2V0TW9kZSBvZmZzZXRNb2RlID0gU2hhcGVPdXRzaWRlRmxvYXRTaGFwZU9m
ZnNldCkgY29uc3QgCiAgICAgewotICAgICAgICByZXR1cm4gbG9naWNhbExlZnRPZmZzZXRGb3JM
aW5lKHBvc2l0aW9uLCBsb2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQocmVnaW9uLCBvZmZzZXRG
cm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbG9naWNhbEhl
aWdodCk7CisgICAgICAgIHJldHVybiBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUocG9zaXRpb24s
IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudChyZWdpb24sIG9mZnNldEZyb21Mb2dpY2FsVG9w
T2ZGaXJzdFBhZ2UpLCBzaG91bGRJbmRlbnRUZXh0LCAwLCBsb2dpY2FsSGVpZ2h0LCBvZmZzZXRN
b2RlKTsKICAgICB9CiAgICAgTGF5b3V0VW5pdCBzdGFydE9mZnNldEZvckxpbmUoTGF5b3V0VW5p
dCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0LCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwg
TGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlLCBMYXlvdXRVbml0IGxv
Z2ljYWxIZWlnaHQgPSAwKSBjb25zdAogICAgIHsKQEAgLTE5MywxMyArMTk0LDEzIEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgICAgIHJldHVybiBhdmFpbGFibGVMb2dpY2FsV2lkdGhGb3JMaW5lKHBv
c2l0aW9uLCBzaG91bGRJbmRlbnRUZXh0LCByZWdpb25BdEJsb2NrT2Zmc2V0KHBvc2l0aW9uKSwg
b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpLCBsb2dpY2FsSGVpZ2h0KTsKICAgICB9
Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9z
aXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4dCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0g
MCkgY29uc3QgCisgICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91
dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4dCwgTGF5b3V0VW5pdCBsb2dpY2Fs
SGVpZ2h0ID0gMCwgU2hhcGVPdXRzaWRlRmxvYXRPZmZzZXRNb2RlIG9mZnNldE1vZGUgPSBTaGFw
ZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0KSBjb25zdCAKICAgICB7Ci0gICAgICAgIHJldHVybiBs
b2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JD
b250ZW50KHBvc2l0aW9uKSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbG9naWNhbEhlaWdodCk7Cisg
ICAgICAgIHJldHVybiBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBsb2dpY2Fs
UmlnaHRPZmZzZXRGb3JDb250ZW50KHBvc2l0aW9uKSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbG9n
aWNhbEhlaWdodCwgb2Zmc2V0TW9kZSk7CiAgICAgfQotICAgIExheW91dFVuaXQgbG9naWNhbExl
ZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4
dCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCkgY29uc3QgCisgICAgTGF5b3V0VW5pdCBs
b2dpY2FsTGVmdE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJ
bmRlbnRUZXh0LCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwLCBTaGFwZU91dHNpZGVGbG9h
dE9mZnNldE1vZGUgb2Zmc2V0TW9kZSA9IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQpIGNv
bnN0IAogICAgIHsKLSAgICAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShwb3Np
dGlvbiwgbG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KHBvc2l0aW9uKSwgc2hvdWxkSW5kZW50
VGV4dCwgMCwgbG9naWNhbEhlaWdodCk7CisgICAgICAgIHJldHVybiBsb2dpY2FsTGVmdE9mZnNl
dEZvckxpbmUocG9zaXRpb24sIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudChwb3NpdGlvbiks
IHNob3VsZEluZGVudFRleHQsIDAsIGxvZ2ljYWxIZWlnaHQsIG9mZnNldE1vZGUpOwogICAgIH0K
ICAgICBMYXlvdXRVbml0IHBpeGVsU25hcHBlZExvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShMYXlv
dXRVbml0IHBvc2l0aW9uLCBib29sIHNob3VsZEluZGVudFRleHQsIExheW91dFVuaXQgbG9naWNh
bEhlaWdodCA9IDApIGNvbnN0IAogICAgIHsKQEAgLTUxOCw4ICs1MTksOCBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIHBhaW50Q2hpbGRyZW4oUGFpbnRJbmZvJiBmb3JTZWxmLCBjb25z
dCBMYXlvdXRQb2ludCYsIFBhaW50SW5mbyYgZm9yQ2hpbGQsIGJvb2wgdXNlUHJpbnRSZWN0KTsK
ICAgICBib29sIHBhaW50Q2hpbGQoUmVuZGVyQm94KiwgUGFpbnRJbmZvJiBmb3JTZWxmLCBjb25z
dCBMYXlvdXRQb2ludCYsIFBhaW50SW5mbyYgZm9yQ2hpbGQsIGJvb2wgdXNlUHJpbnRSZWN0KTsK
ICAgIAotICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0
IHBvc2l0aW9uLCBMYXlvdXRVbml0IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5VGV4dEluZGVudCwg
TGF5b3V0VW5pdCogbG9naWNhbEhlaWdodFJlbWFpbmluZyA9IDAsIExheW91dFVuaXQgbG9naWNh
bEhlaWdodCA9IDApIGNvbnN0OwotICAgIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXRGb3JM
aW5lKExheW91dFVuaXQgcG9zaXRpb24sIExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBw
bHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBsb2dpY2FsSGVpZ2h0UmVtYWluaW5nID0gMCwgTGF5
b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBsb2dpY2Fs
UmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIExheW91dFVuaXQgZml4ZWRP
ZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBsb2dpY2FsSGVpZ2h0UmVt
YWluaW5nID0gMCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCwgU2hhcGVPdXRzaWRlRmxv
YXRPZmZzZXRNb2RlID0gU2hhcGVPdXRzaWRlRmxvYXRTaGFwZU9mZnNldCkgY29uc3Q7CisgICAg
TGF5b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwg
TGF5b3V0VW5pdCBmaXhlZE9mZnNldCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExheW91dFVuaXQq
IGxvZ2ljYWxIZWlnaHRSZW1haW5pbmcgPSAwLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAw
LCBTaGFwZU91dHNpZGVGbG9hdE9mZnNldE1vZGUgPSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zm
c2V0KSBjb25zdDsKIAogICAgIHZpcnR1YWwgRVRleHRBbGlnbiB0ZXh0QWxpZ25tZW50Rm9yTGlu
ZShib29sIGVuZHNXaXRoU29mdEJyZWFrKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0
SW5saW5lRGlyZWN0aW9uTGluZUJvdW5kcyhpbnQgLyogZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3Vu
dCAqLywgZmxvYXQmIC8qIGxvZ2ljYWxMZWZ0ICovLCBmbG9hdCYgLyogbG9naWNhbFdpZHRoICov
KSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHAKaW5kZXggZWJiOGJkNTRiYTMyODVmMjc1MDc1MWNkYmI0MGRhZTA2N2I2
NTc2Yi4uYmE2OGQ4NDNmNmQ4OGY4MzhkYWMxMWE0ZDQ1MTM1YTQ5YTNhZGMyZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAg
LTE4OCw2ICsxODgsMjUgQEAgaW5saW5lIHZvaWQgTGluZVdpZHRoOjpzaHJpbmtBdmFpbGFibGVX
aWR0aEZvck5ld0Zsb2F0SWZOZWVkZWQoUmVuZGVyQmxvY2s6OkZsb2EKICAgICAgICAgcmV0dXJu
OwogCiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgIC8vIFdoZW4gZmxvYXRzIHdpdGgg
c2hhcGUgb3V0c2lkZSBhcmUgc3RhY2tlZCwgdGhlIGZsb2F0cyBhcmUgcG9zaXRpb25lZCBiYXNl
ZCBvbiB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSBzaGFwZSwKKyAgICAvLyBub3QgdGhlIHNoYXBl
J3MgY29udG91ci4gU2luY2Ugd2UgY29tcHV0ZWQgdGhlIHdpZHRoIGJhc2VkIG9uIHRoZSBzaGFw
ZSBjb250b3VyIHdoZW4gd2UgYWRkZWQgdGhlIGZsb2F0LAorICAgIC8vIHdoZW4gd2UgYWRkIGEg
c3Vic2VxdWVudCBmbG9hdCBvbiB0aGUgc2FtZSBsaW5lLCB3ZSBuZWVkIHRvIHVuZG8gdGhlIHNo
YXBlIGRlbHRhIGluIG9yZGVyIHRvIHBvc2l0aW9uCisgICAgLy8gYmFzZWQgb24gdGhlIGJvdW5k
aW5nIGJveC4gSW4gb3JkZXIgdG8gZG8gdGhpcywgd2UgbmVlZCB0byB3YWxrIGJhY2sgdGhyb3Vn
aCB0aGUgZmxvYXRpbmcgb2JqZWN0IGxpc3QgdG8gZmluZAorICAgIC8vIHRoZSBmaXJzdCBwcmV2
aW91cyBmbG9hdCB0aGF0IGlzIG9uIHRoZSBzYW1lIHNpZGUgYXMgb3VyIG5ld0Zsb2F0LgorICAg
IEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8qIGxhc3RTaGFwZU91dHNpZGVJbmZvID0gMDsKKyAg
ICBjb25zdCBSZW5kZXJCbG9jazo6RmxvYXRpbmdPYmplY3RTZXQmIGZsb2F0aW5nT2JqZWN0U2V0
ID0gbV9ibG9jay0+bV9mbG9hdGluZ09iamVjdHMtPnNldCgpOworICAgIFJlbmRlckJsb2NrOjpG
bG9hdGluZ09iamVjdFNldEl0ZXJhdG9yIGl0ID0gZmxvYXRpbmdPYmplY3RTZXQuZW5kKCk7Cisg
ICAgUmVuZGVyQmxvY2s6OkZsb2F0aW5nT2JqZWN0U2V0SXRlcmF0b3IgYmVnaW4gPSBmbG9hdGlu
Z09iamVjdFNldC5iZWdpbigpOworICAgIGZvciAoLS1pdDsgaXQgIT0gYmVnaW47IC0taXQpIHsK
KyAgICAgICAgUmVuZGVyQmxvY2s6OkZsb2F0aW5nT2JqZWN0KiBsYXN0RmxvYXQgPSAqaXQ7Cisg
ICAgICAgIGlmIChsYXN0RmxvYXQgIT0gbmV3RmxvYXQgJiYgbGFzdEZsb2F0LT50eXBlKCkgPT0g
bmV3RmxvYXQtPnR5cGUoKSkgeworICAgICAgICAgICAgbGFzdFNoYXBlT3V0c2lkZUluZm8gPSBs
YXN0RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKTsKKyAgICAg
ICAgICAgIGlmIChsYXN0U2hhcGVPdXRzaWRlSW5mbykKKyAgICAgICAgICAgICAgICBsYXN0U2hh
cGVPdXRzaWRlSW5mby0+Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShtX2Jsb2NrLT5sb2dpY2FsSGVp
Z2h0KCkgLSBtX2Jsb2NrLT5sb2dpY2FsVG9wRm9yRmxvYXQobGFzdEZsb2F0KSArIGxhc3RTaGFw
ZU91dHNpZGVJbmZvLT5zaGFwZUxvZ2ljYWxUb3AoKSwgbG9naWNhbEhlaWdodEZvckxpbmUobV9i
bG9jaywgbV9pc0ZpcnN0TGluZSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICB9CisKICAgICBFeGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGVJbmZvID0g
bmV3RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8oKTsKICAgICBp
ZiAoc2hhcGVPdXRzaWRlSW5mbykKICAgICAgICAgc2hhcGVPdXRzaWRlSW5mby0+Y29tcHV0ZVNl
Z21lbnRzRm9yTGluZShtX2Jsb2NrLT5sb2dpY2FsSGVpZ2h0KCkgLSBtX2Jsb2NrLT5sb2dpY2Fs
VG9wRm9yRmxvYXQobmV3RmxvYXQpICsgc2hhcGVPdXRzaWRlSW5mby0+c2hhcGVMb2dpY2FsVG9w
KCksIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKG1fYmxvY2ssIG1faXNGaXJzdExpbmUpKTsKQEAgLTE5
Niw2ICsyMTUsOCBAQCBpbmxpbmUgdm9pZCBMaW5lV2lkdGg6OnNocmlua0F2YWlsYWJsZVdpZHRo
Rm9yTmV3RmxvYXRJZk5lZWRlZChSZW5kZXJCbG9jazo6RmxvYQogICAgIGlmIChuZXdGbG9hdC0+
dHlwZSgpID09IFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdDo6RmxvYXRMZWZ0KSB7CiAgICAg
ICAgIGZsb2F0IG5ld0xlZnQgPSBtX2Jsb2NrLT5sb2dpY2FsUmlnaHRGb3JGbG9hdChuZXdGbG9h
dCk7CiAjaWYgRU5BQkxFKENTU19FWENMVVNJT05TKQorICAgICAgICBpZiAobGFzdFNoYXBlT3V0
c2lkZUluZm8pCisgICAgICAgICAgICBuZXdMZWZ0IC09IGxhc3RTaGFwZU91dHNpZGVJbmZvLT5y
aWdodFNlZ21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGEoKTsKICAgICAgICAgaWYgKHNoYXBlT3V0
c2lkZUluZm8pCiAgICAgICAgICAgICBuZXdMZWZ0ICs9IHNoYXBlT3V0c2lkZUluZm8tPnJpZ2h0
U2VnbWVudFNoYXBlQm91bmRpbmdCb3hEZWx0YSgpOwogI2VuZGlmCkBAIC0yMDYsNiArMjI3LDgg
QEAgaW5saW5lIHZvaWQgTGluZVdpZHRoOjpzaHJpbmtBdmFpbGFibGVXaWR0aEZvck5ld0Zsb2F0
SWZOZWVkZWQoUmVuZGVyQmxvY2s6OkZsb2EKICAgICB9IGVsc2UgewogICAgICAgICBmbG9hdCBu
ZXdSaWdodCA9IG1fYmxvY2stPmxvZ2ljYWxMZWZ0Rm9yRmxvYXQobmV3RmxvYXQpOwogI2lmIEVO
QUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgaWYgKGxhc3RTaGFwZU91dHNpZGVJbmZvKQor
ICAgICAgICAgICAgbmV3UmlnaHQgLT0gbGFzdFNoYXBlT3V0c2lkZUluZm8tPmxlZnRTZWdtZW50
U2hhcGVCb3VuZGluZ0JveERlbHRhKCk7CiAgICAgICAgIGlmIChzaGFwZU91dHNpZGVJbmZvKQog
ICAgICAgICAgICAgbmV3UmlnaHQgKz0gc2hhcGVPdXRzaWRlSW5mby0+bGVmdFNlZ21lbnRTaGFw
ZUJvdW5kaW5nQm94RGVsdGEoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDczMDVmZjA3YTY0NDdkMDNmNmMx
MzBjOWRiNTZlZTZkNzliNDVkZjUuLjNkN2MzYjg5MGYxNWQ4MDY5ZDMzNzk0MWE0OTdmYzNhNTNj
OWM4ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wNC0wOCAgQmVtIEpvbmVzLUJleSAg
PGJqb25lc2JlQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIFByb3Blcmx5
IHBvc2l0aW9uIG11bHRpcGxlIHN0YWNrZWQgZmxvYXRzIHdpdGggbm9uIHJlY3Rhbmd1bGFyIHNo
YXBlIG91dHNpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMDM3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3RzIGRlbW9uc3RyYXRpbmcgc3RhY2tlZCBmbG9hdHMgcHJvcGVybHkgd29ya2luZyB3
aXRoIHNoYXBlLW91dHNpZGUuCisKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0
c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc3RhY2tlZC1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMtc3RhY2tlZC5odG1sOiBBZGRlZC4KKwogMjAxMy0wNC0wOCAgTWF4
IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE0
NzUwMik6IEFuaW1hdGlvbnMgb2YgQ0EgZmlsdGVycyBicm9rZW4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy1zdGFja2VkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lv
bnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc3RhY2tlZC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4MmU0N2NhMzEzODkxNmFhMDVmMWIzY2MxYmRiYmU4Yzdl
YWNhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc3RhY2tlZC1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
IDxzdHlsZT4KKyAgICAuY29udGFpbmVyIHsKKyAgICAgIHdpZHRoOiA1MDBweDsKKyAgICAgIGZv
bnQ6IDQwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOworICAgIH0KKyAgICAubGVmdCB7CisgICAgICBw
b3NpdGlvbjogcmVsYXRpdmU7CisgICAgICBmbG9hdDogbGVmdDsKKyAgICAgIGNsZWFyOiBsZWZ0
OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKyAgICAudHJpYW5nbGUtbGVmdDpiZWZvcmUg
eworICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
ICBjb250ZW50OiAnICc7CisgICAgICB6LWluZGV4OiAtMTsKKyAgICAgIHRvcDogMHB4OworICAg
ICAgbGVmdDogMHB4OworICAgICAgd2lkdGg6IDA7IGhlaWdodDogMDsKKyAgICAgIGJhY2tncm91
bmQtY29sb3I6IHRyYW5zcGFyZW50OworICAgICAgYm9yZGVyLXRvcDogMTAwcHggc29saWQgdHJh
bnNwYXJlbnQ7CisgICAgICBib3JkZXItbGVmdDogMTAwcHggc29saWQgcmdiYSgwLCAwLCAyNTUs
IDAuNSk7CisgICAgfQorICAgIC50cmlhbmdsZS1sZWZ0MjpiZWZvcmUgeworICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICBjb250ZW50OiAnICc7
CisgICAgICB6LWluZGV4OiAtMTsKKyAgICAgIHRvcDogMHB4OworICAgICAgbGVmdDogMTAwcHg7
CisgICAgICB3aWR0aDogMDsgaGVpZ2h0OiAwOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJh
bnNwYXJlbnQ7CisgICAgICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDsKKyAg
ICAgIGJvcmRlci1sZWZ0OiAxMDBweCBzb2xpZCByZ2JhKDAsIDAsIDI1NSwgMC41KTsKKyAgICB9
CisgICAgLnJpZ2h0IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIGZsb2F0OiBy
aWdodDsKKyAgICAgIGNsZWFyOiByaWdodDsKKyAgICAgIGhlaWdodDogNDBweDsKKyAgICB9Cisg
ICAgLnRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAgICAgIHotaW5kZXg6
IC0xOworICAgICAgdG9wOiAwcHg7CisgICAgICByaWdodDogMHB4OworICAgICAgd2lkdGg6IDA7
IGhlaWdodDogMDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OworICAgICAg
Ym9yZGVyLXRvcDogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7CisgICAgICBib3JkZXItcmlnaHQ6
IDEwMHB4IHNvbGlkIHJnYmEoMCwgMCwgMjU1LCAwLjUpOworICAgIH0KKyAgICAudHJpYW5nbGUt
cmlnaHQyOmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAgICAgIHotaW5kZXg6IC0xOworICAgICAg
dG9wOiAwcHg7CisgICAgICByaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMDsgaGVpZ2h0OiAw
OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgICBib3JkZXItdG9w
OiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRlci1yaWdodDogMTAwcHggc29s
aWQgcmdiYSgwLCAwLCAyNTUsIDAuNSk7CisgICAgfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgIDxoMT5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDM3MiI+MTEwMzcyPC9hPiAtIFtDU1MgRXhjbHVzaW9uc10gUHJvcGVybHkgcG9z
aXRpb24gbXVsdGlwbGUgc3RhY2tlZCBmbG9hdHMgd2l0aCBub24gcmVjdGFuZ3VsYXIgc2hhcGUg
b3V0c2lkZTwvaDE+CisgIDxoMj5UaGVyZSBzaG91bGQgYmUgdHdvIHRyaWFuZ2VzIG9uIHRoZSBs
ZWZ0LCBhbmQgb25lIG9uIHRoZSByaWdodC4gTm9uZSBvZgorICAgIHRoZSB0cmlhbmdsZXMgc2hv
dWQgb3ZlcmxhcCwgYW5kIHRoZSBibGFjayBib3hlcyBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRy
aWFuZ2xlcyBvbiB0aGUgbGVmdC48L2gyPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAg
IDxkaXYgc3R5bGU9IndpZHRoOjQwcHg7IiBjbGFzcz0ibGVmdCB0cmlhbmdsZS1sZWZ0Ij48L2Rp
dj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsgd2lkdGg6IDEw
MHB4OyIgY2xhc3M9InJpZ2h0IHRyaWFuZ2xlLWxlZnQiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9
IndpZHRoOjgwcHg7IiBjbGFzcz0ibGVmdCI+PC9kaXY+CisgICAgWCBYIFggWAorICAgIDxkaXYg
c3R5bGU9IndpZHRoOjE0MHB4OyIgY2xhc3M9ImxlZnQgdHJpYW5nbGUtbGVmdDIiPjwvZGl2Pgor
ICAgIDxkaXYgc3R5bGU9IndpZHRoOjE4MHB4OyIgY2xhc3M9ImxlZnQiPjwvZGl2PgorICAgIDxk
aXYgc3R5bGU9IndpZHRoOjIwMHB4OyIgY2xhc3M9ImxlZnQiPjwvZGl2PgorICAgIFggWCBYIFgK
KyAgICBYIFggWCBYCisgICAgWCBYIFggWAorICAgIFggWCBYIFggWCBYCisgIDwvZGl2PgorICA8
aDI+VGhlcmUgc2hvdWxkIGJlIHR3byB0cmlhbmdlcyBvbiB0aGUgcmlnaHQsIGFuZCBvbmUgb24g
dGhlIGxlZnQuIE5vbmUgb2YKKyAgICB0aGUgdHJpYW5nbGVzIHNob3VkIG92ZXJsYXAsIGFuZCB0
aGUgYmxhY2sgYm94ZXMgc2hvdWxkIHdyYXAgYXJvdW5kIHRoZSB0cmlhbmdsZXMgb24gdGhlIHJp
Z2h0LjwvaDI+CisgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0IiBjbGFzcz0iY29udGFp
bmVyIj4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDo0MHB4OyIgY2xhc3M9InJpZ2h0IHRyaWFuZ2xl
LXJpZ2h0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMDBw
eDsgd2lkdGg6IDEwMHB4OyIgY2xhc3M9ImxlZnQgdHJpYW5nbGUtcmlnaHQiPjwvZGl2PgorICAg
IDxkaXYgc3R5bGU9IndpZHRoOjgwcHg7IiBjbGFzcz0icmlnaHQiPjwvZGl2PgorICAgIFggWCBY
IFgKKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoxNDBweDsiIGNsYXNzPSJyaWdodCB0cmlhbmdsZS1y
aWdodDIiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9IndpZHRoOjE4MHB4OyIgY2xhc3M9InJpZ2h0
Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoyMDBweDsiIGNsYXNzPSJyaWdodCI+PC9k
aXY+CisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFggWCBYCisgICAgWCBYIFggWCBY
IFgKKyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMt
c3RhY2tlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxvYXRzLXN0YWNrZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYmQy
OTcwNjg0ZWJiMDRlMWVlZTdmZDkzNTQ3MWVhYjE4MmNjYzE5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91
dHNpZGUtZmxvYXRzLXN0YWNrZWQuaHRtbApAQCAtMCwwICsxLDgyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU0V4Y2x1c2lvbnNFbmFibGVk
KHRydWUpOworICA8L3NjcmlwdD4KKyAgPHN0eWxlPgorICAgIC5jb250YWluZXIgeworICAgICAg
d2lkdGg6IDUwMHB4OworICAgICAgZm9udDogNDBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAg
fQorICAgIC50cmlhbmdsZS1sZWZ0IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICBmbG9hdDogbGVmdDsK
KyAgICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigwIDAsIDAgMTAwJSwgMTAwJSAx
MDAlKTsKKyAgICB9CisgICAgLnRyaWFuZ2xlLWxlZnQ6YmVmb3JlIHsKKyAgICAgIGRpc3BsYXk6
IGJsb2NrOworICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgY29udGVudDogJyAnOwor
ICAgICAgei1pbmRleDogLTE7CisgICAgICB0b3A6IDBweDsKKyAgICAgIGxlZnQ6IDBweDsKKyAg
ICAgIHdpZHRoOiAwOyBoZWlnaHQ6IDA7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh
cmVudDsKKyAgICAgIGJvcmRlci10b3A6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50OworICAgICAg
Ym9yZGVyLWxlZnQ6IDEwMHB4IHNvbGlkIHJnYmEoMCwgMCwgMjU1LCAwLjUpOworICAgIH0KKyAg
ICAudHJpYW5nbGUtcmlnaHQgeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIGZsb2F0OiByaWdodDsKKyAg
ICAgIC13ZWJraXQtc2hhcGUtb3V0c2lkZTogcG9seWdvbigxMDAlIDAsIDEwMCUgMTAwJSwgMCUg
MTAwJSk7CisgICAgfQorICAgIC50cmlhbmdsZS1yaWdodDpiZWZvcmUgeworICAgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICBjb250ZW50OiAnICc7
CisgICAgICB6LWluZGV4OiAtMTsKKyAgICAgIHRvcDogMHB4OworICAgICAgbGVmdDogMHB4Owor
ICAgICAgd2lkdGg6IDA7IGhlaWdodDogMDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5z
cGFyZW50OworICAgICAgYm9yZGVyLXRvcDogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7CisgICAg
ICBib3JkZXItcmlnaHQ6IDEwMHB4IHNvbGlkIHJnYmEoMCwgMCwgMjU1LCAwLjUpOworICAgIH0K
KyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8aDE+QnVnIDxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTAzNzIiPjExMDM3MjwvYT4gLSBbQ1NT
IEV4Y2x1c2lvbnNdIFByb3Blcmx5IHBvc2l0aW9uIG11bHRpcGxlIHN0YWNrZWQgZmxvYXRzIHdp
dGggbm9uIHJlY3Rhbmd1bGFyIHNoYXBlIG91dHNpZGU8L2gxPgorICA8aDI+VGhlcmUgc2hvdWxk
IGJlIHR3byB0cmlhbmdlcyBvbiB0aGUgbGVmdCwgYW5kIG9uZSBvbiB0aGUgcmlnaHQuIE5vbmUg
b2YKKyAgICB0aGUgdHJpYW5nbGVzIHNob3VkIG92ZXJsYXAsIGFuZCB0aGUgYmxhY2sgYm94ZXMg
c2hvdWxkIHdyYXAgYXJvdW5kIHRoZSB0cmlhbmdsZXMgb24gdGhlIGxlZnQuPC9oMj4KKyAgPGRp
diBjbGFzcz0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJ0cmlhbmdsZS1sZWZ0Ij48L2Rp
dj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiIGNsYXNzPSJ0cmlh
bmdsZS1sZWZ0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBjbGFzcz0idHJpYW5nbGUt
bGVmdCI+PC9kaXY+CisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFggWCBYCisgICAg
WCBYIFggWCBYIFgKKyAgPC9kaXY+CisgIDxoMj5UaGVyZSBzaG91bGQgYmUgdHdvIHRyaWFuZ2Vz
IG9uIHRoZSByaWdodCwgYW5kIG9uZSBvbiB0aGUgbGVmdC4gTm9uZSBvZgorICAgIHRoZSB0cmlh
bmdsZXMgc2hvdWQgb3ZlcmxhcCwgYW5kIHRoZSBibGFjayBib3hlcyBzaG91bGQgd3JhcCBhcm91
bmQgdGhlIHRyaWFuZ2xlcyBvbiB0aGUgcmlnaHQuPC9oMj4KKyAgPGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogcmlnaHQiIGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InRyaWFuZ2xl
LXJpZ2h0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdCIg
Y2xhc3M9InRyaWFuZ2xlLXJpZ2h0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBjbGFz
cz0idHJpYW5nbGUtcmlnaHQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICBYIFggWCBYCisgICAg
WCBYIFggWAorICAgIFggWCBYIFggWCBYCisgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="219244"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197169</attachid>
            <date>2013-04-09 14:07:37 -0700</date>
            <delta_ts>2013-04-09 15:30:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110372-20130409140719.patch</filename>
            <type>text/plain</type>
            <size>24217</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU5NjVhMjQ3Yjg4NmI3
MGYyZWE3Yzg0ZDQ4NDE2MmQ0NjJjNzUxYi4uOWRlM2FlMzA3YmIxYTNkY2UxMGM0ZmQyZTRhMDEx
NmEyYjcyYjRhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA0LTA4ICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgRXhjbHVzaW9u
c10gUHJvcGVybHkgcG9zaXRpb24gbXVsdGlwbGUgc3RhY2tlZCBmbG9hdHMgd2l0aCBub24gcmVj
dGFuZ3VsYXIgc2hhcGUgb3V0c2lkZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEwMzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29u
LgorCisgICAgICAgIFN0YWNrZWQgZmxvYXRzIGdldCBwb3NpdGlvbmVkIGJhc2VkIG9uIHRoZSBi
b3VuZGluZyBib3ggb2YgdGhlIHNoYXBlLAorICAgICAgICBub3Qgb24gdGhlIHNoYXBlIGNvbnRv
dXJzIGl0c2VsZi4gVGhpcyBwYXRjaCBjYXVzZXMgdGhhdCB0byBoYXBwZW4uCisKKyAgICAgICAg
VGVzdDogZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUt
ZmxvYXRzLXN0YWNrZWQuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlTG9naWNhbExvY2F0aW9u
Rm9yRmxvYXQpOiBVc2UgdGhlCisgICAgICAgICAgICAiQm91bmRpbmdCb3hPZmZzZXQiIG1vZGUg
c28gdGhhdCB3ZSBjb21wdXRlIG9mZnNldHMgYmFzZWQgb24gdGhlIHNoYXBlCisgICAgICAgICAg
ICBib3VuZGluZyBib3hlcyBvZiBwcmV2aW91cyBmbG9hdHMsIG5vdCB0aGUgc2hhcGUgY29udG91
ci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsTGVmdE9mZnNldEZvckxp
bmUpOiBDaGVjayB0aGUKKyAgICAgICAgICAgIFNoYXBlT3V0c2lkZUZsb2F0T2Zmc2V0TW9kZSB0
byBkZXRlcm1pbmUgaWYgdGhlIG9mZnNldCBzaG91bGQgYmUKKyAgICAgICAgICAgIGFkanVzdGVk
IGZvciB0aGUgc2hhcGUgY29udG91ciBvciBub3QuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZSk6IERpdHRvLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2lj
YWxSaWdodE9mZnNldEZvckxpbmUpOiBBZGQgcGFyYW1ldGVyIGZvciBvZmZzZXQgbW9kZS4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUpOiBE
aXR0by4KKyAgICAgICAgKFJlbmRlckJsb2NrKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmVXaWR0aDo6c2hyaW5r
QXZhaWxhYmxlV2lkdGhGb3JOZXdGbG9hdElmTmVlZGVkKTogSWYgdGhlCisgICAgICAgICAgICBu
ZXcgZmxvYXQgaXMgYmVpbmcgYWRkZWQgb24gdG9wIG9mIGEgcHJldmlvdXMgZmxvYXQgb24gdGhl
IHNhbWUgbGluZSwKKyAgICAgICAgICAgIHVuZG8gdGhlIG9mZnNldCBmb3IgdGhlIHByZXZpb3Vz
IGZsb2F0J3Mgc2hhcGUgY29udG91ciBzbyB0aGF0IHdlCisgICAgICAgICAgICBwb3NpdGlvbiB0
aGUgbmV3IGZsb2F0IGJhc2VkIG9uIHRoZSBib3VuZGluZyBib3guCisKIDIwMTMtMDQtMDggIE1h
eCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIx
NDc1MDIpOiBBbmltYXRpb25zIG9mIENBIGZpbHRlcnMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA4NzkwMmFiMmYzNTU4NGUwNjgwNjcwZjAyYzNi
MTRiNDI4ODlmZDY0Li5kYTMyZGYzZDU1NzA5NGZhMTNhNjg5MTNlZjNmZGFlNWU5ZTBhYzZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTQwMjQsMTAgKzQw
MjQsMTAgQEAgTGF5b3V0UG9pbnQgUmVuZGVyQmxvY2s6OmNvbXB1dGVMb2dpY2FsTG9jYXRpb25G
b3JGbG9hdChjb25zdCBGbG9hdGluZ09iamVjdCogZmwKICAgICBpZiAoY2hpbGRCb3gtPnN0eWxl
KCktPmZsb2F0aW5nKCkgPT0gTGVmdEZsb2F0KSB7CiAgICAgICAgIExheW91dFVuaXQgaGVpZ2h0
UmVtYWluaW5nTGVmdCA9IDE7CiAgICAgICAgIExheW91dFVuaXQgaGVpZ2h0UmVtYWluaW5nUmln
aHQgPSAxOwotICAgICAgICBmbG9hdExvZ2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JM
aW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxMZWZ0T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJl
bWFpbmluZ0xlZnQpOwotICAgICAgICB3aGlsZSAobG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShs
b2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsUmlnaHRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWlu
aW5nUmlnaHQpIC0gZmxvYXRMb2dpY2FsTGVmdCA8IGZsb2F0TG9naWNhbFdpZHRoKSB7CisgICAg
ICAgIGZsb2F0TG9naWNhbExlZnQgPSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbFRv
cE9mZnNldCwgbG9naWNhbExlZnRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nTGVmdCwg
MCwgU2hhcGVPdXRzaWRlRmxvYXRCb3VuZGluZ0JveE9mZnNldCk7CisgICAgICAgIHdoaWxlIChs
b2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxSaWdodE9m
ZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdSaWdodCwgMCwgU2hhcGVPdXRzaWRlRmxvYXRC
b3VuZGluZ0JveE9mZnNldCkgLSBmbG9hdExvZ2ljYWxMZWZ0IDwgZmxvYXRMb2dpY2FsV2lkdGgp
IHsKICAgICAgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgKz0gbWluKGhlaWdodFJlbWFpbmluZ0xl
ZnQsIGhlaWdodFJlbWFpbmluZ1JpZ2h0KTsKLSAgICAgICAgICAgIGZsb2F0TG9naWNhbExlZnQg
PSBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUobG9naWNhbFRvcE9mZnNldCwgbG9naWNhbExlZnRP
ZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nTGVmdCk7CisgICAgICAgICAgICBmbG9hdExv
Z2ljYWxMZWZ0ID0gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxv
Z2ljYWxMZWZ0T2Zmc2V0LCBmYWxzZSwgJmhlaWdodFJlbWFpbmluZ0xlZnQsIDAsIFNoYXBlT3V0
c2lkZUZsb2F0Qm91bmRpbmdCb3hPZmZzZXQpOwogICAgICAgICAgICAgaWYgKGluc2lkZUZsb3dU
aHJlYWQpIHsKICAgICAgICAgICAgICAgICAvLyBIYXZlIHRvIHJlLWV2YWx1YXRlIGFsbCBvZiBv
dXIgb2Zmc2V0cywgc2luY2UgdGhleSBtYXkgaGF2ZSBjaGFuZ2VkLgogICAgICAgICAgICAgICAg
IGxvZ2ljYWxSaWdodE9mZnNldCA9IGxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQobG9naWNh
bFRvcE9mZnNldCk7IC8vIENvbnN0YW50IHBhcnQgb2YgcmlnaHQgb2Zmc2V0LgpAQCAtNDAzOSwx
MCArNDAzOSwxMCBAQCBMYXlvdXRQb2ludCBSZW5kZXJCbG9jazo6Y29tcHV0ZUxvZ2ljYWxMb2Nh
dGlvbkZvckZsb2F0KGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBmbAogICAgIH0gZWxzZSB7CiAgICAg
ICAgIExheW91dFVuaXQgaGVpZ2h0UmVtYWluaW5nTGVmdCA9IDE7CiAgICAgICAgIExheW91dFVu
aXQgaGVpZ2h0UmVtYWluaW5nUmlnaHQgPSAxOwotICAgICAgICBmbG9hdExvZ2ljYWxMZWZ0ID0g
bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsUmlnaHRP
ZmZzZXQsIGZhbHNlLCAmaGVpZ2h0UmVtYWluaW5nUmlnaHQpOwotICAgICAgICB3aGlsZSAoZmxv
YXRMb2dpY2FsTGVmdCAtIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShsb2dpY2FsVG9wT2Zmc2V0
LCBsb2dpY2FsTGVmdE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdMZWZ0KSA8IGZsb2F0
TG9naWNhbFdpZHRoKSB7CisgICAgICAgIGZsb2F0TG9naWNhbExlZnQgPSBsb2dpY2FsUmlnaHRP
ZmZzZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxSaWdodE9mZnNldCwgZmFsc2Us
ICZoZWlnaHRSZW1haW5pbmdSaWdodCwgMCwgU2hhcGVPdXRzaWRlRmxvYXRCb3VuZGluZ0JveE9m
ZnNldCk7CisgICAgICAgIHdoaWxlIChmbG9hdExvZ2ljYWxMZWZ0IC0gbG9naWNhbExlZnRPZmZz
ZXRGb3JMaW5lKGxvZ2ljYWxUb3BPZmZzZXQsIGxvZ2ljYWxMZWZ0T2Zmc2V0LCBmYWxzZSwgJmhl
aWdodFJlbWFpbmluZ0xlZnQsIDAsIFNoYXBlT3V0c2lkZUZsb2F0Qm91bmRpbmdCb3hPZmZzZXQp
IDwgZmxvYXRMb2dpY2FsV2lkdGgpIHsKICAgICAgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgKz0g
bWluKGhlaWdodFJlbWFpbmluZ0xlZnQsIGhlaWdodFJlbWFpbmluZ1JpZ2h0KTsKLSAgICAgICAg
ICAgIGZsb2F0TG9naWNhbExlZnQgPSBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKGxvZ2ljYWxU
b3BPZmZzZXQsIGxvZ2ljYWxSaWdodE9mZnNldCwgZmFsc2UsICZoZWlnaHRSZW1haW5pbmdSaWdo
dCk7CisgICAgICAgICAgICBmbG9hdExvZ2ljYWxMZWZ0ID0gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9y
TGluZShsb2dpY2FsVG9wT2Zmc2V0LCBsb2dpY2FsUmlnaHRPZmZzZXQsIGZhbHNlLCAmaGVpZ2h0
UmVtYWluaW5nUmlnaHQsIDAsIFNoYXBlT3V0c2lkZUZsb2F0Qm91bmRpbmdCb3hPZmZzZXQpOwog
ICAgICAgICAgICAgaWYgKGluc2lkZUZsb3dUaHJlYWQpIHsKICAgICAgICAgICAgICAgICAvLyBI
YXZlIHRvIHJlLWV2YWx1YXRlIGFsbCBvZiBvdXIgb2Zmc2V0cywgc2luY2UgdGhleSBtYXkgaGF2
ZSBjaGFuZ2VkLgogICAgICAgICAgICAgICAgIGxvZ2ljYWxSaWdodE9mZnNldCA9IGxvZ2ljYWxS
aWdodE9mZnNldEZvckNvbnRlbnQobG9naWNhbFRvcE9mZnNldCk7IC8vIENvbnN0YW50IHBhcnQg
b2YgcmlnaHQgb2Zmc2V0LgpAQCAtNDMzMSw3ICs0MzMxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJC
bG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudChSZW5kZXJSZWdpb24qIHJlZ2lvbiwg
TGF5b3UKICAgICByZXR1cm4gbG9naWNhbFJpZ2h0T2Zmc2V0IC0gKGxvZ2ljYWxXaWR0aCgpIC0g
KGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3hSZWN0Lm1heFgoKSA6IGJveFJlY3QubWF4
WSgpKSk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
TGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wg
YXBwbHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBoZWlnaHRSZW1haW5pbmcsIExheW91dFVuaXQg
bG9naWNhbEhlaWdodCkgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0
T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxUb3AsIExheW91dFVuaXQgZml4ZWRPZmZz
ZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBoZWlnaHRSZW1haW5pbmcsIExh
eW91dFVuaXQgbG9naWNhbEhlaWdodCwgU2hhcGVPdXRzaWRlRmxvYXRPZmZzZXRNb2RlIG9mZnNl
dE1vZGUpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5pdCBsZWZ0ID0gZml4ZWRPZmZzZXQ7CiAgICAg
aWYgKG1fZmxvYXRpbmdPYmplY3RzICYmIG1fZmxvYXRpbmdPYmplY3RzLT5oYXNMZWZ0T2JqZWN0
cygpKSB7CkBAIC00MzQyLDcgKzQzNDIsOCBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dp
Y2FsTGVmdE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9wLCBMYXlvdXRVbgogICAg
ICAgICBtX2Zsb2F0aW5nT2JqZWN0cy0+cGxhY2VkRmxvYXRzVHJlZSgpLmFsbE92ZXJsYXBzV2l0
aEFkYXB0ZXIoYWRhcHRlcik7CiAKICNpZiBFTkFCTEUoQ1NTX0VYQ0xVU0lPTlMpCi0gICAgICAg
IGlmIChjb25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0ID0gYWRhcHRlci5sYXN0RmxvYXQo
KSkgeworICAgICAgICBjb25zdCBGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0ID0gYWRhcHRlci5s
YXN0RmxvYXQoKTsKKyAgICAgICAgaWYgKG9mZnNldE1vZGUgPT0gU2hhcGVPdXRzaWRlRmxvYXRT
aGFwZU9mZnNldCAmJiBsYXN0RmxvYXQpIHsKICAgICAgICAgICAgIGlmIChFeGNsdXNpb25TaGFw
ZU91dHNpZGVJbmZvKiBzaGFwZU91dHNpZGUgPSBsYXN0RmxvYXQtPnJlbmRlcmVyKCktPmV4Y2x1
c2lvblNoYXBlT3V0c2lkZUluZm8oKSkgewogICAgICAgICAgICAgICAgIHNoYXBlT3V0c2lkZS0+
Y29tcHV0ZVNlZ21lbnRzRm9yTGluZShsb2dpY2FsVG9wIC0gbG9naWNhbFRvcEZvckZsb2F0KGxh
c3RGbG9hdCkgKyBzaGFwZU91dHNpZGUtPnNoYXBlTG9naWNhbFRvcCgpLCBsb2dpY2FsSGVpZ2h0
KTsKICAgICAgICAgICAgICAgICBsZWZ0ICs9IHNoYXBlT3V0c2lkZS0+cmlnaHRTZWdtZW50U2hh
cGVCb3VuZGluZ0JveERlbHRhKCk7CkBAIC00Mzg3LDcgKzQzODgsNyBAQCBMYXlvdXRVbml0IFJl
bmRlckJsb2NrOjpsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBsb2dpY2FsVG9w
LCBMYXlvdXRVbgogICAgIHJldHVybiBsZWZ0OwogfQogCi1MYXlvdXRVbml0IFJlbmRlckJsb2Nr
Ojpsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgbG9naWNhbFRvcCwgTGF5b3V0
VW5pdCBmaXhlZE9mZnNldCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExheW91dFVuaXQqIGhlaWdo
dFJlbWFpbmluZywgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KSBjb25zdAorTGF5b3V0VW5pdCBS
ZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IGxvZ2ljYWxU
b3AsIExheW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50LCBMYXlvdXRV
bml0KiBoZWlnaHRSZW1haW5pbmcsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgU2hhcGVPdXRz
aWRlRmxvYXRPZmZzZXRNb2RlIG9mZnNldE1vZGUpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5pdCBy
aWdodCA9IGZpeGVkT2Zmc2V0OwogICAgIGlmIChtX2Zsb2F0aW5nT2JqZWN0cyAmJiBtX2Zsb2F0
aW5nT2JqZWN0cy0+aGFzUmlnaHRPYmplY3RzKCkpIHsKQEAgLTQzOTksNyArNDQwMCw4IEBAIExh
eW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5p
dCBsb2dpY2FsVG9wLCBMYXlvdXRVCiAgICAgICAgIG1fZmxvYXRpbmdPYmplY3RzLT5wbGFjZWRG
bG9hdHNUcmVlKCkuYWxsT3ZlcmxhcHNXaXRoQWRhcHRlcihhZGFwdGVyKTsKIAogI2lmIEVOQUJM
RShDU1NfRVhDTFVTSU9OUykKLSAgICAgICAgaWYgKGNvbnN0IEZsb2F0aW5nT2JqZWN0KiBsYXN0
RmxvYXQgPSBhZGFwdGVyLmxhc3RGbG9hdCgpKSB7CisgICAgICAgIGNvbnN0IEZsb2F0aW5nT2Jq
ZWN0KiBsYXN0RmxvYXQgPSBhZGFwdGVyLmxhc3RGbG9hdCgpOworICAgICAgICBpZiAob2Zmc2V0
TW9kZSA9PSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0ICYmIGxhc3RGbG9hdCkgewogICAg
ICAgICAgICAgaWYgKEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8qIHNoYXBlT3V0c2lkZSA9IGxh
c3RGbG9hdC0+cmVuZGVyZXIoKS0+ZXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbygpKSB7CiAgICAg
ICAgICAgICAgICAgc2hhcGVPdXRzaWRlLT5jb21wdXRlU2VnbWVudHNGb3JMaW5lKGxvZ2ljYWxU
b3AgLSBsb2dpY2FsVG9wRm9yRmxvYXQobGFzdEZsb2F0KSArIHNoYXBlT3V0c2lkZS0+c2hhcGVM
b2dpY2FsVG9wKCksIGxvZ2ljYWxIZWlnaHQpOwogICAgICAgICAgICAgICAgIHJpZ2h0RmxvYXRP
ZmZzZXQgKz0gc2hhcGVPdXRzaWRlLT5sZWZ0U2VnbWVudFNoYXBlQm91bmRpbmdCb3hEZWx0YSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCAyOGY1MWJlNTQxZjE0
ZjYwZDkzMDgyOTMwYThlMzAzM2Y1ODljOWQyLi4wZmFlMWJhZWM3ZjhmZjc1OGZiYzBiOGFlYTg2
ZmQyYWEzOWQzZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAt
NzEsNiArNzEsNyBAQCB0eXBlZGVmIFZlY3RvcjxXb3JkTWVhc3VyZW1lbnQsIDY0PiBXb3JkTWVh
c3VyZW1lbnRzOwogCiBlbnVtIENhcmV0VHlwZSB7IEN1cnNvckNhcmV0LCBEcmFnQ2FyZXQgfTsK
IGVudW0gQ29udGFpbmluZ0Jsb2NrU3RhdGUgeyBOZXdDb250YWluaW5nQmxvY2ssIFNhbWVDb250
YWluaW5nQmxvY2sgfTsKK2VudW0gU2hhcGVPdXRzaWRlRmxvYXRPZmZzZXRNb2RlIHsgU2hhcGVP
dXRzaWRlRmxvYXRTaGFwZU9mZnNldCwgU2hhcGVPdXRzaWRlRmxvYXRCb3VuZGluZ0JveE9mZnNl
dCB9OwogCiBlbnVtIFRleHRSdW5GbGFnIHsKICAgICBEZWZhdWx0VGV4dFJ1bkZsYWdzID0gMCwK
QEAgLTE3MCwxMyArMTcxLDEzIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1heDxMYXlvdXRV
bml0PigwLCBsb2dpY2FsUmlnaHRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBzaG91bGRJbmRlbnRU
ZXh0LCByZWdpb24sIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UsIGxvZ2ljYWxIZWln
aHQpCiAgICAgICAgICAgICAtIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgc2hv
dWxkSW5kZW50VGV4dCwgcmVnaW9uLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlLCBs
b2dpY2FsSGVpZ2h0KSk7CiAgICAgfQotICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0
Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIHNob3VsZEluZGVudFRleHQsIFJlbmRl
clJlZ2lvbiogcmVnaW9uLCBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBh
Z2UsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDApIGNvbnN0IAorICAgIExheW91dFVuaXQg
bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIHNob3Vs
ZEluZGVudFRleHQsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBMYXlvdXRVbml0IG9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDAsIFNoYXBl
T3V0c2lkZUZsb2F0T2Zmc2V0TW9kZSBvZmZzZXRNb2RlID0gU2hhcGVPdXRzaWRlRmxvYXRTaGFw
ZU9mZnNldCkgY29uc3QgCiAgICAgewotICAgICAgICByZXR1cm4gbG9naWNhbFJpZ2h0T2Zmc2V0
Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudChyZWdpb24sIG9m
ZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UpLCBzaG91bGRJbmRlbnRUZXh0LCAwLCBsb2dp
Y2FsSGVpZ2h0KTsKKyAgICAgICAgcmV0dXJuIGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUocG9z
aXRpb24sIGxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQocmVnaW9uLCBvZmZzZXRGcm9tTG9n
aWNhbFRvcE9mRmlyc3RQYWdlKSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbG9naWNhbEhlaWdodCwg
b2Zmc2V0TW9kZSk7CiAgICAgfQotICAgIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXRGb3JM
aW5lKExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4dCwgUmVuZGVyUmVn
aW9uKiByZWdpb24sIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSwg
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCkgY29uc3QgCisgICAgTGF5b3V0VW5pdCBsb2dp
Y2FsTGVmdE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRl
bnRUZXh0LCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNh
bFRvcE9mRmlyc3RQYWdlLCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQgPSAwLCBTaGFwZU91dHNp
ZGVGbG9hdE9mZnNldE1vZGUgb2Zmc2V0TW9kZSA9IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZz
ZXQpIGNvbnN0IAogICAgIHsKLSAgICAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGlu
ZShwb3NpdGlvbiwgbG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KHJlZ2lvbiwgb2Zmc2V0RnJv
bUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSksIHNob3VsZEluZGVudFRleHQsIDAsIGxvZ2ljYWxIZWln
aHQpOworICAgICAgICByZXR1cm4gbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKHBvc2l0aW9uLCBs
b2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQocmVnaW9uLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9m
Rmlyc3RQYWdlKSwgc2hvdWxkSW5kZW50VGV4dCwgMCwgbG9naWNhbEhlaWdodCwgb2Zmc2V0TW9k
ZSk7CiAgICAgfQogICAgIExheW91dFVuaXQgc3RhcnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQg
cG9zaXRpb24sIGJvb2wgc2hvdWxkSW5kZW50VGV4dCwgUmVuZGVyUmVnaW9uKiByZWdpb24sIExh
eW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSwgTGF5b3V0VW5pdCBsb2dp
Y2FsSGVpZ2h0ID0gMCkgY29uc3QKICAgICB7CkBAIC0xOTMsMTMgKzE5NCwxMyBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICByZXR1cm4gYXZhaWxhYmxlTG9naWNhbFdpZHRoRm9yTGluZShwb3Np
dGlvbiwgc2hvdWxkSW5kZW50VGV4dCwgcmVnaW9uQXRCbG9ja09mZnNldChwb3NpdGlvbiksIG9m
ZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSwgbG9naWNhbEhlaWdodCk7CiAgICAgfQot
ICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0
aW9uLCBib29sIHNob3VsZEluZGVudFRleHQsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDAp
IGNvbnN0IAorICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRV
bml0IHBvc2l0aW9uLCBib29sIHNob3VsZEluZGVudFRleHQsIExheW91dFVuaXQgbG9naWNhbEhl
aWdodCA9IDAsIFNoYXBlT3V0c2lkZUZsb2F0T2Zmc2V0TW9kZSBvZmZzZXRNb2RlID0gU2hhcGVP
dXRzaWRlRmxvYXRTaGFwZU9mZnNldCkgY29uc3QgCiAgICAgewotICAgICAgICByZXR1cm4gbG9n
aWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29u
dGVudChwb3NpdGlvbiksIHNob3VsZEluZGVudFRleHQsIDAsIGxvZ2ljYWxIZWlnaHQpOworICAg
ICAgICByZXR1cm4gbG9naWNhbFJpZ2h0T2Zmc2V0Rm9yTGluZShwb3NpdGlvbiwgbG9naWNhbFJp
Z2h0T2Zmc2V0Rm9yQ29udGVudChwb3NpdGlvbiksIHNob3VsZEluZGVudFRleHQsIDAsIGxvZ2lj
YWxIZWlnaHQsIG9mZnNldE1vZGUpOwogICAgIH0KLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0
T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBib29sIHNob3VsZEluZGVudFRleHQs
IExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDApIGNvbnN0IAorICAgIExheW91dFVuaXQgbG9n
aWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIGJvb2wgc2hvdWxkSW5k
ZW50VGV4dCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCwgU2hhcGVPdXRzaWRlRmxvYXRP
ZmZzZXRNb2RlIG9mZnNldE1vZGUgPSBTaGFwZU91dHNpZGVGbG9hdFNoYXBlT2Zmc2V0KSBjb25z
dCAKICAgICB7Ci0gICAgICAgIHJldHVybiBsb2dpY2FsTGVmdE9mZnNldEZvckxpbmUocG9zaXRp
b24sIGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudChwb3NpdGlvbiksIHNob3VsZEluZGVudFRl
eHQsIDAsIGxvZ2ljYWxIZWlnaHQpOworICAgICAgICByZXR1cm4gbG9naWNhbExlZnRPZmZzZXRG
b3JMaW5lKHBvc2l0aW9uLCBsb2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQocG9zaXRpb24pLCBz
aG91bGRJbmRlbnRUZXh0LCAwLCBsb2dpY2FsSGVpZ2h0LCBvZmZzZXRNb2RlKTsKICAgICB9CiAg
ICAgTGF5b3V0VW5pdCBwaXhlbFNuYXBwZWRMb2dpY2FsTGVmdE9mZnNldEZvckxpbmUoTGF5b3V0
VW5pdCBwb3NpdGlvbiwgYm9vbCBzaG91bGRJbmRlbnRUZXh0LCBMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQgPSAwKSBjb25zdCAKICAgICB7CkBAIC01MTgsOCArNTE5LDggQEAgcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgdm9pZCBwYWludENoaWxkcmVuKFBhaW50SW5mbyYgZm9yU2VsZiwgY29uc3Qg
TGF5b3V0UG9pbnQmLCBQYWludEluZm8mIGZvckNoaWxkLCBib29sIHVzZVByaW50UmVjdCk7CiAg
ICAgYm9vbCBwYWludENoaWxkKFJlbmRlckJveCosIFBhaW50SW5mbyYgZm9yU2VsZiwgY29uc3Qg
TGF5b3V0UG9pbnQmLCBQYWludEluZm8mIGZvckNoaWxkLCBib29sIHVzZVByaW50UmVjdCk7CiAg
ICAKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodE9mZnNldEZvckxpbmUoTGF5b3V0VW5pdCBw
b3NpdGlvbiwgTGF5b3V0VW5pdCBmaXhlZE9mZnNldCwgYm9vbCBhcHBseVRleHRJbmRlbnQsIExh
eW91dFVuaXQqIGxvZ2ljYWxIZWlnaHRSZW1haW5pbmcgPSAwLCBMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQgPSAwKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yTGlu
ZShMYXlvdXRVbml0IHBvc2l0aW9uLCBMYXlvdXRVbml0IGZpeGVkT2Zmc2V0LCBib29sIGFwcGx5
VGV4dEluZGVudCwgTGF5b3V0VW5pdCogbG9naWNhbEhlaWdodFJlbWFpbmluZyA9IDAsIExheW91
dFVuaXQgbG9naWNhbEhlaWdodCA9IDApIGNvbnN0OworICAgIExheW91dFVuaXQgbG9naWNhbFJp
Z2h0T2Zmc2V0Rm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uLCBMYXlvdXRVbml0IGZpeGVkT2Zm
c2V0LCBib29sIGFwcGx5VGV4dEluZGVudCwgTGF5b3V0VW5pdCogbG9naWNhbEhlaWdodFJlbWFp
bmluZyA9IDAsIExheW91dFVuaXQgbG9naWNhbEhlaWdodCA9IDAsIFNoYXBlT3V0c2lkZUZsb2F0
T2Zmc2V0TW9kZSA9IFNoYXBlT3V0c2lkZUZsb2F0U2hhcGVPZmZzZXQpIGNvbnN0OworICAgIExh
eW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIExh
eW91dFVuaXQgZml4ZWRPZmZzZXQsIGJvb2wgYXBwbHlUZXh0SW5kZW50LCBMYXlvdXRVbml0KiBs
b2dpY2FsSGVpZ2h0UmVtYWluaW5nID0gMCwgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0ID0gMCwg
U2hhcGVPdXRzaWRlRmxvYXRPZmZzZXRNb2RlID0gU2hhcGVPdXRzaWRlRmxvYXRTaGFwZU9mZnNl
dCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIEVUZXh0QWxpZ24gdGV4dEFsaWdubWVudEZvckxpbmUo
Ym9vbCBlbmRzV2l0aFNvZnRCcmVhaykgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdElu
bGluZURpcmVjdGlvbkxpbmVCb3VuZHMoaW50IC8qIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQg
Ki8sIGZsb2F0JiAvKiBsb2dpY2FsTGVmdCAqLywgZmxvYXQmIC8qIGxvZ2ljYWxXaWR0aCAqLykg
Y29uc3QgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xp
bmVMYXlvdXQuY3BwCmluZGV4IGViYjhiZDU0YmEzMjg1ZjI3NTA3NTFjZGJiNDBkYWUwNjdiNjU3
NmIuLmJhNjhkODQzZjZkODhmODM4ZGFjMTFhNGQ0NTEzNWE0OWEzYWRjMmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCkBAIC0x
ODgsNiArMTg4LDI1IEBAIGlubGluZSB2b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxhYmxlV2lk
dGhGb3JOZXdGbG9hdElmTmVlZGVkKFJlbmRlckJsb2NrOjpGbG9hCiAgICAgICAgIHJldHVybjsK
IAogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAvLyBXaGVuIGZsb2F0cyB3aXRoIHNo
YXBlIG91dHNpZGUgYXJlIHN0YWNrZWQsIHRoZSBmbG9hdHMgYXJlIHBvc2l0aW9uZWQgYmFzZWQg
b24gdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgc2hhcGUsCisgICAgLy8gbm90IHRoZSBzaGFwZSdz
IGNvbnRvdXIuIFNpbmNlIHdlIGNvbXB1dGVkIHRoZSB3aWR0aCBiYXNlZCBvbiB0aGUgc2hhcGUg
Y29udG91ciB3aGVuIHdlIGFkZGVkIHRoZSBmbG9hdCwKKyAgICAvLyB3aGVuIHdlIGFkZCBhIHN1
YnNlcXVlbnQgZmxvYXQgb24gdGhlIHNhbWUgbGluZSwgd2UgbmVlZCB0byB1bmRvIHRoZSBzaGFw
ZSBkZWx0YSBpbiBvcmRlciB0byBwb3NpdGlvbgorICAgIC8vIGJhc2VkIG9uIHRoZSBib3VuZGlu
ZyBib3guIEluIG9yZGVyIHRvIGRvIHRoaXMsIHdlIG5lZWQgdG8gd2FsayBiYWNrIHRocm91Z2gg
dGhlIGZsb2F0aW5nIG9iamVjdCBsaXN0IHRvIGZpbmQKKyAgICAvLyB0aGUgZmlyc3QgcHJldmlv
dXMgZmxvYXQgdGhhdCBpcyBvbiB0aGUgc2FtZSBzaWRlIGFzIG91ciBuZXdGbG9hdC4KKyAgICBF
eGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKiBsYXN0U2hhcGVPdXRzaWRlSW5mbyA9IDA7CisgICAg
Y29uc3QgUmVuZGVyQmxvY2s6OkZsb2F0aW5nT2JqZWN0U2V0JiBmbG9hdGluZ09iamVjdFNldCA9
IG1fYmxvY2stPm1fZmxvYXRpbmdPYmplY3RzLT5zZXQoKTsKKyAgICBSZW5kZXJCbG9jazo6Rmxv
YXRpbmdPYmplY3RTZXRJdGVyYXRvciBpdCA9IGZsb2F0aW5nT2JqZWN0U2V0LmVuZCgpOworICAg
IFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdFNldEl0ZXJhdG9yIGJlZ2luID0gZmxvYXRpbmdP
YmplY3RTZXQuYmVnaW4oKTsKKyAgICBmb3IgKC0taXQ7IGl0ICE9IGJlZ2luOyAtLWl0KSB7Cisg
ICAgICAgIFJlbmRlckJsb2NrOjpGbG9hdGluZ09iamVjdCogbGFzdEZsb2F0ID0gKml0OworICAg
ICAgICBpZiAobGFzdEZsb2F0ICE9IG5ld0Zsb2F0ICYmIGxhc3RGbG9hdC0+dHlwZSgpID09IG5l
d0Zsb2F0LT50eXBlKCkpIHsKKyAgICAgICAgICAgIGxhc3RTaGFwZU91dHNpZGVJbmZvID0gbGFz
dEZsb2F0LT5yZW5kZXJlcigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCk7CisgICAgICAg
ICAgICBpZiAobGFzdFNoYXBlT3V0c2lkZUluZm8pCisgICAgICAgICAgICAgICAgbGFzdFNoYXBl
T3V0c2lkZUluZm8tPmNvbXB1dGVTZWdtZW50c0ZvckxpbmUobV9ibG9jay0+bG9naWNhbEhlaWdo
dCgpIC0gbV9ibG9jay0+bG9naWNhbFRvcEZvckZsb2F0KGxhc3RGbG9hdCkgKyBsYXN0U2hhcGVP
dXRzaWRlSW5mby0+c2hhcGVMb2dpY2FsVG9wKCksIGxvZ2ljYWxIZWlnaHRGb3JMaW5lKG1fYmxv
Y2ssIG1faXNGaXJzdExpbmUpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
fQorCiAgICAgRXhjbHVzaW9uU2hhcGVPdXRzaWRlSW5mbyogc2hhcGVPdXRzaWRlSW5mbyA9IG5l
d0Zsb2F0LT5yZW5kZXJlcigpLT5leGNsdXNpb25TaGFwZU91dHNpZGVJbmZvKCk7CiAgICAgaWYg
KHNoYXBlT3V0c2lkZUluZm8pCiAgICAgICAgIHNoYXBlT3V0c2lkZUluZm8tPmNvbXB1dGVTZWdt
ZW50c0ZvckxpbmUobV9ibG9jay0+bG9naWNhbEhlaWdodCgpIC0gbV9ibG9jay0+bG9naWNhbFRv
cEZvckZsb2F0KG5ld0Zsb2F0KSArIHNoYXBlT3V0c2lkZUluZm8tPnNoYXBlTG9naWNhbFRvcCgp
LCBsb2dpY2FsSGVpZ2h0Rm9yTGluZShtX2Jsb2NrLCBtX2lzRmlyc3RMaW5lKSk7CkBAIC0xOTYs
NiArMjE1LDggQEAgaW5saW5lIHZvaWQgTGluZVdpZHRoOjpzaHJpbmtBdmFpbGFibGVXaWR0aEZv
ck5ld0Zsb2F0SWZOZWVkZWQoUmVuZGVyQmxvY2s6OkZsb2EKICAgICBpZiAobmV3RmxvYXQtPnR5
cGUoKSA9PSBSZW5kZXJCbG9jazo6RmxvYXRpbmdPYmplY3Q6OkZsb2F0TGVmdCkgewogICAgICAg
ICBmbG9hdCBuZXdMZWZ0ID0gbV9ibG9jay0+bG9naWNhbFJpZ2h0Rm9yRmxvYXQobmV3RmxvYXQp
OwogI2lmIEVOQUJMRShDU1NfRVhDTFVTSU9OUykKKyAgICAgICAgaWYgKGxhc3RTaGFwZU91dHNp
ZGVJbmZvKQorICAgICAgICAgICAgbmV3TGVmdCAtPSBsYXN0U2hhcGVPdXRzaWRlSW5mby0+cmln
aHRTZWdtZW50U2hhcGVCb3VuZGluZ0JveERlbHRhKCk7CiAgICAgICAgIGlmIChzaGFwZU91dHNp
ZGVJbmZvKQogICAgICAgICAgICAgbmV3TGVmdCArPSBzaGFwZU91dHNpZGVJbmZvLT5yaWdodFNl
Z21lbnRTaGFwZUJvdW5kaW5nQm94RGVsdGEoKTsKICNlbmRpZgpAQCAtMjA2LDYgKzIyNyw4IEBA
IGlubGluZSB2b2lkIExpbmVXaWR0aDo6c2hyaW5rQXZhaWxhYmxlV2lkdGhGb3JOZXdGbG9hdElm
TmVlZGVkKFJlbmRlckJsb2NrOjpGbG9hCiAgICAgfSBlbHNlIHsKICAgICAgICAgZmxvYXQgbmV3
UmlnaHQgPSBtX2Jsb2NrLT5sb2dpY2FsTGVmdEZvckZsb2F0KG5ld0Zsb2F0KTsKICNpZiBFTkFC
TEUoQ1NTX0VYQ0xVU0lPTlMpCisgICAgICAgIGlmIChsYXN0U2hhcGVPdXRzaWRlSW5mbykKKyAg
ICAgICAgICAgIG5ld1JpZ2h0IC09IGxhc3RTaGFwZU91dHNpZGVJbmZvLT5sZWZ0U2VnbWVudFNo
YXBlQm91bmRpbmdCb3hEZWx0YSgpOwogICAgICAgICBpZiAoc2hhcGVPdXRzaWRlSW5mbykKICAg
ICAgICAgICAgIG5ld1JpZ2h0ICs9IHNoYXBlT3V0c2lkZUluZm8tPmxlZnRTZWdtZW50U2hhcGVC
b3VuZGluZ0JveERlbHRhKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MzA1ZmYwN2E2NDQ3ZDAzZjZjMTMw
YzlkYjU2ZWU2ZDc5YjQ1ZGY1Li41ZGIzZTAwZTcxNGQ5ZGI5ZWNhYTg0MDU3MDI1Yjg3MTAzMDBj
YjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDQtMDggIEJlbSBKb25lcy1CZXkgIDxi
am9uZXNiZUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBFeGNsdXNpb25zXSBQcm9wZXJseSBw
b3NpdGlvbiBtdWx0aXBsZSBzdGFja2VkIGZsb2F0cyB3aXRoIG5vbiByZWN0YW5ndWxhciBzaGFw
ZSBvdXRzaWRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTAzNzIKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAg
VGVzdHMgZGVtb25zdHJhdGluZyBzdGFja2VkIGZsb2F0cyBwcm9wZXJseSB3b3JraW5nIHdpdGgg
c2hhcGUtb3V0c2lkZS4KKworICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFja2VkLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy1zdGFja2VkLmh0bWw6IEFkZGVkLgorCiAyMDEzLTA0LTA4ICBNYXggVnVq
b3ZpYyAgPG12dWpvdmljQGFkb2JlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTQ3NTAy
KTogQW5pbWF0aW9ucyBvZiBDQSBmaWx0ZXJzIGJyb2tlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9leGNsdXNpb25zL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtZmxv
YXRzLXN0YWNrZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFja2VkLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzgyZTQ3Y2EzMTM4OTE2YWEwNWYxYjNjYzFiZGJiZThjN2VhY2Fh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFja2VkLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwxMDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHN0
eWxlPgorICAgIC5jb250YWluZXIgeworICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgZm9udDog
NDBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgfQorICAgIC5sZWZ0IHsKKyAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICAgIGZsb2F0OiBsZWZ0OworICAgICAgY2xlYXI6IGxlZnQ7Cisg
ICAgICBoZWlnaHQ6IDQwcHg7CisgICAgfQorICAgIC50cmlhbmdsZS1sZWZ0OmJlZm9yZSB7Cisg
ICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNv
bnRlbnQ6ICcgJzsKKyAgICAgIHotaW5kZXg6IC0xOworICAgICAgdG9wOiAwcHg7CisgICAgICBs
ZWZ0OiAwcHg7CisgICAgICB3aWR0aDogMDsgaGVpZ2h0OiAwOworICAgICAgYmFja2dyb3VuZC1j
b2xvcjogdHJhbnNwYXJlbnQ7CisgICAgICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCB0cmFuc3Bh
cmVudDsKKyAgICAgIGJvcmRlci1sZWZ0OiAxMDBweCBzb2xpZCByZ2JhKDAsIDAsIDI1NSwgMC41
KTsKKyAgICB9CisgICAgLnRyaWFuZ2xlLWxlZnQyOmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAg
ICAgIHotaW5kZXg6IC0xOworICAgICAgdG9wOiAwcHg7CisgICAgICBsZWZ0OiAxMDBweDsKKyAg
ICAgIHdpZHRoOiAwOyBoZWlnaHQ6IDA7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3Bh
cmVudDsKKyAgICAgIGJvcmRlci10b3A6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50OworICAgICAg
Ym9yZGVyLWxlZnQ6IDEwMHB4IHNvbGlkIHJnYmEoMCwgMCwgMjU1LCAwLjUpOworICAgIH0KKyAg
ICAucmlnaHQgeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgZmxvYXQ6IHJpZ2h0
OworICAgICAgY2xlYXI6IHJpZ2h0OworICAgICAgaGVpZ2h0OiA0MHB4OworICAgIH0KKyAgICAu
dHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHsKKyAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgICAgY29udGVudDogJyAnOworICAgICAgei1pbmRleDogLTE7
CisgICAgICB0b3A6IDBweDsKKyAgICAgIHJpZ2h0OiAwcHg7CisgICAgICB3aWR0aDogMDsgaGVp
Z2h0OiAwOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgICBib3Jk
ZXItdG9wOiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRlci1yaWdodDogMTAw
cHggc29saWQgcmdiYSgwLCAwLCAyNTUsIDAuNSk7CisgICAgfQorICAgIC50cmlhbmdsZS1yaWdo
dDI6YmVmb3JlIHsKKyAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgICAgY29udGVudDogJyAnOworICAgICAgei1pbmRleDogLTE7CisgICAgICB0b3A6
IDBweDsKKyAgICAgIHJpZ2h0OiAxMDBweDsKKyAgICAgIHdpZHRoOiAwOyBoZWlnaHQ6IDA7Cisg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICAgIGJvcmRlci10b3A6IDEw
MHB4IHNvbGlkIHRyYW5zcGFyZW50OworICAgICAgYm9yZGVyLXJpZ2h0OiAxMDBweCBzb2xpZCBy
Z2JhKDAsIDAsIDI1NSwgMC41KTsKKyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgPGgxPkJ1ZyA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTEwMzcyIj4xMTAzNzI8L2E+IC0gW0NTUyBFeGNsdXNpb25zXSBQcm9wZXJseSBwb3NpdGlv
biBtdWx0aXBsZSBzdGFja2VkIGZsb2F0cyB3aXRoIG5vbiByZWN0YW5ndWxhciBzaGFwZSBvdXRz
aWRlPC9oMT4KKyAgPGgyPlRoZXJlIHNob3VsZCBiZSB0d28gdHJpYW5nZXMgb24gdGhlIGxlZnQs
IGFuZCBvbmUgb24gdGhlIHJpZ2h0LiBOb25lIG9mCisgICAgdGhlIHRyaWFuZ2xlcyBzaG91ZCBv
dmVybGFwLCBhbmQgdGhlIGJsYWNrIGJveGVzIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgdHJpYW5n
bGVzIG9uIHRoZSBsZWZ0LjwvaDI+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBzdHlsZT0id2lkdGg6NDBweDsiIGNsYXNzPSJsZWZ0IHRyaWFuZ2xlLWxlZnQiPjwvZGl2Pgor
ICAgIFggWCBYIFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3aWR0aDogMTAwcHg7
IiBjbGFzcz0icmlnaHQgdHJpYW5nbGUtbGVmdCI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0id2lk
dGg6ODBweDsiIGNsYXNzPSJsZWZ0Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgPGRpdiBzdHls
ZT0id2lkdGg6MTQwcHg7IiBjbGFzcz0ibGVmdCB0cmlhbmdsZS1sZWZ0MiI+PC9kaXY+CisgICAg
PGRpdiBzdHlsZT0id2lkdGg6MTgwcHg7IiBjbGFzcz0ibGVmdCI+PC9kaXY+CisgICAgPGRpdiBz
dHlsZT0id2lkdGg6MjAwcHg7IiBjbGFzcz0ibGVmdCI+PC9kaXY+CisgICAgWCBYIFggWAorICAg
IFggWCBYIFgKKyAgICBYIFggWCBYCisgICAgWCBYIFggWCBYIFgKKyAgPC9kaXY+CisgIDxoMj5U
aGVyZSBzaG91bGQgYmUgdHdvIHRyaWFuZ2VzIG9uIHRoZSByaWdodCwgYW5kIG9uZSBvbiB0aGUg
bGVmdC4gTm9uZSBvZgorICAgIHRoZSB0cmlhbmdsZXMgc2hvdWQgb3ZlcmxhcCwgYW5kIHRoZSBi
bGFjayBib3hlcyBzaG91bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlcyBvbiB0aGUgcmlnaHQu
PC9oMj4KKyAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQiIGNsYXNzPSJjb250YWluZXIi
PgorICAgIDxkaXYgc3R5bGU9IndpZHRoOjQwcHg7IiBjbGFzcz0icmlnaHQgdHJpYW5nbGUtcmln
aHQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyB3
aWR0aDogMTAwcHg7IiBjbGFzcz0ibGVmdCB0cmlhbmdsZS1yaWdodCI+PC9kaXY+CisgICAgPGRp
diBzdHlsZT0id2lkdGg6ODBweDsiIGNsYXNzPSJyaWdodCI+PC9kaXY+CisgICAgWCBYIFggWAor
ICAgIDxkaXYgc3R5bGU9IndpZHRoOjE0MHB4OyIgY2xhc3M9InJpZ2h0IHRyaWFuZ2xlLXJpZ2h0
MiI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6MTgwcHg7IiBjbGFzcz0icmlnaHQiPjwv
ZGl2PgorICAgIDxkaXYgc3R5bGU9IndpZHRoOjIwMHB4OyIgY2xhc3M9InJpZ2h0Ij48L2Rpdj4K
KyAgICBYIFggWCBYCisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFggWCBYIFggWAor
ICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXhjbHVzaW9ucy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy1zdGFj
a2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1mbG9hdHMtc3RhY2tlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiZDI5NzA2
ODRlYmIwNGUxZWVlN2ZkOTM1NDcxZWFiMTgyY2NjMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMtc3RhY2tlZC5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQodHJ1
ZSk7CisgIDwvc2NyaXB0PgorICA8c3R5bGU+CisgICAgLmNvbnRhaW5lciB7CisgICAgICB3aWR0
aDogNTAwcHg7CisgICAgICBmb250OiA0MHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICB9Cisg
ICAgLnRyaWFuZ2xlLWxlZnQgeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIGZsb2F0OiBsZWZ0OworICAg
ICAgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDAgMCwgMCAxMDAlLCAxMDAlIDEwMCUp
OworICAgIH0KKyAgICAudHJpYW5nbGUtbGVmdDpiZWZvcmUgeworICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICBjb250ZW50OiAnICc7CisgICAg
ICB6LWluZGV4OiAtMTsKKyAgICAgIHRvcDogMHB4OworICAgICAgbGVmdDogMHB4OworICAgICAg
d2lkdGg6IDA7IGhlaWdodDogMDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50
OworICAgICAgYm9yZGVyLXRvcDogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7CisgICAgICBib3Jk
ZXItbGVmdDogMTAwcHggc29saWQgcmdiYSgwLCAwLCAyNTUsIDAuNSk7CisgICAgfQorICAgIC50
cmlhbmdsZS1yaWdodCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgZmxvYXQ6IHJpZ2h0OworICAgICAg
LXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKDEwMCUgMCwgMTAwJSAxMDAlLCAwJSAxMDAl
KTsKKyAgICB9CisgICAgLnRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7CisgICAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGNvbnRlbnQ6ICcgJzsKKyAg
ICAgIHotaW5kZXg6IC0xOworICAgICAgdG9wOiAwcHg7CisgICAgICBsZWZ0OiAwcHg7CisgICAg
ICB3aWR0aDogMDsgaGVpZ2h0OiAwOworICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJl
bnQ7CisgICAgICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDsKKyAgICAgIGJv
cmRlci1yaWdodDogMTAwcHggc29saWQgcmdiYSgwLCAwLCAyNTUsIDAuNSk7CisgICAgfQorICA8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxoMT5CdWcgPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDM3MiI+MTEwMzcyPC9hPiAtIFtDU1MgRXhj
bHVzaW9uc10gUHJvcGVybHkgcG9zaXRpb24gbXVsdGlwbGUgc3RhY2tlZCBmbG9hdHMgd2l0aCBu
b24gcmVjdGFuZ3VsYXIgc2hhcGUgb3V0c2lkZTwvaDE+CisgIDxoMj5UaGVyZSBzaG91bGQgYmUg
dHdvIHRyaWFuZ2VzIG9uIHRoZSBsZWZ0LCBhbmQgb25lIG9uIHRoZSByaWdodC4gTm9uZSBvZgor
ICAgIHRoZSB0cmlhbmdsZXMgc2hvdWQgb3ZlcmxhcCwgYW5kIHRoZSBibGFjayBib3hlcyBzaG91
bGQgd3JhcCBhcm91bmQgdGhlIHRyaWFuZ2xlcyBvbiB0aGUgbGVmdC48L2gyPgorICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InRyaWFuZ2xlLWxlZnQiPjwvZGl2Pgor
ICAgIFggWCBYIFgKKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDpyaWdodCIgY2xhc3M9InRyaWFuZ2xl
LWxlZnQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8ZGl2IGNsYXNzPSJ0cmlhbmdsZS1sZWZ0
Ij48L2Rpdj4KKyAgICBYIFggWCBYCisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFgg
WCBYIFggWAorICA8L2Rpdj4KKyAgPGgyPlRoZXJlIHNob3VsZCBiZSB0d28gdHJpYW5nZXMgb24g
dGhlIHJpZ2h0LCBhbmQgb25lIG9uIHRoZSBsZWZ0LiBOb25lIG9mCisgICAgdGhlIHRyaWFuZ2xl
cyBzaG91ZCBvdmVybGFwLCBhbmQgdGhlIGJsYWNrIGJveGVzIHNob3VsZCB3cmFwIGFyb3VuZCB0
aGUgdHJpYW5nbGVzIG9uIHRoZSByaWdodC48L2gyPgorICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWdu
OiByaWdodCIgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0idHJpYW5nbGUtcmln
aHQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0IiBjbGFz
cz0idHJpYW5nbGUtcmlnaHQiPjwvZGl2PgorICAgIFggWCBYIFgKKyAgICA8ZGl2IGNsYXNzPSJ0
cmlhbmdsZS1yaWdodCI+PC9kaXY+CisgICAgWCBYIFggWAorICAgIFggWCBYIFgKKyAgICBYIFgg
WCBYCisgICAgWCBYIFggWCBYIFgKKyAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>