<?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>116490</bug_id>
          
          <creation_ts>2013-05-20 18:59:42 -0700</creation_ts>
          <short_desc>Don&apos;t snapshot plugins that can&apos;t be snapshotted</short_desc>
          <delta_ts>2013-05-22 17:03:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>528+ (Nightly build)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>891501</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-05-20 18:59:42 -0700</bug_when>
    <thetext>The QuickTime plugin can&apos;t be snapshotted until we can capture the accelerated compositing. If we see a QT plugin in snapshot mode, restart it.

&lt;rdar://problem/13918391&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891507</commentid>
    <comment_count>1</comment_count>
      <attachid>202370</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-05-20 19:15:06 -0700</bug_when>
    <thetext>Created attachment 202370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891530</commentid>
    <comment_count>2</comment_count>
      <attachid>202372</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-05-20 19:46:06 -0700</bug_when>
    <thetext>Created attachment 202372
Patch (build test)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892583</commentid>
    <comment_count>3</comment_count>
      <attachid>202629</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-05-22 16:07:19 -0700</bug_when>
    <thetext>Created attachment 202629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892584</commentid>
    <comment_count>4</comment_count>
      <attachid>202629</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-05-22 16:12:04 -0700</bug_when>
    <thetext>Comment on attachment 202629
Patch

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

&gt; Source/WebKit2/WebProcess/Plugins/PluginProxy.cpp:236
&gt; +    if (m_waitingOnAsynchronousInitialization)
&gt; +        return false;

Hmmmmmm.

&gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:579
&gt; +        if (m_plugin-&gt;pluginLayer()) {
&gt; +            if (frame()) {

All-in-one-if

&gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:1641
&gt; +    if (!m_plugin-&gt;supportsSnapshotting() &amp;&amp; m_pluginElement-&gt;isPlugInImageElement()) {

I think the first one is significantly more expensive to compute (needs IPC), should you swap these? (answer: it doesn&apos;t matter because this is not hot code at all).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892594</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-05-22 17:03:19 -0700</bug_when>
    <thetext>Committed r150556: &lt;http://trac.webkit.org/changeset/150556&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202370</attachid>
            <date>2013-05-20 19:15:06 -0700</date>
            <delta_ts>2013-05-20 19:46:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116490-20130521121355.patch</filename>
            <type>text/plain</type>
            <size>15692</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg2MTAzYTFhMDMwMjhi
NTc5YTg1NmQxMzg4MDRhN2I3NTMyY2Y5Yi4uM2Y2ZmZkODExMzgyYjMwZmQyNDk0OGM4OWQyZjQ2
ZTAzYzllY2YwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTA1LTIwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBzbmFwc2hvdCBRdWlj
a1RpbWUgcGx1Z2lucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2NDkwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzkxODM5MT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBdCB0aGUgbW9tZW50IHdl
IGNhbid0IHNuYXBzaG90IHBsdWdpbnMgdGhhdCBkb24ndCBhbGxvdyBDRyBkcmF3aW5nLAorICAg
ICAgICBzdWNoIGFzIFF1aWNrVGltZS4gRm9yIG5vdywgaWYgd2Ugc2VlIGEgc25hcHNob3R0ZWQg
UXVpY2tUaW1lLCByZXN0YXJ0CisgICAgICAgIGl0LgorCisgICAgICAgICogaHRtbC9IVE1MUGx1
Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5JbWFnZUVs
ZW1lbnQ6OnN1YmZyYW1lTG9hZGVyV2lsbENyZWF0ZVBsdWdJbik6IERyaXZlLWJ5IGZpeCB0byBh
IHJlc3RhcnQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
OjpzdWJmcmFtZUxvYWRlckRpZENyZWF0ZVBsdWdJbik6IFdlIG5lZWRlZCB0byBhY3R1YWxseQor
ICAgICAgICAgICAgcmVzdGFydCBpbiB0aGlzIGNhc2UsIG5vdCBqdXN0IHNldCB0byBwbGF5LiBC
eSBub3cgdGhlIHBsdWdpbiB3YXMgY3JlYXRlZCBpbiBhIG11dGVkCisgICAgICAgICAgICBhbmQg
bm9uLWFjY2VsZXJhdGVkIHN0YXRlLgorCiAyMDEzLTA1LTE1ICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGEgdGhpbmtvLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDU3MGU0NTkyOTk2YjE5MDc1ZWM5Y2RiYjY2ZGQxMzg1MzcxMzQ0NzQuLmQ4MjYxZWJmYWZlYmEy
ZTQwZTg4YjIxY2JjOGY1MGQzYzdmYjZkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAor
MjAxMy0wNS0yMCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgRG9u
J3Qgc25hcHNob3QgUXVpY2tUaW1lIHBsdWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjQ5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTM5
MTgzOTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QXQgdGhlIG1vbWVudCB3ZSBjYW4ndCBzbmFwc2hvdCBwbHVnaW5zIHRoYXQgZG9uJ3QgYWxsb3cg
Q0cgZHJhd2luZywKKyAgICAgICAgc3VjaCBhcyBRdWlja1RpbWUuIEZvciBub3csIGlmIHdlIHNl
ZSBhIHNuYXBzaG90dGVkIFF1aWNrVGltZSwgcmVzdGFydAorICAgICAgICBpdC4KKworICAgICAg
ICBEbyB0aGlzIGJ5IHBhc3NpbmcgdGhlIGJ1bmRsZUlkIG9mIHRoZSBwbHVnaW4gYmFjayBpbnRv
IHRoZSBXZWJQcm9jZXNzLAorICAgICAgICB3aGVyZSBQbHVnaW5WaWV3IGNhbiBjaGVjayBmb3Ig
UXVpY2tUaW1lIGFuZCByZXR1cm4gdHJ1ZSBmcm9tCisgICAgICAgIHNob3VsZEFsd2F5c0F1dG9T
dGFydC4KKworICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oOgorICAg
ICAgICAoQ29yZUlQQzo6Y2FsbE1lbWJlckZ1bmN0aW9uKTogTmV3IGNhbGxlciBmb3IgQXJndW1l
bnRzNCAtPiBBcmd1bWVudHM0LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmZpbmRQbHVnaW4pOiBOZXcgcGFyYW1l
dGVyIC0gYnVuZGxlSWRlbnRpZmllci4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6IGZpbmRQbHVnaW4oKSB0YWtlcyBhbiBleHRyYSBwYXJhbWV0ZXIuCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjogVGhlIHJlcGx5IGZyb20gRmluZFBsdWdp
biBub3cgaW5jbHVkZXMgdGhlIGJ1bmRsZSBpZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luLmg6CisgICAgICAgIChQYXJhbWV0ZXJzKTogQWRkIGFub3RoZXIgcGFyYW1ldGVy
IGZvciB0aGUgYnVuZGxlIGlkLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6c2hvdWxkQWx3YXlzQXV0b1N0
YXJ0KTogSWYgb3VyIGJ1bmRsZSBpZCBzYXlzIHdlIGFyZSBRdWlja1RpbWUsIHRoZW4KKyAgICAg
ICAgICAgIHJldHVybiB0cnVlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRl
ckNsaWVudDo6Y3JlYXRlUGx1Z2luKTogVXNlIHRoZSBwYXJhbWV0ZXJzIHN0cnVjdHVyZSdzIGJ1
bmRsZUlkLgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6cmVjcmVhdGVQ
bHVnaW4pOiBQYXNzIGluIGFuIGVtcHR5IGJ1bmRsZUlkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y3JlYXRlUGx1
Z2luKTogRXh0cmEgaW5jb21pbmcgcGFyYW1ldGVyLCBhbmQgc2VudCBpbiB0aGUgbWVzc2FnZS4K
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FuUGx1Z2luSGFuZGxlUmVzcG9uc2UpOiBFeHRy
YSBwYXJhbWV0ZXIgc2VudCBpbiB0aGUgbWVzc2FnZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oOiBFeHRyYSBwYXJhbWV0ZXIgdG8gY3JlYXRlUGx1Z2luLgorCiAyMDEz
LTA1LTE2ICBab2x0YW4gQXJ2YWkgIDx6YXJ2YWlAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAg
IFtXaW5dIFVucmV2aWV3ZWQgYnVpbGRmaXggYWZ0ZXIgcjE1MDE2MS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IDE0NDVjMzVkNmMyYzlk
NjY0YzdlN2E5OWE2MjZjYmQ1MWYzYjUyY2IuLmQ2OTRmMWEwN2YyZTYwNDFhYThiYjY3ZGFiOGY5
NjU0NWUxNTNjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcApAQCAtNjcxLDcgKzY3MSw3IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVu
dDo6c3ViZnJhbWVMb2FkZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKIAogICAg
IGlmICghZG9jdW1lbnQoKS0+cGFnZSgpLT5wbHVnSW5DbGllbnQoKSkgewogICAgICAgICBMT0co
UGx1Z2lucywgIiVwIFRoZXJlIGlzIG5vIHBsdWctaW4gY2xpZW50LiBTZXQgdG8gd2FpdCBmb3Ig
c25hcHNob3QiLCB0aGlzKTsKLSAgICAgICAgbV9zbmFwc2hvdERlY2lzaW9uID0gTmV2ZXJTbmFw
c2hvdDsKKyAgICAgICAgbV9zbmFwc2hvdERlY2lzaW9uID0gU25hcHNob3R0ZWQ7CiAgICAgICAg
IHNldERpc3BsYXlTdGF0ZShXYWl0aW5nRm9yU25hcHNob3QpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtNjg1LDEwICs2ODUsOSBAQCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1
YmZyYW1lTG9hZGVyRGlkQ3JlYXRlUGx1Z0luKGNvbnN0IFdpZGdldCogd2lkZ2V0KQogewogICAg
IG1fcGx1Z0luV2FzQ3JlYXRlZCA9IHRydWU7CiAKLSAgICBpZiAod2lkZ2V0LT5pc1BsdWdpblZp
ZXdCYXNlKCkgJiYgdG9QbHVnaW5WaWV3QmFzZSh3aWRnZXQpLT5zaG91bGRBbHdheXNBdXRvU3Rh
cnQoKSkgewotICAgICAgICBMT0coUGx1Z2lucywgIiVwIFBsdWctaW4gc2hvdWxkIGF1dG8tc3Rh
cnQsIHNldCB0byBwbGF5IiwgdGhpcyk7Ci0gICAgICAgIG1fc25hcHNob3REZWNpc2lvbiA9IE5l
dmVyU25hcHNob3Q7Ci0gICAgICAgIHNldERpc3BsYXlTdGF0ZShQbGF5aW5nKTsKKyAgICBpZiAo
d2lkZ2V0LT5pc1BsdWdpblZpZXdCYXNlKCkgJiYgdG9QbHVnaW5WaWV3QmFzZSh3aWRnZXQpLT5z
aG91bGRBbHdheXNBdXRvU3RhcnQoKSAmJiBkaXNwbGF5U3RhdGUoKSA8IFJlc3RhcnRpbmcpIHsK
KyAgICAgICAgTE9HKFBsdWdpbnMsICIlcCBQbHVnLWluIGhhcyBzdGFydGVkIGluIHNuYXBzaG90
IG1vZGUsIGJ1dCBzaG91bGQgcmVzdGFydCIsIHRoaXMpOworICAgICAgICByZXN0YXJ0U25hcHNo
b3R0ZWRQbHVnSW4oKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9IYW5kbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaAppbmRleCAzZjY1ODcxMzZhMjI1
YTZjOWJmNjk5ZTYzNjZiZjMyMTAwMGZjYTMyLi40NWZhNjc4MTEyNDk0MmE5YjU5YjkyZmI4NWZj
NzcxZGIyMmEzNzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0hhbmRsZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hh
bmRsZU1lc3NhZ2UuaApAQCAtMTk3LDYgKzE5NywxMiBAQCB2b2lkIGNhbGxNZW1iZXJGdW5jdGlv
bihjb25zdCBBcmd1bWVudHM0PFAxLCBQMiwgUDMsIFA0PiYgYXJncywgQXJndW1lbnRzMzxSMSwg
UgogICAgIChvYmplY3QtPipmdW5jdGlvbikoYXJncy5hcmd1bWVudDEsIGFyZ3MuYXJndW1lbnQy
LCBhcmdzLmFyZ3VtZW50MywgYXJncy5hcmd1bWVudDQsIHJlcGx5QXJncy5hcmd1bWVudDEsIHJl
cGx5QXJncy5hcmd1bWVudDIsIHJlcGx5QXJncy5hcmd1bWVudDMpOwogfQogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBDLCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFt
ZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFIxLCB0eXBlbmFtZSBSMiwgdHlwZW5hbWUgUjMs
IHR5cGVuYW1lIFI0Pgordm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oY29uc3QgQXJndW1lbnRzNDxQ
MSwgUDIsIFAzLCBQND4mIGFyZ3MsIEFyZ3VtZW50czQ8UjEsIFIyLCBSMywgUjQ+JiByZXBseUFy
Z3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCit7CisgICAgKG9iamVjdC0+KmZ1bmN0aW9uKShh
cmdzLmFyZ3VtZW50MSwgYXJncy5hcmd1bWVudDIsIGFyZ3MuYXJndW1lbnQzLCBhcmdzLmFyZ3Vt
ZW50NCwgcmVwbHlBcmdzLmFyZ3VtZW50MSwgcmVwbHlBcmdzLmFyZ3VtZW50MiwgcmVwbHlBcmdz
LmFyZ3VtZW50MywgcmVwbHlBcmdzLmFyZ3VtZW50NCk7Cit9CisKIC8vIERpc3BhdGNoIGZ1bmN0
aW9ucyB3aXRoIGRlbGF5ZWQgcmVwbHkgYXJndW1lbnRzLgogdGVtcGxhdGU8dHlwZW5hbWUgQywg
dHlwZW5hbWUgTUYsIHR5cGVuYW1lIFI+CiB2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihjb25zdCBB
cmd1bWVudHMwJiwgUGFzc1JlZlB0cjxSPiBkZWxheWVkUmVwbHksIEMqIG9iamVjdCwgTUYgZnVu
Y3Rpb24pCkBAIC0zMTQsNyArMzIwLDcgQEAgdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oY29uc3Qg
QXJndW1lbnRzNTxQMSwgUDIsIFAzLCBQNCwgUDU+JiBhcmdzLCBNZXNzYWdlRGVjb2QKIHsKICAg
ICAob2JqZWN0LT4qZnVuY3Rpb24pKGFyZ3MuYXJndW1lbnQxLCBhcmdzLmFyZ3VtZW50MiwgYXJn
cy5hcmd1bWVudDMsIGFyZ3MuYXJndW1lbnQ0LCBhcmdzLmFyZ3VtZW50NSwgZGVjb2Rlcik7CiB9
Ci0gICAgCisKIHRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwg
dHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5cGVu
YW1lIFA2Pgogdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oY29uc3QgQXJndW1lbnRzNjxQMSwgUDIs
IFAzLCBQNCwgUDUsIFA2PiYgYXJncywgTWVzc2FnZURlY29kZXImIGRlY29kZXIsIEMqIG9iamVj
dCwgTUYgZnVuY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDQ1YzBjMGZlYjMzMDhjYTUxNWNiNmVlNGFmZWE4MjQ0NmY5ODQ0NjAuLjBmODQ2
ZGNmODFiZWQ4YjYwZGQyNWEwMjJlOGU4MGY4MjUzNDVjZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMzg3LDcgKzEzODcsNyBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6aGFuZGxlS2V5Ym9hcmRFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50
JiBldmVudCkKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotdm9pZCBXZWJQ
YWdlUHJveHk6OmZpbmRQbHVnaW4oY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5n
JiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZnJhbWVVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYg
cGFnZVVSTFN0cmluZywgU3RyaW5nJiBwbHVnaW5QYXRoLCBTdHJpbmcmIG5ld01pbWVUeXBlLCB1
aW50MzJfdCYgcGx1Z2luTG9hZFBvbGljeSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpmaW5kUGx1Z2lu
KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBT
dHJpbmcmIGZyYW1lVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIHBhZ2VVUkxTdHJpbmcsIFN0cmlu
ZyYgcGx1Z2luUGF0aCwgU3RyaW5nJiBuZXdNaW1lVHlwZSwgU3RyaW5nJiBidW5kbGVJZGVudGlm
aWVyLCB1aW50MzJfdCYgcGx1Z2luTG9hZFBvbGljeSkKIHsKICAgICBNRVNTQUdFX0NIRUNLX1VS
TCh1cmxTdHJpbmcpOwogCkBAIC0xNDEyLDYgKzE0MTIsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZmluZFBsdWdpbihjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVybFN0cmlu
ZywgYwogICAgICAgICByZXR1cm47CiAKICAgICBwbHVnaW5QYXRoID0gcGx1Z2luLnBhdGg7Cisj
aWYgUExBVEZPUk0oTUFDKQorICAgIGJ1bmRsZUlkZW50aWZpZXIgPSBwbHVnaW4uYnVuZGxlSWRl
bnRpZmllcjsKKyNlbmRpZgogfQogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMWVmMzE3ZjM4
YWQ1NzFlNTk5OWZmOTY5Zjc4MjU3YTc4ZmM0ZmI0OS4uZjAyYTdlYmNmNTI3ZDk0MWJjYmY5NGY2
YWRjNDY2NmQ2ZGE1NmQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMTA0NCw3ICsxMDQ0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlbmRXaGVlbEV2ZW50
KGNvbnN0IFdlYldoZWVsRXZlbnQmKTsKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQotICAgIHZvaWQgZmluZFBsdWdpbihjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJp
bmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiBmcmFtZVVSTFN0cmluZywgY29uc3QgU3RyaW5n
JiBwYWdlVVJMU3RyaW5nLCBTdHJpbmcmIHBsdWdpblBhdGgsIFN0cmluZyYgbmV3TUlNRVR5cGUs
IHVpbnQzMl90JiBwbHVnaW5Mb2FkUG9saWN5KTsKKyAgICB2b2lkIGZpbmRQbHVnaW4oY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYg
ZnJhbWVVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgcGFnZVVSTFN0cmluZywgU3RyaW5nJiBwbHVn
aW5QYXRoLCBTdHJpbmcmIG5ld01JTUVUeXBlLCBTdHJpbmcmIGJ1bmRsZUlkLCB1aW50MzJfdCYg
cGx1Z2luTG9hZFBvbGljeSk7CiAjZW5kaWYKIAogICAgIFBhZ2VDbGllbnQqIG1fcGFnZUNsaWVu
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCmluZGV4IDA5ZmQ0OTMwYmViMzM4NTIxMzg5OTY1OWQ5YWI4MDY1ZmQwZjNmMDkuLjFjZTNl
Y2UxNTMxNDY0MDdlMmI0OTQ5MTZjYTM1ZGU4NWMxYjcwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzE1LDcgKzMxNSw3
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQotICAgIEZpbmRQbHVnaW4oV1RGOjpTdHJpbmcgbWltZVR5cGUsIFdU
Rjo6U3RyaW5nIHVybFN0cmluZywgV1RGOjpTdHJpbmcgZnJhbWVVUkxTdHJpbmcsIFdURjo6U3Ry
aW5nIHBhZ2VVUkxTdHJpbmcpIC0+IChXVEY6OlN0cmluZyBwbHVnaW5QYXRoLCBXVEY6OlN0cmlu
ZyBuZXdNSU1FVHlwZSwgdWludDMyX3QgcGx1Z2luTG9hZFBvbGljeSkKKyAgICBGaW5kUGx1Z2lu
KFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcsIFdURjo6U3RyaW5n
IGZyYW1lVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBwYWdlVVJMU3RyaW5nKSAtPiAoV1RGOjpTdHJp
bmcgcGx1Z2luUGF0aCwgV1RGOjpTdHJpbmcgbmV3TUlNRVR5cGUsIFdURjo6U3RyaW5nIGJ1bmRs
ZUlkZW50aWZpZXIsIHVpbnQzMl90IHBsdWdpbkxvYWRQb2xpY3kpCiAjZW5kaWYKIAogICAgIERp
ZFVwZGF0ZUluV2luZG93U3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpbi5oCmluZGV4IGVkYzQyYjAwYzhkMzhiYjQ0NmJiYjQwNDU4MDAzN2JlNzYzMDFlZTQu
LmE1NzE4YTc2ZDhhZDIxMGE2Y2I3NWVlNjYwOTgwZWRkNmZmNzM1NzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGlj
OgogICAgICAgICBWZWN0b3I8U3RyaW5nPiBuYW1lczsKICAgICAgICAgVmVjdG9yPFN0cmluZz4g
dmFsdWVzOwogICAgICAgICBTdHJpbmcgbWltZVR5cGU7CisgICAgICAgIFN0cmluZyBidW5kbGVJ
ZDsKICAgICAgICAgYm9vbCBpc0Z1bGxGcmFtZVBsdWdpbjsKICAgICAgICAgYm9vbCBzaG91bGRV
c2VNYW51YWxMb2FkZXI7CiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGNmZTlhZGM0YTI2ZWQ1OTYy
MTJhNzRlZDZlOGVkMTAxY2YzOWNiZWEuLjBmYTUzY2JjMDBjOThjMDE0Y2MwNTdhZDE3MTMwMDVj
OWU3MWMwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKQEAgLTE2NTksNiArMTY1OSw5IEBAIGJvb2wgUGx1Z2luVmlldzo6c2hvdWxk
QWx3YXlzQXV0b1N0YXJ0KCkgY29uc3QKICAgICBpZiAoIW1fcGx1Z2luKQogICAgICAgICByZXR1
cm4gUGx1Z2luVmlld0Jhc2U6OnNob3VsZEFsd2F5c0F1dG9TdGFydCgpOwogCisgICAgaWYgKG1f
cGFyYW1ldGVycy5idW5kbGVJZCA9PSAiY29tLmFwcGxlLlF1aWNrVGltZSBQbHVnaW4ucGx1Z2lu
IikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNK
YXZhQXBwbGV0TUlNRVR5cGUobV9wYXJhbWV0ZXJzLm1pbWVUeXBlKSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggMWM4MzM1N2Nk
YjQyNjhkODAwMTgzZGE1OWNjMGJjOGJjNjE0YTE2Yy4uYzMxMzY5ZjQwOTYzZGQyNWUzYTg3MzE4
NDE4M2ZlODdkYWI0NDNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAg
LTEzMjMsNyArMTMyMyw3IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBIVE1MUGx1Z0luCiAjZW5kaWYKIAogI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdpbiA9
IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2luKG1fZnJhbWUsIHBsdWdpbkVsZW1lbnQsIHBh
cmFtZXRlcnMsIHBhcmFtZXRlcnMubWltZVR5cGUpOworICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdp
biA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2luKG1fZnJhbWUsIHBsdWdpbkVsZW1lbnQs
IHBhcmFtZXRlcnMsIHBhcmFtZXRlcnMubWltZVR5cGUsIHBhcmFtZXRlcnMuYnVuZGxlSWQpOwog
ICAgIGlmICghcGx1Z2luKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTM0MSw3ICsxMzQxLDgg
QEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6cmVjcmVhdGVQbHVnaW4oV2lkZ2V0KiB3aWRn
ZXQpCiAKICAgICBQbHVnaW5WaWV3KiBwbHVnaW5WaWV3ID0gc3RhdGljX2Nhc3Q8UGx1Z2luVmll
dyo+KHdpZGdldCk7CiAgICAgU3RyaW5nIG5ld01JTUVUeXBlOwotICAgIFJlZlB0cjxQbHVnaW4+
IHBsdWdpbiA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2luKG1fZnJhbWUsIHBsdWdpblZp
ZXctPnBsdWdpbkVsZW1lbnQoKSwgcGx1Z2luVmlldy0+aW5pdGlhbFBhcmFtZXRlcnMoKSwgbmV3
TUlNRVR5cGUpOworICAgIFN0cmluZyBidW5kbGVJZDsKKyAgICBSZWZQdHI8UGx1Z2luPiBwbHVn
aW4gPSBtX2ZyYW1lLT5wYWdlKCktPmNyZWF0ZVBsdWdpbihtX2ZyYW1lLCBwbHVnaW5WaWV3LT5w
bHVnaW5FbGVtZW50KCksIHBsdWdpblZpZXctPmluaXRpYWxQYXJhbWV0ZXJzKCksIG5ld01JTUVU
eXBlLCBidW5kbGVJZCk7CiAgICAgcGx1Z2luVmlldy0+cmVjcmVhdGVBbmRJbml0aWFsaXplKHBs
dWdpbi5yZWxlYXNlKCkpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggODA4ZDIxZjg3NGNkOTY3OGYxZmE5ZjhjYTc4Zjc3
YmRiYzk1MjI2NS4uMDIzMGRlOTgyZDhkNWVhYTAxMzNhMzcwYTc5YTc5YTEwYTk5YzJlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTIz
LDcgKzUyMyw3IEBAIHZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQoV0tCdW5kbGVQYWdlRGlhZ25vCiB9CiAKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKLVBhc3NSZWZQdHI8UGx1Z2luPiBXZWJQYWdlOjpjcmVhdGVQbHVn
aW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1Z0luRWxlbWVudCogcGx1Z2luRWxlbWVudCwgY29u
c3QgUGx1Z2luOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTdHJpbmcmIG5ld01JTUVUeXBlKQor
UGFzc1JlZlB0cjxQbHVnaW4+IFdlYlBhZ2U6OmNyZWF0ZVBsdWdpbihXZWJGcmFtZSogZnJhbWUs
IEhUTUxQbHVnSW5FbGVtZW50KiBwbHVnaW5FbGVtZW50LCBjb25zdCBQbHVnaW46OlBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMsIFN0cmluZyYgbmV3TUlNRVR5cGUsIFN0cmluZyYgYnVuZGxlSWQpCiB7
CiAgICAgU3RyaW5nIHBsdWdpblBhdGg7CiAgICAgdWludDMyX3QgcGx1Z2luTG9hZFBvbGljeTsK
QEAgLTUzMSw5ICs1MzEsOCBAQCBQYXNzUmVmUHRyPFBsdWdpbj4gV2ViUGFnZTo6Y3JlYXRlUGx1
Z2luKFdlYkZyYW1lKiBmcmFtZSwgSFRNTFBsdWdJbkVsZW1lbnQqIHBsdQogICAgIFN0cmluZyBm
cmFtZVVSTFN0cmluZyA9IGZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9h
ZGVyKCktPnJlc3BvbnNlVVJMKCkuc3RyaW5nKCk7CiAgICAgU3RyaW5nIHBhZ2VVUkxTdHJpbmcg
PSBtX3BhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+cmVzcG9u
c2VVUkwoKS5zdHJpbmcoKTsKIAotICAgIGlmICghc2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6RmluZFBsdWdpbihwYXJhbWV0ZXJzLm1pbWVUeXBlLCBwYXJhbWV0ZXJzLnVybC5zdHJp
bmcoKSwgZnJhbWVVUkxTdHJpbmcsIHBhZ2VVUkxTdHJpbmcpLCBNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpGaW5kUGx1Z2luOjpSZXBseShwbHVnaW5QYXRoLCBuZXdNSU1FVHlwZSwgcGx1Z2luTG9h
ZFBvbGljeSkpKSB7CisgICAgaWYgKCFzZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpG
aW5kUGx1Z2luKHBhcmFtZXRlcnMubWltZVR5cGUsIHBhcmFtZXRlcnMudXJsLnN0cmluZygpLCBm
cmFtZVVSTFN0cmluZywgcGFnZVVSTFN0cmluZyksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZp
bmRQbHVnaW46OlJlcGx5KHBsdWdpblBhdGgsIG5ld01JTUVUeXBlLCBidW5kbGVJZCwgcGx1Z2lu
TG9hZFBvbGljeSkpKQogICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAKICAgICBzd2l0Y2ggKHN0
YXRpY19jYXN0PFBsdWdpbk1vZHVsZUxvYWRQb2xpY3k+KHBsdWdpbkxvYWRQb2xpY3kpKSB7CiAg
ICAgY2FzZSBQbHVnaW5Nb2R1bGVMb2FkTm9ybWFsbHk6CkBAIC01NjksNyArNTY4LDYgQEAgUGFz
c1JlZlB0cjxQbHVnaW4+IFdlYlBhZ2U6OmNyZWF0ZVBsdWdpbihXZWJGcmFtZSogZnJhbWUsIEhU
TUxQbHVnSW5FbGVtZW50KiBwbHUKICAgICB9CiAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1Mp
Ci0KICAgICBQbHVnaW5Qcm9jZXNzOjpUeXBlIHByb2Nlc3NUeXBlID0gKHBsdWdpbkVsZW1lbnQt
PmRpc3BsYXlTdGF0ZSgpID09IEhUTUxQbHVnSW5FbGVtZW50OjpXYWl0aW5nRm9yU25hcHNob3Qg
PyBQbHVnaW5Qcm9jZXNzOjpUeXBlU25hcHNob3RQcm9jZXNzIDogUGx1Z2luUHJvY2Vzczo6VHlw
ZVJlZ3VsYXJQcm9jZXNzKTsKICAgICBib29sIGlzUmVzdGFydGVkUHJvY2VzcyA9IChwbHVnaW5F
bGVtZW50LT5kaXNwbGF5U3RhdGUoKSA9PSBIVE1MUGx1Z0luRWxlbWVudDo6UmVzdGFydGluZyB8
fCBwbHVnaW5FbGVtZW50LT5kaXNwbGF5U3RhdGUoKSA9PSBIVE1MUGx1Z0luRWxlbWVudDo6UmVz
dGFydGluZ1dpdGhQZW5kaW5nTW91c2VDbGljayk7CiAgICAgcmV0dXJuIFBsdWdpblByb3h5Ojpj
cmVhdGUocGx1Z2luUGF0aCwgcHJvY2Vzc1R5cGUsIGlzUmVzdGFydGVkUHJvY2Vzcyk7CkBAIC0z
Nzc3LDkgKzM3NzUsMTAgQEAgYm9vbCBXZWJQYWdlOjpjYW5QbHVnaW5IYW5kbGVSZXNwb25zZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKICAgICBTdHJpbmcgcGx1Z2luUGF0aDsKICAgICBTdHJpbmcgbmV3TUlNRVR5cGU7
CisgICAgU3RyaW5nIGJ1bmRsZUlkOwogICAgIHVpbnQzMl90IHBsdWdpbkxvYWRQb2xpY3k7CiAK
LSAgICBpZiAoIXNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZpbmRQbHVnaW4ocmVz
cG9uc2UubWltZVR5cGUoKSwgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIHJlc3BvbnNlLnVybCgp
LnN0cmluZygpLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSksIE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkZpbmRQbHVnaW46OlJlcGx5KHBsdWdpblBhdGgsIG5ld01JTUVUeXBlLCBwbHVnaW5Mb2Fk
UG9saWN5KSkpCisgICAgaWYgKCFzZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpGaW5k
UGx1Z2luKHJlc3BvbnNlLm1pbWVUeXBlKCksIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCByZXNw
b25zZS51cmwoKS5zdHJpbmcoKSwgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCkpLCBNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpGaW5kUGx1Z2luOjpSZXBseShwbHVnaW5QYXRoLCBuZXdNSU1FVHlwZSwg
YnVuZGxlSWQsIHBsdWdpbkxvYWRQb2xpY3kpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgcmV0dXJuIHBsdWdpbkxvYWRQb2xpY3kgIT0gUGx1Z2luTW9kdWxlQmxvY2tlZCAmJiAhcGx1
Z2luUGF0aC5pc0VtcHR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCAyOGZmNmZhNDNiODZmM2E1NzdjZWE1OTUyMDNiYjQyMGU4YzYxNTY4Li45
MDE2YTk4ODg3ZmI3YWIwZmMxM2NkMDJlOWZiMDRiMjcwMmVjODRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTI4OSw3ICsyODksNyBAQCBwdWJs
aWM6CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpSYW5nZT4gY3VycmVudFNlbGVjdGlvbkFzUmFu
Z2UoKTsKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFBhc3NSZWZQdHI8
UGx1Z2luPiBjcmVhdGVQbHVnaW4oV2ViRnJhbWUqLCBXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVu
dCosIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYsIFN0cmluZyYgbmV3TUlNRVR5cGUpOworICAg
IFBhc3NSZWZQdHI8UGx1Z2luPiBjcmVhdGVQbHVnaW4oV2ViRnJhbWUqLCBXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudCosIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYsIFN0cmluZyYgbmV3TUlN
RVR5cGUsIFN0cmluZyYgYnVuZGxlSWQpOwogI2VuZGlmCiAKICAgICBFZGl0b3JTdGF0ZSBlZGl0
b3JTdGF0ZSgpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202372</attachid>
            <date>2013-05-20 19:46:06 -0700</date>
            <delta_ts>2013-05-22 16:07:13 -0700</delta_ts>
            <desc>Patch (build test)</desc>
            <filename>bug-116490-20130521124454.patch</filename>
            <type>text/plain</type>
            <size>16623</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTA5OGQ1OGE1MGE3ZmQw
MzY4MGJiNTEyZjc3ZGEwNzcwM2Q3Yjg4ZS4uOTNjOGRjMmE0YmRhNzJkNDk1ZThjZjlhYzFlYWQ4
ZmIzZTY2YzA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTA1LTIwICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBzbmFwc2hvdCBRdWlj
a1RpbWUgcGx1Z2lucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2NDkwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzkxODM5MT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgQXQgdGhlIG1vbWVudCB3
ZSBjYW4ndCBzbmFwc2hvdCBwbHVnaW5zIHRoYXQgZG9uJ3QgYWxsb3cgQ0cgZHJhd2luZywKKyAg
ICAgICAgc3VjaCBhcyBRdWlja1RpbWUuIEZvciBub3csIGlmIHdlIHNlZSBhIHNuYXBzaG90dGVk
IFF1aWNrVGltZSwgcmVzdGFydAorICAgICAgICBpdC4KKworICAgICAgICAqIGh0bWwvSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50OjpzdWJmcmFtZUxvYWRlcldpbGxDcmVhdGVQbHVnSW4pOiBEcml2ZS1ieSBmaXggdG8g
YSByZXN0YXJ0IHN0YXRlLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdlRWxlbWVu
dDo6c3ViZnJhbWVMb2FkZXJEaWRDcmVhdGVQbHVnSW4pOiBXZSBuZWVkZWQgdG8gYWN0dWFsbHkK
KyAgICAgICAgICAgIHJlc3RhcnQgaW4gdGhpcyBjYXNlLCBub3QganVzdCBzZXQgdG8gcGxheS4g
Qnkgbm93IHRoZSBwbHVnaW4gd2FzIGNyZWF0ZWQgaW4gYSBtdXRlZAorICAgICAgICAgICAgYW5k
IG5vbi1hY2NlbGVyYXRlZCBzdGF0ZS4KKwogMjAxMy0wNS0yMCAgQW5kcmVhcyBLbGluZyAgPGFr
bGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgY2FyZXQgcmVwYWludHMgaWYgd2UncmUg
bm90IHNob3dpbmcgY2FyZXRzIGFueXdheS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxN2Y3YTA2MWZhZDgyYzE4
MTc1ZjY0MjZmMmQ2ZWZjMjRhYTkwZTFjLi4wZTdhOTZiNTI2YjExZmNiMjM4N2M3OGU0ZDhjMjli
YWY1YTBjZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTMtMDUtMjAgIERlYW4g
SmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIERvbid0IHNuYXBzaG90IFF1aWNr
VGltZSBwbHVnaW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTY0OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzOTE4MzkxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KKworICAgICAgICBBdCB0aGUgbW9tZW50IHdl
IGNhbid0IHNuYXBzaG90IHBsdWdpbnMgdGhhdCBkb24ndCBhbGxvdyBDRyBkcmF3aW5nLAorICAg
ICAgICBzdWNoIGFzIFF1aWNrVGltZS4gRm9yIG5vdywgaWYgd2Ugc2VlIGEgc25hcHNob3R0ZWQg
UXVpY2tUaW1lLCByZXN0YXJ0CisgICAgICAgIGl0LgorCisgICAgICAgIERvIHRoaXMgYnkgcGFz
c2luZyB0aGUgYnVuZGxlSWQgb2YgdGhlIHBsdWdpbiBiYWNrIGludG8gdGhlIFdlYlByb2Nlc3Ms
CisgICAgICAgIHdoZXJlIFBsdWdpblZpZXcgY2FuIGNoZWNrIGZvciBRdWlja1RpbWUgYW5kIHJl
dHVybiB0cnVlIGZyb20KKyAgICAgICAgc2hvdWxkQWx3YXlzQXV0b1N0YXJ0LgorCisgICAgICAg
ICogUGxhdGZvcm0vQ29yZUlQQy9IYW5kbGVNZXNzYWdlLmg6CisgICAgICAgIChDb3JlSVBDOjpj
YWxsTWVtYmVyRnVuY3Rpb24pOiBOZXcgY2FsbGVyIGZvciBBcmd1bWVudHM0IC0+IEFyZ3VtZW50
czQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZmluZFBsdWdpbik6IE5ldyBwYXJhbWV0ZXIgLSBidW5kbGVJZGVu
dGlmaWVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDogZmluZFBsdWdpbigp
IHRha2VzIGFuIGV4dHJhIHBhcmFtZXRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluOiBUaGUgcmVwbHkgZnJvbSBGaW5kUGx1Z2luIG5vdyBpbmNsdWRlcyB0
aGUgYnVuZGxlIGlkLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaDoKKyAg
ICAgICAgKFBhcmFtZXRlcnMpOiBBZGQgYW5vdGhlciBwYXJhbWV0ZXIgZm9yIHRoZSBidW5kbGUg
aWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpQbHVnaW5WaWV3OjpzaG91bGRBbHdheXNBdXRvU3RhcnQpOiBJZiBvdXIgYnVu
ZGxlIGlkIHNheXMgd2UgYXJlIFF1aWNrVGltZSwgdGhlbgorICAgICAgICAgICAgcmV0dXJuIHRy
dWUuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQ
bHVnaW4pOiBVc2UgdGhlIHBhcmFtZXRlcnMgc3RydWN0dXJlJ3MgYnVuZGxlSWQuCisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpyZWNyZWF0ZVBsdWdpbik6IFBhc3MgaW4g
YW4gZW1wdHkgYnVuZGxlSWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjcmVhdGVQbHVnaW4pOiBFeHRyYSBpbmNv
bWluZyBwYXJhbWV0ZXIsIGFuZCBzZW50IGluIHRoZSBtZXNzYWdlLgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpjYW5QbHVnaW5IYW5kbGVSZXNwb25zZSk6IEV4dHJhIHBhcmFtZXRlciBzZW50
IGluIHRoZSBtZXNzYWdlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6
IEV4dHJhIHBhcmFtZXRlciB0byBjcmVhdGVQbHVnaW4uCisKIDIwMTMtMDUtMjAgIEplc3NpZSBC
ZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgYSB3YXkgdG8ga25v
dyB3aGVuIGZvcm1zIGFyZSBhZGRlZCB0byBhIHBhZ2Ugb3Igd2hlbiBmb3JtIGNvbnRyb2xzIGFy
ZSBhZGRlZCB0byBhIGZvcm0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQuY3BwCmluZGV4IDAxMjdlMGMwY2ViYzBmMmU0ZWFiOTAxMjU1NGJmMDRjNTVhZjFj
Y2UuLmNkZWFhNWY0N2EwNGM0YWMwNWU2MjQyNzlkYjk0YWNlNDUyZjFlMjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApAQCAtNjcxLDcgKzY3
MSw3IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6c3ViZnJhbWVMb2FkZXJXaWxsQ3Jl
YXRlUGx1Z0luKGNvbnN0IEtVUkwmIHVybCkKIAogICAgIGlmICghZG9jdW1lbnQoKS0+cGFnZSgp
LT5wbHVnSW5DbGllbnQoKSkgewogICAgICAgICBMT0coUGx1Z2lucywgIiVwIFRoZXJlIGlzIG5v
IHBsdWctaW4gY2xpZW50LiBTZXQgdG8gd2FpdCBmb3Igc25hcHNob3QiLCB0aGlzKTsKLSAgICAg
ICAgbV9zbmFwc2hvdERlY2lzaW9uID0gTmV2ZXJTbmFwc2hvdDsKKyAgICAgICAgbV9zbmFwc2hv
dERlY2lzaW9uID0gU25hcHNob3R0ZWQ7CiAgICAgICAgIHNldERpc3BsYXlTdGF0ZShXYWl0aW5n
Rm9yU25hcHNob3QpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjg1LDEwICs2ODUsOSBA
QCB2b2lkIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnN1YmZyYW1lTG9hZGVyRGlkQ3JlYXRlUGx1
Z0luKGNvbnN0IFdpZGdldCogd2lkZ2V0KQogewogICAgIG1fcGx1Z0luV2FzQ3JlYXRlZCA9IHRy
dWU7CiAKLSAgICBpZiAod2lkZ2V0LT5pc1BsdWdpblZpZXdCYXNlKCkgJiYgdG9QbHVnaW5WaWV3
QmFzZSh3aWRnZXQpLT5zaG91bGRBbHdheXNBdXRvU3RhcnQoKSkgewotICAgICAgICBMT0coUGx1
Z2lucywgIiVwIFBsdWctaW4gc2hvdWxkIGF1dG8tc3RhcnQsIHNldCB0byBwbGF5IiwgdGhpcyk7
Ci0gICAgICAgIG1fc25hcHNob3REZWNpc2lvbiA9IE5ldmVyU25hcHNob3Q7Ci0gICAgICAgIHNl
dERpc3BsYXlTdGF0ZShQbGF5aW5nKTsKKyAgICBpZiAod2lkZ2V0LT5pc1BsdWdpblZpZXdCYXNl
KCkgJiYgdG9QbHVnaW5WaWV3QmFzZSh3aWRnZXQpLT5zaG91bGRBbHdheXNBdXRvU3RhcnQoKSAm
JiBkaXNwbGF5U3RhdGUoKSA8IFJlc3RhcnRpbmcpIHsKKyAgICAgICAgTE9HKFBsdWdpbnMsICIl
cCBQbHVnLWluIGhhcyBzdGFydGVkIGluIHNuYXBzaG90IG1vZGUsIGJ1dCBzaG91bGQgcmVzdGFy
dCIsIHRoaXMpOworICAgICAgICByZXN0YXJ0U25hcHNob3R0ZWRQbHVnSW4oKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9IYW5kbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hh
bmRsZU1lc3NhZ2UuaAppbmRleCA3NzU4NTc0MTUwM2IzNzgyZjAyYTViMjBiZGZmYzYyYzBmZThl
YWYxLi4zMGFjMmM2MDVmNjhhYTI3ZmI1ZmVkOWU2OTY3MGM3MTQ4NjNhODA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaApAQCAtMTk3LDEw
ICsxOTcsMTAgQEAgdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oY29uc3QgQXJndW1lbnRzNDxQMSwg
UDIsIFAzLCBQND4mIGFyZ3MsIEFyZ3VtZW50czM8UjEsIFIKICAgICAob2JqZWN0LT4qZnVuY3Rp
b24pKGFyZ3MuYXJndW1lbnQxLCBhcmdzLmFyZ3VtZW50MiwgYXJncy5hcmd1bWVudDMsIGFyZ3Mu
YXJndW1lbnQ0LCByZXBseUFyZ3MuYXJndW1lbnQxLCByZXBseUFyZ3MuYXJndW1lbnQyLCByZXBs
eUFyZ3MuYXJndW1lbnQzKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYs
IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBl
bmFtZSBQNSwgdHlwZW5hbWUgUjEsIHR5cGVuYW1lIFIyLCB0eXBlbmFtZSBSMz4KLXZvaWQgY2Fs
bE1lbWJlckZ1bmN0aW9uKGNvbnN0IEFyZ3VtZW50czU8UDEsIFAyLCBQMywgUDQsIFA1PiYgYXJn
cywgQXJndW1lbnRzMzxSMSwgUjIsIFIzPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0
aW9uKQordGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBl
bmFtZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUg
UjEsIHR5cGVuYW1lIFIyLCB0eXBlbmFtZSBSMywgdHlwZW5hbWUgUjQ+Cit2b2lkIGNhbGxNZW1i
ZXJGdW5jdGlvbihjb25zdCBBcmd1bWVudHM1PFAxLCBQMiwgUDMsIFA0LCBQNT4mIGFyZ3MsIEFy
Z3VtZW50czQ8UjEsIFIyLCBSMywgUjQ+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rp
b24pCiB7Ci0gICAgKG9iamVjdC0+KmZ1bmN0aW9uKShhcmdzLmFyZ3VtZW50MSwgYXJncy5hcmd1
bWVudDIsIGFyZ3MuYXJndW1lbnQzLCBhcmdzLmFyZ3VtZW50NCwgYXJncy5hcmd1bWVudDUsIHJl
cGx5QXJncy5hcmd1bWVudDEsIHJlcGx5QXJncy5hcmd1bWVudDIsIHJlcGx5QXJncy5hcmd1bWVu
dDMpOworICAgIChvYmplY3QtPipmdW5jdGlvbikoYXJncy5hcmd1bWVudDEsIGFyZ3MuYXJndW1l
bnQyLCBhcmdzLmFyZ3VtZW50MywgYXJncy5hcmd1bWVudDQsIGFyZ3MuYXJndW1lbnQ1LCByZXBs
eUFyZ3MuYXJndW1lbnQxLCByZXBseUFyZ3MuYXJndW1lbnQyLCByZXBseUFyZ3MuYXJndW1lbnQz
LCByZXBseUFyZ3MuYXJndW1lbnQ0KTsKIH0KIAogLy8gRGlzcGF0Y2ggZnVuY3Rpb25zIHdpdGgg
ZGVsYXllZCByZXBseSBhcmd1bWVudHMuCkBAIC0zMjAsNyArMzIwLDcgQEAgdm9pZCBjYWxsTWVt
YmVyRnVuY3Rpb24oY29uc3QgQXJndW1lbnRzNTxQMSwgUDIsIFAzLCBQNCwgUDU+JiBhcmdzLCBN
ZXNzYWdlRGVjb2QKIHsKICAgICAob2JqZWN0LT4qZnVuY3Rpb24pKGFyZ3MuYXJndW1lbnQxLCBh
cmdzLmFyZ3VtZW50MiwgYXJncy5hcmd1bWVudDMsIGFyZ3MuYXJndW1lbnQ0LCBhcmdzLmFyZ3Vt
ZW50NSwgZGVjb2Rlcik7CiB9Ci0gICAgCisKIHRlbXBsYXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1l
IE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwg
dHlwZW5hbWUgUDUsIHR5cGVuYW1lIFA2Pgogdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oY29uc3Qg
QXJndW1lbnRzNjxQMSwgUDIsIFAzLCBQNCwgUDUsIFA2PiYgYXJncywgTWVzc2FnZURlY29kZXIm
IGRlY29kZXIsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY4YmRlMTQ3MzE2ZGUyMDZhMmU3NTA0MWRhNTUy
NzgwOWM1YjMyMmUuLmI2NTUzZWNiN2U5ZmJiY2JiMjgzMTlhNzE4MDA2OGQ2N2E4ZGM2YTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMzk4LDcgKzEz
OTgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlS2V5Ym9hcmRFdmVudChjb25zdCBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50JiBldmVudCkKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKQotdm9pZCBXZWJQYWdlUHJveHk6OmZpbmRQbHVnaW4oY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZnJhbWVVUkxTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcGFnZVVSTFN0cmluZywgY29uc3QgYm9vbCBhbGxvd09ubHlBcHBs
aWNhdGlvblBsdWdpbnMsIFN0cmluZyYgcGx1Z2luUGF0aCwgU3RyaW5nJiBuZXdNaW1lVHlwZSwg
dWludDMyX3QmIHBsdWdpbkxvYWRQb2xpY3kpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZmluZFBsdWdp
bihjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3Qg
U3RyaW5nJiBmcmFtZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBwYWdlVVJMU3RyaW5nLCBjb25z
dCBib29sIGFsbG93T25seUFwcGxpY2F0aW9uUGx1Z2lucywgU3RyaW5nJiBwbHVnaW5QYXRoLCBT
dHJpbmcmIG5ld01pbWVUeXBlLCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIHVpbnQzMl90JiBw
bHVnaW5Mb2FkUG9saWN5KQogewogICAgIE1FU1NBR0VfQ0hFQ0tfVVJMKHVybFN0cmluZyk7CiAK
QEAgLTE0MjQsNiArMTQyNCw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpmaW5kUGx1Z2luKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjCiAgICAgICAgIHJl
dHVybjsKIAogICAgIHBsdWdpblBhdGggPSBwbHVnaW4ucGF0aDsKKyNpZiBQTEFURk9STShNQUMp
CisgICAgYnVuZGxlSWRlbnRpZmllciA9IHBsdWdpbi5idW5kbGVJZGVudGlmaWVyOworI2VuZGlm
CiB9CiAjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAxN2Q0ZDE2ZjVlMWU1YjQxOWM0Y2ViNjUw
MTFiNjQ4NjM1ZWExNzY5Li5lNjkzN2NkMDYwYmIwZjQ4NmRmMDg4OTZmM2E5ZjBiNDFhYTFhYzMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMDQ3LDcgKzEw
NDcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2VuZFdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxF
dmVudCYpOwogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgdm9pZCBmaW5k
UGx1Z2luKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBj
b25zdCBTdHJpbmcmIGZyYW1lVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIHBhZ2VVUkxTdHJpbmcs
IGNvbnN0IGJvb2wgYWxsb3dPbmx5QXBwbGljYXRpb25QbHVnaW5zLCBTdHJpbmcmIHBsdWdpblBh
dGgsIFN0cmluZyYgbmV3TUlNRVR5cGUsIHVpbnQzMl90JiBwbHVnaW5Mb2FkUG9saWN5KTsKKyAg
ICB2b2lkIGZpbmRQbHVnaW4oY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1
cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZnJhbWVVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgcGFn
ZVVSTFN0cmluZywgY29uc3QgYm9vbCBhbGxvd09ubHlBcHBsaWNhdGlvblBsdWdpbnMsIFN0cmlu
ZyYgcGx1Z2luUGF0aCwgU3RyaW5nJiBuZXdNSU1FVHlwZSwgU3RyaW5nJiBidW5kbGVJZCwgdWlu
dDMyX3QmIHBsdWdpbkxvYWRQb2xpY3kpOwogI2VuZGlmCiAKICAgICBQYWdlQ2xpZW50KiBtX3Bh
Z2VDbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCA2ZTgyMGJkNGVmMjQ2OTI0ZTRmMGEzZTJmZThjMjZkZjQyNmU5NTNj
Li5lZjZiYjZmYzFlNTRhMzcwNWM4ZmI0MjA3OTRmNDQxMWQ1YzhlMzVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTMxNSw3
ICszMTUsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBGaW5kUGx1Z2luKFdURjo6U3RyaW5nIG1pbWVU
eXBlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcsIFdURjo6U3RyaW5nIGZyYW1lVVJMU3RyaW5nLCBX
VEY6OlN0cmluZyBwYWdlVVJMU3RyaW5nLCBib29sIGFsbG93T25seUFwcGxpY2F0aW9uUGx1Z2lu
cykgLT4gKFdURjo6U3RyaW5nIHBsdWdpblBhdGgsIFdURjo6U3RyaW5nIG5ld01JTUVUeXBlLCB1
aW50MzJfdCBwbHVnaW5Mb2FkUG9saWN5KQorICAgIEZpbmRQbHVnaW4oV1RGOjpTdHJpbmcgbWlt
ZVR5cGUsIFdURjo6U3RyaW5nIHVybFN0cmluZywgV1RGOjpTdHJpbmcgZnJhbWVVUkxTdHJpbmcs
IFdURjo6U3RyaW5nIHBhZ2VVUkxTdHJpbmcsIGJvb2wgYWxsb3dPbmx5QXBwbGljYXRpb25QbHVn
aW5zKSAtPiAoV1RGOjpTdHJpbmcgcGx1Z2luUGF0aCwgV1RGOjpTdHJpbmcgbmV3TUlNRVR5cGUs
IFdURjo6U3RyaW5nIGJ1bmRsZUlkZW50aWZpZXIsIHVpbnQzMl90IHBsdWdpbkxvYWRQb2xpY3kp
CiAjZW5kaWYKIAogICAgIERpZFVwZGF0ZUluV2luZG93U3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oCmluZGV4IGVkYzQyYjAwYzhkMzhiYjQ0NmJiYjQw
NDU4MDAzN2JlNzYzMDFlZTQuLmE1NzE4YTc2ZDhhZDIxMGE2Y2I3NWVlNjYwOTgwZWRkNmZmNzM1
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4u
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmgKQEAgLTc2
LDYgKzc2LDcgQEAgcHVibGljOgogICAgICAgICBWZWN0b3I8U3RyaW5nPiBuYW1lczsKICAgICAg
ICAgVmVjdG9yPFN0cmluZz4gdmFsdWVzOwogICAgICAgICBTdHJpbmcgbWltZVR5cGU7CisgICAg
ICAgIFN0cmluZyBidW5kbGVJZDsKICAgICAgICAgYm9vbCBpc0Z1bGxGcmFtZVBsdWdpbjsKICAg
ICAgICAgYm9vbCBzaG91bGRVc2VNYW51YWxMb2FkZXI7CiAjaWYgUExBVEZPUk0oTUFDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4
IDQ3ZDY4MTk4ZWQxNTQ4M2E5YzUzNjZiYzI1OGQ4ODNkZjAwOWUwMmUuLmVhMzYzM2UyM2ZmYjc3
OWIxYTg4MWFmMTM4OTg5OThhMjQwMTM2YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTE2NjMsNiArMTY2Myw5IEBAIGJvb2wg
UGx1Z2luVmlldzo6c2hvdWxkQWx3YXlzQXV0b1N0YXJ0KCkgY29uc3QKICAgICBpZiAoIW1fcGx1
Z2luKQogICAgICAgICByZXR1cm4gUGx1Z2luVmlld0Jhc2U6OnNob3VsZEFsd2F5c0F1dG9TdGFy
dCgpOwogCisgICAgaWYgKG1fcGFyYW1ldGVycy5idW5kbGVJZCA9PSAiY29tLmFwcGxlLlF1aWNr
VGltZSBQbHVnaW4ucGx1Z2luIikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoTUlN
RVR5cGVSZWdpc3RyeTo6aXNKYXZhQXBwbGV0TUlNRVR5cGUobV9wYXJhbWV0ZXJzLm1pbWVUeXBl
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAKaW5kZXggMGVmN2RlMTY5NTY1NWE5NjA1ZmRkM2MwOTNjZTY4ZjE1N2EzZjViMC4uNzQ5NzY3
MmVkZjdmMzU2YWM1NmM1ZDZiOGUzYmNlOTUyMTNiNzlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKQEAgLTEzMzYsNyArMTMzNiw3IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBX
ZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBIVE1MUGx1
Z0luCiAjZW5kaWYKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFJlZlB0
cjxQbHVnaW4+IHBsdWdpbiA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2luKG1fZnJhbWUs
IHBsdWdpbkVsZW1lbnQsIHBhcmFtZXRlcnMsIHBhcmFtZXRlcnMubWltZVR5cGUpOworICAgIFJl
ZlB0cjxQbHVnaW4+IHBsdWdpbiA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2luKG1fZnJh
bWUsIHBsdWdpbkVsZW1lbnQsIHBhcmFtZXRlcnMsIHBhcmFtZXRlcnMubWltZVR5cGUsIHBhcmFt
ZXRlcnMuYnVuZGxlSWQpOwogICAgIGlmICghcGx1Z2luKQogICAgICAgICByZXR1cm4gMDsKIApA
QCAtMTM1NCw3ICsxMzU0LDggQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6cmVjcmVhdGVQ
bHVnaW4oV2lkZ2V0KiB3aWRnZXQpCiAKICAgICBQbHVnaW5WaWV3KiBwbHVnaW5WaWV3ID0gc3Rh
dGljX2Nhc3Q8UGx1Z2luVmlldyo+KHdpZGdldCk7CiAgICAgU3RyaW5nIG5ld01JTUVUeXBlOwot
ICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdpbiA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2lu
KG1fZnJhbWUsIHBsdWdpblZpZXctPnBsdWdpbkVsZW1lbnQoKSwgcGx1Z2luVmlldy0+aW5pdGlh
bFBhcmFtZXRlcnMoKSwgbmV3TUlNRVR5cGUpOworICAgIFN0cmluZyBidW5kbGVJZDsKKyAgICBS
ZWZQdHI8UGx1Z2luPiBwbHVnaW4gPSBtX2ZyYW1lLT5wYWdlKCktPmNyZWF0ZVBsdWdpbihtX2Zy
YW1lLCBwbHVnaW5WaWV3LT5wbHVnaW5FbGVtZW50KCksIHBsdWdpblZpZXctPmluaXRpYWxQYXJh
bWV0ZXJzKCksIG5ld01JTUVUeXBlLCBidW5kbGVJZCk7CiAgICAgcGx1Z2luVmlldy0+cmVjcmVh
dGVBbmRJbml0aWFsaXplKHBsdWdpbi5yZWxlYXNlKCkpOwogI2VuZGlmCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggY2MyZDQ2NzQ5MDA1
YTdjYTEyYTlkMGFhOGQxNGY2YWZiNDNjNGU5My4uM2YwNjBiYTczNGNhOTRhYTEzNTdmNTVlYzFm
YjRjMTBmNzM5YTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcApAQCAtNTI1LDcgKzUyNSw3IEBAIHZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6ZUlu
amVjdGVkQnVuZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoV0tCdW5kbGVQYWdlRGlhZ25vCiB9
CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLVBhc3NSZWZQdHI8UGx1Z2luPiBX
ZWJQYWdlOjpjcmVhdGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1Z0luRWxlbWVudCog
cGx1Z2luRWxlbWVudCwgY29uc3QgUGx1Z2luOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTdHJp
bmcmIG5ld01JTUVUeXBlKQorUGFzc1JlZlB0cjxQbHVnaW4+IFdlYlBhZ2U6OmNyZWF0ZVBsdWdp
bihXZWJGcmFtZSogZnJhbWUsIEhUTUxQbHVnSW5FbGVtZW50KiBwbHVnaW5FbGVtZW50LCBjb25z
dCBQbHVnaW46OlBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFN0cmluZyYgbmV3TUlNRVR5cGUsIFN0
cmluZyYgYnVuZGxlSWQpCiB7CiAgICAgU3RyaW5nIHBsdWdpblBhdGg7CiAgICAgdWludDMyX3Qg
cGx1Z2luTG9hZFBvbGljeTsKQEAgLTUzNCw5ICs1MzQsOCBAQCBQYXNzUmVmUHRyPFBsdWdpbj4g
V2ViUGFnZTo6Y3JlYXRlUGx1Z2luKFdlYkZyYW1lKiBmcmFtZSwgSFRNTFBsdWdJbkVsZW1lbnQq
IHBsdQogICAgIFN0cmluZyBwYWdlVVJMU3RyaW5nID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+bG9h
ZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNlVVJMKCkuc3RyaW5nKCk7CiAKICAgICBi
b29sIGFsbG93T25seUFwcGxpY2F0aW9uUGx1Z2lucyA9ICFmcmFtZS0+Y29yZUZyYW1lKCktPmxv
YWRlcigpLT5zdWJmcmFtZUxvYWRlcigpLT5hbGxvd1BsdWdpbnMoTm90QWJvdXRUb0luc3RhbnRp
YXRlUGx1Z2luKTsKLSAgICBpZiAoIXNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZp
bmRQbHVnaW4ocGFyYW1ldGVycy5taW1lVHlwZSwgcGFyYW1ldGVycy51cmwuc3RyaW5nKCksIGZy
YW1lVVJMU3RyaW5nLCBwYWdlVVJMU3RyaW5nLCBhbGxvd09ubHlBcHBsaWNhdGlvblBsdWdpbnMp
LCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpGaW5kUGx1Z2luOjpSZXBseShwbHVnaW5QYXRoLCBu
ZXdNSU1FVHlwZSwgcGx1Z2luTG9hZFBvbGljeSkpKSB7CisgICAgaWYgKCFzZW5kU3luYyhNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpGaW5kUGx1Z2luKHBhcmFtZXRlcnMubWltZVR5cGUsIHBhcmFt
ZXRlcnMudXJsLnN0cmluZygpLCBmcmFtZVVSTFN0cmluZywgcGFnZVVSTFN0cmluZywgYWxsb3dP
bmx5QXBwbGljYXRpb25QbHVnaW5zKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RmluZFBsdWdp
bjo6UmVwbHkocGx1Z2luUGF0aCwgbmV3TUlNRVR5cGUsIGJ1bmRsZUlkLCBwbHVnaW5Mb2FkUG9s
aWN5KSkpCiAgICAgICAgIHJldHVybiAwOwotICAgIH0KIAogICAgIHN3aXRjaCAoc3RhdGljX2Nh
c3Q8UGx1Z2luTW9kdWxlTG9hZFBvbGljeT4ocGx1Z2luTG9hZFBvbGljeSkpIHsKICAgICBjYXNl
IFBsdWdpbk1vZHVsZUxvYWROb3JtYWxseToKQEAgLTU3Miw3ICs1NzEsNiBAQCBQYXNzUmVmUHRy
PFBsdWdpbj4gV2ViUGFnZTo6Y3JlYXRlUGx1Z2luKFdlYkZyYW1lKiBmcmFtZSwgSFRNTFBsdWdJ
bkVsZW1lbnQqIHBsdQogICAgIH0KIAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKLQogICAg
IFBsdWdpblByb2Nlc3M6OlR5cGUgcHJvY2Vzc1R5cGUgPSAocGx1Z2luRWxlbWVudC0+ZGlzcGxh
eVN0YXRlKCkgPT0gSFRNTFBsdWdJbkVsZW1lbnQ6OldhaXRpbmdGb3JTbmFwc2hvdCA/IFBsdWdp
blByb2Nlc3M6OlR5cGVTbmFwc2hvdFByb2Nlc3MgOiBQbHVnaW5Qcm9jZXNzOjpUeXBlUmVndWxh
clByb2Nlc3MpOwogICAgIGJvb2wgaXNSZXN0YXJ0ZWRQcm9jZXNzID0gKHBsdWdpbkVsZW1lbnQt
PmRpc3BsYXlTdGF0ZSgpID09IEhUTUxQbHVnSW5FbGVtZW50OjpSZXN0YXJ0aW5nIHx8IHBsdWdp
bkVsZW1lbnQtPmRpc3BsYXlTdGF0ZSgpID09IEhUTUxQbHVnSW5FbGVtZW50OjpSZXN0YXJ0aW5n
V2l0aFBlbmRpbmdNb3VzZUNsaWNrKTsKICAgICByZXR1cm4gUGx1Z2luUHJveHk6OmNyZWF0ZShw
bHVnaW5QYXRoLCBwcm9jZXNzVHlwZSwgaXNSZXN0YXJ0ZWRQcm9jZXNzKTsKQEAgLTM4MTEsMTAg
KzM4MDksMTEgQEAgYm9vbCBXZWJQYWdlOjpjYW5QbHVnaW5IYW5kbGVSZXNwb25zZShjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKICAgICBTdHJpbmcgcGx1Z2luUGF0aDsKICAgICBTdHJpbmcgbmV3TUlNRVR5cGU7CisgICAg
U3RyaW5nIGJ1bmRsZUlkOwogICAgIHVpbnQzMl90IHBsdWdpbkxvYWRQb2xpY3k7CiAKICAgICBi
b29sIGFsbG93T25seUFwcGxpY2F0aW9uUGx1Z2lucyA9ICFtX21haW5GcmFtZS0+Y29yZUZyYW1l
KCktPmxvYWRlcigpLT5zdWJmcmFtZUxvYWRlcigpLT5hbGxvd1BsdWdpbnMoTm90QWJvdXRUb0lu
c3RhbnRpYXRlUGx1Z2luKTsKLSAgICBpZiAoIXNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkZpbmRQbHVnaW4ocmVzcG9uc2UubWltZVR5cGUoKSwgcmVzcG9uc2UudXJsKCkuc3RyaW5n
KCksIHJlc3BvbnNlLnVybCgpLnN0cmluZygpLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgYWxs
b3dPbmx5QXBwbGljYXRpb25QbHVnaW5zKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RmluZFBs
dWdpbjo6UmVwbHkocGx1Z2luUGF0aCwgbmV3TUlNRVR5cGUsIHBsdWdpbkxvYWRQb2xpY3kpKSkK
KyAgICBpZiAoIXNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZpbmRQbHVnaW4ocmVz
cG9uc2UubWltZVR5cGUoKSwgcmVzcG9uc2UudXJsKCkuc3RyaW5nKCksIHJlc3BvbnNlLnVybCgp
LnN0cmluZygpLCByZXNwb25zZS51cmwoKS5zdHJpbmcoKSwgYWxsb3dPbmx5QXBwbGljYXRpb25Q
bHVnaW5zKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RmluZFBsdWdpbjo6UmVwbHkocGx1Z2lu
UGF0aCwgbmV3TUlNRVR5cGUsIGJ1bmRsZUlkLCBwbHVnaW5Mb2FkUG9saWN5KSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiBwbHVnaW5Mb2FkUG9saWN5ICE9IFBsdWdpbk1v
ZHVsZUJsb2NrZWQgJiYgIXBsdWdpblBhdGguaXNFbXB0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYWM5NTNiOTczMGI0OGViZjEzNWVmNGY4
NzRlNWQzYjU0NWM4NjQ0OC4uM2ZhZWUwZTAyNmFiY2M0MDMwOTllYjM3YjQyY2Q1NjY4NzkxM2Vl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0y
ODksNyArMjg5LDcgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IGN1
cnJlbnRTZWxlY3Rpb25Bc1JhbmdlKCk7CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKLSAgICBQYXNzUmVmUHRyPFBsdWdpbj4gY3JlYXRlUGx1Z2luKFdlYkZyYW1lKiwgV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQqLCBjb25zdCBQbHVnaW46OlBhcmFtZXRlcnMmLCBTdHJpbmcm
IG5ld01JTUVUeXBlKTsKKyAgICBQYXNzUmVmUHRyPFBsdWdpbj4gY3JlYXRlUGx1Z2luKFdlYkZy
YW1lKiwgV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQqLCBjb25zdCBQbHVnaW46OlBhcmFtZXRl
cnMmLCBTdHJpbmcmIG5ld01JTUVUeXBlLCBTdHJpbmcmIGJ1bmRsZUlkKTsKICNlbmRpZgogCiAg
ICAgRWRpdG9yU3RhdGUgZWRpdG9yU3RhdGUoKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202629</attachid>
            <date>2013-05-22 16:07:19 -0700</date>
            <delta_ts>2013-05-22 16:12:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116490-20130523090605.patch</filename>
            <type>text/plain</type>
            <size>15473</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWIyNzViYTE3Y2UzY2Rl
MjAwZDQ2ZGZmMzE3Zjk4ZTJhMzgzYzc5OC4uNzllZGZmZWMwODc1NTBkYTI0MzYxNGJkYTE1NTgy
ODc4Zjk5YTNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA1LTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBzbmFwc2hvdCBwbHVn
aW5zIHRoYXQgY2FuJ3QgYmUgc25hcHNob3R0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjQ5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNvbWUgcGx1Z2lucywgc3VjaCBhcyBRdWlja1RpbWUsIGRv
bid0IHN1cHBvcnQgc25hcHNob3R0aW5nLiBXZSdyZQorICAgICAgICBwbGFubmluZyBvbiBhbm90
aGVyIHdheSB0byBjYXB0dXJlIHNuYXBzaG90cywgYnV0IGluIHRoZSBtZWFudGltZSBtYWtlCisg
ICAgICAgIHN1cmUgdGhhdCB0aGV5IGRvbid0IGZhaWwgdG8gaW5pdGlhbGlzZSBiZWNhdXNlIHRo
ZXkgd2VyZSB0b2xkIHRvCisgICAgICAgIG5vdCB1c2UgYWNjZWxlcmF0ZWQgcmVuZGVyaW5nLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4cG9ydCByZXN0YXJ0U25hcHNob3R0ZWRQbHVn
aW4gc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBmcm9tIFdLMi4KKyAgICAgICAgKiBodG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6cmVzdGFydFNpbWlsYXJQbHVnSW5zKTogRG9uJ3Qgc2V0IHRoZSBwbGF5IHN0YXRl
IGJlZm9yZSByZXN0YXJ0aW5nLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkltYWdlRWxl
bWVudDo6dXNlckRpZENsaWNrU25hcHNob3QpOiBNYWtlIHN1cmUgd2UgaW5kaWNhdGVkIHRoYXQg
dGhpcyBzbmFwc2hvdHRlZCBwbHVnaW4gd2FzIGNsaWNrZWQuCisgICAgICAgICogaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50Lmg6IE1vdmUgcmVzdGFydFNuYXBzaG90dGVkUGx1Z2luIGZyb20g
cHJvdGVjdGVkIHRvIHB1YmxpYy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU25hcHNob3R0
ZWRQbHVnSW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU25hcHNob3R0ZWRQbHVnSW46
OmhhbmRsZUV2ZW50KTogRG9uJ3Qgc2V0IHBsYXkgc3RhdGUgaGVyZS4gTGV0IHRoZSByZXN0YXJ0
IGZ1bmN0aW9ucyBkbyBpdC4KKwogMjAxMy0wNS0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBkaXNwYXRjaEV2ZW50IGNhbGwgY2FuIGV4ZWN1dGUgamF2YXNj
cmlwdCBhbmQgYmxvdyBhd2F5IGVuZFJvb3QgZnJvbSB1bmRlcm5lYXRoCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
ZDkzZDU5ZjI1MjI2MWIwYzcxMTYwYjEzZGJmMDdmMDFjZTBlOWQ1OC4uZjM0NDc2OTBiOWI5ZmU5
Yjc4MDUyNjc5OGNkYmQ2MDgxNzJkNmEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisy
MDEzLTA1LTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBEb24n
dCBzbmFwc2hvdCBwbHVnaW5zIHRoYXQgY2FuJ3QgYmUgc25hcHNob3R0ZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjQ5MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvbWUgcGx1Z2lucywgc3VjaCBh
cyBRdWlja1RpbWUsIGRvbid0IHN1cHBvcnQgc25hcHNob3R0aW5nLiBXZSdyZQorICAgICAgICBw
bGFubmluZyBvbiBhbm90aGVyIHdheSB0byBjYXB0dXJlIHNuYXBzaG90cywgYnV0IGluIHRoZSBt
ZWFudGltZSBtYWtlCisgICAgICAgIHN1cmUgdGhhdCB0aGV5IGRvbid0IGZhaWwgdG8gaW5pdGlh
bGlzZSBiZWNhdXNlIHRoZXkgd2VyZSB0b2xkIHRvCisgICAgICAgIG5vdCB1c2UgYWNjZWxlcmF0
ZWQgcmVuZGVyaW5nLgorCisgICAgICAgIEV4cG9zZSBhIG5ldyBtZXNzYWdlIG9uIHRoZSBwbHVn
aW5zIHNvIHRoYXQgdGhleSBjYW4gdGVsbCB0aGUgUGx1Z2luVmlldworICAgICAgICBpZiB0aGV5
IHN1cHBvcnQgc25hcHNob3R0aW5nIG9yIG5vdC4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJv
bGxlclByb3h5OjpzdXBwb3J0c1NuYXBzaG90dGluZyk6IE5ldyBtZXRob2QuCisgICAgICAgICog
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaDogRGl0dG8uCisgICAgICAgICog
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW46IE1lc3NhZ2Ug
c2lnbmF0dXJlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNj
YXBlUGx1Z2luLmg6IEFkZCBzdXBwb3J0c1NuYXBzaG90dGluZy4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1NpbXBsZVBERlBsdWdpbi5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luLmg6IERpdHRvIC0gcHVyZSB2aXJ0dWFsIGhlcmUuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpQbHVnaW5Qcm94eTo6c3VwcG9ydHNTbmFwc2hvdHRpbmcpOiBTZW5kIHRoZSBtZXNzYWdl
IHRvIHRoZSBwbHVnaW4gcHJvY2VzcyBhbmQgcmV0dXJuIHRoZSByZXN1bHRzLgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oOgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojpk
aWRJbml0aWFsaXplUGx1Z2luKTogSWYgdGhlIHNuYXBzaG90dGluZyBwbHVnaW4gaGFzIGEgbGF5
ZXIsIG1ha2UKKyAgICAgICAgICAgIHN1cmUgdG8gYWRkIGl0IHRvIHRoZSB0cmVlLgorICAgICAg
ICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojppc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKTog
U25hcHNob3R0aW5nIHBsdWdpbnMgY2FuIHVzZQorICAgICAgICAgICAgYWNjZWxlcmF0ZWQgY29t
cG9zaXRpbmcsIGp1c3QgbGlrZSBub3JtYWwgcGx1Z2lucy4KKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luVmlldzo6cGx1Z2luU25hcHNob3RUaW1lckZpcmVkKTogSWYgdGhlIHBsdWdpbiBkb2Vzbid0
IGFsbG93IHNuYXBzaG90dGluZywKKyAgICAgICAgICAgIGltbWVkaWF0ZWx5IHJlc3RhcnQgaXQu
CisKIDIwMTMtMDUtMjEgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIFtDTWFrZV0gQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIFdlYktpdDIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZjQzY2RmOTYyNWY4MjFkYjU1M2YxYzIwNzFiYzZjYTQx
YjY5OWFjYS4uNmU0YWYzODhmZjdjMDVlM2E4MjBmNjJhOWRiZDA5OTU0NDg2NWE3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTcyNCw2ICs3MjQsNyBAQCBfX1pON1dlYkNvcmUyMW1lbW9yeVBy
ZXNzdXJlSGFuZGxlckV2CiBfX1pON1dlYkNvcmUyMXJlc291cmNlTG9hZFNjaGVkdWxlckV2CiBf
X1pON1dlYkNvcmUyMXNldEdsb2JhbEljb25EYXRhYmFzZUVQTlNfMTZJY29uRGF0YWJhc2VCYXNl
RQogX19aTjdXZWJDb3JlMjFzZXRQbGF0Zm9ybVN0cmF0ZWdpZXNFUE5TXzE4UGxhdGZvcm1TdHJh
dGVnaWVzRQorX19aTjdXZWJDb3JlMjJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50MjRyZXN0YXJ0U25h
cHNob3R0ZWRQbHVnSW5FdgogX19aTjdXZWJDb3JlMjJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50Mjlz
ZXRJc1ByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkViCiBfX1pON1dlYkNvcmUyMlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMyMmlzQ1NTRXhjbHVzaW9uc0VuYWJsZWRFCiBfX1pON1dlYkNvcmUyMlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM0MGlzTGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJs
ZWRFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApp
bmRleCAwMTI3ZTBjMGNlYmMwZjJlNGVhYjkwMTI1NTRiZjA0YzU1YWYxY2NlLi40OTI5MDI1YjQ5
Y2UwMzc0NGFjZmVhZTJiZGQ2MTNjNmQzZjJhYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKQEAgLTQ3NSw3ICs0NzUsNiBAQCB2b2lkIEhU
TUxQbHVnSW5JbWFnZUVsZW1lbnQ6OnJlc3RhcnRTaW1pbGFyUGx1Z0lucygpCiAgICAgICAgIEhU
TUxQbHVnSW5JbWFnZUVsZW1lbnQqIHBsdWdJblRvUmVzdGFydCA9IHNpbWlsYXJQbHVnaW5zW2ld
LmdldCgpOwogICAgICAgICBpZiAocGx1Z0luVG9SZXN0YXJ0LT5kaXNwbGF5U3RhdGUoKSA8PSBI
VE1MUGx1Z0luRWxlbWVudDo6RGlzcGxheWluZ1NuYXBzaG90KSB7CiAgICAgICAgICAgICBMT0co
UGx1Z2lucywgIiVwIFBsdWctaW4gbG9va3Mgc2ltaWxhciB0byBhIHJlc3RhcnRlZCBwbHVnLWlu
LiBSZXN0YXJ0LiIsIHBsdWdJblRvUmVzdGFydCk7Ci0gICAgICAgICAgICBwbHVnSW5Ub1Jlc3Rh
cnQtPnNldERpc3BsYXlTdGF0ZShQbGF5aW5nKTsKICAgICAgICAgICAgIHBsdWdJblRvUmVzdGFy
dC0+cmVzdGFydFNuYXBzaG90dGVkUGx1Z0luKCk7CiAgICAgICAgIH0KICAgICAgICAgcGx1Z0lu
VG9SZXN0YXJ0LT5tX3NuYXBzaG90RGVjaXNpb24gPSBOZXZlclNuYXBzaG90OwpAQCAtNDkzLDYg
KzQ5Miw4IEBAIHZvaWQgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6dXNlckRpZENsaWNrU25hcHNo
b3QoUGFzc1JlZlB0cjxNb3VzZUV2ZW50PiBldmVudCwKIAogICAgIExPRyhQbHVnaW5zLCAiJXAg
VXNlciBjbGlja2VkIG9uIHNuYXBzaG90dGVkIHBsdWctaW4uIFJlc3RhcnQuIiwgdGhpcyk7CiAg
ICAgcmVzdGFydFNuYXBzaG90dGVkUGx1Z0luKCk7CisgICAgaWYgKGZvcndhcmRFdmVudCkKKyAg
ICAgICAgc2V0RGlzcGxheVN0YXRlKEhUTUxQbHVnSW5FbGVtZW50OjpSZXN0YXJ0aW5nV2l0aFBl
bmRpbmdNb3VzZUNsaWNrKTsKICAgICByZXN0YXJ0U2ltaWxhclBsdWdJbnMoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaAppbmRleCA4OTczNTI0
M2QyODAxYzZlOWY3NjVhNjI3YWQyOTVmZTgxN2M1NDYwLi40ZjlhZTViYjFhN2U3NmVjMzg1NTAz
NjkzNzBjYzIzYzdlMzJiN2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5J
bWFnZUVsZW1lbnQuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VyRGlk
Q2xpY2tTbmFwc2hvdChQYXNzUmVmUHRyPE1vdXNlRXZlbnQ+LCBib29sIGZvcndhcmRFdmVudCk7
CiAgICAgdm9pZCBjaGVja1NuYXBzaG90U3RhdHVzKCk7CiAgICAgSW1hZ2UqIHNuYXBzaG90SW1h
Z2UoKSBjb25zdCB7IHJldHVybiBtX3NuYXBzaG90SW1hZ2UuZ2V0KCk7IH0KKyAgICB2b2lkIHJl
c3RhcnRTbmFwc2hvdHRlZFBsdWdJbigpOwogCiAgICAgLy8gUGx1Zy1pbiBVUkwgbWlnaHQgbm90
IGJlIHRoZSBzYW1lIGFzIHVybCgpIHdpdGggb3ZlcnJpZGluZyBwYXJhbWV0ZXJzLgogICAgIHZv
aWQgc3ViZnJhbWVMb2FkZXJXaWxsQ3JlYXRlUGx1Z0luKGNvbnN0IEtVUkwmIHBsdWdJblVSTCk7
CkBAIC0xMjEsNyArMTIyLDYgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFJlbmRlclN0eWxlPiBjdXN0b21TdHlsZUZvclJlbmRlcmVyKCkgT1ZFUlJJREU7CiAKLSAgICB2
b2lkIHJlc3RhcnRTbmFwc2hvdHRlZFBsdWdJbigpOwogICAgIHZpcnR1YWwgYm9vbCBpc1Jlc3Rh
cnRlZFBsdWdpbigpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1faXNSZXN0YXJ0ZWRQbHVnaW47
IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTbmFwc2hvdHRlZFBsdWdJbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U25hcHNob3R0ZWRQbHVnSW4uY3BwCmluZGV4IDFhMDY4YzEzNjMyMzFiMmE0ZjE5YTlmMmYyMzFi
ZTA1YTYzZjY3YmQuLjA3NTkxMGFiZTlkMDM0NjczOWQ2OTllOTEzZmIzM2YxOGRkZmExMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbmFwc2hvdHRlZFBsdWdJ
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNuYXBzaG90dGVkUGx1
Z0luLmNwcApAQCAtMTc1LDcgKzE3NSw2IEBAIHZvaWQgUmVuZGVyU25hcHNob3R0ZWRQbHVnSW46
OmhhbmRsZUV2ZW50KEV2ZW50KiBldmVudCkKICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVu
dE5hbWVzKCkuY2xpY2tFdmVudCB8fCAobV9pc1BvdGVudGlhbE1vdXNlQWN0aXZhdGlvbiAmJiBl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZlbnQpKSB7CiAgICAgICAgIG1f
aXNQb3RlbnRpYWxNb3VzZUFjdGl2YXRpb24gPSBmYWxzZTsKICAgICAgICAgYm9vbCBjbGlja1dh
c09uT3ZlcmxheSA9IHBsdWdJbkltYWdlRWxlbWVudCgpLT5wYXJ0T2ZTbmFwc2hvdE92ZXJsYXko
ZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKSk7Ci0gICAgICAgIHBsdWdJbkltYWdlRWxlbWVudCgp
LT5zZXREaXNwbGF5U3RhdGUoY2xpY2tXYXNPbk92ZXJsYXkgPyBIVE1MUGx1Z0luRWxlbWVudDo6
UmVzdGFydGluZyA6IEhUTUxQbHVnSW5FbGVtZW50OjpSZXN0YXJ0aW5nV2l0aFBlbmRpbmdNb3Vz
ZUNsaWNrKTsKICAgICAgICAgcGx1Z0luSW1hZ2VFbGVtZW50KCktPnVzZXJEaWRDbGlja1NuYXBz
aG90KG1vdXNlRXZlbnQsICFjbGlja1dhc09uT3ZlcmxheSk7CiAgICAgICAgIGV2ZW50LT5zZXRE
ZWZhdWx0SGFuZGxlZCgpOwogICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5h
bWVzKCkubW91c2Vkb3duRXZlbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCBjZWYzZDQwYTQ0N2QwOWI1
MWUwMTA3NDY2OTdjMjBmMTcyYzgyOGRlLi5mMzEyYjAxZjdkMjAwNjFjYTFmNmI4ZDlmNzgyNWIx
MmMyYzFjMWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBAIC01NDUsNiArNTQ1LDExIEBAIHZvaWQgUGx1Z2lu
Q29udHJvbGxlclByb3h5OjpwYWludEVudGlyZVBsdWdpbigpCiAgICAgcGFpbnQoKTsKIH0KIAor
dm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnN1cHBvcnRzU25hcHNob3R0aW5nKGJvb2wmIGlz
U3VwcG9ydGVkKQoreworICAgIGlzU3VwcG9ydGVkID0gbV9wbHVnaW4tPnN1cHBvcnRzU25hcHNo
b3R0aW5nKCk7Cit9CisKIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzbmFwc2hvdChTaGFy
ZWFibGVCaXRtYXA6OkhhbmRsZSYgYmFja2luZ1N0b3JlSGFuZGxlKQogewogICAgIEFTU0VSVCht
X3BsdWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuaAppbmRleCAwNTBjNTdjYTUyNmE1ZTVmMzIyOTZiNTU2YmRiZDNmYmVh
Zjk0NGJhLi4yZTQwMmI0ZDI5ZTY4OTFiZjFjZjdhMDg4YThjNDljYjhiMjg3M2U3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5
LmgKQEAgLTE0Miw2ICsxNDIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNFZGl0aW5nQ29tbWFu
ZEVuYWJsZWQoY29uc3QgU3RyaW5nJiwgYm9vbCYpOwogICAgIHZvaWQgaGFuZGxlc1BhZ2VTY2Fs
ZUZhY3Rvcihib29sJik7CiAgICAgdm9pZCBwYWludEVudGlyZVBsdWdpbigpOworICAgIHZvaWQg
c3VwcG9ydHNTbmFwc2hvdHRpbmcoYm9vbCYpOwogICAgIHZvaWQgc25hcHNob3QoU2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGJhY2tpbmdTdG9yZUhhbmRsZSk7CiAgICAgdm9pZCBzZXRGb2N1cyhi
b29sKTsKICAgICB2b2lkIGRpZFVwZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCA1YmMzNGY3ZTEwZTUzZjkzZGUzOWZhMmU4ZmMyYWVjOGM3NGY1MjA4Li40MDA4OTlkNTYx
NTgyZjA5OGFhMTY2N2FhOGJhYWJhOWUyODk5ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMTEyLDkgKzExMiwxMiBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9sbGVyUHJv
eHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldExheWVySG9zdGluZ01vZGUodWludDMyX3QgbGF5
ZXJIb3N0aW5nTW9kZSkKICNlbmRpZgogCisgICAgIyBEb2VzIHRoZSBwbHVnaW4gc3VwcG9ydCBz
bmFwc2hvdHRpbmc/CisgICAgU3VwcG9ydHNTbmFwc2hvdHRpbmcoKSAtPiAoYm9vbCBpc1N1cHBv
cnRlZCkKKwogICAgICMgUmV0dXJuIGEgc25hcHNob3Qgb2YgdGhlIHBsdWdpbi4KICAgICBTbmFw
c2hvdCgpIC0+IChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGJhY2tpbmdTdG9yZUhh
bmRsZSkKLSAgICAKKwogICAgICMgU2VudCB3aGVuIHN0b3JhZ2UgYmxvY2tpbmcgcG9saWN5IGNo
YW5nZXMKICAgICBTdG9yYWdlQmxvY2tpbmdTdGF0ZUNoYW5nZWQoYm9vbCBzdG9yYWdlQmxvY2tp
bmdFbmFibGVkKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCmluZGV4IDBlZTRmMzQ4YzYzNDQxZmJj
NTRhMDEzMmYwMTFjMjFiZWJmNjJkYTMuLjY1MWRjNGQwZTIxZGFhMWExZTBjMDFhZDk2MDAxYTNj
MjM0NWMxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oCkBAIC0yNDUsNyArMjQ1LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhciogaG9yaXpvbnRhbFNjcm9sbGJh
cigpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyKiB2ZXJ0aWNhbFNjcm9sbGJhcigp
OwogCi0gICAgYm9vbCBzdXBwb3J0c1NuYXBzaG90dGluZygpIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c1NuYXBzaG90dGluZygpIGNvbnN0OwogCiAgICAgLy8gQ29udmVydCB0aGUg
Z2l2ZW4gcG9pbnQgZnJvbSBwbHVnLWluIGNvb3JkaW5hdGVzIHRvIHJvb3QgdmlldyBjb29yZGlu
YXRlcy4KICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IGNvbnZlcnRUb1Jvb3RWaWV3KGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3QgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1NpbXBsZVBERlBsdWdpbi5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9TaW1wbGVQREZQbHVnaW4uaAppbmRl
eCAwOGRhNzVhNGFlMDAwMzk1ODI3NGY5MjE0OGVhYmM1NjRmZjRhZGE0Li43Nzc0ZjkyNjBhNDBi
M2NjZTgxZTNjNzQ5NGI1MDBlZTA5ZDE1YzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUERGL1NpbXBsZVBERlBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvU2ltcGxlUERGUGx1Z2luLmgKQEAgLTEwMCw2ICsx
MDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3koKTsKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgZGlydHlSZWN0SW5XaW5kb3dDb29yZGluYXRlcyk7CiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZUNvbnRyb2xUaW50cyhXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqKTsKKyAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTbmFwc2hvdHRpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IHNuYXBzaG90KCk7CiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGx1Z2luTGF5ZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaAppbmRleCBlZGM0MmIw
MGM4ZDM4YmI0NDZiYmI0MDQ1ODAwMzdiZTc2MzAxZWU0Li44MGE0MzVmZDA2ZTBmN2Q3N2JmOGYz
NWUyOWU3YzlmMDYwOTk5ZDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpbi5oCkBAIC0xMTgsNiArMTE4LDkgQEAgcHVibGljOgogICAgIC8vIEludmFsaWRhdGUg
bmF0aXZlIHRpbnRhYmxlIGNvbnRyb2xzLiBUaGUgcGFzc2VkLWluIGNvbnRleHQgaXMgaW4gd2lu
ZG93IGNvb3JkaW5hdGVzLgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDb250cm9sVGludHMoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0Kik7CiAKKyAgICAvLyBSZXR1cm5zIHdoZXRoZXIgdGhlIHBs
dWctaW4gc3VwcG9ydHMgc25hcHNob3R0aW5nIG9yIG5vdC4KKyAgICB2aXJ0dWFsIGJvb2wgc3Vw
cG9ydHNTbmFwc2hvdHRpbmcoKSBjb25zdCA9IDA7CisKICAgICAvLyBUZWxscyB0aGUgcGx1Zy1p
biB0byBkcmF3IGl0c2VsZiBpbnRvIGEgYml0bWFwLCBhbmQgcmV0dXJuIHRoYXQuCiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gc25hcHNob3QoKSA9IDA7CiAKQEAgLTEy
NSw3ICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgLy8gSWYgYSBwbHVnLWluIGlzIHVzaW5nIHRoZSBD
b3JlIEFuaW1hdGlvbiBkcmF3aW5nIG1vZGVsLCB0aGlzIHJldHVybnMgaXRzIHBsdWctaW4gbGF5
ZXIuCiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbHVnaW5MYXllcigpID0gMDsKICNlbmRp
ZgotICAgIAorCiAgICAgLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBwbHVnLWluIGlzIHRyYW5zcGFy
ZW50IG9yIG5vdC4KICAgICB2aXJ0dWFsIGJvb2wgaXNUcmFuc3BhcmVudCgpID0gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKaW5k
ZXggNzk5MGRkNzNkNTdkNzhiYTk5ZjI4NzgwNDk2ZDE4NjRlODk2OGIxMi4uZmJjNmQ0MzA2NTlh
ZjBjYjEzOWJkMTcwZTdhMTk5MTlkYzRmYTc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCkBAIC0yMzAsNiArMjMwLDE4IEBAIHZv
aWQgUGx1Z2luUHJveHk6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBj
b25zdCBJbnRSZWN0JiBkaXJ0eVJlCiAgICAgfQogfQogCitib29sIFBsdWdpblByb3h5OjpzdXBw
b3J0c1NuYXBzaG90dGluZygpIGNvbnN0Cit7CisgICAgaWYgKG1fd2FpdGluZ09uQXN5bmNocm9u
b3VzSW5pdGlhbGl6YXRpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJvb2wgaXNT
dXBwb3J0ZWQgPSBmYWxzZTsKKyAgICBpZiAoIW1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5z
ZW5kU3luYyhNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpTdXBwb3J0c1NuYXBzaG90
dGluZygpLCBNZXNzYWdlczo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpTdXBwb3J0c1NuYXBzaG90
dGluZzo6UmVwbHkoaXNTdXBwb3J0ZWQpLCBtX3BsdWdpbkluc3RhbmNlSUQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gaXNTdXBwb3J0ZWQ7Cit9CisKIFBhc3NSZWZQdHI8
U2hhcmVhYmxlQml0bWFwPiBQbHVnaW5Qcm94eTo6c25hcHNob3QoKQogewogICAgIFNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlIHNuYXBzaG90U3RvcmVIYW5kbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oCmluZGV4IGY3NGYwMjUzZDU5MDI0ZjY0
MGVlNDVmZDI0NmRhYWVmZjZkNWE4MjIuLjc2ODU5MzA4NGEzMzdiMzYzNjc3Njk2MTYwZGNkYzRk
ZDUyMWMyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm94eS5oCkBAIC03Niw2ICs3Niw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGVzdHJveSgpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBkaXJ0eVJlY3QpOworICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c1NuYXBzaG90dGluZygpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxT
aGFyZWFibGVCaXRtYXA+IHNuYXBzaG90KCk7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1
YWwgUGxhdGZvcm1MYXllciogcGx1Z2luTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCA0N2Q2ODE5OGVkMTU0ODNhOWM1
MzY2YmMyNThkODgzZGYwMDllMDJlLi5jMjg4ZDlhZTgwZjZmYjRmMmJkMjAwNTNkZTBmYjExMGEw
NmIyNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCkBAIC01NzUsNiArNTc1LDEyIEBAIHZvaWQgUGx1Z2luVmlldzo6ZGlkSW5pdGlh
bGl6ZVBsdWdpbigpCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKG1fcGx1Z2luRWxlbWVu
dC0+ZGlzcGxheVN0YXRlKCkgPCBIVE1MUGx1Z0luRWxlbWVudDo6UmVzdGFydGluZykgeworICAg
ICAgICBpZiAobV9wbHVnaW4tPnBsdWdpbkxheWVyKCkpIHsKKyAgICAgICAgICAgIGlmIChmcmFt
ZSgpKSB7CisgICAgICAgICAgICAgICAgZnJhbWUoKS0+dmlldygpLT5lbnRlckNvbXBvc2l0aW5n
TW9kZSgpOworICAgICAgICAgICAgICAgIG1fcGx1Z2luRWxlbWVudC0+c2V0TmVlZHNTdHlsZVJl
Y2FsYyhTeW50aGV0aWNTdHlsZUNoYW5nZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAg
ICAgICAgaWYgKGZyYW1lKCkgJiYgIWZyYW1lKCktPnNldHRpbmdzKCktPm1heGltdW1QbHVnSW5T
bmFwc2hvdEF0dGVtcHRzKCkpIHsKICAgICAgICAgICAgIG1fcGx1Z2luRWxlbWVudC0+c2V0RGlz
cGxheVN0YXRlKEhUTUxQbHVnSW5FbGVtZW50OjpEaXNwbGF5aW5nU25hcHNob3QpOwogICAgICAg
ICAgICAgcmV0dXJuOwpAQCAtMTM4Myw4ICsxMzg5LDYgQEAgYm9vbCBQbHVnaW5WaWV3Ojppc0Fj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkKICAgICBpZiAoIXNldHRpbmdzKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAobV9wbHVnaW5FbGVtZW50LT5kaXNwbGF5U3RhdGUo
KSA8IEhUTUxQbHVnSW5FbGVtZW50OjpSZXN0YXJ0aW5nKQotICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgcmV0dXJuIHNldHRpbmdzLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpOwog
fQogCkBAIC0xNjM0LDYgKzE2MzgsMTEgQEAgdm9pZCBQbHVnaW5WaWV3OjpwbHVnaW5TbmFwc2hv
dFRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxQbHVnaW5WaWV3PiopCiB7CiAgICAg
QVNTRVJUKG1fcGx1Z2luKTsKIAorICAgIGlmICghbV9wbHVnaW4tPnN1cHBvcnRzU25hcHNob3R0
aW5nKCkgJiYgbV9wbHVnaW5FbGVtZW50LT5pc1BsdWdJbkltYWdlRWxlbWVudCgpKSB7CisgICAg
ICAgIHRvSFRNTFBsdWdJbkltYWdlRWxlbWVudChtX3BsdWdpbkVsZW1lbnQuZ2V0KCkpLT5yZXN0
YXJ0U25hcHNob3R0ZWRQbHVnSW4oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8v
IFNuYXBzaG90IG1pZ2h0IGJlIDAgaWYgcGx1Z2luIHNpemUgaXMgMHgwLgogICAgIFJlZlB0cjxT
aGFyZWFibGVCaXRtYXA+IHNuYXBzaG90ID0gbV9wbHVnaW4tPnNuYXBzaG90KCk7CiAgICAgUmVm
UHRyPEltYWdlPiBzbmFwc2hvdEltYWdlOwo=
</data>
<flag name="review"
          id="224019"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>