<?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>138155</bug_id>
          
          <creation_ts>2014-10-28 16:02:38 -0700</creation_ts>
          <short_desc>[iOS] WebProcess needs to take a background task assertion to prevent being killed for &quot;suspended with locked system files&quot;</short_desc>
          <delta_ts>2014-11-06 08:40:47 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 8.1</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>beidson</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044629</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-28 16:02:38 -0700</bug_when>
    <thetext>Towards mitigating the web content process being killed when suspended holding lock files, we should have the web content process notify the UI process when it is holding such files so that the UI process can acquire a background task assertion to allow both to continue to run for an extended period of time in the background. In particular, we want to take a background task assertion when performing a SQLite transaction(s).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044630</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-28 16:03:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/17939303&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044631</commentid>
    <comment_count>2</comment_count>
      <attachid>240575</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-28 16:05:50 -0700</bug_when>
    <thetext>Created attachment 240575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044635</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-28 16:23:20 -0700</bug_when>
    <thetext>I open to suggestions on this patch.

The class WebSQLiteDatabaseTracker (included in the patch) isn&apos;t specific to iOS and hence can be used by other ports. At the time of writing, the iOS port is the only port that implements a non-trivial ProcessAssertion class to acquire a background task assertion. I guarded the instantiation of this class with PLATFORM(IOS) though I placed the class files in Source/WebKit2/WebProcess/WebCoreSupport/ (should I move them to an iOS-specific directory?) because I was unclear if it was acceptable to instantiate for all ports a WebSQLiteDatabaseTracker, which would send messages to the UIProcess (*), given that iOS is the only port that makes use of such messages. I was also unclear if we should either add a new compile-time guard for this feature to avoid the instantiation on non-iOS ports, say ENABLE_SQL_DATABASE_TRACKER, or if it&apos;s acceptable to instantiate WebSQLiteDatabaseTracker for all ports and have it only enabled for iOS (say, by not calling SQLDatabaseTracker::setClient() on non-iOS ports). Let me know if there is a preferred way to expose this functionality.

(*) I didn&apos;t measure the performance implications of such messaging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046817</commentid>
    <comment_count>4</comment_count>
      <attachid>240575</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-06 08:40:22 -0800</bug_when>
    <thetext>Comment on attachment 240575
Patch

Clearing flags on attachment: 240575

Committed r175698: &lt;http://trac.webkit.org/changeset/175698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046818</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-06 08:40:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240575</attachid>
            <date>2014-10-28 16:05:50 -0700</date>
            <delta_ts>2014-11-06 08:40:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138155-20141028160558.patch</filename>
            <type>text/plain</type>
            <size>17601</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2U2NjdlNmJjZmZmM2Zh
ODAyYWIwMGQwMDdhMzRmZWIwMmQ3ZDc5NC4uYzk4ZmI0YjllNWFjYzhlNTMxZWM0MmYxNzc4MTU4
MDI5NzIyNGU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTEwLTI4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJQcm9jZXNz
IG5lZWRzIHRvIHRha2UgYSBiYWNrZ3JvdW5kIHRhc2sgYXNzZXJ0aW9uIHRvIHByZXZlbnQgYmVp
bmcga2lsbGVkCisgICAgICAgIGZvciAic3VzcGVuZGVkIHdpdGggbG9ja2VkIHN5c3RlbSBmaWxl
cyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODE1
NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTc5MzkzMDM+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWl0aWdhdGVzIGFuIGlzc3VlIHdoZXJlIHRo
ZSBXZWJQcm9jZXNzIG1heSBiZSBraWxsZWQgd2hlbiBzdXNwZW5kZWQgaG9sZGluZyBsb2NrZWQg
ZmlsZXMKKyAgICAgICAgYnkgYWxsb3dpbmcgdGhlIFdlYlByb2Nlc3MgdG8gbm90aWZ5IHRoZSBV
SVByb2Nlc3Mgd2hlbiBpdCBpcyBob2xkaW5nIHN1Y2ggZmlsZXMgc28gdGhhdAorICAgICAgICBi
b3RoIGNhbiBjb250aW51ZSB0byBydW4gZm9yIGEgcGVyaW9kIG9mIHRpbWUgYWZ0ZXIgdGhlIFVJ
UHJvY2VzcyB0cmFuc2l0aW9ucyB0byB0aGUKKyAgICAgICAgYmFja2dyb3VuZC4gSW4gcGFydGlj
dWxhciwgdGhlIFdlYlByb2Nlc3Mgbm90aWZpZXMgdGhlIFVJUHJvY2VzcyB0aGF0IGl0IGlzIGhv
bGRpbmctIG9yCisgICAgICAgIHJlbGlucXVpc2hlZC0gYSBsb2NrZWQgZmlsZSB3aGVuIGl0IGJl
Z2lucyBhbmQgZW5kcyBhIHNlcXVlbmNlIG9mIFNRTGl0ZSB0cmFuc2FjdGlvbnMsCisgICAgICAg
IHJlc3BlY3RpdmVseS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpc2Nvbm5lY3QpOiBSZWxpbnF1
aXNoIGFuIGV4aXN0aW5nIGJhY2tncm91bmQgdGFzayBhc3NlcnRpb24KKyAgICAgICAgd2hlbiB0
aGUgV2ViUHJvY2VzcyBkaXNjb25uZWN0cy4gQW1vbmcgb3RoZXIgc2l0dWF0aW9ucywgdGhlIFdl
YlByb2Nlc3MgbWF5IGRpc2Nvbm5lY3QgYXMKKyAgICAgICAgYSByZXN1bHQgb2YgYmVpbmcgc3Vz
cGVuZGVkIGhvbGRpbmcgbG9ja2VkIGZpbGVzIGV2ZW4gd2hlbiB0aGUgVUlQcm9jZXNzIHJlcXVl
c3RlZCBhCisgICAgICAgIGJhY2tncm91bmQgdGFzayBhc3NlcnRpb24gKGkuZS4gaXQgbWF5IGhh
dmUgZXhjZWVkZWQgaXRzIGJhY2tncm91bmQgdGltZSBsaW1pdCkuCisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6c2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMpOiBBZGRlZC4gRWl0aGVy
IGFjcXVpcmVzIGEgbmV3IGJhY2tncm91bmQKKyAgICAgICAgdGFzayBhc3NlcnRpb24gb3IgcmVs
aW5xdWlzaGVzIGFuIGV4aXN0aW5nIG9uZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5p
bjogQWRkZWQgbWVzc2FnZSBTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhib29sKS4gVGhlIFdlYlBy
b2Nlc3MKKyAgICAgICAgZGlzcGF0Y2hlcyB0aGlzIG1lc3NhZ2UgdG8gaW5mb3JtIHRoZSBVSVBy
b2Nlc3MgdGhhdCBpdCBpcyBob2xkaW5nLSBvciByZWxpbnF1aXNoZWQtIGEgbG9ja2VkIGZpbGUu
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBmaWxl
cyBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIue2NwcCwgaH0uCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpzdXBwbGVtZW50TmFtZSk6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OldlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlcik6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXI6OmluaXRpYWxpemUpOiBSZWdpc3RlciB0byByZWNlaXZlIFNRTGl0ZURh
dGFiYXNlVHJhY2tlckNsaWVudCBjYWxsYmFja3MuCisgICAgICAgIChXZWJLaXQ6OldlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlcjo6d2lsbEJlZ2luRmlyc3RUcmFuc2FjdGlvbik6IEluZm9ybSB0aGUg
SHlzdGVyZXNpc0FjdGl2aXR5IG9iamVjdCBvbgorICAgICAgICB0aGUgbWFpbiB0aHJlYWQgdGhh
dCB3ZSBiZWdhbiBhIHRyYW5zYWN0aW9uIHNvIHRoYXQgaXQgY2FsbHMgV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyOjpzdGFydGVkKCkuCisgICAgICAgIChXZWJLaXQ6OldlYlNRTGl0ZURhdGFiYXNl
VHJhY2tlcjo6ZGlkRmluaXNoTGFzdFRyYW5zYWN0aW9uKTogSW5mb3JtIHRoZSBIeXN0ZXJlc2lz
QWN0aXZpdHkgb2JqZWN0IG9uCisgICAgICAgIHRoZSBtYWluIHRocmVhZCB0aGF0IHdlIGZpbmlz
aGVkIGEgdHJhbnNhY3Rpb24gc28gdGhhdCBpdCBtYXkgZXZlbnR1YWxseSBjYWxsIFdlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlcjo6c3RvcHBlZCgpLgorICAgICAgICAoV2ViS2l0OjpXZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXI6OnN0YXJ0ZWQpOiBOb3RpZnkgdGhlIFVJUHJvY2VzcyB0aGF0IHRoZSBX
ZWJQcm9jZXNzIGlzIGhvbGRpbmcKKyAgICAgICAgYSBsb2NrZWQgZmlsZS4KKyAgICAgICAgKFdl
YktpdDo6V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyOjpzdG9wcGVkKTogTm90aWZ5IHRoZSBVSVBy
b2Nlc3MgdGhhdCB0aGUgV2ViUHJvY2VzcyBoYXMKKyAgICAgICAgcmVsaW5xdWlzaGVkIHRoZSBs
b2NrZWQgZmlsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlci5oOiBBZGRlZC4gV2UgdXNlIGEgSHlzdGVyZXNpc0FjdGl2aXR5IG9i
amVjdAorICAgICAgICB0byBjb2FsZXNjZSBTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhmYWxzZSkg
bWVzc2FnZXMgYXMgYW4gb3B0aW1pemF0aW9uIHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2YKKyAg
ICAgICAgbWVzc2FnZXMgZXhjaGFuZ2VkIGJldHdlZW4gdGhlIFVJUHJvY2VzcyBhbmQgV2ViUHJv
Y2VzcyB3aGVuIGEgd2ViIHBhZ2UgcGVyZm9ybXMgU1FMaXRlIHRyYW5zYWN0aW9ucworICAgICAg
ICBpbiBiYXRjaGVzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOiBJbnN0YW50aWF0ZSB0aGUgc3Vw
cGxlbWVudCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIgd2hlbiBidWlsZGluZworICAgICAgICBm
b3IgaU9TLgorCiAyMDE0LTEwLTI0ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCB0aGUgaU9TIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGIyMGMwNzFlZjg3MWE0ZDVkOTcyYzViNTJj
YTdkNDkzNGQ5ZDU4MWQuLmY4ZDg4Njk1NWNlMzljZWFjZDkwMjI5OGY3M2RlYjYyYzlmOWFlNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC0x
NTUsNiArMTU1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpc2Nvbm5lY3QoKQogICAgIH0K
IAogICAgIG1fcmVzcG9uc2l2ZW5lc3NUaW1lci5pbnZhbGlkYXRlKCk7CisgICAgbV90b2tlbkZv
ckhvbGRpbmdMb2NrZWRGaWxlcyA9IG51bGxwdHI7CiAKICAgICBWZWN0b3I8UmVmUHRyPFdlYkZy
YW1lUHJveHk+PiBmcmFtZXM7CiAgICAgY29weVZhbHVlc1RvVmVjdG9yKG1fZnJhbWVNYXAsIGZy
YW1lcyk7CkBAIC03OTQsNCArNzk1LDE0IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDYW5j
ZWxQcm9jZXNzU3VzcGVuc2lvbigpCiAgICAgbV90aHJvdHRsZXItPmRpZENhbmNlbFByb2Nlc3NT
dXNwZW5zaW9uKCk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0hvbGRpbmdMb2Nr
ZWRGaWxlcyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQoreworICAgIGlmICghaXNIb2xkaW5n
TG9ja2VkRmlsZXMpIHsKKyAgICAgICAgbV90b2tlbkZvckhvbGRpbmdMb2NrZWRGaWxlcyA9IG51
bGxwdHI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFtX3Rva2VuRm9ySG9sZGlu
Z0xvY2tlZEZpbGVzKQorICAgICAgICBtX3Rva2VuRm9ySG9sZGluZ0xvY2tlZEZpbGVzID0gc3Rk
OjptYWtlX3VuaXF1ZTxQcm9jZXNzVGhyb3R0bGVyOjpCYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbj4o
Km1fdGhyb3R0bGVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggYjYzZjZlMzQ2MDY1NWRkMmY5YTcw
ZTY1YTI0OTEwNTQyMmJiZGRiMi4uZmYxYTIxM2Y3MDkyYjQzNjM5NjkxM2NkOGJjMWM4YTY4N2I4
MmE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAt
MTQyLDcgKzE0Miw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHByb2Nlc3NSZWFkeVRvU3VzcGVuZCgp
OwogICAgIHZvaWQgc2VuZENhbmNlbFByb2Nlc3NXaWxsU3VzcGVuZCgpOwogICAgIHZvaWQgZGlk
Q2FuY2VsUHJvY2Vzc1N1c3BlbnNpb24oKTsKLSAgICAKKworICAgIHZvaWQgc2V0SXNIb2xkaW5n
TG9ja2VkRmlsZXMoYm9vbCk7CisKICAgICBQcm9jZXNzVGhyb3R0bGVyJiB0aHJvdHRsZXIoKSB7
IHJldHVybiAqbV90aHJvdHRsZXI7IH0KICAgICAKIHByaXZhdGU6CkBAIC0yMzAsNiArMjMyLDcg
QEAgcHJpdmF0ZToKIAogICAgIGludCBtX251bWJlck9mVGltZXNTdWRkZW5UZXJtaW5hdGlvbldh
c0Rpc2FibGVkOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVyPiBtX3Rocm90
dGxlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFj
dGl2aXR5VG9rZW4+IG1fdG9rZW5Gb3JIb2xkaW5nTG9ja2VkRmlsZXM7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDBhOTljMjZlYzZkZjNiZWUyMzhjY2NmMzdlZmVk
MzA2NGFmNGI0ZGEuLjAxZGFhZjUyZmEwOWY4MGM5ODY1OTBjZDkzYjM5MjdjYTgwYTI1YzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgpAQCAtNDksNCArNDksNiBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgTGVn
YWN5UmVjZWl2ZXIgewogI2VuZGlmCiAgICAgUHJvY2Vzc1JlYWR5VG9TdXNwZW5kKCkKICAgICBE
aWRDYW5jZWxQcm9jZXNzU3VzcGVuc2lvbigpCisKKyAgICBTZXRJc0hvbGRpbmdMb2NrZWRGaWxl
cyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRkMmI2MTAwNzUzOGYxZTM5MTc3
YzEzMzg3NmI4NThiNWU4NmRhMTMuLmM0NGI4YjVkNjQxZTYwMjAzN2YxNmQyY2U1NTk4YjNjZDdk
YWZjODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE1OTgsNiArMTU5OCw4IEBACiAJCUNERTZFMkQzMTlGNzMxQzQwMEJBOTY4
OCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTZFMkQyMTlGNzMxQzQwMEJBOTY4OCAvKiBX
ZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQ0VEQTEyRTIxNTJDRDFB
RTAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRURBMTJERjE1MkNDQUU4MDBEOUUwOEQg
LyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcCAqLzsgfTsKIAkJQ0VEQTEyRTMxNTJDRDFC
MzAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VEQTEyREUxNTJDQ0FFODAwRDlFMDhEIC8q
IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oICovOyB9OworCQlDRURCQTg0NzE5RkRBMDBBMDA2
ODY2QTUgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFREJBODQ1MTlGREEwMEEwMDY4NjZBNSAvKiBX
ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwICovOyB9OworCQlDRURCQTg0ODE5RkRBMDBBMDA2
ODY2QTUgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRURCQTg0NjE5RkRBMDBBMDA2ODY2QTUgLyogV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyLmggKi87IH07CiAJCUQzQjk0ODQ2MTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJQb3B1cE1lbnUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAg
Ki87IH07CiAJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQjk0ODQzMTFGRjRC
NjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCAqLzsgfTsKIAkJRDNCOTQ4NDgxMUZGNEI2NTAw
MDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0NDExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2Vh
cmNoUG9wdXBNZW51LmNwcCAqLzsgfTsKQEAgLTM2OTksNiArMzcwMSw4IEBACiAJCUNERTZFMkQy
MTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViT3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVt
ZW50Lmg7IHBhdGggPSBPcmlnaW5EYXRhL1dlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRURBMTJERTE1MkNDQUU4MDBEOUUwOEQg
LyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRURBMTJERjE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFsdGVybmF0
aXZlVGV4dENsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFREJBODQ1
MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0VEQkE4NDYxOUZEQTAwQTAwNjg2NkE1
IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDNCOTQ4NDIxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQb3B1cE1lbnUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0I5NDg0MzExRkY0QjY1MDAwMzJCMzkgLyogV2Vi
UG9wdXBNZW51LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBvcHVwTWVu
dS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0I5NDg0NDExRkY0QjY1MDAwMzJC
MzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlNlYXJjaFBvcHVwTWVudS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC01NzA3LDYgKzU3MTEsOCBAQAogCQkJCTFBMUUwOTMyMTg4NjFEMzgwMEQyREM0OSAv
KiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCAqLywKIAkJCQlEM0I5NDg0NDExRkY0QjY1MDAw
MzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmNwcCAqLywKIAkJCQlEM0I5NDg0NTExRkY0QjY1
MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggKi8sCisJCQkJQ0VEQkE4NDUxOUZEQTAw
QTAwNjg2NkE1IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgKi8sCisJCQkJQ0VEQkE4
NDYxOUZEQTAwQTAwNjg2NkE1IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBXZWJDb3JlU3VwcG9ydDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC03MzQ5LDYgKzczNTUsNyBAQAogCQkJCTFBQUIwMzdBMTg1QTdDNkEwMEVERjUwMSAvKiBN
ZXNzYWdlU2VuZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdBRjExRTY0QjY4MDBEQjEz
NzEgLyogUGx1Z2luVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGRTQzNjYxOEI2QzA4MTAw
OUM3QTQ4IC8qIFVJRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFREJBODQ4MTlGREEw
MEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxQ0MxQjkwMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm8uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMUE3QzU4MTEzNkUxOUMwMEZCNzE2NyAvKiBQcm9jZXNzTGF1bmNoZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNTk3MDc1MTE2NTkxRDAwMDU1MUZDQSAvKiBQcm9jZXNzTW9kZWwu
aCBpbiBIZWFkZXJzICovLApAQCAtODk3NSw2ICs4OTgyLDcgQEAKIAkJCQkyRDJBREYwOTE2MzYy
REQ1MDAxOTdFNDcgLyogUERGUGx1Z2luVGV4dEFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLywK
IAkJCQlCQ0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBNkZCN0QyMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4u
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0VEQkE4NDcxOUZEQTAwQTAwNjg2NkE1IC8qIFdlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIy
QTk5MDA2Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUE4RUY0Q0MxMjUyNDAzNzAwRjcwNjdGIC8qIFBsdWdpbkNvbnRyb2xsZXJQcm94eS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJEOTFBNjEyODFENzM5MDAxRUI5NjIgLyogUGx1Z2lu
Q29udHJvbGxlclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU2ODBiNWQ5YjE2MGYyNGI2MjRkNjM0
NTY2MjdjZTgyMWM3YTU4NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcApAQCAtMCww
ICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIgorCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwor
I2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdl
cy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmg+CisjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjb25zdCBjaGFyKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6OnN1
cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIldlYlNRTGl0ZURhdGFiYXNlVHJhY2tlciI7
Cit9CisKK1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6V2ViU1FMaXRlRGF0YWJhc2VUcmFja2Vy
KFdlYlByb2Nlc3MqIHByb2Nlc3MpCisgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKKyAgICAsIG1f
aHlzdGVyZXNpcygqdGhpcykKK3sKK30KKwordm9pZCBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI6
OmluaXRpYWxpemUoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCit7CisgICAg
U1FMaXRlRGF0YWJhc2VUcmFja2VyOjpzZXRDbGllbnQodGhpcyk7Cit9CisKK3ZvaWQgV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyOjp3aWxsQmVnaW5GaXJzdFRyYW5zYWN0aW9uKCkKK3sKKyAgICBj
YWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAgIG1faHlzdGVyZXNpcy5zdGFydCgpOwor
ICAgIH0pOworfQorCit2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6ZGlkRmluaXNoTGFz
dFRyYW5zYWN0aW9uKCkKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAg
IG1faHlzdGVyZXNpcy5zdG9wKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyOjpzdGFydGVkKCkKK3sKKyAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25u
ZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6U2V0SXNIb2xkaW5nTG9j
a2VkRmlsZXModHJ1ZSksIDApOworfQorCit2b2lkIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjo6
c3RvcHBlZCgpCit7CisgICAgbV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlNldElzSG9sZGluZ0xvY2tlZEZpbGVzKGZh
bHNlKSwgMCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KFNRTF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM3ZGQ4OTA1YmI0YWYxZWRiYjJjNjk5OGM3OGUwNzdlZWIyNzcxYzgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlci5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcl9oCisjZGVmaW5lIFdlYlNRTGl0ZURhdGFiYXNl
VHJhY2tlcl9oCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzU3VwcGxlbWVudC5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvSHlzdGVyZXNpc0FjdGl2aXR5Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TUUxpdGVE
YXRhYmFzZVRyYWNrZXJDbGllbnQuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKwor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJQcm9jZXNzOworCitjbGFzcyBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgV2Vi
Q29yZTo6U1FMaXRlRGF0YWJhc2VUcmFja2VyQ2xpZW50LCBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBs
ZW1lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
cik7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyKFdlYlBy
b2Nlc3MqKTsKKworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisg
ICAgLy8gV2ViU3VwcGxlbWVudAorICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplKGNvbnN0IFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKSBvdmVycmlkZTsKKworICAgIC8vIFdlYkNvcmU6
OlNRTGl0ZURhdGFiYXNlVHJhY2tlckNsaWVudAorICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVnaW5G
aXJzdFRyYW5zYWN0aW9uKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExh
c3RUcmFuc2FjdGlvbigpIG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIC8vIFdlYkNvcmU6Okh5
c3RlcmVzaXNBY3Rpdml0eQorICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0
aXZpdHk8V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyPjsKKyAgICB2b2lkIHN0YXJ0ZWQoKTsKKyAg
ICB2b2lkIHN0b3BwZWQoKTsKKworICAgIFdlYlByb2Nlc3MqIG1fcHJvY2VzczsKKyAgICBXZWJD
b3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHk8V2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyPiBtX2h5c3Rl
cmVzaXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCisKKyNlbmRpZiAvLyBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXJfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYWZkZWFlZTc2YjkxOTA1
Zjk5ZjE2YWVlMmQwZDU2M2U4MWFjY2Y2Yy4uMzY2M2M0NDQ0NTQ4NzdiMWQ1Yzc4MTM1YTI2OTY3
YTNmYWI0MjAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBA
IC0xMTEsNiArMTExLDkgQEAKIAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAi
V2ViRGF0YWJhc2VNYW5hZ2VyLmgiCisjaWYgUExBVEZPUk0oSU9TKQorI2luY2x1ZGUgIldlYlNR
TGl0ZURhdGFiYXNlVHJhY2tlci5oIgorI2VuZGlmCiAjZW5kaWYKIAogI2lmIEVOQUJMRShCQVRU
RVJZX1NUQVRVUykKQEAgLTE5MCw3ICsxOTMsMTEgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2Vzcygp
CiAgICAgCiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBhZGRTdXBwbGVtZW50PFdlYkRh
dGFiYXNlTWFuYWdlcj4oKTsKKyNpZiBQTEFURk9STShJT1MpCisgICAgYWRkU3VwcGxlbWVudDxX
ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI+KCk7CiAjZW5kaWYKKyNlbmRpZgorCiAjaWYgRU5BQkxF
KE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKICAgICBhZGRT
dXBwbGVtZW50PFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI+KCk7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>