<?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>149454</bug_id>
          
          <creation_ts>2015-09-22 03:17:46 -0700</creation_ts>
          <short_desc>Implement min and max instructions in WebAssembly</short_desc>
          <delta_ts>2015-09-22 13:12:10 -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>JavaScriptCore</component>
          <version>WebKit 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>146064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127972</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-22 03:17:46 -0700</bug_when>
    <thetext>Implement min and max instructions in WebAssembly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127975</commentid>
    <comment_count>1</comment_count>
      <attachid>261736</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-22 03:24:40 -0700</bug_when>
    <thetext>Created attachment 261736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127976</commentid>
    <comment_count>2</comment_count>
      <attachid>261737</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-22 03:30:29 -0700</bug_when>
    <thetext>Created attachment 261737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128046</commentid>
    <comment_count>3</comment_count>
      <attachid>261737</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-22 11:12:35 -0700</bug_when>
    <thetext>Comment on attachment 261737
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128073</commentid>
    <comment_count>4</comment_count>
      <attachid>261737</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-22 12:14:10 -0700</bug_when>
    <thetext>Comment on attachment 261737
Patch

Rejecting attachment 261737 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 261737, &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 190123 = a2e09512efd478c5c39241138203c2b24732b00b
r190124 = cff4fb2065a99bcbfcee4dddbe9ff7854737947a
r190125 = 22be5d70e2c7485f16a18f69035fc3530839f15a
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.webkit.org/results/197514</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128076</commentid>
    <comment_count>5</comment_count>
      <attachid>261759</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-22 12:21:53 -0700</bug_when>
    <thetext>Created attachment 261759
Update to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128093</commentid>
    <comment_count>6</comment_count>
      <attachid>261759</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-22 13:12:04 -0700</bug_when>
    <thetext>Comment on attachment 261759
Update to ToT

Clearing flags on attachment: 261759

Committed r190130: &lt;http://trac.webkit.org/changeset/190130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128094</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-22 13:12:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261736</attachid>
            <date>2015-09-22 03:24:40 -0700</date>
            <delta_ts>2015-09-22 03:30:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149454-20150922032534.patch</filename>
            <type>text/plain</type>
            <size>13492</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YWU4MDE1OGFlMjhlOWNhOWRkYTk3M2ExMTFkMTliMjc0YzdjZDBiLi42MzZjYmE3YjlkZmJhMDg2
MjUzN2I3ZjVlMjE2YzYyOGEzNzFmZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNS0wOS0yMiAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbWluIGFuZCBtYXggaW5zdHJ1Y3Rpb25zIGlu
IFdlYkFzc2VtYmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDk0NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBtaW4gYW5kIG1heCBpbnN0cnVjdGlv
bnMgaW4gV2ViQXNzZW1ibHkuCisKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1l
dGljLWZsb2F0NjQuanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1p
bnQzMi5qczoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS9hcml0aG1ldGljLWZsb2F0NjQu
d2FzbToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS9hcml0aG1ldGljLWludDMyLndhc206
CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oOgorICAgICAgICAoSlNDOjpX
QVNNRnVuY3Rpb25Db21waWxlcjo6YnVpbGRNaW5Pck1heEkzMik6CisgICAgICAgIChKU0M6OldB
U01GdW5jdGlvbkNvbXBpbGVyOjpidWlsZE1pbk9yTWF4RjY0KToKKyAgICAgICAgKiB3YXNtL1dB
U01GdW5jdGlvblBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6
cGFyc2VFeHByZXNzaW9uSTMyKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpw
YXJzZU1pbk9yTWF4RXhwcmVzc2lvbkkzMik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBh
cnNlcjo6cGFyc2VFeHByZXNzaW9uRjY0KToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uUGFy
c2VyOjpwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkY2NCk6CisgICAgICAgICogd2FzbS9XQVNNRnVu
Y3Rpb25QYXJzZXIuaDoKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlcjo6YnVpbGRNaW5Pck1h
eEkzMik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblN5bnRheENoZWNrZXI6OmJ1aWxkTWlu
T3JNYXhGNjQpOgorCiAyMDE1LTA5LTIyICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEJhc2ljIEJsb2NrIEFubm90YXRpb25zIGFuZCBU
eXBlIFByb2ZpbGVyIGFubm90YXRpb25zIHdyb25nIGZvciBzY3JpcHQgd2l0aCAiY2xhc3MiIHdp
dGggZGVmYXVsdCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQ2NC5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0NjQuanMKaW5kZXggYzA5
YzJjOWMwNDhlYzJjNDhhNTAxM2Y1OWNlN2Y3MjBmN2NhODg3Yi4uYjBiM2NhYTIzNDJhNmNlZmEw
OGEyMjc2MDIyYjE4MjllNTg0ZDhkZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQ2NC5qcworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1mbG9hdDY0LmpzCkBAIC0y
NSw2ICsyNSw4IEBAIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CiAg
ICAgdmFyIGV4cCA9IGdsb2JhbC5NYXRoLmV4cDsKICAgICB2YXIgbG9nID0gZ2xvYmFsLk1hdGgu
bG9nOwogICAgIHZhciBwb3cgPSBnbG9iYWwuTWF0aC5wb3c7CisgICAgdmFyIG1pbiA9IGdsb2Jh
bC5NYXRoLm1pbjsKKyAgICB2YXIgbWF4ID0gZ2xvYmFsLk1hdGgubWF4OwogCiAgICAgZnVuY3Rp
b24gbnVtYmVyKCkgewogICAgICAgICByZXR1cm4gNC4yOwpAQCAtMTM3LDYgKzEzOSwyMCBAQCBm
dW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgICAgICByZXR1cm4g
cG93KHgsIHkpOwogICAgIH0KIAorICAgIGZ1bmN0aW9uIG1pbmltdW0oeCwgeSwgeikgeworICAg
ICAgICB4ID0gK3g7CisgICAgICAgIHkgPSAreTsKKyAgICAgICAgeiA9ICt6OworICAgICAgICBy
ZXR1cm4gbWluKHgsIHksIHopOworICAgIH0KKworICAgIGZ1bmN0aW9uIG1heGltdW0oeCwgeSwg
eikgeworICAgICAgICB4ID0gK3g7CisgICAgICAgIHkgPSAreTsKKyAgICAgICAgeiA9ICt6Owor
ICAgICAgICByZXR1cm4gbWF4KHgsIHksIHopOworICAgIH0KKwogICAgIHJldHVybiB7CiAgICAg
ICAgIG51bWJlcjogbnVtYmVyLAogICAgICAgICBuZWdhdGU6IG5lZ2F0ZSwKQEAgLTE1OSw2ICsx
NzUsOCBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgICAg
ICBleHBvbmVudGlhbDogZXhwb25lbnRpYWwsCiAgICAgICAgIGxvZ2FyaXRobTogbG9nYXJpdGht
LAogICAgICAgICBwb3dlcjogcG93ZXIsCisgICAgICAgIG1pbmltdW06IG1pbmltdW0sCisgICAg
ICAgIG1heGltdW06IG1heGltdW0sCiAgICAgfTsKIH0KICovCkBAIC0xOTMsMyArMjExLDUgQEAg
c2hvdWxkQmUobW9kdWxlLmFyY3RhbmdlbnQyKDEsIDApLCBNYXRoLlBJIC8gMik7CiBzaG91bGRC
ZShtb2R1bGUuZXhwb25lbnRpYWwoMSksIE1hdGguRSk7CiBzaG91bGRCZShtb2R1bGUubG9nYXJp
dGhtKE1hdGguRSksIDEpOwogc2hvdWxkQmUobW9kdWxlLnBvd2VyKDQsIDEuNSksIDgpOworc2hv
dWxkQmUobW9kdWxlLm1pbmltdW0oMC4xLCAtMC4yLCAwLjMpLCAtMC4yKTsKK3Nob3VsZEJlKG1v
ZHVsZS5tYXhpbXVtKDAuMSwgLTAuMiwgMC4zKSwgMC4zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWludDMyLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtaW50MzIuanMK
aW5kZXggYmI4ZWU2MzE3NzFlMWUyMmVlZjBiYzk4NGVlNTY5MTcxZGZkNjI3YS4uYjc1MGY2ODYz
NDJjMDMyMzk2YzA0MDEyODI1ODA0ZjJiZjVkNTI4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtaW50MzIuanMKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtaW50MzIuanMK
QEAgLTI3LDYgKzI3LDggQEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIp
IHsKICAgICB2YXIgY2x6MzIgPSBnbG9iYWwuTWF0aC5jbHozMjsKICAgICB2YXIgaW11bCA9IGds
b2JhbC5NYXRoLmltdWw7CiAgICAgdmFyIGFicyA9IGdsb2JhbC5NYXRoLmFiczsKKyAgICB2YXIg
bWluID0gZ2xvYmFsLk1hdGgubWluOworICAgIHZhciBtYXggPSBnbG9iYWwuTWF0aC5tYXg7CiAK
ICAgICBmdW5jdGlvbiBuZWdhdGUoeCkgewogICAgICAgICB4ID0geCB8IDA7CkBAIC0xMzEsNiAr
MTMzLDIwIEBAIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CiAgICAg
ICAgIHJldHVybiBhYnMoeCB8IDApIHwgMDsKICAgICB9CiAKKyAgICBmdW5jdGlvbiBtaW5pbXVt
KHgsIHksIHopIHsKKyAgICAgICAgeCA9IHggfCAwOworICAgICAgICB5ID0geSB8IDA7CisgICAg
ICAgIHogPSB6IHwgMDsKKyAgICAgICAgcmV0dXJuIG1pbih4IHwgMCwgeSB8IDAsIHogfCAwKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBtYXhpbXVtKHgsIHksIHopIHsKKyAgICAgICAgeCA9IHgg
fCAwOworICAgICAgICB5ID0geSB8IDA7CisgICAgICAgIHogPSB6IHwgMDsKKyAgICAgICAgcmV0
dXJuIG1heCh4IHwgMCwgeSB8IDAsIHogfCAwKTsKKyAgICB9CisKICAgICByZXR1cm4gewogICAg
ICAgICBuZWdhdGU6IG5lZ2F0ZSwKICAgICAgICAgYWRkOiBhZGQsCkBAIC0xNTAsNiArMTY2LDgg
QEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKICAgICAgICAgY291
bnRMZWFkaW5nWmVyb3M6IGNvdW50TGVhZGluZ1plcm9zLAogICAgICAgICBsb2dpY2FsTm90OiBs
b2dpY2FsTm90LAogICAgICAgICBhYnNvbHV0ZTogYWJzb2x1dGUsCisgICAgICAgIG1pbmltdW06
IG1pbmltdW0sCisgICAgICAgIG1heGltdW06IG1heGltdW0sCiAgICAgfTsKIH0KICovCkBAIC0x
OTgsMyArMjE2LDUgQEAgc2hvdWxkQmUobW9kdWxlLmxvZ2ljYWxOb3QoNDIpLCAwKTsKIHNob3Vs
ZEJlKG1vZHVsZS5sb2dpY2FsTm90KDApLCAxKTsKIHNob3VsZEJlKG1vZHVsZS5hYnNvbHV0ZSgt
NDIpLCA0Mik7CiBzaG91bGRCZShtb2R1bGUuYWJzb2x1dGUoNDIpLCA0Mik7CitzaG91bGRCZSht
b2R1bGUubWluaW11bSgxLCAtMiwgMyksIC0yKTsKK3Nob3VsZEJlKG1vZHVsZS5tYXhpbXVtKDEs
IC0yLCAzKSwgMyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL3dhc20vYXJpdGhtZXRpYy1mbG9hdDY0Lndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1mbG9hdDY0Lndhc20KaW5kZXggN2I1ZmYyOTkw
ZjM1NDA1YjlmYzZmMmY4MWViNTBjYjFlZGFjYTRjZC4uYTM4M2Y0MzQzNDk0ZmNlZWY2MmQxZGUx
MTNlODg2YTNkMzk3MGEyOCAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMDcKemNtZXl0
dzI7fVZKaDM+cG03TV91U2VPYD83QDVGOzhBeVZ+ZlBePiRNMzR+PG0+M3pFbjMqUlVSfHF2UUA9
R3U7CmdTaHhzQ09NKy1kQHJpM3MzKn4wIVcjKlJWR0tsNlRSKTg1fDAwUk9PSFVJenMKCmRlbHRh
IDY1CnpjbVozO3tEYUIzSmgzP1VLTnx4R0ZmJWJRRioxUHdtPHVGQzg2YlF7SUFDSUFXU1ZHSSFO
ZSMhQHlLWmFDI0RFWQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvd2FzbS9hcml0aG1ldGljLWludDMyLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1pbnQzMi53YXNtCmluZGV4IDU0NzYzZWU5ZGEx
ZjM4ZTkwZmRhZWVhM2M1ZjIxOTBiMzczZjBjMWYuLjZiMmE5ZWEyNzk4MWRkZmMwMmY3ZjhhOTZi
YzRkZTE0Y2Y5Njc4MzggMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTAyCnpjbWFGTClX
PlhFbz4taV9pPTY9a20+QyF1Nz97OGVGZHN+YUZmYypAbG0tZWlGLV9GVjVOY3JMY1ZSd29ARFB4
OApiMUpSNWs2SzkraSVGV0VuJXFgN2o1WHchZzA1Z09FMG5yb3kKCmRlbHRhIDYwCnNjbWVCVWUj
KWQqbz4taEskSWJ1KE9ibT01MHVGPjI3JEU+azEwXlAhVy11YGRPPGFFIzBNJnM4X3k3T14KCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaApp
bmRleCBlN2MxNTI4ZjdhMDFjZTYzMWM1NTU1NDYyOTA3YWRjNjE2ZGVhNGFhLi43ZDU3MGY1OWI1
NGQ0NGE4OGUzMWYyMjU0NWVhMzgyODYwODRjYzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKQEAgLTEwMTAsNiArMTAxMCw1NiBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBVTlVTRUQ7CiAgICAgfQogCisgICAgaW50IGJ1aWxk
TWluT3JNYXhJMzIoaW50LCBpbnQsIFdBU01PcEV4cHJlc3Npb25JMzIgb3ApCisgICAgeworICAg
ICAgICBsb2FkMzIodGVtcG9yYXJ5QWRkcmVzcyhtX3RlbXBTdGFja1RvcCAtIDIpLCBHUFJJbmZv
OjpyZWdUMCk7CisgICAgICAgIGxvYWQzMih0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9w
IC0gMSksIEdQUkluZm86OnJlZ1QxKTsKKyAgICAgICAgUmVsYXRpb25hbENvbmRpdGlvbiBjb25k
aXRpb247CisgICAgICAgIHN3aXRjaCAob3ApIHsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNz
aW9uSTMyOjpTTWluOgorICAgICAgICAgICAgY29uZGl0aW9uID0gTGVzc1RoYW5PckVxdWFsOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1p
bjoKKyAgICAgICAgICAgIGNvbmRpdGlvbiA9IEJlbG93T3JFcXVhbDsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNNYXg6CisgICAgICAgICAg
ICBjb25kaXRpb24gPSBHcmVhdGVyVGhhbk9yRXF1YWw7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTWF4OgorICAgICAgICAgICAgY29uZGl0
aW9uID0gQWJvdmVPckVxdWFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9Cisg
ICAgICAgIEp1bXAgdXNlTGVmdCA9IGJyYW5jaDMyKGNvbmRpdGlvbiwgR1BSSW5mbzo6cmVnVDAs
IEdQUkluZm86OnJlZ1QxKTsKKyAgICAgICAgc3RvcmUzMihHUFJJbmZvOjpyZWdUMSwgdGVtcG9y
YXJ5QWRkcmVzcyhtX3RlbXBTdGFja1RvcCAtIDIpKTsKKyAgICAgICAgdXNlTGVmdC5saW5rKHRo
aXMpOworICAgICAgICBtX3RlbXBTdGFja1RvcC0tOworICAgICAgICByZXR1cm4gVU5VU0VEOwor
ICAgIH0KKworICAgIGludCBidWlsZE1pbk9yTWF4RjY0KGludCwgaW50LCBXQVNNT3BFeHByZXNz
aW9uRjY0IG9wKQorICAgIHsKKyAgICAgICAgbG9hZERvdWJsZSh0ZW1wb3JhcnlBZGRyZXNzKG1f
dGVtcFN0YWNrVG9wIC0gMiksIEZQUkluZm86OmZwUmVnVDApOworICAgICAgICBsb2FkRG91Ymxl
KHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3AgLSAxKSwgRlBSSW5mbzo6ZnBSZWdUMSk7
CisgICAgICAgIERvdWJsZUNvbmRpdGlvbiBjb25kaXRpb247CisgICAgICAgIHN3aXRjaCAob3Ap
IHsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpNaW46CisgICAgICAgICAgICBj
b25kaXRpb24gPSBEb3VibGVMZXNzVGhhbk9yRXF1YWw7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpNYXg6CisgICAgICAgICAgICBjb25kaXRp
b24gPSBEb3VibGVHcmVhdGVyVGhhbk9yRXF1YWw7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIH0KKyAgICAgICAgSnVtcCB1c2VMZWZ0ID0gYnJhbmNoRG91YmxlKGNvbmRpdGlvbiwg
RlBSSW5mbzo6ZnBSZWdUMCwgRlBSSW5mbzo6ZnBSZWdUMSk7CisgICAgICAgIHN0b3JlRG91Ymxl
KEZQUkluZm86OmZwUmVnVDEsIHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3AgLSAyKSk7
CisgICAgICAgIHVzZUxlZnQubGluayh0aGlzKTsKKyAgICAgICAgbV90ZW1wU3RhY2tUb3AtLTsK
KyAgICAgICAgcmV0dXJuIFVOVVNFRDsKKyAgICB9CisKICAgICBpbnQgYnVpbGRDYWxsSW50ZXJu
YWwodWludDMyX3QgZnVuY3Rpb25JbmRleCwgaW50LCBjb25zdCBXQVNNU2lnbmF0dXJlJiBzaWdu
YXR1cmUsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKQogICAgIHsKICAgICAgICAgYm94
QXJndW1lbnRzQW5kQWRqdXN0U3RhY2tQb2ludGVyKHNpZ25hdHVyZS5hcmd1bWVudHMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKaW5k
ZXggYThhYjljMjE1M2M3MTM4MmM1M2U2YWIxYTdmNmJjOTJmNDVmYzFkNi4uNzY1NzQzNDI2YjE4
NWQwY2Y2MzIxNGY1NWQ0YmNlYTg2ZmM1MmI0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCkBAIC02MjYsOCArNjI2LDcgQEAgQ29u
dGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIoQ29u
dGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTWluOgog
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNNYXg6CiAgICAgICAgIGNhc2UgV0FT
TU9wRXhwcmVzc2lvbkkzMjo6VU1heDoKLSAgICAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
dGhlc2UgaW5zdHJ1Y3Rpb25zLgotICAgICAgICAgICAgRkFJTF9XSVRIX01FU1NBR0UoIlVuc3Vw
cG9ydGVkIGluc3RydWN0aW9uLiIpOworICAgICAgICAgICAgcmV0dXJuIHBhcnNlTWluT3JNYXhF
eHByZXNzaW9uSTMyKGNvbnRleHQsIG9wKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CkBAIC03MjQsNiArNzIzLDIyIEBAIENv
bnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VSZWxhdGlvbmFsRjY0RXhw
cmVzc2lvbkkzMihDb250ZXh0JiBjCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29u
dGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZU1pbk9yTWF4RXhwcmVzc2lv
bkkzMihDb250ZXh0JiBjb250ZXh0LCBXQVNNT3BFeHByZXNzaW9uSTMyIG9wKQoreworICAgIHVp
bnQzMl90IG51bWJlck9mQXJndW1lbnRzOworICAgIFJFQURfQ09NUEFDVF9VSU5UMzJfT1JfRkFJ
TChudW1iZXJPZkFyZ3VtZW50cywgIkNhbm5vdCByZWFkIHRoZSBudW1iZXIgb2YgYXJndW1lbnRz
IHRvIG1pbi9tYXguIik7CisgICAgRkFJTF9JRl9GQUxTRShudW1iZXJPZkFyZ3VtZW50cyA+PSAy
LCAiTWluL21heCBtdXN0IGJlIHBhc3NlZCBhdCBsZWFzdCAyIGFyZ3VtZW50cy4iKTsKKyAgICBD
b250ZXh0RXhwcmVzc2lvbiBjdXJyZW50ID0gcGFyc2VFeHByZXNzaW9uSTMyKGNvbnRleHQpOwor
ICAgIFBST1BBR0FURV9FUlJPUigpOworICAgIGZvciAodWludDMyX3QgaSA9IDE7IGkgPCBudW1i
ZXJPZkFyZ3VtZW50czsgKytpKSB7CisgICAgICAgIENvbnRleHRFeHByZXNzaW9uIGV4cHJlc3Np
b24gPSBwYXJzZUV4cHJlc3Npb25JMzIoY29udGV4dCk7CisgICAgICAgIFBST1BBR0FURV9FUlJP
UigpOworICAgICAgICBjdXJyZW50ID0gY29udGV4dC5idWlsZE1pbk9yTWF4STMyKGN1cnJlbnQs
IGV4cHJlc3Npb24sIG9wKTsKKyAgICB9CisgICAgcmV0dXJuIGN1cnJlbnQ7Cit9CisKK3RlbXBs
YXRlIDxjbGFzcyBDb250ZXh0PgogQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2Vy
OjpwYXJzZUV4cHJlc3Npb25GMzIoQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBib29sIGhhc0lt
bWVkaWF0ZTsKQEAgLTkwNSw4ICs5MjAsNyBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rp
b25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0KQogICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkNvbmRpdGlvbmFsOgogICAgICAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25GNjQ6Ok1pbjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpN
YXg6Ci0gICAgICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4K
LSAgICAgICAgICAgIEZBSUxfV0lUSF9NRVNTQUdFKCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4i
KTsKKyAgICAgICAgICAgIHJldHVybiBwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkY2NChjb250ZXh0
LCBvcCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgfQpAQCAtOTY1LDYgKzk3OSwyMiBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlQmluYXJ5RXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0
LAogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01G
dW5jdGlvblBhcnNlcjo6cGFyc2VNaW5Pck1heEV4cHJlc3Npb25GNjQoQ29udGV4dCYgY29udGV4
dCwgV0FTTU9wRXhwcmVzc2lvbkY2NCBvcCkKK3sKKyAgICB1aW50MzJfdCBudW1iZXJPZkFyZ3Vt
ZW50czsKKyAgICBSRUFEX0NPTVBBQ1RfVUlOVDMyX09SX0ZBSUwobnVtYmVyT2ZBcmd1bWVudHMs
ICJDYW5ub3QgcmVhZCB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBtaW4vbWF4LiIpOworICAg
IEZBSUxfSUZfRkFMU0UobnVtYmVyT2ZBcmd1bWVudHMgPj0gMiwgIk1pbi9tYXggbXVzdCBiZSBw
YXNzZWQgYXQgbGVhc3QgMiBhcmd1bWVudHMuIik7CisgICAgQ29udGV4dEV4cHJlc3Npb24gY3Vy
cmVudCA9IHBhcnNlRXhwcmVzc2lvbkY2NChjb250ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1Io
KTsKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAxOyBpIDwgbnVtYmVyT2ZBcmd1bWVudHM7ICsraSkg
eworICAgICAgICBDb250ZXh0RXhwcmVzc2lvbiBleHByZXNzaW9uID0gcGFyc2VFeHByZXNzaW9u
RjY0KGNvbnRleHQpOworICAgICAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICAgICAgY3VycmVu
dCA9IGNvbnRleHQuYnVpbGRNaW5Pck1heEY2NChjdXJyZW50LCBleHByZXNzaW9uLCBvcCk7Cisg
ICAgfQorICAgIHJldHVybiBjdXJyZW50OworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4K
IENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uVm9p
ZChDb250ZXh0JiBjb250ZXh0KQogewogICAgIFdBU01PcEV4cHJlc3Npb25Wb2lkIG9wOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaAppbmRleCA1
MGEzZGY5Mzc5ZTcwMjI4NzI3NjQ2NjY0MWY3YmQ3MmNlZTZhZjY4Li44ZWJkYmNjN2RmNzNlZjQ0
MjAwNDRhMjZjZTQ0Nzc4OTE5ZTFiZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaApAQCAtODgsNiArODgsNyBAQCBwcml2YXRlOgogICAg
IHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVJlbGF0aW9u
YWxJMzJFeHByZXNzaW9uSTMyKENvbnRleHQmLCBXQVNNT3BFeHByZXNzaW9uSTMyKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VSZWxhdGlvbmFs
RjMyRXhwcmVzc2lvbkkzMihDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lvbkkzMik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlUmVsYXRpb25hbEY2
NEV4cHJlc3Npb25JMzIoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Npb25JMzIpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZU1pbk9yTWF4RXhwcmVz
c2lvbkkzMihDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lvbkkzMik7CiAKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VFeHByZXNzaW9uRjMyKENvbnRl
eHQmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFy
c2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25GMzIoQ29udGV4dCYsIHVpbnQzMl90IGNvbnN0
YW50SW5kZXgpOwpAQCAtMTAyLDYgKzEwMyw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNs
YXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlSW1tZWRpYXRlRXhwcmVzc2lvbkY2
NChDb250ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNz
aW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uRjY0KENvbnRleHQmLCBXQVNNT3BFeHByZXNzaW9uRjY0
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VC
aW5hcnlFeHByZXNzaW9uRjY0KENvbnRleHQmLCBXQVNNT3BFeHByZXNzaW9uRjY0KTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VNaW5Pck1heEV4
cHJlc3Npb25GNjQoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Npb25GNjQpOwogCiAgICAgdGVtcGxh
dGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlRXhwcmVzc2lvblZvaWQo
Q29udGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25TeW50YXhDaGVja2VyLmgKaW5kZXggMmM0MTAzZmM0MWY3NTM4MTU0YjNmODUxYzQ0
MTIyZjM0ODUyNDA2MC4uNzM5MDU5YzgwMTNmYTkyZjFiZTkzODlmNGEzYzEwOGMyZjFhZTVhMCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4
Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5
bnRheENoZWNrZXIuaApAQCAtMTc4LDYgKzE3OCwxOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBVTlVTRUQ7CiAgICAgfQogCisgICAgaW50IGJ1aWxkTWluT3JNYXhJMzIoaW50LCBpbnQsIFdB
U01PcEV4cHJlc3Npb25JMzIpCisgICAgeworICAgICAgICBtX3RlbXBTdGFja1RvcC0tOworICAg
ICAgICByZXR1cm4gVU5VU0VEOworICAgIH0KKworICAgIGludCBidWlsZE1pbk9yTWF4RjY0KGlu
dCwgaW50LCBXQVNNT3BFeHByZXNzaW9uRjY0KQorICAgIHsKKyAgICAgICAgbV90ZW1wU3RhY2tU
b3AtLTsKKyAgICAgICAgcmV0dXJuIFVOVVNFRDsKKyAgICB9CisKICAgICBpbnQgYnVpbGRDYWxs
SW50ZXJuYWwodWludDMyX3QsIGludCwgY29uc3QgV0FTTVNpZ25hdHVyZSYgc2lnbmF0dXJlLCBX
QVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSkKICAgICB7CiAgICAgICAgIHNpemVfdCBhcmd1
bWVudENvdW50ID0gc2lnbmF0dXJlLmFyZ3VtZW50cy5zaXplKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261737</attachid>
            <date>2015-09-22 03:30:29 -0700</date>
            <delta_ts>2015-09-22 12:21:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149454-20150922033123.patch</filename>
            <type>text/plain</type>
            <size>13896</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YWU4MDE1OGFlMjhlOWNhOWRkYTk3M2ExMTFkMTliMjc0YzdjZDBiLi5lNWMwYzUwNDlmMjA1OGJi
ODUzYjFjM2FkMWQ3NDVkYjY4MDZiOTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNS0wOS0yMiAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgbWluIGFuZCBtYXggaW5zdHJ1Y3Rpb25zIGlu
IFdlYkFzc2VtYmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDk0NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgbWluIGFuZCBtYXggaW5zdHJ1Y3Rpb25zIGluIFdl
YkFzc2VtYmx5LgorCisgICAgICAgICogdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1mbG9h
dDY0LmpzOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtaW50MzIuanM6
CisgICAgICAgICogdGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1mbG9hdDY0Lndhc206Cisg
ICAgICAgICogdGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1pbnQzMi53YXNtOgorICAgICAg
ICAqIHdhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0
aW9uQ29tcGlsZXI6OmJ1aWxkTWluT3JNYXhJMzIpOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rp
b25Db21waWxlcjo6YnVpbGRNaW5Pck1heEY2NCk6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhw
cmVzc2lvbkkzMik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VNaW5P
ck1heEV4cHJlc3Npb25JMzIpOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlRXhwcmVzc2lvbkY2NCk6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFy
c2VNaW5Pck1heEV4cHJlc3Npb25GNjQpOgorICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFy
c2VyLmg6CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmg6CisgICAg
ICAgIChKU0M6OldBU01GdW5jdGlvblN5bnRheENoZWNrZXI6OmJ1aWxkTWluT3JNYXhJMzIpOgor
ICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyOjpidWlsZE1pbk9yTWF4RjY0
KToKKwogMjAxNS0wOS0yMiAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBCYXNpYyBCbG9jayBBbm5vdGF0aW9ucyBhbmQgVHlwZSBQcm9m
aWxlciBhbm5vdGF0aW9ucyB3cm9uZyBmb3Igc2NyaXB0IHdpdGggImNsYXNzIiB3aXRoIGRlZmF1
bHQgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0NjQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1mbG9hdDY0LmpzCmluZGV4IGMwOWMyYzljMDQ4
ZWMyYzQ4YTUwMTNmNTljZTdmNzIwZjdjYTg4N2IuLmIwYjNjYWEyMzQyYTZjZWZhMDhhMjI3NjAy
MmIxODI5ZTU4NGQ4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0NjQuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMtZmxvYXQ2NC5qcwpAQCAtMjUsNiArMjUs
OCBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgIHZhciBl
eHAgPSBnbG9iYWwuTWF0aC5leHA7CiAgICAgdmFyIGxvZyA9IGdsb2JhbC5NYXRoLmxvZzsKICAg
ICB2YXIgcG93ID0gZ2xvYmFsLk1hdGgucG93OworICAgIHZhciBtaW4gPSBnbG9iYWwuTWF0aC5t
aW47CisgICAgdmFyIG1heCA9IGdsb2JhbC5NYXRoLm1heDsKIAogICAgIGZ1bmN0aW9uIG51bWJl
cigpIHsKICAgICAgICAgcmV0dXJuIDQuMjsKQEAgLTEzNyw2ICsxMzksMjAgQEAgZnVuY3Rpb24g
YXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKICAgICAgICAgcmV0dXJuIHBvdyh4LCB5
KTsKICAgICB9CiAKKyAgICBmdW5jdGlvbiBtaW5pbXVtKHgsIHksIHopIHsKKyAgICAgICAgeCA9
ICt4OworICAgICAgICB5ID0gK3k7CisgICAgICAgIHogPSArejsKKyAgICAgICAgcmV0dXJuIG1p
bih4LCB5LCB6KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBtYXhpbXVtKHgsIHksIHopIHsKKyAg
ICAgICAgeCA9ICt4OworICAgICAgICB5ID0gK3k7CisgICAgICAgIHogPSArejsKKyAgICAgICAg
cmV0dXJuIG1heCh4LCB5LCB6KTsKKyAgICB9CisKICAgICByZXR1cm4gewogICAgICAgICBudW1i
ZXI6IG51bWJlciwKICAgICAgICAgbmVnYXRlOiBuZWdhdGUsCkBAIC0xNTksNiArMTc1LDggQEAg
ZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKICAgICAgICAgZXhwb25l
bnRpYWw6IGV4cG9uZW50aWFsLAogICAgICAgICBsb2dhcml0aG06IGxvZ2FyaXRobSwKICAgICAg
ICAgcG93ZXI6IHBvd2VyLAorICAgICAgICBtaW5pbXVtOiBtaW5pbXVtLAorICAgICAgICBtYXhp
bXVtOiBtYXhpbXVtLAogICAgIH07CiB9CiAqLwpAQCAtMTkzLDMgKzIxMSw1IEBAIHNob3VsZEJl
KG1vZHVsZS5hcmN0YW5nZW50MigxLCAwKSwgTWF0aC5QSSAvIDIpOwogc2hvdWxkQmUobW9kdWxl
LmV4cG9uZW50aWFsKDEpLCBNYXRoLkUpOwogc2hvdWxkQmUobW9kdWxlLmxvZ2FyaXRobShNYXRo
LkUpLCAxKTsKIHNob3VsZEJlKG1vZHVsZS5wb3dlcig0LCAxLjUpLCA4KTsKK3Nob3VsZEJlKG1v
ZHVsZS5taW5pbXVtKDAuMSwgLTAuMiwgMC4zKSwgLTAuMik7CitzaG91bGRCZShtb2R1bGUubWF4
aW11bSgwLjEsIC0wLjIsIDAuMyksIDAuMyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1pbnQzMi5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWludDMyLmpzCmluZGV4IGJi
OGVlNjMxNzcxZTFlMjJlZWYwYmM5ODRlZTU2OTE3MWRmZDYyN2EuLmI3NTBmNjg2MzQyYzAzMjM5
NmMwNDAxMjgyNTgwNGYyYmY1ZDUyODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWludDMyLmpzCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWludDMyLmpzCkBAIC0yNyw2
ICsyNyw4IEBAIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CiAgICAg
dmFyIGNsejMyID0gZ2xvYmFsLk1hdGguY2x6MzI7CiAgICAgdmFyIGltdWwgPSBnbG9iYWwuTWF0
aC5pbXVsOwogICAgIHZhciBhYnMgPSBnbG9iYWwuTWF0aC5hYnM7CisgICAgdmFyIG1pbiA9IGds
b2JhbC5NYXRoLm1pbjsKKyAgICB2YXIgbWF4ID0gZ2xvYmFsLk1hdGgubWF4OwogCiAgICAgZnVu
Y3Rpb24gbmVnYXRlKHgpIHsKICAgICAgICAgeCA9IHggfCAwOwpAQCAtMTMxLDYgKzEzMywyMCBA
QCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgICAgICByZXR1
cm4gYWJzKHggfCAwKSB8IDA7CiAgICAgfQogCisgICAgZnVuY3Rpb24gbWluaW11bSh4LCB5LCB6
KSB7CisgICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAgeSA9IHkgfCAwOworICAgICAgICB6ID0g
eiB8IDA7CisgICAgICAgIHJldHVybiBtaW4oeCB8IDAsIHkgfCAwLCB6IHwgMCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gbWF4aW11bSh4LCB5LCB6KSB7CisgICAgICAgIHggPSB4IHwgMDsKKyAg
ICAgICAgeSA9IHkgfCAwOworICAgICAgICB6ID0geiB8IDA7CisgICAgICAgIHJldHVybiBtYXgo
eCB8IDAsIHkgfCAwLCB6IHwgMCk7CisgICAgfQorCiAgICAgcmV0dXJuIHsKICAgICAgICAgbmVn
YXRlOiBuZWdhdGUsCiAgICAgICAgIGFkZDogYWRkLApAQCAtMTUwLDYgKzE2Niw4IEBAIGZ1bmN0
aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CiAgICAgICAgIGNvdW50TGVhZGlu
Z1plcm9zOiBjb3VudExlYWRpbmdaZXJvcywKICAgICAgICAgbG9naWNhbE5vdDogbG9naWNhbE5v
dCwKICAgICAgICAgYWJzb2x1dGU6IGFic29sdXRlLAorICAgICAgICBtaW5pbXVtOiBtaW5pbXVt
LAorICAgICAgICBtYXhpbXVtOiBtYXhpbXVtLAogICAgIH07CiB9CiAqLwpAQCAtMTk4LDMgKzIx
Niw1IEBAIHNob3VsZEJlKG1vZHVsZS5sb2dpY2FsTm90KDQyKSwgMCk7CiBzaG91bGRCZShtb2R1
bGUubG9naWNhbE5vdCgwKSwgMSk7CiBzaG91bGRCZShtb2R1bGUuYWJzb2x1dGUoLTQyKSwgNDIp
Owogc2hvdWxkQmUobW9kdWxlLmFic29sdXRlKDQyKSwgNDIpOworc2hvdWxkQmUobW9kdWxlLm1p
bmltdW0oMSwgLTIsIDMpLCAtMik7CitzaG91bGRCZShtb2R1bGUubWF4aW11bSgxLCAtMiwgMyks
IDMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNt
L2FyaXRobWV0aWMtZmxvYXQ2NC53YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy93YXNtL2FyaXRobWV0aWMtZmxvYXQ2NC53YXNtCmluZGV4IDdiNWZmMjk5MGYzNTQwNWI5
ZmM2ZjJmODFlYjUwY2IxZWRhY2E0Y2QuLmEzODNmNDM0MzQ5NGZjZWVmNjJkMWRlMTEzZTg4NmEz
ZDM5NzBhMjggMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTA3CnpjbWV5dHcyO31WSmgz
PnBtN01fdVNlT2A/N0A1Rjs4QXlWfmZQXj4kTTM0fjxtPjN6RW4zKlJVUnxxdlFAPUd1OwpnU2h4
c0NPTSstZEByaTNzMyp+MCFXIypSVkdLbDZUUik4NXwwMFJPT0hVSXpzCgpkZWx0YSA2NQp6Y21a
Mzt7RGFCM0poMz9VS058eEdGZiViUUYqMVB3bTx1RkM4NmJRe0lBQ0lBV1NWR0khTmUjIUB5S1ph
QyNERVkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dh
c20vYXJpdGhtZXRpYy1pbnQzMi53YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy93YXNtL2FyaXRobWV0aWMtaW50MzIud2FzbQppbmRleCA1NDc2M2VlOWRhMWYzOGU5MGZk
YWVlYTNjNWYyMTkwYjM3M2YwYzFmLi42YjJhOWVhMjc5ODFkZGZjMDJmN2Y4YTk2YmM0ZGUxNGNm
OTY3ODM4IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDEwMgp6Y21hRkwpVz5YRW8+LWlf
aT02PWttPkMhdTc/ezhlRmRzfmFGZmMqQGxtLWVpRi1fRlY1TmNyTGNWUndvQERQeDgKYjFKUjVr
Nks5K2klRldFbiVxYDdqNVh3IWcwNWdPRTBucm95CgpkZWx0YSA2MApzY21lQlVlIylkKm8+LWhL
JElidShPYm09NTB1Rj4yNyRFPmsxMF5QIVctdWBkTzxhRSMwTSZzOF95N09eCgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKaW5kZXggZTdj
MTUyOGY3YTAxY2U2MzFjNTU1NTQ2MjkwN2FkYzYxNmRlYTRhYS4uN2Q1NzBmNTliNTRkNDRhODhl
MzFmMjI1NDVlYTM4Mjg2MDg0Y2M2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCkBAIC0xMDEwLDYgKzEwMTAsNTYgQEAgcHVibGlj
OgogICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIAorICAgIGludCBidWlsZE1pbk9yTWF4
STMyKGludCwgaW50LCBXQVNNT3BFeHByZXNzaW9uSTMyIG9wKQorICAgIHsKKyAgICAgICAgbG9h
ZDMyKHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3AgLSAyKSwgR1BSSW5mbzo6cmVnVDAp
OworICAgICAgICBsb2FkMzIodGVtcG9yYXJ5QWRkcmVzcyhtX3RlbXBTdGFja1RvcCAtIDEpLCBH
UFJJbmZvOjpyZWdUMSk7CisgICAgICAgIFJlbGF0aW9uYWxDb25kaXRpb24gY29uZGl0aW9uOwor
ICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6
U01pbjoKKyAgICAgICAgICAgIGNvbmRpdGlvbiA9IExlc3NUaGFuT3JFcXVhbDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVNaW46CisgICAg
ICAgICAgICBjb25kaXRpb24gPSBCZWxvd09yRXF1YWw7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTWF4OgorICAgICAgICAgICAgY29uZGl0
aW9uID0gR3JlYXRlclRoYW5PckVxdWFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1heDoKKyAgICAgICAgICAgIGNvbmRpdGlvbiA9IEFi
b3ZlT3JFcXVhbDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQorICAgICAgICBK
dW1wIHVzZUxlZnQgPSBicmFuY2gzMihjb25kaXRpb24sIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZv
OjpyZWdUMSk7CisgICAgICAgIHN0b3JlMzIoR1BSSW5mbzo6cmVnVDEsIHRlbXBvcmFyeUFkZHJl
c3MobV90ZW1wU3RhY2tUb3AgLSAyKSk7CisgICAgICAgIHVzZUxlZnQubGluayh0aGlzKTsKKyAg
ICAgICAgbV90ZW1wU3RhY2tUb3AtLTsKKyAgICAgICAgcmV0dXJuIFVOVVNFRDsKKyAgICB9CisK
KyAgICBpbnQgYnVpbGRNaW5Pck1heEY2NChpbnQsIGludCwgV0FTTU9wRXhwcmVzc2lvbkY2NCBv
cCkKKyAgICB7CisgICAgICAgIGxvYWREb3VibGUodGVtcG9yYXJ5QWRkcmVzcyhtX3RlbXBTdGFj
a1RvcCAtIDIpLCBGUFJJbmZvOjpmcFJlZ1QwKTsKKyAgICAgICAgbG9hZERvdWJsZSh0ZW1wb3Jh
cnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMSksIEZQUkluZm86OmZwUmVnVDEpOworICAgICAg
ICBEb3VibGVDb25kaXRpb24gY29uZGl0aW9uOworICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAg
ICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6TWluOgorICAgICAgICAgICAgY29uZGl0aW9u
ID0gRG91YmxlTGVzc1RoYW5PckVxdWFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6TWF4OgorICAgICAgICAgICAgY29uZGl0aW9uID0gRG91
YmxlR3JlYXRlclRoYW5PckVxdWFsOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9
CisgICAgICAgIEp1bXAgdXNlTGVmdCA9IGJyYW5jaERvdWJsZShjb25kaXRpb24sIEZQUkluZm86
OmZwUmVnVDAsIEZQUkluZm86OmZwUmVnVDEpOworICAgICAgICBzdG9yZURvdWJsZShGUFJJbmZv
OjpmcFJlZ1QxLCB0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMikpOworICAgICAg
ICB1c2VMZWZ0LmxpbmsodGhpcyk7CisgICAgICAgIG1fdGVtcFN0YWNrVG9wLS07CisgICAgICAg
IHJldHVybiBVTlVTRUQ7CisgICAgfQorCiAgICAgaW50IGJ1aWxkQ2FsbEludGVybmFsKHVpbnQz
Ml90IGZ1bmN0aW9uSW5kZXgsIGludCwgY29uc3QgV0FTTVNpZ25hdHVyZSYgc2lnbmF0dXJlLCBX
QVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSkKICAgICB7CiAgICAgICAgIGJveEFyZ3VtZW50
c0FuZEFkanVzdFN0YWNrUG9pbnRlcihzaWduYXR1cmUuYXJndW1lbnRzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCmluZGV4IGE4YWI5
YzIxNTNjNzEzODJjNTNlNmFiMWE3ZjZiYzkyZjQ1ZmMxZDYuLmZlNzAzODU3ZGVlM2NhMzMzNTA4
MzI0NzQxNmYyMTAzN2EyZmY0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAtNjIxLDExICs2MjEsMTIgQEAgQ29udGV4dEV4
cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25JMzIoQ29udGV4dCYg
Y29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbkY2
NDoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbk9yRXF1YWxG
NjQ6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGlvbmFsRjY0RXhwcmVzc2lvbkkzMihj
b250ZXh0LCBvcCk7Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Q29uZGl0aW9u
YWw6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01pbjoKICAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpVTWluOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Np
b25JMzI6OlNNYXg6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1heDoKKyAg
ICAgICAgICAgIHJldHVybiBwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7
CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6Q29uZGl0aW9uYWw6CiAgICAgICAg
ICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4KICAgICAgICAgICAg
IEZBSUxfV0lUSF9NRVNTQUdFKCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4iKTsKICAgICAgICAg
ZGVmYXVsdDoKQEAgLTcyNCw2ICs3MjUsMjIgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZVJlbGF0aW9uYWxGNjRFeHByZXNzaW9uSTMyKENvbnRleHQmIGMKIH0K
IAogdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rp
b25QYXJzZXI6OnBhcnNlTWluT3JNYXhFeHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQsIFdB
U01PcEV4cHJlc3Npb25JMzIgb3ApCit7CisgICAgdWludDMyX3QgbnVtYmVyT2ZBcmd1bWVudHM7
CisgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKG51bWJlck9mQXJndW1lbnRzLCAiQ2Fu
bm90IHJlYWQgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgdG8gbWluL21heC4iKTsKKyAgICBGQUlM
X0lGX0ZBTFNFKG51bWJlck9mQXJndW1lbnRzID49IDIsICJNaW4vbWF4IG11c3QgYmUgcGFzc2Vk
IGF0IGxlYXN0IDIgYXJndW1lbnRzLiIpOworICAgIENvbnRleHRFeHByZXNzaW9uIGN1cnJlbnQg
PSBwYXJzZUV4cHJlc3Npb25JMzIoY29udGV4dCk7CisgICAgUFJPUEFHQVRFX0VSUk9SKCk7Cisg
ICAgZm9yICh1aW50MzJfdCBpID0gMTsgaSA8IG51bWJlck9mQXJndW1lbnRzOyArK2kpIHsKKyAg
ICAgICAgQ29udGV4dEV4cHJlc3Npb24gZXhwcmVzc2lvbiA9IHBhcnNlRXhwcmVzc2lvbkkzMihj
b250ZXh0KTsKKyAgICAgICAgUFJPUEFHQVRFX0VSUk9SKCk7CisgICAgICAgIGN1cnJlbnQgPSBj
b250ZXh0LmJ1aWxkTWluT3JNYXhJMzIoY3VycmVudCwgZXhwcmVzc2lvbiwgb3ApOworICAgIH0K
KyAgICByZXR1cm4gY3VycmVudDsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CiBDb250
ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkYzMihDb250
ZXh0JiBjb250ZXh0KQogewogICAgIGJvb2wgaGFzSW1tZWRpYXRlOwpAQCAtOTAyLDkgKzkxOSwx
MCBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lv
bkY2NChDb250ZXh0JiBjb250ZXh0KQogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6
OkFUYW4yOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OlBvdzoKICAgICAgICAg
ICAgIHJldHVybiBwYXJzZUJpbmFyeUV4cHJlc3Npb25GNjQoY29udGV4dCwgb3ApOwotICAgICAg
ICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkNvbmRpdGlvbmFsOgogICAgICAgICBjYXNlIFdB
U01PcEV4cHJlc3Npb25GNjQ6Ok1pbjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0
OjpNYXg6CisgICAgICAgICAgICByZXR1cm4gcGFyc2VNaW5Pck1heEV4cHJlc3Npb25GNjQoY29u
dGV4dCwgb3ApOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OkNvbmRpdGlvbmFs
OgogICAgICAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGVzZSBpbnN0cnVjdGlvbnMuCiAg
ICAgICAgICAgICBGQUlMX1dJVEhfTUVTU0FHRSgiVW5zdXBwb3J0ZWQgaW5zdHJ1Y3Rpb24uIik7
CiAgICAgICAgIGRlZmF1bHQ6CkBAIC05NjUsNiArOTgzLDIyIEBAIENvbnRleHRFeHByZXNzaW9u
IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VCaW5hcnlFeHByZXNzaW9uRjY0KENvbnRleHQmIGNv
bnRleHQsCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgorQ29udGV4dEV4cHJlc3Npb24g
V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkY2NChDb250ZXh0JiBj
b250ZXh0LCBXQVNNT3BFeHByZXNzaW9uRjY0IG9wKQoreworICAgIHVpbnQzMl90IG51bWJlck9m
QXJndW1lbnRzOworICAgIFJFQURfQ09NUEFDVF9VSU5UMzJfT1JfRkFJTChudW1iZXJPZkFyZ3Vt
ZW50cywgIkNhbm5vdCByZWFkIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHRvIG1pbi9tYXguIik7
CisgICAgRkFJTF9JRl9GQUxTRShudW1iZXJPZkFyZ3VtZW50cyA+PSAyLCAiTWluL21heCBtdXN0
IGJlIHBhc3NlZCBhdCBsZWFzdCAyIGFyZ3VtZW50cy4iKTsKKyAgICBDb250ZXh0RXhwcmVzc2lv
biBjdXJyZW50ID0gcGFyc2VFeHByZXNzaW9uRjY0KGNvbnRleHQpOworICAgIFBST1BBR0FURV9F
UlJPUigpOworICAgIGZvciAodWludDMyX3QgaSA9IDE7IGkgPCBudW1iZXJPZkFyZ3VtZW50czsg
KytpKSB7CisgICAgICAgIENvbnRleHRFeHByZXNzaW9uIGV4cHJlc3Npb24gPSBwYXJzZUV4cHJl
c3Npb25GNjQoY29udGV4dCk7CisgICAgICAgIFBST1BBR0FURV9FUlJPUigpOworICAgICAgICBj
dXJyZW50ID0gY29udGV4dC5idWlsZE1pbk9yTWF4RjY0KGN1cnJlbnQsIGV4cHJlc3Npb24sIG9w
KTsKKyAgICB9CisgICAgcmV0dXJuIGN1cnJlbnQ7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBDb250
ZXh0PgogQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Np
b25Wb2lkKENvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgV0FTTU9wRXhwcmVzc2lvblZvaWQgb3A7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJz
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCmlu
ZGV4IDUwYTNkZjkzNzllNzAyMjg3Mjc2NDY2NjQxZjdiZDcyY2VlNmFmNjguLjhlYmRiY2M3ZGY3
M2VmNDQyMDA0NGEyNmNlNDQ3Nzg5MTllMWJkMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5oCkBAIC04OCw2ICs4OCw3IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlUmVs
YXRpb25hbEkzMkV4cHJlc3Npb25JMzIoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Npb25JMzIpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVJlbGF0
aW9uYWxGMzJFeHByZXNzaW9uSTMyKENvbnRleHQmLCBXQVNNT3BFeHByZXNzaW9uSTMyKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VSZWxhdGlv
bmFsRjY0RXhwcmVzc2lvbkkzMihDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lvbkkzMik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlTWluT3JNYXhF
eHByZXNzaW9uSTMyKENvbnRleHQmLCBXQVNNT3BFeHByZXNzaW9uSTMyKTsKIAogICAgIHRlbXBs
YXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUV4cHJlc3Npb25GMzIo
Q29udGV4dCYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lv
biBwYXJzZUNvbnN0YW50UG9vbEluZGV4RXhwcmVzc2lvbkYzMihDb250ZXh0JiwgdWludDMyX3Qg
Y29uc3RhbnRJbmRleCk7CkBAIC0xMDIsNiArMTAzLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VJbW1lZGlhdGVFeHByZXNz
aW9uRjY0KENvbnRleHQmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4
cHJlc3Npb24gcGFyc2VVbmFyeUV4cHJlc3Npb25GNjQoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Np
b25GNjQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBw
YXJzZUJpbmFyeUV4cHJlc3Npb25GNjQoQ29udGV4dCYsIFdBU01PcEV4cHJlc3Npb25GNjQpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZU1pbk9y
TWF4RXhwcmVzc2lvbkY2NChDb250ZXh0JiwgV0FTTU9wRXhwcmVzc2lvbkY2NCk7CiAKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VFeHByZXNzaW9u
Vm9pZChDb250ZXh0Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaAppbmRleCAyYzQxMDNmYzQxZjc1MzgxNTRiM2Y4
NTFjNDQxMjJmMzQ4NTI0MDYwLi43MzkwNTljODAxM2ZhOTJmMWJlOTM4OWY0YTNjMTA4YzJmMWFl
NWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25T
eW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uU3ludGF4Q2hlY2tlci5oCkBAIC0xNzgsNiArMTc4LDE4IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIFVOVVNFRDsKICAgICB9CiAKKyAgICBpbnQgYnVpbGRNaW5Pck1heEkzMihpbnQsIGlu
dCwgV0FTTU9wRXhwcmVzc2lvbkkzMikKKyAgICB7CisgICAgICAgIG1fdGVtcFN0YWNrVG9wLS07
CisgICAgICAgIHJldHVybiBVTlVTRUQ7CisgICAgfQorCisgICAgaW50IGJ1aWxkTWluT3JNYXhG
NjQoaW50LCBpbnQsIFdBU01PcEV4cHJlc3Npb25GNjQpCisgICAgeworICAgICAgICBtX3RlbXBT
dGFja1RvcC0tOworICAgICAgICByZXR1cm4gVU5VU0VEOworICAgIH0KKwogICAgIGludCBidWls
ZENhbGxJbnRlcm5hbCh1aW50MzJfdCwgaW50LCBjb25zdCBXQVNNU2lnbmF0dXJlJiBzaWduYXR1
cmUsIFdBU01FeHByZXNzaW9uVHlwZSByZXR1cm5UeXBlKQogICAgIHsKICAgICAgICAgc2l6ZV90
IGFyZ3VtZW50Q291bnQgPSBzaWduYXR1cmUuYXJndW1lbnRzLnNpemUoKTsK
</data>
<flag name="review"
          id="286927"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="286942"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261759</attachid>
            <date>2015-09-22 12:21:53 -0700</date>
            <delta_ts>2015-09-22 13:12:04 -0700</delta_ts>
            <desc>Update to ToT</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>13405</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNkYTNkNGJkMjUwMGYyODc2ZWM4MjlkZDRjNWEw
NmMwZGQ1NDQyZDcuLjcxYWQyY2E3NzQzN2FjZDQ3MWZhNWRkZmU0MGZjYjI0NjIxZjBkZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA5LTIyICBTdWtv
bHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBtaW4gYW5kIG1heCBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTQ1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBt
aW4gYW5kIG1heCBpbnN0cnVjdGlvbnMgaW4gV2ViQXNzZW1ibHkuCisKKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0NjQuanM6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL3dhc20tYXJpdGhtZXRpYy1pbnQzMi5qczoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2Fz
bS9hcml0aG1ldGljLWZsb2F0NjQud2FzbToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS9h
cml0aG1ldGljLWludDMyLndhc206CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25Db21waWxl
ci5oOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25Db21waWxlcjo6YnVpbGRNaW5Pck1heEkz
Mik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvbkNvbXBpbGVyOjpidWlsZE1pbk9yTWF4RjY0
KToKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uSTMyKToKKyAgICAgICAgKEpTQzo6
V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkkzMik6CisgICAgICAg
IChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjY0KToKKyAgICAgICAg
KEpTQzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkY2NCk6Cisg
ICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAgICAgKiB3YXNtL1dBU01G
dW5jdGlvblN5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uU3ludGF4
Q2hlY2tlcjo6YnVpbGRNaW5Pck1heEkzMik6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblN5
bnRheENoZWNrZXI6OmJ1aWxkTWluT3JNYXhGNjQpOgorCiAyMDE1LTA5LTIyICBTdWtvbHNhayBT
YWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB0aGUg
Y29uZGl0aW9uYWwgaW5zdHJ1Y3Rpb24gaW4gV2ViQXNzZW1ibHkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0NjQuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRpYy1mbG9h
dDY0LmpzCmluZGV4IGMwOWMyYzljMDQ4ZWMyYzQ4YTUwMTNmNTljZTdmNzIwZjdjYTg4N2IuLmIw
YjNjYWEyMzQyYTZjZWZhMDhhMjI3NjAyMmIxODI5ZTU4NGQ4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWZsb2F0NjQuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWFyaXRobWV0aWMt
ZmxvYXQ2NC5qcwpAQCAtMjUsNiArMjUsOCBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBl
bnYsIGJ1ZmZlcikgewogICAgIHZhciBleHAgPSBnbG9iYWwuTWF0aC5leHA7CiAgICAgdmFyIGxv
ZyA9IGdsb2JhbC5NYXRoLmxvZzsKICAgICB2YXIgcG93ID0gZ2xvYmFsLk1hdGgucG93OworICAg
IHZhciBtaW4gPSBnbG9iYWwuTWF0aC5taW47CisgICAgdmFyIG1heCA9IGdsb2JhbC5NYXRoLm1h
eDsKIAogICAgIGZ1bmN0aW9uIG51bWJlcigpIHsKICAgICAgICAgcmV0dXJuIDQuMjsKQEAgLTEz
Nyw2ICsxMzksMjAgQEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsK
ICAgICAgICAgcmV0dXJuIHBvdyh4LCB5KTsKICAgICB9CiAKKyAgICBmdW5jdGlvbiBtaW5pbXVt
KHgsIHksIHopIHsKKyAgICAgICAgeCA9ICt4OworICAgICAgICB5ID0gK3k7CisgICAgICAgIHog
PSArejsKKyAgICAgICAgcmV0dXJuIG1pbih4LCB5LCB6KTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBtYXhpbXVtKHgsIHksIHopIHsKKyAgICAgICAgeCA9ICt4OworICAgICAgICB5ID0gK3k7Cisg
ICAgICAgIHogPSArejsKKyAgICAgICAgcmV0dXJuIG1heCh4LCB5LCB6KTsKKyAgICB9CisKICAg
ICByZXR1cm4gewogICAgICAgICBudW1iZXI6IG51bWJlciwKICAgICAgICAgbmVnYXRlOiBuZWdh
dGUsCkBAIC0xNTksNiArMTc1LDggQEAgZnVuY3Rpb24gYXNtTW9kdWxlKGdsb2JhbCwgZW52LCBi
dWZmZXIpIHsKICAgICAgICAgZXhwb25lbnRpYWw6IGV4cG9uZW50aWFsLAogICAgICAgICBsb2dh
cml0aG06IGxvZ2FyaXRobSwKICAgICAgICAgcG93ZXI6IHBvd2VyLAorICAgICAgICBtaW5pbXVt
OiBtaW5pbXVtLAorICAgICAgICBtYXhpbXVtOiBtYXhpbXVtLAogICAgIH07CiB9CiAqLwpAQCAt
MTkzLDMgKzIxMSw1IEBAIHNob3VsZEJlKG1vZHVsZS5hcmN0YW5nZW50MigxLCAwKSwgTWF0aC5Q
SSAvIDIpOwogc2hvdWxkQmUobW9kdWxlLmV4cG9uZW50aWFsKDEpLCBNYXRoLkUpOwogc2hvdWxk
QmUobW9kdWxlLmxvZ2FyaXRobShNYXRoLkUpLCAxKTsKIHNob3VsZEJlKG1vZHVsZS5wb3dlcig0
LCAxLjUpLCA4KTsKK3Nob3VsZEJlKG1vZHVsZS5taW5pbXVtKDAuMSwgLTAuMiwgMC4zKSwgLTAu
Mik7CitzaG91bGRCZShtb2R1bGUubWF4aW11bSgwLjEsIC0wLjIsIDAuMyksIDAuMyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tYXJpdGhtZXRp
Yy1pbnQzMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0
aG1ldGljLWludDMyLmpzCmluZGV4IGJiOGVlNjMxNzcxZTFlMjJlZWYwYmM5ODRlZTU2OTE3MWRm
ZDYyN2EuLmI3NTBmNjg2MzQyYzAzMjM5NmMwNDAxMjgyNTgwNGYyYmY1ZDUyODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0aG1ldGljLWlu
dDMyLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1hcml0
aG1ldGljLWludDMyLmpzCkBAIC0yNyw2ICsyNyw4IEBAIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9i
YWwsIGVudiwgYnVmZmVyKSB7CiAgICAgdmFyIGNsejMyID0gZ2xvYmFsLk1hdGguY2x6MzI7CiAg
ICAgdmFyIGltdWwgPSBnbG9iYWwuTWF0aC5pbXVsOwogICAgIHZhciBhYnMgPSBnbG9iYWwuTWF0
aC5hYnM7CisgICAgdmFyIG1pbiA9IGdsb2JhbC5NYXRoLm1pbjsKKyAgICB2YXIgbWF4ID0gZ2xv
YmFsLk1hdGgubWF4OwogCiAgICAgZnVuY3Rpb24gbmVnYXRlKHgpIHsKICAgICAgICAgeCA9IHgg
fCAwOwpAQCAtMTMxLDYgKzEzMywyMCBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBlbnYs
IGJ1ZmZlcikgewogICAgICAgICByZXR1cm4gYWJzKHggfCAwKSB8IDA7CiAgICAgfQogCisgICAg
ZnVuY3Rpb24gbWluaW11bSh4LCB5LCB6KSB7CisgICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAg
eSA9IHkgfCAwOworICAgICAgICB6ID0geiB8IDA7CisgICAgICAgIHJldHVybiBtaW4oeCB8IDAs
IHkgfCAwLCB6IHwgMCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbWF4aW11bSh4LCB5LCB6KSB7
CisgICAgICAgIHggPSB4IHwgMDsKKyAgICAgICAgeSA9IHkgfCAwOworICAgICAgICB6ID0geiB8
IDA7CisgICAgICAgIHJldHVybiBtYXgoeCB8IDAsIHkgfCAwLCB6IHwgMCk7CisgICAgfQorCiAg
ICAgcmV0dXJuIHsKICAgICAgICAgbmVnYXRlOiBuZWdhdGUsCiAgICAgICAgIGFkZDogYWRkLApA
QCAtMTUwLDYgKzE2Niw4IEBAIGZ1bmN0aW9uIGFzbU1vZHVsZShnbG9iYWwsIGVudiwgYnVmZmVy
KSB7CiAgICAgICAgIGNvdW50TGVhZGluZ1plcm9zOiBjb3VudExlYWRpbmdaZXJvcywKICAgICAg
ICAgbG9naWNhbE5vdDogbG9naWNhbE5vdCwKICAgICAgICAgYWJzb2x1dGU6IGFic29sdXRlLAor
ICAgICAgICBtaW5pbXVtOiBtaW5pbXVtLAorICAgICAgICBtYXhpbXVtOiBtYXhpbXVtLAogICAg
IH07CiB9CiAqLwpAQCAtMTk4LDMgKzIxNiw1IEBAIHNob3VsZEJlKG1vZHVsZS5sb2dpY2FsTm90
KDQyKSwgMCk7CiBzaG91bGRCZShtb2R1bGUubG9naWNhbE5vdCgwKSwgMSk7CiBzaG91bGRCZSht
b2R1bGUuYWJzb2x1dGUoLTQyKSwgNDIpOwogc2hvdWxkQmUobW9kdWxlLmFic29sdXRlKDQyKSwg
NDIpOworc2hvdWxkQmUobW9kdWxlLm1pbmltdW0oMSwgLTIsIDMpLCAtMik7CitzaG91bGRCZSht
b2R1bGUubWF4aW11bSgxLCAtMiwgMyksIDMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMtZmxvYXQ2NC53YXNtIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMtZmxvYXQ2NC53YXNt
CmluZGV4IDdiNWZmMjk5MGYzNTQwNWI5ZmM2ZjJmODFlYjUwY2IxZWRhY2E0Y2QuLmEzODNmNDM0
MzQ5NGZjZWVmNjJkMWRlMTEzZTg4NmEzZDM5NzBhMjggMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gK
ZGVsdGEgMTA3CnpjbWV5dHcyO31WSmgzPnBtN01fdVNlT2A/N0A1Rjs4QXlWfmZQXj4kTTM0fjxt
PjN6RW4zKlJVUnxxdlFAPUd1OwpnU2h4c0NPTSstZEByaTNzMyp+MCFXIypSVkdLbDZUUik4NXww
MFJPT0hVSXpzCgpkZWx0YSA2NQp6Y21aMzt7RGFCM0poMz9VS058eEdGZiViUUYqMVB3bTx1RkM4
NmJRe0lBQ0lBV1NWR0khTmUjIUB5S1phQyNERVkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20vYXJpdGhtZXRpYy1pbnQzMi53YXNtIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtL2FyaXRobWV0aWMtaW50MzIud2FzbQpp
bmRleCA1NDc2M2VlOWRhMWYzOGU5MGZkYWVlYTNjNWYyMTkwYjM3M2YwYzFmLi42YjJhOWVhMjc5
ODFkZGZjMDJmN2Y4YTk2YmM0ZGUxNGNmOTY3ODM4IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRl
bHRhIDEwMgp6Y21hRkwpVz5YRW8+LWlfaT02PWttPkMhdTc/ezhlRmRzfmFGZmMqQGxtLWVpRi1f
RlY1TmNyTGNWUndvQERQeDgKYjFKUjVrNks5K2klRldFbiVxYDdqNVh3IWcwNWdPRTBucm95Cgpk
ZWx0YSA2MApzY21lQlVlIylkKm8+LWhLJElidShPYm09NTB1Rj4yNyRFPmsxMF5QIVctdWBkTzxh
RSMwTSZzOF95N09eCgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FT
TUZ1bmN0aW9uQ29tcGlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5j
dGlvbkNvbXBpbGVyLmgKaW5kZXggZTdjMTUyOGY3YTAxY2U2MzFjNTU1NTQ2MjkwN2FkYzYxNmRl
YTRhYS4uN2Q1NzBmNTliNTRkNDRhODhlMzFmMjI1NDVlYTM4Mjg2MDg0Y2M2OSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCkBAIC0x
MDEwLDYgKzEwMTAsNTYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0K
IAorICAgIGludCBidWlsZE1pbk9yTWF4STMyKGludCwgaW50LCBXQVNNT3BFeHByZXNzaW9uSTMy
IG9wKQorICAgIHsKKyAgICAgICAgbG9hZDMyKHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tU
b3AgLSAyKSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICBsb2FkMzIodGVtcG9yYXJ5QWRkcmVz
cyhtX3RlbXBTdGFja1RvcCAtIDEpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIFJlbGF0aW9u
YWxDb25kaXRpb24gY29uZGl0aW9uOworICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U01pbjoKKyAgICAgICAgICAgIGNvbmRpdGlvbiA9IExl
c3NUaGFuT3JFcXVhbDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdBU01PcEV4
cHJlc3Npb25JMzI6OlVNaW46CisgICAgICAgICAgICBjb25kaXRpb24gPSBCZWxvd09yRXF1YWw7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpT
TWF4OgorICAgICAgICAgICAgY29uZGl0aW9uID0gR3JlYXRlclRoYW5PckVxdWFsOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6VU1heDoKKyAg
ICAgICAgICAgIGNvbmRpdGlvbiA9IEFib3ZlT3JFcXVhbDsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgfQorICAgICAgICBKdW1wIHVzZUxlZnQgPSBicmFuY2gzMihjb25kaXRpb24s
IEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIHN0b3JlMzIoR1BSSW5m
bzo6cmVnVDEsIHRlbXBvcmFyeUFkZHJlc3MobV90ZW1wU3RhY2tUb3AgLSAyKSk7CisgICAgICAg
IHVzZUxlZnQubGluayh0aGlzKTsKKyAgICAgICAgbV90ZW1wU3RhY2tUb3AtLTsKKyAgICAgICAg
cmV0dXJuIFVOVVNFRDsKKyAgICB9CisKKyAgICBpbnQgYnVpbGRNaW5Pck1heEY2NChpbnQsIGlu
dCwgV0FTTU9wRXhwcmVzc2lvbkY2NCBvcCkKKyAgICB7CisgICAgICAgIGxvYWREb3VibGUodGVt
cG9yYXJ5QWRkcmVzcyhtX3RlbXBTdGFja1RvcCAtIDIpLCBGUFJJbmZvOjpmcFJlZ1QwKTsKKyAg
ICAgICAgbG9hZERvdWJsZSh0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMSksIEZQ
UkluZm86OmZwUmVnVDEpOworICAgICAgICBEb3VibGVDb25kaXRpb24gY29uZGl0aW9uOworICAg
ICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6TWlu
OgorICAgICAgICAgICAgY29uZGl0aW9uID0gRG91YmxlTGVzc1RoYW5PckVxdWFsOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6TWF4OgorICAg
ICAgICAgICAgY29uZGl0aW9uID0gRG91YmxlR3JlYXRlclRoYW5PckVxdWFsOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgICAgIEp1bXAgdXNlTGVmdCA9IGJyYW5jaERv
dWJsZShjb25kaXRpb24sIEZQUkluZm86OmZwUmVnVDAsIEZQUkluZm86OmZwUmVnVDEpOworICAg
ICAgICBzdG9yZURvdWJsZShGUFJJbmZvOjpmcFJlZ1QxLCB0ZW1wb3JhcnlBZGRyZXNzKG1fdGVt
cFN0YWNrVG9wIC0gMikpOworICAgICAgICB1c2VMZWZ0LmxpbmsodGhpcyk7CisgICAgICAgIG1f
dGVtcFN0YWNrVG9wLS07CisgICAgICAgIHJldHVybiBVTlVTRUQ7CisgICAgfQorCiAgICAgaW50
IGJ1aWxkQ2FsbEludGVybmFsKHVpbnQzMl90IGZ1bmN0aW9uSW5kZXgsIGludCwgY29uc3QgV0FT
TVNpZ25hdHVyZSYgc2lnbmF0dXJlLCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSkKICAg
ICB7CiAgICAgICAgIGJveEFyZ3VtZW50c0FuZEFkanVzdFN0YWNrUG9pbnRlcihzaWduYXR1cmUu
YXJndW1lbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01G
dW5jdGlvblBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rp
b25QYXJzZXIuY3BwCmluZGV4IGM0YTgyZjg0YzZkOGIxNzlkOTc5MDljNzg2YzUxYWJhZDdmYTA0
YzIuLjY4NzMxZmI5OTk3Mzc5MTUwNzU2NWY2N2ZiM2E2NDgwOTc1ZDU5YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAtNjI3
LDggKzYyNyw3IEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VF
eHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVz
c2lvbkkzMjo6VU1pbjoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTTWF4Ogog
ICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlVNYXg6Ci0gICAgICAgICAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4KLSAgICAgICAgICAgIEZBSUxfV0lU
SF9NRVNTQUdFKCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4iKTsKKyAgICAgICAgICAgIHJldHVy
biBwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7CiAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQpAQCAtNzI1
LDYgKzcyNCwyMiBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNl
UmVsYXRpb25hbEY2NEV4cHJlc3Npb25JMzIoQ29udGV4dCYgYwogfQogCiB0ZW1wbGF0ZSA8Y2xh
c3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VN
aW5Pck1heEV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCwgV0FTTU9wRXhwcmVzc2lvbkkz
MiBvcCkKK3sKKyAgICB1aW50MzJfdCBudW1iZXJPZkFyZ3VtZW50czsKKyAgICBSRUFEX0NPTVBB
Q1RfVUlOVDMyX09SX0ZBSUwobnVtYmVyT2ZBcmd1bWVudHMsICJDYW5ub3QgcmVhZCB0aGUgbnVt
YmVyIG9mIGFyZ3VtZW50cyB0byBtaW4vbWF4LiIpOworICAgIEZBSUxfSUZfRkFMU0UobnVtYmVy
T2ZBcmd1bWVudHMgPj0gMiwgIk1pbi9tYXggbXVzdCBiZSBwYXNzZWQgYXQgbGVhc3QgMiBhcmd1
bWVudHMuIik7CisgICAgQ29udGV4dEV4cHJlc3Npb24gY3VycmVudCA9IHBhcnNlRXhwcmVzc2lv
bkkzMihjb250ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICBmb3IgKHVpbnQzMl90
IGkgPSAxOyBpIDwgbnVtYmVyT2ZBcmd1bWVudHM7ICsraSkgeworICAgICAgICBDb250ZXh0RXhw
cmVzc2lvbiBleHByZXNzaW9uID0gcGFyc2VFeHByZXNzaW9uSTMyKGNvbnRleHQpOworICAgICAg
ICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICAgICAgY3VycmVudCA9IGNvbnRleHQuYnVpbGRNaW5P
ck1heEkzMihjdXJyZW50LCBleHByZXNzaW9uLCBvcCk7CisgICAgfQorICAgIHJldHVybiBjdXJy
ZW50OworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KIENvbnRleHRFeHByZXNzaW9uIFdB
U01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCiB7
CiAgICAgYm9vbCBoYXNJbW1lZGlhdGU7CkBAIC05MDYsOCArOTIxLDcgQEAgQ29udGV4dEV4cHJl
c3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GNjQoQ29udGV4dCYgY29u
dGV4dCkKICAgICAgICAgICAgIHJldHVybiBwYXJzZUJpbmFyeUV4cHJlc3Npb25GNjQoY29udGV4
dCwgb3ApOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6Ok1pbjoKICAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpNYXg6Ci0gICAgICAgICAgICAvLyBGSVhNRTogSW1w
bGVtZW50IHRoZXNlIGluc3RydWN0aW9ucy4KLSAgICAgICAgICAgIEZBSUxfV0lUSF9NRVNTQUdF
KCJVbnN1cHBvcnRlZCBpbnN0cnVjdGlvbi4iKTsKKyAgICAgICAgICAgIHJldHVybiBwYXJzZU1p
bk9yTWF4RXhwcmVzc2lvbkY2NChjb250ZXh0LCBvcCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQpAQCAtOTY2LDYgKzk4MCwy
MiBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQmluYXJ5RXhw
cmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0LAogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4
dD4KK0NvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VNaW5Pck1heEV4
cHJlc3Npb25GNjQoQ29udGV4dCYgY29udGV4dCwgV0FTTU9wRXhwcmVzc2lvbkY2NCBvcCkKK3sK
KyAgICB1aW50MzJfdCBudW1iZXJPZkFyZ3VtZW50czsKKyAgICBSRUFEX0NPTVBBQ1RfVUlOVDMy
X09SX0ZBSUwobnVtYmVyT2ZBcmd1bWVudHMsICJDYW5ub3QgcmVhZCB0aGUgbnVtYmVyIG9mIGFy
Z3VtZW50cyB0byBtaW4vbWF4LiIpOworICAgIEZBSUxfSUZfRkFMU0UobnVtYmVyT2ZBcmd1bWVu
dHMgPj0gMiwgIk1pbi9tYXggbXVzdCBiZSBwYXNzZWQgYXQgbGVhc3QgMiBhcmd1bWVudHMuIik7
CisgICAgQ29udGV4dEV4cHJlc3Npb24gY3VycmVudCA9IHBhcnNlRXhwcmVzc2lvbkY2NChjb250
ZXh0KTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsKKyAgICBmb3IgKHVpbnQzMl90IGkgPSAxOyBp
IDwgbnVtYmVyT2ZBcmd1bWVudHM7ICsraSkgeworICAgICAgICBDb250ZXh0RXhwcmVzc2lvbiBl
eHByZXNzaW9uID0gcGFyc2VFeHByZXNzaW9uRjY0KGNvbnRleHQpOworICAgICAgICBQUk9QQUdB
VEVfRVJST1IoKTsKKyAgICAgICAgY3VycmVudCA9IGNvbnRleHQuYnVpbGRNaW5Pck1heEY2NChj
dXJyZW50LCBleHByZXNzaW9uLCBvcCk7CisgICAgfQorICAgIHJldHVybiBjdXJyZW50OworfQor
Cit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlv
blBhcnNlcjo6cGFyc2VFeHByZXNzaW9uVm9pZChDb250ZXh0JiBjb250ZXh0KQogewogICAgIFdB
U01PcEV4cHJlc3Npb25Wb2lkIG9wOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
QVNNRnVuY3Rpb25QYXJzZXIuaAppbmRleCAxMDJjNjRkYzUxMjE0NDRmYmY4ZTEwMTU4NThhMWZm
MmQ2ZGVmOGI1Li43ZjA5ZTNlODVlMzE3YWUyYjBjNmY4MWFmNTA5YjQ0YTNiN2RmMDkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaApAQCAt
ODgsNiArODgsNyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250
ZXh0RXhwcmVzc2lvbiBwYXJzZVJlbGF0aW9uYWxJMzJFeHByZXNzaW9uSTMyKENvbnRleHQmLCBX
QVNNT3BFeHByZXNzaW9uSTMyKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4
dEV4cHJlc3Npb24gcGFyc2VSZWxhdGlvbmFsRjMyRXhwcmVzc2lvbkkzMihDb250ZXh0JiwgV0FT
TU9wRXhwcmVzc2lvbkkzMik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRF
eHByZXNzaW9uIHBhcnNlUmVsYXRpb25hbEY2NEV4cHJlc3Npb25JMzIoQ29udGV4dCYsIFdBU01P
cEV4cHJlc3Npb25JMzIpOworICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhw
cmVzc2lvbiBwYXJzZU1pbk9yTWF4RXhwcmVzc2lvbkkzMihDb250ZXh0JiwgV0FTTU9wRXhwcmVz
c2lvbkkzMik7CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dEV4cHJlc3Np
b24gcGFyc2VFeHByZXNzaW9uRjMyKENvbnRleHQmKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29u
dGV4dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VDb25zdGFudFBvb2xJbmRleEV4cHJlc3Npb25G
MzIoQ29udGV4dCYsIHVpbnQzMl90IGNvbnN0YW50SW5kZXgpOwpAQCAtMTAyLDYgKzEwMyw3IEBA
IHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9u
IHBhcnNlSW1tZWRpYXRlRXhwcmVzc2lvbkY2NChDb250ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlVW5hcnlFeHByZXNzaW9uRjY0KENv
bnRleHQmLCBXQVNNT3BFeHByZXNzaW9uRjY0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4
dD4gQ29udGV4dEV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uRjY0KENvbnRleHQmLCBX
QVNNT3BFeHByZXNzaW9uRjY0KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4
dEV4cHJlc3Npb24gcGFyc2VNaW5Pck1heEV4cHJlc3Npb25GNjQoQ29udGV4dCYsIFdBU01PcEV4
cHJlc3Npb25GNjQpOwogCiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHBy
ZXNzaW9uIHBhcnNlRXhwcmVzc2lvblZvaWQoQ29udGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmgKaW5kZXgg
MmM0MTAzZmM0MWY3NTM4MTU0YjNmODUxYzQ0MTIyZjM0ODUyNDA2MC4uNzM5MDU5YzgwMTNmYTky
ZjFiZTkzODlmNGEzYzEwOGMyZjFhZTVhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIuaApAQCAtMTc4LDYgKzE3OCwx
OCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBVTlVTRUQ7CiAgICAgfQogCisgICAgaW50IGJ1
aWxkTWluT3JNYXhJMzIoaW50LCBpbnQsIFdBU01PcEV4cHJlc3Npb25JMzIpCisgICAgeworICAg
ICAgICBtX3RlbXBTdGFja1RvcC0tOworICAgICAgICByZXR1cm4gVU5VU0VEOworICAgIH0KKwor
ICAgIGludCBidWlsZE1pbk9yTWF4RjY0KGludCwgaW50LCBXQVNNT3BFeHByZXNzaW9uRjY0KQor
ICAgIHsKKyAgICAgICAgbV90ZW1wU3RhY2tUb3AtLTsKKyAgICAgICAgcmV0dXJuIFVOVVNFRDsK
KyAgICB9CisKICAgICBpbnQgYnVpbGRDYWxsSW50ZXJuYWwodWludDMyX3QsIGludCwgY29uc3Qg
V0FTTVNpZ25hdHVyZSYgc2lnbmF0dXJlLCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSkK
ICAgICB7CiAgICAgICAgIHNpemVfdCBhcmd1bWVudENvdW50ID0gc2lnbmF0dXJlLmFyZ3VtZW50
cy5zaXplKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>