<?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>174239</bug_id>
          
          <creation_ts>2017-07-06 21:17:17 -0700</creation_ts>
          <short_desc>WKWindowFeatures needs to expose scrollbar, fullscreen, and dialog configuration properties</short_desc>
          <delta_ts>2017-07-11 22:28:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=174271</see_also>
          <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="Ansh Shukla">ansh_shukla</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1326366</commentid>
    <comment_count>0</comment_count>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-06 21:17:17 -0700</bug_when>
    <thetext>Safari needs this to adopt new createPage API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326367</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-06 21:17:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/33174155&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326397</commentid>
    <comment_count>2</comment_count>
      <attachid>314819</attachid>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-06 22:49:50 -0700</bug_when>
    <thetext>Created attachment 314819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326540</commentid>
    <comment_count>3</comment_count>
      <attachid>314819</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-07 11:32:42 -0700</bug_when>
    <thetext>Comment on attachment 314819
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesPrivate.h:37
&gt; +@property (nonatomic, readonly, getter=_isLocationBarVisible) BOOL _locationBarVisible WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; +@property (nonatomic, readonly, getter=_areScrollbarsVisible) BOOL _scrollbarsVisible WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; +@property (nonatomic, readonly, getter=_isFullscreen) BOOL _fullscreen WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; +@property (nonatomic, readonly, getter=_isDialog) BOOL _dialog WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));

These should be exposed as NSNumber *s the same way the API bool properties are.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326554</commentid>
    <comment_count>4</comment_count>
      <attachid>314819</attachid>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-07 12:44:43 -0700</bug_when>
    <thetext>Comment on attachment 314819
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesPrivate.h:37
&gt;&gt; +@property (nonatomic, readonly, getter=_isDialog) BOOL _dialog WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; These should be exposed as NSNumber *s the same way the API bool properties are.

width, height, x, and y are the only API::WindowFeature properties that are optional. All others are always specified, and the documentation on the public API is incorrect because, for example, menuBarVisibility can never be nil. If I&apos;m right, then I don&apos;t think we should bring this mistake into the private API. I can change these to NSNumber * if I&apos;m misinterpreting when values can be unspecified or if you think it&apos;s better to keep it consistent regardless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326564</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-07 13:00:31 -0700</bug_when>
    <thetext>(In reply to Ansh Shukla from comment #4)
&gt; Comment on attachment 314819 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=314819&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWindowFeaturesPrivate.h:37
&gt; &gt;&gt; +@property (nonatomic, readonly, getter=_isDialog) BOOL _dialog WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; &gt; 
&gt; &gt; These should be exposed as NSNumber *s the same way the API bool properties are.
&gt; 
&gt; width, height, x, and y are the only API::WindowFeature properties that are
&gt; optional. 

This is *currently* true for the WebCore::WindowFeatures object, but it&apos;s not actually true for the web API itself.

&gt; All others are always specified

This is not true. You can call window.open with *no* window features string.

https://html.spec.whatwg.org/multipage/window-object.html#dom-open
https://html.spec.whatwg.org/multipage/window-object.html#window-open-steps
https://html.spec.whatwg.org/multipage/window-object.html#concept-window-open-features-tokenize

Or more casually:
https://developer.mozilla.org/en-US/docs/Web/API/Window/open
&quot;An optional parameter listing the features (size, position, scrollbars, etc.) of the new window as a DOMString.&quot;

&gt; The documentation on the public API is incorrect because, for example, menuBarVisibility can never be
&gt; nil. 

The documentation on the public API is correct. Our implementation is wrong.

&gt; I can change these to NSNumber * if I&apos;m misinterpreting when
&gt; values can be unspecified or if you think it&apos;s better to keep it consistent
&gt; regardless.

Please correctly make the new SPI represent the optionality of these features.

I filed https://bugs.webkit.org/show_bug.cgi?id=174271 to fix the implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326591</commentid>
    <comment_count>6</comment_count>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-07 13:32:11 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #5)
&gt; 
&gt; Or more casually:
&gt; https://developer.mozilla.org/en-US/docs/Web/API/Window/open
&gt; &quot;An optional parameter listing the features (size, position, scrollbars,
&gt; etc.) of the new window as a DOMString.&quot;

I saw this page, but the later statement

&quot;the features that are not listed will be disabled or removed (except titlebar and close, which are by default yes)&quot;

led me to believe that WebCore::WindowFeatures was intentionally reverting to defaults for unspecified values. Since it seems that our implementation is broken, I&apos;ll upload a patch with optional properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326610</commentid>
    <comment_count>7</comment_count>
      <attachid>314874</attachid>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-07 14:03:37 -0700</bug_when>
    <thetext>Created attachment 314874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326635</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-07 14:31:05 -0700</bug_when>
    <thetext>(In reply to Ansh Shukla from comment #6)
&gt; (In reply to Brady Eidson from comment #5)
&gt; &gt; 
&gt; &gt; Or more casually:
&gt; &gt; https://developer.mozilla.org/en-US/docs/Web/API/Window/open
&gt; &gt; &quot;An optional parameter listing the features (size, position, scrollbars,
&gt; &gt; etc.) of the new window as a DOMString.&quot;
&gt; 
&gt; I saw this page, but the later statement
&gt; 
&gt; &quot;the features that are not listed will be disabled or removed (except
&gt; titlebar and close, which are by default yes)&quot;
&gt; 
&gt; led me to believe that WebCore::WindowFeatures was intentionally reverting
&gt; to defaults for unspecified values. Since it seems that our implementation
&gt; is broken, I&apos;ll upload a patch with optional properties.

The spec has recommended default values.

But you&apos;re confusing the expectations of the window with what the API represents, which is whether or not the value was specified at all.

Some examples:

Javascript: 
window.open(&quot;about:blank&quot;, &quot;_top&quot;, &quot;toolbar=yes&quot;);
API WKWindowFeatures.toolbarsVisibility:
[NSNumber numberWithBool:YES]

Javascript: 
window.open(&quot;about:blank&quot;, &quot;_top&quot;, &quot;toolbar=no&quot;);
API WKWindowFeatures.toolbarsVisibility:
[NSNumber numberWithBool:NO]

Javascript: 
window.open(&quot;about:blank&quot;, &quot;_top&quot;);
API WKWindowFeatures.toolbarsVisibility:
nil


Note: This doesn&apos;t actually work today as established - that&apos;s what the other bug covers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326637</commentid>
    <comment_count>9</comment_count>
      <attachid>314874</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-07 14:33:12 -0700</bug_when>
    <thetext>Comment on attachment 314874
Patch

API test?

You can add on to the API test OpenAndCloseWindow.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327715</commentid>
    <comment_count>10</comment_count>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-11 13:48:51 -0700</bug_when>
    <thetext>Test unearthed: https://bugs.webkit.org/show_bug.cgi?id=174388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327728</commentid>
    <comment_count>11</comment_count>
      <attachid>315163</attachid>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-11 14:00:16 -0700</bug_when>
    <thetext>Created attachment 315163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327802</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-11 15:53:18 -0700</bug_when>
    <thetext>/Volumes/Data/EWS/WebKit/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:237:91: error: use of undeclared identifier &apos;NSWindowStyleMaskBorderless&apos;
    auto window = adoptNS([[NSWindow alloc] initWithContentRect:[webView frame] styleMask:NSWindowStyleMaskBorderless backing:NSBackingStoreBuffered defer:YES]);
                                                                                          ^
1 error generated.

Can&apos;t use 10.12 SDK features as long as WebKit has to build on 10.11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327812</commentid>
    <comment_count>13</comment_count>
      <attachid>315181</attachid>
    <who name="Ansh Shukla">ansh_shukla</who>
    <bug_when>2017-07-11 16:09:34 -0700</bug_when>
    <thetext>Created attachment 315181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327842</commentid>
    <comment_count>14</comment_count>
      <attachid>315181</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-11 16:51:13 -0700</bug_when>
    <thetext>Comment on attachment 315181
Patch

r=me once EWS is happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327864</commentid>
    <comment_count>15</comment_count>
      <attachid>315181</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-11 17:25:49 -0700</bug_when>
    <thetext>Comment on attachment 315181
Patch

Clearing flags on attachment: 315181

Committed r219378: &lt;http://trac.webkit.org/changeset/219378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327865</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-11 17:25:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327918</commentid>
    <comment_count>17</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-11 22:28:10 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #14)
&gt; Comment on attachment 315181 [details]
&gt; Patch
&gt; 
&gt; r=me once EWS is happy

(In reply to WebKit Commit Bot from comment #15)
&gt; Comment on attachment 315181 [details]&gt; 
&gt; Clearing flags on attachment: 315181
&gt; 
&gt; Committed r219378: &lt;http://trac.webkit.org/changeset/219378&gt;

I notice this landed before EWS was all the way done.

While I think this particular patch was fine as-is, it&apos;s not usually acceptable to disregard reviewer feedback like this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314819</attachid>
            <date>2017-07-06 22:49:50 -0700</date>
            <delta_ts>2017-07-07 14:03:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174239-20170706224949.patch</filename>
            <type>text/plain</type>
            <size>9042</size>
            <attacher name="Ansh Shukla">ansh_shukla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0MjFlMGYxYjhkNmRkOGQxNTcyMWEyYmY1NTJiOTMyOWMwYWViYjA5Li5i
YjEzOGQ2YjAyN2E1MmIyYmRiZDAwNTQzY2Y0MjRiZTM0OTNmZmI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTctMDctMDYgIEFuc2ggU2h1a2xhICA8YW5zaF9zaHVrbGFAYXBwbGUu
Y29tPgorCisgICAgICAgIFdLV2luZG93RmVhdHVyZXMgbmVlZHMgdG8gZXhwb3NlIHNjcm9sbGJh
ciwgZnVsbHNjcmVlbiwgYW5kIGRpYWxvZyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDIzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcml2
YXRlIGhlYWRlciB0byBleHBvc2UgZ2V0dGVycyBmb3Igd2luZG93IGZlYXR1cmUKKyAgICAgICAg
cHJvcGVydGllcyBhbHJlYWR5IGF2YWlsYWJsZSBpbiB0aGUgVEZCIEFQSVdpbmRvd0ZlYXR1cmVz
IGNsYXNzLgorICAgICAgICBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBuZWNlc3NhcnkgZm9yIFNhZmFy
aSB0byBhZG9wdCBtb3JlIG1vZGVybiBBUEkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2luZG93RmVhdHVyZXMubW06CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2lz
TG9jYXRpb25CYXJWaXNpYmxlXSk6CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2FyZVNj
cm9sbGJhcnNWaXNpYmxlXSk6CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2lzRnVsbHNj
cmVlbl0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9pc0RpYWxvZ10pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmg6IEV4cG9z
ZSBzb21lIHdpbmRvdworICAgICAgICBmZWF0dXJlcyBhcyByZWFkLW9ubHkgcHJvcGVydGllcy4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNQcml2YXRlLmg6
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE3LTA3
LTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUncyBzdGF0aXN0aWNzTG9jawpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzLm1tCmluZGV4
IGVhNThmZmI5MzQ5MzJiYTkzMGMwYTdjYzMyOTJmNWE0M2I2MzE0ZWIuLjZlOWIxNGI5YzBlZjY4
ZTUzMzE1ZDgzYzM4ZWY1ODIyMGQ5ZDMxMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXMubW0KQEAgLTEwMSw0ICsxMDEs
MjggQEAgLSAoQVBJOjpPYmplY3QmKV9hcGlPYmplY3QKIAogQGVuZAogCitAaW1wbGVtZW50YXRp
b24gV0tXaW5kb3dGZWF0dXJlcyAoV0tQcml2YXRlKQorCistIChCT09MKV9pc0xvY2F0aW9uQmFy
VmlzaWJsZQoreworICAgIHJldHVybiBfd2luZG93RmVhdHVyZXMtPndpbmRvd0ZlYXR1cmVzKCku
bG9jYXRpb25CYXJWaXNpYmxlOworfQorCistIChCT09MKV9hcmVTY3JvbGxiYXJzVmlzaWJsZQor
eworICAgIHJldHVybiBfd2luZG93RmVhdHVyZXMtPndpbmRvd0ZlYXR1cmVzKCkuc2Nyb2xsYmFy
c1Zpc2libGU7Cit9CisKKy0gKEJPT0wpX2lzRnVsbHNjcmVlbgoreworICAgIHJldHVybiBfd2lu
ZG93RmVhdHVyZXMtPndpbmRvd0ZlYXR1cmVzKCkuZnVsbHNjcmVlbjsKK30KKworLSAoQk9PTClf
aXNEaWFsb2cKK3sKKyAgICByZXR1cm4gX3dpbmRvd0ZlYXR1cmVzLT53aW5kb3dGZWF0dXJlcygp
LmRpYWxvZzsKK30KKworQGVuZAorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oCmlu
ZGV4IDRjOTJmMDlmMTRlMGVkODkyNWI3ZTRhMjllMDAzYjdlZWEyODg3MjIuLjc2N2JiZDM1Mjdj
MjdkMjFiMzNlZmVjZWU2YzMyYWZiNGUxYWFmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwu
aApAQCAtMjMsNyArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLSNpbXBvcnQgIldLV2luZG93RmVhdHVyZXMuaCIKKyNpbXBvcnQgIldLV2luZG93RmVh
dHVyZXNQcml2YXRlLmgiCiAKICNpZiBXS19BUElfRU5BQkxFRAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNQcml2
YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZGE1NTg5ZTRmOTU4ZWE5Y2QxNTk2MzkzZGE0ODBjZmQ5OTQ3Yjdm
NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCA8V2ViS2l0L1dLV2luZG93RmVhdHVyZXMuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVE
CisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKK0BpbnRlcmZhY2UgV0tXaW5kb3dGZWF0dXJl
cyAoV0tQcml2YXRlKQorCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1f
aXNMb2NhdGlvbkJhclZpc2libGUpIEJPT0wgX2xvY2F0aW9uQmFyVmlzaWJsZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPV9hcmVTY3JvbGxiYXJzVmlzaWJsZSkgQk9PTCBf
c2Nyb2xsYmFyc1Zpc2libGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1f
aXNGdWxsc2NyZWVuKSBCT09MIF9mdWxsc2NyZWVuIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5LCBnZXR0ZXI9X2lzRGlhbG9nKSBCT09MIF9kaWFsb2cgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK0BlbmQKKworTlNfQVNTVU1FX05P
Tk5VTExfRU5ECisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNkMDBmMjNmOTQxY2M2MmNiZGVlYzkyOGFmMWRlOTVm
ODI3MWJkMTUuLjUwN2MyOTE0ZTFhYTQ1N2FmYTRjNmQ2MDliZjg5ZDBjODRlNjlhOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTExODksNiArMTE4OSw3IEBACiAJCTY1MDFCRDFBMTJGMTI0MzQwMEU5RjI0OCAvKiBXS0J1bmRs
ZUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2NUI4NkYxNzEyRjExRDdCMDBCN0REOEEgLyogV0tCdW5kbGVJbnNwZWN0b3IuY3BwICov
OyB9OwogCQk2NTlDNTUxRTEzMDAwNjQxMDAyNUMwQzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUmVz
b3VyY2VMb2FkQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDY1NDZBODI5MTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VS
ZXNvdXJjZUxvYWRDbGllbnQuY3BwICovOyB9OwogCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEg
LyogV0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDY1Qjg2RjE4MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTZB
NTA4MEJGMUYwRURBQUEwMEU2MTdDNSAvKiBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkE1MDgwQkUxRjBFREFB
QTAwRTYxN0M1IC8qIFdLV2luZG93RmVhdHVyZXNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwogCQk2QjgyMUREQzFFRUYwNUREMDBEN0FGNEEg
LyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkI4MjFEREExRUVGMDVERDAwRDdBRjRBIC8q
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaCAqLzsgfTsKIAkJNkI4MjFEREQx
RUVGMDVERDAwRDdBRjRBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkI4MjFEREIx
RUVGMDVERDAwRDdBRjRBIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3Bw
ICovOyB9OwogCQk2QkU5NjlDMTFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRpY3Rpb25fbW9k
ZWwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2
OUMwMUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCAqLzsgfTsKQEAgLTM0
NzMsNiArMzQ3NCw3IEBACiAJCTY1NDZBODJBMTMwMDAxNjQwMDBDRUIxQyAvKiBJbmplY3RlZEJ1
bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3VyY2VMb2FkQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTY1Qjg2RjE3MTJGMTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUlu
c3BlY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0J1bmRs
ZUluc3BlY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1Qjg2RjE4MTJG
MTFEN0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0J1bmRsZUluc3BlY3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk2QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dGZWF0dXJlc1ByaXZh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkI4MjFEREExRUVGMDVERDAwRDdBRjRBIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1RlbGVtZXRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
QjgyMUREQjFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVt
ZXRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVs
ZW1ldHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkJFOTY5QzAxRTU0RDQ1
MjAwOEI3NDgzIC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IGNvcmVQcmVkaWN0aW9uX21vZGVsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTc0
NSw2ICs1NzQ3LDcgQEAKIAkJCQkxQTY2QkY4RTE4QTA1MkVEMDAyMDcxQjQgLyogV0tXZWJWaWV3
SW50ZXJuYWwuaCAqLywKIAkJCQkyNkY5QTgzQTE4QTM0NjNGMDBBRUI4OEEgLyogV0tXZWJWaWV3
UHJpdmF0ZS5oICovLAogCQkJCTFBRDYwRjVDMThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0Zl
YXR1cmVzLmggKi8sCisJCQkJNkE1MDgwQkUxRjBFREFBQTAwRTYxN0M1IC8qIFdLV2luZG93RmVh
dHVyZXNQcml2YXRlLmggKi8sCiAJCQkJMUFENjBGNUIxOEUyMEY0QzAwMjBDMDM0IC8qIFdLV2lu
ZG93RmVhdHVyZXMubW0gKi8sCiAJCQkJMUFENjBGNUYxOEUyMEY3NDAwMjBDMDM0IC8qIFdLV2lu
ZG93RmVhdHVyZXNJbnRlcm5hbC5oICovLAogCQkJKTsKQEAgLTg3NzAsNiArODc3Myw3IEBACiAJ
CQkJQ0RBMjlBMkIxQ0JFQjY3QTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUQ1OTI5RjE2NkUwNjAwMDBFNkJG
MDIgLyogV2ViUGx1Z0luQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzU3NDRGMDEyNjM4
RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywKKwkJCQk2QTUwODBC
RjFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUQzQjk0ODQ3MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNTc0RTYzMTI2N0QwODAwMDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzUwOTcxMjY4RjNDNjAwNkYwRjEyIC8qIFdl
YlBvcHVwTWVudVByb3h5TWFjLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314874</attachid>
            <date>2017-07-07 14:03:37 -0700</date>
            <delta_ts>2017-07-11 14:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174239-20170707140336.patch</filename>
            <type>text/plain</type>
            <size>9077</size>
            <attacher name="Ansh Shukla">ansh_shukla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0MjFlMGYxYjhkNmRkOGQxNTcyMWEyYmY1NTJiOTMyOWMwYWViYjA5Li40
N2NiNWIyY2Q4OWUzZjU5N2Q0MGYyYzBhNzRhMGYzMDQzZDY4NjExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTctMDctMDYgIEFuc2ggU2h1a2xhICA8YW5zaF9zaHVrbGFAYXBwbGUu
Y29tPgorCisgICAgICAgIFdLV2luZG93RmVhdHVyZXMgbmVlZHMgdG8gZXhwb3NlIHNjcm9sbGJh
ciwgZnVsbHNjcmVlbiwgYW5kIGRpYWxvZyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDIzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcml2
YXRlIGhlYWRlciB0byBleHBvc2UgZ2V0dGVycyBmb3Igd2luZG93IGZlYXR1cmUKKyAgICAgICAg
cHJvcGVydGllcyBhbHJlYWR5IGF2YWlsYWJsZSBpbiB0aGUgVEZCIEFQSVdpbmRvd0ZlYXR1cmVz
IGNsYXNzLgorICAgICAgICBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBuZWNlc3NhcnkgZm9yIFNhZmFy
aSB0byBhZG9wdCBtb3JlIG1vZGVybiBBUEkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2luZG93RmVhdHVyZXMubW06CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2xv
Y2F0aW9uQmFyVmlzaWJpbGl0eV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9zY3Jv
bGxiYXJzVmlzaWJsaXR5XSk6CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2Z1bGxzY3Jl
ZW5EaXNwbGF5XSk6CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2RpYWxvZ0Rpc3BsYXld
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5h
bC5oOiBFeHBvc2Ugc29tZSB3aW5kb3cKKyAgICAgICAgZmVhdHVyZXMgYXMgcmVhZC1vbmx5IHBy
b3BlcnRpZXMuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVz
UHJpdmF0ZS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAxNy0wNy0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IERyb3AgUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlJ3Mgc3RhdGlzdGljc0xvY2sKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJl
cy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJl
cy5tbQppbmRleCBlYTU4ZmZiOTM0OTMyYmE5MzBjMGE3Y2MzMjkyZjVhNDNiNjMxNGViLi44NjRk
OTQzMDAyODdhYjNmMmNkZTlkZGUzODM2MTQzOTg5YTgxNmFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzLm1tCkBAIC0x
MDEsNCArMTAxLDI4IEBAIC0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0CiAKIEBlbmQKIAorQGlt
cGxlbWVudGF0aW9uIFdLV2luZG93RmVhdHVyZXMgKFdLUHJpdmF0ZSkKKworLSAoTlNOdW1iZXIg
KilfbG9jYXRpb25CYXJWaXNpYmlsaXR5Cit7CisgICAgcmV0dXJuIEAoX3dpbmRvd0ZlYXR1cmVz
LT53aW5kb3dGZWF0dXJlcygpLmxvY2F0aW9uQmFyVmlzaWJsZSk7Cit9CisKKy0gKE5TTnVtYmVy
ICopX3Njcm9sbGJhcnNWaXNpYmxpdHkKK3sKKyAgICByZXR1cm4gQChfd2luZG93RmVhdHVyZXMt
PndpbmRvd0ZlYXR1cmVzKCkuc2Nyb2xsYmFyc1Zpc2libGUpOworfQorCistIChOU051bWJlciAq
KV9mdWxsc2NyZWVuRGlzcGxheQoreworICAgIHJldHVybiBAKF93aW5kb3dGZWF0dXJlcy0+d2lu
ZG93RmVhdHVyZXMoKS5mdWxsc2NyZWVuKTsKK30KKworLSAoTlNOdW1iZXIgKilfZGlhbG9nRGlz
cGxheQoreworICAgIHJldHVybiBAKF93aW5kb3dGZWF0dXJlcy0+d2luZG93RmVhdHVyZXMoKS5k
aWFsb2cpOworfQorCitAZW5kCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmgKaW5k
ZXggNGM5MmYwOWYxNGUwZWQ4OTI1YjdlNGEyOWUwMDNiN2VlYTI4ODcyMi4uNzY3YmJkMzUyN2My
N2QyMWIzM2VmZWNlZTZjMzJhZmI0ZTFhYWZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5o
CkBAIC0yMyw3ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2ltcG9ydCAiV0tXaW5kb3dGZWF0dXJlcy5oIgorI2ltcG9ydCAiV0tXaW5kb3dGZWF0
dXJlc1ByaXZhdGUuaCIKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc1ByaXZh
dGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNTMxZTY5MTYwZGZhODUzMjljZjY0Y2NlODY5ZGQ4OGNmNzEyMDJh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0IDxXZWJLaXQvV0tXaW5kb3dGZWF0dXJlcy5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQK
KworTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KKworQGludGVyZmFjZSBXS1dpbmRvd0ZlYXR1cmVz
IChXS1ByaXZhdGUpCisKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgcmVhZG9ubHkp
IE5TTnVtYmVyICpfbG9jYXRpb25CYXJWaXNpYmlsaXR5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChudWxsYWJsZSwgbm9u
YXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9zY3JvbGxiYXJzVmlzaWJsaXR5IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5
IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9mdWxsc2NyZWVuRGlz
cGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgcmVhZG9ubHkpIE5TTnVtYmVyICpf
ZGlhbG9nRGlzcGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggY2QwMGYyM2Y5NDFjYzYyY2JkZWVjOTI4YWYxZGU5NWY4MjcxYmQxNS4uNTA3YzI5MTRlMWFh
NDU3YWZhNGM2ZDYwOWJmODlkMGM4NGU2OWE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE4OSw2ICsxMTg5LDcgQEAKIAkJ
NjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFEN0Iw
MEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFFMTMwMDA2
NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4MjkxMzAw
MDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5jcHAg
Ki87IH07CiAJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZGMTgx
MkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkE1MDgwQkYxRjBFREFBQTAwRTYxN0M1
IC8qIFdLV2luZG93RmVhdHVyZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dG
ZWF0dXJlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7
IH07IH07CiAJCTZCODIxRERDMUVFRjA1REQwMEQ3QUY0QSAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzVGVsZW1ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1RlbGVtZXRyeS5oICovOyB9OwogCQk2QjgyMURERDFFRUYwNUREMDBEN0FGNEEgLyogV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjgyMUREQjFFRUYwNUREMDBEN0FGNEEgLyogV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgKi87IH07CiAJCTZCRTk2OUMxMUU1
NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgzIC8q
IGNvcmVQcmVkaWN0aW9uX21vZGVsICovOyB9OwpAQCAtMzQ3Myw2ICszNDc0LDcgQEAKIAkJNjU0
NkE4MkExMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENs
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBh
Z2VSZXNvdXJjZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVC
ODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVu
ZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxl
SW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZBNTA4MEJFMUYwRURB
QUEwMEU2MTdDNSAvKiBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2
QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVt
ZXRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCODIxRERCMUVFRjA1REQwMEQ3QUY0
QSAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVByZWRp
Y3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9kZWw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NzQ1LDYgKzU3NDcsNyBAQAogCQkJCTFB
NjZCRjhFMThBMDUyRUQwMDIwNzFCNCAvKiBXS1dlYlZpZXdJbnRlcm5hbC5oICovLAogCQkJCTI2
RjlBODNBMThBMzQ2M0YwMEFFQjg4QSAvKiBXS1dlYlZpZXdQcml2YXRlLmggKi8sCiAJCQkJMUFE
NjBGNUMxOEUyMEY0QzAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXMuaCAqLywKKwkJCQk2QTUw
ODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaCAqLywKIAkJ
CQkxQUQ2MEY1QjE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlcy5tbSAqLywKIAkJ
CQkxQUQ2MEY1RjE4RTIwRjc0MDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmgg
Ki8sCiAJCQkpOwpAQCAtODc3MCw2ICs4NzczLDcgQEAKIAkJCQlDREEyOUEyQjFDQkVCNjdBMDA5
MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1
cEl0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTZBNTA4MEJGMUYwRURBQUEwMEU2MTdDNSAvKiBX
S1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcxMUZG
NEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzRF
NjMxMjY3RDA4MDAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzU3NTA5NzEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMuaCBp
biBIZWFkZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315163</attachid>
            <date>2017-07-11 14:00:16 -0700</date>
            <delta_ts>2017-07-11 16:09:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174239-20170711140014.patch</filename>
            <type>text/plain</type>
            <size>15760</size>
            <attacher name="Ansh Shukla">ansh_shukla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0MjFlMGYxYjhkNmRkOGQxNTcyMWEyYmY1NTJiOTMyOWMwYWViYjA5Li5l
OWFjNjA3MmEwNjY2MjZjZDUzZDgxMWQ2ZmZiYTA2M2VlMGQ4MTBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTctMDctMTEgIEFuc2ggU2h1a2xhICA8YW5zaF9zaHVrbGFAYXBwbGUu
Y29tPgorCisgICAgICAgIFdLV2luZG93RmVhdHVyZXMgbmVlZHMgdG8gZXhwb3NlIHNjcm9sbGJh
ciwgZnVsbHNjcmVlbiwgYW5kIGRpYWxvZyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDIzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcml2
YXRlIGhlYWRlciB0byBleHBvc2UgZ2V0dGVycyBmb3Igd2luZG93IGZlYXR1cmUgcHJvcGVydGll
cyBhbHJlYWR5IGF2YWlsYWJsZQorICAgICAgICBpbiB0aGUgVEZCIEFQSVdpbmRvd0ZlYXR1cmVz
IGNsYXNzLiBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBuZWNlc3NhcnkgZm9yIFNhZmFyaSB0byBhZG9w
dCBtb3JlCisgICAgICAgIG1vZGVybiBBUEkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2luZG93RmVhdHVyZXMubW06CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2xv
Y2F0aW9uQmFyVmlzaWJpbGl0eV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9zY3Jv
bGxiYXJzVmlzaWJpbGl0eV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9mdWxsc2Ny
ZWVuRGlzcGxheV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9kaWFsb2dEaXNwbGF5
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJu
YWwuaDogRXhwb3NlIHNvbWUgd2luZG93IGZlYXR1cmVzIGFzIHJlYWQtb25seQorICAgICAgICBw
cm9wZXJ0aWVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJl
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMTctMDctMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBEcm9wIFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSdzIHN0YXRpc3RpY3NMb2NrCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVy
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVy
ZXMubW0KaW5kZXggZWE1OGZmYjkzNDkzMmJhOTMwYzBhN2NjMzI5MmY1YTQzYjYzMTRlYi4uMTI1
MzY3Y2Q3Yjk5YTliNmYxODExYWQzZWUwMTkxODhhMzRlMjM3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlcy5tbQpAQCAt
MTAxLDQgKzEwMSwyOCBAQCAtIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXS1dpbmRvd0ZlYXR1cmVzIChXS1ByaXZhdGUpCisKKy0gKE5TTnVtYmVy
ICopX2xvY2F0aW9uQmFyVmlzaWJpbGl0eQoreworICAgIHJldHVybiBAKF93aW5kb3dGZWF0dXJl
cy0+d2luZG93RmVhdHVyZXMoKS5sb2NhdGlvbkJhclZpc2libGUpOworfQorCistIChOU051bWJl
ciAqKV9zY3JvbGxiYXJzVmlzaWJpbGl0eQoreworICAgIHJldHVybiBAKF93aW5kb3dGZWF0dXJl
cy0+d2luZG93RmVhdHVyZXMoKS5zY3JvbGxiYXJzVmlzaWJsZSk7Cit9CisKKy0gKE5TTnVtYmVy
ICopX2Z1bGxzY3JlZW5EaXNwbGF5Cit7CisgICAgcmV0dXJuIEAoX3dpbmRvd0ZlYXR1cmVzLT53
aW5kb3dGZWF0dXJlcygpLmZ1bGxzY3JlZW4pOworfQorCistIChOU051bWJlciAqKV9kaWFsb2dE
aXNwbGF5Cit7CisgICAgcmV0dXJuIEAoX3dpbmRvd0ZlYXR1cmVzLT53aW5kb3dGZWF0dXJlcygp
LmRpYWxvZyk7Cit9CisKK0BlbmQKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwuaApp
bmRleCA0YzkyZjA5ZjE0ZTBlZDg5MjViN2U0YTI5ZTAwM2I3ZWVhMjg4NzIyLi43NjdiYmQzNTI3
YzI3ZDIxYjMzZWZlY2VlNmMzMmFmYjRlMWFhZmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc0ludGVybmFs
LmgKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi0jaW1wb3J0ICJXS1dpbmRvd0ZlYXR1cmVzLmgiCisjaW1wb3J0ICJXS1dpbmRvd0Zl
YXR1cmVzUHJpdmF0ZS5oIgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzUHJp
dmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI1MmM5MDdjODA5NDZhNjQ2NjAxNTgzYTY4MDg1YzVkZWM2Njll
Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2luZG93RmVhdHVyZXNQcml2YXRlLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgPFdlYktpdC9XS1dpbmRvd0ZlYXR1cmVzLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RAorCitOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgorCitAaW50ZXJmYWNlIFdLV2luZG93RmVhdHVy
ZXMgKFdLUHJpdmF0ZSkKKworQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25s
eSkgTlNOdW1iZXIgKl9sb2NhdGlvbkJhclZpc2liaWxpdHkgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG51bGxhYmxlLCBu
b25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX3Njcm9sbGJhcnNWaXNpYmlsaXR5IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3Bl
cnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9mdWxsc2NyZWVu
RGlzcGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgcmVhZG9ubHkpIE5TTnVtYmVy
ICpfZGlhbG9nRGlzcGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKKworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggY2QwMGYyM2Y5NDFjYzYyY2JkZWVjOTI4YWYxZGU5NWY4MjcxYmQxNS4uNTA3YzI5MTRl
MWFhNDU3YWZhNGM2ZDYwOWJmODlkMGM4NGU2OWE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE4OSw2ICsxMTg5LDcgQEAK
IAkJNjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFE
N0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFFMTMw
MDA2NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4Mjkx
MzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5j
cHAgKi87IH07CiAJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZG
MTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkE1MDgwQkYxRjBFREFBQTAwRTYx
N0M1IC8qIFdLV2luZG93RmVhdHVyZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5k
b3dGZWF0dXJlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07CiAJCTZCODIxRERDMUVFRjA1REQwMEQ3QUY0QSAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzVGVsZW1ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeS5oICovOyB9OwogCQk2QjgyMURERDFFRUYwNUREMDBEN0FGNEEgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjgyMUREQjFFRUYwNUREMDBEN0FGNEEgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgKi87IH07CiAJCTZCRTk2OUMx
MUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgz
IC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovOyB9OwpAQCAtMzQ3Myw2ICszNDc0LDcgQEAKIAkJ
NjU0NkE4MkExMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9h
ZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRs
ZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdL
QnVuZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVu
ZGxlSW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZBNTA4MEJFMUYw
RURBQUEwMEU2MTdDNSAvKiBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rl
bGVtZXRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1l
dHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCODIxRERCMUVFRjA1REQwMEQ3
QUY0QSAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVBy
ZWRpY3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9k
ZWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NzQ1LDYgKzU3NDcsNyBAQAogCQkJ
CTFBNjZCRjhFMThBMDUyRUQwMDIwNzFCNCAvKiBXS1dlYlZpZXdJbnRlcm5hbC5oICovLAogCQkJ
CTI2RjlBODNBMThBMzQ2M0YwMEFFQjg4QSAvKiBXS1dlYlZpZXdQcml2YXRlLmggKi8sCiAJCQkJ
MUFENjBGNUMxOEUyMEY0QzAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXMuaCAqLywKKwkJCQk2
QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaCAqLywK
IAkJCQkxQUQ2MEY1QjE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlcy5tbSAqLywK
IAkJCQkxQUQ2MEY1RjE4RTIwRjc0MDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlc0ludGVybmFs
LmggKi8sCiAJCQkpOwpAQCAtODc3MCw2ICs4NzczLDcgQEAKIAkJCQlDREEyOUEyQjFDQkVCNjdB
MDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQ
b3B1cEl0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTZBNTA4MEJGMUYwRURBQUEwMEU2MTdDNSAv
KiBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcx
MUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1
NzRFNjMxMjY3RDA4MDAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzU3NTA5NzEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDljY2MzZGI2YjNhNzVlNjllY2JjZTMyZGJhNzAxNWExMzk3ZTMxMDYuLjRk
MjczNjY5YWI4Yjg1NTYwYzJiOWNhNmFjOGQ2MGQ2ODRjNDAzMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0w
Ny0xMSAgQW5zaCBTaHVrbGEgIDxhbnNoX3NodWtsYUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tX
aW5kb3dGZWF0dXJlcyBuZWVkcyB0byBleHBvc2Ugc2Nyb2xsYmFyLCBmdWxsc2NyZWVuLCBhbmQg
ZGlhbG9nIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MjM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlIHdpbmRvd3Mgd2l0aCBzcGVjaWZpYyBmZWF0
dXJlcyBzZXQgYW5kIG1ha2Ugc3VyZSB0aG9zZSBhcmUgcHJvcGVybHkgcmVmbGVjdGVkIGluIHRo
ZQorICAgICAgICBXS1dpbmRvd0ZlYXR1cmVzIG9iamVjdC4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbToKKyAgICAgICAg
KHJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoLVtDaGVja1dpbmRvd0ZlYXR1cmVz
VUlEZWxlZ2F0ZSB3ZWJWaWV3OmNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbjpmb3JOYXZp
Z2F0aW9uQWN0aW9uOndpbmRvd0ZlYXR1cmVzOl0pOgorICAgICAgICAoVEVTVCk6CisKIDIwMTct
MDctMDMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIyMTUwOTYpIFF1ZXJpZXMgb2YgVVJMcyB3aXRoIG5vbi1zcGVjaWFs
IHNjaGVtZXMgc2hvdWxkIG5vdCBwZXJjZW50LWVuY29kZSBzaW5nbGUgcXVvdGVzCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVuQW5kQ2xvc2VX
aW5kb3cubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVuQW5k
Q2xvc2VXaW5kb3cubW0KaW5kZXggMjJhNGRiODZkYzliZWJiMzM3NGM0ZjdhOWEwZDhiNTQzYjky
NmVhNC4uNTQzNjZhZDgzOGRiMzQ1MGNiNWU1YWUzMWVhYmM5Y2Q1YjUzZTdiNiAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvT3BlbkFuZENsb3NlV2lu
ZG93Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL09wZW5B
bmRDbG9zZVdpbmRvdy5tbQpAQCAtMzAsMTcgKzMwLDIxIEBACiAjaW1wb3J0IDxXZWJLaXQvV0tV
SURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dp
bmRvd0ZlYXR1cmVzUHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYg
V0tfQVBJX0VOQUJMRUQKIAogQGNsYXNzIE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGU7CiBA
Y2xhc3MgT3BlbkFuZENsb3NlV2luZG93VUlEZWxlZ2F0ZUFzeW5jOworQGNsYXNzIENoZWNrV2lu
ZG93RmVhdHVyZXNVSURlbGVnYXRlOwogCiBzdGF0aWMgYm9vbCBpc0RvbmU7CiBzdGF0aWMgUmV0
YWluUHRyPFdLV2ViVmlldz4gb3BlbmVkV2ViVmlldzsKK3N0YXRpYyBSZXRhaW5QdHI8V0tXaW5k
b3dGZWF0dXJlcz4gb3BlbldpbmRvd0ZlYXR1cmVzOwogc3RhdGljIFJldGFpblB0cjxPcGVuQW5k
Q2xvc2VXaW5kb3dVSURlbGVnYXRlPiBzaGFyZWRVSURlbGVnYXRlOwogc3RhdGljIFJldGFpblB0
cjxPcGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlQXN5bmM+IHNoYXJlZFVJRGVsZWdhdGVBc3lu
YzsKK3N0YXRpYyBSZXRhaW5QdHI8Q2hlY2tXaW5kb3dGZWF0dXJlc1VJRGVsZWdhdGU+IHNoYXJl
ZENoZWNrV2luZG93RmVhdHVyZXNVSURlbGVnYXRlOwogCiBzdGF0aWMgdm9pZCByZXNldFRvQ29u
c2lzdGVudFN0YXRlKCkKIHsKQEAgLTQ4LDYgKzUyLDcgQEAgc3RhdGljIHZvaWQgcmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZSgpCiAgICAgb3BlbmVkV2ViVmlldyA9IG5pbDsKICAgICBzaGFyZWRVSURl
bGVnYXRlID0gbmlsOwogICAgIHNoYXJlZFVJRGVsZWdhdGVBc3luYyA9IG5pbDsKKyAgICBzaGFy
ZWRDaGVja1dpbmRvd0ZlYXR1cmVzVUlEZWxlZ2F0ZSA9IG5pbDsKIH0KIAogQGludGVyZmFjZSBP
cGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4KQEAg
LTIwMiw0ICsyMDcsODYgQEAgVEVTVChXZWJLaXQyLCBPcGVuQXN5bmNXaXRoTmlsKQogLy8gICAg
RVhQRUNUX0VRKGNhdWdodEV4Y2VwdGlvbiwgdHJ1ZSk7CiAvL30KIAorCitAaW50ZXJmYWNlIENo
ZWNrV2luZG93RmVhdHVyZXNVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4KKwor
QHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKm1lbnVC
YXJWaXNpYmlsaXR5OworQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkg
TlNOdW1iZXIgKnN0YXR1c0JhclZpc2liaWxpdHk7CitAcHJvcGVydHkgKG51bGxhYmxlLCBub25h
dG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqdG9vbGJhcnNWaXNpYmlsaXR5OworCitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBDaGVja1dpbmRvd0ZlYXR1cmVzVUlEZWxlZ2F0ZQorCistIChXS1dl
YlZpZXcgKil3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNyZWF0ZVdlYlZpZXdXaXRoQ29u
ZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24gZm9yTmF2
aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiB3aW5k
b3dGZWF0dXJlczooV0tXaW5kb3dGZWF0dXJlcyAqKXdpbmRvd0ZlYXR1cmVzCit7CisgICAgb3Bl
bldpbmRvd0ZlYXR1cmVzID0gd2luZG93RmVhdHVyZXM7CisgICAgaXNEb25lID0gdHJ1ZTsKKwor
ICAgIHJldHVybiBuaWw7Cit9CisKK0BlbmQKKworVEVTVChXZWJLaXQyLCBPcGVuV2luZG93RmVh
dHVyZXMpCit7CisgICAgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworCisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgYXV0byB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5k
b3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6W3dlYlZpZXcgZnJhbWVdIHN0eWxlTWFzazpO
U1dpbmRvd1N0eWxlTWFza0JvcmRlcmxlc3MgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVk
IGRlZmVyOllFU10pOworCisgICAgc2hhcmVkQ2hlY2tXaW5kb3dGZWF0dXJlc1VJRGVsZWdhdGUg
PSBhZG9wdE5TKFtbQ2hlY2tXaW5kb3dGZWF0dXJlc1VJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsK
KyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOnNoYXJlZENoZWNrV2luZG93RmVhdHVyZXNVSURl
bGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBjb25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5q
YXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5ID0gWUVTOworICAgIE5TU3RyaW5n
ICp3aW5kb3dPcGVuRm9ybWF0U3RyaW5nID0gQCJ3aW5kb3cub3BlbihcImFib3V0OmJsYW5rXCIs
IFwiX2JsYW5rXCIsIFwiJUBcIikiOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0
OkAid2luZG93Lm9wZW4oXCJhYm91dDpibGFua1wiKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7CisgICAgaXNEb25lID0gZmFs
c2U7CisKKy8vICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0Mjcx
IC0gV2ViQ29yZSBjdXJyZW50bHkgZG9lc24ndCBkaXN0aW5ndWlzaCBiZXR3ZWVuIHVuc3BlY2lm
aWVkIChuaWwpIGFuZCBmYWxzZQorLy8gIGZvciB0aGUgZm9sbG93aW5nIHdpbmRvdyBmZWF0dXJl
cy4KKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIG1lbnVCYXJWaXNpYmlsaXR5
XSA9PSBuaWwpOworLy8gIEVYUEVDVF9UUlVFKFtvcGVuV2luZG93RmVhdHVyZXMgc3RhdHVzQmFy
VmlzaWJpbGl0eV0gPT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVz
IHRvb2xiYXJzVmlzaWJpbGl0eV0gPT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRv
d0ZlYXR1cmVzIGFsbG93c1Jlc2l6aW5nXSA9PSBuaWwpOworLy8gIEVYUEVDVF9UUlVFKFtvcGVu
V2luZG93RmVhdHVyZXMgX2xvY2F0aW9uQmFyVmlzaWJpbGl0eV0gPT0gbmlsKTsKKy8vICBFWFBF
Q1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9zY3JvbGxiYXJzVmlzaWJpbGl0eV0gPT0gbmls
KTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9mdWxsc2NyZWVuRGlzcGxh
eV0gPT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9kaWFsb2dE
aXNwbGF5XSA9PSBuaWwpOworICAgIG9wZW5XaW5kb3dGZWF0dXJlcyA9IG51bGxwdHI7CisKKyAg
ICBOU1N0cmluZyAqZmVhdHVyZXNTdHJpbmdBbGxTcGVjaWZpZWRBbmRUcnVlID0gQCJtZW51YmFy
PXllcyxzdGF0dXM9eWVzLHRvb2xiYXI9eWVzLHJlc2l6YWJsZT15ZXMsbG9jYXRpb249eWVzLHNj
cm9sbGJhcnM9eWVzLGZ1bGxzY3JlZW49eWVzIjsKKyAgICBOU1N0cmluZyAqb3BlblN0cmluZyA9
IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OndpbmRvd09wZW5Gb3JtYXRTdHJpbmcsIGZlYXR1
cmVzU3RyaW5nQWxsU3BlY2lmaWVkQW5kVHJ1ZV07CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0Om9wZW5TdHJpbmcgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7CisgICAgaXNEb25lID0gZmFsc2U7CisKKyAgICBFWFBF
Q1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIG1lbnVCYXJWaXNpYmlsaXR5XS5ib29sVmFsdWUp
OworICAgIEVYUEVDVF9UUlVFKFtvcGVuV2luZG93RmVhdHVyZXMgc3RhdHVzQmFyVmlzaWJpbGl0
eV0uYm9vbFZhbHVlKTsKKyAgICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIHRvb2xi
YXJzVmlzaWJpbGl0eV0uYm9vbFZhbHVlKTsKKyAgICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0Zl
YXR1cmVzIGFsbG93c1Jlc2l6aW5nXS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9UUlVFKFtvcGVu
V2luZG93RmVhdHVyZXMgX2xvY2F0aW9uQmFyVmlzaWJpbGl0eV0uYm9vbFZhbHVlKTsKKyAgICBF
WFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9zY3JvbGxiYXJzVmlzaWJpbGl0eV0uYm9v
bFZhbHVlKTsKKyAgICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9mdWxsc2NyZWVu
RGlzcGxheV0uYm9vbFZhbHVlKTsKKyAgICBvcGVuV2luZG93RmVhdHVyZXMgPSBudWxscHRyOwor
CisgICAgTlNTdHJpbmcgKmZlYXR1cmVzU3RyaW5nQWxsU3BlY2lmaWVkQW5kRmFsc2UgPSBAIm1l
bnViYXI9bm8sc3RhdHVzPW5vLHRvb2xiYXI9bm8scmVzaXphYmxlPW5vLGxvY2F0aW9uPW5vLHNj
cm9sbGJhcnM9bm8sZnVsbHNjcmVlbj1ubyI7CisgICAgb3BlblN0cmluZyA9IFtOU1N0cmluZyBz
dHJpbmdXaXRoRm9ybWF0OndpbmRvd09wZW5Gb3JtYXRTdHJpbmcsIGZlYXR1cmVzU3RyaW5nQWxs
U3BlY2lmaWVkQW5kRmFsc2VdOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpvcGVu
U3RyaW5nIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZpc0RvbmUpOworICAgIGlzRG9uZSA9IGZhbHNlOworCisgICAgRVhQRUNUX0ZBTFNFKFtv
cGVuV2luZG93RmVhdHVyZXMgbWVudUJhclZpc2liaWxpdHldLmJvb2xWYWx1ZSk7CisgICAgRVhQ
RUNUX0ZBTFNFKFtvcGVuV2luZG93RmVhdHVyZXMgc3RhdHVzQmFyVmlzaWJpbGl0eSBdLmJvb2xW
YWx1ZSk7CisgICAgRVhQRUNUX0ZBTFNFKFtvcGVuV2luZG93RmVhdHVyZXMgdG9vbGJhcnNWaXNp
YmlsaXR5XS5ib29sVmFsdWUpOworLy8gIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzQzODggLSBUaGlzIHByb3BlcnR5IGRvZXNuJ3QgYWNjdXJhdGVseSByZWZsZWN0
IHRoZSBwYXJhbWV0ZXJzIHBhc3NlZCBieSB0aGUgd2VicGFnZS4KKy8vICBFWFBFQ1RfRkFMU0Uo
W29wZW5XaW5kb3dGZWF0dXJlcyBhbGxvd3NSZXNpemluZ10uYm9vbFZhbHVlKTsKKyAgICBFWFBF
Q1RfRkFMU0UoW29wZW5XaW5kb3dGZWF0dXJlcyBfbG9jYXRpb25CYXJWaXNpYmlsaXR5XS5ib29s
VmFsdWUpOworICAgIEVYUEVDVF9GQUxTRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9zY3JvbGxiYXJz
VmlzaWJpbGl0eV0uYm9vbFZhbHVlKTsKKyAgICBFWFBFQ1RfRkFMU0UoW29wZW5XaW5kb3dGZWF0
dXJlcyBfZnVsbHNjcmVlbkRpc3BsYXldLmJvb2xWYWx1ZSk7CisgICAgb3BlbldpbmRvd0ZlYXR1
cmVzID0gbnVsbHB0cjsKK30KKwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315181</attachid>
            <date>2017-07-11 16:09:34 -0700</date>
            <delta_ts>2017-07-11 17:25:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174239-20170711160933.patch</filename>
            <type>text/plain</type>
            <size>15525</size>
            <attacher name="Ansh Shukla">ansh_shukla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0MjFlMGYxYjhkNmRkOGQxNTcyMWEyYmY1NTJiOTMyOWMwYWViYjA5Li5l
OWFjNjA3MmEwNjY2MjZjZDUzZDgxMWQ2ZmZiYTA2M2VlMGQ4MTBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjQgQEAKKzIwMTctMDctMTEgIEFuc2ggU2h1a2xhICA8YW5zaF9zaHVrbGFAYXBwbGUu
Y29tPgorCisgICAgICAgIFdLV2luZG93RmVhdHVyZXMgbmVlZHMgdG8gZXhwb3NlIHNjcm9sbGJh
ciwgZnVsbHNjcmVlbiwgYW5kIGRpYWxvZyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDIzOQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyBwcml2
YXRlIGhlYWRlciB0byBleHBvc2UgZ2V0dGVycyBmb3Igd2luZG93IGZlYXR1cmUgcHJvcGVydGll
cyBhbHJlYWR5IGF2YWlsYWJsZQorICAgICAgICBpbiB0aGUgVEZCIEFQSVdpbmRvd0ZlYXR1cmVz
IGNsYXNzLiBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBuZWNlc3NhcnkgZm9yIFNhZmFyaSB0byBhZG9w
dCBtb3JlCisgICAgICAgIG1vZGVybiBBUEkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2luZG93RmVhdHVyZXMubW06CisgICAgICAgICgtW1dLV2luZG93RmVhdHVyZXMgX2xv
Y2F0aW9uQmFyVmlzaWJpbGl0eV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9zY3Jv
bGxiYXJzVmlzaWJpbGl0eV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9mdWxsc2Ny
ZWVuRGlzcGxheV0pOgorICAgICAgICAoLVtXS1dpbmRvd0ZlYXR1cmVzIF9kaWFsb2dEaXNwbGF5
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJu
YWwuaDogRXhwb3NlIHNvbWUgd2luZG93IGZlYXR1cmVzIGFzIHJlYWQtb25seQorICAgICAgICBw
cm9wZXJ0aWVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJl
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMTctMDctMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBEcm9wIFJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSdzIHN0YXRpc3RpY3NMb2NrCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVy
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVy
ZXMubW0KaW5kZXggZWE1OGZmYjkzNDkzMmJhOTMwYzBhN2NjMzI5MmY1YTQzYjYzMTRlYi4uMTI1
MzY3Y2Q3Yjk5YTliNmYxODExYWQzZWUwMTkxODhhMzRlMjM3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlcy5tbQpAQCAt
MTAxLDQgKzEwMSwyOCBAQCAtIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXS1dpbmRvd0ZlYXR1cmVzIChXS1ByaXZhdGUpCisKKy0gKE5TTnVtYmVy
ICopX2xvY2F0aW9uQmFyVmlzaWJpbGl0eQoreworICAgIHJldHVybiBAKF93aW5kb3dGZWF0dXJl
cy0+d2luZG93RmVhdHVyZXMoKS5sb2NhdGlvbkJhclZpc2libGUpOworfQorCistIChOU051bWJl
ciAqKV9zY3JvbGxiYXJzVmlzaWJpbGl0eQoreworICAgIHJldHVybiBAKF93aW5kb3dGZWF0dXJl
cy0+d2luZG93RmVhdHVyZXMoKS5zY3JvbGxiYXJzVmlzaWJsZSk7Cit9CisKKy0gKE5TTnVtYmVy
ICopX2Z1bGxzY3JlZW5EaXNwbGF5Cit7CisgICAgcmV0dXJuIEAoX3dpbmRvd0ZlYXR1cmVzLT53
aW5kb3dGZWF0dXJlcygpLmZ1bGxzY3JlZW4pOworfQorCistIChOU051bWJlciAqKV9kaWFsb2dE
aXNwbGF5Cit7CisgICAgcmV0dXJuIEAoX3dpbmRvd0ZlYXR1cmVzLT53aW5kb3dGZWF0dXJlcygp
LmRpYWxvZyk7Cit9CisKK0BlbmQKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzSW50ZXJuYWwuaApp
bmRleCA0YzkyZjA5ZjE0ZTBlZDg5MjViN2U0YTI5ZTAwM2I3ZWVhMjg4NzIyLi43NjdiYmQzNTI3
YzI3ZDIxYjMzZWZlY2VlNmMzMmFmYjRlMWFhZmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXaW5kb3dGZWF0dXJlc0ludGVybmFs
LmgKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi0jaW1wb3J0ICJXS1dpbmRvd0ZlYXR1cmVzLmgiCisjaW1wb3J0ICJXS1dpbmRvd0Zl
YXR1cmVzUHJpdmF0ZS5oIgogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dpbmRvd0ZlYXR1cmVzUHJp
dmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI1MmM5MDdjODA5NDZhNjQ2NjAxNTgzYTY4MDg1YzVkZWM2Njll
Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2luZG93RmVhdHVyZXNQcml2YXRlLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgPFdlYktpdC9XS1dpbmRvd0ZlYXR1cmVzLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RAorCitOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgorCitAaW50ZXJmYWNlIFdLV2luZG93RmVhdHVy
ZXMgKFdLUHJpdmF0ZSkKKworQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25s
eSkgTlNOdW1iZXIgKl9sb2NhdGlvbkJhclZpc2liaWxpdHkgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG51bGxhYmxlLCBu
b25hdG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqX3Njcm9sbGJhcnNWaXNpYmlsaXR5IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3Bl
cnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKl9mdWxsc2NyZWVu
RGlzcGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKK0Bwcm9wZXJ0eSAobnVsbGFibGUsIG5vbmF0b21pYywgcmVhZG9ubHkpIE5TTnVtYmVy
ICpfZGlhbG9nRGlzcGxheSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKKworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggY2QwMGYyM2Y5NDFjYzYyY2JkZWVjOTI4YWYxZGU5NWY4MjcxYmQxNS4uNTA3YzI5MTRl
MWFhNDU3YWZhNGM2ZDYwOWJmODlkMGM4NGU2OWE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE4OSw2ICsxMTg5LDcgQEAK
IAkJNjUwMUJEMUExMkYxMjQzNDAwRTlGMjQ4IC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1Qjg2RjE3MTJGMTFE
N0IwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rvci5jcHAgKi87IH07CiAJCTY1OUM1NTFFMTMw
MDA2NDEwMDI1QzBDMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU0NkE4Mjkx
MzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5j
cHAgKi87IH07CiAJCTY1Qjg2RjFFMTJGMTFERTMwMEI3REQ4QSAvKiBXS0J1bmRsZUluc3BlY3Rv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjVCODZG
MTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkE1MDgwQkYxRjBFREFBQTAwRTYx
N0M1IC8qIFdLV2luZG93RmVhdHVyZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5k
b3dGZWF0dXJlc1ByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07CiAJCTZCODIxRERDMUVFRjA1REQwMEQ3QUY0QSAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzVGVsZW1ldHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeS5oICovOyB9OwogCQk2QjgyMURERDFFRUYwNUREMDBEN0FGNEEgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjgyMUREQjFFRUYwNUREMDBEN0FGNEEgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgKi87IH07CiAJCTZCRTk2OUMx
MUU1NEQ0NTIwMDhCNzQ4MyAvKiBjb3JlUHJlZGljdGlvbl9tb2RlbCBpbiBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzAxRTU0RDQ1MjAwOEI3NDgz
IC8qIGNvcmVQcmVkaWN0aW9uX21vZGVsICovOyB9OwpAQCAtMzQ3Myw2ICszNDc0LDcgQEAKIAkJ
NjU0NkE4MkExMzAwMDE2NDAwMENFQjFDIC8qIEluamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9h
ZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRs
ZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjVCODZGMTcxMkYxMUQ3QjAwQjdERDhBIC8qIFdLQnVuZGxlSW5zcGVjdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlSW5zcGVjdG9yLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODZGMTgxMkYxMUQ3QjAwQjdERDhBIC8qIFdL
QnVuZGxlSW5zcGVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVu
ZGxlSW5zcGVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZBNTA4MEJFMUYw
RURBQUEwMEU2MTdDNSAvKiBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2QjgyMUREQTFFRUYwNUREMDBEN0FGNEEgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rl
bGVtZXRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1l
dHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCODIxRERCMUVFRjA1REQwMEQ3
QUY0QSAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2QkU5NjlDMDFFNTRENDUyMDA4Qjc0ODMgLyogY29yZVBy
ZWRpY3Rpb25fbW9kZWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gY29yZVByZWRpY3Rpb25fbW9k
ZWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NzQ1LDYgKzU3NDcsNyBAQAogCQkJ
CTFBNjZCRjhFMThBMDUyRUQwMDIwNzFCNCAvKiBXS1dlYlZpZXdJbnRlcm5hbC5oICovLAogCQkJ
CTI2RjlBODNBMThBMzQ2M0YwMEFFQjg4QSAvKiBXS1dlYlZpZXdQcml2YXRlLmggKi8sCiAJCQkJ
MUFENjBGNUMxOEUyMEY0QzAwMjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXMuaCAqLywKKwkJCQk2
QTUwODBCRTFGMEVEQUFBMDBFNjE3QzUgLyogV0tXaW5kb3dGZWF0dXJlc1ByaXZhdGUuaCAqLywK
IAkJCQkxQUQ2MEY1QjE4RTIwRjRDMDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlcy5tbSAqLywK
IAkJCQkxQUQ2MEY1RjE4RTIwRjc0MDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlc0ludGVybmFs
LmggKi8sCiAJCQkpOwpAQCAtODc3MCw2ICs4NzczLDcgQEAKIAkJCQlDREEyOUEyQjFDQkVCNjdB
MDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQ
b3B1cEl0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTZBNTA4MEJGMUYwRURBQUEwMEU2MTdDNSAv
KiBXS1dpbmRvd0ZlYXR1cmVzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDcx
MUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1
NzRFNjMxMjY3RDA4MDAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzU3NTA5NzEyNjhGM0M2MDA2RjBGMTIgLyogV2ViUG9wdXBNZW51UHJveHlNYWMu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDljY2MzZGI2YjNhNzVlNjllY2JjZTMyZGJhNzAxNWExMzk3ZTMxMDYuLjRk
MjczNjY5YWI4Yjg1NTYwYzJiOWNhNmFjOGQ2MGQ2ODRjNDAzMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0w
Ny0xMSAgQW5zaCBTaHVrbGEgIDxhbnNoX3NodWtsYUBhcHBsZS5jb20+CisKKyAgICAgICAgV0tX
aW5kb3dGZWF0dXJlcyBuZWVkcyB0byBleHBvc2Ugc2Nyb2xsYmFyLCBmdWxsc2NyZWVuLCBhbmQg
ZGlhbG9nIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0MjM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlIHdpbmRvd3Mgd2l0aCBzcGVjaWZpYyBmZWF0
dXJlcyBzZXQgYW5kIG1ha2Ugc3VyZSB0aG9zZSBhcmUgcHJvcGVybHkgcmVmbGVjdGVkIGluIHRo
ZQorICAgICAgICBXS1dpbmRvd0ZlYXR1cmVzIG9iamVjdC4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbToKKyAgICAgICAg
KHJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoLVtDaGVja1dpbmRvd0ZlYXR1cmVz
VUlEZWxlZ2F0ZSB3ZWJWaWV3OmNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbjpmb3JOYXZp
Z2F0aW9uQWN0aW9uOndpbmRvd0ZlYXR1cmVzOl0pOgorICAgICAgICAoVEVTVCk6CisKIDIwMTct
MDctMDMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSRUdSRVNTSU9OKHIyMTUwOTYpIFF1ZXJpZXMgb2YgVVJMcyB3aXRoIG5vbi1zcGVjaWFs
IHNjaGVtZXMgc2hvdWxkIG5vdCBwZXJjZW50LWVuY29kZSBzaW5nbGUgcXVvdGVzCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVuQW5kQ2xvc2VX
aW5kb3cubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVuQW5k
Q2xvc2VXaW5kb3cubW0KaW5kZXggMjJhNGRiODZkYzliZWJiMzM3NGM0ZjdhOWEwZDhiNTQzYjky
NmVhNC4uZmI3Y2E2MjYxNGYwMjc1ZGY1NTI4ODFhYTdjYjM0N2M2Y2I0OTQwMCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvT3BlbkFuZENsb3NlV2lu
ZG93Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL09wZW5B
bmRDbG9zZVdpbmRvdy5tbQpAQCAtMzAsMTcgKzMwLDIxIEBACiAjaW1wb3J0IDxXZWJLaXQvV0tV
SURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dp
bmRvd0ZlYXR1cmVzUHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYg
V0tfQVBJX0VOQUJMRUQKIAogQGNsYXNzIE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGU7CiBA
Y2xhc3MgT3BlbkFuZENsb3NlV2luZG93VUlEZWxlZ2F0ZUFzeW5jOworQGNsYXNzIENoZWNrV2lu
ZG93RmVhdHVyZXNVSURlbGVnYXRlOwogCiBzdGF0aWMgYm9vbCBpc0RvbmU7CiBzdGF0aWMgUmV0
YWluUHRyPFdLV2ViVmlldz4gb3BlbmVkV2ViVmlldzsKK3N0YXRpYyBSZXRhaW5QdHI8V0tXaW5k
b3dGZWF0dXJlcz4gb3BlbldpbmRvd0ZlYXR1cmVzOwogc3RhdGljIFJldGFpblB0cjxPcGVuQW5k
Q2xvc2VXaW5kb3dVSURlbGVnYXRlPiBzaGFyZWRVSURlbGVnYXRlOwogc3RhdGljIFJldGFpblB0
cjxPcGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlQXN5bmM+IHNoYXJlZFVJRGVsZWdhdGVBc3lu
YzsKK3N0YXRpYyBSZXRhaW5QdHI8Q2hlY2tXaW5kb3dGZWF0dXJlc1VJRGVsZWdhdGU+IHNoYXJl
ZENoZWNrV2luZG93RmVhdHVyZXNVSURlbGVnYXRlOwogCiBzdGF0aWMgdm9pZCByZXNldFRvQ29u
c2lzdGVudFN0YXRlKCkKIHsKQEAgLTQ4LDYgKzUyLDcgQEAgc3RhdGljIHZvaWQgcmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZSgpCiAgICAgb3BlbmVkV2ViVmlldyA9IG5pbDsKICAgICBzaGFyZWRVSURl
bGVnYXRlID0gbmlsOwogICAgIHNoYXJlZFVJRGVsZWdhdGVBc3luYyA9IG5pbDsKKyAgICBzaGFy
ZWRDaGVja1dpbmRvd0ZlYXR1cmVzVUlEZWxlZ2F0ZSA9IG5pbDsKIH0KIAogQGludGVyZmFjZSBP
cGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4KQEAg
LTIwMiw0ICsyMDcsODIgQEAgVEVTVChXZWJLaXQyLCBPcGVuQXN5bmNXaXRoTmlsKQogLy8gICAg
RVhQRUNUX0VRKGNhdWdodEV4Y2VwdGlvbiwgdHJ1ZSk7CiAvL30KIAorCitAaW50ZXJmYWNlIENo
ZWNrV2luZG93RmVhdHVyZXNVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4KKwor
QHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkgTlNOdW1iZXIgKm1lbnVC
YXJWaXNpYmlsaXR5OworQHByb3BlcnR5IChudWxsYWJsZSwgbm9uYXRvbWljLCByZWFkb25seSkg
TlNOdW1iZXIgKnN0YXR1c0JhclZpc2liaWxpdHk7CitAcHJvcGVydHkgKG51bGxhYmxlLCBub25h
dG9taWMsIHJlYWRvbmx5KSBOU051bWJlciAqdG9vbGJhcnNWaXNpYmlsaXR5OworCitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBDaGVja1dpbmRvd0ZlYXR1cmVzVUlEZWxlZ2F0ZQorCistIChXS1dl
YlZpZXcgKil3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNyZWF0ZVdlYlZpZXdXaXRoQ29u
ZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24gZm9yTmF2
aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiB3aW5k
b3dGZWF0dXJlczooV0tXaW5kb3dGZWF0dXJlcyAqKXdpbmRvd0ZlYXR1cmVzCit7CisgICAgb3Bl
bldpbmRvd0ZlYXR1cmVzID0gd2luZG93RmVhdHVyZXM7CisgICAgaXNEb25lID0gdHJ1ZTsKKwor
ICAgIHJldHVybiBuaWw7Cit9CisKK0BlbmQKKworVEVTVChXZWJLaXQyLCBPcGVuV2luZG93RmVh
dHVyZXMpCit7CisgICAgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworCisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgc2hhcmVkQ2hlY2tXaW5kb3dGZWF0dXJlc1VJRGVs
ZWdhdGUgPSBhZG9wdE5TKFtbQ2hlY2tXaW5kb3dGZWF0dXJlc1VJRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOnNoYXJlZENoZWNrV2luZG93RmVhdHVy
ZXNVSURlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBjb25maWd1cmF0aW9uXS5wcmVmZXJl
bmNlcy5qYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5ID0gWUVTOworICAgIE5T
U3RyaW5nICp3aW5kb3dPcGVuRm9ybWF0U3RyaW5nID0gQCJ3aW5kb3cub3BlbihcImFib3V0OmJs
YW5rXCIsIFwiX2JsYW5rXCIsIFwiJUBcIikiOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAid2luZG93Lm9wZW4oXCJhYm91dDpibGFua1wiKSIgY29tcGxldGlvbkhhbmRsZXI6
bmlsXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7CisgICAgaXNEb25l
ID0gZmFsc2U7CisKKy8vICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc0MjcxIC0gV2ViQ29yZSBjdXJyZW50bHkgZG9lc24ndCBkaXN0aW5ndWlzaCBiZXR3ZWVuIHVu
c3BlY2lmaWVkIChuaWwpIGFuZCBmYWxzZQorLy8gIGZvciB0aGUgZm9sbG93aW5nIHdpbmRvdyBm
ZWF0dXJlcy4KKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIG1lbnVCYXJWaXNp
YmlsaXR5XSA9PSBuaWwpOworLy8gIEVYUEVDVF9UUlVFKFtvcGVuV2luZG93RmVhdHVyZXMgc3Rh
dHVzQmFyVmlzaWJpbGl0eV0gPT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0Zl
YXR1cmVzIHRvb2xiYXJzVmlzaWJpbGl0eV0gPT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3Bl
bldpbmRvd0ZlYXR1cmVzIGFsbG93c1Jlc2l6aW5nXSA9PSBuaWwpOworLy8gIEVYUEVDVF9UUlVF
KFtvcGVuV2luZG93RmVhdHVyZXMgX2xvY2F0aW9uQmFyVmlzaWJpbGl0eV0gPT0gbmlsKTsKKy8v
ICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9zY3JvbGxiYXJzVmlzaWJpbGl0eV0g
PT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9mdWxsc2NyZWVu
RGlzcGxheV0gPT0gbmlsKTsKKy8vICBFWFBFQ1RfVFJVRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9k
aWFsb2dEaXNwbGF5XSA9PSBuaWwpOworICAgIG9wZW5XaW5kb3dGZWF0dXJlcyA9IG51bGxwdHI7
CisKKyAgICBOU1N0cmluZyAqZmVhdHVyZXNTdHJpbmdBbGxTcGVjaWZpZWRBbmRUcnVlID0gQCJt
ZW51YmFyPXllcyxzdGF0dXM9eWVzLHRvb2xiYXI9eWVzLHJlc2l6YWJsZT15ZXMsbG9jYXRpb249
eWVzLHNjcm9sbGJhcnM9eWVzLGZ1bGxzY3JlZW49eWVzIjsKKyAgICBbd2ViVmlldyBldmFsdWF0
ZUphdmFTY3JpcHQ6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6d2luZG93T3BlbkZvcm1hdFN0
cmluZywgZmVhdHVyZXNTdHJpbmdBbGxTcGVjaWZpZWRBbmRUcnVlXSBjb21wbGV0aW9uSGFuZGxl
cjpuaWxdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKKyAgICBpc0Rv
bmUgPSBmYWxzZTsKKworICAgIEVYUEVDVF9UUlVFKFtvcGVuV2luZG93RmVhdHVyZXMgbWVudUJh
clZpc2liaWxpdHldLmJvb2xWYWx1ZSk7CisgICAgRVhQRUNUX1RSVUUoW29wZW5XaW5kb3dGZWF0
dXJlcyBzdGF0dXNCYXJWaXNpYmlsaXR5XS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9UUlVFKFtv
cGVuV2luZG93RmVhdHVyZXMgdG9vbGJhcnNWaXNpYmlsaXR5XS5ib29sVmFsdWUpOworICAgIEVY
UEVDVF9UUlVFKFtvcGVuV2luZG93RmVhdHVyZXMgYWxsb3dzUmVzaXppbmddLmJvb2xWYWx1ZSk7
CisgICAgRVhQRUNUX1RSVUUoW29wZW5XaW5kb3dGZWF0dXJlcyBfbG9jYXRpb25CYXJWaXNpYmls
aXR5XS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9UUlVFKFtvcGVuV2luZG93RmVhdHVyZXMgX3Nj
cm9sbGJhcnNWaXNpYmlsaXR5XS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9UUlVFKFtvcGVuV2lu
ZG93RmVhdHVyZXMgX2Z1bGxzY3JlZW5EaXNwbGF5XS5ib29sVmFsdWUpOworICAgIG9wZW5XaW5k
b3dGZWF0dXJlcyA9IG51bGxwdHI7CisKKyAgICBOU1N0cmluZyAqZmVhdHVyZXNTdHJpbmdBbGxT
cGVjaWZpZWRBbmRGYWxzZSA9IEAibWVudWJhcj1ubyxzdGF0dXM9bm8sdG9vbGJhcj1ubyxyZXNp
emFibGU9bm8sbG9jYXRpb249bm8sc2Nyb2xsYmFycz1ubyxmdWxsc2NyZWVuPW5vIjsKKyAgICBb
d2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6d2lu
ZG93T3BlbkZvcm1hdFN0cmluZywgZmVhdHVyZXNTdHJpbmdBbGxTcGVjaWZpZWRBbmRGYWxzZV0g
Y29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlz
RG9uZSk7CisgICAgaXNEb25lID0gZmFsc2U7CisKKyAgICBFWFBFQ1RfRkFMU0UoW29wZW5XaW5k
b3dGZWF0dXJlcyBtZW51QmFyVmlzaWJpbGl0eV0uYm9vbFZhbHVlKTsKKyAgICBFWFBFQ1RfRkFM
U0UoW29wZW5XaW5kb3dGZWF0dXJlcyBzdGF0dXNCYXJWaXNpYmlsaXR5IF0uYm9vbFZhbHVlKTsK
KyAgICBFWFBFQ1RfRkFMU0UoW29wZW5XaW5kb3dGZWF0dXJlcyB0b29sYmFyc1Zpc2liaWxpdHld
LmJvb2xWYWx1ZSk7CisvLyAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NDM4OCAtIFRoaXMgcHJvcGVydHkgZG9lc24ndCBhY2N1cmF0ZWx5IHJlZmxlY3QgdGhlIHBh
cmFtZXRlcnMgcGFzc2VkIGJ5IHRoZSB3ZWJwYWdlLgorLy8gIEVYUEVDVF9GQUxTRShbb3Blbldp
bmRvd0ZlYXR1cmVzIGFsbG93c1Jlc2l6aW5nXS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9GQUxT
RShbb3BlbldpbmRvd0ZlYXR1cmVzIF9sb2NhdGlvbkJhclZpc2liaWxpdHldLmJvb2xWYWx1ZSk7
CisgICAgRVhQRUNUX0ZBTFNFKFtvcGVuV2luZG93RmVhdHVyZXMgX3Njcm9sbGJhcnNWaXNpYmls
aXR5XS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9GQUxTRShbb3BlbldpbmRvd0ZlYXR1cmVzIF9m
dWxsc2NyZWVuRGlzcGxheV0uYm9vbFZhbHVlKTsKKyAgICBvcGVuV2luZG93RmVhdHVyZXMgPSBu
dWxscHRyOworfQorCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>