<?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>135625</bug_id>
          
          <creation_ts>2014-08-05 15:32:32 -0700</creation_ts>
          <short_desc>Add the ability to force text to render in white, not just black</short_desc>
          <delta_ts>2014-08-05 16:40:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>135257</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peyton Randolph">prandolph</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>prandolph</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026964</commentid>
    <comment_count>0</comment_count>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-05 15:32:32 -0700</bug_when>
    <thetext>One of the paint behavior options is PaintBehaviorForceBlackText. I&apos;d like to add a corresponding behavior for forcing white text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026972</commentid>
    <comment_count>1</comment_count>
      <attachid>236057</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-05 15:41:00 -0700</bug_when>
    <thetext>Created attachment 236057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026976</commentid>
    <comment_count>2</comment_count>
      <attachid>236057</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-08-05 15:52:58 -0700</bug_when>
    <thetext>Comment on attachment 236057
Patch

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

&gt; Source/WebCore/rendering/InlineTextBox.cpp:631
&gt; +    const ShadowData* textShadow = (paintInfo.forceTextColor()) ? 0 : lineStyle.textShadow();

0 -&gt; nullptr

&gt; Source/WebCore/rendering/PaintPhase.h:63
&gt; +    PaintBehaviorForceWhiteText = 1 &lt;&lt; 6,

Please put this under PaintBehaviorForceBlackText and change the numbers.

&gt; Source/WebCore/rendering/TextPaintStyle.cpp:142
&gt; +        const ShadowData* shadow = paintInfo.forceTextColor() ? 0 : pseudoStyle-&gt;textShadow();

0 -&gt; nullptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026984</commentid>
    <comment_count>3</comment_count>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-05 16:02:22 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 236057 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=236057&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/InlineTextBox.cpp:631
&gt; &gt; +    const ShadowData* textShadow = (paintInfo.forceTextColor()) ? 0 : lineStyle.textShadow();
&gt; 
&gt; 0 -&gt; nullptr

Done.
&gt; 
&gt; &gt; Source/WebCore/rendering/PaintPhase.h:63
&gt; &gt; +    PaintBehaviorForceWhiteText = 1 &lt;&lt; 6,
&gt; 
&gt; Please put this under PaintBehaviorForceBlackText and change the numbers.

Done.
&gt; 
&gt; &gt; Source/WebCore/rendering/TextPaintStyle.cpp:142
&gt; &gt; +        const ShadowData* shadow = paintInfo.forceTextColor() ? 0 : pseudoStyle-&gt;textShadow();
&gt; 
&gt; 0 -&gt; nullptr

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026985</commentid>
    <comment_count>4</comment_count>
      <attachid>236061</attachid>
    <who name="Peyton Randolph">prandolph</who>
    <bug_when>2014-08-05 16:03:36 -0700</bug_when>
    <thetext>Created attachment 236061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026988</commentid>
    <comment_count>5</comment_count>
      <attachid>236061</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-08-05 16:07:10 -0700</bug_when>
    <thetext>Comment on attachment 236061
Patch

Re-doing Simon&apos;s r+ and adding cq+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026989</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-08-05 16:08:13 -0700</bug_when>
    <thetext>Instead of having both Black and white hard coded, should we instead just allow specifying a specific color?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026998</commentid>
    <comment_count>7</comment_count>
      <attachid>236061</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-05 16:40:40 -0700</bug_when>
    <thetext>Comment on attachment 236061
Patch

Clearing flags on attachment: 236061

Committed r172110: &lt;http://trac.webkit.org/changeset/172110&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026999</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-05 16:40:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236057</attachid>
            <date>2014-08-05 15:41:00 -0700</date>
            <delta_ts>2014-08-05 16:03:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135625-20140805154056.patch</filename>
            <type>text/plain</type>
            <size>13313</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU1YmQwNmRkM2M5YWI5
MWM2MmRiMTY1ZmJhMTE4NDVkNzRhYThmYS4uYzk2MGNkODBjNWQ1NmMyNzg3MjY5NTZjNWY1ZTRk
MTMyMTZkMWFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTA4LTA1ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0aGUgYWJp
bGl0eSB0byBmb3JjZSB0ZXh0IHRvIHJlbmRlciBpbiB3aGl0ZSwgbm90IGp1c3QgYmxhY2sKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTYyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
aW50cm9kdWNlcyBQYWludEJlaGF2aW9yRm9yY2VXaGl0ZVRleHQsIGEgY29tcGxlbWVudCB0byBQ
YWludEJlaGF2aW9yRm9yY2VCbGFja1RleHQuIElmCisgICAgICAgIGEgY2xpZW50IHNwZWNpZmll
cyBib3RoIFBhaW50QmVoYXZpb3JGb3JjZVdoaXRlVGV4dCBhbmQgUGFpbnRCZWhhdmlvckZvcmNl
QmxhY2tUZXh0LCB0aGUgdGV4dCB3aWxsIGJlCisgICAgICAgIHBhaW50ZWQgYmxhY2suCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVsbGlwc2lzQm94OjpwYWludCk6IFVzZSB0aGUgZm9yY2Vk
IHRleHQgY29sb3IgdG8gcGFpbnQgdGhlIHRleHQgaWYgcmVxdWVzdGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRC
b3g6OnBhaW50KTogRGlzYWJsZSB0aGUgdGV4dCBzaGFkb3cgaWYgYSB0ZXh0IGNvbG9yIGhhcyBi
ZWVuIGZvcmNlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUGFpbnRJbmZvLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQYWludEluZm86OmZvcmNlVGV4dENvbG9yKTogCisgICAgICAgIFJldHVybiB0cnVl
IGlmZiB0aGUgY2xpZW50IGhhcyByZXF1ZXN0ZWQgdG8gZm9yY2UgYSBibGFjayBvciB3aGl0ZSB0
ZXh0IGNvbG9yLgorICAgICAgICAoV2ViQ29yZTo6UGFpbnRJbmZvOjpmb3JjZVdoaXRlVGV4dCk6
CisgICAgICAgIFJldHVybiB0cnVlIGlmZiBmb3JjaW5nIHdoaXRlIHRleHQgaGFzIGJlZW4gcmVx
dWVzdGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFpbnRJbmZvOjpmb3JjZWRUZXh0Q29sb3IpOiAK
KyAgICAgICAgUmV0dXJuIHRoZSBmb3JjZWQgdGV4dCBjb2xvci4gQ3VycmVudGx5IG9ubHkgd2hp
dGUgYW5kIGJsYWNrIGFyZSBzdXBwb3J0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1BhaW50UGhh
c2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6IFJlbW92ZSB0aGUgZm9yY2VC
bGFja1RleHQtcmVsYXRlZCBjb2RlIGFzIGl0IGlzIHJlZHVuZGFudC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpwYWludEZvcmVncm91bmRGb3JGcmFnbWVudHMpOiAKKyAgICAgICAg
UmVtb3ZlIGZvcmNlQmxhY2tUZXh0IHBhcmFtZXRlciBhbmQgaW5mZXIgdGhlIGNvcnJlY3QgYmVo
YXZpb3IgZnJvbSB0aGUgZ2l2ZW4gcGFpbnQgYmVoYXZpb3IuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVUZXh0UGFpbnRTdHlsZSk6IFVzZSB0aGUgZm9yY2Vk
IHRleHQgY29sb3IgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVRleHRT
ZWxlY3Rpb25QYWludFN0eWxlKTogVXNlIHRoZSBmb3JjZWQgdGV4dCBjb2xvciBpZiBhdmFpbGFi
bGUuCisKIDIwMTQtMDgtMDUgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT046IEV4dHJlbWVseSBmbGFzaHkgc2Nyb2xsaW5nIHdoaWxlIGEgcGFn
ZSBpcyBzdGlsbCBsb2FkaW5nIChiZWNhdXNlIG9mIGZsdXNoIHRocm90dGxpbmcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAppbmRleCA4MzYxODA4NDIxYWVhODk4Nzk2
ZWFiYmRmNGM2ZTJiYTQwMTg2M2YzLi44NzNjNDA4YzVhYTk3NGQxN2M1NjU5MTA3ZjdiNDVjNGE3
ZDIzZWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKQEAgLTU5
LDcgKzU5LDcgQEAgdm9pZCBFbGxpcHNpc0JveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCwgTGEKICAgICAgICAgcGFpbnRTZWxlY3Rp
b24oY29udGV4dCwgcGFpbnRPZmZzZXQsIGxpbmVTdHlsZSwgZm9udCk7CiAKICAgICAgICAgLy8g
U2VsZWN0IHRoZSBjb3JyZWN0IGNvbG9yIGZvciBwYWludGluZyB0aGUgdGV4dC4KLSAgICAgICAg
Q29sb3IgZm9yZWdyb3VuZCA9IHBhaW50SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gQ29sb3I6OmJs
YWNrIDogYmxvY2tGbG93KCkuc2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCk7CisgICAgICAgIENv
bG9yIGZvcmVncm91bmQgPSBwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSA/IHBhaW50SW5mby5m
b3JjZWRUZXh0Q29sb3IoKSA6IGJsb2NrRmxvdygpLnNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigp
OwogICAgICAgICBpZiAoZm9yZWdyb3VuZC5pc1ZhbGlkKCkgJiYgZm9yZWdyb3VuZCAhPSB0ZXh0
Q29sb3IpCiAgICAgICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoZm9yZWdyb3VuZCwgbGlu
ZVN0eWxlLmNvbG9yU3BhY2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCmluZGV4IDI3ZjRmODliMWE2MWRlNDU0NGY0MDU0YjIzNTZjNDkyNDFl
NjY3OWEuLjY3N2M4MzA2MjJkOTMwYzM1YmRkZGVkN2FmOTkxNTg2NjlmMzIzYmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTYyOCw3ICs2MjgsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAgICAgaWYgKCFlbXBoYXNpc01hcmsuaXNFbXB0eSgp
KQogICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBlbXBoYXNpc01hcmtBYm92ZSA/IC1mb250
LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFz
aXNNYXJrKSA6IGZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCkgKyBmb250LmVtcGhhc2lzTWFy
a0FzY2VudChlbXBoYXNpc01hcmspOwogCi0gICAgY29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRv
dyA9IHBhaW50SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gMCA6IGxpbmVTdHlsZS50ZXh0U2hhZG93
KCk7CisgICAgY29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRvdyA9IChwYWludEluZm8uZm9yY2VU
ZXh0Q29sb3IoKSkgPyAwIDogbGluZVN0eWxlLnRleHRTaGFkb3coKTsKIAogICAgIEZsb2F0UG9p
bnQgdGV4dE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgZm9udC5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKICAgICBpZiAoY29tYmluZWRUZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50SW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1BhaW50SW5mby5oCmluZGV4IDM3OWY5MjMwY2E1ZTJiODdlZDI3MGFlMzkzZTE3NjUxODA2
MDY3YzkuLjk0YTA2MDlhNThiODlkNzg2NmU5ZjY5ZGQ2MjY5YTM3ZmZjMTM0ZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9QYWludEluZm8uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUGFpbnRJbmZvLmgKQEAgLTgwLDcgKzgwLDEwIEBAIHN0cnVjdCBQYWlu
dEluZm8gewogICAgICAgICByZXR1cm4gIXN1YnRyZWVQYWludFJvb3QgfHwgc3VidHJlZVBhaW50
Um9vdCA9PSAmcmVuZGVyZXI7CiAgICAgfQogCisgICAgYm9vbCBmb3JjZVRleHRDb2xvcigpIGNv
bnN0IHsgcmV0dXJuIGZvcmNlQmxhY2tUZXh0KCkgfHwgZm9yY2VXaGl0ZVRleHQoKTsgfQogICAg
IGJvb2wgZm9yY2VCbGFja1RleHQoKSBjb25zdCB7IHJldHVybiBwYWludEJlaGF2aW9yICYgUGFp
bnRCZWhhdmlvckZvcmNlQmxhY2tUZXh0OyB9CisgICAgYm9vbCBmb3JjZVdoaXRlVGV4dCgpIGNv
bnN0IHsgcmV0dXJuIHBhaW50QmVoYXZpb3IgJiBQYWludEJlaGF2aW9yRm9yY2VXaGl0ZVRleHQ7
IH0KKyAgICBDb2xvciBmb3JjZWRUZXh0Q29sb3IoKSBjb25zdCB7IHJldHVybiAoZm9yY2VCbGFj
a1RleHQoKSkgPyBDb2xvcjo6YmxhY2sgOiBDb2xvcjo6d2hpdGU7IH0KIAogICAgIGJvb2wgc2tp
cFJvb3RCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1cm4gcGFpbnRCZWhhdmlvciAmIFBhaW50QmVo
YXZpb3JTa2lwUm9vdEJhY2tncm91bmQ7IH0KICAgICBib29sIHBhaW50Um9vdEJhY2tncm91bmRP
bmx5KCkgY29uc3QgeyByZXR1cm4gcGFpbnRCZWhhdmlvciAmIFBhaW50QmVoYXZpb3JSb290QmFj
a2dyb3VuZE9ubHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9QYWlu
dFBoYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUGFpbnRQaGFzZS5oCmluZGV4IGFm
MGJkNTliOTNlNGZlNGY3YWIyM2M5YjMwMDhiYjkwMWM0Y2MyOTUuLjAzZGMyYWQwZTE0YjNjMjlh
OTgyMDRmNWEwOGZmMDZiNjYyNzJlMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9QYWludFBoYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50UGhh
c2UuaApAQCAtNTksNyArNTksOCBAQCBlbnVtIFBhaW50QmVoYXZpb3JGbGFncyB7CiAgICAgUGFp
bnRCZWhhdmlvckZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyA9IDEgPDwgMiwKICAgICBQYWludEJl
aGF2aW9yUmVuZGVyaW5nU1ZHTWFzayA9IDEgPDwgMywKICAgICBQYWludEJlaGF2aW9yU2tpcFJv
b3RCYWNrZ3JvdW5kID0gMSA8PCA0LAotICAgIFBhaW50QmVoYXZpb3JSb290QmFja2dyb3VuZE9u
bHkgPSAxIDw8IDUKKyAgICBQYWludEJlaGF2aW9yUm9vdEJhY2tncm91bmRPbmx5ID0gMSA8PCA1
LAorICAgIFBhaW50QmVoYXZpb3JGb3JjZVdoaXRlVGV4dCA9IDEgPDwgNiwKIH07CiAKIHR5cGVk
ZWYgdW5zaWduZWQgUGFpbnRCZWhhdmlvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCmluZGV4IDM4MWZmMjU4Mzk4OGZlYTM5ZWM3NDgwMDRjZWQ3ZTRjNWQ0YjAzZTIu
LmUzZWE1NDVjZWM5ZjNhNDAxNmE4NTk2ZmFiMzQwOGYwZjE4OTUxODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDA0Nyw3ICs0MDQ3LDYgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgTGF5ZXJQYWludGkKICAgICBpZiAobG9jYWxQYWludGluZ0luZm8ub3ZlcmxhcFRlc3RS
ZXF1ZXN0cyAmJiBpc1NlbGZQYWludGluZ0xheWVyKQogICAgICAgICBwZXJmb3JtT3ZlcmxhcFRl
c3RzKCpsb2NhbFBhaW50aW5nSW5mby5vdmVybGFwVGVzdFJlcXVlc3RzLCBsb2NhbFBhaW50aW5n
SW5mby5yb290TGF5ZXIsIHRoaXMpOwogCi0gICAgYm9vbCBmb3JjZUJsYWNrVGV4dCA9IGxvY2Fs
UGFpbnRpbmdJbmZvLnBhaW50QmVoYXZpb3IgJiBQYWludEJlaGF2aW9yRm9yY2VCbGFja1RleHQ7
CiAgICAgYm9vbCBzZWxlY3Rpb25Pbmx5ICA9IGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50QmVoYXZp
b3IgJiBQYWludEJlaGF2aW9yU2VsZWN0aW9uT25seTsKICAgICAKICAgICBQYWludEJlaGF2aW9y
IHBhaW50QmVoYXZpb3IgPSBQYWludEJlaGF2aW9yTm9ybWFsOwpAQCAtNDA4Nyw3ICs0MDg2LDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgTGF5ZXJQYWludGkKICAgICBpZiAoaXNQYWludGluZ0NvbXBvc2l0ZWRG
b3JlZ3JvdW5kKSB7CiAgICAgICAgIGlmIChzaG91bGRQYWludENvbnRlbnQpCiAgICAgICAgICAg
ICBwYWludEZvcmVncm91bmRGb3JGcmFnbWVudHMobGF5ZXJGcmFnbWVudHMsIGNvbnRleHQsIHRy
YW5zcGFyZW5jeUxheWVyQ29udGV4dCwgcGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0LCBoYXZl
VHJhbnNwYXJlbmN5LAotICAgICAgICAgICAgICAgIGxvY2FsUGFpbnRpbmdJbmZvLCBwYWludEJl
aGF2aW9yLCBzdWJ0cmVlUGFpbnRSb290Rm9yUmVuZGVyZXIsIHNlbGVjdGlvbk9ubHksIGZvcmNl
QmxhY2tUZXh0KTsKKyAgICAgICAgICAgICAgICBsb2NhbFBhaW50aW5nSW5mbywgcGFpbnRCZWhh
dmlvciwgc3VidHJlZVBhaW50Um9vdEZvclJlbmRlcmVyLCBzZWxlY3Rpb25Pbmx5KTsKICAgICB9
CiAKICAgICBpZiAoc2hvdWxkUGFpbnRPdXRsaW5lKQpAQCAtNDQyOCw3ICs0NDI3LDcgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6cGFpbnRCYWNrZ3JvdW5kRm9yRnJhZ21lbnRzKGNvbnN0IExheWVyRnJh
Z21lbnRzJiBsYXllckZyYWdtZW4KIAogdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRGb3JlZ3JvdW5k
Rm9yRnJhZ21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW50cywgR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBHcmFwaGljc0NvbnRleHQqIHRyYW5zcGFyZW5jeUxheWVyQ29u
dGV4dCwKICAgICBjb25zdCBMYXlvdXRSZWN0JiB0cmFuc3BhcmVuY3lQYWludERpcnR5UmVjdCwg
Ym9vbCBoYXZlVHJhbnNwYXJlbmN5LCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYgbG9jYWxQYWlu
dGluZ0luZm8sIFBhaW50QmVoYXZpb3IgcGFpbnRCZWhhdmlvciwKLSAgICBSZW5kZXJPYmplY3Qq
IHN1YnRyZWVQYWludFJvb3RGb3JSZW5kZXJlciwgYm9vbCBzZWxlY3Rpb25Pbmx5LCBib29sIGZv
cmNlQmxhY2tUZXh0KQorICAgIFJlbmRlck9iamVjdCogc3VidHJlZVBhaW50Um9vdEZvclJlbmRl
cmVyLCBib29sIHNlbGVjdGlvbk9ubHkpCiB7CiAgICAgLy8gQmVnaW4gdHJhbnNwYXJlbmN5IGlm
IHdlIGhhdmUgc29tZXRoaW5nIHRvIHBhaW50LgogICAgIGlmIChoYXZlVHJhbnNwYXJlbmN5KSB7
CkBAIC00NDQwLDggKzQ0MzksMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRGb3JlZ3JvdW5k
Rm9yRnJhZ21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW4KICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgICAKLSAgICBQYWludEJlaGF2aW9yIGxvY2FsUGFp
bnRCZWhhdmlvciA9IGZvcmNlQmxhY2tUZXh0ID8gKFBhaW50QmVoYXZpb3IpUGFpbnRCZWhhdmlv
ckZvcmNlQmxhY2tUZXh0IDogcGFpbnRCZWhhdmlvcjsKKworICAgIFBhaW50QmVoYXZpb3IgbG9j
YWxQYWludEJlaGF2aW9yOworICAgIGlmIChsb2NhbFBhaW50aW5nSW5mby5wYWludEJlaGF2aW9y
ICYgUGFpbnRCZWhhdmlvckZvcmNlQmxhY2tUZXh0KQorICAgICAgICBsb2NhbFBhaW50QmVoYXZp
b3IgPSBQYWludEJlaGF2aW9yRm9yY2VCbGFja1RleHQ7CisgICAgZWxzZSBpZiAobG9jYWxQYWlu
dGluZ0luZm8ucGFpbnRCZWhhdmlvciAmIFBhaW50QmVoYXZpb3JGb3JjZVdoaXRlVGV4dCkKKyAg
ICAgICAgbG9jYWxQYWludEJlaGF2aW9yID0gUGFpbnRCZWhhdmlvckZvcmNlV2hpdGVUZXh0Owor
ICAgIGVsc2UKKyAgICAgICAgbG9jYWxQYWludEJlaGF2aW9yID0gcGFpbnRCZWhhdmlvcjsKIAog
ICAgIC8vIE9wdGltaXplIGNsaXBwaW5nIGZvciB0aGUgc2luZ2xlIGZyYWdtZW50IGNhc2UuCiAg
ICAgYm9vbCBzaG91bGRDbGlwID0gbG9jYWxQYWludGluZ0luZm8uY2xpcFRvRGlydHlSZWN0ICYm
IGxheWVyRnJhZ21lbnRzLnNpemUoKSA9PSAxICYmIGxheWVyRnJhZ21lbnRzWzBdLnNob3VsZFBh
aW50Q29udGVudCAmJiAhbGF5ZXJGcmFnbWVudHNbMF0uZm9yZWdyb3VuZFJlY3QuaXNFbXB0eSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAyNmNjZjYzNzRkNDc2
YzY5ZGZmYzQ1OTMzYzQ4ZmI2MjI2NTQwMDdkLi4yNjY1NTlhZmZiOGNmYTA4OGMwZWFjMDM4ZmQ2
ZWI3YzlmOGIxZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAt
MTAwNCw3ICsxMDA0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgTGF5b3V0UmVjdCYgdHJh
bnNwYXJlbmN5UGFpbnREaXJ0eVJlY3QsIGJvb2wgaGF2ZVRyYW5zcGFyZW5jeSwgY29uc3QgTGF5
ZXJQYWludGluZ0luZm8mLCBQYWludEJlaGF2aW9yLCBSZW5kZXJPYmplY3QqIHBhaW50aW5nUm9v
dEZvclJlbmRlcmVyKTsKICAgICB2b2lkIHBhaW50Rm9yZWdyb3VuZEZvckZyYWdtZW50cyhjb25z
dCBMYXllckZyYWdtZW50cyYsIEdyYXBoaWNzQ29udGV4dCosIEdyYXBoaWNzQ29udGV4dCogdHJh
bnNwYXJlbmN5TGF5ZXJDb250ZXh0LAogICAgICAgICBjb25zdCBMYXlvdXRSZWN0JiB0cmFuc3Bh
cmVuY3lQYWludERpcnR5UmVjdCwgYm9vbCBoYXZlVHJhbnNwYXJlbmN5LCBjb25zdCBMYXllclBh
aW50aW5nSW5mbyYsIFBhaW50QmVoYXZpb3IsIFJlbmRlck9iamVjdCogcGFpbnRpbmdSb290Rm9y
UmVuZGVyZXIsCi0gICAgICAgIGJvb2wgc2VsZWN0aW9uT25seSwgYm9vbCBmb3JjZUJsYWNrVGV4
dCk7CisgICAgICAgIGJvb2wgc2VsZWN0aW9uT25seSk7CiAgICAgdm9pZCBwYWludEZvcmVncm91
bmRGb3JGcmFnbWVudHNXaXRoUGhhc2UoUGFpbnRQaGFzZSwgY29uc3QgTGF5ZXJGcmFnbWVudHMm
LCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYsIFBhaW50QmVoYXZp
b3IsIFJlbmRlck9iamVjdCogcGFpbnRpbmdSb290Rm9yUmVuZGVyZXIpOwogICAgIHZvaWQgcGFp
bnRPdXRsaW5lRm9yRnJhZ21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiwgR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgTGF5ZXJQYWludGluZ0luZm8mLCBQYWludEJlaGF2aW9yLCBSZW5kZXJPYmpl
Y3QqIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyKTsKICAgICB2b2lkIHBhaW50T3ZlcmZsb3dDb250
cm9sc0ZvckZyYWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYsIEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rl
eHRQYWludFN0eWxlLmNwcAppbmRleCAyMzk4OGY0ODg5ZTNjOThhMjZmODkxZjMzM2UxYjI0MzMy
NDIzOWY0Li43ODcyNGU1NmU3OThmYjMwZjcxMjZmNWE3MmI4MDcwNjY1ODg0OWU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAKQEAgLTgwLDEwICs4MCwx
MCBAQCBUZXh0UGFpbnRTdHlsZSBjb21wdXRlVGV4dFBhaW50U3R5bGUoY29uc3QgUmVuZGVyVGV4
dCYgcmVuZGVyZXIsIGNvbnN0IFJlbmRlclN0eQogI2VuZGlmCiAgICAgcGFpbnRTdHlsZS5zdHJv
a2VXaWR0aCA9IGxpbmVTdHlsZS50ZXh0U3Ryb2tlV2lkdGgoKTsKIAotICAgIGlmIChwYWludElu
Zm8uZm9yY2VCbGFja1RleHQoKSkgewotICAgICAgICBwYWludFN0eWxlLmZpbGxDb2xvciA9IENv
bG9yOjpibGFjazsKLSAgICAgICAgcGFpbnRTdHlsZS5zdHJva2VDb2xvciA9IENvbG9yOjpibGFj
azsKLSAgICAgICAgcGFpbnRTdHlsZS5lbXBoYXNpc01hcmtDb2xvciA9IENvbG9yOjpibGFjazsK
KyAgICBpZiAocGFpbnRJbmZvLmZvcmNlVGV4dENvbG9yKCkpIHsKKyAgICAgICAgcGFpbnRTdHls
ZS5maWxsQ29sb3IgPSBwYWludEluZm8uZm9yY2VkVGV4dENvbG9yKCk7CisgICAgICAgIHBhaW50
U3R5bGUuc3Ryb2tlQ29sb3IgPSBwYWludEluZm8uZm9yY2VkVGV4dENvbG9yKCk7CisgICAgICAg
IHBhaW50U3R5bGUuZW1waGFzaXNNYXJrQ29sb3IgPSBwYWludEluZm8uZm9yY2VkVGV4dENvbG9y
KCk7CiAgICAgICAgIHJldHVybiBwYWludFN0eWxlOwogICAgIH0KICAgICBwYWludFN0eWxlLmZp
bGxDb2xvciA9IGxpbmVTdHlsZS52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RmlsbENvbG9yKTsKQEAgLTExOSwxOSArMTE5LDE5IEBAIFRleHRQYWludFN0eWxlIGNv
bXB1dGVUZXh0U2VsZWN0aW9uUGFpbnRTdHlsZShjb25zdCBUZXh0UGFpbnRTdHlsZSYgdGV4dFBh
aW50U3R5CiB7CiAgICAgcGFpbnRTZWxlY3RlZFRleHRPbmx5ID0gKHBhaW50SW5mby5waGFzZSA9
PSBQYWludFBoYXNlU2VsZWN0aW9uKTsKICAgICBwYWludFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkg
PSBmYWxzZTsKLSAgICBzZWxlY3Rpb25TaGFkb3cgPSBwYWludEluZm8uZm9yY2VCbGFja1RleHQo
KSA/IG51bGxwdHIgOiBsaW5lU3R5bGUudGV4dFNoYWRvdygpOworICAgIHNlbGVjdGlvblNoYWRv
dyA9IChwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSkgPyBudWxscHRyIDogbGluZVN0eWxlLnRl
eHRTaGFkb3coKTsKIAogICAgIFRleHRQYWludFN0eWxlIHNlbGVjdGlvblBhaW50U3R5bGUgPSB0
ZXh0UGFpbnRTdHlsZTsKIAogI2lmIEVOQUJMRShURVhUX1NFTEVDVElPTikKLSAgICBDb2xvciBm
b3JlZ3JvdW5kID0gcGFpbnRJbmZvLmZvcmNlQmxhY2tUZXh0KCkgPyBDb2xvcjo6YmxhY2sgOiBy
ZW5kZXJlci5zZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKTsKKyAgICBDb2xvciBmb3JlZ3JvdW5k
ID0gcGFpbnRJbmZvLmZvcmNlVGV4dENvbG9yKCkgPyBwYWludEluZm8uZm9yY2VkVGV4dENvbG9y
KCkgOiByZW5kZXJlci5zZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKTsKICAgICBpZiAoZm9yZWdy
b3VuZC5pc1ZhbGlkKCkgJiYgZm9yZWdyb3VuZCAhPSBzZWxlY3Rpb25QYWludFN0eWxlLmZpbGxD
b2xvcikgewogICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKICAgICAgICAgICAg
IHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7CiAgICAgICAgIHNlbGVjdGlvblBh
aW50U3R5bGUuZmlsbENvbG9yID0gZm9yZWdyb3VuZDsKICAgICB9CiAKLSAgICBDb2xvciBlbXBo
YXNpc01hcmtGb3JlZ3JvdW5kID0gcGFpbnRJbmZvLmZvcmNlQmxhY2tUZXh0KCkgPyBDb2xvcjo6
YmxhY2sgOiByZW5kZXJlci5zZWxlY3Rpb25FbXBoYXNpc01hcmtDb2xvcigpOworICAgIENvbG9y
IGVtcGhhc2lzTWFya0ZvcmVncm91bmQgPSBwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSA/IHBh
aW50SW5mby5mb3JjZWRUZXh0Q29sb3IoKSA6IHJlbmRlcmVyLnNlbGVjdGlvbkVtcGhhc2lzTWFy
a0NvbG9yKCk7CiAgICAgaWYgKGVtcGhhc2lzTWFya0ZvcmVncm91bmQuaXNWYWxpZCgpICYmIGVt
cGhhc2lzTWFya0ZvcmVncm91bmQgIT0gc2VsZWN0aW9uUGFpbnRTdHlsZS5lbXBoYXNpc01hcmtD
b2xvcikgewogICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKICAgICAgICAgICAg
IHBhaW50U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7CkBAIC0xMzksNyArMTM5LDcgQEAg
VGV4dFBhaW50U3R5bGUgY29tcHV0ZVRleHRTZWxlY3Rpb25QYWludFN0eWxlKGNvbnN0IFRleHRQ
YWludFN0eWxlJiB0ZXh0UGFpbnRTdHkKICAgICB9CiAKICAgICBpZiAoUmVuZGVyU3R5bGUqIHBz
ZXVkb1N0eWxlID0gcmVuZGVyZXIuZ2V0Q2FjaGVkUHNldWRvU3R5bGUoU0VMRUNUSU9OKSkgewot
ICAgICAgICBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cgPSBwYWludEluZm8uZm9yY2VCbGFja1Rl
eHQoKSA/IDAgOiBwc2V1ZG9TdHlsZS0+dGV4dFNoYWRvdygpOworICAgICAgICBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3cgPSBwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSA/IDAgOiBwc2V1ZG9T
dHlsZS0+dGV4dFNoYWRvdygpOwogICAgICAgICBpZiAoc2hhZG93ICE9IHNlbGVjdGlvblNoYWRv
dykgewogICAgICAgICAgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCiAgICAgICAgICAg
ICAgICAgcGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gdHJ1ZTsKQEAgLTE1Myw3ICsxNTMs
NyBAQCBUZXh0UGFpbnRTdHlsZSBjb21wdXRlVGV4dFNlbGVjdGlvblBhaW50U3R5bGUoY29uc3Qg
VGV4dFBhaW50U3R5bGUmIHRleHRQYWludFN0eQogICAgICAgICAgICAgc2VsZWN0aW9uUGFpbnRT
dHlsZS5zdHJva2VXaWR0aCA9IHN0cm9rZVdpZHRoOwogICAgICAgICB9CiAKLSAgICAgICAgQ29s
b3Igc3Ryb2tlID0gcGFpbnRJbmZvLmZvcmNlQmxhY2tUZXh0KCkgPyBDb2xvcjo6YmxhY2sgOiBw
c2V1ZG9TdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0VGV4dFN0
cm9rZUNvbG9yKTsKKyAgICAgICAgQ29sb3Igc3Ryb2tlID0gcGFpbnRJbmZvLmZvcmNlVGV4dENv
bG9yKCkgPyBwYWludEluZm8uZm9yY2VkVGV4dENvbG9yKCkgOiBwc2V1ZG9TdHlsZS0+dmlzaXRl
ZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZUNvbG9yKTsKICAgICAg
ICAgaWYgKHN0cm9rZSAhPSBzZWxlY3Rpb25QYWludFN0eWxlLnN0cm9rZUNvbG9yKSB7CiAgICAg
ICAgICAgICBpZiAoIXBhaW50U2VsZWN0ZWRUZXh0T25seSkKICAgICAgICAgICAgICAgICBwYWlu
dFNlbGVjdGVkVGV4dFNlcGFyYXRlbHkgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236061</attachid>
            <date>2014-08-05 16:03:36 -0700</date>
            <delta_ts>2014-08-05 16:40:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135625-20140805160331.patch</filename>
            <type>text/plain</type>
            <size>13587</size>
            <attacher name="Peyton Randolph">prandolph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU1YmQwNmRkM2M5YWI5
MWM2MmRiMTY1ZmJhMTE4NDVkNzRhYThmYS4uYzk2MGNkODBjNWQ1NmMyNzg3MjY5NTZjNWY1ZTRk
MTMyMTZkMWFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTA4LTA1ICBQZXl0
b24gUmFuZG9scGggIDxwcmFuZG9scGhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0aGUgYWJp
bGl0eSB0byBmb3JjZSB0ZXh0IHRvIHJlbmRlciBpbiB3aGl0ZSwgbm90IGp1c3QgYmxhY2sKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTYyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
aW50cm9kdWNlcyBQYWludEJlaGF2aW9yRm9yY2VXaGl0ZVRleHQsIGEgY29tcGxlbWVudCB0byBQ
YWludEJlaGF2aW9yRm9yY2VCbGFja1RleHQuIElmCisgICAgICAgIGEgY2xpZW50IHNwZWNpZmll
cyBib3RoIFBhaW50QmVoYXZpb3JGb3JjZVdoaXRlVGV4dCBhbmQgUGFpbnRCZWhhdmlvckZvcmNl
QmxhY2tUZXh0LCB0aGUgdGV4dCB3aWxsIGJlCisgICAgICAgIHBhaW50ZWQgYmxhY2suCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkVsbGlwc2lzQm94OjpwYWludCk6IFVzZSB0aGUgZm9yY2Vk
IHRleHQgY29sb3IgdG8gcGFpbnQgdGhlIHRleHQgaWYgcmVxdWVzdGVkLgorICAgICAgICAqIHJl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRC
b3g6OnBhaW50KTogRGlzYWJsZSB0aGUgdGV4dCBzaGFkb3cgaWYgYSB0ZXh0IGNvbG9yIGhhcyBi
ZWVuIGZvcmNlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUGFpbnRJbmZvLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQYWludEluZm86OmZvcmNlVGV4dENvbG9yKTogCisgICAgICAgIFJldHVybiB0cnVl
IGlmZiB0aGUgY2xpZW50IGhhcyByZXF1ZXN0ZWQgdG8gZm9yY2UgYSBibGFjayBvciB3aGl0ZSB0
ZXh0IGNvbG9yLgorICAgICAgICAoV2ViQ29yZTo6UGFpbnRJbmZvOjpmb3JjZVdoaXRlVGV4dCk6
CisgICAgICAgIFJldHVybiB0cnVlIGlmZiBmb3JjaW5nIHdoaXRlIHRleHQgaGFzIGJlZW4gcmVx
dWVzdGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFpbnRJbmZvOjpmb3JjZWRUZXh0Q29sb3IpOiAK
KyAgICAgICAgUmV0dXJuIHRoZSBmb3JjZWQgdGV4dCBjb2xvci4gQ3VycmVudGx5IG9ubHkgd2hp
dGUgYW5kIGJsYWNrIGFyZSBzdXBwb3J0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1BhaW50UGhh
c2UuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyk6IFJlbW92ZSB0aGUgZm9yY2VC
bGFja1RleHQtcmVsYXRlZCBjb2RlIGFzIGl0IGlzIHJlZHVuZGFudC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpwYWludEZvcmVncm91bmRGb3JGcmFnbWVudHMpOiAKKyAgICAgICAg
UmVtb3ZlIGZvcmNlQmxhY2tUZXh0IHBhcmFtZXRlciBhbmQgaW5mZXIgdGhlIGNvcnJlY3QgYmVo
YXZpb3IgZnJvbSB0aGUgZ2l2ZW4gcGFpbnQgYmVoYXZpb3IuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVUZXh0UGFpbnRTdHlsZSk6IFVzZSB0aGUgZm9yY2Vk
IHRleHQgY29sb3IgaWYgYXZhaWxhYmxlLgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVRleHRT
ZWxlY3Rpb25QYWludFN0eWxlKTogVXNlIHRoZSBmb3JjZWQgdGV4dCBjb2xvciBpZiBhdmFpbGFi
bGUuCisKIDIwMTQtMDgtMDUgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT046IEV4dHJlbWVseSBmbGFzaHkgc2Nyb2xsaW5nIHdoaWxlIGEgcGFn
ZSBpcyBzdGlsbCBsb2FkaW5nIChiZWNhdXNlIG9mIGZsdXNoIHRocm90dGxpbmcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAppbmRleCA4MzYxODA4NDIxYWVhODk4Nzk2
ZWFiYmRmNGM2ZTJiYTQwMTg2M2YzLi44NzNjNDA4YzVhYTk3NGQxN2M1NjU5MTA3ZjdiNDVjNGE3
ZDIzZWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKQEAgLTU5
LDcgKzU5LDcgQEAgdm9pZCBFbGxpcHNpc0JveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCwgTGEKICAgICAgICAgcGFpbnRTZWxlY3Rp
b24oY29udGV4dCwgcGFpbnRPZmZzZXQsIGxpbmVTdHlsZSwgZm9udCk7CiAKICAgICAgICAgLy8g
U2VsZWN0IHRoZSBjb3JyZWN0IGNvbG9yIGZvciBwYWludGluZyB0aGUgdGV4dC4KLSAgICAgICAg
Q29sb3IgZm9yZWdyb3VuZCA9IHBhaW50SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gQ29sb3I6OmJs
YWNrIDogYmxvY2tGbG93KCkuc2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCk7CisgICAgICAgIENv
bG9yIGZvcmVncm91bmQgPSBwYWludEluZm8uZm9yY2VUZXh0Q29sb3IoKSA/IHBhaW50SW5mby5m
b3JjZWRUZXh0Q29sb3IoKSA6IGJsb2NrRmxvdygpLnNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigp
OwogICAgICAgICBpZiAoZm9yZWdyb3VuZC5pc1ZhbGlkKCkgJiYgZm9yZWdyb3VuZCAhPSB0ZXh0
Q29sb3IpCiAgICAgICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoZm9yZWdyb3VuZCwgbGlu
ZVN0eWxlLmNvbG9yU3BhY2UoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCmluZGV4IDI3ZjRmODliMWE2MWRlNDU0NGY0MDU0YjIzNTZjNDkyNDFl
NjY3OWEuLjU4NjQ3ZTE5NDVlZmZhODZlNDViOWM5ZDNkNTA2YmZkMWViY2MxZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTYyOCw3ICs2MjgsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAgICAgaWYgKCFlbXBoYXNpc01hcmsuaXNFbXB0eSgp
KQogICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBlbXBoYXNpc01hcmtBYm92ZSA/IC1mb250
LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFz
aXNNYXJrKSA6IGZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCkgKyBmb250LmVtcGhhc2lzTWFy
a0FzY2VudChlbXBoYXNpc01hcmspOwogCi0gICAgY29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRv
dyA9IHBhaW50SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gMCA6IGxpbmVTdHlsZS50ZXh0U2hhZG93
KCk7CisgICAgY29uc3QgU2hhZG93RGF0YSogdGV4dFNoYWRvdyA9IChwYWludEluZm8uZm9yY2VU
ZXh0Q29sb3IoKSkgPyBudWxscHRyIDogbGluZVN0eWxlLnRleHRTaGFkb3coKTsKIAogICAgIEZs
b2F0UG9pbnQgdGV4dE9yaWdpbihib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgZm9udC5m
b250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBpZiAoY29tYmluZWRUZXh0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1BhaW50SW5mby5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1BhaW50SW5mby5oCmluZGV4IDM3OWY5MjMwY2E1ZTJiODdlZDI3MGFlMzkzZTE3
NjUxODA2MDY3YzkuLjk0YTA2MDlhNThiODlkNzg2NmU5ZjY5ZGQ2MjY5YTM3ZmZjMTM0ZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9QYWludEluZm8uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUGFpbnRJbmZvLmgKQEAgLTgwLDcgKzgwLDEwIEBAIHN0cnVj
dCBQYWludEluZm8gewogICAgICAgICByZXR1cm4gIXN1YnRyZWVQYWludFJvb3QgfHwgc3VidHJl
ZVBhaW50Um9vdCA9PSAmcmVuZGVyZXI7CiAgICAgfQogCisgICAgYm9vbCBmb3JjZVRleHRDb2xv
cigpIGNvbnN0IHsgcmV0dXJuIGZvcmNlQmxhY2tUZXh0KCkgfHwgZm9yY2VXaGl0ZVRleHQoKTsg
fQogICAgIGJvb2wgZm9yY2VCbGFja1RleHQoKSBjb25zdCB7IHJldHVybiBwYWludEJlaGF2aW9y
ICYgUGFpbnRCZWhhdmlvckZvcmNlQmxhY2tUZXh0OyB9CisgICAgYm9vbCBmb3JjZVdoaXRlVGV4
dCgpIGNvbnN0IHsgcmV0dXJuIHBhaW50QmVoYXZpb3IgJiBQYWludEJlaGF2aW9yRm9yY2VXaGl0
ZVRleHQ7IH0KKyAgICBDb2xvciBmb3JjZWRUZXh0Q29sb3IoKSBjb25zdCB7IHJldHVybiAoZm9y
Y2VCbGFja1RleHQoKSkgPyBDb2xvcjo6YmxhY2sgOiBDb2xvcjo6d2hpdGU7IH0KIAogICAgIGJv
b2wgc2tpcFJvb3RCYWNrZ3JvdW5kKCkgY29uc3QgeyByZXR1cm4gcGFpbnRCZWhhdmlvciAmIFBh
aW50QmVoYXZpb3JTa2lwUm9vdEJhY2tncm91bmQ7IH0KICAgICBib29sIHBhaW50Um9vdEJhY2tn
cm91bmRPbmx5KCkgY29uc3QgeyByZXR1cm4gcGFpbnRCZWhhdmlvciAmIFBhaW50QmVoYXZpb3JS
b290QmFja2dyb3VuZE9ubHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9QYWludFBoYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUGFpbnRQaGFzZS5oCmlu
ZGV4IGFmMGJkNTliOTNlNGZlNGY3YWIyM2M5YjMwMDhiYjkwMWM0Y2MyOTUuLjBiYmY5OWE3ZDBj
ZjVhMDljYTg1YzMwZGYwNjFhMzZkN2NhYzAyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9QYWludFBoYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bh
aW50UGhhc2UuaApAQCAtNTYsMTAgKzU2LDExIEBAIGVudW0gUGFpbnRCZWhhdmlvckZsYWdzIHsK
ICAgICBQYWludEJlaGF2aW9yTm9ybWFsID0gMCwKICAgICBQYWludEJlaGF2aW9yU2VsZWN0aW9u
T25seSA9IDEgPDwgMCwKICAgICBQYWludEJlaGF2aW9yRm9yY2VCbGFja1RleHQgPSAxIDw8IDEs
Ci0gICAgUGFpbnRCZWhhdmlvckZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyA9IDEgPDwgMiwKLSAg
ICBQYWludEJlaGF2aW9yUmVuZGVyaW5nU1ZHTWFzayA9IDEgPDwgMywKLSAgICBQYWludEJlaGF2
aW9yU2tpcFJvb3RCYWNrZ3JvdW5kID0gMSA8PCA0LAotICAgIFBhaW50QmVoYXZpb3JSb290QmFj
a2dyb3VuZE9ubHkgPSAxIDw8IDUKKyAgICBQYWludEJlaGF2aW9yRm9yY2VXaGl0ZVRleHQgPSAx
IDw8IDIsCisgICAgUGFpbnRCZWhhdmlvckZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyA9IDEgPDwg
MywKKyAgICBQYWludEJlaGF2aW9yUmVuZGVyaW5nU1ZHTWFzayA9IDEgPDwgNCwKKyAgICBQYWlu
dEJlaGF2aW9yU2tpcFJvb3RCYWNrZ3JvdW5kID0gMSA8PCA1LAorICAgIFBhaW50QmVoYXZpb3JS
b290QmFja2dyb3VuZE9ubHkgPSAxIDw8IDYsCiB9OwogCiB0eXBlZGVmIHVuc2lnbmVkIFBhaW50
QmVoYXZpb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAz
ODFmZjI1ODM5ODhmZWEzOWVjNzQ4MDA0Y2VkN2U0YzVkNGIwM2UyLi5lM2VhNTQ1Y2VjOWYzYTQw
MTZhODU5NmZhYjM0MDhmMGYxODk1MTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTQwNDcsNyArNDA0Nyw2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50
TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRp
CiAgICAgaWYgKGxvY2FsUGFpbnRpbmdJbmZvLm92ZXJsYXBUZXN0UmVxdWVzdHMgJiYgaXNTZWxm
UGFpbnRpbmdMYXllcikKICAgICAgICAgcGVyZm9ybU92ZXJsYXBUZXN0cygqbG9jYWxQYWludGlu
Z0luZm8ub3ZlcmxhcFRlc3RSZXF1ZXN0cywgbG9jYWxQYWludGluZ0luZm8ucm9vdExheWVyLCB0
aGlzKTsKIAotICAgIGJvb2wgZm9yY2VCbGFja1RleHQgPSBsb2NhbFBhaW50aW5nSW5mby5wYWlu
dEJlaGF2aW9yICYgUGFpbnRCZWhhdmlvckZvcmNlQmxhY2tUZXh0OwogICAgIGJvb2wgc2VsZWN0
aW9uT25seSAgPSBsb2NhbFBhaW50aW5nSW5mby5wYWludEJlaGF2aW9yICYgUGFpbnRCZWhhdmlv
clNlbGVjdGlvbk9ubHk7CiAgICAgCiAgICAgUGFpbnRCZWhhdmlvciBwYWludEJlaGF2aW9yID0g
UGFpbnRCZWhhdmlvck5vcm1hbDsKQEAgLTQwODcsNyArNDA4Niw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExh
eWVyUGFpbnRpCiAgICAgaWYgKGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdyb3VuZCkgewogICAg
ICAgICBpZiAoc2hvdWxkUGFpbnRDb250ZW50KQogICAgICAgICAgICAgcGFpbnRGb3JlZ3JvdW5k
Rm9yRnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCBjb250ZXh0LCB0cmFuc3BhcmVuY3lMYXllckNv
bnRleHQsIHBhaW50aW5nSW5mby5wYWludERpcnR5UmVjdCwgaGF2ZVRyYW5zcGFyZW5jeSwKLSAg
ICAgICAgICAgICAgICBsb2NhbFBhaW50aW5nSW5mbywgcGFpbnRCZWhhdmlvciwgc3VidHJlZVBh
aW50Um9vdEZvclJlbmRlcmVyLCBzZWxlY3Rpb25Pbmx5LCBmb3JjZUJsYWNrVGV4dCk7CisgICAg
ICAgICAgICAgICAgbG9jYWxQYWludGluZ0luZm8sIHBhaW50QmVoYXZpb3IsIHN1YnRyZWVQYWlu
dFJvb3RGb3JSZW5kZXJlciwgc2VsZWN0aW9uT25seSk7CiAgICAgfQogCiAgICAgaWYgKHNob3Vs
ZFBhaW50T3V0bGluZSkKQEAgLTQ0MjgsNyArNDQyNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBh
aW50QmFja2dyb3VuZEZvckZyYWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYgbGF5ZXJGcmFn
bWVuCiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50Rm9yZWdyb3VuZEZvckZyYWdtZW50cyhjb25z
dCBMYXllckZyYWdtZW50cyYgbGF5ZXJGcmFnbWVudHMsIEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgR3JhcGhpY3NDb250ZXh0KiB0cmFuc3BhcmVuY3lMYXllckNvbnRleHQsCiAgICAgY29uc3Qg
TGF5b3V0UmVjdCYgdHJhbnNwYXJlbmN5UGFpbnREaXJ0eVJlY3QsIGJvb2wgaGF2ZVRyYW5zcGFy
ZW5jeSwgY29uc3QgTGF5ZXJQYWludGluZ0luZm8mIGxvY2FsUGFpbnRpbmdJbmZvLCBQYWludEJl
aGF2aW9yIHBhaW50QmVoYXZpb3IsCi0gICAgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUGFpbnRSb290
Rm9yUmVuZGVyZXIsIGJvb2wgc2VsZWN0aW9uT25seSwgYm9vbCBmb3JjZUJsYWNrVGV4dCkKKyAg
ICBSZW5kZXJPYmplY3QqIHN1YnRyZWVQYWludFJvb3RGb3JSZW5kZXJlciwgYm9vbCBzZWxlY3Rp
b25Pbmx5KQogewogICAgIC8vIEJlZ2luIHRyYW5zcGFyZW5jeSBpZiB3ZSBoYXZlIHNvbWV0aGlu
ZyB0byBwYWludC4KICAgICBpZiAoaGF2ZVRyYW5zcGFyZW5jeSkgewpAQCAtNDQ0MCw4ICs0NDM5
LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50Rm9yZWdyb3VuZEZvckZyYWdtZW50cyhjb25z
dCBMYXllckZyYWdtZW50cyYgbGF5ZXJGcmFnbWVuCiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9Ci0gICAgCi0gICAgUGFpbnRCZWhhdmlvciBsb2NhbFBhaW50QmVoYXZpb3IgPSBmb3Jj
ZUJsYWNrVGV4dCA/IChQYWludEJlaGF2aW9yKVBhaW50QmVoYXZpb3JGb3JjZUJsYWNrVGV4dCA6
IHBhaW50QmVoYXZpb3I7CisKKyAgICBQYWludEJlaGF2aW9yIGxvY2FsUGFpbnRCZWhhdmlvcjsK
KyAgICBpZiAobG9jYWxQYWludGluZ0luZm8ucGFpbnRCZWhhdmlvciAmIFBhaW50QmVoYXZpb3JG
b3JjZUJsYWNrVGV4dCkKKyAgICAgICAgbG9jYWxQYWludEJlaGF2aW9yID0gUGFpbnRCZWhhdmlv
ckZvcmNlQmxhY2tUZXh0OworICAgIGVsc2UgaWYgKGxvY2FsUGFpbnRpbmdJbmZvLnBhaW50QmVo
YXZpb3IgJiBQYWludEJlaGF2aW9yRm9yY2VXaGl0ZVRleHQpCisgICAgICAgIGxvY2FsUGFpbnRC
ZWhhdmlvciA9IFBhaW50QmVoYXZpb3JGb3JjZVdoaXRlVGV4dDsKKyAgICBlbHNlCisgICAgICAg
IGxvY2FsUGFpbnRCZWhhdmlvciA9IHBhaW50QmVoYXZpb3I7CiAKICAgICAvLyBPcHRpbWl6ZSBj
bGlwcGluZyBmb3IgdGhlIHNpbmdsZSBmcmFnbWVudCBjYXNlLgogICAgIGJvb2wgc2hvdWxkQ2xp
cCA9IGxvY2FsUGFpbnRpbmdJbmZvLmNsaXBUb0RpcnR5UmVjdCAmJiBsYXllckZyYWdtZW50cy5z
aXplKCkgPT0gMSAmJiBsYXllckZyYWdtZW50c1swXS5zaG91bGRQYWludENvbnRlbnQgJiYgIWxh
eWVyRnJhZ21lbnRzWzBdLmZvcmVncm91bmRSZWN0LmlzRW1wdHkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMjZjY2Y2Mzc0ZDQ3NmM2OWRmZmM0NTkzM2M0OGZi
NjIyNjU0MDA3ZC4uMjY2NTU5YWZmYjhjZmEwODhjMGVhYzAzOGZkNmViN2M5ZjhiMWY0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTEwMDQsNyArMTAwNCw3IEBA
IHByaXZhdGU6CiAgICAgICAgIGNvbnN0IExheW91dFJlY3QmIHRyYW5zcGFyZW5jeVBhaW50RGly
dHlSZWN0LCBib29sIGhhdmVUcmFuc3BhcmVuY3ksIGNvbnN0IExheWVyUGFpbnRpbmdJbmZvJiwg
UGFpbnRCZWhhdmlvciwgUmVuZGVyT2JqZWN0KiBwYWludGluZ1Jvb3RGb3JSZW5kZXJlcik7CiAg
ICAgdm9pZCBwYWludEZvcmVncm91bmRGb3JGcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMm
LCBHcmFwaGljc0NvbnRleHQqLCBHcmFwaGljc0NvbnRleHQqIHRyYW5zcGFyZW5jeUxheWVyQ29u
dGV4dCwKICAgICAgICAgY29uc3QgTGF5b3V0UmVjdCYgdHJhbnNwYXJlbmN5UGFpbnREaXJ0eVJl
Y3QsIGJvb2wgaGF2ZVRyYW5zcGFyZW5jeSwgY29uc3QgTGF5ZXJQYWludGluZ0luZm8mLCBQYWlu
dEJlaGF2aW9yLCBSZW5kZXJPYmplY3QqIHBhaW50aW5nUm9vdEZvclJlbmRlcmVyLAotICAgICAg
ICBib29sIHNlbGVjdGlvbk9ubHksIGJvb2wgZm9yY2VCbGFja1RleHQpOworICAgICAgICBib29s
IHNlbGVjdGlvbk9ubHkpOwogICAgIHZvaWQgcGFpbnRGb3JlZ3JvdW5kRm9yRnJhZ21lbnRzV2l0
aFBoYXNlKFBhaW50UGhhc2UsIGNvbnN0IExheWVyRnJhZ21lbnRzJiwgR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgTGF5ZXJQYWludGluZ0luZm8mLCBQYWludEJlaGF2aW9yLCBSZW5kZXJPYmplY3Qq
IHBhaW50aW5nUm9vdEZvclJlbmRlcmVyKTsKICAgICB2b2lkIHBhaW50T3V0bGluZUZvckZyYWdt
ZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExheWVy
UGFpbnRpbmdJbmZvJiwgUGFpbnRCZWhhdmlvciwgUmVuZGVyT2JqZWN0KiBwYWludGluZ1Jvb3RG
b3JSZW5kZXJlcik7CiAgICAgdm9pZCBwYWludE92ZXJmbG93Q29udHJvbHNGb3JGcmFnbWVudHMo
Y29uc3QgTGF5ZXJGcmFnbWVudHMmLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXllclBhaW50
aW5nSW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRQYWlu
dFN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0UGFpbnRTdHlsZS5jcHAK
aW5kZXggMjM5ODhmNDg4OWUzYzk4YTI2Zjg5MWYzMzNlMWIyNDMzMjQyMzlmNC4uZTk3ZDBmOGUx
MDc2MzBlYTBjM2Q3YzhkMzJlYTIxMTZjYTcwNjQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1RleHRQYWludFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVGV4dFBhaW50U3R5bGUuY3BwCkBAIC04MCwxMCArODAsMTAgQEAgVGV4dFBhaW50U3R5
bGUgY29tcHV0ZVRleHRQYWludFN0eWxlKGNvbnN0IFJlbmRlclRleHQmIHJlbmRlcmVyLCBjb25z
dCBSZW5kZXJTdHkKICNlbmRpZgogICAgIHBhaW50U3R5bGUuc3Ryb2tlV2lkdGggPSBsaW5lU3R5
bGUudGV4dFN0cm9rZVdpZHRoKCk7CiAKLSAgICBpZiAocGFpbnRJbmZvLmZvcmNlQmxhY2tUZXh0
KCkpIHsKLSAgICAgICAgcGFpbnRTdHlsZS5maWxsQ29sb3IgPSBDb2xvcjo6YmxhY2s7Ci0gICAg
ICAgIHBhaW50U3R5bGUuc3Ryb2tlQ29sb3IgPSBDb2xvcjo6YmxhY2s7Ci0gICAgICAgIHBhaW50
U3R5bGUuZW1waGFzaXNNYXJrQ29sb3IgPSBDb2xvcjo6YmxhY2s7CisgICAgaWYgKHBhaW50SW5m
by5mb3JjZVRleHRDb2xvcigpKSB7CisgICAgICAgIHBhaW50U3R5bGUuZmlsbENvbG9yID0gcGFp
bnRJbmZvLmZvcmNlZFRleHRDb2xvcigpOworICAgICAgICBwYWludFN0eWxlLnN0cm9rZUNvbG9y
ID0gcGFpbnRJbmZvLmZvcmNlZFRleHRDb2xvcigpOworICAgICAgICBwYWludFN0eWxlLmVtcGhh
c2lzTWFya0NvbG9yID0gcGFpbnRJbmZvLmZvcmNlZFRleHRDb2xvcigpOwogICAgICAgICByZXR1
cm4gcGFpbnRTdHlsZTsKICAgICB9CiAgICAgcGFpbnRTdHlsZS5maWxsQ29sb3IgPSBsaW5lU3R5
bGUudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5V2Via2l0VGV4dEZpbGxDb2xvcik7
CkBAIC0xMTksMTkgKzExOSwxOSBAQCBUZXh0UGFpbnRTdHlsZSBjb21wdXRlVGV4dFNlbGVjdGlv
blBhaW50U3R5bGUoY29uc3QgVGV4dFBhaW50U3R5bGUmIHRleHRQYWludFN0eQogewogICAgIHBh
aW50U2VsZWN0ZWRUZXh0T25seSA9IChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZVNlbGVj
dGlvbik7CiAgICAgcGFpbnRTZWxlY3RlZFRleHRTZXBhcmF0ZWx5ID0gZmFsc2U7Ci0gICAgc2Vs
ZWN0aW9uU2hhZG93ID0gcGFpbnRJbmZvLmZvcmNlQmxhY2tUZXh0KCkgPyBudWxscHRyIDogbGlu
ZVN0eWxlLnRleHRTaGFkb3coKTsKKyAgICBzZWxlY3Rpb25TaGFkb3cgPSAocGFpbnRJbmZvLmZv
cmNlVGV4dENvbG9yKCkpID8gbnVsbHB0ciA6IGxpbmVTdHlsZS50ZXh0U2hhZG93KCk7CiAKICAg
ICBUZXh0UGFpbnRTdHlsZSBzZWxlY3Rpb25QYWludFN0eWxlID0gdGV4dFBhaW50U3R5bGU7CiAK
ICNpZiBFTkFCTEUoVEVYVF9TRUxFQ1RJT04pCi0gICAgQ29sb3IgZm9yZWdyb3VuZCA9IHBhaW50
SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gQ29sb3I6OmJsYWNrIDogcmVuZGVyZXIuc2VsZWN0aW9u
Rm9yZWdyb3VuZENvbG9yKCk7CisgICAgQ29sb3IgZm9yZWdyb3VuZCA9IHBhaW50SW5mby5mb3Jj
ZVRleHRDb2xvcigpID8gcGFpbnRJbmZvLmZvcmNlZFRleHRDb2xvcigpIDogcmVuZGVyZXIuc2Vs
ZWN0aW9uRm9yZWdyb3VuZENvbG9yKCk7CiAgICAgaWYgKGZvcmVncm91bmQuaXNWYWxpZCgpICYm
IGZvcmVncm91bmQgIT0gc2VsZWN0aW9uUGFpbnRTdHlsZS5maWxsQ29sb3IpIHsKICAgICAgICAg
aWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCiAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4
dFNlcGFyYXRlbHkgPSB0cnVlOwogICAgICAgICBzZWxlY3Rpb25QYWludFN0eWxlLmZpbGxDb2xv
ciA9IGZvcmVncm91bmQ7CiAgICAgfQogCi0gICAgQ29sb3IgZW1waGFzaXNNYXJrRm9yZWdyb3Vu
ZCA9IHBhaW50SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gQ29sb3I6OmJsYWNrIDogcmVuZGVyZXIu
c2VsZWN0aW9uRW1waGFzaXNNYXJrQ29sb3IoKTsKKyAgICBDb2xvciBlbXBoYXNpc01hcmtGb3Jl
Z3JvdW5kID0gcGFpbnRJbmZvLmZvcmNlVGV4dENvbG9yKCkgPyBwYWludEluZm8uZm9yY2VkVGV4
dENvbG9yKCkgOiByZW5kZXJlci5zZWxlY3Rpb25FbXBoYXNpc01hcmtDb2xvcigpOwogICAgIGlm
IChlbXBoYXNpc01hcmtGb3JlZ3JvdW5kLmlzVmFsaWQoKSAmJiBlbXBoYXNpc01hcmtGb3JlZ3Jv
dW5kICE9IHNlbGVjdGlvblBhaW50U3R5bGUuZW1waGFzaXNNYXJrQ29sb3IpIHsKICAgICAgICAg
aWYgKCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCiAgICAgICAgICAgICBwYWludFNlbGVjdGVkVGV4
dFNlcGFyYXRlbHkgPSB0cnVlOwpAQCAtMTM5LDcgKzEzOSw3IEBAIFRleHRQYWludFN0eWxlIGNv
bXB1dGVUZXh0U2VsZWN0aW9uUGFpbnRTdHlsZShjb25zdCBUZXh0UGFpbnRTdHlsZSYgdGV4dFBh
aW50U3R5CiAgICAgfQogCiAgICAgaWYgKFJlbmRlclN0eWxlKiBwc2V1ZG9TdHlsZSA9IHJlbmRl
cmVyLmdldENhY2hlZFBzZXVkb1N0eWxlKFNFTEVDVElPTikpIHsKLSAgICAgICAgY29uc3QgU2hh
ZG93RGF0YSogc2hhZG93ID0gcGFpbnRJbmZvLmZvcmNlQmxhY2tUZXh0KCkgPyAwIDogcHNldWRv
U3R5bGUtPnRleHRTaGFkb3coKTsKKyAgICAgICAgY29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0g
cGFpbnRJbmZvLmZvcmNlVGV4dENvbG9yKCkgPyBudWxscHRyIDogcHNldWRvU3R5bGUtPnRleHRT
aGFkb3coKTsKICAgICAgICAgaWYgKHNoYWRvdyAhPSBzZWxlY3Rpb25TaGFkb3cpIHsKICAgICAg
ICAgICAgIGlmICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KQogICAgICAgICAgICAgICAgIHBhaW50
U2VsZWN0ZWRUZXh0U2VwYXJhdGVseSA9IHRydWU7CkBAIC0xNTMsNyArMTUzLDcgQEAgVGV4dFBh
aW50U3R5bGUgY29tcHV0ZVRleHRTZWxlY3Rpb25QYWludFN0eWxlKGNvbnN0IFRleHRQYWludFN0
eWxlJiB0ZXh0UGFpbnRTdHkKICAgICAgICAgICAgIHNlbGVjdGlvblBhaW50U3R5bGUuc3Ryb2tl
V2lkdGggPSBzdHJva2VXaWR0aDsKICAgICAgICAgfQogCi0gICAgICAgIENvbG9yIHN0cm9rZSA9
IHBhaW50SW5mby5mb3JjZUJsYWNrVGV4dCgpID8gQ29sb3I6OmJsYWNrIDogcHNldWRvU3R5bGUt
PnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2VDb2xvcik7
CisgICAgICAgIENvbG9yIHN0cm9rZSA9IHBhaW50SW5mby5mb3JjZVRleHRDb2xvcigpID8gcGFp
bnRJbmZvLmZvcmNlZFRleHRDb2xvcigpIDogcHNldWRvU3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRD
b2xvcihDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2VDb2xvcik7CiAgICAgICAgIGlmIChzdHJv
a2UgIT0gc2VsZWN0aW9uUGFpbnRTdHlsZS5zdHJva2VDb2xvcikgewogICAgICAgICAgICAgaWYg
KCFwYWludFNlbGVjdGVkVGV4dE9ubHkpCiAgICAgICAgICAgICAgICAgcGFpbnRTZWxlY3RlZFRl
eHRTZXBhcmF0ZWx5ID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>