<?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>128687</bug_id>
          
          <creation_ts>2014-02-12 14:04:49 -0800</creation_ts>
          <short_desc>Web Inspector: Get InspectorIndexedDBAgent working</short_desc>
          <delta_ts>2014-02-13 13:33:38 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>979999</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-12 14:04:49 -0800</bug_when>
    <thetext>Make InspectorIndexedDBAgent work again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980001</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-12 14:05:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/16052081&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980029</commentid>
    <comment_count>2</comment_count>
      <attachid>224010</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-12 14:59:35 -0800</bug_when>
    <thetext>Created attachment 224010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980039</commentid>
    <comment_count>3</comment_count>
      <attachid>224010</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-12 15:06:28 -0800</bug_when>
    <thetext>Comment on attachment 224010
Patch

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

&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:62
&gt; +typedef HashMap&lt;String, HashSet&lt;String&gt;&gt; IDBRecentDatabaseNameMap;
&gt; +
&gt; +static IDBRecentDatabaseNameMap&amp; sharedRecentDatabaseNameMap()

There&apos;s been a recent growing backlash against typedefs for maps like these.  I know there&apos;s some in the IDB code already.  Please don&apos;t add this new one  :)

&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:129
&gt; +    ASSERT(!securityOriginIdentifier.isNull());

s/isNull/isEmpty/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980045</commentid>
    <comment_count>4</comment_count>
      <attachid>224010</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-12 15:25:10 -0800</bug_when>
    <thetext>Comment on attachment 224010
Patch

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

&gt; Source/WebCore/ChangeLog:18
&gt; +        Make DOMStringList.h private some WebKit2 can use it.

Typo: &quot;some&quot; =&gt; &quot;so&quot;

&gt; Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:100
&gt; +        callbacks-&gt;onError(IDBDatabaseError::create(IDBDatabaseException::InvalidAccessError, &quot;Document is not allowed to use Indexed Databases&quot;));

Nit: You could use ASCIILiteral for the Error string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980420</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-13 13:33:38 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/164051</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224010</attachid>
            <date>2014-02-12 14:59:35 -0800</date>
            <delta_ts>2014-02-12 15:25:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128687-20140212145935.patch</filename>
            <type>text/plain</type>
            <size>20117</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDExOTc5MDM5OGVkNTQ1
ZDNiNTIxYTcyNjA2Y2FlYjU0ZWJlMjkyNi4uZjMyMjI3YjAzYWM0ZmZmMmIwNTcwOGE2OTA0NmUz
ZmNhMDUzYTg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE0LTAyLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAorICAgICAgICBFbmFibGUgaW5zcGVj
dGlvbiBvZiByZWNlbnRseSB1c2VkIEluZGV4ZWREQiBkYXRhYmFzZXMuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODY4NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5OjpnZXREYXRhYmFz
ZU5hbWVzKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZElu
dGVyZmFjZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCRmFjdG9y
eUJhY2tlbmRMZXZlbERCLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5k
TGV2ZWxEQjo6Z2V0RGF0YWJhc2VOYW1lcyk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
bGV2ZWxkYi9JREJGYWN0b3J5QmFja2VuZExldmVsREIuaDoKKyAgICAgICAgRml4IHVwIHRoZSBh
cmd1bWVudHMgcGFzc2VkIHRvIGdldERhdGFiYXNlTmFtZXMuCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIE1ha2UgRE9NU3RyaW5nTGlzdC5o
IHByaXZhdGUgc29tZSBXZWJLaXQyIGNhbiB1c2UgaXQuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwOgorICAgICAgICBNb2Rlcm5pemUgdGhlIGxvb3Bz
IGFuZCByZW1vdmUgc29tZSBQTEFURk9STShDT0NPQSkgaWZkZWZzIHRvCisgICAgICAgIGNvbXBp
bGUgdGhlIGNvZGUuIAorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0luZGV4ZWREQi5q
c29uOiBVc2UgbnVtYmVyIGZvciB2ZXJzaW9uIHRvCisgICAgICAgIGFsbG93IGxhcmdlciB2YWx1
ZXMgaW5zdGVhZCBvZiBjbGFtcGluZyB0byBpbnQuCisKKzIwMTQtMDItMTIgIFRpbW90aHkgSGF0
Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBhIG1pc3NpbmcgIjogIiBi
ZXR3ZWVuIHRoZSBVUkwgYW5kIGV4Y2VwdGlvbiBpbiBTVERPVVQgbG9ncy4KIAogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4Njg5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOWI3MzIxNGZlODM0NjgyMzNjYTNmYWJkMWY3OWI2ZWI2ZTVkOGYxYy4uMmNiNjdhNDg5MGZm
MmNkOGExMDM4NzY3N2Y2ZTI3ZDJhNWY5YmU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDE0LTAyLTEyICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAg
ICAgICBFbmFibGUgaW5zcGVjdGlvbiBvZiByZWNlbnRseSB1c2VkIEluZGV4ZWREQiBkYXRhYmFz
ZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
ODY4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkZhY3RvcnlCYWNrZW5kLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6c2hhcmVkUmVjZW50RGF0YWJhc2VOYW1lTWFwKToKKyAgICAgICAg
KFdlYktpdDo6Y29tYmluZWRTZWN1cml0eU9yaWdpbklkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJGYWN0b3J5QmFja2VuZDo6V2ViSURCRmFjdG9yeUJhY2tlbmQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJGYWN0b3J5QmFja2VuZDo6Z2V0RGF0YWJhc2VOYW1lcyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQkZhY3RvcnlCYWNrZW5kOjpvcGVuKToKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCRmFjdG9yeUJhY2tlbmQ6OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgS2VlcCB0
cmFjayBvZiByZWNlbnRseSB1c2VkIGRhdGFiYXNlIG5hbWVzIHBlciBzZWN1cml0eS1vcmlnaW4g
cGFpci4KKyAgICAgICAgSW1wbGVtZW50IGdldERhdGFiYXNlTmFtZXMgdG8gcmV0dXJuIHRoZSBy
ZWNlbnRseSB1c2VkIG5hbWVzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5k
ZXhlZERCL1dlYklEQkZhY3RvcnlCYWNrZW5kLmg6CisgICAgICAgIEZpeCB1cCB0aGUgYXJndW1l
bnRzIHBhc3NlZCB0byBnZXREYXRhYmFzZU5hbWVzLgorCiAyMDE0LTAyLTEwICBNYXJ0aW4gSG9j
ayAgPG1ob2NrQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgQVBJIGZvciBhY2Nlc3Npbmcgc2Vz
c2lvbiBlcGhlbWVyYWxpdHkgZnJvbSBhIHBhZ2UgYnVuZGxlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnkuY3BwCmluZGV4IDgyMWZmYzVhNGVjMGE3NDU1
NmUxN2ZhZjc1Njg1ODAwNDFlMjcyMjguLjgzNTkzNzEyOWRlNTgzOTIzYTI1MGVjM2RhMjUzN2E1
NGQ5NjlhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZh
Y3RvcnkuY3BwCkBAIC0xMDMsNyArMTAzLDcgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJG
YWN0b3J5OjpnZXREYXRhYmFzZU5hbWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnQKICAg
ICB9CiAKICAgICBSZWZQdHI8SURCUmVxdWVzdD4gcmVxdWVzdCA9IElEQlJlcXVlc3Q6OmNyZWF0
ZShjb250ZXh0LCBJREJBbnk6OmNyZWF0ZSh0aGlzKSwgMCk7Ci0gICAgbV9iYWNrZW5kLT5nZXRE
YXRhYmFzZU5hbWVzKHJlcXVlc3QsIGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIGNvbnRleHQs
IGdldEluZGV4ZWREQkRhdGFiYXNlUGF0aChjb250ZXh0KSk7CisgICAgbV9iYWNrZW5kLT5nZXRE
YXRhYmFzZU5hbWVzKHJlcXVlc3QsICooY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSksICooY29u
dGV4dC0+dG9wT3JpZ2luKCkpLCBjb250ZXh0LCBnZXRJbmRleGVkREJEYXRhYmFzZVBhdGgoY29u
dGV4dCkpOwogICAgIHJldHVybiByZXF1ZXN0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2Uu
aAppbmRleCAyMjFlMmMwYTQyZDhhYzc2NzhiODM1NjhhZDBiYzhjZGNiOWNlOGVlLi40MzE4ZDIw
M2E3OWMyOTA5ZGU3ODcwODE4MGUxMWU4OGE2NWJiMzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBkYXRhYmFzZURp
cmVjdG9yeUlkZW50aWZpZXIpOwogICAgIHZpcnR1YWwgfklEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlKCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0RGF0YWJhc2VOYW1lcyhQYXNzUmVmUHRy
PElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGdldERhdGFiYXNlTmFtZXMoUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBjb25zdCBTZWN1cml0
eU9yaWdpbiYgb3BlbmluZ09yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG1haW5GcmFtZU9y
aWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgZGF0YURpcikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgdWludDY0X3QgdmVy
c2lvbiwgaW50NjRfdCB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBh
c3NSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgb3Bl
bmluZ09yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG1haW5GcmFtZU9yaWdpbikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiBvcGVuaW5nT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgbWFp
bkZyYW1lT3JpZ2luLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBjb25zdCBTdHJpbmcmIGRhdGFEaXIpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJGYWN0b3J5QmFja2VuZExldmVs
REIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJGYWN0
b3J5QmFja2VuZExldmVsREIuY3BwCmluZGV4IDFmMWNhYThiM2IxOWIwZGEzMTg2Y2NjNjg0ZjZk
NzBjODc0ODIyNWUuLjMzNmNmMDMwY2JlZWM0ODU4YWE0NmE4NGQ3N2UwOWFmODMxYTJlNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCRmFj
dG9yeUJhY2tlbmRMZXZlbERCLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9sZXZlbGRiL0lEQkZhY3RvcnlCYWNrZW5kTGV2ZWxEQi5jcHAKQEAgLTg0LDExICs4NCwx
MCBAQCB2b2lkIElEQkZhY3RvcnlCYWNrZW5kTGV2ZWxEQjo6cmVtb3ZlSURCRGF0YWJhc2VCYWNr
ZW5kKGNvbnN0IFN0cmluZyYgdW5pcXVlSWRlbgogICAgIG1fZGF0YWJhc2VCYWNrZW5kTWFwLnJl
bW92ZSh1bmlxdWVJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBJREJGYWN0b3J5QmFja2VuZExldmVs
REI6OmdldERhdGFiYXNlTmFtZXMoUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywg
UGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4sIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIGRhdGFEaXJlY3RvcnkpCit2b2lkIElEQkZhY3RvcnlC
YWNrZW5kTGV2ZWxEQjo6Z2V0RGF0YWJhc2VOYW1lcyhQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4g
Y2FsbGJhY2tzLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgb3BlbmluZ09yaWdpbiwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBkYXRh
RGlyZWN0b3J5KQogewotICAgIEFTU0VSVChzZWN1cml0eU9yaWdpbik7CiAgICAgTE9HKFN0b3Jh
Z2VBUEksICJJREJGYWN0b3J5QmFja2VuZExldmVsREI6OmdldERhdGFiYXNlTmFtZXMiKTsKLSAg
ICBSZWZQdHI8SURCQmFja2luZ1N0b3JlTGV2ZWxEQj4gYmFja2luZ1N0b3JlID0gb3BlbkJhY2tp
bmdTdG9yZSgqc2VjdXJpdHlPcmlnaW4sIGRhdGFEaXJlY3RvcnkpOworICAgIFJlZlB0cjxJREJC
YWNraW5nU3RvcmVMZXZlbERCPiBiYWNraW5nU3RvcmUgPSBvcGVuQmFja2luZ1N0b3JlKCpvcGVu
aW5nT3JpZ2luLCBkYXRhRGlyZWN0b3J5KTsKICAgICBpZiAoIWJhY2tpbmdTdG9yZSkgewogICAg
ICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJJbnRlcm5hbCBlcnJvciBvcGVuaW5nIGJhY2tp
bmcgc3RvcmUgZm9yIGluZGV4ZWREQi53ZWJraXRHZXREYXRhYmFzZU5hbWVzLiIpKTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
bGV2ZWxkYi9JREJGYWN0b3J5QmFja2VuZExldmVsREIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCRmFjdG9yeUJhY2tlbmRMZXZlbERCLmgKaW5kZXggZDE2
OWJiMGFhYzkyN2NjMzFjYTlmN2ZmNTgwZGU4YTA0YjZkNDU1OC4uZmYyZWRhOWMwNDg3ZTAxNjA4
ZjEyOTFiYjRlNzAzZGU4NzQ5MWY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvbGV2ZWxkYi9JREJGYWN0b3J5QmFja2VuZExldmVsREIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQkZhY3RvcnlCYWNrZW5kTGV2
ZWxEQi5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICAvLyBOb3RpZmljYXRpb25zIGZy
b20gd2VhayBwb2ludGVycy4KICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlSURCRGF0YWJhc2VCYWNr
ZW5kKGNvbnN0IFN0cmluZyYgdW5pcXVlSWRlbnRpZmllcikgb3ZlcnJpZGUgZmluYWw7CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZ2V0RGF0YWJhc2VOYW1lcyhQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4s
IFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29u
c3QgU3RyaW5nJiBkYXRhRGlyKSBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0
RGF0YWJhc2VOYW1lcyhQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luJiBvcGVuaW5nT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgbWFpbkZyYW1lT3JpZ2lu
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyKSBvdmVycmlk
ZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIHVpbnQ2
NF90IHZlcnNpb24sIGludDY0X3QgdHJhbnNhY3Rpb25JZCwgUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiwgY29uc3QgU2VjdXJpdHlPcmln
aW4mIG9wZW5pbmdPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBtYWluRnJhbWVPcmlnaW4p
IG92ZXJyaWRlIGZpbmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9wZW5pbmdPcmlnaW4sIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiBtYWluRnJhbWVPcmlnaW4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgZGF0YURpcikgb3ZlcnJp
ZGUgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNDY0ZTliODk3NmI5YjJkOTAwNTRjN2UwYWI3M2U1ZmYyMGUzMmFiNS4u
Nzc4MTAxN2FlYTdjYTZjNDA2ZTdjYzNhYWEzZWU0YTE5N2MyZGZkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTM4Myw3ICs1
MzgzLDcgQEAKIAkJQzUxNjBFRUExMDA0NTQzQTAwQTdDRUUyIC8qIFN0b3JhZ2VBcmVhSW1wbC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTE2MEVF
ODEwMDQ1NDNBMDBBN0NFRTIgLyogU3RvcmFnZUFyZWFJbXBsLmNwcCAqLzsgfTsKIAkJQzUxNjBF
RUIxMDA0NTQzQTAwQTdDRUUyIC8qIFN0b3JhZ2VBcmVhSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzUxNjBFRTkxMDA0NTQzQTAwQTdDRUUyIC8q
IFN0b3JhZ2VBcmVhSW1wbC5oICovOyB9OwogCQlDNTI3OEIwQzE3RjIxMkVBMDAzQTI5OTggLyog
UGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzUyNzhCMEIxN0YyMTJFQTAwM0EyOTk4IC8qIFBsYXRmb3JtUGFzdGVi
b2FyZElPUy5tbSAqLzsgfTsKLQkJQzU0NDI3NEIxMUE1N0U3QTAwNjNBNzQ5IC8qIERPTVN0cmlu
Z0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1
NDQyNzQ5MTFBNTdFN0EwMDYzQTc0OSAvKiBET01TdHJpbmdMaXN0LmggKi87IH07CisJCUM1NDQy
NzRCMTFBNTdFN0EwMDYzQTc0OSAvKiBET01TdHJpbmdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQ0Mjc0OTExQTU3RTdBMDA2M0E3NDkgLyog
RE9NU3RyaW5nTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUM1NTYxMEYxMTFBNzA0RUIwMEI4MkQyNyAvKiBET01TdHJpbmdMaXN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NTYxMEYwMTFB
NzA0RUIwMEI4MkQyNyAvKiBET01TdHJpbmdMaXN0LmNwcCAqLzsgfTsKIAkJQzU1QzdCQTExNzE4
QUZCQTAwMTMyN0U0IC8qIFJlbmRlclRoZW1lSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU1QzdCQTAxNzE4QUZCQTAwMTMyN0U0IC8qIFJlbmRl
clRoZW1lSU9TLm1tICovOyB9OwogCQlDNTVFMzhCRjEwMDQwRDVEMDBBNTZCREIgLyogU3RvcmFn
ZU5hbWVzcGFjZUltcGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEM1NUUzOEJCMTAwNDBENUQwMEE1NkJEQiAvKiBTdG9yYWdlTmFtZXNwYWNlSW1wbC5o
ICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
ZGV4ZWREQkFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRl
eGVkREJBZ2VudC5jcHAKaW5kZXggYmEyYTYwOGMyY2Q1OTRmNDc2ZTU4M2Q0Yzk4MTA0MWI5Zjkz
OTE4Ni4uNGYzNzYwYzJmZWQzZTAzOTk2MTA2Nzc3MDdlNTkwN2FmZTc3NGI3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3Bw
CkBAIC0yMzgsNyArMjM4LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8SURCSW5kZXg+IGluZGV4Rm9y
T2JqZWN0U3RvcmUoSURCT2JqZWN0U3RvcmUqIGlkYk9iamVjdFN0b3JlLAogICAgIHJldHVybiBp
ZGJJbmRleDsKIH0KIAotI2lmICFQTEFURk9STShDT0NPQSkKIHN0YXRpYyBQYXNzUmVmUHRyPEtl
eVBhdGg+IGtleVBhdGhGcm9tSURCS2V5UGF0aChjb25zdCBJREJLZXlQYXRoJiBpZGJLZXlQYXRo
KQogewogICAgIFJlZlB0cjxLZXlQYXRoPiBrZXlQYXRoOwpAQCAtMjY1LDcgKzI2NCw2IEBAIHN0
YXRpYyBQYXNzUmVmUHRyPEtleVBhdGg+IGtleVBhdGhGcm9tSURCS2V5UGF0aChjb25zdCBJREJL
ZXlQYXRoJiBpZGJLZXlQYXRoKQogCiAgICAgcmV0dXJuIGtleVBhdGgucmVsZWFzZSgpOwogfQot
I2VuZGlmIC8vICFQTEFURk9STShDT0NPQSkKIAogY2xhc3MgRGF0YWJhc2VMb2FkZXIgOiBwdWJs
aWMgRXhlY3V0YWJsZVdpdGhEYXRhYmFzZSB7CiBwdWJsaWM6CkBAIC0yNzgsOSArMjc2LDYgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGUoUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZT4gcHJwRGF0YWJhc2UpIG92ZXJyaWRlCiAgICAgewotI2lmIFBMQVRGT1JNKENPQ09BKQotICAg
ICAgICBBU1NFUlRfVU5VU0VEKHBycERhdGFiYXNlLCBwcnBEYXRhYmFzZSk7Ci0jZWxzZQogICAg
ICAgICBSZWZQdHI8SURCRGF0YWJhc2U+IGlkYkRhdGFiYXNlID0gcHJwRGF0YWJhc2U7CiAgICAg
ICAgIGlmICghcmVxdWVzdENhbGxiYWNrKCktPmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1
cm47CkBAIC0yODksMTQgKzI4NCwxMCBAQCBwdWJsaWM6CiAKICAgICAgICAgUmVmUHRyPEluc3Bl
Y3Rvcjo6VHlwZUJ1aWxkZXI6OkFycmF5PEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkluZGV4ZWRE
Qjo6T2JqZWN0U3RvcmU+PiBvYmplY3RTdG9yZXMgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpB
cnJheTxJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpJbmRleGVkREI6Ok9iamVjdFN0b3JlPjo6Y3Jl
YXRlKCk7CiAKLSAgICAgICAgZm9yIChJREJEYXRhYmFzZU1ldGFkYXRhOjpPYmplY3RTdG9yZU1h
cDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBkYXRhYmFzZU1ldGFkYXRhLm9iamVjdFN0b3Jlcy5iZWdp
bigpOyBpdCAhPSBkYXRhYmFzZU1ldGFkYXRhLm9iamVjdFN0b3Jlcy5lbmQoKTsgKytpdCkgewot
ICAgICAgICAgICAgY29uc3QgSURCT2JqZWN0U3RvcmVNZXRhZGF0YSYgb2JqZWN0U3RvcmVNZXRh
ZGF0YSA9IGl0LT52YWx1ZTsKLQorICAgICAgICBmb3IgKGNvbnN0IElEQk9iamVjdFN0b3JlTWV0
YWRhdGEmIG9iamVjdFN0b3JlTWV0YWRhdGEgOiBkYXRhYmFzZU1ldGFkYXRhLm9iamVjdFN0b3Jl
cy52YWx1ZXMoKSkgewogICAgICAgICAgICAgUmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6
OkFycmF5PEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkluZGV4ZWREQjo6T2JqZWN0U3RvcmVJbmRl
eD4+IGluZGV4ZXMgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpJbmRleGVkREI6Ok9iamVjdFN0b3JlSW5kZXg+OjpjcmVhdGUoKTsKIAotICAg
ICAgICAgICAgZm9yIChJREJPYmplY3RTdG9yZU1ldGFkYXRhOjpJbmRleE1hcDo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBvYmplY3RTdG9yZU1ldGFkYXRhLmluZGV4ZXMuYmVnaW4oKTsgaXQgIT0gb2Jq
ZWN0U3RvcmVNZXRhZGF0YS5pbmRleGVzLmVuZCgpOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAg
Y29uc3QgSURCSW5kZXhNZXRhZGF0YSYgaW5kZXhNZXRhZGF0YSA9IGl0LT52YWx1ZTsKLQorICAg
ICAgICAgICAgZm9yIChjb25zdCBJREJJbmRleE1ldGFkYXRhJiBpbmRleE1ldGFkYXRhIDogb2Jq
ZWN0U3RvcmVNZXRhZGF0YS5pbmRleGVzLnZhbHVlcygpKSB7CiAgICAgICAgICAgICAgICAgUmVm
UHRyPE9iamVjdFN0b3JlSW5kZXg+IG9iamVjdFN0b3JlSW5kZXggPSBPYmplY3RTdG9yZUluZGV4
OjpjcmVhdGUoKQogICAgICAgICAgICAgICAgICAgICAuc2V0TmFtZShpbmRleE1ldGFkYXRhLm5h
bWUpCiAgICAgICAgICAgICAgICAgICAgIC5zZXRLZXlQYXRoKGtleVBhdGhGcm9tSURCS2V5UGF0
aChpbmRleE1ldGFkYXRhLmtleVBhdGgpKQpAQCAtMzEwLDE2ICszMDEsMTYgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgIC5zZXRLZXlQYXRoKGtleVBhdGhGcm9tSURCS2V5UGF0aChvYmplY3RT
dG9yZU1ldGFkYXRhLmtleVBhdGgpKQogICAgICAgICAgICAgICAgIC5zZXRBdXRvSW5jcmVtZW50
KG9iamVjdFN0b3JlTWV0YWRhdGEuYXV0b0luY3JlbWVudCkKICAgICAgICAgICAgICAgICAuc2V0
SW5kZXhlcyhpbmRleGVzKTsKKwogICAgICAgICAgICAgb2JqZWN0U3RvcmVzLT5hZGRJdGVtKG9i
amVjdFN0b3JlKTsKICAgICAgICAgfQorCiAgICAgICAgIFJlZlB0cjxEYXRhYmFzZVdpdGhPYmpl
Y3RTdG9yZXM+IHJlc3VsdCA9IERhdGFiYXNlV2l0aE9iamVjdFN0b3Jlczo6Y3JlYXRlKCkKICAg
ICAgICAgICAgIC5zZXROYW1lKGRhdGFiYXNlTWV0YWRhdGEubmFtZSkKLSAgICAgICAgICAgIC5z
ZXRJbnRWZXJzaW9uKGRhdGFiYXNlTWV0YWRhdGEudmVyc2lvbikKLSAgICAgICAgICAgIC5zZXRW
ZXJzaW9uKFN0cmluZzo6bnVtYmVyKGRhdGFiYXNlTWV0YWRhdGEudmVyc2lvbikpCisgICAgICAg
ICAgICAuc2V0VmVyc2lvbihkYXRhYmFzZU1ldGFkYXRhLnZlcnNpb24pCiAgICAgICAgICAgICAu
c2V0T2JqZWN0U3RvcmVzKG9iamVjdFN0b3Jlcyk7CiAKICAgICAgICAgbV9yZXF1ZXN0Q2FsbGJh
Y2stPnNlbmRTdWNjZXNzKHJlc3VsdCk7Ci0jZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCiAgICAg
fQogCiAgICAgdmlydHVhbCBSZXF1ZXN0Q2FsbGJhY2sqIHJlcXVlc3RDYWxsYmFjaygpIG92ZXJy
aWRlIHsgcmV0dXJuIG1fcmVxdWVzdENhbGxiYWNrLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5kZXhlZERCLmpzb24gYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5kZXhlZERCLmpzb24KaW5kZXggNmMxNjQ5ZmE1MWUy
MmM5NDdjNzVlYjQxMTliYTk4ZjVhZWJjYTEyNC4uNzUzZDlkMmIzYzFmMTI1NzhkOGQ2N2NhMTkx
NGEwNGEwNzA4ODMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0luZGV4ZWREQi5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2Nv
bC9JbmRleGVkREIuanNvbgpAQCAtNyw4ICs3LDcgQEAKICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJEYXRhYmFzZSB3aXRoIGFuIGFycmF5IG9mIG9iamVjdCBzdG9yZXMuIiwKICAgICAgICAg
ICAgICJwcm9wZXJ0aWVzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmFtZSIsICJ0
eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJEYXRhYmFzZSBuYW1lLiIgfSwKLSAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInZlcnNpb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3Jp
cHRpb24iOiAiRGVwcmVjYXRlZCBzdHJpbmcgZGF0YWJhc2UgdmVyc2lvbi4iIH0sCi0gICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJpbnRWZXJzaW9uIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNj
cmlwdGlvbiI6ICJJbnRlZ2VyIGRhdGFiYXNlIHZlcnNpb24uIiB9LAorICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAidmVyc2lvbiIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6ICJE
YXRhYmFzZSB2ZXJzaW9uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm9iamVjdFN0
b3JlcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJPYmplY3RTdG9yZSIg
fSwgImRlc2NyaXB0aW9uIjogIk9iamVjdCBzdG9yZXMgaW4gdGhpcyBkYXRhYmFzZS4iIH0KICAg
ICAgICAgICAgIF0KICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJGYWN0b3J5QmFja2VuZC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCRmFjdG9yeUJh
Y2tlbmQuY3BwCmluZGV4IGE0NzExMzA2OTMzOTg4ZWIxNDJiNDg4ZGIzMDgyMzdiMzIzOTk0YmQu
LjAyNmM1Zjg3OTZiMTNkNTU5MTZhNzdjMjliOWY5Y2QxZDE5ZTIzMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJGYWN0b3J5
QmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5k
ZXhlZERCL1dlYklEQkZhY3RvcnlCYWNrZW5kLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgIldlYklEQlNlcnZlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAj
aW5jbHVkZSAiV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9ET01TdHJpbmdMaXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JREJDYWxsYmFja3MuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0lEQkN1cnNvckJhY2tlbmQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0lEQkRhdGFiYXNlQ2FsbGJhY2tzLmg+CkBAIC01NiwxOSArNTcsNjEgQEAgc3RhdGljIElEQkRh
dGFiYXNlQmFja2VuZE1hcCYgc2hhcmVkRGF0YWJhc2VCYWNrZW5kTWFwKCkKICAgICByZXR1cm4g
ZGF0YWJhc2VCYWNrZW5kTWFwOwogfQogCi1XZWJJREJGYWN0b3J5QmFja2VuZDo6V2ViSURCRmFj
dG9yeUJhY2tlbmQoY29uc3QgU3RyaW5nJikKK3R5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIEhhc2hT
ZXQ8U3RyaW5nPj4gSURCUmVjZW50RGF0YWJhc2VOYW1lTWFwOworCitzdGF0aWMgSURCUmVjZW50
RGF0YWJhc2VOYW1lTWFwJiBzaGFyZWRSZWNlbnREYXRhYmFzZU5hbWVNYXAoKQogeworICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxJREJSZWNlbnREYXRhYmFzZU5hbWVNYXA+IHJlY2VudERhdGFi
YXNlTmFtZU1hcDsKKyAgICByZXR1cm4gcmVjZW50RGF0YWJhc2VOYW1lTWFwOwogfQogCitzdGF0
aWMgU3RyaW5nIGNvbWJpbmVkU2VjdXJpdHlPcmlnaW5JZGVudGlmaWVyKGNvbnN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luJiBvcGVuaW5nT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbiYgbWFpbkZyYW1lT3JpZ2luKQoreworICAgIFN0cmluZ0J1aWxkZXIgc3RyaW5nQnVpbGRl
cjsKKworICAgIFN0cmluZyBvcmlnaW5TdHJpbmcgPSBvcGVuaW5nT3JpZ2luLnRvU3RyaW5nKCk7
CisgICAgaWYgKG9yaWdpblN0cmluZyA9PSAibnVsbCIpCisgICAgICAgIHJldHVybiBTdHJpbmco
KTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZChvcmlnaW5TdHJpbmcpOworICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKCJfIik7CisKKyAgICBvcmlnaW5TdHJpbmcgPSBtYWluRnJhbWVPcmlnaW4u
dG9TdHJpbmcoKTsKKyAgICBpZiAob3JpZ2luU3RyaW5nID09ICJudWxsIikKKyAgICAgICAgcmV0
dXJuIFN0cmluZygpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKG9yaWdpblN0cmluZyk7CisK
KyAgICByZXR1cm4gc3RyaW5nQnVpbGRlci50b1N0cmluZygpOworfQorCitXZWJJREJGYWN0b3J5
QmFja2VuZDo6V2ViSURCRmFjdG9yeUJhY2tlbmQoY29uc3QgU3RyaW5nJikKK3sKK30KIAogV2Vi
SURCRmFjdG9yeUJhY2tlbmQ6On5XZWJJREJGYWN0b3J5QmFja2VuZCgpCiB7CiB9CiAKLXZvaWQg
V2ViSURCRmFjdG9yeUJhY2tlbmQ6OmdldERhdGFiYXNlTmFtZXMoUGFzc1JlZlB0cjxJREJDYWxs
YmFja3M+LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIGNvbnN0IFN0cmluZyYpCit2b2lkIFdlYklEQkZhY3RvcnlCYWNrZW5kOjpnZXREYXRhYmFz
ZU5hbWVzKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIGNvbnN0IFNlY3VyaXR5
T3JpZ2luJiBvcGVuaW5nT3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgbWFpbkZyYW1lT3Jp
Z2luLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmKQogewot
ICAgIExPR19FUlJPUigiSURCRmFjdG9yeTo6Z2V0RGF0YWJhc2VOYW1lcyBpcyBubyBsb25nZXIg
ZXhwb3NlZCB0byB0aGUgd2ViIGFzIGphdmFzY3JpcHQgQVBJIGFuZCBzaG91bGQgYmUgcmVtb3Zl
ZC4gSXQgd2lsbCBiZSBvbmNlIHdlIG1vdmUgdGhlIFdlYiBJbnNwZWN0b3IgYXdheSBvZiBvZiBp
dC4iKTsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIExPRyhJREIsICJXZWJJREJGYWN0b3J5
QmFja2VuZDo6Z2V0RGF0YWJhc2VOYW1lcyIpOworCisgICAgU3RyaW5nIHNlY3VyaXR5T3JpZ2lu
SWRlbnRpZmllciA9IGNvbWJpbmVkU2VjdXJpdHlPcmlnaW5JZGVudGlmaWVyKG9wZW5pbmdPcmln
aW4sIG1haW5GcmFtZU9yaWdpbik7CisgICAgaWYgKHNlY3VyaXR5T3JpZ2luSWRlbnRpZmllci5p
c051bGwoKSkgeworICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6
Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkQWNjZXNzRXJyb3IsICJEb2N1bWVu
dCBpcyBub3QgYWxsb3dlZCB0byB1c2UgSW5kZXhlZCBEYXRhYmFzZXMiKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBJREJSZWNlbnREYXRhYmFzZU5hbWVNYXA6Oml0ZXJhdG9yIHJl
Y2VudE5hbWVJdGVyYXRvciA9IHNoYXJlZFJlY2VudERhdGFiYXNlTmFtZU1hcCgpLmZpbmQoc2Vj
dXJpdHlPcmlnaW5JZGVudGlmaWVyKTsKKyAgICBpZiAocmVjZW50TmFtZUl0ZXJhdG9yID09IHNo
YXJlZFJlY2VudERhdGFiYXNlTmFtZU1hcCgpLmVuZCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gZGF0YWJhc2VOYW1lcyA9IERPTVN0cmluZ0xpc3Q6OmNy
ZWF0ZSgpOworCisgICAgSGFzaFNldDxTdHJpbmc+JiBmb3VuZE5hbWVzID0gcmVjZW50TmFtZUl0
ZXJhdG9yLT52YWx1ZTsKKyAgICBmb3IgKGNvbnN0IFN0cmluZyYgbmFtZSA6IGZvdW5kTmFtZXMp
CisgICAgICAgIGRhdGFiYXNlTmFtZXMtPmFwcGVuZChuYW1lKTsKKworICAgIGNhbGxiYWNrcy0+
b25TdWNjZXNzKGRhdGFiYXNlTmFtZXMucmVsZWFzZSgpKTsKIH0KIAogdm9pZCBXZWJJREJGYWN0
b3J5QmFja2VuZDo6b3Blbihjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgdWludDY0X3QgdmVy
c2lvbiwgaW50NjRfdCB0cmFuc2FjdGlvbklkLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2Fs
bGJhY2tzLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQ2FsbGJhY2tzPiBkYXRhYmFzZUNhbGxiYWNr
cywgY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9wZW5pbmdPcmlnaW4sIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luJiBtYWluRnJhbWVPcmlnaW4pCkBAIC04Miw2ICsxMjUsMTcgQEAgdm9pZCBXZWJJREJGYWN0
b3J5QmFja2VuZDo6b3Blbihjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgdWludDY0X3QgdmVy
c2lvbiwgaW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIFN0cmluZyBzZWN1cml0eU9y
aWdpbklkZW50aWZpZXIgPSBjb21iaW5lZFNlY3VyaXR5T3JpZ2luSWRlbnRpZmllcihvcGVuaW5n
T3JpZ2luLCBtYWluRnJhbWVPcmlnaW4pOworICAgIEFTU0VSVCghc2VjdXJpdHlPcmlnaW5JZGVu
dGlmaWVyLmlzTnVsbCgpKTsKKworICAgIElEQlJlY2VudERhdGFiYXNlTmFtZU1hcDo6aXRlcmF0
b3IgcmVjZW50TmFtZUl0ZXJhdG9yID0gc2hhcmVkUmVjZW50RGF0YWJhc2VOYW1lTWFwKCkuZmlu
ZChzZWN1cml0eU9yaWdpbklkZW50aWZpZXIpOworICAgIGlmIChyZWNlbnROYW1lSXRlcmF0b3Ig
PT0gc2hhcmVkUmVjZW50RGF0YWJhc2VOYW1lTWFwKCkuZW5kKCkpIHsKKyAgICAgICAgSGFzaFNl
dDxTdHJpbmc+IG5hbWVzOworICAgICAgICBuYW1lcy5hZGQoZGF0YWJhc2VOYW1lKTsKKyAgICAg
ICAgc2hhcmVkUmVjZW50RGF0YWJhc2VOYW1lTWFwKCkuc2V0KHNlY3VyaXR5T3JpZ2luSWRlbnRp
ZmllciwgbmFtZXMpOworICAgIH0gZWxzZQorICAgICAgICByZWNlbnROYW1lSXRlcmF0b3ItPnZh
bHVlLmFkZChkYXRhYmFzZU5hbWUpOworCiAgICAgSURCRGF0YWJhc2VCYWNrZW5kTWFwOjppdGVy
YXRvciBpdCA9IHNoYXJlZERhdGFiYXNlQmFja2VuZE1hcCgpLmZpbmQoZGF0YWJhc2VJZGVudGlm
aWVyKTsKIAogICAgIFJlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmQ+IGRhdGFiYXNlQmFja2VuZDsK
QEAgLTEwNiw2ICsxNjAsMTYgQEAgdm9pZCBXZWJJREJGYWN0b3J5QmFja2VuZDo6ZGVsZXRlRGF0
YWJhc2UoY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFNlY3UKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIFN0cmluZyBzZWN1cml0eU9yaWdpbklkZW50aWZpZXIgPSBjb21i
aW5lZFNlY3VyaXR5T3JpZ2luSWRlbnRpZmllcihvcGVuaW5nT3JpZ2luLCBtYWluRnJhbWVPcmln
aW4pOworICAgIEFTU0VSVCghc2VjdXJpdHlPcmlnaW5JZGVudGlmaWVyLmlzTnVsbCgpKTsKKwor
ICAgIElEQlJlY2VudERhdGFiYXNlTmFtZU1hcDo6aXRlcmF0b3IgcmVjZW50TmFtZUl0ZXJhdG9y
ID0gc2hhcmVkUmVjZW50RGF0YWJhc2VOYW1lTWFwKCkuZmluZChzZWN1cml0eU9yaWdpbklkZW50
aWZpZXIpOworICAgIGlmIChyZWNlbnROYW1lSXRlcmF0b3IgIT0gc2hhcmVkUmVjZW50RGF0YWJh
c2VOYW1lTWFwKCkuZW5kKCkpIHsKKyAgICAgICAgcmVjZW50TmFtZUl0ZXJhdG9yLT52YWx1ZS5y
ZW1vdmUoZGF0YWJhc2VOYW1lKTsKKyAgICAgICAgaWYgKHJlY2VudE5hbWVJdGVyYXRvci0+dmFs
dWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgc2hhcmVkUmVjZW50RGF0YWJhc2VOYW1lTWFwKCku
cmVtb3ZlKHJlY2VudE5hbWVJdGVyYXRvcik7CisgICAgfQorCiAgICAgLy8gSWYgdGhlcmUncyBh
bHJlYWR5IGEgY29ubmVjdGlvbiB0byB0aGUgZGF0YWJhc2UsIGRlbGV0ZSBpdCBkaXJlY3RseS4K
ICAgICBJREJEYXRhYmFzZUJhY2tlbmRNYXA6Oml0ZXJhdG9yIGl0ID0gc2hhcmVkRGF0YWJhc2VC
YWNrZW5kTWFwKCkuZmluZChkYXRhYmFzZUlkZW50aWZpZXIpOwogICAgIGlmIChpdCAhPSBzaGFy
ZWREYXRhYmFzZUJhY2tlbmRNYXAoKS5lbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQkZhY3RvcnlCYWNrZW5kLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCRmFj
dG9yeUJhY2tlbmQuaAppbmRleCBkYjNhOThlMWY3ZTVlOGJlMmZmOTFkYWYwNjEzYzJjYTNkOTkz
NzMwLi5lNjBmZDFhYmViNjM3MzY0ZTA4YzhlNTgyMWJkZGNlMWU1MTk5YmQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCRmFj
dG9yeUJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCRmFjdG9yeUJhY2tlbmQuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIH5XZWJJREJGYWN0b3J5QmFja2VuZCgpOwogCi0gICAgdmlydHVhbCB2
b2lkIGdldERhdGFiYXNlTmFtZXMoUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+LCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiwgV2ViQ29yZTo6U2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgZGF0YURpcikgb3ZlcnJpZGU7CisgICAgdmlydHVh
bCB2b2lkIGdldERhdGFiYXNlTmFtZXMoUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+
LCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgb3BlbmluZ09yaWdpbiwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4mIG1haW5GcmFtZU9yaWdpbiwgV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgZGF0YURpcikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIG9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCB1aW50NjRfdCB2ZXJzaW9uLCBpbnQ2
NF90IHRyYW5zYWN0aW9uSWQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpJREJEYXRhYmFzZUNhbGxiYWNrcz4sIGNvbnN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luJiBvcGVuaW5nT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biYgbWFpbkZyYW1lT3JpZ2luKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRGF0
YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYg
b3BlbmluZ09yaWdpbiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIG1haW5GcmFtZU9y
aWdpbiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+LCBXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyKSBvdmVycmlkZTsKIAo=
</data>
<flag name="review"
          id="248093"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="248094"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>