<?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>154187</bug_id>
          
          <creation_ts>2016-02-12 12:55:47 -0800</creation_ts>
          <short_desc>Modern IDB: Simplify the relationship between IDBObjectStore and IDBIndex</short_desc>
          <delta_ts>2016-02-12 15:01:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Safari 9</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>149117</blocked>
    
    <blocked>154015</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164286</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-12 12:55:47 -0800</bug_when>
    <thetext>Modern IDB: Simplify the relationship between IDBObjectStore and IDBIndex

The patch that landed to resolve https://bugs.webkit.org/show_bug.cgi?id=154110 was... weird. And an email thread has somewhat agreed we should simplify it by letting object stores build up a list of deleted indexes, instead of trying to let them die naturally, as creating/deleteing indexes are rare operations, and optimizing is not worth the... weirdness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164306</commentid>
    <comment_count>1</comment_count>
      <attachid>271214</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-02-12 13:44:02 -0800</bug_when>
    <thetext>Created attachment 271214
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164327</commentid>
    <comment_count>2</comment_count>
      <attachid>271214</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-02-12 14:09:28 -0800</bug_when>
    <thetext>Comment on attachment 271214
Patch v1

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

This makes ownership a lot easer to follow.

&gt; Source/WebCore/Modules/indexeddb/client/IDBObjectStoreImpl.cpp:572
&gt; +            m_deletedIndexes.add(WTFMove(index));

So this hangs onto the deleted indexes for as long as the object store exists.  If someone creates and deletes a lot of indexes, it would increase the memory, but I guess that&apos;s a rare thing to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164374</commentid>
    <comment_count>3</comment_count>
      <attachid>271214</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-12 15:01:21 -0800</bug_when>
    <thetext>Comment on attachment 271214
Patch v1

Clearing flags on attachment: 271214

Committed r196518: &lt;http://trac.webkit.org/changeset/196518&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164375</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-12 15:01:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271214</attachid>
            <date>2016-02-12 13:44:02 -0800</date>
            <delta_ts>2016-02-12 15:01:21 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>12705</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZTMwMzg1Li5mNzBlOGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDIt
MTIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IFNpbXBsaWZ5IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBJREJPYmplY3RTdG9yZSBhbmQg
SURCSW5kZXguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTQxODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMt
cHJpdmF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9kZWxldGVpbmRleC0zLXByaXZhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9kZWxldGVpbmRleC0zLmpzOiBB
ZGRlZC4KKwogMjAxNi0wMi0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4KIAogICAgICAgICBbRVM2XSBJbXBsZW1lbnQgQEBzZWFyY2gKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzA1ZDU4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Rl
bGV0ZWluZGV4LTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1RoaXMgdGVzdHMgY3Jl
YXRpbmcgYW4gaW5kZXgsIGRlbGV0aW5nIGl0LCBjcmVhdGluZyBhIG5ldyBvbmUgd2l0aCB0aGUg
c2FtZSBuYW1lLCBhbmQgbWFraW5nIHN1cmUgdGhvc2UgdHdvIGluZGV4ZXMgYXJlbid0IGVxdWFs
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gc2VsZi5pbmRl
eGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2Vs
Zi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2luZGV4ZWREQi5kZWxldGVEYXRh
YmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCitGaXJzdCBhbmQgU2Vjb25kIGlu
ZGV4ZXMgYXJlIHRoZSBzYW1lOiBmYWxzZQorRmlyc3QgaW5kZXgga2V5UGF0aDogZm9vCitTZWNv
bmQgaW5kZXgga2V5UGF0aDogYmFyCitGaXJzdCBpbmRleCB1bmlxdWU6IGZhbHNlCitTZWNvbmQg
aW5kZXggdW5pcXVlOiB0cnVlCitGaXJzdCBpbmRleCByZWZlcmVuY2VzIGJhY2sgdG8gb2JqZWN0
U3RvcmU6IHRydWUKK1NlY29uZCBpbmRleCByZWZlcmVuY2VzIGJhY2sgdG8gb2JqZWN0U3RvcmU6
IHRydWUKK29iamVjdFN0b3JlJ3MgaW5kZXggZm9yICdGb29JbmRleCcgaXMgZXF1YWwgdG8gZmly
c3QgaW5kZXg6IGZhbHNlCitvYmplY3RTdG9yZSdzIGluZGV4IGZvciAnRm9vSW5kZXgnIGlzIGVx
dWFsIHRvIHNlY29uZCBpbmRleDogdHJ1ZQorSW5pdGlhbCB1cGdyYWRlIHZlcnNpb25jaGFuZ2Ug
dHJhbnNhY3Rpb24gY29tcGxldGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vZGVsZXRlaW5kZXgtMy1wcml2YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLXByaXZhdGUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczMDVkNTgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5k
ZXgtMy1wcml2YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUaGlzIHRlc3RzIGNy
ZWF0aW5nIGFuIGluZGV4LCBkZWxldGluZyBpdCwgY3JlYXRpbmcgYSBuZXcgb25lIHdpdGggdGhl
IHNhbWUgbmFtZSwgYW5kIG1ha2luZyBzdXJlIHRob3NlIHR3byBpbmRleGVzIGFyZW4ndCBlcXVh
bC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHNlbGYuaW5k
ZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNl
bGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOworCitpbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorRmlyc3QgYW5kIFNlY29uZCBp
bmRleGVzIGFyZSB0aGUgc2FtZTogZmFsc2UKK0ZpcnN0IGluZGV4IGtleVBhdGg6IGZvbworU2Vj
b25kIGluZGV4IGtleVBhdGg6IGJhcgorRmlyc3QgaW5kZXggdW5pcXVlOiBmYWxzZQorU2Vjb25k
IGluZGV4IHVuaXF1ZTogdHJ1ZQorRmlyc3QgaW5kZXggcmVmZXJlbmNlcyBiYWNrIHRvIG9iamVj
dFN0b3JlOiB0cnVlCitTZWNvbmQgaW5kZXggcmVmZXJlbmNlcyBiYWNrIHRvIG9iamVjdFN0b3Jl
OiB0cnVlCitvYmplY3RTdG9yZSdzIGluZGV4IGZvciAnRm9vSW5kZXgnIGlzIGVxdWFsIHRvIGZp
cnN0IGluZGV4OiBmYWxzZQorb2JqZWN0U3RvcmUncyBpbmRleCBmb3IgJ0Zvb0luZGV4JyBpcyBl
cXVhbCB0byBzZWNvbmQgaW5kZXg6IHRydWUKK0luaXRpYWwgdXBncmFkZSB2ZXJzaW9uY2hhbmdl
IHRyYW5zYWN0aW9uIGNvbXBsZXRlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMtcHJpdmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMtcHJpdmF0ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNWI4NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMy1wcml2YXRlLmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitlbmFibGVQcml2
YXRlQnJvd3NpbmcgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9z
aGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RlbGV0ZWluZGV4LTMuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE1ZWY4YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVp
bmRleC0zLmh0bWwKQEAgLTAsMCArMSw5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9kZWxldGVpbmRleC0zLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9y
ZXNvdXJjZXMvZGVsZXRlaW5kZXgtMy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9yZXNvdXJjZXMvZGVsZXRlaW5kZXgtMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4wZTY4NTk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL3Jlc291cmNlcy9kZWxldGVpbmRleC0zLmpzCkBAIC0wLDAg
KzEsNDEgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIGNyZWF0aW5nIGFuIGluZGV4LCBkZWxl
dGluZyBpdCwgY3JlYXRpbmcgYSBuZXcgb25lIHdpdGggdGhlIHNhbWUgbmFtZSwgYW5kIG1ha2lu
ZyBzdXJlIHRob3NlIHR3byBpbmRleGVzIGFyZW4ndCBlcXVhbC4iKTsKKworaW5kZXhlZERCVGVz
dChwcmVwYXJlRGF0YWJhc2UpOworCitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoZXZlbnQpCit7
CisgICAgdmFyIHZlcnNpb25UcmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbjsK
KyAgICB2YXIgZGF0YWJhc2UgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIHZhciBvYmplY3RT
dG9yZSA9IGRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKCJUZXN0T2JqZWN0U3RvcmUiKTsKKyAg
ICBvYmplY3RTdG9yZS5wdXQoeyBmb286ICJhIiwgYmFyOiAiQSIgfSwgMSk7CisgICAgb2JqZWN0
U3RvcmUucHV0KHsgZm9vOiAiYiIsIGJhcjogIkIiIH0sIDIpOworCisgICAgdmFyIGluZGV4MSA9
IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCJGb29JbmRleCIsICJmb28iKTsKKyAgICBvYmplY3RT
dG9yZS5kZWxldGVJbmRleCgiRm9vSW5kZXgiKTsKKyAgICB2YXIgaW5kZXgyID0gb2JqZWN0U3Rv
cmUuY3JlYXRlSW5kZXgoIkZvb0luZGV4IiwgImJhciIsIHsgdW5pcXVlOiB0cnVlIH0pOworCisg
ICAgZGVidWcoIkZpcnN0IGFuZCBTZWNvbmQgaW5kZXhlcyBhcmUgdGhlIHNhbWU6ICIgKyAoaW5k
ZXgxID09IGluZGV4MikpOworICAgIGRlYnVnKCJGaXJzdCBpbmRleCBrZXlQYXRoOiAiICsgaW5k
ZXgxLmtleVBhdGgpOworICAgIGRlYnVnKCJTZWNvbmQgaW5kZXgga2V5UGF0aDogIiArIGluZGV4
Mi5rZXlQYXRoKTsKKyAgICBkZWJ1ZygiRmlyc3QgaW5kZXggdW5pcXVlOiAiICsgaW5kZXgxLnVu
aXF1ZSk7CisgICAgZGVidWcoIlNlY29uZCBpbmRleCB1bmlxdWU6ICIgKyBpbmRleDIudW5pcXVl
KTsKKyAgICBkZWJ1ZygiRmlyc3QgaW5kZXggcmVmZXJlbmNlcyBiYWNrIHRvIG9iamVjdFN0b3Jl
OiAiICsgKGluZGV4MS5vYmplY3RTdG9yZSA9PSBvYmplY3RTdG9yZSkpOworICAgIGRlYnVnKCJT
ZWNvbmQgaW5kZXggcmVmZXJlbmNlcyBiYWNrIHRvIG9iamVjdFN0b3JlOiAiICsgKGluZGV4Mi5v
YmplY3RTdG9yZSA9PSBvYmplY3RTdG9yZSkpOworICAgIGRlYnVnKCJvYmplY3RTdG9yZSdzIGlu
ZGV4IGZvciAnRm9vSW5kZXgnIGlzIGVxdWFsIHRvIGZpcnN0IGluZGV4OiAiICsgKG9iamVjdFN0
b3JlLmluZGV4KCJGb29JbmRleCIpID09IGluZGV4MSkpOworICAgIGRlYnVnKCJvYmplY3RTdG9y
ZSdzIGluZGV4IGZvciAnRm9vSW5kZXgnIGlzIGVxdWFsIHRvIHNlY29uZCBpbmRleDogIiArIChv
YmplY3RTdG9yZS5pbmRleCgiRm9vSW5kZXgiKSA9PSBpbmRleDIpKTsKKyAgICAKKyAgICB2ZXJz
aW9uVHJhbnNhY3Rpb24ub25hYm9ydCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIGRlYnVn
KCJJbml0aWFsIHVwZ3JhZGUgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbiB1bmV4cGVjdGVkIGFi
b3J0Iik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIHZlcnNpb25UcmFu
c2FjdGlvbi5vbmNvbXBsZXRlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgZGVidWcoIklu
aXRpYWwgdXBncmFkZSB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIGNvbXBsZXRlIik7CisgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKworICAgIHZlcnNpb25UcmFuc2FjdGlvbi5vbmVy
cm9yID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgZGVidWcoIkluaXRpYWwgdXBncmFkZSB2
ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIHVuZXhwZWN0ZWQgZXJyb3IiICsgZXZlbnQpOworICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODliYjMzMS4uNmQ5
YzQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAyLTEyICBCcmFkeSBFaWRz
b24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb2Rlcm4gSURCOiBTaW1wbGlmeSB0
aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gSURCT2JqZWN0U3RvcmUgYW5kIElEQkluZGV4LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MTg3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLXByaXZhdGUuaHRtbAorICAgICAgICAg
ICAgICAgc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMuaHRtbAorCisgICAg
ICAgIEluc3RlYWQgb2YgYWxsb3dpbmcgSURCSW5kZXggdG8gaGF2ZSB0d28gZGlmZmVyZW50IGxp
ZmVjeWNsZSBtb2RlcywgaXQgaXMgbm93IGFsd2F5cworICAgICAgICBvd25lZCBieSBhbiBJREJP
YmplY3RTdG9yZS4KKyAgICAgICAgCisgICAgICAgIFRvIHN1cHBvcnQgdGhlIGNhc2Ugd2hlcmUg
YW4gSURCSW5kZXggaXMgZGVsZXRlZCBmcm9tIGl0cyBJREJPYmplY3RTdG9yZSwgdGhlIG9iamVj
dAorICAgICAgICBzdG9yZSBzaW1wbHkgaGFuZ3Mgb24gdG8gZGVsZXRlZCBpbmRleGVzIHVudGls
IGl0IGlzIGRlc3Ryb3llZCBpdHNlbGYuCisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJJbmRleEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xp
ZW50OjpJREJJbmRleDo6bWFya0FzRGVsZXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQkluZGV4OjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJJbmRl
eDo6ZGVyZWYpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJJbmRleElt
cGwuaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9i
amVjdFN0b3JlSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQk9iamVj
dFN0b3JlOjpkZWxldGVJbmRleCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQk9iamVjdFN0b3JlSW1wbC5oOgorCiAyMDE2LTAyLTEyICBBbmRyZWFzIEtsaW5nICA8YWts
aW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJvdyBvdXQgYWxsIGxpdmUgcmVzb3VyY2UgZGVj
b2RlZCBkYXRhIG9uIG1lbW9yeSBwcmVzc3VyZSAvIHN1c3BlbnNpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCSW5kZXhJbXBsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJJbmRleEltcGwuY3Bw
CmluZGV4IGNmMmU2ZTIuLmFhMTA1N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJJbmRleEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJJbmRleEltcGwuY3BwCkBAIC0zMzksNDkgKzMz
OSwyMCBAQCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4gSURCSW5kZXg6OmRvR2V0S2V5KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsCiAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLnJl
cXVlc3RHZXRLZXkoY29udGV4dCwgKnRoaXMsIHJhbmdlKTsKIH0KIAotdm9pZCBJREJJbmRleDo6
bWFya0FzRGVsZXRlZChzdGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+JiYgaW5kZXhPd25lcikKK3Zv
aWQgSURCSW5kZXg6Om1hcmtBc0RlbGV0ZWQoKQogewogICAgIEFTU0VSVCghbV9kZWxldGVkKTsK
LSAgICBBU1NFUlQoIW1fc2VsZk93bmVyKTsKLSAgICBBU1NFUlQoaW5kZXhPd25lci5nZXQoKSA9
PSB0aGlzKTsKLQotICAgIC8vIElmIG5vYm9keSB3YXMga2VlcGluZyBhIHJlZiB0byB0aGlzIElE
QkluZGV4IHdoaWxlIHVuZGVyIElEQk9iamVjdFN0b3JlIG93bmVyc2hpcCwKLSAgICAvLyBpdCBj
YW4gYmUgZGVsZXRlZCBub3cgYnkgbGV0dGluZyBpbmRleE93bmVyIGdvIG91dCBvZiBzY29wZS4K
LSAgICBpZiAoIW1fcmVmQ291bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fc2VsZk93bmVy
ID0gV1RGTW92ZShpbmRleE93bmVyKTsKLQotICAgIC8vIE5vdyB0aGF0IHRoZSBJREJJbmRleCBp
cyBtYW5hZ2luZyBpdHMgb3duIGxpZmV0aW1lLCBpdCBtdXN0IHJlZigpIGl0cyBJREJPYmplY3RT
dG9yZSB0byBrZWVwIGl0IGFsaXZlLgotICAgIG1fb2JqZWN0U3RvcmVSZWYgPSAmbV9vYmplY3RT
dG9yZTsKLQotICAgIC8vIEl0IG11c3QgdW5kbyBhbGwgb2YgdGhlIHJlZnMgaXQgaGFkIHByZXZp
b3VzbHkgZ2l2ZW4gaXRzIElEQk9iamVjdFN0b3JlIHdoZW4gdGhlIGxpZmV0aW1lcyB3ZXJlIGlu
dGVydHdpbmVkLgotICAgIGZvciAodW5zaWduZWQgaSA9IG1fcmVmQ291bnQ7IGkgPiAwOyAtLWkp
Ci0gICAgICAgIG1fb2JqZWN0U3RvcmUuZGVyZWYoKTsKLQogICAgIG1fZGVsZXRlZCA9IHRydWU7
CiB9CiAKIHZvaWQgSURCSW5kZXg6OnJlZigpCiB7Ci0gICAgKyttX3JlZkNvdW50OwotCi0gICAg
aWYgKCFtX2RlbGV0ZWQpCi0gICAgICAgIG1fb2JqZWN0U3RvcmUucmVmKCk7CisgICAgbV9vYmpl
Y3RTdG9yZS5yZWYoKTsKIH0KIAogdm9pZCBJREJJbmRleDo6ZGVyZWYoKQogewotICAgIC0tbV9y
ZWZDb3VudDsKLQotICAgIGlmICghbV9kZWxldGVkKQotICAgICAgICBtX29iamVjdFN0b3JlLmRl
cmVmKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIFRoaXMgSURCSW5kZXggaGFzIGJlZW4gZGV0
YWNoZWQgZnJvbSBpdHMgSURCT2JqZWN0U3RvcmUgc28gaWYgaXRzIFJlZkNvdW50Ci0gICAgICAg
IC8vIGp1c3Qgd2VudCB0byAwIGl0IHNob3VsZCBiZSBkZXN0cm95ZWQuCi0gICAgICAgIGlmICgh
bV9yZWZDb3VudCkKLSAgICAgICAgICAgIG1fc2VsZk93bmVyID0gbnVsbHB0cjsKLSAgICB9Cisg
ICAgbV9vYmplY3RTdG9yZS5kZXJlZigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBJREJDbGllbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJJ
bmRleEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJJ
bmRleEltcGwuaAppbmRleCBiMDgyZjY3Li40YzczYTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCSW5kZXhJbXBsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkluZGV4SW1wbC5oCkBAIC03OSw3
ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIElEQk9iamVjdFN0b3JlJiBtb2Rlcm5PYmplY3RTdG9y
ZSgpIHsgcmV0dXJuIG1fb2JqZWN0U3RvcmU7IH0KIAotICAgIHZvaWQgbWFya0FzRGVsZXRlZChz
dGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+JiYpOworICAgIHZvaWQgbWFya0FzRGVsZXRlZCgpOwog
ICAgIGJvb2wgaXNEZWxldGVkKCkgY29uc3QgeyByZXR1cm4gbV9kZWxldGVkOyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNNb2Rlcm4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CkBA
IC05NiwxOSArOTYsOSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2RlbGV0ZWQgeyBmYWxzZSB9
OwogCi0gICAgLy8gTW9zdCBvZiB0aGUgdGltZSwgYW4gSURCT2JqZWN0U3RvcmUgb3ducyBhbiBJ
REJJbmRleCB0aHJvdWdoIGEgc3RkOjp1bmlxdWVfcHRyLgotICAgIC8vIEluIHRoYXQgc2NlbmFy
aW8sIGF0dGVtcHRzIHRvIHJlZigpIHRoZSBJREJJbmRleCBkaXJlY3RseSByZWYgdGhlIElEQk9i
amVjdFN0b3JlLCBzbyBpdCBpcyBva2F5IHRvCi0gICAgLy8ga2VlcCBhIHJhdyByZWZlcmVuY2Ug
dG8gdGhlIElEQk9iamVjdFN0b3JlIGJlY2F1c2UgaXQgd2lsbCBhbHdheXMgb3V0bGl2ZSB0aGUg
SURCSW5kZXguCisgICAgLy8gSURCSW5kZXggb2JqZWN0cyBhcmUgYWx3YXlzIG93bmVkIGJ5IHRo
ZWlyIHJlZmVyZW5jaW5nIElEQk9iamVjdFN0b3JlLgorICAgIC8vIEluZGV4ZXMgd2lsbCBuZXZl
ciBvdXRsaXZlIE9iamVjdFN0b3JlcyBzbyBpdHMgb2theSB0byBrZWVwIGEgcmF3IEMrKyByZWZl
cmVuY2UgaGVyZS4KICAgICBJREJPYmplY3RTdG9yZSYgbV9vYmplY3RTdG9yZTsKLQotICAgIC8v
IEJ1dCB3aGVuIGFuIElEQkluZGV4IGlzIGRlbGV0ZWQgZnJvbSBpdHMgSURCT2JqZWN0U3RvcmUg
dGhhdCBsaWZldGltZSBpcyBubyBsb25nZXIgZ3VhcmFudGVlZC4KLSAgICAvLyBUaGUgSURCT2Jq
ZWN0U3RvcmUgbm8gbG9uZ2VyIG93bnMgdGhlIElEQkluZGV4LCBzbyB0aGUgZm9sbG93aW5nIG5l
ZWRzIHRvIGNoYW5nZToKLSAgICAvLyAxIC0gVGhlIElEQkluZGV4IG11c3QgZGlyZWN0bHkgcmVm
IGl0cyBJREJPYmplY3RTdG9yZSB0byBrZWVwIGl0IGFsaXZlLgotICAgIC8vIDIgLSBUaGUgSURC
SW5kZXggYmVjb21lcyB0cmFkaXRpb25hbGx5IFJlZkNvdW50ZWQuCi0gICAgLy8gMiAtIFRoZSBJ
REJJbmRleCBob2xkcyBpdHMgb3duIHN0ZDo6dW5pcXVlX3B0ciwgd2hpY2ggaXQgd2lsbCBjbGVh
ciBvdXQgd2hlbiBpdHMgUmVmQ291bnQgcmVhY2hlcyAwLgotICAgIFJlZlB0cjxJREJPYmplY3RT
dG9yZT4gbV9vYmplY3RTdG9yZVJlZjsKLSAgICB1bnNpZ25lZCBtX3JlZkNvdW50IHsgMCB9Owot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxJREJJbmRleD4gbV9zZWxmT3duZXI7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBJREJDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKaW5kZXggMmEyZDM5
MC4uZmQxN2Q3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5jcHAKQEAgLTU2Nyw4ICs1Njcs
MTEgQEAgdm9pZCBJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1l
LCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmIGUKIAogICAgIHsKICAgICAgICAgTG9ja2VyPExv
Y2s+IGxvY2tlcihtX3JlZmVyZW5jZWRJbmRleExvY2spOwotICAgICAgICBpZiAoYXV0byBpbmRl
eCA9IG1fcmVmZXJlbmNlZEluZGV4ZXMudGFrZShuYW1lKSkKLSAgICAgICAgICAgIGluZGV4LT5t
YXJrQXNEZWxldGVkKFdURk1vdmUoaW5kZXgpKTsKKyAgICAgICAgaWYgKGF1dG8gaW5kZXggPSBt
X3JlZmVyZW5jZWRJbmRleGVzLnRha2UobmFtZSkpIHsKKyAgICAgICAgICAgIGluZGV4LT5tYXJr
QXNEZWxldGVkKCk7CisgICAgICAgICAgICBtX2RlbGV0ZWRJbmRleGVzLmFkZChXVEZNb3ZlKGlu
ZGV4KSk7CisgICAgICAgIH0KKwogICAgIH0KIAogICAgIG1fdHJhbnNhY3Rpb24tPmRlbGV0ZUlu
ZGV4KG1faW5mby5pZGVudGlmaWVyKCksIG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9iamVjdFN0b3JlSW1wbC5oCmlu
ZGV4IDYwOTZhZmUuLjIxYjI4M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJPYmplY3RTdG9yZUltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT2JqZWN0U3RvcmVJbXBsLmgKQEAgLTExNyw2
ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJsZSBMb2NrIG1fcmVmZXJlbmNlZEluZGV4
TG9jazsKICAgICBIYXNoTWFwPFN0cmluZywgc3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9y
ZWZlcmVuY2VkSW5kZXhlczsKKyAgICBIYXNoU2V0PHN0ZDo6dW5pcXVlX3B0cjxJREJJbmRleD4+
IG1fZGVsZXRlZEluZGV4ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJREJDbGllbnQK
</data>

          </attachment>
      

    </bug>

</bugzilla>