<?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>69182</bug_id>
          
          <creation_ts>2011-09-30 16:14:14 -0700</creation_ts>
          <short_desc>BiquadFilterNode .type attribute is not handled correctly</short_desc>
          <delta_ts>2011-10-04 13:26:46 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kbr</cc>
    
    <cc>smus</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>476384</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-30 16:14:14 -0700</bug_when>
    <thetext>BiquadFilterNode .type attribute is not handled correctly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476422</commentid>
    <comment_count>1</comment_count>
      <attachid>109375</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-30 17:06:06 -0700</bug_when>
    <thetext>Created attachment 109375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477078</commentid>
    <comment_count>2</comment_count>
      <attachid>109375</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-10-03 10:55:57 -0700</bug_when>
    <thetext>Comment on attachment 109375
Patch

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

Looks fine overall; couple of comments. r=me

&gt; LayoutTests/webaudio/biquadfilternode-basic.html:29
&gt; +    // FIXME: we need to expose the actual filter type constants in the IDL

Have you already filed a bug about this?

&gt; LayoutTests/webaudio/biquadfilternode-basic.html:38
&gt; +    for (var i = 0; i &lt;= 7; ++i) {

FIXME for the magic constant 7.

&gt; Source/WebCore/platform/audio/AudioDSPKernelProcessor.cpp:61
&gt; +    m_hasJustReset = true;

Is this fix really related or should it be a separate change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477130</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-03 12:12:26 -0700</bug_when>
    <thetext>Committed r96525: &lt;http://trac.webkit.org/changeset/96525&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477133</commentid>
    <comment_count>4</comment_count>
      <attachid>109375</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-10-03 12:15:11 -0700</bug_when>
    <thetext>Comment on attachment 109375
Patch

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

&gt;&gt; LayoutTests/webaudio/biquadfilternode-basic.html:29
&gt;&gt; +    // FIXME: we need to expose the actual filter type constants in the IDL
&gt; 
&gt; Have you already filed a bug about this?

Just filed:
https://bugs.webkit.org/show_bug.cgi?id=69276

&gt;&gt; LayoutTests/webaudio/biquadfilternode-basic.html:38
&gt;&gt; +    for (var i = 0; i &lt;= 7; ++i) {
&gt; 
&gt; FIXME for the magic constant 7.

added FIXME here

&gt;&gt; Source/WebCore/platform/audio/AudioDSPKernelProcessor.cpp:61
&gt;&gt; +    m_hasJustReset = true;
&gt; 
&gt; Is this fix really related or should it be a separate change?

It&apos;s related since, it&apos;s required when changing filter types.  The filter state needs to be reset...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477875</commentid>
    <comment_count>5</comment_count>
    <who name="Boris Smus">smus</who>
    <bug_when>2011-10-04 13:26:46 -0700</bug_when>
    <thetext>Thanks for fixing. Verified in Canary.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109375</attachid>
            <date>2011-09-30 17:06:06 -0700</date>
            <delta_ts>2011-10-03 12:15:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69182-20110930170609.patch</filename>
            <type>text/plain</type>
            <size>24611</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY0MjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3Yzc2MzU2M2EwZDI0ZmNlOTk1YWI2
ZDU5NWQyMjQ5NzJlMDI0YjNkLi5kZjE5MjliNzRkZjNlNTg1OTgyNTY5NzczYjg0ZjNhNzBiNWRh
YTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMzAgIENocmlzIFJvZ2VycyAgPGNy
b2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBCaXF1YWRGaWx0ZXJOb2RlIC50eXBlIGF0dHJp
YnV0ZSBpcyBub3QgaGFuZGxlZCBjb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJhdWRpby9iaXF1YWRmaWx0ZXJub2RlLWJhc2ljLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViYXVkaW8vYmlxdWFkZmlsdGVybm9kZS1i
YXNpYy5odG1sOiBBZGRlZC4KKwogMjAxMS0wOS0zMCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBs
ZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY5MTY3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9iaXF1YWRmaWx0ZXJub2Rl
LWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2JpcXVhZGZpbHRlcm5v
ZGUtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5OTIxMDQ1MjJlMzcyNGIzNDhmMmJi
MWIzNTVjYWNhNDY4Y2ZlZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRp
by9iaXF1YWRmaWx0ZXJub2RlLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitC
YXNpYyB0ZXN0cyBmb3IgQmlxdWFkRmlsdGVyTm9kZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIEJpcXVhZCBmaWx0ZXIgZGVmYXVsdHMgdG8gbG93LXBhc3MgZmlsdGVyLgor
UEFTUyBCaXF1YWQgZmlsdGVyIHR5cGUgMCBpcyBzZXR0YWJsZS4KK1BBU1MgQmlxdWFkIGZpbHRl
ciB0eXBlIDEgaXMgc2V0dGFibGUuCitQQVNTIEJpcXVhZCBmaWx0ZXIgdHlwZSAyIGlzIHNldHRh
YmxlLgorUEFTUyBCaXF1YWQgZmlsdGVyIHR5cGUgMyBpcyBzZXR0YWJsZS4KK1BBU1MgQmlxdWFk
IGZpbHRlciB0eXBlIDQgaXMgc2V0dGFibGUuCitQQVNTIEJpcXVhZCBmaWx0ZXIgdHlwZSA1IGlz
IHNldHRhYmxlLgorUEFTUyBCaXF1YWQgZmlsdGVyIHR5cGUgNiBpcyBzZXR0YWJsZS4KK1BBU1Mg
QmlxdWFkIGZpbHRlciB0eXBlIDcgaXMgc2V0dGFibGUuCitQQVNTIElsbGVnYWwgZmlsdGVyIHR5
cGUgY29ycmVjdGx5IHRocm93cyBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vYmlxdWFkZmlsdGVybm9kZS1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYmlx
dWFkZmlsdGVybm9kZS1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyZDc0NzQwY2U3NWUyYjU3MTdm
YjI0YmIzNGJhN2NjYzJhMWZjODIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby9iaXF1YWRmaWx0ZXJub2RlLWJhc2ljLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NU
WVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRlc3RzIGZvciBCaXF1YWRG
aWx0ZXJOb2RlLiIpOworCit2YXIgY29udGV4dCA9IDA7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisgICAgCisgICAgd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgY29udGV4dCA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKyAgICB2
YXIgZmlsdGVyID0gY29udGV4dC5jcmVhdGVCaXF1YWRGaWx0ZXIoKTsKKyAgICAKKyAgICAvLyBG
SVhNRTogd2UgbmVlZCB0byBleHBvc2UgdGhlIGFjdHVhbCBmaWx0ZXIgdHlwZSBjb25zdGFudHMg
aW4gdGhlIElETAorICAgIAorICAgIC8vIENoZWNrIHRoZSBmaWx0ZXIgdHlwZS4KKyAgICBpZiAo
ZmlsdGVyLnR5cGUgPT0gMCkKKyAgICAgICAgdGVzdFBhc3NlZCgiQmlxdWFkIGZpbHRlciBkZWZh
dWx0cyB0byBsb3ctcGFzcyBmaWx0ZXIuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVk
KCJCaXF1YWQgZmlsdGVyIHNob3VsZCBkZWZhdWx0IHRvIGxvdy1wYXNzIGZpbHRlci4iKTsKKwor
ICAgIC8vIENoZWNrIHRoYXQgYWxsIGxlZ2FsIGZpbHRlciB0eXBlcyBjYW4gYmUgc2V0LgorICAg
IGZvciAodmFyIGkgPSAwOyBpIDw9IDc7ICsraSkgeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgZmlsdGVyLnR5cGUgPSBpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoZmlsdGVy
LnR5cGUgPT0gaSkgeworICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gIkJpcXVhZCBmaWx0
ZXIgdHlwZSAiICsgaSArICIgaXMgc2V0dGFibGUuIjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKG1lc3NhZ2UpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIg
bWVzc2FnZSA9ICJCaXF1YWQgZmlsdGVyIHR5cGUgIiArIGkgKyAiIHdhcyBub3QgY29ycmVjdGx5
IHNldC4iOworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobWVzc2FnZSk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSAiQmlx
dWFkIGZpbHRlciB0eXBlICIgKyBpICsgIiBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbi4iOwor
ICAgICAgICAgICAgdGVzdEZhaWxlZChtZXNzYWdlKTsKKyAgICAgICAgfQorICAgIH0KKworICAg
IC8vIENoZWNrIHRoYXQgaWxsZWdhbCBmaWx0ZXIgdHlwZSB0aHJvd3MuCisgICAgdHJ5IHsKKyAg
ICAgICAgZmlsdGVyLnR5cGUgPSA4OworICAgICAgICB0ZXN0RmFpbGVkKCJJbGxlZ2FsIGZpbHRl
ciB0eXBlIHNob3VsZCB0aHJvdyBleGNlcHRpb24uIik7CisgICAgfSBjYXRjaChlKSB7CisgICAg
ICAgIHRlc3RQYXNzZWQoIklsbGVnYWwgZmlsdGVyIHR5cGUgY29ycmVjdGx5IHRocm93cyBleGNl
cHRpb24uIik7CisgICAgfQorCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3J1blRlc3QoKTsK
K3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlZGRiMzExZmJjODIzMGM0MjJiODJhOTA2Nzg0NDg4NjNi
OTc1NWI0Li43MjA2ZTg5NTAwNTdmYzQzNTdlMjMyNTZkYzNhZjRkNWNjZGVmN2E0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNjEgQEAKKzIwMTEtMDktMzAgIENocmlzIFJvZ2VycyAgPGNyb2dlcnNA
Z29vZ2xlLmNvbT4KKworICAgICAgICBCaXF1YWRGaWx0ZXJOb2RlIC50eXBlIGF0dHJpYnV0ZSBp
cyBub3QgaGFuZGxlZCBjb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY5MTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYmlxdWFkZmlsdGVybm9kZS1iYXNpYy5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0RTUEtlcm5lbFByb2Nlc3Nvcjo6aW5pdGlhbGl6ZSk6
CisgICAgICAgICogd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToK
KyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9DaGFubmVsTWVyZ2VyOjpBdWRpb0NoYW5uZWxNZXJnZXIpOgorICAgICAgICAq
IHdlYmF1ZGlvL0F1ZGlvQ2hhbm5lbFNwbGl0dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvQ2hhbm5lbFNwbGl0dGVyOjpBdWRpb0NoYW5uZWxTcGxpdHRlcik6CisgICAgICAgICogd2Vi
YXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9E
ZXN0aW5hdGlvbk5vZGU6OkF1ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiB3ZWJhdWRp
by9BdWRpb0dhaW5Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvR2Fpbk5vZGU6OkF1
ZGlvR2Fpbk5vZGUpOgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBdWRpb05vZGU6OkF1ZGlvTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRp
b05vZGU6On5BdWRpb05vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Ob2RlOjpzZXROb2Rl
VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb05vZGU6OnJlZik6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb05vZGU6OmZpbmlzaERlcmVmKToKKyAgICAgICAgKiB3ZWJhdWRpby9BdWRpb05v
ZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTm9kZTo6bm9kZVR5cGUpOgorICAgICAgICAq
IHdlYmF1ZGlvL0F1ZGlvUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Bh
bm5lck5vZGU6OkF1ZGlvUGFubmVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Bhbm5l
ck5vZGU6Om5vdGlmeUF1ZGlvU291cmNlc0Nvbm5lY3RlZFRvTm9kZSk6CisgICAgICAgICogd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXF1YWRGaWx0
ZXJOb2RlOjpCaXF1YWRGaWx0ZXJOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkJpcXVhZEZpbHRl
ck5vZGU6OnNldFR5cGUpOgorICAgICAgICAqIHdlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuaDoK
KyAgICAgICAgKiB3ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbDoKKyAgICAgICAgKiB3ZWJh
dWRpby9CaXF1YWRQcm9jZXNzb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJpcXVhZFByb2Nlc3Nv
cjo6c2V0VHlwZSk6CisgICAgICAgICogd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb252b2x2ZXJOb2RlOjpDb252b2x2ZXJOb2RlKToKKyAgICAgICAgKiB3
ZWJhdWRpby9EZWxheU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVsYXlOb2RlOjpEZWxh
eU5vZGUpOgorICAgICAgICAqIHdlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RHluYW1pY3NDb21wcmVzc29yTm9kZTo6RHluYW1pY3NDb21wcmVz
c29yTm9kZSk6CisgICAgICAgICogd2ViYXVkaW8vSGlnaFBhc3MyRmlsdGVyTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIaWdoUGFzczJGaWx0ZXJOb2RlOjpIaWdoUGFzczJGaWx0ZXJOb2Rl
KToKKyAgICAgICAgKiB3ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkphdmFTY3JpcHRBdWRpb05vZGU6OkphdmFTY3JpcHRBdWRpb05vZGUpOgorICAg
ICAgICAqIHdlYmF1ZGlvL0xvd1Bhc3MyRmlsdGVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMb3dQYXNzMkZpbHRlck5vZGU6Okxvd1Bhc3MyRmlsdGVyTm9kZSk6CisgICAgICAgICogd2Vi
YXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
KToKKyAgICAgICAgKiB3ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZWFsdGltZUFuYWx5c2VyTm9kZTo6UmVhbHRpbWVBbmFseXNlck5vZGUpOgor
ICAgICAgICAqIHdlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldhdmVTaGFwZXJOb2RlOjpXYXZlU2hhcGVyTm9kZSk6CisKIDIwMTEtMDktMzAgIERhdmlkIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTE2NwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwCmluZGV4IGQ3OWFmZDViZWRm
YzM0NDFjYmQ5NTU4NDg1MWNkMjAzOTAyODY2M2UuLmM5MDE2MTljMzgwMTk0YmExZTVlY2VjNzU0
ZDZkZmUxMGMzZGU4YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5jcHAKQEAgLTU2LDggKzU2LDkgQEAgdm9p
ZCBBdWRpb0RTUEtlcm5lbFByb2Nlc3Nvcjo6aW5pdGlhbGl6ZSgpCiAgICAgLy8gQ3JlYXRlIHBy
b2Nlc3Npbmcga2VybmVscywgb25lIHBlciBjaGFubmVsLgogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBudW1iZXJPZkNoYW5uZWxzKCk7ICsraSkKICAgICAgICAgbV9rZXJuZWxzLmFwcGVu
ZChjcmVhdGVLZXJuZWwoKSk7Ci0KKyAgICAgICAgCiAgICAgbV9pbml0aWFsaXplZCA9IHRydWU7
CisgICAgbV9oYXNKdXN0UmVzZXQgPSB0cnVlOwogfQogCiB2b2lkIEF1ZGlvRFNQS2VybmVsUHJv
Y2Vzc29yOjp1bmluaXRpYWxpemUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1
ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAKaW5kZXggYjEzNTA2MGUxNWE2NDliZmE3OTRmNzIxMzUx
M2E2YTYxMzhlNzk2NS4uNGEyMzBlMDgyMzBjZDViZDNiNjA1ZWY3NTljOWU5MGI1ODFhNjM0ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUu
Y3BwCkBAIC02OCw3ICs2OCw3IEBAIEF1ZGlvQnVmZmVyU291cmNlTm9kZTo6QXVkaW9CdWZmZXJT
b3VyY2VOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZG91YmxlIHNhbXBsCiAgICAgLCBtX2xh
c3RHYWluKDEuMCkKICAgICAsIG1fcGFubmVyTm9kZSgwKQogewotICAgIHNldFR5cGUoTm9kZVR5
cGVBdWRpb0J1ZmZlclNvdXJjZSk7CisgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVBdWRpb0J1ZmZl
clNvdXJjZSk7CiAKICAgICBtX2dhaW4gPSBBdWRpb0dhaW46OmNyZWF0ZSgiZ2FpbiIsIDEuMCwg
MC4wLCAxLjApOwogICAgIG1fcGxheWJhY2tSYXRlID0gQXVkaW9QYXJhbTo6Y3JlYXRlKCJwbGF5
YmFja1JhdGUiLCAxLjAsIDAuMCwgTWF4UmF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vQXVkaW9DaGFubmVsTWVyZ2VyLmNwcAppbmRleCA0MGE2Mzg2ZmYwOGQ0MTFmZGU2NTQwZmUw
MmUzMDMzMGZlNzQ2MWY1Li4wZjhjYzAwMDJmZTFjZDI5ZDNjODA3NTRhNzk5ZDk3Y2I5NjVmZmNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5jcHAK
QEAgLTUxLDcgKzUxLDcgQEAgQXVkaW9DaGFubmVsTWVyZ2VyOjpBdWRpb0NoYW5uZWxNZXJnZXIo
QXVkaW9Db250ZXh0KiBjb250ZXh0LCBkb3VibGUgc2FtcGxlUmF0ZSkKIAogICAgIGFkZE91dHB1
dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlT3V0cHV0KHRoaXMsIDEpKSk7CiAgICAgCi0gICAgc2V0
VHlwZShOb2RlVHlwZUNoYW5uZWxNZXJnZXIpOworICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlQ2hh
bm5lbE1lcmdlcik7CiAgICAgCiAgICAgaW5pdGlhbGl6ZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9DaGFubmVsU3BsaXR0ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd2ViYXVkaW8vQXVkaW9DaGFubmVsU3BsaXR0ZXIuY3BwCmluZGV4IGY0ZmEwNDE1Yzdl
M2NjZjE4Y2ZkZDE4M2Y3ZWU3MTU3YTVhN2U4MmEuLjdlOTBiN2E5M2M2ZjRkMjg1YTUxNGU2ZTRm
Y2VhMjVlYzc4MGVmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlv
Q2hhbm5lbFNwbGl0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0No
YW5uZWxTcGxpdHRlci5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgQXVkaW9DaGFubmVsU3BsaXR0ZXI6
OkF1ZGlvQ2hhbm5lbFNwbGl0dGVyKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZG91YmxlIHNhbXBs
ZVIKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgTnVtYmVyT2ZPdXRwdXRzOyArK2kpCiAg
ICAgICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlT3V0cHV0KHRoaXMsIDEpKSk7
CiAgICAgCi0gICAgc2V0VHlwZShOb2RlVHlwZUNoYW5uZWxTcGxpdHRlcik7CisgICAgc2V0Tm9k
ZVR5cGUoTm9kZVR5cGVDaGFubmVsU3BsaXR0ZXIpOwogICAgIAogICAgIGluaXRpYWxpemUoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cAppbmRleCAxNTk4MGU0ZDNiMmYzNmJjYTYwMWE0ZDg5OTIxN2RmMjk3YzkyNGM2Li5hNzM1Y2Ex
MGMwOWM2M2EyOTM4ODIwN2UwYWI4NWUyZDM5YjFjODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC00Miw3ICs0Miw3IEBAIEF1
ZGlvRGVzdGluYXRpb25Ob2RlOjpBdWRpb0Rlc3RpbmF0aW9uTm9kZShBdWRpb0NvbnRleHQqIGNv
bnRleHQsIGRvdWJsZSBzYW1wbGVSCiB7CiAgICAgYWRkSW5wdXQoYWRvcHRQdHIobmV3IEF1ZGlv
Tm9kZUlucHV0KHRoaXMpKSk7CiAgICAgCi0gICAgc2V0VHlwZShOb2RlVHlwZURlc3RpbmF0aW9u
KTsKKyAgICBzZXROb2RlVHlwZShOb2RlVHlwZURlc3RpbmF0aW9uKTsKIH0KIAogQXVkaW9EZXN0
aW5hdGlvbk5vZGU6On5BdWRpb0Rlc3RpbmF0aW9uTm9kZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9BdWRpb0dhaW5Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL0F1ZGlvR2Fpbk5vZGUuY3BwCmluZGV4IGQ1ZjEzMDE4MWI4Y2NjNjVjMzg5OTI5NDU3MjVk
YmVhNTUyZGQyMGYuLjM2Nzg3OTJkMjY3NGRkNjhiODY0Yzk5YTA0NzYwMjYwMWRlYTNkZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvR2Fpbk5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvR2Fpbk5vZGUuY3BwCkBAIC00NSw3ICs0NSw3
IEBAIEF1ZGlvR2Fpbk5vZGU6OkF1ZGlvR2Fpbk5vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBk
b3VibGUgc2FtcGxlUmF0ZSkKICAgICBhZGRJbnB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlSW5w
dXQodGhpcykpKTsKICAgICBhZGRPdXRwdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0
aGlzLCAxKSkpOwogICAgIAotICAgIHNldFR5cGUoTm9kZVR5cGVHYWluKTsKKyAgICBzZXROb2Rl
VHlwZShOb2RlVHlwZUdhaW4pOwogICAgIAogICAgIGluaXRpYWxpemUoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9BdWRpb05vZGUuY3BwCmluZGV4IDliYmI0OGQyYzE4NmJlOTY4MDg1NDU2NzJi
ZWI5MGJkYjI0NDYxZTAuLjBjMTdkZTYwY2JlNmFjMGQ5N2YwNTA2MzA2NTRlMThhODkzNTMyNzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Ob2RlLmNwcApAQCAtMzgsNyArMzgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEF1ZGlvTm9kZTo6QXVkaW9Ob2RlKEF1ZGlvQ29udGV4dCog
Y29udGV4dCwgZG91YmxlIHNhbXBsZVJhdGUpCiAgICAgOiBtX2lzSW5pdGlhbGl6ZWQoZmFsc2Up
Ci0gICAgLCBtX3R5cGUoTm9kZVR5cGVVbmtub3duKQorICAgICwgbV9ub2RlVHlwZShOb2RlVHlw
ZVVua25vd24pCiAgICAgLCBtX2NvbnRleHQoY29udGV4dCkKICAgICAsIG1fc2FtcGxlUmF0ZShz
YW1wbGVSYXRlKQogICAgICwgbV9sYXN0UHJvY2Vzc2luZ1RpbWUoLTEuMCkKQEAgLTU5LDggKzU5
LDggQEAgQXVkaW9Ob2RlOjpBdWRpb05vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBkb3VibGUg
c2FtcGxlUmF0ZSkKIEF1ZGlvTm9kZTo6fkF1ZGlvTm9kZSgpCiB7CiAjaWYgREVCVUdfQVVESU9O
T0RFX1JFRkVSRU5DRVMKLSAgICAtLXNfbm9kZUNvdW50W3R5cGUoKV07Ci0gICAgcHJpbnRmKCIl
cDogJWQ6IEF1ZGlvTm9kZTo6fkF1ZGlvTm9kZSgpICVkICVkICVkXG4iLCB0aGlzLCB0eXBlKCks
IG1fbm9ybWFsUmVmQ291bnQsIG1fY29ubmVjdGlvblJlZkNvdW50LCBtX2Rpc2FibGVkUmVmQ291
bnQpOworICAgIC0tc19ub2RlQ291bnRbbm9kZVR5cGUoKV07CisgICAgcHJpbnRmKCIlcDogJWQ6
IEF1ZGlvTm9kZTo6fkF1ZGlvTm9kZSgpICVkICVkICVkXG4iLCB0aGlzLCBub2RlVHlwZSgpLCBt
X25vcm1hbFJlZkNvdW50LCBtX2Nvbm5lY3Rpb25SZWZDb3VudCwgbV9kaXNhYmxlZFJlZkNvdW50
KTsKICNlbmRpZgogfQogCkBAIC03NCw5ICs3NCw5IEBAIHZvaWQgQXVkaW9Ob2RlOjp1bmluaXRp
YWxpemUoKQogICAgIG1faXNJbml0aWFsaXplZCA9IGZhbHNlOwogfQogCi12b2lkIEF1ZGlvTm9k
ZTo6c2V0VHlwZShOb2RlVHlwZSB0eXBlKQordm9pZCBBdWRpb05vZGU6OnNldE5vZGVUeXBlKE5v
ZGVUeXBlIHR5cGUpCiB7Ci0gICAgbV90eXBlID0gdHlwZTsKKyAgICBtX25vZGVUeXBlID0gdHlw
ZTsKIAogI2lmIERFQlVHX0FVRElPTk9ERV9SRUZFUkVOQ0VTCiAgICAgKytzX25vZGVDb3VudFt0
eXBlXTsKQEAgLTE5Niw3ICsxOTYsNyBAQCB2b2lkIEF1ZGlvTm9kZTo6cmVmKFJlZlR5cGUgcmVm
VHlwZSkKICAgICB9CiAKICNpZiBERUJVR19BVURJT05PREVfUkVGRVJFTkNFUwotICAgIHByaW50
ZigiJXA6ICVkOiBBdWRpb05vZGU6OnJlZiglZCkgJWQgJWQgJWRcbiIsIHRoaXMsIHR5cGUoKSwg
cmVmVHlwZSwgbV9ub3JtYWxSZWZDb3VudCwgbV9jb25uZWN0aW9uUmVmQ291bnQsIG1fZGlzYWJs
ZWRSZWZDb3VudCk7CisgICAgcHJpbnRmKCIlcDogJWQ6IEF1ZGlvTm9kZTo6cmVmKCVkKSAlZCAl
ZCAlZFxuIiwgdGhpcywgbm9kZVR5cGUoKSwgcmVmVHlwZSwgbV9ub3JtYWxSZWZDb3VudCwgbV9j
b25uZWN0aW9uUmVmQ291bnQsIG1fZGlzYWJsZWRSZWZDb3VudCk7CiAjZW5kaWYKIAogICAgIC8v
IFNlZSB0aGUgZGlzYWJsaW5nIGNvZGUgaW4gZmluaXNoRGVyZWYoKSBiZWxvdy4gVGhpcyBoYW5k
bGVzIHRoZSBjYXNlIHdoZXJlIGEgbm9kZQpAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgQXVkaW9O
b2RlOjpmaW5pc2hEZXJlZihSZWZUeXBlIHJlZlR5cGUpCiAgICAgfQogICAgIAogI2lmIERFQlVH
X0FVRElPTk9ERV9SRUZFUkVOQ0VTCi0gICAgcHJpbnRmKCIlcDogJWQ6IEF1ZGlvTm9kZTo6ZGVy
ZWYoJWQpICVkICVkICVkXG4iLCB0aGlzLCB0eXBlKCksIHJlZlR5cGUsIG1fbm9ybWFsUmVmQ291
bnQsIG1fY29ubmVjdGlvblJlZkNvdW50LCBtX2Rpc2FibGVkUmVmQ291bnQpOworICAgIHByaW50
ZigiJXA6ICVkOiBBdWRpb05vZGU6OmRlcmVmKCVkKSAlZCAlZCAlZFxuIiwgdGhpcywgbm9kZVR5
cGUoKSwgcmVmVHlwZSwgbV9ub3JtYWxSZWZDb3VudCwgbV9jb25uZWN0aW9uUmVmQ291bnQsIG1f
ZGlzYWJsZWRSZWZDb3VudCk7CiAjZW5kaWYKIAogICAgIGlmICghbV9jb25uZWN0aW9uUmVmQ291
bnQpIHsKQEAgLTI5NSw3ICsyOTUsNyBAQCB2b2lkIEF1ZGlvTm9kZTo6ZmluaXNoRGVyZWYoUmVm
VHlwZSByZWZUeXBlKQogICAgICAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhleSBubyBsb25nZXIg
aGF2ZSBhbnkgaW5wdXQgY29ubmVjdGlvbnMuICBUaGlzIG5lZWRzIHRvIGJlIGhhbmRsZWQgbW9y
ZSBnZW5lcmFsbHkgd2hlcmUgQXVkaW9Ob2RlcyBoYXZlCiAgICAgICAgICAgICAgICAgLy8gYSB0
YWlsVGltZSBhdHRyaWJ1dGUuICBUaGVuIHRoZSBBdWRpb05vZGUgb25seSBuZWVkcyB0byByZW1h
aW4gImFjdGl2ZSIgZm9yIHRhaWxUaW1lIHNlY29uZHMgYWZ0ZXIgdGhlcmUgYXJlIG5vCiAgICAg
ICAgICAgICAgICAgLy8gbG9uZ2VyIGFueSBhY3RpdmUgY29ubmVjdGlvbnMuCi0gICAgICAgICAg
ICAgICAgaWYgKHR5cGUoKSAhPSBOb2RlVHlwZUNvbnZvbHZlciAmJiB0eXBlKCkgIT0gTm9kZVR5
cGVEZWxheSkgeworICAgICAgICAgICAgICAgIGlmIChub2RlVHlwZSgpICE9IE5vZGVUeXBlQ29u
dm9sdmVyICYmIG5vZGVUeXBlKCkgIT0gTm9kZVR5cGVEZWxheSkgewogICAgICAgICAgICAgICAg
ICAgICBtX2lzRGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9vdXRwdXRzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgb3V0cHV0KGkpLT5kaXNhYmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
ZWJhdWRpby9BdWRpb05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5o
CmluZGV4IDc0YjlhOTI0MGNjNmVhMjdlZjhkNTYzZTVhZTVhNTI2YjVkMTg2OTMuLjAwODcxZGQ1
OTYzOTUzMmJlNmQ3N2MzNGY3MjM2ODYwNTZmNzAzZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1
ZGlvTm9kZS5oCkBAIC03NCw4ICs3NCw4IEBAIHB1YmxpYzoKICAgICAgICAgTm9kZVR5cGVFbmQK
ICAgICB9OwogCi0gICAgTm9kZVR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQot
ICAgIHZvaWQgc2V0VHlwZShOb2RlVHlwZSk7CisgICAgTm9kZVR5cGUgbm9kZVR5cGUoKSBjb25z
dCB7IHJldHVybiBtX25vZGVUeXBlOyB9CisgICAgdm9pZCBzZXROb2RlVHlwZShOb2RlVHlwZSk7
CiAKICAgICAvLyBXZSBoYW5kbGUgb3VyIG93biByZWYtY291bnRpbmcgYmVjYXVzZSBvZiB0aGUg
dGhyZWFkaW5nIGlzc3VlcyBhbmQgc3VidGxlIG5hdHVyZSBvZgogICAgIC8vIGhvdyBBdWRpb05v
ZGVzIGNhbiBjb250aW51ZSBwcm9jZXNzaW5nIChwbGF5aW5nIG9uZS1zaG90IHNvdW5kKSBhZnRl
ciB0aGVyZSBhcmUgbm8gbW9yZQpAQCAtMTQ4LDcgKzE0OCw3IEBAIHByb3RlY3RlZDoKIAogcHJp
dmF0ZToKICAgICB2b2xhdGlsZSBib29sIG1faXNJbml0aWFsaXplZDsKLSAgICBOb2RlVHlwZSBt
X3R5cGU7CisgICAgTm9kZVR5cGUgbV9ub2RlVHlwZTsKICAgICBSZWZQdHI8QXVkaW9Db250ZXh0
PiBtX2NvbnRleHQ7CiAgICAgZG91YmxlIG1fc2FtcGxlUmF0ZTsKICAgICBWZWN0b3I8T3duUHRy
PEF1ZGlvTm9kZUlucHV0PiA+IG1faW5wdXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vQXVkaW9QYW5uZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1
ZGlvUGFubmVyTm9kZS5jcHAKaW5kZXggNWM5NDc2MzZkMWY4OTNhNDNhNzdmNzRjN2VlN2I0M2Iy
YzAzYjU2Yi4uN2QyNmZlYWM5NDdkNzZjNGJhZjQ3ODQ3ZjgxZmFlNDcwNWMyOTMyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9QYW5uZXJOb2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUuY3BwCkBAIC02Miw3ICs2Miw3
IEBAIEF1ZGlvUGFubmVyTm9kZTo6QXVkaW9QYW5uZXJOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4
dCwgZG91YmxlIHNhbXBsZVJhdGUpCiAgICAgbV9vcmllbnRhdGlvbiA9IEZsb2F0UG9pbnQzRCgx
LCAwLCAwKTsKICAgICBtX3ZlbG9jaXR5ID0gRmxvYXRQb2ludDNEKDAsIDAsIDApOwogICAgIAot
ICAgIHNldFR5cGUoTm9kZVR5cGVQYW5uZXIpOworICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlUGFu
bmVyKTsKIAogICAgIGluaXRpYWxpemUoKTsKIH0KQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIEF1
ZGlvUGFubmVyTm9kZTo6bm90aWZ5QXVkaW9Tb3VyY2VzQ29ubmVjdGVkVG9Ob2RlKEF1ZGlvTm9k
ZSogbm9kZSkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICAvLyBGaXJzdCBjaGVjayBp
ZiB0aGlzIG5vZGUgaXMgYW4gQXVkaW9CdWZmZXJTb3VyY2VOb2RlLiAgSWYgc28sIGxldCBpdCBr
bm93IGFib3V0IHVzIHNvIHRoYXQgZG9wcGxlciBzaGlmdCBwaXRjaCBjYW4gYmUgdGFrZW4gaW50
byBhY2NvdW50LgotICAgIGlmIChub2RlLT50eXBlKCkgPT0gTm9kZVR5cGVBdWRpb0J1ZmZlclNv
dXJjZSkgeworICAgIGlmIChub2RlLT5ub2RlVHlwZSgpID09IE5vZGVUeXBlQXVkaW9CdWZmZXJT
b3VyY2UpIHsKICAgICAgICAgQXVkaW9CdWZmZXJTb3VyY2VOb2RlKiBidWZmZXJTb3VyY2VOb2Rl
ID0gcmVpbnRlcnByZXRfY2FzdDxBdWRpb0J1ZmZlclNvdXJjZU5vZGUqPihub2RlKTsKICAgICAg
ICAgYnVmZmVyU291cmNlTm9kZS0+c2V0UGFubmVyTm9kZSh0aGlzKTsKICAgICB9IGVsc2UgeyAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAKaW5kZXgg
YTYxZWU1YjRkZmRjYWE3NjMyOGU0YWIyYzMxYjNhOTYzODNkOWRiNS4uY2VkMDdiOGJhZDUwMTQ2
OTU2MGY4MGQ3YjUxNzlhNmIwZDNhYjgyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8v
QmlxdWFkRmlsdGVyTm9kZS5jcHAKQEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgIkJpcXVh
ZEZpbHRlck5vZGUuaCIKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBCaXF1YWRGaWx0ZXJOb2RlOjpCaXF1YWRGaWx0ZXJOb2RlKEF1ZGlvQ29u
dGV4dCogY29udGV4dCwgZG91YmxlIHNhbXBsZVJhdGUpCkBAIC0zOCw3ICs0MCwxNyBAQCBCaXF1
YWRGaWx0ZXJOb2RlOjpCaXF1YWRGaWx0ZXJOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZG91
YmxlIHNhbXBsZVJhdGUpCiAgICAgYmlxdWFkUHJvY2Vzc29yKCktPnBhcmFtZXRlcjEoKS0+c2V0
Q29udGV4dChjb250ZXh0KTsKICAgICBiaXF1YWRQcm9jZXNzb3IoKS0+cGFyYW1ldGVyMigpLT5z
ZXRDb250ZXh0KGNvbnRleHQpOwogICAgIGJpcXVhZFByb2Nlc3NvcigpLT5wYXJhbWV0ZXIzKCkt
PnNldENvbnRleHQoY29udGV4dCk7Ci0gICAgc2V0VHlwZShOb2RlVHlwZUJpcXVhZEZpbHRlcik7
CisgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVCaXF1YWRGaWx0ZXIpOworfQorCit2b2lkIEJpcXVh
ZEZpbHRlck5vZGU6OnNldFR5cGUodW5zaWduZWQgc2hvcnQgdHlwZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit7CisgICAgaWYgKHR5cGUgPiBCaXF1YWRQcm9jZXNzb3I6OkFsbHBhc3MpIHsKKyAgICAg
ICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAK
KyAgICBiaXF1YWRQcm9jZXNzb3IoKS0+c2V0VHlwZShzdGF0aWNfY2FzdDxCaXF1YWRQcm9jZXNz
b3I6OkZpbHRlclR5cGU+KHR5cGUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5oCmluZGV4IDU3OTkwNWI2Y2Vh
YTI4MDFiODQ1ZjQ5N2VhOWZjYTc2YWVmNWM2YzIuLmRmZTE3YjNhZDZhMjkxMjg3NWEzNTc5ZTY2
ZTRjYmJkMTQzYzM3NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0JpcXVh
ZEZpbHRlck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9CaXF1YWRGaWx0ZXJO
b2RlLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogICAgIH0KICAgICAKICAgICB1bnNpZ25l
ZCBzaG9ydCB0eXBlKCkgeyByZXR1cm4gYmlxdWFkUHJvY2Vzc29yKCktPnR5cGUoKTsgfQotICAg
IHZvaWQgc2V0VHlwZSh1bnNpZ25lZCBzaG9ydCB0eXBlKSB7IGJpcXVhZFByb2Nlc3NvcigpLT5z
ZXRUeXBlKHN0YXRpY19jYXN0PEJpcXVhZFByb2Nlc3Nvcjo6RmlsdGVyVHlwZT4odHlwZSkpOyB9
CisgICAgdm9pZCBzZXRUeXBlKHVuc2lnbmVkIHNob3J0IHR5cGUsIEV4Y2VwdGlvbkNvZGUmKTsK
IAogICAgIEF1ZGlvUGFyYW0qIGZyZXF1ZW5jeSgpIHsgcmV0dXJuIGJpcXVhZFByb2Nlc3Nvcigp
LT5wYXJhbWV0ZXIxKCk7IH0KICAgICBBdWRpb1BhcmFtKiBxKCkgeyByZXR1cm4gYmlxdWFkUHJv
Y2Vzc29yKCktPnBhcmFtZXRlcjIoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9CaXF1
YWRGaWx0ZXJOb2RlLmlkbAppbmRleCA4MTdmNjU4NjNkNjJlMDMyZWY4YzY5MzY3NTlhYmM0YWM3
YzQ2ZTVhLi41ODYxYjg4OWNjZjU3MjViYzJkOGRkOTRhYzJlNDk4ZWY4MjZkZTZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbApAQCAtMzcsNyArMzcs
OSBAQCBtb2R1bGUgYXVkaW8gewogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBOT1RDSCA9
IDY7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEFMTFBBU1MgPSA3OwogCi0gICAgICAg
IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCB0eXBlOworICAgICAgICBhdHRyaWJ1dGUgdW5zaWdu
ZWQgc2hvcnQgdHlwZQorICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwor
ICAgICAgICAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZnJlcXVlbmN5
OyAvLyBpbiBIZXJ0egogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBROyAv
LyBRdWFsaXR5IGZhY3RvcgogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBn
YWluOyAvLyBpbiBEZWNpYmVscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8v
QmlxdWFkUHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9CaXF1YWRQcm9jZXNz
b3IuaAppbmRleCAzYmI3YTAxNTA1OWQyZGFmMWFlZjFlYmQ0ZDhlMWZkNGU1YjE3NjA0Li4zYzUy
MTg1MmQwMzE3ODZhMmM1NmRmNjlkNTA2NmFmMzg1YmEzNWE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9CaXF1YWRQcm9jZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
ZWJhdWRpby9CaXF1YWRQcm9jZXNzb3IuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAg
QXVkaW9QYXJhbSogcGFyYW1ldGVyMygpIHsgcmV0dXJuIG1fcGFyYW1ldGVyMy5nZXQoKTsgfQog
CiAgICAgRmlsdGVyVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9Ci0gICAgdm9p
ZCBzZXRUeXBlKEZpbHRlclR5cGUgdHlwZSkgeyBtX3R5cGUgPSB0eXBlOyB9CisgICAgdm9pZCBz
ZXRUeXBlKEZpbHRlclR5cGUgdHlwZSkgeyBtX3R5cGUgPSB0eXBlOyByZXNldCgpOyB9CiAKIHBy
aXZhdGU6CiAgICAgRmlsdGVyVHlwZSBtX3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0Nv
bnZvbHZlck5vZGUuY3BwCmluZGV4IDI2NTFhNTU5OGFmZWNkMmNiMTk0MWExNDRhOGVhMWIwZGU2
NWM1YjMuLjI4ZDU3ZGIzMTA0MmI3ODlkM2FmNGJkNDFiNzhhZjczOTgzMzgyOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuY3BwCkBAIC01MSw3ICs1MSw3IEBAIENv
bnZvbHZlck5vZGU6OkNvbnZvbHZlck5vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBkb3VibGUg
c2FtcGxlUmF0ZSkKICAgICBhZGRJbnB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlSW5wdXQodGhp
cykpKTsKICAgICBhZGRPdXRwdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAy
KSkpOwogICAgIAotICAgIHNldFR5cGUoTm9kZVR5cGVDb252b2x2ZXIpOworICAgIHNldE5vZGVU
eXBlKE5vZGVUeXBlQ29udm9sdmVyKTsKICAgICAKICAgICBpbml0aWFsaXplKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9EZWxheU5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvd2ViYXVkaW8vRGVsYXlOb2RlLmNwcAppbmRleCBiZjJkZWY1OWUxMjc3NGI5ODE4YzEw
NTA0YzNlM2Q2MGY3YTgwODM2Li5iNTc4ZDYwNDgwY2VjMTg2M2E2MmNmNjdmMjdjYmVlOGRjN2Y1
MTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9EZWxheU5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKQEAgLTM1LDcgKzM1LDcg
QEAgRGVsYXlOb2RlOjpEZWxheU5vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBkb3VibGUgc2Ft
cGxlUmF0ZSkKIHsKICAgICBtX3Byb2Nlc3NvciA9IGFkb3B0UHRyKG5ldyBEZWxheVByb2Nlc3Nv
cihzYW1wbGVSYXRlLCAxKSk7ICAgIAogICAgIGRlbGF5VGltZSgpLT5zZXRDb250ZXh0KGNvbnRl
eHQpOwotICAgIHNldFR5cGUoTm9kZVR5cGVEZWxheSk7CisgICAgc2V0Tm9kZVR5cGUoTm9kZVR5
cGVEZWxheSk7CiB9CiAKIEF1ZGlvUGFyYW0qIERlbGF5Tm9kZTo6ZGVsYXlUaW1lKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKaW5k
ZXggMjJlOGNkY2ZiZjU5NjgxM2I0YTlkMDBiODE2MGVhOWZmODVjYmRkMy4uNmZlYjI5NjA5MTg2
ODlhNjhiNzAzZjA4NTIzMjdmNGIxNDViNmQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgRHlu
YW1pY3NDb21wcmVzc29yTm9kZTo6RHluYW1pY3NDb21wcmVzc29yTm9kZShBdWRpb0NvbnRleHQq
IGNvbnRleHQsIGRvdWJsZSBzYW0KICAgICBhZGRJbnB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2Rl
SW5wdXQodGhpcykpKTsKICAgICBhZGRPdXRwdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1
dCh0aGlzLCAyKSkpOwogICAgIAotICAgIHNldFR5cGUoTm9kZVR5cGVEeW5hbWljc0NvbXByZXNz
b3IpOworICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlRHluYW1pY3NDb21wcmVzc29yKTsKICAgICAK
ICAgICBpbml0aWFsaXplKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRp
by9IaWdoUGFzczJGaWx0ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0hpZ2hQ
YXNzMkZpbHRlck5vZGUuY3BwCmluZGV4IDBlYzFkZWZjNzY2MjU0NjBlZmFjZDQ5ODYxMWRmZmFj
ZTliY2YyMDUuLjI3OTQ2ZGQ5OWZhMzQwOWZjYmI1YTZkZjY2MDg4ZmRlYmE1MzY2MzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0hpZ2hQYXNzMkZpbHRlck5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0hpZ2hQYXNzMkZpbHRlck5vZGUuY3BwCkBAIC0z
Nyw3ICszNyw3IEBAIEhpZ2hQYXNzMkZpbHRlck5vZGU6OkhpZ2hQYXNzMkZpbHRlck5vZGUoQXVk
aW9Db250ZXh0KiBjb250ZXh0LCBkb3VibGUgc2FtcGxlUmF0CiAgICAgYmlxdWFkUHJvY2Vzc29y
KCktPnBhcmFtZXRlcjEoKS0+c2V0Q29udGV4dChjb250ZXh0KTsKICAgICBiaXF1YWRQcm9jZXNz
b3IoKS0+cGFyYW1ldGVyMigpLT5zZXRDb250ZXh0KGNvbnRleHQpOwogICAgIGJpcXVhZFByb2Nl
c3NvcigpLT5wYXJhbWV0ZXIzKCktPnNldENvbnRleHQoY29udGV4dCk7Ci0gICAgc2V0VHlwZShO
b2RlVHlwZUhpZ2hQYXNzMkZpbHRlcik7CisgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVIaWdoUGFz
czJGaWx0ZXIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRpb05vZGUuY3BwCmluZGV4IDE3OTFkZTAwZDQzNjI3
ZWU0ZDlhOGQyOTc0MDAxZDMwNDA2NTJhMzIuLjQ4NzI5OWI0NjAyZDdiYzZhZTFkZGM2MmU0YjM1
MjVmMTMzYTY1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0phdmFTY3Jp
cHRBdWRpb05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0phdmFTY3JpcHRB
dWRpb05vZGUuY3BwCkBAIC04MSw3ICs4MSw3IEBAIEphdmFTY3JpcHRBdWRpb05vZGU6OkphdmFT
Y3JpcHRBdWRpb05vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBkb3VibGUgc2FtcGxlUmF0CiAg
ICAgYWRkSW5wdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZUlucHV0KHRoaXMpKSk7CiAgICAgYWRk
T3V0cHV0KGFkb3B0UHRyKG5ldyBBdWRpb05vZGVPdXRwdXQodGhpcywgMikpKTsKIAotICAgIHNl
dFR5cGUoTm9kZVR5cGVKYXZhU2NyaXB0KTsKKyAgICBzZXROb2RlVHlwZShOb2RlVHlwZUphdmFT
Y3JpcHQpOwogCiAgICAgaW5pdGlhbGl6ZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vTG93UGFzczJGaWx0ZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL0xvd1Bhc3MyRmlsdGVyTm9kZS5jcHAKaW5kZXggMTQ5YmQ0NWQ5MjAxZjlhYjA2YWUyNGVk
YTk5MjgxOWFiZGM0N2U5OS4uYWMyZGUxZmYyNGU2MDNiYjlmODZlM2NiZWM1NTAyODk3ZDc1NmY5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vTG93UGFzczJGaWx0ZXJOb2Rl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9Mb3dQYXNzMkZpbHRlck5vZGUuY3Bw
CkBAIC0zNyw3ICszNyw3IEBAIExvd1Bhc3MyRmlsdGVyTm9kZTo6TG93UGFzczJGaWx0ZXJOb2Rl
KEF1ZGlvQ29udGV4dCogY29udGV4dCwgZG91YmxlIHNhbXBsZVJhdGUpCiAgICAgYmlxdWFkUHJv
Y2Vzc29yKCktPnBhcmFtZXRlcjEoKS0+c2V0Q29udGV4dChjb250ZXh0KTsKICAgICBiaXF1YWRQ
cm9jZXNzb3IoKS0+cGFyYW1ldGVyMigpLT5zZXRDb250ZXh0KGNvbnRleHQpOwogICAgIGJpcXVh
ZFByb2Nlc3NvcigpLT5wYXJhbWV0ZXIzKCktPnNldENvbnRleHQoY29udGV4dCk7Ci0gICAgc2V0
VHlwZShOb2RlVHlwZUxvd1Bhc3MyRmlsdGVyKTsKKyAgICBzZXROb2RlVHlwZShOb2RlVHlwZUxv
d1Bhc3MyRmlsdGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAK
aW5kZXggNjViM2UyY2VlYzE1MGM3ZWMxM2M0N2RiMTgzODMxM2UwZmNkODc0Yi4uMjliNmVkMzRh
M2Q2NzUzN2FlZDBhMTNjZmQ5Y2JhM2UzYmVhYTA5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCkBAIC00Niw3
ICs0Niw3IEBAIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6TWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwKICAgICAvLyBEZWZhdWx0IHRvIHN0ZXJl
by4gVGhpcyBjb3VsZCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdoYXQgdGhlIG1lZGlhIGVsZW1lbnQg
LnNyYyBpcyBzZXQgdG8uCiAgICAgYWRkT3V0cHV0KGFkb3B0UHRyKG5ldyBBdWRpb05vZGVPdXRw
dXQodGhpcywgMikpKTsKICAgICAKLSAgICBzZXRUeXBlKE5vZGVUeXBlTWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2UpOworICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlTWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2UpOwogCiAgICAgaW5pdGlhbGl6ZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vUmVhbHRpbWVBbmFseXNlck5vZGUuY3BwCmluZGV4IDJiYTc1MWFhMmUxZmY2OTc5NzQwOGMy
NTdlYjMxYmYyMWIzYTU3MGQuLjQ0OWM4NGFmZWY5NzFhMDVjYjIzNzJjY2YzMWM3YzNjMWE0MjIx
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9k
ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgUmVhbHRpbWVBbmFseXNlck5vZGU6OlJlYWx0aW1lQW5h
bHlzZXJOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZG91YmxlIHNhbXBsZVIKICAgICBhZGRJ
bnB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlSW5wdXQodGhpcykpKTsKICAgICBhZGRPdXRwdXQo
YWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAyKSkpOwogICAgIAotICAgIHNldFR5
cGUoTm9kZVR5cGVBbmFseXNlcik7CisgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVBbmFseXNlcik7
CiAgICAgCiAgICAgaW5pdGlhbGl6ZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vV2F2
ZVNoYXBlck5vZGUuY3BwCmluZGV4IDA5ZDZhYWRhYmRkYWUxZmNhMzM5MTgyOGU5OTAyYzhjNjI0
MzM0MTAuLjAzNTA0ZTc3NzYwNWY3MmEyMTgyNmY5YTFiM2ZhMDE0MDRjZGE3MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5jcHAKQEAgLTM1LDcgKzM1LDcgQEAg
V2F2ZVNoYXBlck5vZGU6OldhdmVTaGFwZXJOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCkKICAg
ICA6IEF1ZGlvQmFzaWNQcm9jZXNzb3JOb2RlKGNvbnRleHQsIGNvbnRleHQtPnNhbXBsZVJhdGUo
KSkKIHsKICAgICBtX3Byb2Nlc3NvciA9IGFkb3B0UHRyKG5ldyBXYXZlU2hhcGVyUHJvY2Vzc29y
KGNvbnRleHQtPnNhbXBsZVJhdGUoKSwgMSkpOwotICAgIHNldFR5cGUoTm9kZVR5cGVXYXZlU2hh
cGVyKTsKKyAgICBzZXROb2RlVHlwZShOb2RlVHlwZVdhdmVTaGFwZXIpOwogfQogCiB2b2lkIFdh
dmVTaGFwZXJOb2RlOjpzZXRDdXJ2ZShGbG9hdDMyQXJyYXkqIGN1cnZlKQo=
</data>
<flag name="review"
          id="106610"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>