<?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>140219</bug_id>
          
          <creation_ts>2015-01-07 15:28:46 -0800</creation_ts>
          <short_desc>Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder</short_desc>
          <delta_ts>2015-01-07 23:55:49 -0800</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>
          <dependson>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059568</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-07 15:28:46 -0800</bug_when>
    <thetext>Move -webkit-tap-highlight-color / -webkit-overflow-scrolling / -webkit-touch-callout to the new StyleBuilder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059653</commentid>
    <comment_count>1</comment_count>
      <attachid>244227</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-07 17:20:18 -0800</bug_when>
    <thetext>Created attachment 244227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059703</commentid>
    <comment_count>2</comment_count>
      <attachid>244227</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-01-07 20:19:40 -0800</bug_when>
    <thetext>Comment on attachment 244227
Patch

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

&gt; Source/WebCore/css/StyleBuilderConverter.h:1061
&gt; +    return downcast&lt;CSSPrimitiveValue&gt;(value).getStringValue().lower() != &quot;none&quot;;

Can we do this with equalIgnoringCase instead of lower? It&apos;s a shame to copy the string if it happens to have an uppercase character in it, just to do an equality comparison. More efficient still would be equalIgnoringASCIICase if we had an overload that takes the right type.

&gt; Source/WebCore/css/StyleBuilderConverter.h:1063
&gt; +#endif // PLATFORM(IOS)

In these short sequences, these comments on the #endif are ugly and don&apos;t seem to add clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059734</commentid>
    <comment_count>3</comment_count>
      <attachid>244227</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-07 21:42:08 -0800</bug_when>
    <thetext>Comment on attachment 244227
Patch

Rejecting attachment 244227 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 244227, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
    -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 178099 = 872690584ea2f35ace4928e38aaafb983e616a41
r178100 = 608d0716a1e22238a9f4bfd5213b38689a782b18
r178101 = 8acfb24eec38d82cd85c718f17d1bcd954336f64
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.appspot.com/results/5872560549920768</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059750</commentid>
    <comment_count>4</comment_count>
      <attachid>244243</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-07 22:45:14 -0800</bug_when>
    <thetext>Created attachment 244243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059751</commentid>
    <comment_count>5</comment_count>
      <attachid>244244</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-07 22:53:47 -0800</bug_when>
    <thetext>Created attachment 244244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059754</commentid>
    <comment_count>6</comment_count>
      <attachid>244244</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-07 23:55:44 -0800</bug_when>
    <thetext>Comment on attachment 244244
Patch

Clearing flags on attachment: 244244

Committed r178108: &lt;http://trac.webkit.org/changeset/178108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059755</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-07 23:55:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244227</attachid>
            <date>2015-01-07 17:20:18 -0800</date>
            <delta_ts>2015-01-07 22:45:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140219-20150107172022.patch</filename>
            <type>text/plain</type>
            <size>12897</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY0NmU0NDRlNjZmYjc1
ZTRjZDZjODNhNTVlZmQ4N2Q2MzFiZGQ3NC4uOTI0ZWVkMTcyNmRkZGExMTZiMjE1Y2MwMjUxMDgz
YjUxNThlMTJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAxLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAtd2Via2l0LXRhcC1o
aWdobGlnaHQtY29sb3IgLyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyAvIC13ZWJraXQtdG91
Y2gtY2FsbG91dCB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29s
b3IgLyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyAvCisgICAgICAgIC13ZWJraXQtdG91Y2gt
Y2FsbG91dCB0byB0aGUgbmV3IFN0eWxlQnVpbGRlci4KKworICAgICAgICAqIGNzcy9DU1NHcmFk
aWVudFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OmdyYWRp
ZW50V2l0aFN0eWxlc1Jlc29sdmVkKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVNWR1Byb3BlcnR5KToKKyAgICAgICAgKiBjc3MvU3R5
bGVCdWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDb252
ZXJ0ZXI6OmNvbnZlcnRUb3VjaENhbGxvdXQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0VGFwSGlnaGxpZ2h0Q29sb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0T3ZlcmZsb3dTY3JvbGxpbmcpOgorICAg
ICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVz
b2x2ZXI6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2ZWRGcm9tRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjb2xvckZyb21QcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKToKKyAgICAg
ICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorCiAyMDE1LTAxLTA3ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQW5ub3RhdGUgcHJvcGVydGllcyB0aGF0
IHN0YXJ0IHdpdGggIm5ldyIgc28gdGhleSdsbCB3b3JrIHVuZGVyIEFSQwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCmluZGV4IDMwMjY3NTllM2MzMWNkZTEzMWUyY2ZjODcw
NzE1N2VhNzhmYWI4YTYuLjViNDMxZWZhZTAzYjVmZWFiODFjMDFjN2U5NzQ2NmJmZDhlNmMxODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKQEAgLTEwOCw3ICsxMDgs
NyBAQCBQYXNzUmVmUHRyPENTU0dyYWRpZW50VmFsdWU+IENTU0dyYWRpZW50VmFsdWU6OmdyYWRp
ZW50V2l0aFN0eWxlc1Jlc29sdmVkKFN0eWxlUgogewogICAgIGJvb2wgZGVyaXZlZCA9IGZhbHNl
OwogICAgIGZvciAoYXV0byYgc3RvcCA6IG1fc3RvcHMpIHsKLSAgICAgICAgaWYgKCFzdG9wLmlz
TWlkcG9pbnQgJiYgc3R5bGVSZXNvbHZlci0+Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2
ZWRGcm9tRWxlbWVudChzdG9wLm1fY29sb3IuZ2V0KCkpKSB7CisgICAgICAgIGlmICghc3RvcC5p
c01pZHBvaW50ICYmIHN0eWxlUmVzb2x2ZXItPmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJp
dmVkRnJvbUVsZW1lbnQoKnN0b3AubV9jb2xvcikpIHsKICAgICAgICAgICAgIHN0b3AubV9jb2xv
cklzRGVyaXZlZEZyb21FbGVtZW50ID0gdHJ1ZTsKICAgICAgICAgICAgIGRlcml2ZWQgPSB0cnVl
OwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjksNyArMTI5LDcgQEAgUGFzc1JlZlB0cjxDU1NH
cmFkaWVudFZhbHVlPiBDU1NHcmFkaWVudFZhbHVlOjpncmFkaWVudFdpdGhTdHlsZXNSZXNvbHZl
ZChTdHlsZVIKIAogICAgIGZvciAoYXV0byYgc3RvcCA6IHJlc3VsdC0+bV9zdG9wcykgewogICAg
ICAgICBpZiAoIXN0b3AuaXNNaWRwb2ludCkKLSAgICAgICAgICAgIHN0b3AubV9yZXNvbHZlZENv
bG9yID0gc3R5bGVSZXNvbHZlci0+Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoc3RvcC5tX2NvbG9y
LmdldCgpKTsKKyAgICAgICAgICAgIHN0b3AubV9yZXNvbHZlZENvbG9yID0gc3R5bGVSZXNvbHZl
ci0+Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoKnN0b3AubV9jb2xvcik7CiAgICAgfQogCiAgICAg
cmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCmluZGV4IDBhNmE1ZWMzZDE5YjBlZGMyZjQxNDg5MGUyMmE4MWVlOTNjY2EzNWMuLjJjMGIw
MmEwYTRhODk1YTA3N2ZmMDc2Zjg2YjVlODdjNTFlNjNmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eU5hbWVzLmluCkBAIC01NzksMTQgKzU3OSwxNCBAQCBvcmllbnRhdGlvbiBbTGVn
YWN5U3R5bGVCdWlsZGVyXQogdXNlci16b29tIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiAjZW5kaWYK
ICNpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMK
LS13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciBbSW5oZXJpdGVkLCBMZWdhY3lTdHlsZUJ1aWxk
ZXJdCistd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IgW0luaGVyaXRlZCwgQ29udmVydGVyPVRh
cEhpZ2hsaWdodENvbG9yXQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICYmIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVAogLXdlYmtpdC1kYXNoYm9hcmQtcmVn
aW9uIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiAjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICYmIEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcKLS13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nIFtJbmhlcml0ZWQsIExlZ2Fj
eVN0eWxlQnVpbGRlcl0KKy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nIFtJbmhlcml0ZWQsIE5h
bWVGb3JNZXRob2RzPVVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcsIENvbnZlcnRlcj1PdmVyZmxv
d1Njcm9sbGluZ10KICNlbmRpZgogI2lmIGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RG
X1BMQVRGT1JNX0lPUwotLXdlYmtpdC10b3VjaC1jYWxsb3V0IFtJbmhlcml0ZWQsIExlZ2FjeVN0
eWxlQnVpbGRlcl0KKy13ZWJraXQtdG91Y2gtY2FsbG91dCBbSW5oZXJpdGVkLCBOYW1lRm9yTWV0
aG9kcz1Ub3VjaENhbGxvdXRFbmFibGVkLCBDb252ZXJ0ZXI9VG91Y2hDYWxsb3V0XQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNjg1NDk0
NTkxN2M2ZTQ5MTY4ZTRkMmNmYWNkZTBmZGVjNzZkZjMyOS4uMzE5ZjUzMGJmNmUwM2ZhNGRiZmEw
ZmI5MmY2Y2QzYTVhZTU0ZmRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NT
U1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNl
bGVjdG9yLmNwcApAQCAtNTg3LDcgKzU4Nyw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlT
VkdQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgICAg
ICBpbnQgYmx1ciA9IGl0ZW0uYmx1ciA/IGl0ZW0uYmx1ci0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHN0
YXRlLmNzc1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEoKS5jb3B5V2l0aEFkanVzdGVkWm9vbSgxLjBm
KSkgOiAwOwogICAgICAgICAgICAgQ29sb3IgY29sb3I7CiAgICAgICAgICAgICBpZiAoaXRlbS5j
b2xvcikKLSAgICAgICAgICAgICAgICBjb2xvciA9IGNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKGl0
ZW0uY29sb3IuZ2V0KCkpOworICAgICAgICAgICAgICAgIGNvbG9yID0gY29sb3JGcm9tUHJpbWl0
aXZlVmFsdWUoKml0ZW0uY29sb3IpOwogCiAgICAgICAgICAgICAvLyAtd2Via2l0LXN2Zy1zaGFk
b3cgZG9lcyBzaG91bGQgbm90IGhhdmUgYSBzcHJlYWQgb3Igc3R5bGUKICAgICAgICAgICAgIEFT
U0VSVCghaXRlbS5zcHJlYWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
QnVpbGRlckNvbnZlcnRlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZl
cnRlci5oCmluZGV4IDE4MzIwZjJmYzYyZGFkMWZkMDI1YmQxNTIyZWJmNTc2ZWFmYmFkNTIuLmEz
N2M0MDhmNTJiZDU2MWE0NTViNWMzZTNlODdlNDdiNmExYWE2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKQEAgLTEwMSw2ICsxMDEsMTUgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBib29sIGNvbnZlcnRNYXJxdWVlSW5jcmVtZW50KFN0eWxlUmVzb2x2ZXIm
LCBDU1NWYWx1ZSYsIExlbmd0aCYpOwogICAgIHN0YXRpYyBib29sIGNvbnZlcnRGaWx0ZXJPcGVy
YXRpb25zKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYsIEZpbHRlck9wZXJhdGlvbnMmKTsKICAg
ICBzdGF0aWMgYm9vbCBjb252ZXJ0TWFza0ltYWdlT3BlcmF0aW9ucyhTdHlsZVJlc29sdmVyJiwg
Q1NTVmFsdWUmLCBWZWN0b3I8UmVmUHRyPE1hc2tJbWFnZU9wZXJhdGlvbj4+Jik7CisjaWYgUExB
VEZPUk0oSU9TKQorICAgIHN0YXRpYyBib29sIGNvbnZlcnRUb3VjaENhbGxvdXQoU3R5bGVSZXNv
bHZlciYsIENTU1ZhbHVlJik7CisjZW5kaWYKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAg
IHN0YXRpYyBDb2xvciBjb252ZXJ0VGFwSGlnaGxpZ2h0Q29sb3IoU3R5bGVSZXNvbHZlciYsIENT
U1ZhbHVlJik7CisjZW5kaWYKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKQorICAgIHN0YXRpYyBib29sIGNvbnZlcnRPdmVyZmxvd1Njcm9sbGluZyhTdHlsZVJlc29s
dmVyJiwgQ1NTVmFsdWUmKTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBT
dHlsZUJ1aWxkZXJDdXN0b207CkBAIC0xMDQ2LDYgKzEwNTUsMjcgQEAgaW5saW5lIGJvb2wgU3R5
bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0TWFza0ltYWdlT3BlcmF0aW9ucyhTdHlsZVJlc29s
dmVyJiBzdHkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIFBMQVRGT1JNKElPUykKK2lubGlu
ZSBib29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydFRvdWNoQ2FsbG91dChTdHlsZVJl
c29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIHJldHVybiBkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4odmFsdWUpLmdldFN0cmluZ1ZhbHVlKCkubG93ZXIoKSAhPSAibm9uZSI7Cit9
CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2lu
bGluZSBDb2xvciBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUYXBIaWdobGlnaHRDb2xv
cihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAg
cmV0dXJuIHN0eWxlUmVzb2x2ZXIuY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKSk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFRPVUNIX0VWRU5U
UykKKworI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpCitpbmxpbmUg
Ym9vbCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRPdmVyZmxvd1Njcm9sbGluZyhTdHls
ZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIHJldHVybiBkb3duY2FzdDxDU1NQ
cmltaXRpdmVWYWx1ZT4odmFsdWUpLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZVRvdWNoOworfQor
I2VuZGlmIC8vIEVOQUJMRShBQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpCisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFN0eWxlQnVpbGRlckNvbnZlcnRlcl9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggMzVmYTQwZGFjNDg5NjU1
YmQyNWQyZTkwZjEzNzkzZDQ0ZDA2MzJhNC4uMDQwMTU4OTEzY2FmM2Q3MjVkMDlmYjY3YTI5Mzc3
NGQ2YjVlNTQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1
c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAt
NzQwLDcgKzc0MCw3IEBAIGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlUZXh0
T3JCb3hTaGFkb3dWYWx1ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlCiAgICAgICAgIFNoYWRvd1N0
eWxlIHNoYWRvd1N0eWxlID0gc2hhZG93VmFsdWUuc3R5bGUgJiYgc2hhZG93VmFsdWUuc3R5bGUt
PmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZUluc2V0ID8gSW5zZXQgOiBOb3JtYWw7CiAgICAgICAg
IENvbG9yIGNvbG9yOwogICAgICAgICBpZiAoc2hhZG93VmFsdWUuY29sb3IpCi0gICAgICAgICAg
ICBjb2xvciA9IHN0eWxlUmVzb2x2ZXIuY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoc2hhZG93VmFs
dWUuY29sb3IuZ2V0KCkpOworICAgICAgICAgICAgY29sb3IgPSBzdHlsZVJlc29sdmVyLmNvbG9y
RnJvbVByaW1pdGl2ZVZhbHVlKCpzaGFkb3dWYWx1ZS5jb2xvcik7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGNvbG9yID0gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5jb2xvcigpOwogICAgICAg
ICBhdXRvIHNoYWRvd0RhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+KEludFBvaW50
KHgsIHkpLCBibHVyLCBzcHJlYWQsIHNoYWRvd1N0eWxlLCBpZCA9PSBDU1NQcm9wZXJ0eVdlYmtp
dEJveFNoYWRvdywgY29sb3IuaXNWYWxpZCgpID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDA1MTU0M2E0M2U1YTZlZjA0
ZjJlZmJmYmYwMmVhMWM0ZjMxNTY4YmMuLmYyMGJhNDNkMWM1YjExMjQ3NDlmMzUzZWE3MjM0Y2Nl
MjFjMzU4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTIxMzYsMzYg
KzIxMzYsNiBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJ
RCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCi0j
aWYgUExBVEZPUk0oSU9TKQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUb3VjaENhbGxvdXQ6
IHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodG91Y2hDYWxsb3V0RW5hYmxl
ZCwgVG91Y2hDYWxsb3V0RW5hYmxlZCk7Ci0gICAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpCi0g
ICAgICAgICAgICBicmVhazsKLQotICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRUb3VjaENhbGxv
dXRFbmFibGVkKHByaW1pdGl2ZVZhbHVlLT5nZXRTdHJpbmdWYWx1ZSgpLmxvd2VyKCkgIT0gIm5v
bmUiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRhcEhpZ2hsaWdodENvbG9yOiB7Ci0g
ICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHRhcEhpZ2hsaWdodENvbG9yLCBUYXBI
aWdobGlnaHRDb2xvcik7Ci0gICAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAg
ICBicmVhazsKLQotICAgICAgICBDb2xvciBjb2wgPSBjb2xvckZyb21QcmltaXRpdmVWYWx1ZShw
cmltaXRpdmVWYWx1ZSk7Ci0gICAgICAgIHN0YXRlLnN0eWxlKCktPnNldFRhcEhpZ2hsaWdodENv
bG9yKGNvbCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLSNpZiBFTkFCTEUoQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKQotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRP
dmVyZmxvd1Njcm9sbGluZzogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh1
c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nLCBVc2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKTsKLSAg
ICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBz
dGF0ZS5zdHlsZSgpLT5zZXRVc2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nKHByaW1pdGl2ZVZhbHVl
LT5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVUb3VjaCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0jZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5SW52YWxpZDoKICAgICAgICAgcmV0dXJuOwog
ICAgIGNhc2UgQ1NTUHJvcGVydHlGb250U3RyZXRjaDoKQEAgLTIzOTYsNiArMjM2NiwxNSBAQCB2
b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFs
dWUqIHZhbHVlKQogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJTElUWSkKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eToKICNlbmRpZgorI2lmIFBMQVRGT1JNKElPUykK
KyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VG91Y2hDYWxsb3V0OgorI2VuZGlmCisjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGFwSGlnaGxpZ2h0
Q29sb3I6CisjZW5kaWYKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRPdmVyZmxvd1Njcm9sbGluZzoKKyNlbmRpZgog
ICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbkNvbnRlbnQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFs
aWduSXRlbXM6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWduU2VsZjoKQEAgLTI3MTgsOSArMjY5
Nyw5IEBAIHN0YXRpYyBDb2xvciBjb2xvckZvckNTU1ZhbHVlKENTU1ZhbHVlSUQgY3NzVmFsdWVJ
ZCkKICAgICByZXR1cm4gUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5zeXN0ZW1Db2xvcihj
c3NWYWx1ZUlkKTsKIH0KIAotYm9vbCBTdHlsZVJlc29sdmVyOjpjb2xvckZyb21QcmltaXRpdmVW
YWx1ZUlzRGVyaXZlZEZyb21FbGVtZW50KENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKK2Jvb2wg
U3R5bGVSZXNvbHZlcjo6Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2ZWRGcm9tRWxlbWVu
dChDU1NQcmltaXRpdmVWYWx1ZSYgdmFsdWUpCiB7Ci0gICAgaW50IGlkZW50ID0gdmFsdWUtPmdl
dFZhbHVlSUQoKTsKKyAgICBpbnQgaWRlbnQgPSB2YWx1ZS5nZXRWYWx1ZUlEKCk7CiAgICAgc3dp
dGNoIChpZGVudCkgewogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRUZXh0OgogICAgIGNhc2UgQ1NT
VmFsdWVXZWJraXRMaW5rOgpAQCAtMjczMiwxMyArMjcxMSwxMyBAQCBib29sIFN0eWxlUmVzb2x2
ZXI6OmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJpdmVkRnJvbUVsZW1lbnQoQ1NTUHJpbWl0
aXZlVmFsdQogICAgIH0KIH0KIAotQ29sb3IgU3R5bGVSZXNvbHZlcjo6Y29sb3JGcm9tUHJpbWl0
aXZlVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlLCBib29sIGZvclZpc2l0ZWRMaW5rKSBj
b25zdAorQ29sb3IgU3R5bGVSZXNvbHZlcjo6Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoQ1NTUHJp
bWl0aXZlVmFsdWUmIHZhbHVlLCBib29sIGZvclZpc2l0ZWRMaW5rKSBjb25zdAogewotICAgIGlm
ICh2YWx1ZS0+aXNSR0JDb2xvcigpKQotICAgICAgICByZXR1cm4gQ29sb3IodmFsdWUtPmdldFJH
QkEzMlZhbHVlKCkpOworICAgIGlmICh2YWx1ZS5pc1JHQkNvbG9yKCkpCisgICAgICAgIHJldHVy
biBDb2xvcih2YWx1ZS5nZXRSR0JBMzJWYWx1ZSgpKTsKIAogICAgIGNvbnN0IFN0YXRlJiBzdGF0
ZSA9IG1fc3RhdGU7Ci0gICAgQ1NTVmFsdWVJRCBpZGVudCA9IHZhbHVlLT5nZXRWYWx1ZUlEKCk7
CisgICAgQ1NTVmFsdWVJRCBpZGVudCA9IHZhbHVlLmdldFZhbHVlSUQoKTsKICAgICBzd2l0Y2gg
KGlkZW50KSB7CiAgICAgY2FzZSAwOgogICAgICAgICByZXR1cm4gQ29sb3IoKTsKQEAgLTI5NTcs
NyArMjkzNiw3IEBAIGJvb2wgU3R5bGVSZXNvbHZlcjo6Y3JlYXRlRmlsdGVyT3BlcmF0aW9ucyhD
U1NWYWx1ZSYgaW5WYWx1ZSwgRmlsdGVyT3BlcmF0aW9ucyYKICAgICAgICAgICAgIGludCBibHVy
ID0gaXRlbS5ibHVyID8gaXRlbS5ibHVyLT5jb21wdXRlTGVuZ3RoPGludD4oc3RhdGUuY3NzVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgpKSA6IDA7CiAgICAgICAgICAgICBDb2xvciBjb2xvcjsKICAg
ICAgICAgICAgIGlmIChpdGVtLmNvbG9yKQotICAgICAgICAgICAgICAgIGNvbG9yID0gY29sb3JG
cm9tUHJpbWl0aXZlVmFsdWUoaXRlbS5jb2xvci5nZXQoKSk7CisgICAgICAgICAgICAgICAgY29s
b3IgPSBjb2xvckZyb21QcmltaXRpdmVWYWx1ZSgqaXRlbS5jb2xvcik7CiAKICAgICAgICAgICAg
IG9wZXJhdGlvbnMub3BlcmF0aW9ucygpLmFwcGVuZChEcm9wU2hhZG93RmlsdGVyT3BlcmF0aW9u
OjpjcmVhdGUobG9jYXRpb24sIGJsdXIsIGNvbG9yLmlzVmFsaWQoKSA/IGNvbG9yIDogQ29sb3I6
OnRyYW5zcGFyZW50KSk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5oCmluZGV4IDk1NzU2ZmY2MTJiY2RmMjhjZjY5ZWFlZjEzOTlkZGNkNGRiYTg0ZGEuLjRj
Njg4ZWU2NjNmYjI4YTdiY2ZjODIwNDU4YTg1Y2Y5OGRiZDBjM2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaApAQCAtMjA5LDggKzIwOSw4IEBAIHB1YmxpYzoKICAgICBib29sIHVzZVNW
R1pvb21SdWxlcygpOwogICAgIGJvb2wgdXNlU1ZHWm9vbVJ1bGVzRm9yTGVuZ3RoKCk7CiAKLSAg
ICBzdGF0aWMgYm9vbCBjb2xvckZyb21QcmltaXRpdmVWYWx1ZUlzRGVyaXZlZEZyb21FbGVtZW50
KENTU1ByaW1pdGl2ZVZhbHVlKik7Ci0gICAgQ29sb3IgY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUo
Q1NTUHJpbWl0aXZlVmFsdWUqLCBib29sIGZvclZpc2l0ZWRMaW5rID0gZmFsc2UpIGNvbnN0Owor
ICAgIHN0YXRpYyBib29sIGNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJpdmVkRnJvbUVsZW1l
bnQoQ1NTUHJpbWl0aXZlVmFsdWUmKTsKKyAgICBDb2xvciBjb2xvckZyb21QcmltaXRpdmVWYWx1
ZShDU1NQcmltaXRpdmVWYWx1ZSYsIGJvb2wgZm9yVmlzaXRlZExpbmsgPSBmYWxzZSkgY29uc3Q7
CiAKICAgICBib29sIGhhc1NlbGVjdG9yRm9ySWQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7
CiAgICAgYm9vbCBoYXNTZWxlY3RvckZvckNsYXNzKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dl
YkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDYwZDY4MDQ3NWZlMTdiODM1ZGIyYzkzMjNmZjU2
NDdiNDBlOTQ1NTAuLjE3ODY3N2RkYWYzZWY1NzgyOTQyNjNkZDg5NjQ5NzFmYjgwZDUzMzQgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTQ4NCw3ICs0ODQsNyBAQCBzdWIgY29sb3JGcm9tUHJp
bWl0aXZlVmFsdWUgewogICBteSAkcHJpbWl0aXZlVmFsdWUgPSBzaGlmdDsKICAgbXkgJGZvclZp
c2l0ZWRMaW5rID0gQF8gPyBzaGlmdCA6IE5PVF9GT1JfVklTSVRFRF9MSU5LOwogCi0gIHJldHVy
biAic3R5bGVSZXNvbHZlci5jb2xvckZyb21QcmltaXRpdmVWYWx1ZSgmIiAuICRwcmltaXRpdmVW
YWx1ZSAuICIsIC8qIGZvclZpc2l0ZWRMaW5rICovICIgLiAoJGZvclZpc2l0ZWRMaW5rID8gInRy
dWUiIDogImZhbHNlIikgLiAiKSI7CisgIHJldHVybiAic3R5bGVSZXNvbHZlci5jb2xvckZyb21Q
cmltaXRpdmVWYWx1ZSgiIC4gJHByaW1pdGl2ZVZhbHVlIC4gIiwgLyogZm9yVmlzaXRlZExpbmsg
Ki8gIiAuICgkZm9yVmlzaXRlZExpbmsgPyAidHJ1ZSIgOiAiZmFsc2UiKSAuICIpIjsKIH0KIAog
dXNlIGNvbnN0YW50IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244243</attachid>
            <date>2015-01-07 22:45:14 -0800</date>
            <delta_ts>2015-01-07 22:53:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140219-20150107224518.patch</filename>
            <type>text/plain</type>
            <size>12975</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RlZTZkOTM1ZjNmMThj
NGM0YTk1ZDRmNTkwMmJiYjM2MzliZmE5Zi4uYzZhYTdmNjBmNmI5MTE2MmU4ODk1NWIwNmJiMWI3
ZGViMzRhODRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAxLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAtd2Via2l0LXRhcC1o
aWdobGlnaHQtY29sb3IgLyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyAvIC13ZWJraXQtdG91
Y2gtY2FsbG91dCB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgTW92ZSAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3Ig
LyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyAvCisgICAgICAgIC13ZWJraXQtdG91Y2gtY2Fs
bG91dCB0byB0aGUgbmV3IFN0eWxlQnVpbGRlci4KKworICAgICAgICAqIGNzcy9DU1NHcmFkaWVu
dFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OmdyYWRpZW50
V2l0aFN0eWxlc1Jlc29sdmVkKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoK
KyAgICAgICAgKiBjc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJlc29sdmVyOjphcHBseVNWR1Byb3BlcnR5KToKKyAgICAgICAgKiBjc3MvU3R5bGVC
dWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXI6OmNvbnZlcnRUb3VjaENhbGxvdXQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVy
Q29udmVydGVyOjpjb252ZXJ0VGFwSGlnaGxpZ2h0Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0T3ZlcmZsb3dTY3JvbGxpbmcpOgorICAgICAg
ICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29s
b3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2ZWRGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjpjb2xvckZyb21QcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSZXNvbHZlci5oOgorCiAyMDE1LTAxLTA3ICBCcmlhbiBKLiBCdXJnICA8YnVy
Z0Bjcy53YXNoaW5ndG9uLmVkdT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBFZGl0aW5nIElu
bGluZSBTdHlsZXMgTm90IFdvcmtpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcAppbmRleCAzMDI2NzU5ZTNjMzFjZGUxMzFlMmNmYzg3MDcxNTdlYTc4ZmFiOGE2Li41YjQz
MWVmYWUwM2I1ZmVhYjgxYzAxYzdlOTc0NjZiZmQ4ZTZjMTgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgUGFzc1JlZlB0cjxDU1NH
cmFkaWVudFZhbHVlPiBDU1NHcmFkaWVudFZhbHVlOjpncmFkaWVudFdpdGhTdHlsZXNSZXNvbHZl
ZChTdHlsZVIKIHsKICAgICBib29sIGRlcml2ZWQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIHN0
b3AgOiBtX3N0b3BzKSB7Ci0gICAgICAgIGlmICghc3RvcC5pc01pZHBvaW50ICYmIHN0eWxlUmVz
b2x2ZXItPmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJpdmVkRnJvbUVsZW1lbnQoc3RvcC5t
X2NvbG9yLmdldCgpKSkgeworICAgICAgICBpZiAoIXN0b3AuaXNNaWRwb2ludCAmJiBzdHlsZVJl
c29sdmVyLT5jb2xvckZyb21QcmltaXRpdmVWYWx1ZUlzRGVyaXZlZEZyb21FbGVtZW50KCpzdG9w
Lm1fY29sb3IpKSB7CiAgICAgICAgICAgICBzdG9wLm1fY29sb3JJc0Rlcml2ZWRGcm9tRWxlbWVu
dCA9IHRydWU7CiAgICAgICAgICAgICBkZXJpdmVkID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMTI5LDcgKzEyOSw3IEBAIFBhc3NSZWZQdHI8Q1NTR3JhZGllbnRWYWx1ZT4gQ1NTR3Jh
ZGllbnRWYWx1ZTo6Z3JhZGllbnRXaXRoU3R5bGVzUmVzb2x2ZWQoU3R5bGVSCiAKICAgICBmb3Ig
KGF1dG8mIHN0b3AgOiByZXN1bHQtPm1fc3RvcHMpIHsKICAgICAgICAgaWYgKCFzdG9wLmlzTWlk
cG9pbnQpCi0gICAgICAgICAgICBzdG9wLm1fcmVzb2x2ZWRDb2xvciA9IHN0eWxlUmVzb2x2ZXIt
PmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKHN0b3AubV9jb2xvci5nZXQoKSk7CisgICAgICAgICAg
ICBzdG9wLm1fcmVzb2x2ZWRDb2xvciA9IHN0eWxlUmVzb2x2ZXItPmNvbG9yRnJvbVByaW1pdGl2
ZVZhbHVlKCpzdG9wLm1fY29sb3IpOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQucmVsZWFz
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCA2YmUxNzcwYjI4
NzBhZDYxMDQ1NGRjN2MzN2Q3YmQ4MmJhNDRlZDJhLi5jNmM5MWYzNzZiZGZkZTM4M2Y3NDdiNzRl
Yjg3NWFkYzdiMDIzNzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpA
QCAtNTc5LDE0ICs1NzksMTQgQEAgb3JpZW50YXRpb24gW0xlZ2FjeVN0eWxlQnVpbGRlcl0KIHVz
ZXItem9vbSBbTGVnYWN5U3R5bGVCdWlsZGVyXQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVfVE9VQ0hfRVZFTlRTCi0td2Via2l0LXRhcC1oaWdobGln
aHQtY29sb3IgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorLXdlYmtpdC10YXAtaGln
aGxpZ2h0LWNvbG9yIFtJbmhlcml0ZWQsIENvbnZlcnRlcj1UYXBIaWdobGlnaHRDb2xvcl0KICNl
bmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAmJiBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQKIC13ZWJraXQtZGFzaGJvYXJkLXJlZ2lvbiBbTmFtZUZvck1ldGhvZHM9
RGFzaGJvYXJkUmVnaW9ucywgQ3VzdG9tPVZhbHVlXQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAmJiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HCi0td2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyBbSW5oZXJpdGVk
LCBMZWdhY3lTdHlsZUJ1aWxkZXJdCistd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyBbSW5oZXJp
dGVkLCBOYW1lRm9yTWV0aG9kcz1Vc2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nLCBDb252ZXJ0ZXI9
T3ZlcmZsb3dTY3JvbGxpbmddCiAjZW5kaWYKICNpZiBkZWZpbmVkKFdURl9QTEFURk9STV9JT1Mp
ICYmIFdURl9QTEFURk9STV9JT1MKLS13ZWJraXQtdG91Y2gtY2FsbG91dCBbSW5oZXJpdGVkLCBM
ZWdhY3lTdHlsZUJ1aWxkZXJdCistd2Via2l0LXRvdWNoLWNhbGxvdXQgW0luaGVyaXRlZCwgTmFt
ZUZvck1ldGhvZHM9VG91Y2hDYWxsb3V0RW5hYmxlZCwgQ29udmVydGVyPVRvdWNoQ2FsbG91dF0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4
IDY4NTQ5NDU5MTdjNmU0OTE2OGU0ZDJjZmFjZGUwZmRlYzc2ZGYzMjkuLjMxOWY1MzBiZjZlMDNm
YTRkYmZhMGZiOTJmNmNkM2E1YWU1NGZkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTU4Nyw3ICs1ODcsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAg
ICAgICAgICAgaW50IGJsdXIgPSBpdGVtLmJsdXIgPyBpdGVtLmJsdXItPmNvbXB1dGVMZW5ndGg8
aW50PihzdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpv
b20oMS4wZikpIDogMDsKICAgICAgICAgICAgIENvbG9yIGNvbG9yOwogICAgICAgICAgICAgaWYg
KGl0ZW0uY29sb3IpCi0gICAgICAgICAgICAgICAgY29sb3IgPSBjb2xvckZyb21QcmltaXRpdmVW
YWx1ZShpdGVtLmNvbG9yLmdldCgpKTsKKyAgICAgICAgICAgICAgICBjb2xvciA9IGNvbG9yRnJv
bVByaW1pdGl2ZVZhbHVlKCppdGVtLmNvbG9yKTsKIAogICAgICAgICAgICAgLy8gLXdlYmtpdC1z
dmctc2hhZG93IGRvZXMgc2hvdWxkIG5vdCBoYXZlIGEgc3ByZWFkIG9yIHN0eWxlCiAgICAgICAg
ICAgICBBU1NFUlQoIWl0ZW0uc3ByZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXIuaAppbmRleCAxODMyMGYyZmM2MmRhZDFmZDAyNWJkMTUyMmViZjU3NmVhZmJh
ZDUyLi5hMzdjNDA4ZjUyYmQ1NjFhNDU1YjVjM2UzZTg3ZTQ3YjZhMWFhNjg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC0xMDEsNiArMTAxLDE1IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjb252ZXJ0TWFycXVlZUluY3JlbWVudChTdHlsZVJl
c29sdmVyJiwgQ1NTVmFsdWUmLCBMZW5ndGgmKTsKICAgICBzdGF0aWMgYm9vbCBjb252ZXJ0Rmls
dGVyT3BlcmF0aW9ucyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmLCBGaWx0ZXJPcGVyYXRpb25z
Jik7CiAgICAgc3RhdGljIGJvb2wgY29udmVydE1hc2tJbWFnZU9wZXJhdGlvbnMoU3R5bGVSZXNv
bHZlciYsIENTU1ZhbHVlJiwgVmVjdG9yPFJlZlB0cjxNYXNrSW1hZ2VPcGVyYXRpb24+PiYpOwor
I2lmIFBMQVRGT1JNKElPUykKKyAgICBzdGF0aWMgYm9vbCBjb252ZXJ0VG91Y2hDYWxsb3V0KFN0
eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworI2VuZGlmCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKKyAgICBzdGF0aWMgQ29sb3IgY29udmVydFRhcEhpZ2hsaWdodENvbG9yKFN0eWxlUmVzb2x2
ZXImLCBDU1NWYWx1ZSYpOworI2VuZGlmCisjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykKKyAgICBzdGF0aWMgYm9vbCBjb252ZXJ0T3ZlcmZsb3dTY3JvbGxpbmcoU3R5
bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgU3R5bGVCdWlsZGVyQ3VzdG9tOwpAQCAtMTA0Niw2ICsxMDU1LDI3IEBAIGlubGluZSBi
b29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydE1hc2tJbWFnZU9wZXJhdGlvbnMoU3R5
bGVSZXNvbHZlciYgc3R5CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBQTEFURk9STShJT1Mp
CitpbmxpbmUgYm9vbCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUb3VjaENhbGxvdXQo
U3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4gZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRTdHJpbmdWYWx1ZSgpLmxvd2VyKCkgIT0gIm5v
bmUiOworfQorI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKworI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCitpbmxpbmUgQ29sb3IgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0VGFwSGlnaGxp
Z2h0Q29sb3IoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQor
eworICAgIHJldHVybiBzdHlsZVJlc29sdmVyLmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpOworfQorI2VuZGlmIC8vIEVOQUJMRShUT1VD
SF9FVkVOVFMpCisKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKQor
aW5saW5lIGJvb2wgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0T3ZlcmZsb3dTY3JvbGxp
bmcoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4gZG93bmNh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVUb3Vj
aDsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IDBiZmMwZjdm
MGRkM2MwMThlMDA2YjBlZTAwNjhmMTBlZjg5ODQ4OTAuLmE1N2MwYzgyYmU0MzM1YzI0MjQ5Njdk
ODk3YmUyYTEwOGE4YzUwMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9t
LmgKQEAgLTc5NCw3ICs3OTQsNyBAQCBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFw
cGx5VGV4dE9yQm94U2hhZG93VmFsdWUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZQogICAgICAgICBT
aGFkb3dTdHlsZSBzaGFkb3dTdHlsZSA9IHNoYWRvd1ZhbHVlLnN0eWxlICYmIHNoYWRvd1ZhbHVl
LnN0eWxlLT5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVJbnNldCA/IEluc2V0IDogTm9ybWFsOwog
ICAgICAgICBDb2xvciBjb2xvcjsKICAgICAgICAgaWYgKHNoYWRvd1ZhbHVlLmNvbG9yKQotICAg
ICAgICAgICAgY29sb3IgPSBzdHlsZVJlc29sdmVyLmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKHNo
YWRvd1ZhbHVlLmNvbG9yLmdldCgpKTsKKyAgICAgICAgICAgIGNvbG9yID0gc3R5bGVSZXNvbHZl
ci5jb2xvckZyb21QcmltaXRpdmVWYWx1ZSgqc2hhZG93VmFsdWUuY29sb3IpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBjb2xvciA9IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+Y29sb3IoKTsK
ICAgICAgICAgYXV0byBzaGFkb3dEYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxTaGFkb3dEYXRhPihJ
bnRQb2ludCh4LCB5KSwgYmx1ciwgc3ByZWFkLCBzaGFkb3dTdHlsZSwgaWQgPT0gQ1NTUHJvcGVy
dHlXZWJraXRCb3hTaGFkb3csIGNvbG9yLmlzVmFsaWQoKSA/IGNvbG9yIDogQ29sb3I6OnRyYW5z
cGFyZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA0ZjI3ZTlmZDIx
NzRiZTE3ZWE4ZDZkMzdlNTc3YjUxMmE1MTM3MmY1Li40Y2YzMDc3MTNmMGMxMTY0Y2U3OGMxODU5
NDIzMzIxNjY5MDVjMGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0y
MDMxLDM2ICsyMDMxLDYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENTU1By
b3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2Ug
Q1NTUHJvcGVydHlVbmljb2RlUmFuZ2U6IC8vIE9ubHkgdXNlZCBpbiBAZm9udC1mYWNlIHJ1bGVz
LgogICAgICAgICByZXR1cm47Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRUb3VjaENhbGxvdXQ6IHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJ
QUwodG91Y2hDYWxsb3V0RW5hYmxlZCwgVG91Y2hDYWxsb3V0RW5hYmxlZCk7Ci0gICAgICAgIGlm
ICghcHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBzdGF0ZS5z
dHlsZSgpLT5zZXRUb3VjaENhbGxvdXRFbmFibGVkKHByaW1pdGl2ZVZhbHVlLT5nZXRTdHJpbmdW
YWx1ZSgpLmxvd2VyKCkgIT0gIm5vbmUiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRp
ZgotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRh
cEhpZ2hsaWdodENvbG9yOiB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKHRh
cEhpZ2hsaWdodENvbG9yLCBUYXBIaWdobGlnaHRDb2xvcik7Ci0gICAgICAgIGlmICghcHJpbWl0
aXZlVmFsdWUpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBDb2xvciBjb2wgPSBjb2xv
ckZyb21QcmltaXRpdmVWYWx1ZShwcmltaXRpdmVWYWx1ZSk7Ci0gICAgICAgIHN0YXRlLnN0eWxl
KCktPnNldFRhcEhpZ2hsaWdodENvbG9yKGNvbCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0j
ZW5kaWYKLSNpZiBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKQotICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRPdmVyZmxvd1Njcm9sbGluZzogewotICAgICAgICBIQU5ETEVf
SU5IRVJJVF9BTkRfSU5JVElBTCh1c2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nLCBVc2VUb3VjaE92
ZXJmbG93U2Nyb2xsaW5nKTsKLSAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRVc2VUb3VjaE92ZXJmbG93U2Ny
b2xsaW5nKHByaW1pdGl2ZVZhbHVlLT5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVUb3VjaCk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKICAgICBjYXNlIENTU1Byb3BlcnR5SW52YWxp
ZDoKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250U3RyZXRjaDoKQEAg
LTIyOTUsNiArMjI2NSwxNSBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NT
UHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogI2lmIEVOQUJMRShDVVJTT1JfVklTSUJJ
TElUWSkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q3Vyc29yVmlzaWJpbGl0eToKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKElPUykKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VG91Y2hDYWxs
b3V0OgorI2VuZGlmCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0VGFwSGlnaGxpZ2h0Q29sb3I6CisjZW5kaWYKKyNpZiBFTkFCTEUoQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRPdmVyZmxv
d1Njcm9sbGluZzoKKyNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlBbGlnbkNvbnRlbnQ6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWduSXRlbXM6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWdu
U2VsZjoKQEAgLTI2MTcsOSArMjU5Niw5IEBAIHN0YXRpYyBDb2xvciBjb2xvckZvckNTU1ZhbHVl
KENTU1ZhbHVlSUQgY3NzVmFsdWVJZCkKICAgICByZXR1cm4gUmVuZGVyVGhlbWU6OmRlZmF1bHRU
aGVtZSgpLT5zeXN0ZW1Db2xvcihjc3NWYWx1ZUlkKTsKIH0KIAotYm9vbCBTdHlsZVJlc29sdmVy
Ojpjb2xvckZyb21QcmltaXRpdmVWYWx1ZUlzRGVyaXZlZEZyb21FbGVtZW50KENTU1ByaW1pdGl2
ZVZhbHVlKiB2YWx1ZSkKK2Jvb2wgU3R5bGVSZXNvbHZlcjo6Y29sb3JGcm9tUHJpbWl0aXZlVmFs
dWVJc0Rlcml2ZWRGcm9tRWxlbWVudChDU1NQcmltaXRpdmVWYWx1ZSYgdmFsdWUpCiB7Ci0gICAg
aW50IGlkZW50ID0gdmFsdWUtPmdldFZhbHVlSUQoKTsKKyAgICBpbnQgaWRlbnQgPSB2YWx1ZS5n
ZXRWYWx1ZUlEKCk7CiAgICAgc3dpdGNoIChpZGVudCkgewogICAgIGNhc2UgQ1NTVmFsdWVXZWJr
aXRUZXh0OgogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRMaW5rOgpAQCAtMjYzMSwxMyArMjYxMCwx
MyBAQCBib29sIFN0eWxlUmVzb2x2ZXI6OmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJpdmVk
RnJvbUVsZW1lbnQoQ1NTUHJpbWl0aXZlVmFsdQogICAgIH0KIH0KIAotQ29sb3IgU3R5bGVSZXNv
bHZlcjo6Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlLCBi
b29sIGZvclZpc2l0ZWRMaW5rKSBjb25zdAorQ29sb3IgU3R5bGVSZXNvbHZlcjo6Y29sb3JGcm9t
UHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUmIHZhbHVlLCBib29sIGZvclZpc2l0ZWRM
aW5rKSBjb25zdAogewotICAgIGlmICh2YWx1ZS0+aXNSR0JDb2xvcigpKQotICAgICAgICByZXR1
cm4gQ29sb3IodmFsdWUtPmdldFJHQkEzMlZhbHVlKCkpOworICAgIGlmICh2YWx1ZS5pc1JHQkNv
bG9yKCkpCisgICAgICAgIHJldHVybiBDb2xvcih2YWx1ZS5nZXRSR0JBMzJWYWx1ZSgpKTsKIAog
ICAgIGNvbnN0IFN0YXRlJiBzdGF0ZSA9IG1fc3RhdGU7Ci0gICAgQ1NTVmFsdWVJRCBpZGVudCA9
IHZhbHVlLT5nZXRWYWx1ZUlEKCk7CisgICAgQ1NTVmFsdWVJRCBpZGVudCA9IHZhbHVlLmdldFZh
bHVlSUQoKTsKICAgICBzd2l0Y2ggKGlkZW50KSB7CiAgICAgY2FzZSAwOgogICAgICAgICByZXR1
cm4gQ29sb3IoKTsKQEAgLTI4NTYsNyArMjgzNSw3IEBAIGJvb2wgU3R5bGVSZXNvbHZlcjo6Y3Jl
YXRlRmlsdGVyT3BlcmF0aW9ucyhDU1NWYWx1ZSYgaW5WYWx1ZSwgRmlsdGVyT3BlcmF0aW9ucyYK
ICAgICAgICAgICAgIGludCBibHVyID0gaXRlbS5ibHVyID8gaXRlbS5ibHVyLT5jb21wdXRlTGVu
Z3RoPGludD4oc3RhdGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpKSA6IDA7CiAgICAgICAg
ICAgICBDb2xvciBjb2xvcjsKICAgICAgICAgICAgIGlmIChpdGVtLmNvbG9yKQotICAgICAgICAg
ICAgICAgIGNvbG9yID0gY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoaXRlbS5jb2xvci5nZXQoKSk7
CisgICAgICAgICAgICAgICAgY29sb3IgPSBjb2xvckZyb21QcmltaXRpdmVWYWx1ZSgqaXRlbS5j
b2xvcik7CiAKICAgICAgICAgICAgIG9wZXJhdGlvbnMub3BlcmF0aW9ucygpLmFwcGVuZChEcm9w
U2hhZG93RmlsdGVyT3BlcmF0aW9uOjpjcmVhdGUobG9jYXRpb24sIGJsdXIsIGNvbG9yLmlzVmFs
aWQoKSA/IGNvbG9yIDogQ29sb3I6OnRyYW5zcGFyZW50KSk7CiAgICAgICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDY4YzQ0ZGI1ZTAwMGQ0OTUwZGQ2Mjlm
MzkyNjA2NDcwZTA4MWFiZTAuLjUxYzlkOWVkODhkNzFiYTk4MDk3M2ViY2RlOTAwNGVkN2UwZmNi
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtMjA5LDggKzIwOSw4IEBAIHB1
YmxpYzoKICAgICBib29sIHVzZVNWR1pvb21SdWxlcygpOwogICAgIGJvb2wgdXNlU1ZHWm9vbVJ1
bGVzRm9yTGVuZ3RoKCk7CiAKLSAgICBzdGF0aWMgYm9vbCBjb2xvckZyb21QcmltaXRpdmVWYWx1
ZUlzRGVyaXZlZEZyb21FbGVtZW50KENTU1ByaW1pdGl2ZVZhbHVlKik7Ci0gICAgQ29sb3IgY29s
b3JGcm9tUHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqLCBib29sIGZvclZpc2l0ZWRM
aW5rID0gZmFsc2UpIGNvbnN0OworICAgIHN0YXRpYyBib29sIGNvbG9yRnJvbVByaW1pdGl2ZVZh
bHVlSXNEZXJpdmVkRnJvbUVsZW1lbnQoQ1NTUHJpbWl0aXZlVmFsdWUmKTsKKyAgICBDb2xvciBj
b2xvckZyb21QcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSYsIGJvb2wgZm9yVmlzaXRl
ZExpbmsgPSBmYWxzZSkgY29uc3Q7CiAKICAgICBib29sIGhhc1NlbGVjdG9yRm9ySWQoY29uc3Qg
QXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgYm9vbCBoYXNTZWxlY3RvckZvckNsYXNzKGNvbnN0
IEF0b21pY1N0cmluZyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21h
a2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDYwZDY4MDQ3
NWZlMTdiODM1ZGIyYzkzMjNmZjU2NDdiNDBlOTQ1NTAuLjE3ODY3N2RkYWYzZWY1NzgyOTQyNjNk
ZDg5NjQ5NzFmYjgwZDUzMzQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJv
cC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTQ4NCw3ICs0ODQs
NyBAQCBzdWIgY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUgewogICBteSAkcHJpbWl0aXZlVmFsdWUg
PSBzaGlmdDsKICAgbXkgJGZvclZpc2l0ZWRMaW5rID0gQF8gPyBzaGlmdCA6IE5PVF9GT1JfVklT
SVRFRF9MSU5LOwogCi0gIHJldHVybiAic3R5bGVSZXNvbHZlci5jb2xvckZyb21QcmltaXRpdmVW
YWx1ZSgmIiAuICRwcmltaXRpdmVWYWx1ZSAuICIsIC8qIGZvclZpc2l0ZWRMaW5rICovICIgLiAo
JGZvclZpc2l0ZWRMaW5rID8gInRydWUiIDogImZhbHNlIikgLiAiKSI7CisgIHJldHVybiAic3R5
bGVSZXNvbHZlci5jb2xvckZyb21QcmltaXRpdmVWYWx1ZSgiIC4gJHByaW1pdGl2ZVZhbHVlIC4g
IiwgLyogZm9yVmlzaXRlZExpbmsgKi8gIiAuICgkZm9yVmlzaXRlZExpbmsgPyAidHJ1ZSIgOiAi
ZmFsc2UiKSAuICIpIjsKIH0KIAogdXNlIGNvbnN0YW50IHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244244</attachid>
            <date>2015-01-07 22:53:47 -0800</date>
            <delta_ts>2015-01-07 23:55:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140219-20150107225351.patch</filename>
            <type>text/plain</type>
            <size>12902</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RlZTZkOTM1ZjNmMThj
NGM0YTk1ZDRmNTkwMmJiYjM2MzliZmE5Zi4uYzZhYTdmNjBmNmI5MTE2MmU4ODk1NWIwNmJiMWI3
ZGViMzRhODRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTAxLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAtd2Via2l0LXRhcC1o
aWdobGlnaHQtY29sb3IgLyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyAvIC13ZWJraXQtdG91
Y2gtY2FsbG91dCB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgTW92ZSAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3Ig
LyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyAvCisgICAgICAgIC13ZWJraXQtdG91Y2gtY2Fs
bG91dCB0byB0aGUgbmV3IFN0eWxlQnVpbGRlci4KKworICAgICAgICAqIGNzcy9DU1NHcmFkaWVu
dFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OmdyYWRpZW50
V2l0aFN0eWxlc1Jlc29sdmVkKToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoK
KyAgICAgICAgKiBjc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJlc29sdmVyOjphcHBseVNWR1Byb3BlcnR5KToKKyAgICAgICAgKiBjc3MvU3R5bGVC
dWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXI6OmNvbnZlcnRUb3VjaENhbGxvdXQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVy
Q29udmVydGVyOjpjb252ZXJ0VGFwSGlnaGxpZ2h0Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0T3ZlcmZsb3dTY3JvbGxpbmcpOgorICAgICAg
ICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2
ZXI6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29s
b3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2ZWRGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjpjb2xvckZyb21QcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjcmVhdGVGaWx0ZXJPcGVyYXRpb25zKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSZXNvbHZlci5oOgorCiAyMDE1LTAxLTA3ICBCcmlhbiBKLiBCdXJnICA8YnVy
Z0Bjcy53YXNoaW5ndG9uLmVkdT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBFZGl0aW5nIElu
bGluZSBTdHlsZXMgTm90IFdvcmtpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcAppbmRleCAzMDI2NzU5ZTNjMzFjZGUxMzFlMmNmYzg3MDcxNTdlYTc4ZmFiOGE2Li41YjQz
MWVmYWUwM2I1ZmVhYjgxYzAxYzdlOTc0NjZiZmQ4ZTZjMTgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgUGFzc1JlZlB0cjxDU1NH
cmFkaWVudFZhbHVlPiBDU1NHcmFkaWVudFZhbHVlOjpncmFkaWVudFdpdGhTdHlsZXNSZXNvbHZl
ZChTdHlsZVIKIHsKICAgICBib29sIGRlcml2ZWQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIHN0
b3AgOiBtX3N0b3BzKSB7Ci0gICAgICAgIGlmICghc3RvcC5pc01pZHBvaW50ICYmIHN0eWxlUmVz
b2x2ZXItPmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJpdmVkRnJvbUVsZW1lbnQoc3RvcC5t
X2NvbG9yLmdldCgpKSkgeworICAgICAgICBpZiAoIXN0b3AuaXNNaWRwb2ludCAmJiBzdHlsZVJl
c29sdmVyLT5jb2xvckZyb21QcmltaXRpdmVWYWx1ZUlzRGVyaXZlZEZyb21FbGVtZW50KCpzdG9w
Lm1fY29sb3IpKSB7CiAgICAgICAgICAgICBzdG9wLm1fY29sb3JJc0Rlcml2ZWRGcm9tRWxlbWVu
dCA9IHRydWU7CiAgICAgICAgICAgICBkZXJpdmVkID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMTI5LDcgKzEyOSw3IEBAIFBhc3NSZWZQdHI8Q1NTR3JhZGllbnRWYWx1ZT4gQ1NTR3Jh
ZGllbnRWYWx1ZTo6Z3JhZGllbnRXaXRoU3R5bGVzUmVzb2x2ZWQoU3R5bGVSCiAKICAgICBmb3Ig
KGF1dG8mIHN0b3AgOiByZXN1bHQtPm1fc3RvcHMpIHsKICAgICAgICAgaWYgKCFzdG9wLmlzTWlk
cG9pbnQpCi0gICAgICAgICAgICBzdG9wLm1fcmVzb2x2ZWRDb2xvciA9IHN0eWxlUmVzb2x2ZXIt
PmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKHN0b3AubV9jb2xvci5nZXQoKSk7CisgICAgICAgICAg
ICBzdG9wLm1fcmVzb2x2ZWRDb2xvciA9IHN0eWxlUmVzb2x2ZXItPmNvbG9yRnJvbVByaW1pdGl2
ZVZhbHVlKCpzdG9wLm1fY29sb3IpOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQucmVsZWFz
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCA2YmUxNzcwYjI4
NzBhZDYxMDQ1NGRjN2MzN2Q3YmQ4MmJhNDRlZDJhLi5jNmM5MWYzNzZiZGZkZTM4M2Y3NDdiNzRl
Yjg3NWFkYzdiMDIzNzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpA
QCAtNTc5LDE0ICs1NzksMTQgQEAgb3JpZW50YXRpb24gW0xlZ2FjeVN0eWxlQnVpbGRlcl0KIHVz
ZXItem9vbSBbTGVnYWN5U3R5bGVCdWlsZGVyXQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVfVE9VQ0hfRVZFTlRTCi0td2Via2l0LXRhcC1oaWdobGln
aHQtY29sb3IgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorLXdlYmtpdC10YXAtaGln
aGxpZ2h0LWNvbG9yIFtJbmhlcml0ZWQsIENvbnZlcnRlcj1UYXBIaWdobGlnaHRDb2xvcl0KICNl
bmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAmJiBFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQKIC13ZWJraXQtZGFzaGJvYXJkLXJlZ2lvbiBbTmFtZUZvck1ldGhvZHM9
RGFzaGJvYXJkUmVnaW9ucywgQ3VzdG9tPVZhbHVlXQogI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAmJiBFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HCi0td2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyBbSW5oZXJpdGVk
LCBMZWdhY3lTdHlsZUJ1aWxkZXJdCistd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZyBbSW5oZXJp
dGVkLCBOYW1lRm9yTWV0aG9kcz1Vc2VUb3VjaE92ZXJmbG93U2Nyb2xsaW5nLCBDb252ZXJ0ZXI9
T3ZlcmZsb3dTY3JvbGxpbmddCiAjZW5kaWYKICNpZiBkZWZpbmVkKFdURl9QTEFURk9STV9JT1Mp
ICYmIFdURl9QTEFURk9STV9JT1MKLS13ZWJraXQtdG91Y2gtY2FsbG91dCBbSW5oZXJpdGVkLCBM
ZWdhY3lTdHlsZUJ1aWxkZXJdCistd2Via2l0LXRvdWNoLWNhbGxvdXQgW0luaGVyaXRlZCwgTmFt
ZUZvck1ldGhvZHM9VG91Y2hDYWxsb3V0RW5hYmxlZCwgQ29udmVydGVyPVRvdWNoQ2FsbG91dF0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4
IDY4NTQ5NDU5MTdjNmU0OTE2OGU0ZDJjZmFjZGUwZmRlYzc2ZGYzMjkuLjMxOWY1MzBiZjZlMDNm
YTRkYmZhMGZiOTJmNmNkM2E1YWU1NGZkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTU4Nyw3ICs1ODcsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogICAg
ICAgICAgICAgaW50IGJsdXIgPSBpdGVtLmJsdXIgPyBpdGVtLmJsdXItPmNvbXB1dGVMZW5ndGg8
aW50PihzdGF0ZS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpv
b20oMS4wZikpIDogMDsKICAgICAgICAgICAgIENvbG9yIGNvbG9yOwogICAgICAgICAgICAgaWYg
KGl0ZW0uY29sb3IpCi0gICAgICAgICAgICAgICAgY29sb3IgPSBjb2xvckZyb21QcmltaXRpdmVW
YWx1ZShpdGVtLmNvbG9yLmdldCgpKTsKKyAgICAgICAgICAgICAgICBjb2xvciA9IGNvbG9yRnJv
bVByaW1pdGl2ZVZhbHVlKCppdGVtLmNvbG9yKTsKIAogICAgICAgICAgICAgLy8gLXdlYmtpdC1z
dmctc2hhZG93IGRvZXMgc2hvdWxkIG5vdCBoYXZlIGEgc3ByZWFkIG9yIHN0eWxlCiAgICAgICAg
ICAgICBBU1NFUlQoIWl0ZW0uc3ByZWFkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXIuaAppbmRleCAxODMyMGYyZmM2MmRhZDFmZDAyNWJkMTUyMmViZjU3NmVhZmJh
ZDUyLi41NDg5Y2M4YzgxOTYxN2JjZmJkYjFjMzM3ZTE1NTYxOThmYTY4NmE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC0xMDEsNiArMTAxLDE1IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjb252ZXJ0TWFycXVlZUluY3JlbWVudChTdHlsZVJl
c29sdmVyJiwgQ1NTVmFsdWUmLCBMZW5ndGgmKTsKICAgICBzdGF0aWMgYm9vbCBjb252ZXJ0Rmls
dGVyT3BlcmF0aW9ucyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmLCBGaWx0ZXJPcGVyYXRpb25z
Jik7CiAgICAgc3RhdGljIGJvb2wgY29udmVydE1hc2tJbWFnZU9wZXJhdGlvbnMoU3R5bGVSZXNv
bHZlciYsIENTU1ZhbHVlJiwgVmVjdG9yPFJlZlB0cjxNYXNrSW1hZ2VPcGVyYXRpb24+PiYpOwor
I2lmIFBMQVRGT1JNKElPUykKKyAgICBzdGF0aWMgYm9vbCBjb252ZXJ0VG91Y2hDYWxsb3V0KFN0
eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworI2VuZGlmCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKKyAgICBzdGF0aWMgQ29sb3IgY29udmVydFRhcEhpZ2hsaWdodENvbG9yKFN0eWxlUmVzb2x2
ZXImLCBDU1NWYWx1ZSYpOworI2VuZGlmCisjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykKKyAgICBzdGF0aWMgYm9vbCBjb252ZXJ0T3ZlcmZsb3dTY3JvbGxpbmcoU3R5
bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgU3R5bGVCdWlsZGVyQ3VzdG9tOwpAQCAtMTA0Niw2ICsxMDU1LDI3IEBAIGlubGluZSBi
b29sIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydE1hc2tJbWFnZU9wZXJhdGlvbnMoU3R5
bGVSZXNvbHZlciYgc3R5CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBQTEFURk9STShJT1Mp
CitpbmxpbmUgYm9vbCBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUb3VjaENhbGxvdXQo
U3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4gIWVxdWFsSWdu
b3JpbmdDYXNlKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkuZ2V0U3RyaW5nVmFs
dWUoKSwgIm5vbmUiKTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKK2lu
bGluZSBDb2xvciBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRUYXBIaWdobGlnaHRDb2xv
cihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAg
cmV0dXJuIHN0eWxlUmVzb2x2ZXIuY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKSk7Cit9CisjZW5kaWYKKworI2lmIEVOQUJMRShBQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpCitpbmxpbmUgYm9vbCBTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXI6OmNvbnZlcnRPdmVyZmxvd1Njcm9sbGluZyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZh
bHVlKQoreworICAgIHJldHVybiBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLmdl
dFZhbHVlSUQoKSA9PSBDU1NWYWx1ZVRvdWNoOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIFN0eWxlQnVpbGRlckNvbnZlcnRlcl9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggMGJmYzBmN2YwZGQzYzAxOGUwMDZiMGVl
MDA2OGYxMGVmODk4NDg5MC4uYTU3YzBjODJiZTQzMzVjMjQyNDk2N2Q4OTdiZTJhMTA4YThjNTAz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtNzk0LDcgKzc5
NCw3IEBAIGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlUZXh0T3JCb3hTaGFk
b3dWYWx1ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlCiAgICAgICAgIFNoYWRvd1N0eWxlIHNoYWRv
d1N0eWxlID0gc2hhZG93VmFsdWUuc3R5bGUgJiYgc2hhZG93VmFsdWUuc3R5bGUtPmdldFZhbHVl
SUQoKSA9PSBDU1NWYWx1ZUluc2V0ID8gSW5zZXQgOiBOb3JtYWw7CiAgICAgICAgIENvbG9yIGNv
bG9yOwogICAgICAgICBpZiAoc2hhZG93VmFsdWUuY29sb3IpCi0gICAgICAgICAgICBjb2xvciA9
IHN0eWxlUmVzb2x2ZXIuY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoc2hhZG93VmFsdWUuY29sb3Iu
Z2V0KCkpOworICAgICAgICAgICAgY29sb3IgPSBzdHlsZVJlc29sdmVyLmNvbG9yRnJvbVByaW1p
dGl2ZVZhbHVlKCpzaGFkb3dWYWx1ZS5jb2xvcik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGNvbG9yID0gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5jb2xvcigpOwogICAgICAgICBhdXRvIHNo
YWRvd0RhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+KEludFBvaW50KHgsIHkpLCBi
bHVyLCBzcHJlYWQsIHNoYWRvd1N0eWxlLCBpZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRv
dywgY29sb3IuaXNWYWxpZCgpID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDRmMjdlOWZkMjE3NGJlMTdlYThkNmQzN2U1
NzdiNTEyYTUxMzcyZjUuLjRjZjMwNzcxM2YwYzExNjRjZTc4YzE4NTk0MjMzMjE2NjkwNWMwYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTIwMzEsMzYgKzIwMzEsNiBA
QCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NT
VmFsdWUqIHZhbHVlKQogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVVuaWNv
ZGVSYW5nZTogLy8gT25seSB1c2VkIGluIEBmb250LWZhY2UgcnVsZXMuCiAgICAgICAgIHJldHVy
bjsKLSNpZiBQTEFURk9STShJT1MpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRvdWNoQ2Fs
bG91dDogewotICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTCh0b3VjaENhbGxvdXRF
bmFibGVkLCBUb3VjaENhbGxvdXRFbmFibGVkKTsKLSAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1
ZSkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIHN0YXRlLnN0eWxlKCktPnNldFRvdWNo
Q2FsbG91dEVuYWJsZWQocHJpbWl0aXZlVmFsdWUtPmdldFN0cmluZ1ZhbHVlKCkubG93ZXIoKSAh
PSAibm9uZSIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0jaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGFwSGlnaGxpZ2h0Q29sb3I6
IHsKLSAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUwodGFwSGlnaGxpZ2h0Q29sb3Is
IFRhcEhpZ2hsaWdodENvbG9yKTsKLSAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKLSAgICAg
ICAgICAgIGJyZWFrOwotCi0gICAgICAgIENvbG9yIGNvbCA9IGNvbG9yRnJvbVByaW1pdGl2ZVZh
bHVlKHByaW1pdGl2ZVZhbHVlKTsKLSAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0VGFwSGlnaGxp
Z2h0Q29sb3IoY29sKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotI2lmIEVOQUJM
RShBQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdl
YmtpdE92ZXJmbG93U2Nyb2xsaW5nOiB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklU
SUFMKHVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcsIFVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcp
OwotICAgICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIHN0YXRlLnN0eWxlKCktPnNldFVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcocHJpbWl0aXZl
VmFsdWUtPmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZVRvdWNoKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlJbnZhbGlkOgogICAgICAgICByZXR1
cm47CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRTdHJldGNoOgpAQCAtMjI5NSw2ICsyMjY1LDE1
IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBD
U1NWYWx1ZSogdmFsdWUpCiAjaWYgRU5BQkxFKENVUlNPUl9WSVNJQklMSVRZKQogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRDdXJzb3JWaXNpYmlsaXR5OgogI2VuZGlmCisjaWYgUExBVEZPUk0o
SU9TKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUb3VjaENhbGxvdXQ6CisjZW5kaWYKKyNp
ZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUYXBIaWdo
bGlnaHRDb2xvcjoKKyNlbmRpZgorI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE92ZXJmbG93U2Nyb2xsaW5nOgorI2Vu
ZGlmCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUFsaWduQ29udGVudDoKICAgICBjYXNlIENTU1Byb3Bl
cnR5QWxpZ25JdGVtczoKICAgICBjYXNlIENTU1Byb3BlcnR5QWxpZ25TZWxmOgpAQCAtMjYxNyw5
ICsyNTk2LDkgQEAgc3RhdGljIENvbG9yIGNvbG9yRm9yQ1NTVmFsdWUoQ1NTVmFsdWVJRCBjc3NW
YWx1ZUlkKQogICAgIHJldHVybiBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCktPnN5c3RlbUNv
bG9yKGNzc1ZhbHVlSWQpOwogfQogCi1ib29sIFN0eWxlUmVzb2x2ZXI6OmNvbG9yRnJvbVByaW1p
dGl2ZVZhbHVlSXNEZXJpdmVkRnJvbUVsZW1lbnQoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQor
Ym9vbCBTdHlsZVJlc29sdmVyOjpjb2xvckZyb21QcmltaXRpdmVWYWx1ZUlzRGVyaXZlZEZyb21F
bGVtZW50KENTU1ByaW1pdGl2ZVZhbHVlJiB2YWx1ZSkKIHsKLSAgICBpbnQgaWRlbnQgPSB2YWx1
ZS0+Z2V0VmFsdWVJRCgpOworICAgIGludCBpZGVudCA9IHZhbHVlLmdldFZhbHVlSUQoKTsKICAg
ICBzd2l0Y2ggKGlkZW50KSB7CiAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdFRleHQ6CiAgICAgY2Fz
ZSBDU1NWYWx1ZVdlYmtpdExpbms6CkBAIC0yNjMxLDEzICsyNjEwLDEzIEBAIGJvb2wgU3R5bGVS
ZXNvbHZlcjo6Y29sb3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2ZWRGcm9tRWxlbWVudChDU1NQ
cmltaXRpdmVWYWx1CiAgICAgfQogfQogCi1Db2xvciBTdHlsZVJlc29sdmVyOjpjb2xvckZyb21Q
cmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJvb2wgZm9yVmlzaXRlZExp
bmspIGNvbnN0CitDb2xvciBTdHlsZVJlc29sdmVyOjpjb2xvckZyb21QcmltaXRpdmVWYWx1ZShD
U1NQcmltaXRpdmVWYWx1ZSYgdmFsdWUsIGJvb2wgZm9yVmlzaXRlZExpbmspIGNvbnN0CiB7Ci0g
ICAgaWYgKHZhbHVlLT5pc1JHQkNvbG9yKCkpCi0gICAgICAgIHJldHVybiBDb2xvcih2YWx1ZS0+
Z2V0UkdCQTMyVmFsdWUoKSk7CisgICAgaWYgKHZhbHVlLmlzUkdCQ29sb3IoKSkKKyAgICAgICAg
cmV0dXJuIENvbG9yKHZhbHVlLmdldFJHQkEzMlZhbHVlKCkpOwogCiAgICAgY29uc3QgU3RhdGUm
IHN0YXRlID0gbV9zdGF0ZTsKLSAgICBDU1NWYWx1ZUlEIGlkZW50ID0gdmFsdWUtPmdldFZhbHVl
SUQoKTsKKyAgICBDU1NWYWx1ZUlEIGlkZW50ID0gdmFsdWUuZ2V0VmFsdWVJRCgpOwogICAgIHN3
aXRjaCAoaWRlbnQpIHsKICAgICBjYXNlIDA6CiAgICAgICAgIHJldHVybiBDb2xvcigpOwpAQCAt
Mjg1Niw3ICsyODM1LDcgQEAgYm9vbCBTdHlsZVJlc29sdmVyOjpjcmVhdGVGaWx0ZXJPcGVyYXRp
b25zKENTU1ZhbHVlJiBpblZhbHVlLCBGaWx0ZXJPcGVyYXRpb25zJgogICAgICAgICAgICAgaW50
IGJsdXIgPSBpdGVtLmJsdXIgPyBpdGVtLmJsdXItPmNvbXB1dGVMZW5ndGg8aW50PihzdGF0ZS5j
c3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkpIDogMDsKICAgICAgICAgICAgIENvbG9yIGNvbG9y
OwogICAgICAgICAgICAgaWYgKGl0ZW0uY29sb3IpCi0gICAgICAgICAgICAgICAgY29sb3IgPSBj
b2xvckZyb21QcmltaXRpdmVWYWx1ZShpdGVtLmNvbG9yLmdldCgpKTsKKyAgICAgICAgICAgICAg
ICBjb2xvciA9IGNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKCppdGVtLmNvbG9yKTsKIAogICAgICAg
ICAgICAgb3BlcmF0aW9ucy5vcGVyYXRpb25zKCkuYXBwZW5kKERyb3BTaGFkb3dGaWx0ZXJPcGVy
YXRpb246OmNyZWF0ZShsb2NhdGlvbiwgYmx1ciwgY29sb3IuaXNWYWxpZCgpID8gY29sb3IgOiBD
b2xvcjo6dHJhbnNwYXJlbnQpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmgKaW5kZXggNjhjNDRkYjVlMDAwZDQ5NTBkZDYyOWYzOTI2MDY0NzBlMDgxYWJl
MC4uNTFjOWQ5ZWQ4OGQ3MWJhOTgwOTczZWJjZGU5MDA0ZWQ3ZTBmY2JiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5oCkBAIC0yMDksOCArMjA5LDggQEAgcHVibGljOgogICAgIGJvb2wg
dXNlU1ZHWm9vbVJ1bGVzKCk7CiAgICAgYm9vbCB1c2VTVkdab29tUnVsZXNGb3JMZW5ndGgoKTsK
IAotICAgIHN0YXRpYyBib29sIGNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlSXNEZXJpdmVkRnJvbUVs
ZW1lbnQoQ1NTUHJpbWl0aXZlVmFsdWUqKTsKLSAgICBDb2xvciBjb2xvckZyb21QcmltaXRpdmVW
YWx1ZShDU1NQcmltaXRpdmVWYWx1ZSosIGJvb2wgZm9yVmlzaXRlZExpbmsgPSBmYWxzZSkgY29u
c3Q7CisgICAgc3RhdGljIGJvb2wgY29sb3JGcm9tUHJpbWl0aXZlVmFsdWVJc0Rlcml2ZWRGcm9t
RWxlbWVudChDU1NQcmltaXRpdmVWYWx1ZSYpOworICAgIENvbG9yIGNvbG9yRnJvbVByaW1pdGl2
ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlJiwgYm9vbCBmb3JWaXNpdGVkTGluayA9IGZhbHNlKSBj
b25zdDsKIAogICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JJZChjb25zdCBBdG9taWNTdHJpbmcmKSBj
b25zdDsKICAgICBib29sIGhhc1NlbGVjdG9yRm9yQ2xhc3MoY29uc3QgQXRvbWljU3RyaW5nJikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggNjBkNjgwNDc1ZmUxN2I4MzVkYjJjOTMy
M2ZmNTY0N2I0MGU5NDU1MC4uMTc4Njc3ZGRhZjNlZjU3ODI5NDI2M2RkODk2NDk3MWZiODBkNTMz
NCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtNDg0LDcgKzQ4NCw3IEBAIHN1YiBjb2xvckZy
b21QcmltaXRpdmVWYWx1ZSB7CiAgIG15ICRwcmltaXRpdmVWYWx1ZSA9IHNoaWZ0OwogICBteSAk
Zm9yVmlzaXRlZExpbmsgPSBAXyA/IHNoaWZ0IDogTk9UX0ZPUl9WSVNJVEVEX0xJTks7CiAKLSAg
cmV0dXJuICJzdHlsZVJlc29sdmVyLmNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKCYiIC4gJHByaW1p
dGl2ZVZhbHVlIC4gIiwgLyogZm9yVmlzaXRlZExpbmsgKi8gIiAuICgkZm9yVmlzaXRlZExpbmsg
PyAidHJ1ZSIgOiAiZmFsc2UiKSAuICIpIjsKKyAgcmV0dXJuICJzdHlsZVJlc29sdmVyLmNvbG9y
RnJvbVByaW1pdGl2ZVZhbHVlKCIgLiAkcHJpbWl0aXZlVmFsdWUgLiAiLCAvKiBmb3JWaXNpdGVk
TGluayAqLyAiIC4gKCRmb3JWaXNpdGVkTGluayA/ICJ0cnVlIiA6ICJmYWxzZSIpIC4gIikiOwog
fQogCiB1c2UgY29uc3RhbnQgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>