<?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>147007</bug_id>
          
          <creation_ts>2015-07-16 11:03:38 -0700</creation_ts>
          <short_desc>Make MediaDevicesPrivate platform agnostic</short_desc>
          <delta_ts>2015-12-08 10:28:21 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>147048</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Daiter">mdaiter</reporter>
          <assigned_to name="Matthew Daiter">mdaiter</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>mdaiter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109915</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-16 11:03:38 -0700</bug_when>
    <thetext>The MediaDevicsPrivate implementation isn&apos;t platform-ambiguous, and so necessary additions to the RealtimeMediaSource protocol and specific implementations needed to be made to abstract away the system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109920</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-16 11:14:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/21858198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109940</commentid>
    <comment_count>2</comment_count>
      <attachid>256918</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-16 13:24:44 -0700</bug_when>
    <thetext>Created attachment 256918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109947</commentid>
    <comment_count>3</comment_count>
      <attachid>256918</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-07-16 13:45:03 -0700</bug_when>
    <thetext>Comment on attachment 256918
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Make MediaDevicesPrivate non-platform-specific

Make MediaDevicesPrivate platform agnostic

&gt; Source/WebCore/ChangeLog:11
&gt; +        ambiguous, calls into RealtimeMediaSourceCenter now.

ambiguous -&gt; agnostic

&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:51
&gt; +    Vector&lt;RefPtr&lt;TrackSourceInfo&gt;&gt; getMediaStreamTracks() override;

You will need to implement this for RealtimeMediaSourceCenterOwr as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110011</commentid>
    <comment_count>4</comment_count>
      <attachid>256918</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-16 15:42:12 -0700</bug_when>
    <thetext>Comment on attachment 256918
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Make MediaDevicesPrivate non-platform-specific
&gt; 
&gt; Make MediaDevicesPrivate platform agnostic

Fixed.

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        ambiguous, calls into RealtimeMediaSourceCenter now.
&gt; 
&gt; ambiguous -&gt; agnostic

Fixed.

&gt;&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:51
&gt;&gt; +    Vector&lt;RefPtr&lt;TrackSourceInfo&gt;&gt; getMediaStreamTracks() override;
&gt; 
&gt; You will need to implement this for RealtimeMediaSourceCenterOwr as well.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110012</commentid>
    <comment_count>5</comment_count>
      <attachid>256935</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-16 15:42:38 -0700</bug_when>
    <thetext>Created attachment 256935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110510</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-19 12:20:10 -0700</bug_when>
    <thetext>You need to fix the compile failures before you can land this. You seem to be missing part of your local changes, since it builds locally:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/PrivateFrameworks -include /Volumes/Data/EWS/WebKit/WebKitBuild/PrecompiledHeaders/WebCorePrefix-gdaocvhjucsrnxcedbeeoiwppumb/WebCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/MediaDevicesPrivate.d --serialize-diagnostics /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/MediaDevicesPrivate.dia -c /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaDevicesPrivate.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/MediaDevicesPrivate.o
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaDevicesPrivate.cpp:28:
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaDevicesPrivate.h:32:
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h:31:
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h:31:
/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/PassRefPtr.h:42:16: error: member access into incomplete type &apos;WebCore::MediaStreamTrackSourcesCallback&apos;
            ptr-&gt;deref();
               ^
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaDevicesPrivate.cpp:28:
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaDevicesPrivate.h:32:
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h:31:
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaStreamTrackSourcesRequestClient.h:34:
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/text/AtomicString.h:25:
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/text/AtomicStringImpl.h:24:
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/text/UniquedStringImpl.h:29:
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/text/StringImpl.h:34:
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/Vector.h:35:
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/VectorTraits.h:25:
/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/wtf/RefPtr.h:59:31: note: in instantiation of function template specialization &apos;WTF::derefIfNotNull&lt;WebCore::MediaStreamTrackSourcesCallback&gt;&apos; requested here
    ALWAYS_INLINE ~RefPtr() { derefIfNotNull(std::exchange(m_ptr, nullptr)); }
                              ^
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/platform/mediastream/MediaDevicesPrivate.cpp:33:
/Volumes/Data/EWS/WebKit/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesRequest.h:45:13: note: in instantiation of member function &apos;WTF::RefPtr&lt;WebCore::MediaStreamTrackSourcesCallback&gt;::~RefPtr&apos; requested here
    virtual ~MediaStreamTrackSourcesRequest() { }
            ^
/Volumes/Data/EWS/WebKit/Source/WebCore/Modules/mediastream/MediaStreamTrackSourcesRequest.h:39:7: note: forward declaration of &apos;WebCore::MediaStreamTrackSourcesCallback&apos;
class MediaStreamTrackSourcesCallback;
      ^
1 error generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147350</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-12-08 10:28:21 -0800</bug_when>
    <thetext>This is no longer relevant.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256918</attachid>
            <date>2015-07-16 13:24:44 -0700</date>
            <delta_ts>2015-07-16 15:42:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147007-20150716132338.patch</filename>
            <type>text/plain</type>
            <size>7550</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2ODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIyOTYzYjNkYzBmNWRm
MDVmNTBlNTZiYjNjYTA0ZGZjMmNmNDViZC4uYmUyNGUwMGQxOTNjNzZjNDg0ZmIyM2Y1ZThiOTZk
OTE0Y2E0YmM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA3LTE2ICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTWVkaWFEZXZp
Y2VzUHJpdmF0ZSBub24tcGxhdGZvcm0tc3BlY2lmaWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzAwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MjE4NTgxOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNQcml2YXRlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRGV2aWNlc1ByaXZhdGU6OmF2YWlsYWJsZU1lZGlhRGV2aWNlcyk6
IE1hZGUgbW9yZQorICAgICAgICBhbWJpZ3VvdXMsIGNhbGxzIGludG8gUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlciBub3cuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oOiBOZWVkZWQgdG8KKyAgICAgICAgY3JlYXRlIG1ldGhvZHMgdG8g
cmV0dXJuIGxpc3RzIG9mIFRyYWNrU291cmNlSW5mbyBvYmplY3RzCisgICAgICAgIHN5bmNocm9u
b3VzbHkKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIFBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVudGF0
aW9uCisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpnZXRN
ZWRpYVN0cmVhbVRyYWNrcyk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1UcmFja3MpOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmg6CisKIDIwMTUtMDctMTYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYktpdCBkb2N1bWVudC5jb29raWUgbWlzLXBhcnNpbmcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNQcml2YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc1By
aXZhdGUuY3BwCmluZGV4IDI1MDYyNTQ0OWQwYjdmYjM4MTEzNDIzMTY3OGU2YzY0ZTBlMGViMGUu
LmI2OGE4ZDBkODNmMGQ1MTczNWIyZTBjZmZmMzZmMzU1NGE0ZjU1YzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc1ByaXZhdGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc1By
aXZhdGUuY3BwCkBAIC0yOSw5ICsyOSw5IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
Ci0jaW5jbHVkZSAiQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIgogI2luY2x1ZGUgIkFWTWVkaWFD
YXB0dXJlU291cmNlLmgiCi0jaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0
Q2xpZW50LmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmgiCisj
aW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTQxLDcgKzQxLDcgQEAgTWVkaWFEZXZpY2VzUHJpdmF0ZTo6TWVkaWFEZXZpY2Vz
UHJpdmF0ZSgpCiAKIFZlY3RvcjxSZWZQdHI8TWVkaWFEZXZpY2VJbmZvPj4gTWVkaWFEZXZpY2Vz
UHJpdmF0ZTo6YXZhaWxhYmxlTWVkaWFEZXZpY2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpCiB7Ci0gICAgVmVjdG9yPFJlZlB0cjxUcmFja1NvdXJjZUluZm8+PiBjYXB0dXJlZERl
dmljZXMgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5nZXRTb3VyY2VzSW5m
bygiIik7CisgICAgVmVjdG9yPFJlZlB0cjxUcmFja1NvdXJjZUluZm8+PiBjYXB0dXJlZERldmlj
ZXMgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5nZXRNZWRpYVN0cmVh
bVRyYWNrcygpOwogICAgIFZlY3RvcjxSZWZQdHI8TWVkaWFEZXZpY2VJbmZvPj4gbWVkaWFEZXZp
Y2VzSW5mbzsKICAgICBmb3IgKGF1dG8gZGV2aWNlIDogY2FwdHVyZWREZXZpY2VzKSB7CiAgICAg
ICAgIFRyYWNrU291cmNlSW5mbyogdHJhY2tJbmZvID0gZGV2aWNlLmdldCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IGY3NzdhMzI1Njk5OWQzZTJjYjliYzcwYzkyOGRmZmM3
MmU4MTg4NzMuLmZiMzJjNzIzYmY3YzVmMzMzMzIyZDcxM2NhNjRlMzY0MTg3N2FjNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgTWVkaWFD
b25zdHJhaW50czsKIGNsYXNzIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ7CiBjbGFzcyBSZWFs
dGltZU1lZGlhU291cmNlU3RhdGVzOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1
ZXN0Q2xpZW50OworY2xhc3MgVHJhY2tTb3VyY2VJbmZvOwogCiBjbGFzcyBSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyIHsKIHB1YmxpYzoKQEAgLTU3LDYgKzU4LDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRp
b25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMs
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgPSAwOwogCiAg
ICAgdmlydHVhbCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVk
aWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50PikgPSAwOworICAgIAorICAgIHZpcnR1
YWwgVmVjdG9yPFJlZlB0cjxUcmFja1NvdXJjZUluZm8+PiBnZXRNZWRpYVN0cmVhbVRyYWNrcygp
ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcAppbmRleCA0NTA0MjRk
ZjdkNDg3NmNiM2ZkYTkzYWY4ZjZiYzhiYTM4NjRjMDRmLi43ZGNiMzdkZDM4NjkyMzI3YWY1OWI3
ZTNiYWNmZDM1YmFkMDIwOTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuY3BwCkBAIC0xMzIsNiArMTMyLDExIEBAIGJvb2wgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYzo6Z2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0
CiAgICAgcmVxdWVzdENsaWVudC0+ZGlkQ29tcGxldGVSZXF1ZXN0KHNvdXJjZXMpOwogICAgIHJl
dHVybiB0cnVlOwogfQorICAgIAorVmVjdG9yPFJlZlB0cjxUcmFja1NvdXJjZUluZm8+PiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpnZXRNZWRpYVN0cmVhbVRyYWNrcygpCit7CisgICAg
cmV0dXJuIEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmdldFNvdXJjZXNJbmZv
KCIiKTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuaAppbmRleCA4NmMzM2RiZDg0YWEzOTFiNzQzMDNiYmJmMzM3
MGVmYTBjOTYzNGRhLi45NDM2ZDE0NGExYjY2OGQxYWQyNDA4YTRmNzIyMzJkMGVlMzQxZTI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKQEAgLTQ4LDYgKzQ4
LDcgQEAgcHVibGljOgogICAgIHZvaWQgdmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVv
Q29uc3RyYWludHMpIG92ZXJyaWRlOwogICAgIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVv
Q29uc3RyYWludHMpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBnZXRNZWRpYVN0cmVhbVRy
YWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVu
dD4pIG92ZXJyaWRlOworICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gZ2V0TWVk
aWFTdHJlYW1UcmFja3MoKSBvdmVycmlkZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggODNlODcyM2RjNzcyYjBkOGI0NGQyYTlj
NDVlZTg0YTlkNTQ5NzZiOS4uZGJhZTA4ZmRiNTRlN2FmZTUyYjZlMDg2ZDQxZWYxNWNmODM2ZDAz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKQEAgLTIxMSw2ICsyMTEsMjAgQEAgYm9v
bCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1UcmFja1NvdXJj
ZXMoUGFzc1JlZlB0cjxNZWRpYVMKICAgICByZXF1ZXN0Q2xpZW50LT5kaWRDb21wbGV0ZVJlcXVl
c3Qoc291cmNlcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CisgICAgCitWZWN0b3I8UmVmUHRyPFRy
YWNrU291cmNlSW5mbz4+IE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpnZXRNZWRpYVN0
cmVhbVRyYWNrcygpCit7CisgICAgVmVjdG9yPFJlZlB0cjxUcmFja1NvdXJjZUluZm8+PiBzb3Vy
Y2VzOworICAgIAorICAgIE1vY2tTb3VyY2VNYXAmIG1hcCA9IG1vY2tTb3VyY2VNYXAoKTsKKyAg
ICBNb2NrU291cmNlTWFwOjppdGVyYXRvciBlbmQgPSBtYXAuZW5kKCk7CisgICAgZm9yIChNb2Nr
U291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
KyAgICAgICAgTW9ja1NvdXJjZSogc291cmNlID0gaXQtPnZhbHVlLmdldCgpOworICAgICAgICAK
KyAgICAgICAgc291cmNlcy5hcHBlbmQoVHJhY2tTb3VyY2VJbmZvOjpjcmVhdGUoc291cmNlLT5p
ZCgpLCBzb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpWaWRlbyA/IFRyYWNr
U291cmNlSW5mbzo6VmlkZW8gOiBUcmFja1NvdXJjZUluZm86OkF1ZGlvLCBzb3VyY2UtPm5hbWUo
KSkpOworICAgIH0KKyAgICByZXR1cm4gc291cmNlczsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggOWJhMjE0MDZiNTQzMzU4NDkwMTRm
ZjA2MWYwOWI1MGQzMGI0Yzk4Yy4uODdiNGNlY2NhNzM5YWQxZmM2Y2YwOGExM2JmMzkxMjI2ZGE4
YTk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApAQCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
YXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0
cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0
cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZp
ZGVvQ29uc3RyYWludHMpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBnZXRNZWRpYVN0cmVh
bVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENs
aWVudD4pIG92ZXJyaWRlOworICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gZ2V0
TWVkaWFTdHJlYW1UcmFja3MoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBNb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcigpIHsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256935</attachid>
            <date>2015-07-16 15:42:38 -0700</date>
            <delta_ts>2015-07-19 06:39:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147007-20150716154132.patch</filename>
            <type>text/plain</type>
            <size>9455</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2ODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIyOTYzYjNkYzBmNWRm
MDVmNTBlNTZiYjNjYTA0ZGZjMmNmNDViZC4uNDZjMWFiNTljZGRjZTM3YTYxMjlhMzhjMWUzMjM5
YzhjNmQzNzcwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA3LTE2ICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTWVkaWFEZXZp
Y2VzUHJpdmF0ZSBwbGF0Zm9ybSBhZ25vc3RpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MDA3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTg1
ODE5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlc1ByaXZhdGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFEZXZpY2VzUHJpdmF0ZTo6YXZhaWxhYmxlTWVkaWFEZXZpY2VzKTogTWFk
ZSBtb3JlCisgICAgICAgIGFnbm9zdGljLCBjYWxscyBpbnRvIFJlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIgbm93LgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaDogTmVlZGVkIHRvCisgICAgICAgIGNyZWF0ZSBtZXRob2RzIHRvIHJldHVy
biBsaXN0cyBvZiBUcmFja1NvdXJjZUluZm8gb2JqZWN0cworICAgICAgICBzeW5jaHJvbm91c2x5
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuY3BwOgorICAgICAgICBQbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6Z2V0TWVkaWFT
dHJlYW1UcmFja3MpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2sv
TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldE1lZGlhU3RyZWFtVHJhY2tzKTogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5o
OgorCiAyMDE1LTA3LTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWJLaXQgZG9jdW1lbnQuY29va2llIG1pcy1wYXJzaW5nLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzUHJpdmF0ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNQcml2YXRl
LmNwcAppbmRleCAyNTA2MjU0NDlkMGI3ZmIzODExMzQyMzE2NzhlNmM2NGUwZTBlYjBlLi5iNjhh
OGQwZDgzZjBkNTE3MzViMmUwY2ZmZjM2ZjM1NTRhNGY1NWMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNQcml2YXRlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYURldmljZXNQcml2YXRl
LmNwcApAQCAtMjksOSArMjksOSBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAotI2lu
Y2x1ZGUgIkFWQ2FwdHVyZURldmljZU1hbmFnZXIuaCIKICNpbmNsdWRlICJBVk1lZGlhQ2FwdHVy
ZVNvdXJjZS5oIgotI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVu
dC5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5oIgorI2luY2x1
ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00MSw3ICs0MSw3IEBAIE1lZGlhRGV2aWNlc1ByaXZhdGU6Ok1lZGlhRGV2aWNlc1ByaXZh
dGUoKQogCiBWZWN0b3I8UmVmUHRyPE1lZGlhRGV2aWNlSW5mbz4+IE1lZGlhRGV2aWNlc1ByaXZh
dGU6OmF2YWlsYWJsZU1lZGlhRGV2aWNlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
KQogewotICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gY2FwdHVyZWREZXZpY2Vz
ID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuZ2V0U291cmNlc0luZm8oIiIp
OworICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gY2FwdHVyZWREZXZpY2VzID0g
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuZ2V0TWVkaWFTdHJlYW1UcmFj
a3MoKTsKICAgICBWZWN0b3I8UmVmUHRyPE1lZGlhRGV2aWNlSW5mbz4+IG1lZGlhRGV2aWNlc0lu
Zm87CiAgICAgZm9yIChhdXRvIGRldmljZSA6IGNhcHR1cmVkRGV2aWNlcykgewogICAgICAgICBU
cmFja1NvdXJjZUluZm8qIHRyYWNrSW5mbyA9IGRldmljZS5nZXQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaAppbmRleCBmNzc3YTMyNTY5OTlkM2UyY2I5YmM3MGM5MjhkZmZjNzJlODE4
ODczLi5mYjMyYzcyM2JmN2M1ZjMzMzMyMmQ3MTNjYTY0ZTM2NDE4NzdhYzc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIE1lZGlhQ29uc3Ry
YWludHM7CiBjbGFzcyBNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50OwogY2xhc3MgUmVhbHRpbWVN
ZWRpYVNvdXJjZVN0YXRlczsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENs
aWVudDsKK2NsYXNzIFRyYWNrU291cmNlSW5mbzsKIAogY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlciB7CiBwdWJsaWM6CkBAIC01Nyw2ICs1OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xp
ZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMpID0gMDsKIAogICAgIHZp
cnR1YWwgYm9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudD4pID0gMDsKKyAgICAKKyAgICB2aXJ0dWFsIFZl
Y3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gZ2V0TWVkaWFTdHJlYW1UcmFja3MoKSA9IDA7
CiAKIHByb3RlY3RlZDoKICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKaW5kZXggNDUwNDI0ZGY3ZDQ4
NzZjYjNmZGE5M2FmOGY2YmM4YmEzODY0YzA0Zi4uN2RjYjM3ZGQzODY5MjMyN2FmNTliN2UzYmFj
ZmQzNWJhZDAyMDk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
TWFjLmNwcApAQCAtMTMyLDYgKzEzMiwxMSBAQCBib29sIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJNYWM6OmdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdAogICAg
IHJlcXVlc3RDbGllbnQtPmRpZENvbXBsZXRlUmVxdWVzdChzb3VyY2VzKTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KKyAgICAKK1ZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYzo6Z2V0TWVkaWFTdHJlYW1UcmFja3MoKQoreworICAgIHJldHVy
biBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5nZXRTb3VyY2VzSW5mbygiIik7
Cit9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjLmgKaW5kZXggODZjMzNkYmQ4NGFhMzkxYjc0MzAzYmJiZjMzNzBlZmEw
Yzk2MzRkYS4uOTQzNmQxNDRhMWI2NjhkMWFkMjQwOGE0ZjcyMjMyZDBlZTM0MWUyNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCkBAIC00OCw2ICs0OCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
YXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0
cmFpbnRzKSBvdmVycmlkZTsKICAgICB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
YXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0
cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSBv
dmVycmlkZTsKKyAgICBWZWN0b3I8UmVmUHRyPFRyYWNrU291cmNlSW5mbz4+IGdldE1lZGlhU3Ry
ZWFtVHJhY2tzKCkgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcApp
bmRleCBhM2I1ODRmZTBkNjQzYWI2MmI3MzQ2MjJjMjdmMTU4NDE1NTgyMDU0Li4zZmVmNzYwZTY5
MGI3MTNhYmVlZTM5MjIyNTcyYzY5ZjgwZWM0YjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJPd3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53
ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKQEAgLTEzOCw2ICsxMzgsMTIg
QEAgYm9vbCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjpnZXRNZWRpYVN0cmVhbVRyYWNr
U291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK1ZlY3Rv
cjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
Z2V0TWVkaWFTdHJlYW1UcmFja3MoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4oKTsKK30KKwogdm9pZCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyOjptZWRpYVNvdXJjZXNBdmFpbGFibGUoR0xpc3QqIHNvdXJj
ZXMpCiB7CiAgICAgZm9yIChhdXRvIGl0ZW0gPSBzb3VyY2VzOyBpdGVtOyBpdGVtID0gaXRlbS0+
bmV4dCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
b3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJPd3IuaAppbmRleCA1MzVkYTE2MjRiNjhjODFkNzcxYTNmNzgwMGJkYmU0MDI5ZTY4MDVlLi5i
YTAxODg1ZGU1N2IyNTU3ZGQyNzExMzg4MWU4NGYxMmJhMmI2MDVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJPd3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaApAQCAtNTUsNyArNTUs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9D
b25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9D
b25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgYm9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNl
cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudD4pIG92ZXJy
aWRlOwotCisgICAgVmVjdG9yPFJlZlB0cjxUcmFja1NvdXJjZUluZm8+PiBnZXRNZWRpYVN0cmVh
bVRyYWNrcygpIG92ZXJyaWRlOwogICAgIHZvaWQgbWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0
KiBzb3VyY2VzKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXgg
ODNlODcyM2RjNzcyYjBkOGI0NGQyYTljNDVlZTg0YTlkNTQ5NzZiOS4uZGJhZTA4ZmRiNTRlN2Fm
ZTUyYjZlMDg2ZDQxZWYxNWNmODM2ZDAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAK
QEAgLTIxMSw2ICsyMTEsMjAgQEAgYm9vbCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
Z2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVMKICAgICByZXF1ZXN0
Q2xpZW50LT5kaWRDb21wbGV0ZVJlcXVlc3Qoc291cmNlcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9
CisgICAgCitWZWN0b3I8UmVmUHRyPFRyYWNrU291cmNlSW5mbz4+IE1vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpnZXRNZWRpYVN0cmVhbVRyYWNrcygpCit7CisgICAgVmVjdG9yPFJlZlB0
cjxUcmFja1NvdXJjZUluZm8+PiBzb3VyY2VzOworICAgIAorICAgIE1vY2tTb3VyY2VNYXAmIG1h
cCA9IG1vY2tTb3VyY2VNYXAoKTsKKyAgICBNb2NrU291cmNlTWFwOjppdGVyYXRvciBlbmQgPSBt
YXAuZW5kKCk7CisgICAgZm9yIChNb2NrU291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1hcC5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgTW9ja1NvdXJjZSogc291cmNlID0gaXQt
PnZhbHVlLmdldCgpOworICAgICAgICAKKyAgICAgICAgc291cmNlcy5hcHBlbmQoVHJhY2tTb3Vy
Y2VJbmZvOjpjcmVhdGUoc291cmNlLT5pZCgpLCBzb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1l
ZGlhU291cmNlOjpWaWRlbyA/IFRyYWNrU291cmNlSW5mbzo6VmlkZW8gOiBUcmFja1NvdXJjZUlu
Zm86OkF1ZGlvLCBzb3VyY2UtPm5hbWUoKSkpOworICAgIH0KKyAgICByZXR1cm4gc291cmNlczsK
K30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5k
ZXggOWJhMjE0MDZiNTQzMzU4NDkwMTRmZjA2MWYwOWI1MGQzMGI0Yzk4Yy4uODdiNGNlY2NhNzM5
YWQxZmM2Y2YwOGExM2JmMzkxMjI2ZGE4YTk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApA
QCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHZhbGlkYXRlUmVxdWVz
dENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NS
ZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgY3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50
PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVm
UHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMpIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgYm9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudD4pIG92ZXJyaWRlOworICAgIFZlY3RvcjxSZWZQ
dHI8VHJhY2tTb3VyY2VJbmZvPj4gZ2V0TWVkaWFTdHJlYW1UcmFja3MoKSBvdmVycmlkZTsKIAog
cHJpdmF0ZToKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpIHsgfQo=
</data>
<flag name="review"
          id="282045"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>