<?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>191326</bug_id>
          
          <creation_ts>2018-11-06 13:07:15 -0800</creation_ts>
          <short_desc>RELEASE_ASSERT(!m_hardClosedForUserDelete) fails in WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer</short_desc>
          <delta_ts>2018-11-07 17:31:50 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1475649</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-06 13:07:15 -0800</bug_when>
    <thetext>From release assertion added in r236747, we knew UniqueIDBDatabase::enqueueTransaction is invoking the timer after database connection closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475652</commentid>
    <comment_count>1</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-06 13:08:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/45769269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475841</commentid>
    <comment_count>2</comment_count>
      <attachid>354052</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-06 19:29:03 -0800</bug_when>
    <thetext>Created attachment 354052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476217</commentid>
    <comment_count>3</comment_count>
      <attachid>354150</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-07 14:15:10 -0800</bug_when>
    <thetext>Created attachment 354150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476221</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-11-07 14:19:28 -0800</bug_when>
    <thetext>Attachment 354150 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:3602:  developmentRegion is not en.  [xcodeproj/settings] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476265</commentid>
    <comment_count>5</comment_count>
      <attachid>354150</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-11-07 15:12:41 -0800</bug_when>
    <thetext>Comment on attachment 354150
Patch

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

&gt; Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:244
&gt; +void UniqueIDBDatabaseConnection::deleteTransaction(UniqueIDBDatabaseTransaction&amp; transaction)

Is this preferable to abortTransactionWithoutCallback?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476282</commentid>
    <comment_count>6</comment_count>
      <attachid>354150</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2018-11-07 15:30:24 -0800</bug_when>
    <thetext>Comment on attachment 354150
Patch

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

&gt;&gt; Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:244
&gt;&gt; +void UniqueIDBDatabaseConnection::deleteTransaction(UniqueIDBDatabaseTransaction&amp; transaction)
&gt; 
&gt; Is this preferable to abortTransactionWithoutCallback?

We abort the transaction if it already begins; transaction in m_pendingTransactions is not activated/started yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476303</commentid>
    <comment_count>7</comment_count>
      <attachid>354150</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-11-07 16:04:30 -0800</bug_when>
    <thetext>Comment on attachment 354150
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476356</commentid>
    <comment_count>8</comment_count>
      <attachid>354150</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-07 17:31:48 -0800</bug_when>
    <thetext>Comment on attachment 354150
Patch

Clearing flags on attachment: 354150

Committed r237969: &lt;https://trac.webkit.org/changeset/237969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476357</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-07 17:31:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354052</attachid>
            <date>2018-11-06 19:29:03 -0800</date>
            <delta_ts>2018-11-07 14:15:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191326-20181106192902.patch</filename>
            <type>text/plain</type>
            <size>15185</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3ODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDYwY2ZkMjYzMGZlM2U0
NzhiYzZhNWNmYjZhNTY4MTdhNzNkNzQxZC4uODI1NDY1NmNhYWIxNDZhYzdiYjNjZGEwMTQwZGM0
ODZhZGZkMjRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTExLTA2ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFt
X2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRlKSBmYWlscyBpbiBXZWJDb3JlOjpJREJTZXJ2ZXI6OlVu
aXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzMjYKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ1NzY5MjY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IEluZGV4ZWREQi5JbmRleGVkREJVc2VyRGVsZXRl
CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6ZW5x
dWV1ZVRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURC
RGF0YWJhc2U6OmRpZFBlcmZvcm1BY3RpdmF0ZVRyYW5zYWN0aW9uSW5CYWNraW5nU3RvcmUpOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZUNvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZUNvbm5lY3Rpb246OmNvbm5lY3Rpb25DbG9zZWRGcm9tQ2xpZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uOjpkaWRDb21taXRUcmFu
c2FjdGlvbik6CisKIDIwMTgtMTEtMDYgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUu
Y29tPgogCiAgICAgICAgIDxwaWN0dXJlPiBjb250YWluZXIgZG9lc24ndCB1cGRhdGUgd2hlbiBw
cmVmZXJzLWNvbG9yLXNjaGVtZSBtZWRpYSBxdWVyeSBjaGFuZ2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFi
YXNlLmNwcAppbmRleCBmNmM0MDM0ODk2YjgwYzI5NTIzNzZhY2YyNTIxMDg2NDgzYmJlYjQ5Li40
NjYzYjcwZmE0ZTdlYzczOTY0MTBmNTFmODAzNGE2YjUyMjNjZjhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJE
YXRhYmFzZS5jcHAKQEAgLTE1MTEsNyArMTUxMSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6
OmNvbmZpcm1EaWRDbG9zZUZyb21TZXJ2ZXIoVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uJiBj
CiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjplbnF1ZXVlVHJhbnNhY3Rpb24oUmVmPFVuaXF1ZUlE
QkRhdGFiYXNlVHJhbnNhY3Rpb24+JiYgdHJhbnNhY3Rpb24pCiB7CiAgICAgTE9HKEluZGV4ZWRE
QiwgIlVuaXF1ZUlEQkRhdGFiYXNlOjplbnF1ZXVlVHJhbnNhY3Rpb24gLSAlcyIsIHRyYW5zYWN0
aW9uLT5pbmZvKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEFTU0VSVCgh
bV9oYXJkQ2xvc2VkRm9yVXNlckRlbGV0ZSk7CisgICAgaWYgKG1faGFyZENsb3NlZEZvclVzZXJE
ZWxldGUpCisgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVCh0cmFuc2FjdGlvbi0+aW5mbygp
Lm1vZGUoKSAhPSBJREJUcmFuc2FjdGlvbk1vZGU6OlZlcnNpb25jaGFuZ2UpOwogCkBAIC0xNjE0
LDYgKzE2MTUsOCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQZXJmb3JtQWN0aXZhdGVU
cmFuc2FjdGlvbkluQmFja2luZ1N0b3JlKHVpbnQ2NF90IGNhbAogewogICAgIExPRyhJbmRleGVk
REIsICIobWFpbikgVW5pcXVlSURCRGF0YWJhc2U6OmRpZFBlcmZvcm1BY3RpdmF0ZVRyYW5zYWN0
aW9uSW5CYWNraW5nU3RvcmUiKTsKIAorICAgIGlmIChtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRl
KQorICAgICAgICByZXR1cm47CiAgICAgaW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1l
cigpOwogCiAgICAgcGVyZm9ybUVycm9yQ2FsbGJhY2soY2FsbGJhY2tJZGVudGlmaWVyLCBlcnJv
cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
VW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uY3BwCmluZGV4IDJh
NDBmNTI0MGJjMzk0ZDc2ZTVlYTdlYTA2NmM5YzBmYTZiODgzMDUuLjhjOGFkNDJmY2ZmNjI4Mzkw
MzNhZTUwNGM2YmJkZjc2MDFkNDhkOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZUNvbm5lY3Rpb24uY3BwCkBAIC05Miw3ICs5Miw2IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2VD
b25uZWN0aW9uOjpjb25uZWN0aW9uQ2xvc2VkRnJvbUNsaWVudCgpCiB7CiAgICAgTE9HKEluZGV4
ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6Y29ubmVjdGlvbkNsb3NlZEZyb21D
bGllbnQgLSAlcyAtICUiIFBSSXU2NCwgbV9vcGVuUmVxdWVzdElkZW50aWZpZXIubG9nZ2luZ1N0
cmluZygpLnV0ZjgoKS5kYXRhKCksIGlkZW50aWZpZXIoKSk7CiAKLSAgICBBU1NFUlQobV9kYXRh
YmFzZSk7CiAgICAgaWYgKG1fZGF0YWJhc2UpCiAgICAgICAgIG1fZGF0YWJhc2UtPmNvbm5lY3Rp
b25DbG9zZWRGcm9tQ2xpZW50KCp0aGlzKTsKIH0KQEAgLTE3OSw3ICsxNzgsOCBAQCB2b2lkIFVu
aXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6ZGlkQ29tbWl0VHJhbnNhY3Rpb24oVW5pcXVlSURC
RGF0YWJhc2VUcmFuc2FjdAogCiAgICAgYXV0byB0cmFuc2FjdGlvbklkZW50aWZpZXIgPSB0cmFu
c2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigpOwogCi0gICAgQVNTRVJUKG1fdHJhbnNhY3Rpb25N
YXAuY29udGFpbnModHJhbnNhY3Rpb25JZGVudGlmaWVyKSk7CisgICAgaWYgKCFtX3RyYW5zYWN0
aW9uTWFwLmNvbnRhaW5zKHRyYW5zYWN0aW9uSWRlbnRpZmllcikpCisgICAgICAgIHJldHVybjsK
ICAgICBtX3RyYW5zYWN0aW9uTWFwLnJlbW92ZSh0cmFuc2FjdGlvbklkZW50aWZpZXIpOwogCiAg
ICAgbV9jb25uZWN0aW9uVG9DbGllbnQuZGlkQ29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25J
ZGVudGlmaWVyLCBlcnJvcik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggMWNjYTQ5NTMzYWQwNmM4YmViMzg2MmViN2U1NjdmNGZlOTc3NmMzZS4u
ZTZiYTJkMWQzZmM1NjM5ZGYzMDgzOWI5MTYwMGY0ZTNlMTAxYmVhNyAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4
LTExLTA2ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRlKSBmYWlscyBpbiBXZWJDb3JlOjpJ
REJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlv
blRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTEzMjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1NzY5MjY5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9JbmRleGVkREJVc2VyRGVsZXRlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5kZXhlZERCVXNlckRlbGV0
ZS5tbTogQWRkZWQuCisgICAgICAgICgtW0luZGV4ZWREQlVzZXJEZWxldGVNZXNzYWdlSGFuZGxl
ciB1c2VyQ29udGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6XSk6CisgICAg
ICAgIChURVNUKToKKwogMjAxOC0xMS0wNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCB0ZXN0cyBhZnRlciByMjM3ODYzCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDFiNjI2NjVkZjIyZmZjZGIxNGQyMjkzY2ZlOWM1N2NjYWUxZjdi
MWMuLmVlOTk2MWNmYzQ3NWMwMTI2YWY4ZWUxZDI4NDI2Yzk4YjEzZTkwYjggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC03MjEsNiArNzIxLDggQEAKIAkJQzlDNjBFNjYxRTUzQTlEQzAwNkRB
MTgxIC8qIGF1dG9wbGF5LWNoZWNrLWluLWlmcmFtZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5QzYwRTY0MUU1M0E5QkEwMDZEQTE4
MSAvKiBhdXRvcGxheS1jaGVjay1pbi1pZnJhbWUuaHRtbCAqLzsgfTsKIAkJQzlFNkREMzUxRUE5
N0QwODAwREQ3OEFBIC8qIEZpcnN0UmVzcG9uZGVyU3VwcHJlc3Npb24ubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOUU2REQzMTFFQTk3MkQ4MDBERDc4
QUEgLyogRmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbi5tbSAqLzsgfTsKIAkJQ0EzODQ1OTYyMEFF
MTdBOTAwOTkwRDNCIC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBMzg0NTk1MjBBRTAxMkUwMDk5
MEQzQiAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIubW0gKi87IH07CisJCUNBOTdCMzhG
MjE5MjVGQ0IwMDQ1REY2RiAvKiBJbmRleGVkREJVc2VyRGVsZXRlLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E5N0IzOEQyMTkyNUU3MzAwNDVERjZG
IC8qIEluZGV4ZWREQlVzZXJEZWxldGUubW0gKi87IH07CisJCUNBOTdCMzkwMjE5MjVGRTAwMDQ1
REY2RiAvKiBJbmRleGVkREJVc2VyRGVsZXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E5N0IzOEUyMTkyNUU4MTAwNDVERjZGIC8q
IEluZGV4ZWREQlVzZXJEZWxldGUuaHRtbCAqLzsgfTsKIAkJQ0QwQkQwQTYxRjc5OTI0RDAwMUFC
MkNGIC8qIENvbnRleHRNZW51SW1nV2l0aFZpZGVvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwQkQwQTUxRjc5OTIyMDAwMUFCMkNGIC8qIENvbnRl
eHRNZW51SW1nV2l0aFZpZGVvLm1tICovOyB9OwogCQlDRDBCRDBBODFGNzk5ODJEMDAxQUIyQ0Yg
LyogQ29udGV4dE1lbnVJbWdXaXRoVmlkZW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBCRDBBNzFGNzk5N0MyMDAxQUIyQ0YgLyog
Q29udGV4dE1lbnVJbWdXaXRoVmlkZW8uaHRtbCAqLzsgfTsKIAkJQ0QyMjdFNDQyMTFBNEQ1RDAw
RDI4NUFGIC8qIFByZWZlcnJlZEF1ZGlvQnVmZmVyU2l6ZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjI3RTQzMjExQTRENUQwMEQyODVBRiAvKiBQ
cmVmZXJyZWRBdWRpb0J1ZmZlclNpemUubW0gKi87IH07CkBAIC0xMDc5LDYgKzEwODEsNyBAQAog
CQkJCTU3MUY3RkQwMUYyOTYxRkIwMDk0NjY0OCAvKiBJbmRleGVkREJTdHJ1Y3R1cmVkQ2xvbmVC
YWNrd2FyZENvbXBhdGliaWxpdHkuc3FsaXRlMy13YWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJNTc1OTlFMkExRjA3MUFBMDAwQTNGQjhDIC8qIEluZGV4ZWREQlN0cnVjdHVyZWRDbG9uZUJh
Y2t3YXJkQ29tcGF0aWJpbGl0eVJlYWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1
NzU5OUUyQjFGMDcxQUEwMDBBM0ZCOEMgLyogSW5kZXhlZERCU3RydWN0dXJlZENsb25lQmFja3dh
cmRDb21wYXRpYmlsaXR5V3JpdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlDQTk3
QjM5MDIxOTI1RkUwMDA0NURGNkYgLyogSW5kZXhlZERCVXNlckRlbGV0ZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTUxMTBGQ0Y5MUUwMUNEOEEwMDZGOEQwQiAvKiBJbmRleFVwZ3Jh
ZGUuYmxvYiBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTEwRkNGNjFFMDFDRDgzMDA2RjhE
MEIgLyogSW5kZXhVcGdyYWRlLnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMkVG
RjA2Q0QxRDhBNDI5QTAwMDRCQjMwIC8qIGlucHV0LWZpZWxkLWluLXNjcm9sbGFibGUtZG9jdW1l
bnQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE5NTUsNiArMTk1OCw4IEBACiAJCUM5
QzYwRTY0MUU1M0E5QkEwMDZEQTE4MSAvKiBhdXRvcGxheS1jaGVjay1pbi1pZnJhbWUuaHRtbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS1jaGVjay1pbi1pZnJhbWUuaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5RTZERDMxMUVBOTcyRDgwMERENzhB
QSAvKiBGaXJzdFJlc3BvbmRlclN1cHByZXNzaW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
Rmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0EzODQ1OTUyMEFFMDEyRTAwOTkwRDNCIC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tl
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsU3RvcmFn
ZURhdGFiYXNlVHJhY2tlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E5N0Iz
OEQyMTkyNUU3MzAwNDVERjZGIC8qIEluZGV4ZWREQlVzZXJEZWxldGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJbmRleGVkREJVc2VyRGVsZXRlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQTk3QjM4RTIxOTI1RTgxMDA0NURGNkYgLyogSW5k
ZXhlZERCVXNlckRlbGV0ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gSW5kZXhl
ZERCVXNlckRlbGV0ZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDBCRDBB
NTFGNzk5MjIwMDAxQUIyQ0YgLyogQ29udGV4dE1lbnVJbWdXaXRoVmlkZW8ubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1n
V2l0aFZpZGVvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5odG1sOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDIyNUMwNzFDNDVBNjkyMDAxNDA3NjEgLyog
UGFyc2VkQ29udGVudFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBhcnNlZENvbnRlbnRSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yMzc4LDYgKzIzODMsNyBAQAogCQkJCTUxQkNFRTQ5MUM4NEY0QUYwMDQyQzgyRSAvKiBJbmRl
eGVkREJNdWx0aVByb2Nlc3MubW0gKi8sCiAJCQkJNTFCMUVFOEQxQzgwRjU4ODAwNjRGQjk4IC8q
IEluZGV4ZWREQlBlcnNpc3RlbmNlLm1tICovLAogCQkJCTU3NTk5RTIwMUYwNzE5MTcwMEEzRkI4
QyAvKiBJbmRleGVkREJTdHJ1Y3R1cmVkQ2xvbmVCYWNrd2FyZENvbXBhdGliaWxpdHkubW0gKi8s
CisJCQkJQ0E5N0IzOEQyMTkyNUU3MzAwNDVERjZGIC8qIEluZGV4ZWREQlVzZXJEZWxldGUubW0g
Ki8sCiAJCQkJMEU0MDRBOEEyMTY2RERGODAwODI3MUJBIC8qIEluamVjdGVkQnVuZGxlTm9kZUhh
bmRsZUlzU2VsZWN0RWxlbWVudC5tbSAqLywKIAkJCQk3OUM1RDQzMDIwOUQ3NjgzMDBGMUU3Q0Eg
LyogSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlSXNUZXh0RmllbGQubW0gKi8sCiAJCQkJMkRCMDIz
MkUxRTRFODcxODAwNzA3MTIzIC8qIEludGVyYWN0aW9uRGVhZGxvY2tBZnRlckNyYXNoLm1tICov
LApAQCAtMjc0MSw2ICsyNzQ3LDcgQEAKIAkJCQk1NzFGN0ZDRjFGMjk2MUUxMDA5NDY2NDggLyog
SW5kZXhlZERCU3RydWN0dXJlZENsb25lQmFja3dhcmRDb21wYXRpYmlsaXR5LnNxbGl0ZTMtd2Fs
ICovLAogCQkJCTU3NTk5RTI1MUYwNzE5MkMwMEEzRkI4QyAvKiBJbmRleGVkREJTdHJ1Y3R1cmVk
Q2xvbmVCYWNrd2FyZENvbXBhdGliaWxpdHlSZWFkLmh0bWwgKi8sCiAJCQkJNTc1OTlFMjMxRjA3
MTkyQzAwQTNGQjhDIC8qIEluZGV4ZWREQlN0cnVjdHVyZWRDbG9uZUJhY2t3YXJkQ29tcGF0aWJp
bGl0eVdyaXRlLmh0bWwgKi8sCisJCQkJQ0E5N0IzOEUyMTkyNUU4MTAwNDVERjZGIC8qIEluZGV4
ZWREQlVzZXJEZWxldGUuaHRtbCAqLywKIAkJCQk1MTEwRkNGMjFFMDFDRDc3MDA2RjhEMEIgLyog
SW5kZXhVcGdyYWRlLmJsb2IgKi8sCiAJCQkJNTExMEZDRjMxRTAxQ0Q3NzAwNkY4RDBCIC8qIElu
ZGV4VXBncmFkZS5zcWxpdGUzICovLAogCQkJCTJFRkYwNkNDMUQ4QTQyOTEwMDA0QkIzMCAvKiBp
bnB1dC1maWVsZC1pbi1zY3JvbGxhYmxlLWRvY3VtZW50Lmh0bWwgKi8sCkBAIC0zODc1LDYgKzM4
ODIsNyBAQAogCQkJCTdDODNFMEJFMUQwQTY1MTMwMEZFQkNGMyAvKiBJbmRleGVkREJNdWx0aVBy
b2Nlc3MubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBCRjFEMEE2NTIyMDBGRUJDRjMgLyog
SW5kZXhlZERCUGVyc2lzdGVuY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk1NzU5OUUyMTFGMDcx
OTE5MDBBM0ZCOEMgLyogSW5kZXhlZERCU3RydWN0dXJlZENsb25lQmFja3dhcmRDb21wYXRpYmls
aXR5Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQ0E5N0IzOEYyMTkyNUZDQjAwNDVERjZGIC8qIElu
ZGV4ZWREQlVzZXJEZWxldGUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTk1QkRFMTFFOUJFQzVG
MDA4NjU0OTggLyogSW5qZWN0ZWRCdW5kbGVBcHBsZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUZCMUE0MTFBRTYwMDQ0N0M0QyAvKiBJbmplY3RlZEJ1bmRsZUJhc2ljLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTgzMTQ4QjA2MjAyQUM2QTQwMEJBREU5OSAvKiBJbmplY3RlZEJ1
bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3IuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0luZGV4ZWRE
QlVzZXJEZWxldGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
SW5kZXhlZERCVXNlckRlbGV0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmYjYxMGVmZjczMTllMTc5OTc4
NzJlODEyNTY0NWE5NzBhNDhlNTgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0luZGV4ZWREQlVzZXJEZWxldGUuaHRtbApAQCAtMCwwICsx
LDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQ+CisKK3ZhciByZXF1ZXN0ID0gd2luZG93
LmluZGV4ZWREQi5vcGVuKCJJbmRleGVkREJVc2VyRGVsZXRlIik7CityZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMu
dGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoIkNvbnRpbnVlIik7CisKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7IGkrKykgeworICAgICAgICB0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQudHJhbnNhY3Rpb24oIlRlc3RPYmplY3RTdG9yZSIpOworICAgIH0KK30KKworcmVxdWVz
dC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihldmVudCkgeworICAgIHZhciBjcmVhdGVSZXF1
ZXN0ID0gZXZlbnQudGFyZ2V0LnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZSgiVGVzdE9iamVjdFN0
b3JlIik7CisgICAgY3JlYXRlUmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3Nh
Z2UoIk9iamVjdFN0b3JlIEVycm9yIik7CisgICAgfQorfQorCityZXF1ZXN0Lm9uZXJyb3IgPSBm
dW5jdGlvbihldmVudCkgeworICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RI
YW5kbGVyLnBvc3RNZXNzYWdlKCJFcnJvciIpOworfQorCis8L3NjcmlwdD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0luZGV4ZWREQlVzZXJEZWxldGUubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0luZGV4ZWREQlVzZXJEZWxldGUubW0KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWU2MWVm
OGNiZGJhMmZmZTc0MWY2OTMzNzAxNDQ0Mjk3YjFlNTkyNwotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5kZXhlZERCVXNlckRlbGV0ZS5t
bQpAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNp
bXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0LmgiCisKKyNpbXBvcnQg
PFdlYktpdC9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLVXNlckNv
bnRlbnRDb250cm9sbGVyUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisjaW1wb3J0IDxX
ZWJLaXQvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dL
VXNlclN0eWxlU2hlZXQuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFdLX0FQ
SV9FTkFCTEVECisKK3N0YXRpYyBib29sIHJlYWR5VG9Db250aW51ZTsKK3N0YXRpYyBib29sIHJl
Y2VpdmVkU2NyaXB0TWVzc2FnZTsKK3N0YXRpYyBSZXRhaW5QdHI8V0tTY3JpcHRNZXNzYWdlPiBs
YXN0U2NyaXB0TWVzc2FnZTsKKworQGludGVyZmFjZSBJbmRleGVkREJVc2VyRGVsZXRlTWVzc2Fn
ZUhhbmRsZXIgOiBOU09iamVjdCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGlt
cGxlbWVudGF0aW9uIEluZGV4ZWREQlVzZXJEZWxldGVNZXNzYWdlSGFuZGxlcgorCistICh2b2lk
KXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29u
dGVudENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2FnZSAq
KW1lc3NhZ2UKK3sKKyAgICByZWNlaXZlZFNjcmlwdE1lc3NhZ2UgPSB0cnVlOworICAgIGxhc3RT
Y3JpcHRNZXNzYWdlID0gbWVzc2FnZTsKK30KKworQGVuZAorCitURVNUKEluZGV4ZWREQiwgSW5k
ZXhlZERCVXNlckRlbGV0ZSkKK3sKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbSW5kZXhl
ZERCVXNlckRlbGV0ZU1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRN
ZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJ0ZXN0SGFuZGxlciJdOworCisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0
KCldKTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkluZGV4ZWRE
QlVzZXJEZWxldGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsK
KworICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IGZhbHNlOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNzYWdlKTsKKyAgICBSZXRhaW5QdHI8TlNTdHJp
bmc+IHN0cmluZyA9IChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XTsKKworICAg
IFtjb25maWd1cmF0aW9uLmdldCgpLndlYnNpdGVEYXRhU3RvcmUgcmVtb3ZlRGF0YU9mVHlwZXM6
W05TU2V0IHNldFdpdGhPYmplY3RzOldLV2Vic2l0ZURhdGFUeXBlSW5kZXhlZERCRGF0YWJhc2Vz
LCBuaWxdIG1vZGlmaWVkU2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29tcGxldGlvbkhhbmRs
ZXI6XigpIHsKKyAgICAgICAgcmVhZHlUb0NvbnRpbnVlID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBy
ZWFkeVRvQ29udGludWUgPSBmYWxzZTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJl
YWR5VG9Db250aW51ZSk7CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJDb250aW51ZSIsIHN0cmlu
Zy5nZXQoKSk7Cit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354150</attachid>
            <date>2018-11-07 14:15:10 -0800</date>
            <delta_ts>2018-11-07 17:31:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191326-20181107141510.patch</filename>
            <type>text/plain</type>
            <size>17104</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3OTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3YzQ5ODA1ZDRlNzVj
YjU0N2FhYjljODNhNTg3NjlkZTUzZjc5Mi4uMjRmMzM3MTkxNjdkODM1ZmM3ODQzY2FiNjQzZDEy
ZmM3YjE0N2Y2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTExLTA3ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFt
X2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRlKSBmYWlscyBpbiBXZWJDb3JlOjpJREJTZXJ2ZXI6OlVu
aXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzMjYKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ1NzY5MjY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuaXF1ZUlEQkRhdGFiYXNlIHNob3VsZCBpZ25vcmUgaW5j
b21pbmcgcmVxdWVzdHMgb3Igb3BlcmF0aW9ucyB3aGVuIGl0IGlzIGFscmVhZHkgbWFya2VkIGFz
CisgICAgICAgIGhhcmRDbG9zZWRGb3JVc2VyRGVsZXRlLgorCisgICAgICAgIFRlc3Q6IEluZGV4
ZWREQi5JbmRleGVkREJVc2VyRGVsZXRlLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZl
cjo6VW5pcXVlSURCRGF0YWJhc2U6OmRpZFBlcmZvcm1BY3RpdmF0ZVRyYW5zYWN0aW9uSW5CYWNr
aW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW1tZWRpYXRlQ2xvc2VGb3JVc2VyRGVsZXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uOjplc3RhYmxpc2hU
cmFuc2FjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFi
YXNlQ29ubmVjdGlvbjo6ZGVsZXRlVHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rp
b246OmNvbW1pdCk6CisKIDIwMTgtMTEtMDcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFtpT1NdIFdlYkdMIGxlYWtzIGV4YWN0IEdQVSB0eXBlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlE
QkRhdGFiYXNlLmNwcAppbmRleCBmNmM0MDM0ODk2YjgwYzI5NTIzNzZhY2YyNTIxMDg2NDgzYmJl
YjQ5Li45YjI2MDM5MTA5ZTliYjA5ZDQ2NGVkNGJkMTZhODhkZjUwY2UzNzA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHAKQEAgLTE2MTQsNiArMTYxNCw5IEBAIHZvaWQgVW5pcXVlSURCRGF0
YWJhc2U6OmRpZFBlcmZvcm1BY3RpdmF0ZVRyYW5zYWN0aW9uSW5CYWNraW5nU3RvcmUodWludDY0
X3QgY2FsCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIihtYWluKSBVbmlxdWVJREJEYXRhYmFzZTo6
ZGlkUGVyZm9ybUFjdGl2YXRlVHJhbnNhY3Rpb25JbkJhY2tpbmdTdG9yZSIpOwogCisgICAgaWYg
KG1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpCisgICAgICAgIHJldHVybjsKKwogICAgIGludm9r
ZU9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIoKTsKIAogICAgIHBlcmZvcm1FcnJvckNhbGxi
YWNrKGNhbGxiYWNrSWRlbnRpZmllciwgZXJyb3IpOwpAQCAtMTgwNSw2ICsxODA4LDggQEAgdm9p
ZCBVbmlxdWVJREJEYXRhYmFzZTo6aW1tZWRpYXRlQ2xvc2VGb3JVc2VyRGVsZXRlKCkKIAogICAg
IEFTU0VSVChtX2luUHJvZ3Jlc3NUcmFuc2FjdGlvbnMuaXNFbXB0eSgpKTsKIAorICAgIGZvciAo
YXV0byYgdHJhbnNhY3Rpb24gOiBtX3BlbmRpbmdUcmFuc2FjdGlvbnMpCisgICAgICAgIHRyYW5z
YWN0aW9uLT5kYXRhYmFzZUNvbm5lY3Rpb24oKS5kZWxldGVUcmFuc2FjdGlvbigqdHJhbnNhY3Rp
b24pOwogICAgIG1fcGVuZGluZ1RyYW5zYWN0aW9ucy5jbGVhcigpOwogICAgIG1fb2JqZWN0U3Rv
cmVUcmFuc2FjdGlvbkNvdW50cy5jbGVhcigpOwogICAgIG1fb2JqZWN0U3RvcmVXcml0ZVRyYW5z
YWN0aW9ucy5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9u
LmNwcAppbmRleCAyYTQwZjUyNDBiYzM5NGQ3NmU1ZWE3ZWEwNjZjOWMwZmE2Yjg4MzA1Li44Y2Fh
ZmZjZDMwZmEwZmE2OTlhNjQwZmI0MmZmYjhjNzRhZjg1NzljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5p
cXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmNwcApAQCAtMTUzLDEwICsxNTMsMTIgQEAgdm9pZCBV
bmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb246OmVzdGFibGlzaFRyYW5zYWN0aW9uKGNvbnN0IElE
QlRyYW5zYWN0aW9uSW5mbyYKICAgICAvLyB0aGUgY29ubmVjdGlvbiBpcyBjbG9zaW5nLgogICAg
IEFTU0VSVCghbV9jbG9zZVBlbmRpbmcpOwogCisgICAgaWYgKCFtX2RhdGFiYXNlIHx8IG1fZGF0
YWJhc2UtPmhhcmRDbG9zZWRGb3JVc2VyRGVsZXRlKCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IFJlZjxVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9IFVuaXF1ZUlE
QkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0ZSgqdGhpcywgaW5mbyk7CiAgICAgbV90cmFuc2Fj
dGlvbk1hcC5zZXQodHJhbnNhY3Rpb24tPmluZm8oKS5pZGVudGlmaWVyKCksICZ0cmFuc2FjdGlv
bi5nZXQoKSk7CiAKLSAgICBBU1NFUlQobV9kYXRhYmFzZSk7CiAgICAgbV9kYXRhYmFzZS0+ZW5x
dWV1ZVRyYW5zYWN0aW9uKFdURk1vdmUodHJhbnNhY3Rpb24pKTsKIH0KIApAQCAtMjM5LDYgKzI0
MSwxNiBAQCBib29sIFVuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6Y29ubmVjdGlvbklzQ2xv
c2luZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2xvc2VQZW5kaW5nOwogfQogCit2b2lkIFVuaXF1
ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6ZGVsZXRlVHJhbnNhY3Rpb24oVW5pcXVlSURCRGF0YWJh
c2VUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCit7CisgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1
ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6ZGVsZXRlVHJhbnNhY3Rpb24gLSAlcyIsIHRyYW5zYWN0
aW9uLmluZm8oKS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAgCisgICAgYXV0
byB0cmFuc2FjdGlvbklkZW50aWZpZXIgPSB0cmFuc2FjdGlvbi5pbmZvKCkuaWRlbnRpZmllcigp
OworICAgIAorICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uTWFwLmNvbnRhaW5zKHRyYW5zYWN0aW9u
SWRlbnRpZmllcikpOworICAgIG1fdHJhbnNhY3Rpb25NYXAucmVtb3ZlKHRyYW5zYWN0aW9uSWRl
bnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElEQlNlcnZlcgogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9uLmgKaW5kZXgg
M2EyNTY0YTEyOWJhOWY2YTMyN2FmOTMyZjZiYmJmMmU4NjMzYTZmZi4uOTNlMWZhMjE2NmZjNjEw
N2YzZWUyZWJjNWQxMTY2MTEyYmNhNDQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZUNvbm5lY3Rpb24uaApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGNvbm5l
Y3Rpb25Jc0Nsb3NpbmcoKSBjb25zdDsKIAorICAgIHZvaWQgZGVsZXRlVHJhbnNhY3Rpb24oVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbiYpOworCiBwcml2YXRlOgogICAgIFVuaXF1ZUlEQkRh
dGFiYXNlQ29ubmVjdGlvbihVbmlxdWVJREJEYXRhYmFzZSYsIFNlcnZlck9wZW5EQlJlcXVlc3Qm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwCmluZGV4
IGY0N2MzYjM5NTlkNGVlMjhiMDNmYjFhNzY2YmQwNmIyY2U2YjVjYjUuLjc5YzVkOTU4ZmVkYTVi
YWYzMjEyZTlmZDMzZjZmNjRhYjgwYjU4YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbi5jcHAKQEAgLTExMSw3ICsxMTEsOCBAQCB2b2lkIFVuaXF1ZUlEQkRh
dGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCgpCiAgICAgUmVmUHRyPFVuaXF1ZUlEQkRhdGFiYXNl
VHJhbnNhY3Rpb24+IHByb3RlY3RlZFRoaXModGhpcyk7CiAKICAgICBhdXRvIGRhdGFiYXNlID0g
bV9kYXRhYmFzZUNvbm5lY3Rpb24tPmRhdGFiYXNlKCk7Ci0gICAgQVNTRVJUKGRhdGFiYXNlKTsK
KyAgICBpZiAoIWRhdGFiYXNlIHx8IGRhdGFiYXNlLT5oYXJkQ2xvc2VkRm9yVXNlckRlbGV0ZSgp
KQorICAgICAgICByZXR1cm47CiAKICAgICBkYXRhYmFzZS0+Y29tbWl0VHJhbnNhY3Rpb24oKnRo
aXMsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzXShjb25zdCBJREJFcnJvciYgZXJyb3IpIHsKICAgICAg
ICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNvbW1pdCAo
Y2FsbGJhY2spIik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggMmI2Yzc3NTM0MDRkNDg0MzBjNmFlNjZiZGY0ZTgxMjYwNDZhMTA0ZS4uMWFmMmFj
YWU1OWI0YzQyY2ZjYjNiMzA0ZDIyZjc4ZTM5NzY5OTQwNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTExLTA3
ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRlKSBmYWlscyBpbiBXZWJDb3JlOjpJREJTZXJ2
ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzMjYK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1NzY5MjY5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9JbmRleGVkREJVc2VyRGVsZXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5kZXhlZERCVXNlckRlbGV0ZS5tbTog
QWRkZWQuCisgICAgICAgICgtW0luZGV4ZWREQlVzZXJEZWxldGVNZXNzYWdlSGFuZGxlciB1c2Vy
Q29udGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6XSk6CisgICAgICAgIChU
RVNUKToKKwogMjAxOC0xMS0wNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgT3ZlcnJpZGUgK1tVSUtleWJvYXJkIGlzSW5IYXJkd2FyZUtleWJvYXJkTW9kZV0g
aW4gV2ViS2l0VGVzdFJ1bm5lciBhbmQgRHVtcFJlbmRlclRyZWUKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYTJlNTkyNTJjZDU5N2ZkOGU4MGUzMDU5ODcxYTFhNDhiZjY5MjZiNC4uMjJkNTdi
NDA1MTA1YWEwOWVkYTU5ZjJhNzc0ZjBmOWJiNzZjNTkxOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTcyNCw2ICs3MjQsOCBAQAogCQlDQTVCOTREMjIxOTBDMEY0MDA1OUZFMzggLyogSW5k
ZXhlZERCVGVtcEZpbGVTaXplLTEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTVCOTREMDIxOTBDMEUwMDA1OUZFMzggLyogSW5kZXhl
ZERCVGVtcEZpbGVTaXplLTEuaHRtbCAqLzsgfTsKIAkJQ0E1Qjk0RDMyMTkwQzBGNDAwNTlGRTM4
IC8qIEluZGV4ZWREQlRlbXBGaWxlU2l6ZS0yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0E1Qjk0RDEyMTkwQzBFMDAwNTlGRTM4IC8q
IEluZGV4ZWREQlRlbXBGaWxlU2l6ZS0yLmh0bWwgKi87IH07CiAJCUNBNUI5NEQ3MjE5MTAwNUIw
MDU5RkUzOCAvKiBJbmRleGVkREJUZW1wRmlsZVNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTVCOTRENjIxOTEwMDVCMDA1OUZFMzggLyogSW5k
ZXhlZERCVGVtcEZpbGVTaXplLm1tICovOyB9OworCQlDQTk3QjM5NDIxOTM2NjYwMDA0NURGNkYg
LyogSW5kZXhlZERCVXNlckRlbGV0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENBOTdCMzkyMjE5MzY2M0IwMDQ1REY2RiAvKiBJbmRleGVkREJVc2Vy
RGVsZXRlLm1tICovOyB9OworCQlDQTk3QjM5NTIxOTM2NjdBMDA0NURGNkYgLyogSW5kZXhlZERC
VXNlckRlbGV0ZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENBOTdCMzkzMjE5MzY2NDcwMDQ1REY2RiAvKiBJbmRleGVkREJVc2VyRGVs
ZXRlLmh0bWwgKi87IH07CiAJCUNEMEJEMEE2MUY3OTkyNEQwMDFBQjJDRiAvKiBDb250ZXh0TWVu
dUltZ1dpdGhWaWRlby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEMEJEMEE1MUY3OTkyMjAwMDFBQjJDRiAvKiBDb250ZXh0TWVudUltZ1dpdGhWaWRl
by5tbSAqLzsgfTsKIAkJQ0QwQkQwQTgxRjc5OTgyRDAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1n
V2l0aFZpZGVvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0QwQkQwQTcxRjc5OTdDMjAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1nV2l0
aFZpZGVvLmh0bWwgKi87IH07CiAJCUNEMjI3RTQ0MjExQTRENUQwMEQyODVBRiAvKiBQcmVmZXJy
ZWRBdWRpb0J1ZmZlclNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDIyN0U0MzIxMUE0RDVEMDBEMjg1QUYgLyogUHJlZmVycmVkQXVkaW9CdWZm
ZXJTaXplLm1tICovOyB9OwpAQCAtMTA4NCw2ICsxMDg2LDcgQEAKIAkJCQk1NzU5OUUyQjFGMDcx
QUEwMDBBM0ZCOEMgLyogSW5kZXhlZERCU3RydWN0dXJlZENsb25lQmFja3dhcmRDb21wYXRpYmls
aXR5V3JpdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDQTVCOTREMjIxOTBDMEY0
MDA1OUZFMzggLyogSW5kZXhlZERCVGVtcEZpbGVTaXplLTEuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlDQTVCOTREMzIxOTBDMEY0MDA1OUZFMzggLyogSW5kZXhlZERCVGVtcEZpbGVT
aXplLTIuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlDQTk3QjM5NTIxOTM2NjdBMDA0
NURGNkYgLyogSW5kZXhlZERCVXNlckRlbGV0ZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAog
CQkJCTUxMTBGQ0Y5MUUwMUNEOEEwMDZGOEQwQiAvKiBJbmRleFVwZ3JhZGUuYmxvYiBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQk1MTEwRkNGNjFFMDFDRDgzMDA2RjhEMEIgLyogSW5kZXhVcGdy
YWRlLnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMkVGRjA2Q0QxRDhBNDI5QTAw
MDRCQjMwIC8qIGlucHV0LWZpZWxkLWluLXNjcm9sbGFibGUtZG9jdW1lbnQuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKQEAgLTE5NjMsNiArMTk2Niw4IEBACiAJCUNBNUI5NEQwMjE5MEMwRTAw
MDU5RkUzOCAvKiBJbmRleGVkREJUZW1wRmlsZVNpemUtMS5odG1sICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5o
dG1sOyBwYXRoID0gIkluZGV4ZWREQlRlbXBGaWxlU2l6ZS0xLmh0bWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDQTVCOTREMTIxOTBDMEUwMDA1OUZFMzggLyogSW5kZXhlZERCVGVt
cEZpbGVTaXplLTIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJJbmRleGVkREJU
ZW1wRmlsZVNpemUtMi5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0E1Qjk0
RDYyMTkxMDA1QjAwNTlGRTM4IC8qIEluZGV4ZWREQlRlbXBGaWxlU2l6ZS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEluZGV4ZWREQlRlbXBGaWxlU2l6ZS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0E5N0IzOTIyMTkzNjYzQjAwNDVERjZGIC8q
IEluZGV4ZWREQlVzZXJEZWxldGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBJbmRleGVkREJVc2VyRGVsZXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDQTk3QjM5MzIxOTM2NjQ3MDA0NURGNkYgLyogSW5kZXhlZERCVXNlckRlbGV0ZS5odG1s
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gSW5kZXhlZERCVXNlckRlbGV0ZS5odG1sOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDBCRDBBNTFGNzk5MjIwMDAxQUIyQ0YgLyog
Q29udGV4dE1lbnVJbWdXaXRoVmlkZW8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDb250ZXh0
TWVudUltZ1dpdGhWaWRlby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQkQw
QTcxRjc5OTdDMjAwMUFCMkNGIC8qIENvbnRleHRNZW51SW1nV2l0aFZpZGVvLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSBDb250ZXh0TWVudUltZ1dpdGhWaWRlby5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRDIyNUMwNzFDNDVBNjkyMDAxNDA3NjEgLyogUGFyc2VkQ29udGVudFJhbmdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlZENvbnRlbnRSYW5n
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzg3LDYgKzIzOTIsNyBAQAog
CQkJCTUxQjFFRThEMUM4MEY1ODgwMDY0RkI5OCAvKiBJbmRleGVkREJQZXJzaXN0ZW5jZS5tbSAq
LywKIAkJCQk1NzU5OUUyMDFGMDcxOTE3MDBBM0ZCOEMgLyogSW5kZXhlZERCU3RydWN0dXJlZENs
b25lQmFja3dhcmRDb21wYXRpYmlsaXR5Lm1tICovLAogCQkJCUNBNUI5NEQ2MjE5MTAwNUIwMDU5
RkUzOCAvKiBJbmRleGVkREJUZW1wRmlsZVNpemUubW0gKi8sCisJCQkJQ0E5N0IzOTIyMTkzNjYz
QjAwNDVERjZGIC8qIEluZGV4ZWREQlVzZXJEZWxldGUubW0gKi8sCiAJCQkJMEU0MDRBOEEyMTY2
RERGODAwODI3MUJBIC8qIEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZUlzU2VsZWN0RWxlbWVudC5t
bSAqLywKIAkJCQk3OUM1RDQzMDIwOUQ3NjgzMDBGMUU3Q0EgLyogSW5qZWN0ZWRCdW5kbGVOb2Rl
SGFuZGxlSXNUZXh0RmllbGQubW0gKi8sCiAJCQkJMkRCMDIzMkUxRTRFODcxODAwNzA3MTIzIC8q
IEludGVyYWN0aW9uRGVhZGxvY2tBZnRlckNyYXNoLm1tICovLApAQCAtMjc1Miw2ICsyNzU4LDcg
QEAKIAkJCQk1NzU5OUUyMzFGMDcxOTJDMDBBM0ZCOEMgLyogSW5kZXhlZERCU3RydWN0dXJlZENs
b25lQmFja3dhcmRDb21wYXRpYmlsaXR5V3JpdGUuaHRtbCAqLywKIAkJCQlDQTVCOTREMDIxOTBD
MEUwMDA1OUZFMzggLyogSW5kZXhlZERCVGVtcEZpbGVTaXplLTEuaHRtbCAqLywKIAkJCQlDQTVC
OTREMTIxOTBDMEUwMDA1OUZFMzggLyogSW5kZXhlZERCVGVtcEZpbGVTaXplLTIuaHRtbCAqLywK
KwkJCQlDQTk3QjM5MzIxOTM2NjQ3MDA0NURGNkYgLyogSW5kZXhlZERCVXNlckRlbGV0ZS5odG1s
ICovLAogCQkJCTUxMTBGQ0YyMUUwMUNENzcwMDZGOEQwQiAvKiBJbmRleFVwZ3JhZGUuYmxvYiAq
LywKIAkJCQk1MTEwRkNGMzFFMDFDRDc3MDA2RjhEMEIgLyogSW5kZXhVcGdyYWRlLnNxbGl0ZTMg
Ki8sCiAJCQkJMkVGRjA2Q0MxRDhBNDI5MTAwMDRCQjMwIC8qIGlucHV0LWZpZWxkLWluLXNjcm9s
bGFibGUtZG9jdW1lbnQuaHRtbCAqLywKQEAgLTM4ODcsNiArMzg5NCw3IEBACiAJCQkJN0M4M0Uw
QkYxRDBBNjUyMjAwRkVCQ0YzIC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTc1OTlFMjExRjA3MTkxOTAwQTNGQjhDIC8qIEluZGV4ZWREQlN0cnVjdHVyZWRD
bG9uZUJhY2t3YXJkQ29tcGF0aWJpbGl0eS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNBNUI5NEQ3
MjE5MTAwNUIwMDU5RkUzOCAvKiBJbmRleGVkREJUZW1wRmlsZVNpemUubW0gaW4gU291cmNlcyAq
LywKKwkJCQlDQTk3QjM5NDIxOTM2NjYwMDA0NURGNkYgLyogSW5kZXhlZERCVXNlckRlbGV0ZS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdBOTVCREUxMUU5QkVDNUYwMDg2NTQ5OCAvKiBJbmplY3Rl
ZEJ1bmRsZUFwcGxlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRkIxQTQxMUFF
NjAwNDQ3QzRDIC8qIEluamVjdGVkQnVuZGxlQmFzaWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODMxNDhCMDYyMDJBQzZBNDAwQkFERTk5IC8qIEluamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRl
QnVpbHRpbnNCZWhhdmlvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5kZXhlZERCVXNlckRlbGV0ZS5odG1sIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbmRleGVkREJVc2VyRGVsZXRl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmZiNjEwZWZmNzMxOWUxNzk5Nzg3MmU4MTI1NjQ1YTk3MGE0OGU1
OAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvSW5kZXhlZERCVXNlckRlbGV0ZS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHNjcmlwdD4KKwordmFyIHJlcXVlc3QgPSB3aW5kb3cuaW5kZXhlZERCLm9wZW4oIklu
ZGV4ZWREQlVzZXJEZWxldGUiKTsKK3JlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZXZlbnQp
IHsKKyAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVz
c2FnZSgiQ29udGludWUiKTsKKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7
CisgICAgICAgIHRyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdC50cmFuc2FjdGlvbigi
VGVzdE9iamVjdFN0b3JlIik7CisgICAgfQorfQorCityZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgdmFyIGNyZWF0ZVJlcXVlc3QgPSBldmVudC50YXJnZXQu
cmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKCJUZXN0T2JqZWN0U3RvcmUiKTsKKyAgICBjcmVhdGVS
ZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICB3aW5kb3cud2Via2l0
Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiT2JqZWN0U3RvcmUgRXJy
b3IiKTsKKyAgICB9Cit9CisKK3JlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KSB7Cisg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2Uo
IkVycm9yIik7Cit9CisKKzwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5kZXhlZERC
VXNlckRlbGV0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5k
ZXhlZERCVXNlckRlbGV0ZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTYxZWY4Y2JkYmEyZmZlNzQxZjY5MzM3
MDE0NDQyOTdiMWU1OTI3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9JbmRleGVkREJVc2VyRGVsZXRlLm1tCkBAIC0wLDAgKzEsODIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCAiUGxhdGZvcm1VdGls
aXRpZXMuaCIKKyNpbXBvcnQgIlRlc3QuaCIKKworI2ltcG9ydCA8V2ViS2l0L1dLUHJvY2Vzc1Bv
b2xQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2
YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4K
KyNpbXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tVc2VyU3R5bGVTaGVldC5oPgor
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQKKworc3RhdGlj
IGJvb2wgcmVhZHlUb0NvbnRpbnVlOworc3RhdGljIGJvb2wgcmVjZWl2ZWRTY3JpcHRNZXNzYWdl
Oworc3RhdGljIFJldGFpblB0cjxXS1NjcmlwdE1lc3NhZ2U+IGxhc3RTY3JpcHRNZXNzYWdlOwor
CitAaW50ZXJmYWNlIEluZGV4ZWREQlVzZXJEZWxldGVNZXNzYWdlSGFuZGxlciA6IE5TT2JqZWN0
IDxXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gSW5kZXhl
ZERCVXNlckRlbGV0ZU1lc3NhZ2VIYW5kbGVyCisKKy0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9s
bGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlciBkaWRS
ZWNlaXZlU2NyaXB0TWVzc2FnZTooV0tTY3JpcHRNZXNzYWdlICopbWVzc2FnZQoreworICAgIHJl
Y2VpdmVkU2NyaXB0TWVzc2FnZSA9IHRydWU7CisgICAgbGFzdFNjcmlwdE1lc3NhZ2UgPSBtZXNz
YWdlOworfQorCitAZW5kCisKK1RFU1QoSW5kZXhlZERCLCBJbmRleGVkREJVc2VyRGVsZXRlKQor
eworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tJbmRleGVkREJVc2VyRGVsZXRlTWVzc2Fn
ZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5T
KFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJh
dGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRs
ZXIuZ2V0KCkgbmFtZTpAInRlc3RIYW5kbGVyIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAw
LCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxl
IG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiSW5kZXhlZERCVXNlckRlbGV0ZSIgd2l0aEV4
dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1d
OworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgcmVjZWl2ZWRTY3Jp
cHRNZXNzYWdlID0gZmFsc2U7CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZl
ZFNjcmlwdE1lc3NhZ2UpOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gc3RyaW5nID0gKE5TU3Ry
aW5nICopW2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldOworCisgICAgW2NvbmZpZ3VyYXRpb24uZ2V0
KCkud2Vic2l0ZURhdGFTdG9yZSByZW1vdmVEYXRhT2ZUeXBlczpbTlNTZXQgc2V0V2l0aE9iamVj
dHM6V0tXZWJzaXRlRGF0YVR5cGVJbmRleGVkREJEYXRhYmFzZXMsIG5pbF0gbW9kaWZpZWRTaW5j
ZTpbTlNEYXRlIGRpc3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBy
ZWFkeVRvQ29udGludWUgPSB0cnVlOworICAgIH1dOworICAgIHJlYWR5VG9Db250aW51ZSA9IGZh
bHNlOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVhZHlUb0NvbnRpbnVlKTsKKwor
ICAgIEVYUEVDVF9XS19TVFJFUShAIkNvbnRpbnVlIiwgc3RyaW5nLmdldCgpKTsKK30KKworI2Vu
ZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>