<?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>192379</bug_id>
          
          <creation_ts>2018-12-04 14:13:42 -0800</creation_ts>
          <short_desc>[MediaStream] Cleanup up Mac screen capture class</short_desc>
          <delta_ts>2018-12-07 14:04:54 -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>WebRTC</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>192514</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1485002</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-12-04 14:13:42 -0800</bug_when>
    <thetext>Minor cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485003</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-04 14:14:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/46465458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485004</commentid>
    <comment_count>2</comment_count>
      <attachid>356532</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-12-04 14:20:50 -0800</bug_when>
    <thetext>Created attachment 356532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485112</commentid>
    <comment_count>3</comment_count>
      <attachid>356532</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-04 18:44:01 -0800</bug_when>
    <thetext>Comment on attachment 356532
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        (WebCore::DisplayCaptureManagerCocoa::captureDevices): Initialize Display devices first.

Maybe document why we need to do this

&gt; Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:156
&gt;              weakThis-&gt;frameAvailable(status, displayTime, frameSurface, updateRef);

This is existing code but the weakThis check is not thread safe here. weakThis may be dead between if and next call.

&gt; Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:-167
&gt; -        });

Do we need the call to frameAvailable to be in a background thread?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485352</commentid>
    <comment_count>4</comment_count>
      <attachid>356632</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-12-05 11:54:22 -0800</bug_when>
    <thetext>Created attachment 356632
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485371</commentid>
    <comment_count>5</comment_count>
      <attachid>356632</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-05 12:22:02 -0800</bug_when>
    <thetext>Comment on attachment 356632
Patch for landing.

Clearing flags on attachment: 356632

Committed r238904: &lt;https://trac.webkit.org/changeset/238904&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485372</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-05 12:22:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485775</commentid>
    <comment_count>7</comment_count>
      <attachid>356632</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-12-06 12:44:16 -0800</bug_when>
    <thetext>Comment on attachment 356632
Patch for landing.

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

&gt; Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:144
&gt; +        CFDictionaryRef streamOptions = (__bridge CFDictionaryRef) @{

Doing the cast here may be incompatible with ARC. Instead the local variable should be an NSDictionary * and the cast to CFDictionaryRef should go below at the call site. Or we can use two local variables.

&gt; Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:148
&gt; +            (__bridge NSString *)kCGDisplayStreamMinimumFrameTime :@(1 / frameRate()),
&gt; +            (__bridge NSString *)kCGDisplayStreamQueueDepth:@(screenQueueMaximumLength),
&gt; +            (__bridge NSString *)kCGDisplayStreamColorSpace:(__bridge id)sRGBColorSpaceRef(),
&gt; +            (__bridge NSString *)kCGDisplayStreamShowCursor : @(YES),

Formatting here is a little messy, inconsistent about whether there is a space before and after the colon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1486139</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-12-07 14:04:22 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 356632 [details]
&gt; Patch for landing.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=356632&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:144
&gt; &gt; +        CFDictionaryRef streamOptions = (__bridge CFDictionaryRef) @{
&gt; 
&gt; Doing the cast here may be incompatible with ARC. Instead the local variable
&gt; should be an NSDictionary * and the cast to CFDictionaryRef should go below
&gt; at the call site. Or we can use two local variables.
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:148
&gt; &gt; +            (__bridge NSString *)kCGDisplayStreamMinimumFrameTime :@(1 / frameRate()),
&gt; &gt; +            (__bridge NSString *)kCGDisplayStreamQueueDepth:@(screenQueueMaximumLength),
&gt; &gt; +            (__bridge NSString *)kCGDisplayStreamColorSpace:(__bridge id)sRGBColorSpaceRef(),
&gt; &gt; +            (__bridge NSString *)kCGDisplayStreamShowCursor : @(YES),
&gt; 
&gt; Formatting here is a little messy, inconsistent about whether there is a
&gt; space before and after the colon.

Thanks, I will fix these in bug 192514.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356532</attachid>
            <date>2018-12-04 14:20:50 -0800</date>
            <delta_ts>2018-12-05 11:54:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192379-20181204142049.patch</filename>
            <type>text/plain</type>
            <size>6913</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMwY2IzODRiMjIyZDUw
NWQwZDA5MWYxZDQxMjRmYzU1OWYxOGFkZi4uNmY0NWM5ZTdmZjYwN2E5MTU3Y2M5YWY2M2FiYjRk
M2E0Yjg0YTZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTEyLTA0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gQ2xlYW51cCB1cCBNYWMgc2NyZWVuIGNhcHR1cmUgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjM3OQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDY0NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2E6OmNhcHR1cmVEZXZpY2Vz
KTogSW5pdGlhbGl6ZSBEaXNwbGF5IGRldmljZXMgZmlyc3QuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYzo6
Y3JlYXRlRGlzcGxheVN0cmVhbSk6IENsZWFudXAuIEFsd2F5cyBjYXB0dXJlIGF0IHRoZQorICAg
ICAgICBuYXRpdmUgc2NyZWVuIHNpemUgdG8gd29yayBhcm91bmQgYSBidWcuCisgICAgICAgIChX
ZWJDb3JlOjpTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYzo6c2V0dGluZ3NEaWRDaGFuZ2Up
OiBEZWxldGVkLgorCiAyMDE4LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNs
b3dzdGFydC5vcmc+CiAKICAgICAgICAgVXNlIFdhbGxUaW1lIGZvciBmaWxlIHRpbWUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2Fw
dHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDg4ZGI0N2M1ZTQ1MTQz
ZDg5OGVkYWEyZjVkZmFhNzk2YzZkNDM1NGEuLjA2ZGE2MjVlMjljNTVlYjBkYTFkMzU5M2Q2NzVm
Y2FhM2NlZjU1OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNw
cApAQCAtNTIsOCArNTIsOCBAQCBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIERpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hOjpjYXB0dXJlRGV2aWNlcygpCiB7CiAgICAgbV9kZXZpY2VzLmNs
ZWFyKCk7CiAKLSAgICB1cGRhdGVXaW5kb3dDYXB0dXJlRGV2aWNlcygpOwogICAgIHVwZGF0ZURp
c3BsYXlDYXB0dXJlRGV2aWNlcygpOworICAgIHVwZGF0ZVdpbmRvd0NhcHR1cmVEZXZpY2VzKCk7
CiAKICAgICByZXR1cm4gbV9kZXZpY2VzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNh
cHR1cmVTb3VyY2VNYWMuaAppbmRleCA5YzhmODcxYzNkMWY5YzY5YzI1N2E2YmQ5OWVhOWY0NDI3
MjBkOWVkLi4wNWViZWFlOWRhMzg0OWIzZjNhYTRiZjc1ZWFmOWQ0NWIyMWQ2YTZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxh
eUNhcHR1cmVTb3VyY2VNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMuaApAQCAtNjEsNyArNjEsNiBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBzdGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsKICAgICB2
b2lkIHN0b3BQcm9kdWNpbmdEYXRhKCkgZmluYWw7Ci0gICAgdm9pZCBzZXR0aW5nc0RpZENoYW5n
ZShPcHRpb25TZXQ8UmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnPikgZmluYWw7CiAg
ICAgdm9pZCBjb21taXRDb25maWd1cmF0aW9uKCkgZmluYWw7CiAKICAgICBib29sIGNyZWF0ZURp
c3BsYXlTdHJlYW0oKTsKQEAgLTk1LDggKzk0LDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIExv
Y2sgbV9jdXJyZW50RnJhbWVNdXRleDsKICAgICBEaXNwbGF5U3VyZmFjZSBtX2N1cnJlbnRGcmFt
ZTsKICAgICBSZXRhaW5QdHI8Q0dEaXNwbGF5U3RyZWFtUmVmPiBtX2Rpc3BsYXlTdHJlYW07Ci0g
ICAgQ0dEaXNwbGF5U3RyZWFtRnJhbWVBdmFpbGFibGVIYW5kbGVyIG1fZnJhbWVBdmFpbGFibGVC
bG9jazsKLQogICAgIE9TT2JqZWN0UHRyPGRpc3BhdGNoX3F1ZXVlX3Q+IG1fY2FwdHVyZVF1ZXVl
OwogCiAgICAgdWludDMyX3QgbV9kaXNwbGF5SUQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3Vy
Y2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVu
RGlzcGxheUNhcHR1cmVTb3VyY2VNYWMubW0KaW5kZXggNGNiNGQxM2NhNTAyZjQzZDIxMmJkODRh
MWQ3ZTcwYjhhZWUyYTJiNy4uODNiMjAyMjI0OGU4OGU0ODY2MTg0Y2I2NjQwZjNkZjMwODQ5MmY2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Nj
cmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYy5tbQpAQCAt
MTI0LDYgKzEyNCw3IEBAIGJvb2wgU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWM6OmNyZWF0
ZURpc3BsYXlTdHJlYW0oKQogICAgIGlmIChtX2Rpc3BsYXlJRCAhPSBhY3R1YWxEaXNwbGF5SUQu
dmFsdWUoKSkgewogICAgICAgICBtX2Rpc3BsYXlJRCA9IGFjdHVhbERpc3BsYXlJRC52YWx1ZSgp
OwogICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYSwgIlNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNl
TWFjOjpjcmVhdGVEaXNwbGF5U3RyZWFtOiBkaXNwbGF5IElEIGNoYW5nZWQgdG8gJWQiLCBzdGF0
aWNfY2FzdDxpbnQ+KG1fZGlzcGxheUlEKSk7CisgICAgICAgIG1fZGlzcGxheVN0cmVhbSA9IG51
bGxwdHI7CiAgICAgfQogCiAgICAgaWYgKCFtX2Rpc3BsYXlTdHJlYW0pIHsKQEAgLTE0MCwzNCAr
MTQxLDIyIEBAIGJvb2wgU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWM6OmNyZWF0ZURpc3Bs
YXlTdHJlYW0oKQogICAgICAgICBpZiAoIW1fY2FwdHVyZVF1ZXVlKQogICAgICAgICAgICAgbV9j
YXB0dXJlUXVldWUgPSBhZG9wdE9TT2JqZWN0KGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgiU2NyZWVu
RGlzcGxheUNhcHR1cmVTb3VyY2VNYWMgQ2FwdHVyZSBRdWV1ZSIsIERJU1BBVENIX1FVRVVFX1NF
UklBTCkpOwogCi0gICAgICAgIGRvdWJsZSBmcmFtZVRpbWUgPSAxIC8gZnJhbWVSYXRlKCk7Ci0g
ICAgICAgIGF1dG8gZnJhbWVUaW1lQ0YgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKG51bGxwdHIs
ICBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAgJmZyYW1lVGltZSkpOwotICAgICAgICBpbnQgZGVwdGgg
PSBzY3JlZW5RdWV1ZU1heGltdW1MZW5ndGg7Ci0gICAgICAgIGF1dG8gZGVwdGhDRiA9IGFkb3B0
Q0YoQ0ZOdW1iZXJDcmVhdGUobnVsbHB0ciwgIGtDRk51bWJlckludFR5cGUsICAmZGVwdGgpKTsK
LSAgICAgICAgQ0ZUeXBlUmVmIGtleXNbXSA9IHsKLSAgICAgICAgICAgIGtDR0Rpc3BsYXlTdHJl
YW1NaW5pbXVtRnJhbWVUaW1lLAotICAgICAgICAgICAga0NHRGlzcGxheVN0cmVhbVF1ZXVlRGVw
dGgsCi0gICAgICAgICAgICBrQ0dEaXNwbGF5U3RyZWFtQ29sb3JTcGFjZSwKLSAgICAgICAgICAg
IGtDR0Rpc3BsYXlTdHJlYW1TaG93Q3Vyc29yLAotICAgICAgICB9OwotICAgICAgICBDRlR5cGVS
ZWYgdmFsdWVzW10gPSB7Ci0gICAgICAgICAgICBmcmFtZVRpbWVDRi5nZXQoKSwKLSAgICAgICAg
ICAgIGRlcHRoQ0YuZ2V0KCksCi0gICAgICAgICAgICBzUkdCQ29sb3JTcGFjZVJlZigpLAotICAg
ICAgICAgICAga0NGQm9vbGVhblRydWUsCisgICAgICAgIENGRGljdGlvbmFyeVJlZiBzdHJlYW1P
cHRpb25zID0gKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZikgQHsKKyAgICAgICAgICAgIChfX2Jy
aWRnZSBOU1N0cmluZyAqKWtDR0Rpc3BsYXlTdHJlYW1NaW5pbXVtRnJhbWVUaW1lIDpAKDEgLyBm
cmFtZVJhdGUoKSksCisgICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ0dEaXNwbGF5
U3RyZWFtUXVldWVEZXB0aDpAKHNjcmVlblF1ZXVlTWF4aW11bUxlbmd0aCksCisgICAgICAgICAg
ICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ0dEaXNwbGF5U3RyZWFtQ29sb3JTcGFjZTooX19icmlk
Z2UgaWQpc1JHQkNvbG9yU3BhY2VSZWYoKSwKKyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmlu
ZyAqKWtDR0Rpc3BsYXlTdHJlYW1TaG93Q3Vyc29yIDogQChZRVMpLAogICAgICAgICB9OwotICAg
ICAgICBhdXRvIHN0cmVhbU9wdGlvbnMgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBrZXlzLCB2YWx1ZXMsIFdURl9BUlJBWV9MRU5HVEgoa2V5cyksICZr
Q0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxs
QmFja3MpKTsKIAogICAgICAgICBhdXRvIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpOwot
ICAgICAgICBtX2ZyYW1lQXZhaWxhYmxlQmxvY2sgPSBCbG9ja19jb3B5KF4oQ0dEaXNwbGF5U3Ry
ZWFtRnJhbWVTdGF0dXMgc3RhdHVzLCB1aW50NjRfdCBkaXNwbGF5VGltZSwgSU9TdXJmYWNlUmVm
IGZyYW1lU3VyZmFjZSwgQ0dEaXNwbGF5U3RyZWFtVXBkYXRlUmVmIHVwZGF0ZVJlZikgeworICAg
ICAgICBhdXRvIGZyYW1lQXZhaWxhYmxlQmxvY2sgPSBeKENHRGlzcGxheVN0cmVhbUZyYW1lU3Rh
dHVzIHN0YXR1cywgdWludDY0X3QgZGlzcGxheVRpbWUsIElPU3VyZmFjZVJlZiBmcmFtZVN1cmZh
Y2UsIENHRGlzcGxheVN0cmVhbVVwZGF0ZVJlZiB1cGRhdGVSZWYpIHsKICAgICAgICAgICAgIGlm
ICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAgICB3ZWFr
VGhpcy0+ZnJhbWVBdmFpbGFibGUoc3RhdHVzLCBkaXNwbGF5VGltZSwgZnJhbWVTdXJmYWNlLCB1
cGRhdGVSZWYpOwotICAgICAgICB9KTsKKyAgICAgICAgfTsKIAotICAgICAgICBhdXRvIHNpemUg
PSBmcmFtZVNpemUoKTsKLSAgICAgICAgbV9kaXNwbGF5U3RyZWFtID0gYWRvcHRDRihDR0Rpc3Bs
YXlTdHJlYW1DcmVhdGVXaXRoRGlzcGF0Y2hRdWV1ZShtX2Rpc3BsYXlJRCwgc2l6ZS53aWR0aCgp
LCBzaXplLmhlaWdodCgpLCBwcmVmZXJlZFBpeGVsQnVmZmVyRm9ybWF0KCksIHN0cmVhbU9wdGlv
bnMuZ2V0KCksIG1fY2FwdHVyZVF1ZXVlLmdldCgpLCBtX2ZyYW1lQXZhaWxhYmxlQmxvY2spKTsK
KyAgICAgICAgbV9kaXNwbGF5U3RyZWFtID0gYWRvcHRDRihDR0Rpc3BsYXlTdHJlYW1DcmVhdGVX
aXRoRGlzcGF0Y2hRdWV1ZShtX2Rpc3BsYXlJRCwgc2NyZWVuV2lkdGgsIHNjcmVlbkhlaWdodCwg
cHJlZmVyZWRQaXhlbEJ1ZmZlckZvcm1hdCgpLCBzdHJlYW1PcHRpb25zLCBtX2NhcHR1cmVRdWV1
ZS5nZXQoKSwgZnJhbWVBdmFpbGFibGVCbG9jaykpOwogICAgICAgICBpZiAoIW1fZGlzcGxheVN0
cmVhbSkgewogICAgICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWEsICJTY3JlZW5EaXNwbGF5Q2Fw
dHVyZVNvdXJjZU1hYzo6Y3JlYXRlRGlzcGxheVN0cmVhbTogQ0dEaXNwbGF5U3RyZWFtQ3JlYXRl
IGZhaWxlZCIpOwogICAgICAgICAgICAgY2FwdHVyZUZhaWxlZCgpOwpAQCAtMjQxLDE0ICsyMzAs
NiBAQCB2b2lkIFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjOjpzdGFydERpc3BsYXlTdHJl
YW0oKQogICAgIG1faXNSdW5uaW5nID0gdHJ1ZTsKIH0KIAotdm9pZCBTY3JlZW5EaXNwbGF5Q2Fw
dHVyZVNvdXJjZU1hYzo6c2V0dGluZ3NEaWRDaGFuZ2UoT3B0aW9uU2V0PFJlYWx0aW1lTWVkaWFT
b3VyY2VTZXR0aW5nczo6RmxhZz4gc2V0dGluZ3MpCi17Ci0gICAgaWYgKHNldHRpbmdzLmNvbnRh
aW5zQW55KHsgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpXaWR0aCwgUmVhbHRp
bWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpIZWlnaHQsIFJlYWx0aW1lTWVkaWFTb3VyY2VT
ZXR0aW5nczo6RmxhZzo6RnJhbWVSYXRlIH0pKQotICAgICAgICBtX2Rpc3BsYXlTdHJlYW0gPSBu
dWxscHRyOwotCi0gICAgcmV0dXJuIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OnNldHRpbmdz
RGlkQ2hhbmdlKHNldHRpbmdzKTsKLX0KLQogdm9pZCBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJj
ZU1hYzo6Y29tbWl0Q29uZmlndXJhdGlvbigpCiB7CiAgICAgaWYgKG1faXNSdW5uaW5nICYmICFt
X2Rpc3BsYXlTdHJlYW0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356632</attachid>
            <date>2018-12-05 11:54:22 -0800</date>
            <delta_ts>2018-12-05 12:22:02 -0800</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-192379-20181205115422.patch</filename>
            <type>text/plain</type>
            <size>6961</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4ODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMwY2IzODRiMjIyZDUw
NWQwZDA5MWYxZDQxMjRmYzU1OWYxOGFkZi4uYzdmMTQ0YjQyY2I5OWVjMmMwMzQ4OGFhODgzNjdh
YjQ1MjY4NzhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTEyLTA0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gQ2xlYW51cCB1cCBNYWMgc2NyZWVuIGNhcHR1cmUgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjM3OQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDY0NjU0NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIHRlc3RlZCBtYW51YWxseS4KKworICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYTo6Y2FwdHVyZURldmljZXMp
OiBJbml0aWFsaXplIFNjcmVlbiBkZXZpY2VzIGZpcnN0IHNvCisgICAgICAgIHRoZXkgYXJlIGZp
cnN0IGluIHRoZSBsaXN0IG9mIGRldmljZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYzo6Y3JlYXRlRGlz
cGxheVN0cmVhbSk6IENsZWFudXAuIEFsd2F5cyBjYXB0dXJlIGF0IHRoZQorICAgICAgICBuYXRp
dmUgc2NyZWVuIHNpemUgdG8gd29yayBhcm91bmQgYSBidWcuCisgICAgICAgIChXZWJDb3JlOjpT
Y3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYzo6c2V0dGluZ3NEaWRDaGFuZ2UpOiBEZWxldGVk
LgorCiAyMDE4LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5v
cmc+CiAKICAgICAgICAgVXNlIFdhbGxUaW1lIGZvciBmaWxlIHRpbWUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFn
ZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlz
cGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDg4ZGI0N2M1ZTQ1MTQzZDg5OGVkYWEy
ZjVkZmFhNzk2YzZkNDM1NGEuLjA2ZGE2MjVlMjljNTVlYjBkYTFkMzU5M2Q2NzVmY2FhM2NlZjU1
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9E
aXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtNTIs
OCArNTIsOCBAQCBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIERpc3BsYXlDYXB0dXJlTWFu
YWdlckNvY29hOjpjYXB0dXJlRGV2aWNlcygpCiB7CiAgICAgbV9kZXZpY2VzLmNsZWFyKCk7CiAK
LSAgICB1cGRhdGVXaW5kb3dDYXB0dXJlRGV2aWNlcygpOwogICAgIHVwZGF0ZURpc3BsYXlDYXB0
dXJlRGV2aWNlcygpOworICAgIHVwZGF0ZVdpbmRvd0NhcHR1cmVEZXZpY2VzKCk7CiAKICAgICBy
ZXR1cm4gbV9kZXZpY2VzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1NjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3Vy
Y2VNYWMuaAppbmRleCA5YzhmODcxYzNkMWY5YzY5YzI1N2E2YmQ5OWVhOWY0NDI3MjBkOWVkLi4w
NWViZWFlOWRhMzg0OWIzZjNhYTRiZjc1ZWFmOWQ0NWIyMWQ2YTZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVT
b3VyY2VNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
U2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMuaApAQCAtNjEsNyArNjEsNiBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBzdGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsKICAgICB2b2lkIHN0b3BQ
cm9kdWNpbmdEYXRhKCkgZmluYWw7Ci0gICAgdm9pZCBzZXR0aW5nc0RpZENoYW5nZShPcHRpb25T
ZXQ8UmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnPikgZmluYWw7CiAgICAgdm9pZCBj
b21taXRDb25maWd1cmF0aW9uKCkgZmluYWw7CiAKICAgICBib29sIGNyZWF0ZURpc3BsYXlTdHJl
YW0oKTsKQEAgLTk1LDggKzk0LDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIExvY2sgbV9jdXJy
ZW50RnJhbWVNdXRleDsKICAgICBEaXNwbGF5U3VyZmFjZSBtX2N1cnJlbnRGcmFtZTsKICAgICBS
ZXRhaW5QdHI8Q0dEaXNwbGF5U3RyZWFtUmVmPiBtX2Rpc3BsYXlTdHJlYW07Ci0gICAgQ0dEaXNw
bGF5U3RyZWFtRnJhbWVBdmFpbGFibGVIYW5kbGVyIG1fZnJhbWVBdmFpbGFibGVCbG9jazsKLQog
ICAgIE9TT2JqZWN0UHRyPGRpc3BhdGNoX3F1ZXVlX3Q+IG1fY2FwdHVyZVF1ZXVlOwogCiAgICAg
dWludDMyX3QgbV9kaXNwbGF5SUQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuRGlzcGxheUNh
cHR1cmVTb3VyY2VNYWMubW0KaW5kZXggNGNiNGQxM2NhNTAyZjQzZDIxMmJkODRhMWQ3ZTcwYjhh
ZWUyYTJiNy4uODNiMjAyMjI0OGU4OGU0ODY2MTg0Y2I2NjQwZjNkZjMwODQ5MmY2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkRpc3Bs
YXlDYXB0dXJlU291cmNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9TY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYy5tbQpAQCAtMTI0LDYgKzEy
NCw3IEBAIGJvb2wgU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWM6OmNyZWF0ZURpc3BsYXlT
dHJlYW0oKQogICAgIGlmIChtX2Rpc3BsYXlJRCAhPSBhY3R1YWxEaXNwbGF5SUQudmFsdWUoKSkg
ewogICAgICAgICBtX2Rpc3BsYXlJRCA9IGFjdHVhbERpc3BsYXlJRC52YWx1ZSgpOwogICAgICAg
ICBSRUxFQVNFX0xPRyhNZWRpYSwgIlNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjOjpjcmVh
dGVEaXNwbGF5U3RyZWFtOiBkaXNwbGF5IElEIGNoYW5nZWQgdG8gJWQiLCBzdGF0aWNfY2FzdDxp
bnQ+KG1fZGlzcGxheUlEKSk7CisgICAgICAgIG1fZGlzcGxheVN0cmVhbSA9IG51bGxwdHI7CiAg
ICAgfQogCiAgICAgaWYgKCFtX2Rpc3BsYXlTdHJlYW0pIHsKQEAgLTE0MCwzNCArMTQxLDIyIEBA
IGJvb2wgU2NyZWVuRGlzcGxheUNhcHR1cmVTb3VyY2VNYWM6OmNyZWF0ZURpc3BsYXlTdHJlYW0o
KQogICAgICAgICBpZiAoIW1fY2FwdHVyZVF1ZXVlKQogICAgICAgICAgICAgbV9jYXB0dXJlUXVl
dWUgPSBhZG9wdE9TT2JqZWN0KGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgiU2NyZWVuRGlzcGxheUNh
cHR1cmVTb3VyY2VNYWMgQ2FwdHVyZSBRdWV1ZSIsIERJU1BBVENIX1FVRVVFX1NFUklBTCkpOwog
Ci0gICAgICAgIGRvdWJsZSBmcmFtZVRpbWUgPSAxIC8gZnJhbWVSYXRlKCk7Ci0gICAgICAgIGF1
dG8gZnJhbWVUaW1lQ0YgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKG51bGxwdHIsICBrQ0ZOdW1i
ZXJEb3VibGVUeXBlLCAgJmZyYW1lVGltZSkpOwotICAgICAgICBpbnQgZGVwdGggPSBzY3JlZW5R
dWV1ZU1heGltdW1MZW5ndGg7Ci0gICAgICAgIGF1dG8gZGVwdGhDRiA9IGFkb3B0Q0YoQ0ZOdW1i
ZXJDcmVhdGUobnVsbHB0ciwgIGtDRk51bWJlckludFR5cGUsICAmZGVwdGgpKTsKLSAgICAgICAg
Q0ZUeXBlUmVmIGtleXNbXSA9IHsKLSAgICAgICAgICAgIGtDR0Rpc3BsYXlTdHJlYW1NaW5pbXVt
RnJhbWVUaW1lLAotICAgICAgICAgICAga0NHRGlzcGxheVN0cmVhbVF1ZXVlRGVwdGgsCi0gICAg
ICAgICAgICBrQ0dEaXNwbGF5U3RyZWFtQ29sb3JTcGFjZSwKLSAgICAgICAgICAgIGtDR0Rpc3Bs
YXlTdHJlYW1TaG93Q3Vyc29yLAotICAgICAgICB9OwotICAgICAgICBDRlR5cGVSZWYgdmFsdWVz
W10gPSB7Ci0gICAgICAgICAgICBmcmFtZVRpbWVDRi5nZXQoKSwKLSAgICAgICAgICAgIGRlcHRo
Q0YuZ2V0KCksCi0gICAgICAgICAgICBzUkdCQ29sb3JTcGFjZVJlZigpLAotICAgICAgICAgICAg
a0NGQm9vbGVhblRydWUsCisgICAgICAgIENGRGljdGlvbmFyeVJlZiBzdHJlYW1PcHRpb25zID0g
KF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZikgQHsKKyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0
cmluZyAqKWtDR0Rpc3BsYXlTdHJlYW1NaW5pbXVtRnJhbWVUaW1lIDpAKDEgLyBmcmFtZVJhdGUo
KSksCisgICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ0dEaXNwbGF5U3RyZWFtUXVl
dWVEZXB0aDpAKHNjcmVlblF1ZXVlTWF4aW11bUxlbmd0aCksCisgICAgICAgICAgICAoX19icmlk
Z2UgTlNTdHJpbmcgKilrQ0dEaXNwbGF5U3RyZWFtQ29sb3JTcGFjZTooX19icmlkZ2UgaWQpc1JH
QkNvbG9yU3BhY2VSZWYoKSwKKyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDR0Rp
c3BsYXlTdHJlYW1TaG93Q3Vyc29yIDogQChZRVMpLAogICAgICAgICB9OwotICAgICAgICBhdXRv
IHN0cmVhbU9wdGlvbnMgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZShrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCBrZXlzLCB2YWx1ZXMsIFdURl9BUlJBWV9MRU5HVEgoa2V5cyksICZrQ0ZUeXBlRGlj
dGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsK
IAogICAgICAgICBhdXRvIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpOwotICAgICAgICBt
X2ZyYW1lQXZhaWxhYmxlQmxvY2sgPSBCbG9ja19jb3B5KF4oQ0dEaXNwbGF5U3RyZWFtRnJhbWVT
dGF0dXMgc3RhdHVzLCB1aW50NjRfdCBkaXNwbGF5VGltZSwgSU9TdXJmYWNlUmVmIGZyYW1lU3Vy
ZmFjZSwgQ0dEaXNwbGF5U3RyZWFtVXBkYXRlUmVmIHVwZGF0ZVJlZikgeworICAgICAgICBhdXRv
IGZyYW1lQXZhaWxhYmxlQmxvY2sgPSBeKENHRGlzcGxheVN0cmVhbUZyYW1lU3RhdHVzIHN0YXR1
cywgdWludDY0X3QgZGlzcGxheVRpbWUsIElPU3VyZmFjZVJlZiBmcmFtZVN1cmZhY2UsIENHRGlz
cGxheVN0cmVhbVVwZGF0ZVJlZiB1cGRhdGVSZWYpIHsKICAgICAgICAgICAgIGlmICghd2Vha1Ro
aXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAgICB3ZWFrVGhpcy0+ZnJh
bWVBdmFpbGFibGUoc3RhdHVzLCBkaXNwbGF5VGltZSwgZnJhbWVTdXJmYWNlLCB1cGRhdGVSZWYp
OwotICAgICAgICB9KTsKKyAgICAgICAgfTsKIAotICAgICAgICBhdXRvIHNpemUgPSBmcmFtZVNp
emUoKTsKLSAgICAgICAgbV9kaXNwbGF5U3RyZWFtID0gYWRvcHRDRihDR0Rpc3BsYXlTdHJlYW1D
cmVhdGVXaXRoRGlzcGF0Y2hRdWV1ZShtX2Rpc3BsYXlJRCwgc2l6ZS53aWR0aCgpLCBzaXplLmhl
aWdodCgpLCBwcmVmZXJlZFBpeGVsQnVmZmVyRm9ybWF0KCksIHN0cmVhbU9wdGlvbnMuZ2V0KCks
IG1fY2FwdHVyZVF1ZXVlLmdldCgpLCBtX2ZyYW1lQXZhaWxhYmxlQmxvY2spKTsKKyAgICAgICAg
bV9kaXNwbGF5U3RyZWFtID0gYWRvcHRDRihDR0Rpc3BsYXlTdHJlYW1DcmVhdGVXaXRoRGlzcGF0
Y2hRdWV1ZShtX2Rpc3BsYXlJRCwgc2NyZWVuV2lkdGgsIHNjcmVlbkhlaWdodCwgcHJlZmVyZWRQ
aXhlbEJ1ZmZlckZvcm1hdCgpLCBzdHJlYW1PcHRpb25zLCBtX2NhcHR1cmVRdWV1ZS5nZXQoKSwg
ZnJhbWVBdmFpbGFibGVCbG9jaykpOwogICAgICAgICBpZiAoIW1fZGlzcGxheVN0cmVhbSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWEsICJTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJj
ZU1hYzo6Y3JlYXRlRGlzcGxheVN0cmVhbTogQ0dEaXNwbGF5U3RyZWFtQ3JlYXRlIGZhaWxlZCIp
OwogICAgICAgICAgICAgY2FwdHVyZUZhaWxlZCgpOwpAQCAtMjQxLDE0ICsyMzAsNiBAQCB2b2lk
IFNjcmVlbkRpc3BsYXlDYXB0dXJlU291cmNlTWFjOjpzdGFydERpc3BsYXlTdHJlYW0oKQogICAg
IG1faXNSdW5uaW5nID0gdHJ1ZTsKIH0KIAotdm9pZCBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJj
ZU1hYzo6c2V0dGluZ3NEaWRDaGFuZ2UoT3B0aW9uU2V0PFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5nczo6RmxhZz4gc2V0dGluZ3MpCi17Ci0gICAgaWYgKHNldHRpbmdzLmNvbnRhaW5zQW55KHsg
UmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpXaWR0aCwgUmVhbHRpbWVNZWRpYVNv
dXJjZVNldHRpbmdzOjpGbGFnOjpIZWlnaHQsIFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5nczo6
RmxhZzo6RnJhbWVSYXRlIH0pKQotICAgICAgICBtX2Rpc3BsYXlTdHJlYW0gPSBudWxscHRyOwot
Ci0gICAgcmV0dXJuIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OnNldHRpbmdzRGlkQ2hhbmdl
KHNldHRpbmdzKTsKLX0KLQogdm9pZCBTY3JlZW5EaXNwbGF5Q2FwdHVyZVNvdXJjZU1hYzo6Y29t
bWl0Q29uZmlndXJhdGlvbigpCiB7CiAgICAgaWYgKG1faXNSdW5uaW5nICYmICFtX2Rpc3BsYXlT
dHJlYW0pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>