<?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>119849</bug_id>
          
          <creation_ts>2013-08-15 11:15:58 -0700</creation_ts>
          <short_desc>[CSS Shapes] Complete RasterShape::firstIncludedIntervalLogicalTop()</short_desc>
          <delta_ts>2013-08-20 12:20:33 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116348</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>917578</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-08-15 11:15:58 -0700</bug_when>
    <thetext>Complete the implementation of RasterShape::firstIncludedIntervalLogicalTop(). Currently the first layout position isn&apos;t computed, it&apos;s assumed that layout can begin at the top of the shape.

A detailed description of the algorithm to be used here can be found in http://hansmuller-webkit.blogspot.com/2013/08/first-fit-location-for-image-shapes.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918835</commentid>
    <comment_count>1</comment_count>
      <attachid>209132</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-08-19 15:57:41 -0700</bug_when>
    <thetext>Created attachment 209132
Patch

Completed the implementation of RasterShape::firstIncludedIntervalLogicalTop(). The method now computes first logical top location where a line segment can be laid out within a RasterShape, i.e. a shape derived from an image valued URL resource. A detailed description of the algorithm can be found in http://hansmuller-webkit.blogspot.com/2013/08/first-fit-location-for-image-shapes.html.

The new tests exposed a bug in the existing getIncludedIntervals() method. A shape with a vertical gap that spans the entire line now causes the method to short circuit and return an empty interval list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919083</commentid>
    <comment_count>2</comment_count>
      <attachid>209202</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-08-20 09:34:13 -0700</bug_when>
    <thetext>Created attachment 209202
Patch

Eliminated unnecessary Vector copies in RasterShape.cpp, where Region::rects() is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919121</commentid>
    <comment_count>3</comment_count>
      <attachid>209202</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-08-20 10:50:26 -0700</bug_when>
    <thetext>Comment on attachment 209202
Patch

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

r=me

&gt; Source/WebCore/rendering/shapes/RasterShape.cpp:53
&gt; +    for (int y = minY; y &lt;= bounds().height() - minSize.height(); y++) {

nit: might be useful to explain why we combine absolute position minY with relative position from bounds().height(). Or just use maxY.

&gt; Source/WebCore/rendering/shapes/RasterShape.cpp:101
&gt; +        if (lineY &gt; currentLineMaxY) // We&apos;ve encountered a vertical gap in lineRects, there are no included intervals.

nit: put the comment inside the if statement. Use { }.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919125</commentid>
    <comment_count>4</comment_count>
      <attachid>209209</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-08-20 11:04:58 -0700</bug_when>
    <thetext>Created attachment 209209
Patch

Incorporated review feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919163</commentid>
    <comment_count>5</comment_count>
      <attachid>209209</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-20 12:20:31 -0700</bug_when>
    <thetext>Comment on attachment 209209
Patch

Clearing flags on attachment: 209209

Committed r154349: &lt;http://trac.webkit.org/changeset/154349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919164</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-20 12:20:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209132</attachid>
            <date>2013-08-19 15:57:41 -0700</date>
            <delta_ts>2013-08-20 09:34:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>13351</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNmQ4NzlhLi5hZTQzNTE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDgt
MTkgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisgICAgICAgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xMTk4NDk+IFtDU1MgU2hhcGVzXSBDb21wbGV0ZSBSYXN0ZXJTaGFwZTo6Zmly
c3RJbmNsdWRlZEludGVydmFsTG9naWNhbFRvcCgpCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgdGhlIGZpcnN0IGZpdCBhbGdvcml0
aG0gd29ya3MgY29ycmVjdGx5IGZvciBjb21wbGV4IGltYWdlIHNoYXBlcy4KKyAgICAgICAgRm9y
IHRoaXMgc2V0IG9mIHRlc3RzIHRoZSBpbWFnZSBpcyBzcGVjaWZpZWQgd2l0aCBhbiBTVkcgZmls
ZS4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9zaGFwZXMvcmVzb3VyY2VzL3N2Zy1zaGFwZS0w
MDEuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUt
aW5zaWRlLWltYWdlLTAwMy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3No
YXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUv
c2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdl
LTAwNS5odG1sOiBBZGRlZC4KKwogMjAxMy0wOC0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE5OTE1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9yZXNvdXJj
ZXMvc3ZnLXNoYXBlLTAwMS5zdmcgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9yZXNvdXJjZXMv
c3ZnLXNoYXBlLTAwMS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI0
NGI4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Jlc291cmNl
cy9zdmctc2hhcGUtMDAxLnN2ZwpAQCAtMCwwICsxLDE5IEBACis8c3ZnIGZpbGw9ImJsdWUiIHdp
ZHRoPSI0MDBweCIgaGVpZ2h0PSI0MDBweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIj4gCisgICAgPCEtLQorICAgIFRoaXMgZmlsZSBkZWZpbmVzIGEgc2hhcGUgdGhhdCdzIGEg
c21hbGwgc3ltbWV0cmljYWwgc3RhY2sgb2YgMyByZWN0aWxpbmVhciBwb2x5Z29ucy4KKyAgICBU
aGUgc2hhcGUgbG9va3MgbGlrZSB0aGUgZm9sbG93aW5nIHRleHQsIHdoZXJlIGVhY2ggWCByZXBy
ZXNlbnRzIGEgNTB4NTAgYmxvY2sgb2YgYmx1ZSBwaXhlbHM6CisKKyAgICAgICBYWFhYWAorCisg
ICAgICAgIFhYWAorICAgICAgICAgWAorICAgICAgICBYWFgKKworICAgICAgIFhYWFhYCisgICAg
LS0+CisgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjI1MCIgaGVpZ2h0PSI1MCIvPgorICAg
IDxyZWN0IHg9IjUwIiB5PSIxMDAiIHdpZHRoPSIxNTAiIGhlaWdodD0iNTAiLz4KKyAgICA8cmVj
dCB4PSIxMDAiIHk9IjE1MCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIi8+CisgICAgPHJlY3QgeD0i
NTAiIHk9IjIwMCIgd2lkdGg9IjE1MCIgaGVpZ2h0PSI1MCIvPgorICAgIDxyZWN0IHg9IjAiIHk9
IjMwMCIgd2lkdGg9IjI1MCIgaGVpZ2h0PSI1MCIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBl
LWluc2lkZS1pbWFnZS0wMDMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jZWJmYmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
aGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDMtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+
CisjaW1hZ2Utc2hhcGUgeworICAgIGZvbnQ6IDUwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOworICAg
IG1hcmdpbjogMHB4OworICAgIGNvbG9yOiBncmVlbjsKKyAgICB3aWR0aDogMzUwcHg7CisgICAg
aGVpZ2h0OiAzNTBweDsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL3Jlc291cmNlcy9z
dmctc2hhcGUtMDAxLnN2ZyIpOworICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cit9
Cis8L3N0eWxlPgorPGJvZHk+CisgIDxwIGlkPSJpbmZvcm1hdGl2ZS10ZXh0Ij4KKyAgICBUaGlz
IHRlc3QgcmVxdWlyZXMgdGhlIEFoZW0gZm9udC4gSXQgdXNlcyBzdmctc2hhcGUtMDAxLnN2ZyB0
byBkZWZpbmUgYSBzaGFwZS1pbnNpZGUuIAorICAgIFRoZSBjb250ZW50IHNob3VsZCBqdXN0IGNv
dmVyIHRoZSBibHVlIGJhY2tncm91bmQgc2hhcGUgd2l0aCBzb2xpZCBncmVlbi48L3A+CisKKyAg
PHByZSBpZD0iaW1hZ2Utc2hhcGUiPgorWFhYWFgKKworIFhYWCAKKyAgWAorIFhYWAorCitYWFhY
WAorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTBjNmMwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lk
ZS1pbWFnZS0wMDMuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1NoYXBlc0VuYWJsZWQodHJ1ZSk7Cis8L3Nj
cmlwdD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFwZSB7CisgICAgZm9udDogNTBweC8xIEFoZW0sIHNh
bnMtc2VyaWY7CisgICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAyNTBweDsKKyAgICBoZWln
aHQ6IDM1MHB4OworICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiB1cmwoIi4uL3Jlc291cmNlcy9z
dmctc2hhcGUtMDAxLnN2ZyIpOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3Vy
Y2VzL3N2Zy1zaGFwZS0wMDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVh
dDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAg
IFRoaXMgdGVzdCByZXF1aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEu
c3ZnIHRvIGRlZmluZSBhIHNoYXBlLWluc2lkZS4gCisgICAgVGhlIGNvbnRlbnQgc2hvdWxkIGp1
c3QgY292ZXIgdGhlIGJsdWUgYmFja2dyb3VuZCBzaGFwZSB3aXRoIHNvbGlkIGdyZWVuLjwvcD4K
KworICA8ZGl2IGlkPSJpbWFnZS1zaGFwZSI+WFhYWFggWFhYIFggWFhYIFhYWFhYPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDQtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTRiYjhiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBl
LWluc2lkZS1pbWFnZS0wMDQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisjaW1hZ2Utc2hhcGUgeworICAgIGZv
bnQ6IDUwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOworICAgIG1hcmdpbjogMHB4OworICAgIGNvbG9y
OiBncmVlbjsKKyAgICB3aWR0aDogMzUwcHg7CisgICAgaGVpZ2h0OiAzNTBweDsKKyAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoIi4uL3Jlc291cmNlcy9zdmctc2hhcGUtMDAxLnN2ZyIpOworICAg
IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cit9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxw
IGlkPSJpbmZvcm1hdGl2ZS10ZXh0Ij4KKyAgICBUaGlzIHRlc3QgcmVxdWlyZXMgdGhlIEFoZW0g
Zm9udC4gSXQgdXNlcyBzdmctc2hhcGUtMDAxLnN2ZyB0byBkZWZpbmUgYSBzaGFwZS1pbnNpZGUu
CisgICAgSWYgdGhlIGZpcnN0LWZpdCBhbGdvcml0aG0gaXMgd29ya2luZyBjb3JyZWN0bHksIHRo
ZSBzaW5nbGUgZ3JlZW4gNTB4NTAgY2hhciBzaG91bGQgCisgICAgYXBwZWFyIGluIHRoZSBjZW50
ZXIgb2YgdGhlIGJsdWUgYmFja2dyb3VuZCBzaGFwZSwgd2hpY2ggaXMgZGVmaW5lZCBieSB0aGUg
c2FtZSBTVkcuPC9wPgorCisgIDxwcmUgaWQ9ImltYWdlLXNoYXBlIj4KKworCisKKyAgWAorCisK
KworPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzk5M2U4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lk
ZS1pbWFnZS0wMDQuaHRtbApAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1NoYXBlc0VuYWJsZWQodHJ1ZSk7Cis8L3Nj
cmlwdD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFwZSB7CisgICAgZm9udDogNTBweC8xNTBweCBBaGVt
LCBzYW5zLXNlcmlmOworICAgIGNvbG9yOiBncmVlbjsKKyAgICB3aWR0aDogMjUwcHg7CisgICAg
aGVpZ2h0OiAzNTBweDsKKyAgICAtd2Via2l0LXNoYXBlLWluc2lkZTogdXJsKCIuLi9yZXNvdXJj
ZXMvc3ZnLXNoYXBlLTAwMS5zdmciKTsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL3Jl
c291cmNlcy9zdmctc2hhcGUtMDAxLnN2ZyIpOworICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1y
ZXBlYXQ7Cit9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxwIGlkPSJpbmZvcm1hdGl2ZS10ZXh0Ij4K
KyAgICBUaGlzIHRlc3QgcmVxdWlyZXMgdGhlIEFoZW0gZm9udC4gSXQgdXNlcyBzdmctc2hhcGUt
MDAxLnN2ZyB0byBkZWZpbmUgYSBzaGFwZS1pbnNpZGUuCisgICAgSWYgdGhlIGZpcnN0LWZpdCBh
bGdvcml0aG0gaXMgd29ya2luZyBjb3JyZWN0bHksIHRoZSBzaW5nbGUgZ3JlZW4gNTB4NTAgY2hh
ciBzaG91bGQgCisgICAgYXBwZWFyIGluIHRoZSBjZW50ZXIgb2YgdGhlIGJsdWUgYmFja2dyb3Vu
ZCBzaGFwZSwgd2hpY2ggaXMgZGVmaW5lZCBieSB0aGUgc2FtZSBTVkcuPC9wPgorCisgIDxkaXYg
aWQ9ImltYWdlLXNoYXBlIj5YPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAw
NS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3No
YXBlLWluc2lkZS1pbWFnZS0wMDUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi43NmIyY2EzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDUtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGU+CisjaW1hZ2Utc2hhcGUgeworICAgIGZvbnQ6IDUwcHgvMSBBaGVtLCBzYW5zLXNlcmlmOwor
ICAgIG1hcmdpbjogMHB4OworICAgIGNvbG9yOiBncmVlbjsKKyAgICB3aWR0aDogMzUwcHg7Cisg
ICAgaGVpZ2h0OiAzNTBweDsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL3Jlc291cmNl
cy9zdmctc2hhcGUtMDAxLnN2ZyIpOworICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7
Cit9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxwIGlkPSJpbmZvcm1hdGl2ZS10ZXh0Ij4KKyAgICBU
aGlzIHRlc3QgcmVxdWlyZXMgdGhlIEFoZW0gZm9udC4gSXQgdXNlcyBzdmctc2hhcGUtMDAxLnN2
ZyB0byBkZWZpbmUgYSBzaGFwZS1pbnNpZGUuCisgICAgSWYgdGhlIGZpcnN0LWZpdCBhbGdvcml0
aG0gaXMgd29ya2luZyBjb3JyZWN0bHksIHRoZSBzZWNvbmQgYW5kIGZvdXJ0aCByb3dzIG9mIHRo
ZSAKKyAgICBibHVlIFNWRyBzaGFwZSBzaG91bGQgYmUgY292ZXJlZCBieSBncmVlbiByZWN0YW5n
bGVzLjwvcD4KKworICA8cHJlIGlkPSJpbWFnZS1zaGFwZSI+CisKKworIFhYWAorCisgWFhYCisK
KworPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzdmZGQ5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lk
ZS1pbWFnZS0wMDUuaHRtbApAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldENTU1NoYXBlc0VuYWJsZWQodHJ1ZSk7Cis8L3Nj
cmlwdD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFwZSB7CisgICAgZm9udDogNTBweC8xIEFoZW0sIHNh
bnMtc2VyaWY7CisgICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAyNTBweDsKKyAgICBoZWln
aHQ6IDM1MHB4OworICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiB1cmwoIi4uL3Jlc291cmNlcy9z
dmctc2hhcGUtMDAxLnN2ZyIpOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3Vy
Y2VzL3N2Zy1zaGFwZS0wMDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVh
dDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAg
IFRoaXMgdGVzdCByZXF1aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEu
c3ZnIHRvIGRlZmluZSBhIHNoYXBlLWluc2lkZS4KKyAgICBJZiB0aGUgZmlyc3QtZml0IGFsZ29y
aXRobSBpcyB3b3JraW5nIGNvcnJlY3RseSwgdGhlIHNlY29uZCBhbmQgZm91cnRoIHJvd3Mgb2Yg
dGhlIAorICAgIGJsdWUgU1ZHIHNoYXBlIHNob3VsZCBiZSBjb3ZlcmVkIGJ5IGdyZWVuIHJlY3Rh
bmdsZXMuPC9wPgorCisgIDxkaXYgaWQ9ImltYWdlLXNoYXBlIj48L2JyPlhYWCBYWFg8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1Y2Q1YzIzLi44M2JmOGExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTMtMDgtMTkgIEhhbnMgTXVsbGVyICA8aG11bGxlckBh
ZG9iZS5jb20+CisKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzExOTg0OT4gW0NTUyBT
aGFwZXNdIENvbXBsZXRlIFJhc3RlclNoYXBlOjpmaXJzdEluY2x1ZGVkSW50ZXJ2YWxMb2dpY2Fs
VG9wKCkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
b21wbGV0ZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIFJhc3RlclNoYXBlOjpmaXJzdEluY2x1ZGVk
SW50ZXJ2YWxMb2dpY2FsVG9wKCkuIFRoZQorICAgICAgICBtZXRob2Qgbm93IGNvbXB1dGVzIGZp
cnN0IGxvZ2ljYWwgdG9wIGxvY2F0aW9uIHdoZXJlIGEgbGluZSBzZWdtZW50IGNhbiBiZSBsYWlk
CisgICAgICAgIG91dCB3aXRoaW4gYSBSYXN0ZXJTaGFwZSwgaS5lLiBhIHNoYXBlIGRlcml2ZWQg
ZnJvbSBhbiBpbWFnZSB2YWx1ZWQgVVJMIHJlc291cmNlLgorCisgICAgICAgIEEgZGV0YWlsZWQg
ZGVzY3JpcHRpb24gb2YgdGhlIGFsZ29yaXRobSBjYW4gYmUgZm91bmQgaW4KKyAgICAgICAgaHR0
cDovL2hhbnNtdWxsZXItd2Via2l0LmJsb2dzcG90LmNvbS8yMDEzLzA4L2ZpcnN0LWZpdC1sb2Nh
dGlvbi1mb3ItaW1hZ2Utc2hhcGVzLmh0bWwuCisKKyAgICAgICAgVGhlIG5ldyB0ZXN0cyBleHBv
c2VkIGEgYnVnIGluIHRoZSBleGlzdGluZyBnZXRJbmNsdWRlZEludGVydmFscygpIG1ldGhvZC4g
QSBzaGFwZQorICAgICAgICB3aXRoIGEgdmVydGljYWwgZ2FwIHRoYXQgc3BhbnMgdGhlIGVudGly
ZSBsaW5lIG5vdyBjYXVzZXMgdGhlIG1ldGhvZCB0byBzaG9ydCBjaXJjdWl0CisgICAgICAgIGFu
ZCByZXR1cm4gYW4gZW1wdHkgaW50ZXJ2YWwgbGlzdC4KKworICAgICAgICBUZXN0czogZmFzdC9z
aGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDMuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1pbWFnZS0wMDQuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC9zaGFwZXMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1p
bWFnZS0wMDUuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSYXN0ZXJTaGFwZUludGVydmFsczo6Zmlyc3RJbmNsdWRl
ZEludGVydmFsWSk6CisgICAgICAgIChXZWJDb3JlOjpSYXN0ZXJTaGFwZUludGVydmFsczo6Z2V0
SW5jbHVkZWRJbnRlcnZhbHMpOgorICAgICAgICAoV2ViQ29yZTo6UmFzdGVyU2hhcGU6OmZpcnN0
SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3ApOgorICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMv
UmFzdGVyU2hhcGUuaDoKKwogMjAxMy0wOC0xOSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExOTk5NQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9SYXN0ZXJTaGFwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jh
c3RlclNoYXBlLmNwcAppbmRleCA4Yjg2ZGM2Li5kZDk1NmVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNwcApAQCAtNDgsNiArNDgsMjggQEAg
dm9pZCBSYXN0ZXJTaGFwZUludGVydmFsczo6YWRkSW50ZXJ2YWwoaW50IHksIGludCB4MSwgaW50
IHgyKQogICAgIG1fYm91bmRzLmNsZWFyKCk7CiB9CiAKK2Jvb2wgUmFzdGVyU2hhcGVJbnRlcnZh
bHM6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbFkoaW50IG1pblksIGNvbnN0IEludFNpemUmIG1pblNp
emUsIExheW91dFVuaXQmIHJlc3VsdCkgY29uc3QKK3sKKyAgICBmb3IgKGludCB5ID0gbWluWTsg
eSA8PSBib3VuZHMoKS5oZWlnaHQoKSAtIG1pblNpemUuaGVpZ2h0KCk7IHkrKykgeworICAgICAg
ICBSZWdpb24gbGluZVJlZ2lvbihJbnRSZWN0KGJvdW5kcygpLngoKSwgeSwgYm91bmRzKCkud2lk
dGgoKSwgbWluU2l6ZS5oZWlnaHQoKSkpOworICAgICAgICBsaW5lUmVnaW9uLmludGVyc2VjdCht
X3JlZ2lvbik7CisgICAgICAgIGlmIChsaW5lUmVnaW9uLmlzRW1wdHkoKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIFZlY3RvcjxJbnRSZWN0PiBsaW5lUmVjdHMgPSBsaW5lUmVn
aW9uLnJlY3RzKCk7CisgICAgICAgIEFTU0VSVChsaW5lUmVjdHMuc2l6ZSgpID4gMCk7CisKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxpbmVSZWN0cy5zaXplKCk7IGkrKykgewor
ICAgICAgICAgICAgSW50UmVjdCByZWN0ID0gbGluZVJlY3RzW2ldOworICAgICAgICAgICAgaWYg
KHJlY3Qud2lkdGgoKSA+PSBtaW5TaXplLndpZHRoKCkgJiYgbGluZVJlZ2lvbi5jb250YWlucyhS
ZWdpb24oSW50UmVjdChJbnRQb2ludChyZWN0LngoKSwgeSksIG1pblNpemUpKSkpIHsKKyAgICAg
ICAgICAgICAgICByZXN1bHQgPSB5OworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogc3Rh
dGljIGlubGluZSBJbnRSZWN0IGFsaWduZWRSZWN0KEludFJlY3QgciwgaW50IHkxLCBpbnQgeTIp
CiB7CiAgICAgcmV0dXJuIEludFJlY3Qoci54KCksIHkxLCByLndpZHRoKCksIHkyIC0geTEpOwpA
QCAtNzEsMTQgKzkzLDIxIEBAIHZvaWQgUmFzdGVyU2hhcGVJbnRlcnZhbHM6OmdldEluY2x1ZGVk
SW50ZXJ2YWxzKGludCB5MSwgaW50IHkyLCBTZWdtZW50TGlzdCYgcmVzCiAKICAgICAvLyBUaGUg
bG9vcCBiZWxvdyB1c2VzIFJlZ2lvbnMgdG8gY29tcHV0ZSB0aGUgaW50ZXJzZWN0aW9uIG9mIHRo
ZSBob3Jpem9udGFsCiAgICAgLy8gc2hhcGUgaW50ZXJ2YWxzIHRoYXQgZmFsbCB3aXRoaW4gdGhl
IGxpbmUncyBib3guCi0gICAgaW50IGxpbmVZID0gbGluZVJlY3RzWzBdLnkoKTsKKyAgICBpbnQg
Y3VycmVudExpbmVZID0gbGluZVJlY3RzWzBdLnkoKTsKKyAgICBpbnQgY3VycmVudExpbmVNYXhZ
ID0gbGluZVJlY3RzWzBdLm1heFkoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGlu
ZVJlY3RzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChsaW5lUmVjdHNbaV0ueSgpICE9IGxp
bmVZKSB7CisgICAgICAgIGludCBsaW5lWSA9IGxpbmVSZWN0c1tpXS55KCk7CisgICAgICAgIEFT
U0VSVChsaW5lWSA+PSBjdXJyZW50TGluZVkpOworICAgICAgICBpZiAobGluZVkgPiBjdXJyZW50
TGluZU1heFkpIC8vIFdlJ3ZlIGVuY291bnRlcmVkIGEgdmVydGljYWwgZ2FwIGluIGxpbmVSZWN0
cywgdGhlcmUgYXJlIG5vIGluY2x1ZGVkIGludGVydmFscy4KKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgaWYgKGxpbmVZID4gY3VycmVudExpbmVZKSB7CisgICAgICAgICAgICBjdXJyZW50
TGluZVkgPSBsaW5lWTsKKyAgICAgICAgICAgIGN1cnJlbnRMaW5lTWF4WSA9IGxpbmVSZWN0c1tp
XS5tYXhZKCk7CiAgICAgICAgICAgICBzZWdtZW50c1JlZ2lvbi5pbnRlcnNlY3QoaW50ZXJ2YWxz
UmVnaW9uKTsKICAgICAgICAgICAgIGludGVydmFsc1JlZ2lvbiA9IFJlZ2lvbigpOwotICAgICAg
ICB9CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY3VycmVudExpbmVNYXhZID0gc3RkOjpt
YXg8aW50PihjdXJyZW50TGluZU1heFksIGxpbmVSZWN0c1tpXS5tYXhZKCkpOwogICAgICAgICBp
bnRlcnZhbHNSZWdpb24udW5pdGUoUmVnaW9uKGFsaWduZWRSZWN0KGxpbmVSZWN0c1tpXSwgeTEs
IHkyKSkpOwotICAgICAgICBsaW5lWSA9IGxpbmVSZWN0c1tpXS55KCk7CiAgICAgfQogICAgIGlm
ICghaW50ZXJ2YWxzUmVnaW9uLmlzRW1wdHkoKSkKICAgICAgICAgc2VnbWVudHNSZWdpb24uaW50
ZXJzZWN0KGludGVydmFsc1JlZ2lvbik7CkBAIC0xNzIsMTMgKzIwMSwxMCBAQCBib29sIFJhc3Rl
clNoYXBlOjpmaXJzdEluY2x1ZGVkSW50ZXJ2YWxMb2dpY2FsVG9wKExheW91dFVuaXQgbWluTG9n
aWNhbEludGVydmFsVAogCiAgICAgZmxvYXQgbWluWSA9IHN0ZDo6bWF4PGZsb2F0PihpbnRlcnZh
bHMuYm91bmRzKCkueSgpLCBtaW5JbnRlcnZhbFRvcCk7CiAgICAgZmxvYXQgbWF4WSA9IG1pblkg
KyBtaW5JbnRlcnZhbEhlaWdodDsKLQogICAgIGlmIChtYXhZID4gaW50ZXJ2YWxzLmJvdW5kcygp
Lm1heFkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gRklYTUU6IENvbXBsZXRl
IHRoaXMgbWV0aG9kLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNjM0OC4KLSAgICByZXN1bHQgPSBtaW5ZOwotICAgIHJldHVybiB0cnVlOworICAgIHJldHVy
biBpbnRlcnZhbHMuZmlyc3RJbmNsdWRlZEludGVydmFsWShtaW5ZLCBmbG9vcmVkSW50U2l6ZSht
aW5Mb2dpY2FsSW50ZXJ2YWxTaXplKSwgcmVzdWx0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJT
aGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oCmlu
ZGV4IDg5OGY5ZTUuLjk0NzJlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zaGFwZXMvUmFzdGVyU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1Jhc3RlclNoYXBlLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRk
SW50ZXJ2YWwoaW50IHksIGludCB4MSwgaW50IHgyKTsKICAgICB2b2lkIGdldEluY2x1ZGVkSW50
ZXJ2YWxzKGludCB5MSwgaW50IHkyLCBTZWdtZW50TGlzdCYpIGNvbnN0OwogICAgIHZvaWQgZ2V0
RXhjbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIsIFNlZ21lbnRMaXN0JikgY29uc3Q7Cisg
ICAgYm9vbCBmaXJzdEluY2x1ZGVkSW50ZXJ2YWxZKGludCBtaW5ZLCBjb25zdCBJbnRTaXplJiBt
aW5JbnRlcnZhbFNpemUsIExheW91dFVuaXQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBSZWdp
b24gbV9yZWdpb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209202</attachid>
            <date>2013-08-20 09:34:13 -0700</date>
            <delta_ts>2013-08-20 11:04:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>14828</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYTBiOTA5Li5iNWIzNTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDgt
MTkgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisgICAgICAgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xMTk4NDk+IFtDU1MgU2hhcGVzXSBDb21wbGV0ZSBSYXN0ZXJTaGFwZTo6Zmly
c3RJbmNsdWRlZEludGVydmFsTG9naWNhbFRvcCgpCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVmVyaWZ5IHRoYXQgdGhlIGZpcnN0IGZpdCBhbGdvcml0
aG0gd29ya3MgY29ycmVjdGx5IGZvciBjb21wbGV4IGltYWdlIHNoYXBlcy4KKyAgICAgICAgRm9y
IHRoaXMgc2V0IG9mIHRlc3RzIHRoZSBpbWFnZSBpcyBzcGVjaWZpZWQgd2l0aCBhbiBTVkcgZmls
ZS4KKyAgICAgICAgCisgICAgICAgICogZmFzdC9zaGFwZXMvcmVzb3VyY2VzL3N2Zy1zaGFwZS0w
MDEuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUt
aW5zaWRlLWltYWdlLTAwMy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3No
YXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUv
c2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS1leHBlY3RlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdl
LTAwNS5odG1sOiBBZGRlZC4KKwogMjAxMy0wOC0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDAyNT4gUkVHUkVT
U0lPTiAocjE1NDI1NCk6IGZhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRh
bmNlLmh0bWwgZmFpbGluZyBvbiBBcHBsZSBNb3VudGFpbkxpb24gRGVidWcgV0sxIChUZXN0cykK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Jlc291cmNlcy9zdmctc2hhcGUt
MDAxLnN2ZyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Jlc291cmNlcy9zdmctc2hhcGUtMDAx
LnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjQ0Yjg4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcmVzb3VyY2VzL3N2Zy1zaGFwZS0w
MDEuc3ZnCkBAIC0wLDAgKzEsMTkgQEAKKzxzdmcgZmlsbD0iYmx1ZSIgd2lkdGg9IjQwMHB4IiBo
ZWlnaHQ9IjQwMHB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPiAKKyAgICA8
IS0tCisgICAgVGhpcyBmaWxlIGRlZmluZXMgYSBzaGFwZSB0aGF0J3MgYSBzbWFsbCBzeW1tZXRy
aWNhbCBzdGFjayBvZiAzIHJlY3RpbGluZWFyIHBvbHlnb25zLgorICAgIFRoZSBzaGFwZSBsb29r
cyBsaWtlIHRoZSBmb2xsb3dpbmcgdGV4dCwgd2hlcmUgZWFjaCBYIHJlcHJlc2VudHMgYSA1MHg1
MCBibG9jayBvZiBibHVlIHBpeGVsczoKKworICAgICAgIFhYWFhYCisKKyAgICAgICAgWFhYCisg
ICAgICAgICBYCisgICAgICAgIFhYWAorCisgICAgICAgWFhYWFgKKyAgICAtLT4KKyAgICA8cmVj
dCB4PSIwIiB5PSIwIiB3aWR0aD0iMjUwIiBoZWlnaHQ9IjUwIi8+CisgICAgPHJlY3QgeD0iNTAi
IHk9IjEwMCIgd2lkdGg9IjE1MCIgaGVpZ2h0PSI1MCIvPgorICAgIDxyZWN0IHg9IjEwMCIgeT0i
MTUwIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiLz4KKyAgICA8cmVjdCB4PSI1MCIgeT0iMjAwIiB3
aWR0aD0iMTUwIiBoZWlnaHQ9IjUwIi8+CisgICAgPHJlY3QgeD0iMCIgeT0iMzAwIiB3aWR0aD0i
MjUwIiBoZWlnaHQ9IjUwIi8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDAzLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdl
LTAwMy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNl
YmZiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1p
bnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFw
ZSB7CisgICAgZm9udDogNTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgbWFyZ2luOiAwcHg7
CisgICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAzNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEu
c3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5bGU+Cis8
Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAgIFRoaXMgdGVzdCByZXF1aXJl
cyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmluZSBhIHNo
YXBlLWluc2lkZS4gCisgICAgVGhlIGNvbnRlbnQgc2hvdWxkIGp1c3QgY292ZXIgdGhlIGJsdWUg
YmFja2dyb3VuZCBzaGFwZSB3aXRoIHNvbGlkIGdyZWVuLjwvcD4KKworICA8cHJlIGlkPSJpbWFn
ZS1zaGFwZSI+CitYWFhYWAorCisgWFhYIAorICBYCisgWFhYCisKK1hYWFhYCis8L3ByZT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3No
YXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MGM2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5o
dG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0Q1NTU2hhcGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxl
PgorI2ltYWdlLXNoYXBlIHsKKyAgICBmb250OiA1MHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAg
ICBjb2xvcjogZ3JlZW47CisgICAgd2lkdGg6IDI1MHB4OworICAgIGhlaWdodDogMzUwcHg7Cisg
ICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEu
c3ZnIik7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9yZXNvdXJjZXMvc3ZnLXNoYXBl
LTAwMS5zdmciKTsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworfQorPC9zdHls
ZT4KKzxib2R5PgorICA8cCBpZD0iaW5mb3JtYXRpdmUtdGV4dCI+CisgICAgVGhpcyB0ZXN0IHJl
cXVpcmVzIHRoZSBBaGVtIGZvbnQuIEl0IHVzZXMgc3ZnLXNoYXBlLTAwMS5zdmcgdG8gZGVmaW5l
IGEgc2hhcGUtaW5zaWRlLiAKKyAgICBUaGUgY29udGVudCBzaG91bGQganVzdCBjb3ZlciB0aGUg
Ymx1ZSBiYWNrZ3JvdW5kIHNoYXBlIHdpdGggc29saWQgZ3JlZW4uPC9wPgorCisgIDxkaXYgaWQ9
ImltYWdlLXNoYXBlIj5YWFhYWCBYWFggWCBYWFggWFhYWFg8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFw
ZS1pbnNpZGUtaW1hZ2UtMDA0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NGJiOGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdl
LTAwNC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFwZSB7CisgICAgZm9udDogNTBweC8xIEFo
ZW0sIHNhbnMtc2VyaWY7CisgICAgbWFyZ2luOiAwcHg7CisgICAgY29sb3I6IGdyZWVuOworICAg
IHdpZHRoOiAzNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4OworICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1y
ZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0
aXZlLXRleHQiPgorICAgIFRoaXMgdGVzdCByZXF1aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2Vz
IHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmluZSBhIHNoYXBlLWluc2lkZS4KKyAgICBJZiB0aGUg
Zmlyc3QtZml0IGFsZ29yaXRobSBpcyB3b3JraW5nIGNvcnJlY3RseSwgdGhlIHNpbmdsZSBncmVl
biA1MHg1MCBjaGFyIHNob3VsZCAKKyAgICBhcHBlYXIgaW4gdGhlIGNlbnRlciBvZiB0aGUgYmx1
ZSBiYWNrZ3JvdW5kIHNoYXBlLCB3aGljaCBpcyBkZWZpbmVkIGJ5IHRoZSBzYW1lIFNWRy48L3A+
CisKKyAgPHByZSBpZD0iaW1hZ2Utc2hhcGUiPgorCisKKworICBYCisKKworCis8L3ByZT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3No
YXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3OTkzZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC5o
dG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0Q1NTU2hhcGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxl
PgorI2ltYWdlLXNoYXBlIHsKKyAgICBmb250OiA1MHB4LzE1MHB4IEFoZW0sIHNhbnMtc2VyaWY7
CisgICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAyNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4
OworICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiB1cmwoIi4uL3Jlc291cmNlcy9zdmctc2hhcGUt
MDAxLnN2ZyIpOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1z
aGFwZS0wMDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwv
c3R5bGU+Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAgIFRoaXMgdGVz
dCByZXF1aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRl
ZmluZSBhIHNoYXBlLWluc2lkZS4KKyAgICBJZiB0aGUgZmlyc3QtZml0IGFsZ29yaXRobSBpcyB3
b3JraW5nIGNvcnJlY3RseSwgdGhlIHNpbmdsZSBncmVlbiA1MHg1MCBjaGFyIHNob3VsZCAKKyAg
ICBhcHBlYXIgaW4gdGhlIGNlbnRlciBvZiB0aGUgYmx1ZSBiYWNrZ3JvdW5kIHNoYXBlLCB3aGlj
aCBpcyBkZWZpbmVkIGJ5IHRoZSBzYW1lIFNWRy48L3A+CisKKyAgPGRpdiBpZD0iaW1hZ2Utc2hh
cGUiPlg8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA1LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWlt
YWdlLTAwNS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
Ljc2YjJjYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFw
ZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNpbWFnZS1z
aGFwZSB7CisgICAgZm9udDogNTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgbWFyZ2luOiAw
cHg7CisgICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAzNTBweDsKKyAgICBoZWlnaHQ6IDM1
MHB4OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0w
MDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5bGU+
Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAgIFRoaXMgdGVzdCByZXF1
aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmluZSBh
IHNoYXBlLWluc2lkZS4KKyAgICBJZiB0aGUgZmlyc3QtZml0IGFsZ29yaXRobSBpcyB3b3JraW5n
IGNvcnJlY3RseSwgdGhlIHNlY29uZCBhbmQgZm91cnRoIHJvd3Mgb2YgdGhlIAorICAgIGJsdWUg
U1ZHIHNoYXBlIHNob3VsZCBiZSBjb3ZlcmVkIGJ5IGdyZWVuIHJlY3RhbmdsZXMuPC9wPgorCisg
IDxwcmUgaWQ9ImltYWdlLXNoYXBlIj4KKworCisgWFhYCisKKyBYWFgKKworCis8L3ByZT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBl
LWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3No
YXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3N2ZkZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS5o
dG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0Q1NTU2hhcGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxl
PgorI2ltYWdlLXNoYXBlIHsKKyAgICBmb250OiA1MHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAg
ICBjb2xvcjogZ3JlZW47CisgICAgd2lkdGg6IDI1MHB4OworICAgIGhlaWdodDogMzUwcHg7Cisg
ICAgLXdlYmtpdC1zaGFwZS1pbnNpZGU6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEu
c3ZnIik7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9yZXNvdXJjZXMvc3ZnLXNoYXBl
LTAwMS5zdmciKTsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworfQorPC9zdHls
ZT4KKzxib2R5PgorICA8cCBpZD0iaW5mb3JtYXRpdmUtdGV4dCI+CisgICAgVGhpcyB0ZXN0IHJl
cXVpcmVzIHRoZSBBaGVtIGZvbnQuIEl0IHVzZXMgc3ZnLXNoYXBlLTAwMS5zdmcgdG8gZGVmaW5l
IGEgc2hhcGUtaW5zaWRlLgorICAgIElmIHRoZSBmaXJzdC1maXQgYWxnb3JpdGhtIGlzIHdvcmtp
bmcgY29ycmVjdGx5LCB0aGUgc2Vjb25kIGFuZCBmb3VydGggcm93cyBvZiB0aGUgCisgICAgYmx1
ZSBTVkcgc2hhcGUgc2hvdWxkIGJlIGNvdmVyZWQgYnkgZ3JlZW4gcmVjdGFuZ2xlcy48L3A+CisK
KyAgPGRpdiBpZD0iaW1hZ2Utc2hhcGUiPjwvYnI+WFhYIFhYWDwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDk1YjUwMTguLjdhMWFkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMCBAQAorMjAxMy0wOC0xOSAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFkb2JlLmNvbT4KKwor
ICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5ODQ5PiBbQ1NTIFNoYXBlc10gQ29tcGxl
dGUgUmFzdGVyU2hhcGU6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoKQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbXBsZXRlZCB0aGUg
aW1wbGVtZW50YXRpb24gb2YgUmFzdGVyU2hhcGU6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2lj
YWxUb3AoKS4gVGhlCisgICAgICAgIG1ldGhvZCBub3cgY29tcHV0ZXMgZmlyc3QgbG9naWNhbCB0
b3AgbG9jYXRpb24gd2hlcmUgYSBsaW5lIHNlZ21lbnQgY2FuIGJlIGxhaWQKKyAgICAgICAgb3V0
IHdpdGhpbiBhIFJhc3RlclNoYXBlLCBpLmUuIGEgc2hhcGUgZGVyaXZlZCBmcm9tIGFuIGltYWdl
IHZhbHVlZCBVUkwgcmVzb3VyY2UuCisKKyAgICAgICAgQSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBv
ZiB0aGUgYWxnb3JpdGhtIGNhbiBiZSBmb3VuZCBpbgorICAgICAgICBodHRwOi8vaGFuc211bGxl
ci13ZWJraXQuYmxvZ3Nwb3QuY29tLzIwMTMvMDgvZmlyc3QtZml0LWxvY2F0aW9uLWZvci1pbWFn
ZS1zaGFwZXMuaHRtbC4KKworICAgICAgICBUaGUgbmV3IHRlc3RzIGV4cG9zZWQgYSBidWcgaW4g
dGhlIGV4aXN0aW5nIGdldEluY2x1ZGVkSW50ZXJ2YWxzKCkgbWV0aG9kLiBBIHNoYXBlCisgICAg
ICAgIHdpdGggYSB2ZXJ0aWNhbCBnYXAgdGhhdCBzcGFucyB0aGUgZW50aXJlIGxpbmUgbm93IGNh
dXNlcyB0aGUgbWV0aG9kIHRvIHNob3J0IGNpcmN1aXQKKyAgICAgICAgYW5kIHJldHVybiBhbiBl
bXB0eSBpbnRlcnZhbCBsaXN0LgorCisgICAgICAgIFRlc3RzOiBmYXN0L3NoYXBlcy9zaGFwZS1p
bnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3No
YXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS5odG1s
CisKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJhc3RlclNoYXBlSW50ZXJ2YWxzOjpmaXJzdEluY2x1ZGVkSW50ZXJ2YWxZKToK
KyAgICAgICAgKFdlYkNvcmU6OlJhc3RlclNoYXBlSW50ZXJ2YWxzOjpnZXRJbmNsdWRlZEludGVy
dmFscyk6CisgICAgICAgIChXZWJDb3JlOjpSYXN0ZXJTaGFwZTo6Zmlyc3RJbmNsdWRlZEludGVy
dmFsTG9naWNhbFRvcCk6CisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5o
OgorCiAyMDEzLTA4LTIwICBKYWtvYiBQZXRzb3ZpdHMgIDxqcGV0c292aXRzQGJsYWNrYmVycnku
Y29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBBdm9pZCBhbiBhc3NlcnRpb24gZnJvbSBjYWxs
aW5nIHJlbGVhc2VCdWZmZXJEcmF3YWJsZShudWxscHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNwcAppbmRleCA4Yjg2ZGM2Li4zMDUwZGVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNwcApA
QCAtNDgsNiArNDgsMjggQEAgdm9pZCBSYXN0ZXJTaGFwZUludGVydmFsczo6YWRkSW50ZXJ2YWwo
aW50IHksIGludCB4MSwgaW50IHgyKQogICAgIG1fYm91bmRzLmNsZWFyKCk7CiB9CiAKK2Jvb2wg
UmFzdGVyU2hhcGVJbnRlcnZhbHM6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbFkoaW50IG1pblksIGNv
bnN0IEludFNpemUmIG1pblNpemUsIExheW91dFVuaXQmIHJlc3VsdCkgY29uc3QKK3sKKyAgICBm
b3IgKGludCB5ID0gbWluWTsgeSA8PSBib3VuZHMoKS5oZWlnaHQoKSAtIG1pblNpemUuaGVpZ2h0
KCk7IHkrKykgeworICAgICAgICBSZWdpb24gbGluZVJlZ2lvbihJbnRSZWN0KGJvdW5kcygpLngo
KSwgeSwgYm91bmRzKCkud2lkdGgoKSwgbWluU2l6ZS5oZWlnaHQoKSkpOworICAgICAgICBsaW5l
UmVnaW9uLmludGVyc2VjdChtX3JlZ2lvbik7CisgICAgICAgIGlmIChsaW5lUmVnaW9uLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGNvbnN0IFZlY3RvcjxJbnRS
ZWN0PiYgbGluZVJlY3RzID0gbGluZVJlZ2lvbi5yZWN0cygpOworICAgICAgICBBU1NFUlQobGlu
ZVJlY3RzLnNpemUoKSA+IDApOworCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
aW5lUmVjdHMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgICAgIEludFJlY3QgcmVjdCA9IGxpbmVS
ZWN0c1tpXTsKKyAgICAgICAgICAgIGlmIChyZWN0LndpZHRoKCkgPj0gbWluU2l6ZS53aWR0aCgp
ICYmIGxpbmVSZWdpb24uY29udGFpbnMoUmVnaW9uKEludFJlY3QoSW50UG9pbnQocmVjdC54KCks
IHkpLCBtaW5TaXplKSkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0geTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBpbmxpbmUgSW50UmVjdCBhbGlnbmVkUmVjdChJ
bnRSZWN0IHIsIGludCB5MSwgaW50IHkyKQogewogICAgIHJldHVybiBJbnRSZWN0KHIueCgpLCB5
MSwgci53aWR0aCgpLCB5MiAtIHkxKTsKQEAgLTYzLDcgKzg1LDcgQEAgdm9pZCBSYXN0ZXJTaGFw
ZUludGVydmFsczo6Z2V0SW5jbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIsIFNlZ21lbnRM
aXN0JiByZXMKICAgICBpZiAobGluZVJlZ2lvbi5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIFZlY3RvcjxJbnRSZWN0PiBsaW5lUmVjdHMgPSBsaW5lUmVnaW9uLnJlY3RzKCk7Cisg
ICAgY29uc3QgVmVjdG9yPEludFJlY3Q+JiBsaW5lUmVjdHMgPSBsaW5lUmVnaW9uLnJlY3RzKCk7
CiAgICAgQVNTRVJUKGxpbmVSZWN0cy5zaXplKCkgPiAwKTsKIAogICAgIFJlZ2lvbiBzZWdtZW50
c1JlZ2lvbihsaW5lUmVjdCk7CkBAIC03MSwxOSArOTMsMjYgQEAgdm9pZCBSYXN0ZXJTaGFwZUlu
dGVydmFsczo6Z2V0SW5jbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIsIFNlZ21lbnRMaXN0
JiByZXMKIAogICAgIC8vIFRoZSBsb29wIGJlbG93IHVzZXMgUmVnaW9ucyB0byBjb21wdXRlIHRo
ZSBpbnRlcnNlY3Rpb24gb2YgdGhlIGhvcml6b250YWwKICAgICAvLyBzaGFwZSBpbnRlcnZhbHMg
dGhhdCBmYWxsIHdpdGhpbiB0aGUgbGluZSdzIGJveC4KLSAgICBpbnQgbGluZVkgPSBsaW5lUmVj
dHNbMF0ueSgpOworICAgIGludCBjdXJyZW50TGluZVkgPSBsaW5lUmVjdHNbMF0ueSgpOworICAg
IGludCBjdXJyZW50TGluZU1heFkgPSBsaW5lUmVjdHNbMF0ubWF4WSgpOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsaW5lUmVjdHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKGxp
bmVSZWN0c1tpXS55KCkgIT0gbGluZVkpIHsKKyAgICAgICAgaW50IGxpbmVZID0gbGluZVJlY3Rz
W2ldLnkoKTsKKyAgICAgICAgQVNTRVJUKGxpbmVZID49IGN1cnJlbnRMaW5lWSk7CisgICAgICAg
IGlmIChsaW5lWSA+IGN1cnJlbnRMaW5lTWF4WSkgLy8gV2UndmUgZW5jb3VudGVyZWQgYSB2ZXJ0
aWNhbCBnYXAgaW4gbGluZVJlY3RzLCB0aGVyZSBhcmUgbm8gaW5jbHVkZWQgaW50ZXJ2YWxzLgor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAobGluZVkgPiBjdXJyZW50TGluZVkpIHsK
KyAgICAgICAgICAgIGN1cnJlbnRMaW5lWSA9IGxpbmVZOworICAgICAgICAgICAgY3VycmVudExp
bmVNYXhZID0gbGluZVJlY3RzW2ldLm1heFkoKTsKICAgICAgICAgICAgIHNlZ21lbnRzUmVnaW9u
LmludGVyc2VjdChpbnRlcnZhbHNSZWdpb24pOwogICAgICAgICAgICAgaW50ZXJ2YWxzUmVnaW9u
ID0gUmVnaW9uKCk7Ci0gICAgICAgIH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjdXJy
ZW50TGluZU1heFkgPSBzdGQ6Om1heDxpbnQ+KGN1cnJlbnRMaW5lTWF4WSwgbGluZVJlY3RzW2ld
Lm1heFkoKSk7CiAgICAgICAgIGludGVydmFsc1JlZ2lvbi51bml0ZShSZWdpb24oYWxpZ25lZFJl
Y3QobGluZVJlY3RzW2ldLCB5MSwgeTIpKSk7Ci0gICAgICAgIGxpbmVZID0gbGluZVJlY3RzW2ld
LnkoKTsKICAgICB9CiAgICAgaWYgKCFpbnRlcnZhbHNSZWdpb24uaXNFbXB0eSgpKQogICAgICAg
ICBzZWdtZW50c1JlZ2lvbi5pbnRlcnNlY3QoaW50ZXJ2YWxzUmVnaW9uKTsKIAotICAgIFZlY3Rv
cjxJbnRSZWN0PiBzZWdtZW50UmVjdHMgPSBzZWdtZW50c1JlZ2lvbi5yZWN0cygpOworICAgIGNv
bnN0IFZlY3RvcjxJbnRSZWN0PiYgc2VnbWVudFJlY3RzID0gc2VnbWVudHNSZWdpb24ucmVjdHMo
KTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2VnbWVudFJlY3RzLnNpemUoKTsgKytp
KQogICAgICAgICByZXN1bHQuYXBwZW5kKExpbmVTZWdtZW50KHNlZ21lbnRSZWN0c1tpXS54KCks
IHNlZ21lbnRSZWN0c1tpXS5tYXhYKCkpKTsKIH0KQEAgLTk4LDE0ICsxMjcsMTQgQEAgdm9pZCBS
YXN0ZXJTaGFwZUludGVydmFsczo6Z2V0RXhjbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIs
IFNlZ21lbnRMaXN0JiByZXMKICAgICBpZiAobGluZVJlZ2lvbi5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIFZlY3RvcjxJbnRSZWN0PiBsaW5lUmVjdHMgPSBsaW5lUmVnaW9uLnJl
Y3RzKCk7CisgICAgY29uc3QgVmVjdG9yPEludFJlY3Q+JiBsaW5lUmVjdHMgPSBsaW5lUmVnaW9u
LnJlY3RzKCk7CiAgICAgQVNTRVJUKGxpbmVSZWN0cy5zaXplKCkgPiAwKTsKIAogICAgIFJlZ2lv
biBzZWdtZW50c1JlZ2lvbjsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGluZVJlY3Rz
LnNpemUoKTsgaSsrKQogICAgICAgICBzZWdtZW50c1JlZ2lvbi51bml0ZShSZWdpb24oYWxpZ25l
ZFJlY3QobGluZVJlY3RzW2ldLCB5MSwgeTIpKSk7CiAKLSAgICBWZWN0b3I8SW50UmVjdD4gc2Vn
bWVudFJlY3RzID0gc2VnbWVudHNSZWdpb24ucmVjdHMoKTsKKyAgICBjb25zdCBWZWN0b3I8SW50
UmVjdD4mIHNlZ21lbnRSZWN0cyA9IHNlZ21lbnRzUmVnaW9uLnJlY3RzKCk7CiAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHNlZ21lbnRSZWN0cy5zaXplKCk7IGkrKykKICAgICAgICAgcmVz
dWx0LmFwcGVuZChMaW5lU2VnbWVudChzZWdtZW50UmVjdHNbaV0ueCgpLCBzZWdtZW50UmVjdHNb
aV0ubWF4WCgpICsgMSkpOwogfQpAQCAtMTcyLDEzICsyMDEsMTAgQEAgYm9vbCBSYXN0ZXJTaGFw
ZTo6Zmlyc3RJbmNsdWRlZEludGVydmFsTG9naWNhbFRvcChMYXlvdXRVbml0IG1pbkxvZ2ljYWxJ
bnRlcnZhbFQKIAogICAgIGZsb2F0IG1pblkgPSBzdGQ6Om1heDxmbG9hdD4oaW50ZXJ2YWxzLmJv
dW5kcygpLnkoKSwgbWluSW50ZXJ2YWxUb3ApOwogICAgIGZsb2F0IG1heFkgPSBtaW5ZICsgbWlu
SW50ZXJ2YWxIZWlnaHQ7Ci0KICAgICBpZiAobWF4WSA+IGludGVydmFscy5ib3VuZHMoKS5tYXhZ
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIEZJWE1FOiBDb21wbGV0ZSB0aGlz
IG1ldGhvZCwgc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYz
NDguCi0gICAgcmVzdWx0ID0gbWluWTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gaW50
ZXJ2YWxzLmZpcnN0SW5jbHVkZWRJbnRlcnZhbFkobWluWSwgZmxvb3JlZEludFNpemUobWluTG9n
aWNhbEludGVydmFsU2l6ZSksIHJlc3VsdCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuaAppbmRleCA4
OThmOWU1Li45NDcyZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hh
cGVzL1Jhc3RlclNoYXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9S
YXN0ZXJTaGFwZS5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZEludGVy
dmFsKGludCB5LCBpbnQgeDEsIGludCB4Mik7CiAgICAgdm9pZCBnZXRJbmNsdWRlZEludGVydmFs
cyhpbnQgeTEsIGludCB5MiwgU2VnbWVudExpc3QmKSBjb25zdDsKICAgICB2b2lkIGdldEV4Y2x1
ZGVkSW50ZXJ2YWxzKGludCB5MSwgaW50IHkyLCBTZWdtZW50TGlzdCYpIGNvbnN0OworICAgIGJv
b2wgZmlyc3RJbmNsdWRlZEludGVydmFsWShpbnQgbWluWSwgY29uc3QgSW50U2l6ZSYgbWluSW50
ZXJ2YWxTaXplLCBMYXlvdXRVbml0JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgUmVnaW9uIG1f
cmVnaW9uOwo=
</data>
<flag name="review"
          id="231188"
          type_id="1"
          status="+"
          setter="achicu"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209209</attachid>
            <date>2013-08-20 11:04:58 -0700</date>
            <delta_ts>2013-08-20 12:20:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>14854</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYTBiOTA5Li4zNjBiYzdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDgt
MTkgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisgICAgICAgIDxodHRwczovL3dl
YmtpdC5vcmcvYi8xMTk4NDk+IFtDU1MgU2hhcGVzXSBDb21wbGV0ZSBSYXN0ZXJTaGFwZTo6Zmly
c3RJbmNsdWRlZEludGVydmFsTG9naWNhbFRvcCgpCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxl
eGFuZHJ1IENoaWN1bGl0YS4KKworICAgICAgICBWZXJpZnkgdGhhdCB0aGUgZmlyc3QgZml0IGFs
Z29yaXRobSB3b3JrcyBjb3JyZWN0bHkgZm9yIGNvbXBsZXggaW1hZ2Ugc2hhcGVzLgorICAgICAg
ICBGb3IgdGhpcyBzZXQgb2YgdGVzdHMgdGhlIGltYWdlIGlzIHNwZWNpZmllZCB3aXRoIGFuIFNW
RyBmaWxlLgorCisgICAgICAgICogZmFzdC9zaGFwZXMvcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEu
c3ZnOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5z
aWRlLWltYWdlLTAwMy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hh
cGUtaW5zaWRlLWltYWdlLTAwNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9z
aGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAw
NS5odG1sOiBBZGRlZC4KKwogMjAxMy0wOC0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMDAyNT4gUkVHUkVTU0lP
TiAocjE1NDI1NCk6IGZhc3QvZnJhbWVzL2ZyYW1lc2V0LWZyYW1lYm9yZGVyLWluaGVyaXRhbmNl
Lmh0bWwgZmFpbGluZyBvbiBBcHBsZSBNb3VudGFpbkxpb24gRGVidWcgV0sxIChUZXN0cykKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Jlc291cmNlcy9zdmctc2hhcGUtMDAx
LnN2ZyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Jlc291cmNlcy9zdmctc2hhcGUtMDAxLnN2
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjQ0Yjg4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEu
c3ZnCkBAIC0wLDAgKzEsMTkgQEAKKzxzdmcgZmlsbD0iYmx1ZSIgd2lkdGg9IjQwMHB4IiBoZWln
aHQ9IjQwMHB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPiAKKyAgICA8IS0t
CisgICAgVGhpcyBmaWxlIGRlZmluZXMgYSBzaGFwZSB0aGF0J3MgYSBzbWFsbCBzeW1tZXRyaWNh
bCBzdGFjayBvZiAzIHJlY3RpbGluZWFyIHBvbHlnb25zLgorICAgIFRoZSBzaGFwZSBsb29rcyBs
aWtlIHRoZSBmb2xsb3dpbmcgdGV4dCwgd2hlcmUgZWFjaCBYIHJlcHJlc2VudHMgYSA1MHg1MCBi
bG9jayBvZiBibHVlIHBpeGVsczoKKworICAgICAgIFhYWFhYCisKKyAgICAgICAgWFhYCisgICAg
ICAgICBYCisgICAgICAgIFhYWAorCisgICAgICAgWFhYWFgKKyAgICAtLT4KKyAgICA8cmVjdCB4
PSIwIiB5PSIwIiB3aWR0aD0iMjUwIiBoZWlnaHQ9IjUwIi8+CisgICAgPHJlY3QgeD0iNTAiIHk9
IjEwMCIgd2lkdGg9IjE1MCIgaGVpZ2h0PSI1MCIvPgorICAgIDxyZWN0IHg9IjEwMCIgeT0iMTUw
IiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiLz4KKyAgICA8cmVjdCB4PSI1MCIgeT0iMjAwIiB3aWR0
aD0iMTUwIiBoZWlnaHQ9IjUwIi8+CisgICAgPHJlY3QgeD0iMCIgeT0iMzAwIiB3aWR0aD0iMjUw
IiBoZWlnaHQ9IjUwIi8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hh
cGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDAzLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAw
My1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlYmZi
ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNp
ZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFwZSB7
CisgICAgZm9udDogNTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgbWFyZ2luOiAwcHg7Cisg
ICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAzNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4Owor
ICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEuc3Zn
Iik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5bGU+Cis8Ym9k
eT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAgIFRoaXMgdGVzdCByZXF1aXJlcyB0
aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmluZSBhIHNoYXBl
LWluc2lkZS4gCisgICAgVGhlIGNvbnRlbnQgc2hvdWxkIGp1c3QgY292ZXIgdGhlIGJsdWUgYmFj
a2dyb3VuZCBzaGFwZSB3aXRoIHNvbGlkIGdyZWVuLjwvcD4KKworICA8cHJlIGlkPSJpbWFnZS1z
aGFwZSI+CitYWFhYWAorCisgWFhYIAorICBYCisgWFhYCisKK1hYWFhYCis8L3ByZT4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWlu
c2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MGM2YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwMy5odG1s
CkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTU2hhcGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgor
I2ltYWdlLXNoYXBlIHsKKyAgICBmb250OiA1MHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICBj
b2xvcjogZ3JlZW47CisgICAgd2lkdGg6IDI1MHB4OworICAgIGhlaWdodDogMzUwcHg7CisgICAg
LXdlYmtpdC1zaGFwZS1pbnNpZGU6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEuc3Zn
Iik7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9yZXNvdXJjZXMvc3ZnLXNoYXBlLTAw
MS5zdmciKTsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworfQorPC9zdHlsZT4K
Kzxib2R5PgorICA8cCBpZD0iaW5mb3JtYXRpdmUtdGV4dCI+CisgICAgVGhpcyB0ZXN0IHJlcXVp
cmVzIHRoZSBBaGVtIGZvbnQuIEl0IHVzZXMgc3ZnLXNoYXBlLTAwMS5zdmcgdG8gZGVmaW5lIGEg
c2hhcGUtaW5zaWRlLiAKKyAgICBUaGUgY29udGVudCBzaG91bGQganVzdCBjb3ZlciB0aGUgYmx1
ZSBiYWNrZ3JvdW5kIHNoYXBlIHdpdGggc29saWQgZ3JlZW4uPC9wPgorCisgIDxkaXYgaWQ9Imlt
YWdlLXNoYXBlIj5YWFhYWCBYWFggWCBYWFggWFhYWFg8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1p
bnNpZGUtaW1hZ2UtMDA0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9z
aGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NGJiOGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAw
NC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFwZSB7CisgICAgZm9udDogNTBweC8xIEFoZW0s
IHNhbnMtc2VyaWY7CisgICAgbWFyZ2luOiAwcHg7CisgICAgY29sb3I6IGdyZWVuOworICAgIHdp
ZHRoOiAzNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVy
bCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBl
YXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5bGU+Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZl
LXRleHQiPgorICAgIFRoaXMgdGVzdCByZXF1aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2
Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmluZSBhIHNoYXBlLWluc2lkZS4KKyAgICBJZiB0aGUgZmly
c3QtZml0IGFsZ29yaXRobSBpcyB3b3JraW5nIGNvcnJlY3RseSwgdGhlIHNpbmdsZSBncmVlbiA1
MHg1MCBjaGFyIHNob3VsZCAKKyAgICBhcHBlYXIgaW4gdGhlIGNlbnRlciBvZiB0aGUgYmx1ZSBi
YWNrZ3JvdW5kIHNoYXBlLCB3aGljaCBpcyBkZWZpbmVkIGJ5IHRoZSBzYW1lIFNWRy48L3A+CisK
KyAgPHByZSBpZD0iaW1hZ2Utc2hhcGUiPgorCisKKworICBYCisKKworCis8L3ByZT4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWlu
c2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3OTkzZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNC5odG1s
CkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTU2hhcGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgor
I2ltYWdlLXNoYXBlIHsKKyAgICBmb250OiA1MHB4LzE1MHB4IEFoZW0sIHNhbnMtc2VyaWY7Cisg
ICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAyNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4Owor
ICAgIC13ZWJraXQtc2hhcGUtaW5zaWRlOiB1cmwoIi4uL3Jlc291cmNlcy9zdmctc2hhcGUtMDAx
LnN2ZyIpOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFw
ZS0wMDEuc3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5
bGU+Cis8Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAgIFRoaXMgdGVzdCBy
ZXF1aXJlcyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmlu
ZSBhIHNoYXBlLWluc2lkZS4KKyAgICBJZiB0aGUgZmlyc3QtZml0IGFsZ29yaXRobSBpcyB3b3Jr
aW5nIGNvcnJlY3RseSwgdGhlIHNpbmdsZSBncmVlbiA1MHg1MCBjaGFyIHNob3VsZCAKKyAgICBh
cHBlYXIgaW4gdGhlIGNlbnRlciBvZiB0aGUgYmx1ZSBiYWNrZ3JvdW5kIHNoYXBlLCB3aGljaCBp
cyBkZWZpbmVkIGJ5IHRoZSBzYW1lIFNWRy48L3A+CisKKyAgPGRpdiBpZD0iaW1hZ2Utc2hhcGUi
Plg8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA1LWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdl
LTAwNS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2
YjJjYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1p
bnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyNpbWFnZS1zaGFw
ZSB7CisgICAgZm9udDogNTBweC8xIEFoZW0sIHNhbnMtc2VyaWY7CisgICAgbWFyZ2luOiAwcHg7
CisgICAgY29sb3I6IGdyZWVuOworICAgIHdpZHRoOiAzNTBweDsKKyAgICBoZWlnaHQ6IDM1MHB4
OworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEu
c3ZnIik7CisgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKK30KKzwvc3R5bGU+Cis8
Ym9keT4KKyAgPHAgaWQ9ImluZm9ybWF0aXZlLXRleHQiPgorICAgIFRoaXMgdGVzdCByZXF1aXJl
cyB0aGUgQWhlbSBmb250LiBJdCB1c2VzIHN2Zy1zaGFwZS0wMDEuc3ZnIHRvIGRlZmluZSBhIHNo
YXBlLWluc2lkZS4KKyAgICBJZiB0aGUgZmlyc3QtZml0IGFsZ29yaXRobSBpcyB3b3JraW5nIGNv
cnJlY3RseSwgdGhlIHNlY29uZCBhbmQgZm91cnRoIHJvd3Mgb2YgdGhlIAorICAgIGJsdWUgU1ZH
IHNoYXBlIHNob3VsZCBiZSBjb3ZlcmVkIGJ5IGdyZWVuIHJlY3RhbmdsZXMuPC9wPgorCisgIDxw
cmUgaWQ9ImltYWdlLXNoYXBlIj4KKworCisgWFhYCisKKyBYWFgKKworCis8L3ByZT4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLWlu
c2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3N2ZkZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLWltYWdlLTAwNS5odG1s
CkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q1NTU2hhcGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgor
I2ltYWdlLXNoYXBlIHsKKyAgICBmb250OiA1MHB4LzEgQWhlbSwgc2Fucy1zZXJpZjsKKyAgICBj
b2xvcjogZ3JlZW47CisgICAgd2lkdGg6IDI1MHB4OworICAgIGhlaWdodDogMzUwcHg7CisgICAg
LXdlYmtpdC1zaGFwZS1pbnNpZGU6IHVybCgiLi4vcmVzb3VyY2VzL3N2Zy1zaGFwZS0wMDEuc3Zn
Iik7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9yZXNvdXJjZXMvc3ZnLXNoYXBlLTAw
MS5zdmciKTsKKyAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworfQorPC9zdHlsZT4K
Kzxib2R5PgorICA8cCBpZD0iaW5mb3JtYXRpdmUtdGV4dCI+CisgICAgVGhpcyB0ZXN0IHJlcXVp
cmVzIHRoZSBBaGVtIGZvbnQuIEl0IHVzZXMgc3ZnLXNoYXBlLTAwMS5zdmcgdG8gZGVmaW5lIGEg
c2hhcGUtaW5zaWRlLgorICAgIElmIHRoZSBmaXJzdC1maXQgYWxnb3JpdGhtIGlzIHdvcmtpbmcg
Y29ycmVjdGx5LCB0aGUgc2Vjb25kIGFuZCBmb3VydGggcm93cyBvZiB0aGUgCisgICAgYmx1ZSBT
Vkcgc2hhcGUgc2hvdWxkIGJlIGNvdmVyZWQgYnkgZ3JlZW4gcmVjdGFuZ2xlcy48L3A+CisKKyAg
PGRpdiBpZD0iaW1hZ2Utc2hhcGUiPjwvYnI+WFhYIFhYWDwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDk1YjUwMTguLjlkNWU0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MCBAQAorMjAxMy0wOC0xOSAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFkb2JlLmNvbT4KKworICAg
ICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5ODQ5PiBbQ1NTIFNoYXBlc10gQ29tcGxldGUg
UmFzdGVyU2hhcGU6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbExvZ2ljYWxUb3AoKQorCisgICAgICAg
IFJldmlld2VkIGJ5IEFsZXhhbmRydSBDaGljdWxpdGEuCisKKyAgICAgICAgQ29tcGxldGVkIHRo
ZSBpbXBsZW1lbnRhdGlvbiBvZiBSYXN0ZXJTaGFwZTo6Zmlyc3RJbmNsdWRlZEludGVydmFsTG9n
aWNhbFRvcCgpLiBUaGUKKyAgICAgICAgbWV0aG9kIG5vdyBjb21wdXRlcyBmaXJzdCBsb2dpY2Fs
IHRvcCBsb2NhdGlvbiB3aGVyZSBhIGxpbmUgc2VnbWVudCBjYW4gYmUgbGFpZAorICAgICAgICBv
dXQgd2l0aGluIGEgUmFzdGVyU2hhcGUsIGkuZS4gYSBzaGFwZSBkZXJpdmVkIGZyb20gYW4gaW1h
Z2UgdmFsdWVkIFVSTCByZXNvdXJjZS4KKworICAgICAgICBBIGRldGFpbGVkIGRlc2NyaXB0aW9u
IG9mIHRoZSBhbGdvcml0aG0gY2FuIGJlIGZvdW5kIGluCisgICAgICAgIGh0dHA6Ly9oYW5zbXVs
bGVyLXdlYmtpdC5ibG9nc3BvdC5jb20vMjAxMy8wOC9maXJzdC1maXQtbG9jYXRpb24tZm9yLWlt
YWdlLXNoYXBlcy5odG1sLgorCisgICAgICAgIFRoZSBuZXcgdGVzdHMgZXhwb3NlZCBhIGJ1ZyBp
biB0aGUgZXhpc3RpbmcgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoKSBtZXRob2QuIEEgc2hhcGUKKyAg
ICAgICAgd2l0aCBhIHZlcnRpY2FsIGdhcCB0aGF0IHNwYW5zIHRoZSBlbnRpcmUgbGluZSBub3cg
Y2F1c2VzIHRoZSBtZXRob2QgdG8gc2hvcnQgY2lyY3VpdAorICAgICAgICBhbmQgcmV0dXJuIGFu
IGVtcHR5IGludGVydmFsIGxpc3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2hhcGVzL3NoYXBl
LWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDAzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qv
c2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA0Lmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3Qvc2hhcGVzL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtaW1hZ2UtMDA1Lmh0
bWwKKworICAgICAgICAqIHJlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmFzdGVyU2hhcGVJbnRlcnZhbHM6OmZpcnN0SW5jbHVkZWRJbnRlcnZhbFkp
OgorICAgICAgICAoV2ViQ29yZTo6UmFzdGVyU2hhcGVJbnRlcnZhbHM6OmdldEluY2x1ZGVkSW50
ZXJ2YWxzKToKKyAgICAgICAgKFdlYkNvcmU6OlJhc3RlclNoYXBlOjpmaXJzdEluY2x1ZGVkSW50
ZXJ2YWxMb2dpY2FsVG9wKToKKyAgICAgICAgKiByZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBl
Lmg6CisKIDIwMTMtMDgtMjAgIEpha29iIFBldHNvdml0cyAgPGpwZXRzb3ZpdHNAYmxhY2tiZXJy
eS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEF2b2lkIGFuIGFzc2VydGlvbiBmcm9tIGNh
bGxpbmcgcmVsZWFzZUJ1ZmZlckRyYXdhYmxlKG51bGxwdHIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuY3BwCmluZGV4IDhiODZkYzYuLjRlYjhhZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuY3Bw
CkBAIC00OCw2ICs0OCwyOCBAQCB2b2lkIFJhc3RlclNoYXBlSW50ZXJ2YWxzOjphZGRJbnRlcnZh
bChpbnQgeSwgaW50IHgxLCBpbnQgeDIpCiAgICAgbV9ib3VuZHMuY2xlYXIoKTsKIH0KIAorYm9v
bCBSYXN0ZXJTaGFwZUludGVydmFsczo6Zmlyc3RJbmNsdWRlZEludGVydmFsWShpbnQgbWluWSwg
Y29uc3QgSW50U2l6ZSYgbWluU2l6ZSwgTGF5b3V0VW5pdCYgcmVzdWx0KSBjb25zdAoreworICAg
IGZvciAoaW50IHkgPSBtaW5ZOyB5IDw9IGJvdW5kcygpLm1heFkoKSAtIG1pblNpemUuaGVpZ2h0
KCk7IHkrKykgeworICAgICAgICBSZWdpb24gbGluZVJlZ2lvbihJbnRSZWN0KGJvdW5kcygpLngo
KSwgeSwgYm91bmRzKCkud2lkdGgoKSwgbWluU2l6ZS5oZWlnaHQoKSkpOworICAgICAgICBsaW5l
UmVnaW9uLmludGVyc2VjdChtX3JlZ2lvbik7CisgICAgICAgIGlmIChsaW5lUmVnaW9uLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGNvbnN0IFZlY3RvcjxJbnRS
ZWN0PiYgbGluZVJlY3RzID0gbGluZVJlZ2lvbi5yZWN0cygpOworICAgICAgICBBU1NFUlQobGlu
ZVJlY3RzLnNpemUoKSA+IDApOworCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
aW5lUmVjdHMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgICAgIEludFJlY3QgcmVjdCA9IGxpbmVS
ZWN0c1tpXTsKKyAgICAgICAgICAgIGlmIChyZWN0LndpZHRoKCkgPj0gbWluU2l6ZS53aWR0aCgp
ICYmIGxpbmVSZWdpb24uY29udGFpbnMoUmVnaW9uKEludFJlY3QoSW50UG9pbnQocmVjdC54KCks
IHkpLCBtaW5TaXplKSkpKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0geTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBpbmxpbmUgSW50UmVjdCBhbGlnbmVkUmVjdChJ
bnRSZWN0IHIsIGludCB5MSwgaW50IHkyKQogewogICAgIHJldHVybiBJbnRSZWN0KHIueCgpLCB5
MSwgci53aWR0aCgpLCB5MiAtIHkxKTsKQEAgLTYzLDcgKzg1LDcgQEAgdm9pZCBSYXN0ZXJTaGFw
ZUludGVydmFsczo6Z2V0SW5jbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIsIFNlZ21lbnRM
aXN0JiByZXMKICAgICBpZiAobGluZVJlZ2lvbi5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIFZlY3RvcjxJbnRSZWN0PiBsaW5lUmVjdHMgPSBsaW5lUmVnaW9uLnJlY3RzKCk7Cisg
ICAgY29uc3QgVmVjdG9yPEludFJlY3Q+JiBsaW5lUmVjdHMgPSBsaW5lUmVnaW9uLnJlY3RzKCk7
CiAgICAgQVNTRVJUKGxpbmVSZWN0cy5zaXplKCkgPiAwKTsKIAogICAgIFJlZ2lvbiBzZWdtZW50
c1JlZ2lvbihsaW5lUmVjdCk7CkBAIC03MSwxOSArOTMsMjggQEAgdm9pZCBSYXN0ZXJTaGFwZUlu
dGVydmFsczo6Z2V0SW5jbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIsIFNlZ21lbnRMaXN0
JiByZXMKIAogICAgIC8vIFRoZSBsb29wIGJlbG93IHVzZXMgUmVnaW9ucyB0byBjb21wdXRlIHRo
ZSBpbnRlcnNlY3Rpb24gb2YgdGhlIGhvcml6b250YWwKICAgICAvLyBzaGFwZSBpbnRlcnZhbHMg
dGhhdCBmYWxsIHdpdGhpbiB0aGUgbGluZSdzIGJveC4KLSAgICBpbnQgbGluZVkgPSBsaW5lUmVj
dHNbMF0ueSgpOworICAgIGludCBjdXJyZW50TGluZVkgPSBsaW5lUmVjdHNbMF0ueSgpOworICAg
IGludCBjdXJyZW50TGluZU1heFkgPSBsaW5lUmVjdHNbMF0ubWF4WSgpOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsaW5lUmVjdHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKGxp
bmVSZWN0c1tpXS55KCkgIT0gbGluZVkpIHsKKyAgICAgICAgaW50IGxpbmVZID0gbGluZVJlY3Rz
W2ldLnkoKTsKKyAgICAgICAgQVNTRVJUKGxpbmVZID49IGN1cnJlbnRMaW5lWSk7CisgICAgICAg
IGlmIChsaW5lWSA+IGN1cnJlbnRMaW5lTWF4WSkgeworICAgICAgICAgICAgLy8gV2UndmUgZW5j
b3VudGVyZWQgYSB2ZXJ0aWNhbCBnYXAgaW4gbGluZVJlY3RzLCB0aGVyZSBhcmUgbm8gaW5jbHVk
ZWQgaW50ZXJ2YWxzLgorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlm
IChsaW5lWSA+IGN1cnJlbnRMaW5lWSkgeworICAgICAgICAgICAgY3VycmVudExpbmVZID0gbGlu
ZVk7CisgICAgICAgICAgICBjdXJyZW50TGluZU1heFkgPSBsaW5lUmVjdHNbaV0ubWF4WSgpOwog
ICAgICAgICAgICAgc2VnbWVudHNSZWdpb24uaW50ZXJzZWN0KGludGVydmFsc1JlZ2lvbik7CiAg
ICAgICAgICAgICBpbnRlcnZhbHNSZWdpb24gPSBSZWdpb24oKTsKLSAgICAgICAgfQorICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIGN1cnJlbnRMaW5lTWF4WSA9IHN0ZDo6bWF4PGludD4oY3Vy
cmVudExpbmVNYXhZLCBsaW5lUmVjdHNbaV0ubWF4WSgpKTsKICAgICAgICAgaW50ZXJ2YWxzUmVn
aW9uLnVuaXRlKFJlZ2lvbihhbGlnbmVkUmVjdChsaW5lUmVjdHNbaV0sIHkxLCB5MikpKTsKLSAg
ICAgICAgbGluZVkgPSBsaW5lUmVjdHNbaV0ueSgpOwogICAgIH0KICAgICBpZiAoIWludGVydmFs
c1JlZ2lvbi5pc0VtcHR5KCkpCiAgICAgICAgIHNlZ21lbnRzUmVnaW9uLmludGVyc2VjdChpbnRl
cnZhbHNSZWdpb24pOwogCi0gICAgVmVjdG9yPEludFJlY3Q+IHNlZ21lbnRSZWN0cyA9IHNlZ21l
bnRzUmVnaW9uLnJlY3RzKCk7CisgICAgY29uc3QgVmVjdG9yPEludFJlY3Q+JiBzZWdtZW50UmVj
dHMgPSBzZWdtZW50c1JlZ2lvbi5yZWN0cygpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzZWdtZW50UmVjdHMuc2l6ZSgpOyArK2kpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoTGluZVNl
Z21lbnQoc2VnbWVudFJlY3RzW2ldLngoKSwgc2VnbWVudFJlY3RzW2ldLm1heFgoKSkpOwogfQpA
QCAtOTgsMTQgKzEyOSwxNCBAQCB2b2lkIFJhc3RlclNoYXBlSW50ZXJ2YWxzOjpnZXRFeGNsdWRl
ZEludGVydmFscyhpbnQgeTEsIGludCB5MiwgU2VnbWVudExpc3QmIHJlcwogICAgIGlmIChsaW5l
UmVnaW9uLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVmVjdG9yPEludFJlY3Q+
IGxpbmVSZWN0cyA9IGxpbmVSZWdpb24ucmVjdHMoKTsKKyAgICBjb25zdCBWZWN0b3I8SW50UmVj
dD4mIGxpbmVSZWN0cyA9IGxpbmVSZWdpb24ucmVjdHMoKTsKICAgICBBU1NFUlQobGluZVJlY3Rz
LnNpemUoKSA+IDApOwogCiAgICAgUmVnaW9uIHNlZ21lbnRzUmVnaW9uOwogICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsaW5lUmVjdHMuc2l6ZSgpOyBpKyspCiAgICAgICAgIHNlZ21lbnRz
UmVnaW9uLnVuaXRlKFJlZ2lvbihhbGlnbmVkUmVjdChsaW5lUmVjdHNbaV0sIHkxLCB5MikpKTsK
IAotICAgIFZlY3RvcjxJbnRSZWN0PiBzZWdtZW50UmVjdHMgPSBzZWdtZW50c1JlZ2lvbi5yZWN0
cygpOworICAgIGNvbnN0IFZlY3RvcjxJbnRSZWN0PiYgc2VnbWVudFJlY3RzID0gc2VnbWVudHNS
ZWdpb24ucmVjdHMoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2VnbWVudFJlY3Rz
LnNpemUoKTsgaSsrKQogICAgICAgICByZXN1bHQuYXBwZW5kKExpbmVTZWdtZW50KHNlZ21lbnRS
ZWN0c1tpXS54KCksIHNlZ21lbnRSZWN0c1tpXS5tYXhYKCkgKyAxKSk7CiB9CkBAIC0xNzIsMTMg
KzIwMywxMCBAQCBib29sIFJhc3RlclNoYXBlOjpmaXJzdEluY2x1ZGVkSW50ZXJ2YWxMb2dpY2Fs
VG9wKExheW91dFVuaXQgbWluTG9naWNhbEludGVydmFsVAogCiAgICAgZmxvYXQgbWluWSA9IHN0
ZDo6bWF4PGZsb2F0PihpbnRlcnZhbHMuYm91bmRzKCkueSgpLCBtaW5JbnRlcnZhbFRvcCk7CiAg
ICAgZmxvYXQgbWF4WSA9IG1pblkgKyBtaW5JbnRlcnZhbEhlaWdodDsKLQogICAgIGlmIChtYXhZ
ID4gaW50ZXJ2YWxzLmJvdW5kcygpLm1heFkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgLy8gRklYTUU6IENvbXBsZXRlIHRoaXMgbWV0aG9kLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjM0OC4KLSAgICByZXN1bHQgPSBtaW5ZOwotICAgIHJl
dHVybiB0cnVlOworICAgIHJldHVybiBpbnRlcnZhbHMuZmlyc3RJbmNsdWRlZEludGVydmFsWSht
aW5ZLCBmbG9vcmVkSW50U2l6ZShtaW5Mb2dpY2FsSW50ZXJ2YWxTaXplKSwgcmVzdWx0KTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3No
YXBlcy9SYXN0ZXJTaGFwZS5oCmluZGV4IDg5OGY5ZTUuLjk0NzJlMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmgKQEAgLTQ3LDYgKzQ3LDcgQEAg
cHVibGljOgogICAgIHZvaWQgYWRkSW50ZXJ2YWwoaW50IHksIGludCB4MSwgaW50IHgyKTsKICAg
ICB2b2lkIGdldEluY2x1ZGVkSW50ZXJ2YWxzKGludCB5MSwgaW50IHkyLCBTZWdtZW50TGlzdCYp
IGNvbnN0OwogICAgIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoaW50IHkxLCBpbnQgeTIsIFNl
Z21lbnRMaXN0JikgY29uc3Q7CisgICAgYm9vbCBmaXJzdEluY2x1ZGVkSW50ZXJ2YWxZKGludCBt
aW5ZLCBjb25zdCBJbnRTaXplJiBtaW5JbnRlcnZhbFNpemUsIExheW91dFVuaXQmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBSZWdpb24gbV9yZWdpb247Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>