<?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>145454</bug_id>
          
          <creation_ts>2015-05-28 21:38:26 -0700</creation_ts>
          <short_desc>Change method of signaling &quot;should open external urls&quot; to WebKit</short_desc>
          <delta_ts>2022-03-01 02:47:11 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1098064</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-28 21:38:26 -0700</bug_when>
    <thetext>Change method of signaling &quot;should open external urls&quot; to WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098065</commentid>
    <comment_count>1</comment_count>
      <attachid>253893</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-28 21:45:23 -0700</bug_when>
    <thetext>Created attachment 253893
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098073</commentid>
    <comment_count>2</comment_count>
      <attachid>253893</attachid>
    <who name="">mitz</who>
    <bug_when>2015-05-28 21:55:36 -0700</bug_when>
    <thetext>Comment on attachment 253893
Patch v1

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1777
&gt; +    bool shouldOpenExternalURLs = [[loadOptions valueForKey:_WKShouldOpenExternalURLsKey] boolValue];

-valueForKey is a KVC method. For a dictionary, you should use -objectForKey:, but better yet, we can use dictionary subscripting: loadOptions[_WKShouldOpenExternalURLsKey]

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:30
&gt; +#import &lt;WebKit/WKDeclarationSpecifiers.h&gt;

No need for this…

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:43
&gt; +WK_EXPORT extern NSString * const _WKShouldOpenExternalURLsKey;

…we use WK_EXTERN in the modern API (and it’s coming from WKFoundation which is already imported above).

Even though this is SPI, you should add an availability annotation, WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA).

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:206
&gt; +- (WKNavigation *)loadRequest:(NSURLRequest *)request withOptions:(NSDictionary *)loadOptions;

Like all SPI methods, this one needs to be prefixed with an underscore.

Even though this is SPI, you should add an availability annotation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098082</commentid>
    <comment_count>3</comment_count>
      <attachid>253894</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-05-28 22:48:29 -0700</bug_when>
    <thetext>Created attachment 253894
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098086</commentid>
    <comment_count>4</comment_count>
      <attachid>253894</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-28 23:38:42 -0700</bug_when>
    <thetext>Comment on attachment 253894
Patch for landing

Clearing flags on attachment: 253894

Committed r184982: &lt;http://trac.webkit.org/changeset/184982&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098696</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-06-01 19:19:24 -0700</bug_when>
    <thetext>Marking resolved.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253893</attachid>
            <date>2015-05-28 21:45:23 -0700</date>
            <delta_ts>2022-03-01 02:47:11 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14766</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MmU1YjU4Li5hMjlhYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTUtMDUtMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBtZXRob2Qgb2Ygc2lnbmFsaW5nICJzaG91bGQgb3BlbiBleHRlcm5hbCB1cmxz
IiB0byBXZWJLaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDU0NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNYWtpbmcgdGhpcyBhIHByb3BlcnR5IG9uIHRoZSByZXF1ZXN0IHdhcyBuZXZlciBhIGdv
b2QgaWRlYS4KKworICAgICAgICBBZGRpbmcgYSBuZXcgZXh0ZW5zaWJsZSBsb2FkIFNQSSBzZWVt
cyBtdWNoIGJldHRlci4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1
ZXN0RXh0cmFzLmg6IFJlbW92ZWQuCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1VS
TFJlcXVlc3RFeHRyYXMubW06IFJlbW92ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tCcm93c2lu
Z0NvbnRleHRDb250cm9sbGVyIGxvYWRSZXF1ZXN0OnVzZXJEYXRhOl0pOiBTaW5jZSB0aGlzIEFQ
SSBpcyBkZXByZWNhdGVkLAorICAgICAgICAgIGl0IGFsd2F5cyBnZXRzIHRoZSBkZWZhdWx0IHJl
c3RyaWN0aXZlIGJlaGF2aW9yLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBsb2FkUmVxdWVzdDpdKToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IGxvYWRSZXF1ZXN0OndpdGhPcHRpb25zOl0pOiBUYWtlIGFuIG9wdGlvbnMg
ZGljdGlvbmFyeSB0aGF0LCBmb3Igbm93LCAKKyAgICAgICAgICBvbmx5IHN1cHBvcnRzIG9uZSBv
cHRpb24uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6
CisKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUt
MDUtMjggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBN
YWtlIHN1cmUgdGhhdCB3ZSBjcmVhdGUgdGhlIHByaXZhdGUgV2ViS2l0LmZyYW1ld29yayBzeW1s
aW5rcyBsYXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19X
S05TVVJMUmVxdWVzdEV4dHJhcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9Db2NvYS9f
V0tOU1VSTFJlcXVlc3RFeHRyYXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Zi
MDcxZS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19XS05T
VVJMUmVxdWVzdEV4dHJhcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KLQotQGludGVyZmFjZSBOU1VS
TFJlcXVlc3QgKFdLRXh0cmFzKQotCi0tIChCT09MKV93ZWJfc2hvdWxkT3BlbkV4dGVybmFsVVJM
czsKLQotQGVuZAotCi1AaW50ZXJmYWNlIE5TTXV0YWJsZVVSTFJlcXVlc3QgKFdLRXh0cmFzKQot
Ci0tICh2b2lkKV93ZWJfc2V0U2hvdWxkT3BlbkV4dGVybmFsVVJMczooQk9PTClzaG91bGRPcGVu
RXh0ZXJuYWxVUkxzOwotCi1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL0NvY29hL19XS05TVVJMUmVxdWVzdEV4dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiZDk4YzY3Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNDYg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiX1dLTlNV
UkxSZXF1ZXN0RXh0cmFzLmgiCi0KLUBpbXBsZW1lbnRhdGlvbiBOU1VSTFJlcXVlc3QgKFdLRXh0
cmFzKQotCi0tIChCT09MKV93ZWJfc2hvdWxkT3BlbkV4dGVybmFsVVJMcwotewotICAgIE5TTnVt
YmVyICpzaG91bGRPcGVuRXh0ZXJuYWxVUkxzID0gW05TVVJMUHJvdG9jb2wgcHJvcGVydHlGb3JL
ZXk6QCJXS05TVVJMUmVxdWVzdFNob3VsZE9wZW5FeHRlcm5hbFVSTHNLZXkiIGluUmVxdWVzdDpz
ZWxmXTsKLSAgICByZXR1cm4gc2hvdWxkT3BlbkV4dGVybmFsVVJMcy5ib29sVmFsdWU7Ci19Ci0K
LUBlbmQKLQotQGltcGxlbWVudGF0aW9uIE5TTXV0YWJsZVVSTFJlcXVlc3QgKFdLRXh0cmFzKQot
Ci0tICh2b2lkKV93ZWJfc2V0U2hvdWxkT3BlbkV4dGVybmFsVVJMczooQk9PTClzaG91bGRPcGVu
RXh0ZXJuYWxVUkxzCi17Ci0gICAgW05TVVJMUHJvdG9jb2wgc2V0UHJvcGVydHk6c2hvdWxkT3Bl
bkV4dGVybmFsVVJMcyA/IEBZRVMgOiBATk8gZm9yS2V5OkAiV0tOU1VSTFJlcXVlc3RTaG91bGRP
cGVuRXh0ZXJuYWxVUkxzS2V5IiBpblJlcXVlc3Q6c2VsZl07Ci19Ci0KLUBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIubW0KaW5kZXggMTJmNzQwMC4uYTVlZjEwZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KQEAgLTU1LDcgKzU1LDYgQEAKICNpbXBvcnQgIldl
YlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgIldlYlBy
b3RlY3Rpb25TcGFjZS5oIgotI2ltcG9ydCAiX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgiCiAjaW1w
b3J0ICJfV0tSZW1vdGVPYmplY3RSZWdpc3RyeUludGVybmFsLmgiCiAjaW1wb3J0IDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIApAQCAtMTkyLDcgKzE5MSw3IEBAIC0gKHZvaWQpbG9hZFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgdXNlckRhdGE6KGlkKXVzZXJEYXRhCiAgICAgaWYgKHVz
ZXJEYXRhKQogICAgICAgICB3a1VzZXJEYXRhID0gT2JqQ09iamVjdEdyYXBoOjpjcmVhdGUodXNl
ckRhdGEpOwogCi0gICAgX3BhZ2UtPmxvYWRSZXF1ZXN0KHJlcXVlc3QsIFtyZXF1ZXN0IF93ZWJf
c2hvdWxkT3BlbkV4dGVybmFsVVJMc10gPyBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpT
aG91bGRBbGxvdyA6IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93
LCB3a1VzZXJEYXRhLmdldCgpKTsKKyAgICBfcGFnZS0+bG9hZFJlcXVlc3QocmVxdWVzdCwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3csIHdrVXNlckRhdGEuZ2V0
KCkpOwogfQogCiAtICh2b2lkKWxvYWRGaWxlVVJMOihOU1VSTCAqKVVSTCByZXN0cmljdFRvRmls
ZXNXaXRoaW46KE5TVVJMICopYWxsb3dlZERpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAyZmU0MWM1Li5iMzVjZDk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpA
QCAtNzMsNyArNzMsNiBAQAogI2ltcG9ydCAiX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5o
IgogI2ltcG9ydCAiX1dLRmluZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJfV0tGb3JtRGVsZWdhdGUu
aCIKLSNpbXBvcnQgIl9XS05TVVJMUmVxdWVzdEV4dHJhcy5oIgogI2ltcG9ydCAiX1dLUmVtb3Rl
T2JqZWN0UmVnaXN0cnlJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLU2Vzc2lvblN0YXRlSW50ZXJu
YWwuaCIKICNpbXBvcnQgIl9XS1Zpc2l0ZWRMaW5rUHJvdmlkZXJJbnRlcm5hbC5oIgpAQCAtMTQy
LDYgKzE0MSw3IEBAIGVudW0gY2xhc3MgRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSB7CiAjaW1w
b3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CiAjZW5kaWYKIAorTlNTdHJpbmcgKiBjb25zdCBfV0tT
aG91bGRPcGVuRXh0ZXJuYWxVUkxzS2V5ID0gQCJfV0tTaG91bGRPcGVuRXh0ZXJuYWxVUkxzS2V5
IjsKIAogc3RhdGljIEhhc2hNYXA8V2ViS2l0OjpXZWJQYWdlUHJveHkqLCBXS1dlYlZpZXcgKj4m
IHBhZ2VUb1ZpZXdNYXAoKQogewpAQCAtNDQ3LDEyICs0NDcsNyBAQCAtICh2b2lkKXNldFVJRGVs
ZWdhdGU6KGlkPFdLVUlEZWxlZ2F0ZT4pVUlEZWxlZ2F0ZQogCiAtIChXS05hdmlnYXRpb24gKils
b2FkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdAogewotICAgIFdlYkNvcmU6OlNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFty
ZXF1ZXN0IF93ZWJfc2hvdWxkT3BlbkV4dGVybmFsVVJMc10gPyBXZWJDb3JlOjpTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRBbGxvdyA6IFdlYkNvcmU6OlNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93OwotICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9w
YWdlLT5sb2FkUmVxdWVzdChyZXF1ZXN0LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KTsK
LSAgICBpZiAoIW5hdmlnYXRpb24pCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICByZXR1cm4g
W3dyYXBwZXIoKm5hdmlnYXRpb24ucmVsZWFzZSgpLmxlYWtSZWYoKSkgYXV0b3JlbGVhc2VdOwor
ICAgIHJldHVybiBbc2VsZiBsb2FkUmVxdWVzdDpyZXF1ZXN0IHdpdGhPcHRpb25zOm5pbF07CiB9
CiAKIC0gKFdLTmF2aWdhdGlvbiAqKWxvYWRGaWxlVVJMOihOU1VSTCAqKVVSTCBhbGxvd2luZ1Jl
YWRBY2Nlc3NUb1VSTDooTlNVUkwgKilyZWFkQWNjZXNzVVJMCkBAIC0xNzc3LDYgKzE3NzIsMTgg
QEAgQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS1ByaXZhdGUpCiAKKy0gKFdL
TmF2aWdhdGlvbiAqKWxvYWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IHdpdGhPcHRp
b25zOihOU0RpY3Rpb25hcnkgKilsb2FkT3B0aW9ucworeworICAgIGJvb2wgc2hvdWxkT3BlbkV4
dGVybmFsVVJMcyA9IFtbbG9hZE9wdGlvbnMgdmFsdWVGb3JLZXk6X1dLU2hvdWxkT3BlbkV4dGVy
bmFsVVJMc0tleV0gYm9vbFZhbHVlXTsKKyAgICBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgPSBzaG91bGRPcGVuRXh0ZXJu
YWxVUkxzID8gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkQWxs
b3cgOiBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxv
dzsKKworICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9wYWdlLT5sb2FkUmVxdWVzdChyZXF1ZXN0LCBz
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KTsKKyAgICBpZiAoIW5hdmlnYXRpb24pCisgICAg
ICAgIHJldHVybiBuaWw7CisKKyAgICByZXR1cm4gW3dyYXBwZXIoKm5hdmlnYXRpb24ucmVsZWFz
ZSgpLmxlYWtSZWYoKSkgYXV0b3JlbGVhc2VdOworfQorCiAtIChCT09MKV9pc0VkaXRhYmxlCiB7
CiAgICAgcmV0dXJuIF9wYWdlLT5pc0VkaXRhYmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGFjNTkxNWYu
LmMxMTAxOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBXS19BUElfRU5B
QkxFRAogCisjaW1wb3J0IDxXZWJLaXQvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaD4KICNpbXBv
cnQgPFdlYktpdC9fV0tGaW5kT3B0aW9ucy5oPgogI2ltcG9ydCA8V2ViS2l0L19XS0xheW91dE1v
ZGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50cy5oPgpAQCAt
MzksNiArNDAsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tQYWdpbmF0aW9uTW9k
ZSkgewogICAgIF9XS1BhZ2luYXRpb25Nb2RlQm90dG9tVG9Ub3AsCiB9IFdLX0VOVU1fQVZBSUxB
QkxFKDEwXzEwLCA4XzApOwogCitXS19FWFBPUlQgZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgX1dL
U2hvdWxkT3BlbkV4dGVybmFsVVJMc0tleTsKKwogQGNsYXNzIFdLQnJvd3NpbmdDb250ZXh0SGFu
ZGxlOwogQGNsYXNzIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5OwogQGNsYXNzIF9XS1Nlc3Npb25T
dGF0ZTsKQEAgLTIwMCw2ICsyMDMsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tQ
YWdpbmF0aW9uTW9kZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2Nyb2xs
UGVyZm9ybWFuY2VEYXRhQ29sbGVjdGlvbkVuYWJsZWQ6KSBCT09MIF9zY3JvbGxQZXJmb3JtYW5j
ZURhdGFDb2xsZWN0aW9uRW5hYmxlZCBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RC
QSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TQXJyYXkgKl9zY3JvbGxQZXJm
b3JtYW5jZURhdGEgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCistIChX
S05hdmlnYXRpb24gKilsb2FkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCB3aXRoT3B0
aW9uczooTlNEaWN0aW9uYXJ5ICopbG9hZE9wdGlvbnM7CisKIEBlbmQKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ODg2ODAwYy4uZTQ0OWJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAxNCw4ICsxMDE0LDYgQEAKIAkJNTFBRDM1NzMxQUQy
RjM5NDAwNTdCMzhFIC8qIFdlYkhpdFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFEMzU3MjFBRDJGMzc1MDA1N0IzOEUgLyogV2Vi
SGl0VGVzdFJlc3VsdC5tbSAqLzsgfTsKIAkJNTFCMTVBODQxMzg0M0EzOTAwMzIxQUQ4IC8qIEVu
dmlyb25tZW50VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxQjE1QTgyMTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxp
dGllcy5jcHAgKi87IH07CiAJCTUxQjE1QTg1MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVu
dFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFCMTVBODMxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0aWVzLmggKi87
IH07Ci0JCTUxQjhGNDgzMUIwRTUzOUEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQjhGNDdG
MUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUI4RjQ4NDFCMEU1M0ExMDA4
RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCOEY0ODAxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05T
VVJMUmVxdWVzdEV4dHJhcy5tbSAqLzsgfTsKIAkJNTFCQTI0NDQxODU4RUUzMDAwRUEyODExIC8q
IEFzeW5jVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFCQTI0NDMxODU4RUUzMDAwRUEyODExIC8qIEFzeW5jVGFzay5oICovOyB9OwogCQk1MUJB
MjQ0NjE4NThGNTVEMDBFQTI4MTEgLyogV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCQTI0NDUxODU4RjQxNTAw
RUEyODExIC8qIFdlYkNyb3NzVGhyZWFkQ29waWVyLmNwcCAqLzsgfTsKIAkJNTFDOTYxMTgxODNE
Mjk0NzAwRDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDOTYxMTYx
ODNEMjk0NzAwRDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OwpAQCAtMzIyMiw4ICszMjIwLDYgQEAKIAkJNTFBRDM1NzIxQUQyRjM3NTAwNTdC
MzhFIC8qIFdlYkhpdFRlc3RSZXN1bHQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJIaXRU
ZXN0UmVzdWx0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUIxNUE4MjEzODQz
QTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwOyBwYXRoID0gdW5p
eC9FbnZpcm9ubWVudFV0aWxpdGllcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxQjE1QTgzMTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBFbnZpcm9ubWVudFV0aWxpdGllcy5oOyBwYXRo
ID0gdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1MUI4RjQ3RjFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS05TVVJMUmVxdWVzdEV4dHJhcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MUI4RjQ4MDFCMEU1MzBDMDA4RkM0QkQg
LyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MUJBMjQ0MzE4NThFRTMwMDBFQTI4MTEgLyogQXN5bmNUYXNrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jVGFzay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MUJBMjQ0NTE4NThGNDE1MDBFQTI4MTEgLyogV2ViQ3Jvc3NUaHJlYWRD
b3BpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUM5NjExNTE4M0M5NUZGMDBEMjAwMkUgLyog
V2ViSURCU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJREJTZXJ2ZXJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTUxNCw4
ICs1NTEwLDYgQEAKIAkJCQkzNzNEMTIyNjE4QTQ3M0Y2MDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5k
bGVJbnRlcm5hbC5oICovLAogCQkJCUExMThBOUYxMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0Zp
bGVNYW5hZ2VyRXh0cmFzLmggKi8sCiAJCQkJQTExOEE5RjAxOTA4QjhFQTAwRjdDOTJCIC8qIF9X
S05TRmlsZU1hbmFnZXJFeHRyYXMubW0gKi8sCi0JCQkJNTFCOEY0N0YxQjBFNTMwQzAwOEZDNEJE
IC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5oICovLAotCQkJCTUxQjhGNDgwMUIwRTUzMEMwMDhG
QzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gKi8sCiAJCQkJMUE5RTMyOEIxODIxNjVB
OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5oICovLAogCQkJCTFBOUUzMjhD
MTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gKi8sCiAJCQkJ
MUFBQkZFMzkxODI5QzFFRDAwNUIwNzBFIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZUludGVy
bmFsLmggKi8sCkBAIC03ODQwLDcgKzc4MzQsNiBAQAogCQkJCTFBNEE5QzU2MTJCODE2Q0YwMDhG
RTk4NCAvKiBOZXRzY2FwZVBsdWdpbk1vZHVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBNTg4
OTIxMUVFNzA0MDAwNjFCODgyIC8qIE5ldHNjYXBlUGx1Z2luU3RyZWFtLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMTc5OEM3QTE2RTY4MTg4MDAyNDAxMzkgLyogTmV0d29ya0Jsb2JSZWdpc3RyeS5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNTFCOEY0ODMxQjBFNTM5QTAwOEZDNEJEIC8qIF9XS05TVVJM
UmVxdWVzdEV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0MzZFQ0MxQTBEMDQwQjAwRUFE
MjA0IC8qIE5ldHdvcmtDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ5RDQwRDcxQUQzRkIx
NzAwNjZCN0I5IC8qIE5ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDg5RDI4QTFBMEEyREI4MDA3OEMwNkEgLyogTmV0d29ya0NhY2hlQ29kZXIuaCBpbiBIZWFk
ZXJzICovLApAQCAtOTU4MCw3ICs5NTczLDYgQEAKIAkJCQkxQTFEOEJBMTE3MzFBMzYzMDAxNDFE
QTQgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4Qzcy
OEMxNzM4NDc3QzAwMEE2NTU0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MUE3RjJGNTEyNUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk1MUI4RjQ4NDFCMEU1M0ExMDA4RkM0QkQgLyogX1dLTlNVUkxS
ZXF1ZXN0RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MEJGRTExMzM4MURGOTAwOTE4
OTk5IC8qIExvZ2dpbmdGb3VuZGF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyNEI1RjIx
MUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTE5MzNERjAxOTY1RUIzMTAwOEFDM0VBIC8qIE1lbnVVdGlsaXRpZXMubW0gaW4gU291cmNlcyAq
LywK
</data>
<flag name="review"
          id="278845"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253894</attachid>
            <date>2015-05-28 22:48:29 -0700</date>
            <delta_ts>2015-05-28 23:38:42 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14620</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1MmU1YjU4Li45YTEyOTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTUtMDUtMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBtZXRob2Qgb2Ygc2lnbmFsaW5nICJzaG91bGQgb3BlbiBleHRlcm5hbCB1cmxz
IiB0byBXZWJLaXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDU0NTQKKworICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgorCisgICAg
ICAgIE1ha2luZyB0aGlzIGEgcHJvcGVydHkgb24gdGhlIHJlcXVlc3Qgd2FzIG5ldmVyIGEgZ29v
ZCBpZGVhLgorCisgICAgICAgIEFkZGluZyBhIG5ldyBleHRlbnNpYmxlIGxvYWQgU1BJIHNlZW1z
IG11Y2ggYmV0dGVyLgorCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1VSTFJlcXVl
c3RFeHRyYXMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL19XS05TVVJM
UmVxdWVzdEV4dHJhcy5tbTogUmVtb3ZlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS0Jyb3dzaW5n
Q29udGV4dENvbnRyb2xsZXIgbG9hZFJlcXVlc3Q6dXNlckRhdGE6XSk6IFNpbmNlIHRoaXMgQVBJ
IGlzIGRlcHJlY2F0ZWQsCisgICAgICAgICAgaXQgYWx3YXlzIGdldHMgdGhlIGRlZmF1bHQgcmVz
dHJpY3RpdmUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGxvYWRSZXF1ZXN0Ol0pOgorICAgICAgICAo
LVtXS1dlYlZpZXcgbG9hZFJlcXVlc3Q6d2l0aE9wdGlvbnM6XSk6IFRha2UgYW4gb3B0aW9ucyBk
aWN0aW9uYXJ5IHRoYXQsIGZvciBub3csIAorICAgICAgICAgIG9ubHkgc3VwcG9ydHMgb25lIG9w
dGlvbi4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoK
KworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNS0w
NS0yOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1h
a2Ugc3VyZSB0aGF0IHdlIGNyZWF0ZSB0aGUgcHJpdmF0ZSBXZWJLaXQuZnJhbWV3b3JrIHN5bWxp
bmtzIGxhc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dL
TlNVUkxSZXF1ZXN0RXh0cmFzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0NvY29hL19X
S05TVVJMUmVxdWVzdEV4dHJhcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmIw
NzFlLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNV
UkxSZXF1ZXN0RXh0cmFzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgotCi1AaW50ZXJmYWNlIE5TVVJM
UmVxdWVzdCAoV0tFeHRyYXMpCi0KLS0gKEJPT0wpX3dlYl9zaG91bGRPcGVuRXh0ZXJuYWxVUkxz
OwotCi1AZW5kCi0KLUBpbnRlcmZhY2UgTlNNdXRhYmxlVVJMUmVxdWVzdCAoV0tFeHRyYXMpCi0K
LS0gKHZvaWQpX3dlYl9zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzOihCT09MKXNob3VsZE9wZW5F
eHRlcm5hbFVSTHM7Ci0KLUBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvQ29jb2EvX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9Db2NvYS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGJkOThjNjcuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9Db2NvYS9fV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0KKysrIC9kZXYvbnVsbApAQCAtMSw0NiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJfV0tOU1VS
TFJlcXVlc3RFeHRyYXMuaCIKLQotQGltcGxlbWVudGF0aW9uIE5TVVJMUmVxdWVzdCAoV0tFeHRy
YXMpCi0KLS0gKEJPT0wpX3dlYl9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzCi17Ci0gICAgTlNOdW1i
ZXIgKnNob3VsZE9wZW5FeHRlcm5hbFVSTHMgPSBbTlNVUkxQcm90b2NvbCBwcm9wZXJ0eUZvcktl
eTpAIldLTlNVUkxSZXF1ZXN0U2hvdWxkT3BlbkV4dGVybmFsVVJMc0tleSIgaW5SZXF1ZXN0OnNl
bGZdOwotICAgIHJldHVybiBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzLmJvb2xWYWx1ZTsKLX0KLQot
QGVuZAotCi1AaW1wbGVtZW50YXRpb24gTlNNdXRhYmxlVVJMUmVxdWVzdCAoV0tFeHRyYXMpCi0K
LS0gKHZvaWQpX3dlYl9zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzOihCT09MKXNob3VsZE9wZW5F
eHRlcm5hbFVSTHMKLXsKLSAgICBbTlNVUkxQcm90b2NvbCBzZXRQcm9wZXJ0eTpzaG91bGRPcGVu
RXh0ZXJuYWxVUkxzID8gQFlFUyA6IEBOTyBmb3JLZXk6QCJXS05TVVJMUmVxdWVzdFNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNLZXkiIGluUmVxdWVzdDpzZWxmXTsKLX0KLQotQGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCAxMmY3NDAwLi5hNWVmMTBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQpAQCAtNTUsNyArNTUsNiBAQAogI2ltcG9ydCAiV2Vi
UGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgogI2ltcG9ydCAiV2ViUHJv
dGVjdGlvblNwYWNlLmgiCi0jaW1wb3J0ICJfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCIKICNpbXBv
cnQgIl9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJuYWwuaCIKICNpbXBvcnQgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogCkBAIC0xOTIsNyArMTkxLDcgQEAgLSAodm9pZClsb2FkUmVxdWVzdDoo
TlNVUkxSZXF1ZXN0ICopcmVxdWVzdCB1c2VyRGF0YTooaWQpdXNlckRhdGEKICAgICBpZiAodXNl
ckRhdGEpCiAgICAgICAgIHdrVXNlckRhdGEgPSBPYmpDT2JqZWN0R3JhcGg6OmNyZWF0ZSh1c2Vy
RGF0YSk7CiAKLSAgICBfcGFnZS0+bG9hZFJlcXVlc3QocmVxdWVzdCwgW3JlcXVlc3QgX3dlYl9z
aG91bGRPcGVuRXh0ZXJuYWxVUkxzXSA/IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNo
b3VsZEFsbG93IDogU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cs
IHdrVXNlckRhdGEuZ2V0KCkpOworICAgIF9wYWdlLT5sb2FkUmVxdWVzdChyZXF1ZXN0LCBTaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdywgd2tVc2VyRGF0YS5nZXQo
KSk7CiB9CiAKIC0gKHZvaWQpbG9hZEZpbGVVUkw6KE5TVVJMICopVVJMIHJlc3RyaWN0VG9GaWxl
c1dpdGhpbjooTlNVUkwgKilhbGxvd2VkRGlyZWN0b3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDJmZTQxYzUuLmU3MTlkMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBA
IC03Myw3ICs3Myw2IEBACiAjaW1wb3J0ICJfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgi
CiAjaW1wb3J0ICJfV0tGaW5kRGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0Zvcm1EZWxlZ2F0ZS5o
IgotI2ltcG9ydCAiX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmgiCiAjaW1wb3J0ICJfV0tSZW1vdGVP
YmplY3RSZWdpc3RyeUludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tTZXNzaW9uU3RhdGVJbnRlcm5h
bC5oIgogI2ltcG9ydCAiX1dLVmlzaXRlZExpbmtQcm92aWRlckludGVybmFsLmgiCkBAIC0xNDIs
NiArMTQxLDcgQEAgZW51bSBjbGFzcyBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2RlIHsKICNpbXBv
cnQgPFdlYkNvcmUvQ29sb3JNYWMuaD4KICNlbmRpZgogCitOU1N0cmluZyAqIGNvbnN0IF9XS1No
b3VsZE9wZW5FeHRlcm5hbFVSTHNLZXkgPSBAIl9XS1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNLZXki
OwogCiBzdGF0aWMgSGFzaE1hcDxXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdLV2ViVmlldyAqPiYg
cGFnZVRvVmlld01hcCgpCiB7CkBAIC00NDcsMTIgKzQ0Nyw3IEBAIC0gKHZvaWQpc2V0VUlEZWxl
Z2F0ZTooaWQ8V0tVSURlbGVnYXRlPilVSURlbGVnYXRlCiAKIC0gKFdLTmF2aWdhdGlvbiAqKWxv
YWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0CiB7Ci0gICAgV2ViQ29yZTo6U2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gW3Jl
cXVlc3QgX3dlYl9zaG91bGRPcGVuRXh0ZXJuYWxVUkxzXSA/IFdlYkNvcmU6OlNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFsbG93IDogV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3c7Ci0gICAgYXV0byBuYXZpZ2F0aW9uID0gX3Bh
Z2UtPmxvYWRSZXF1ZXN0KHJlcXVlc3QsIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpOwot
ICAgIGlmICghbmF2aWdhdGlvbikKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIHJldHVybiBb
d3JhcHBlcigqbmF2aWdhdGlvbi5yZWxlYXNlKCkubGVha1JlZigpKSBhdXRvcmVsZWFzZV07Cisg
ICAgcmV0dXJuIFtzZWxmIF9sb2FkUmVxdWVzdDpyZXF1ZXN0IHdpdGhPcHRpb25zOm5pbF07CiB9
CiAKIC0gKFdLTmF2aWdhdGlvbiAqKWxvYWRGaWxlVVJMOihOU1VSTCAqKVVSTCBhbGxvd2luZ1Jl
YWRBY2Nlc3NUb1VSTDooTlNVUkwgKilyZWFkQWNjZXNzVVJMCkBAIC0xNzc3LDYgKzE3NzIsMTgg
QEAgQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS1ByaXZhdGUpCiAKKy0gKFdL
TmF2aWdhdGlvbiAqKV9sb2FkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCB3aXRoT3B0
aW9uczooTlNEaWN0aW9uYXJ5ICopbG9hZE9wdGlvbnMKK3sKKyAgICBib29sIHNob3VsZE9wZW5F
eHRlcm5hbFVSTHMgPSBbbG9hZE9wdGlvbnNbX1dLU2hvdWxkT3BlbkV4dGVybmFsVVJMc0tleV0g
Ym9vbFZhbHVlXTsKKyAgICBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgPSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzID8gV2Vi
Q29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkQWxsb3cgOiBXZWJDb3Jl
OjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGROb3RBbGxvdzsKKworICAgIGF1
dG8gbmF2aWdhdGlvbiA9IF9wYWdlLT5sb2FkUmVxdWVzdChyZXF1ZXN0LCBzaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5KTsKKyAgICBpZiAoIW5hdmlnYXRpb24pCisgICAgICAgIHJldHVybiBu
aWw7CisKKyAgICByZXR1cm4gW3dyYXBwZXIoKm5hdmlnYXRpb24ucmVsZWFzZSgpLmxlYWtSZWYo
KSkgYXV0b3JlbGVhc2VdOworfQorCiAtIChCT09MKV9pc0VkaXRhYmxlCiB7CiAgICAgcmV0dXJu
IF9wYWdlLT5pc0VkaXRhYmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGFjNTkxNWYuLmY4NzZhMmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCkBAIC0zOSw2ICszOSw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9X
S1BhZ2luYXRpb25Nb2RlKSB7CiAgICAgX1dLUGFnaW5hdGlvbk1vZGVCb3R0b21Ub1RvcCwKIH0g
V0tfRU5VTV9BVkFJTEFCTEUoMTBfMTAsIDhfMCk7CiAKK1dLX0VYVEVSTiBOU1N0cmluZyAqIGNv
bnN0IF9XS1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNLZXkgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEs
IFdLX0lPU19UQkEpOworCiBAY2xhc3MgV0tCcm93c2luZ0NvbnRleHRIYW5kbGU7CiBAY2xhc3Mg
X1dLUmVtb3RlT2JqZWN0UmVnaXN0cnk7CiBAY2xhc3MgX1dLU2Vzc2lvblN0YXRlOwpAQCAtMjAw
LDYgKzIwMiw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS1BhZ2luYXRpb25Nb2Rl
KSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTY3JvbGxQZXJmb3JtYW5jZURh
dGFDb2xsZWN0aW9uRW5hYmxlZDopIEJPT0wgX3Njcm9sbFBlcmZvcm1hbmNlRGF0YUNvbGxlY3Rp
b25FbmFibGVkIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNBcnJheSAqX3Njcm9sbFBlcmZvcm1hbmNlRGF0YSBX
S19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiAKKy0gKFdLTmF2aWdhdGlvbiAq
KV9sb2FkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCB3aXRoT3B0aW9uczooTlNEaWN0
aW9uYXJ5ICopbG9hZE9wdGlvbnMgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEp
OworCiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg4NjgwMGMuLmU0NDliZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMTQsOCAr
MTAxNCw2IEBACiAJCTUxQUQzNTczMUFEMkYzOTQwMDU3QjM4RSAvKiBXZWJIaXRUZXN0UmVzdWx0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBRDM1
NzIxQUQyRjM3NTAwNTdCMzhFIC8qIFdlYkhpdFRlc3RSZXN1bHQubW0gKi87IH07CiAJCTUxQjE1
QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIxNUE4MjEzODQzQTM5MDAz
MjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwICovOyB9OwogCQk1MUIxNUE4NTEzODQz
QTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQjE1QTgzMTM4NDNBMzkwMDMyMUFEOCAvKiBF
bnZpcm9ubWVudFV0aWxpdGllcy5oICovOyB9OwotCQk1MUI4RjQ4MzFCMEU1MzlBMDA4RkM0QkQg
LyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUI4RjQ3RjFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1
ZXN0RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJNTFCOEY0ODQxQjBFNTNBMTAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQjhGNDgw
MUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMubW0gKi87IH07CiAJCTUx
QkEyNDQ0MTg1OEVFMzAwMEVBMjgxMSAvKiBBc3luY1Rhc2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQkEyNDQzMTg1OEVFMzAwMEVBMjgxMSAvKiBB
c3luY1Rhc2suaCAqLzsgfTsKIAkJNTFCQTI0NDYxODU4RjU1RDAwRUEyODExIC8qIFdlYkNyb3Nz
VGhyZWFkQ29waWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxQkEyNDQ1MTg1OEY0MTUwMEVBMjgxMSAvKiBXZWJDcm9zc1RocmVhZENvcGllci5j
cHAgKi87IH07CiAJCTUxQzk2MTE4MTgzRDI5NDcwMEQyMDAyRSAvKiBXZWJJREJTZXJ2ZXJDb25u
ZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxQzk2MTE2MTgzRDI5NDcwMEQyMDAyRSAvKiBXZWJJREJTZXJ2ZXJD
b25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTMyMjIsOCArMzIyMCw2IEBA
CiAJCTUxQUQzNTcyMUFEMkYzNzUwMDU3QjM4RSAvKiBXZWJIaXRUZXN0UmVzdWx0Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViSGl0VGVzdFJlc3VsdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFCMTVBODIxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRpbGl0
aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudmlyb25tZW50
VXRpbGl0aWVzLmNwcDsgcGF0aCA9IHVuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUIxNUE4MzEzODQzQTM5MDAzMjFBRDggLyogRW52
aXJvbm1lbnRVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRW52
aXJvbm1lbnRVdGlsaXRpZXMuaDsgcGF0aCA9IHVuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFCOEY0N0YxQjBFNTMwQzAwOEZDNEJEIC8q
IF9XS05TVVJMUmVxdWVzdEV4dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NTFCOEY0ODAxQjBFNTMwQzAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS05TVVJMUmVxdWVzdEV4dHJh
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCQTI0NDMxODU4RUUzMDAwRUEy
ODExIC8qIEFzeW5jVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3lu
Y1Rhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCQTI0NDUxODU4RjQxNTAw
RUEyODExIC8qIFdlYkNyb3NzVGhyZWFkQ29waWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkNyb3NzVGhyZWFkQ29waWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFD
OTYxMTUxODNDOTVGRjAwRDIwMDJFIC8qIFdlYklEQlNlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMu
aW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViSURCU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTU1MTQsOCArNTUxMCw2IEBACiAJCQkJMzczRDEyMjYxOEE0NzNG
NjAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlSW50ZXJuYWwuaCAqLywKIAkJCQlBMTE4QTlGMTE5
MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oICovLAogCQkJCUExMThB
OUYwMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovLAotCQkJ
CTUxQjhGNDdGMUIwRTUzMEMwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCAqLywK
LQkJCQk1MUI4RjQ4MDFCMEU1MzBDMDA4RkM0QkQgLyogX1dLTlNVUkxSZXF1ZXN0RXh0cmFzLm1t
ICovLAogCQkJCTFBOUUzMjhCMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRl
cmZhY2UuaCAqLywKIAkJCQkxQTlFMzI4QzE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2Jq
ZWN0SW50ZXJmYWNlLm1tICovLAogCQkJCTFBQUJGRTM5MTgyOUMxRUQwMDVCMDcwRSAvKiBfV0tS
ZW1vdGVPYmplY3RJbnRlcmZhY2VJbnRlcm5hbC5oICovLApAQCAtNzg0MCw3ICs3ODM0LDYgQEAK
IAkJCQkxQTRBOUM1NjEyQjgxNkNGMDA4RkU5ODQgLyogTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQTU4ODkyMTFFRTcwNDAwMDYxQjg4MiAvKiBOZXRzY2FwZVBs
dWdpblN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE3OThDN0ExNkU2ODE4ODAwMjQwMTM5
IC8qIE5ldHdvcmtCbG9iUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxQjhGNDgzMUIw
RTUzOUEwMDhGQzRCRCAvKiBfV0tOU1VSTFJlcXVlc3RFeHRyYXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0NDM2RUNDMUEwRDA0MEIwMEVBRDIwNCAvKiBOZXR3b3JrQ2FjaGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0OUQ0MEQ3MUFEM0ZCMTcwMDY2QjdCOSAvKiBOZXR3b3JrQ2FjaGVCbG9iU3Rv
cmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ4OUQyOEExQTBBMkRCODAwNzhDMDZBIC8qIE5l
dHdvcmtDYWNoZUNvZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTk1ODAsNyArOTU3Myw2IEBACiAJ
CQkJMUExRDhCQTExNzMxQTM2MzAwMTQxREE0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFBOEM3MjhDMTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3Jh
Z2VEYXRhYmFzZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFBN0YyRjUxMjVCRjhE
NDAwOEFFQjFEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFCOEY0ODQxQjBF
NTNBMTAwOEZDNEJEIC8qIF9XS05TVVJMUmVxdWVzdEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTUxNjBCRkUxMTMzODFERjkwMDkxODk5OSAvKiBMb2dnaW5nRm91bmRhdGlvbi5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTFBMjRCNUYyMTFGNTMxRTgwMEMzODI2OSAvKiBNYWNoVXRpbGl0aWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxOTMzREYwMTk2NUVCMzEwMDhBQzNFQSAvKiBNZW51
VXRpbGl0aWVzLm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>