<?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>77505</bug_id>
          
          <creation_ts>2012-01-31 20:08:23 -0800</creation_ts>
          <short_desc>Paginated display does not respect page-break-{before,after}</short_desc>
          <delta_ts>2012-02-01 16:02:58 -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>WebKit API</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>546760</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-31 20:08:23 -0800</bug_when>
    <thetext>Paginated display does not respect page-break-{before,after}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546761</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-01-31 20:09:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/10442663&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547189</commentid>
    <comment_count>2</comment_count>
      <attachid>124967</attachid>
    <who name="">mitz</who>
    <bug_when>2012-02-01 10:35:55 -0800</bug_when>
    <thetext>Created attachment 124967
Make RenderView pagination respect page-break properties by default and add API to make it respect column-break properties instead</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547365</commentid>
    <comment_count>3</comment_count>
      <attachid>124967</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-01 14:18:52 -0800</bug_when>
    <thetext>Comment on attachment 124967
Make RenderView pagination respect page-break properties by default and add API to make it respect column-break properties instead

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

&gt; Source/WebCore/rendering/RenderBlock.h:908
&gt; +    virtual ColumnInfo::PaginationUnit paginationUnit();

Make this member function const?

&gt; Source/WebCore/rendering/RenderView.cpp:209
&gt; +    if (m_frameView) {
&gt; +        if (Frame* frame = m_frameView-&gt;frame()) {
&gt; +            if (Page* page = frame-&gt;page())
&gt; +                return (frame == page-&gt;mainFrame() &amp;&amp; page-&gt;pagination().behavesLikeColumns) ? ColumnInfo::Column : ColumnInfo::Page;
&gt; +        }
&gt; +    }

I think it would be nice to have a helper for the “page if this is the main frame of a page” logic. It’s repeated a few different places and it would be nice if it wasn’t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547459</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-02-01 16:02:58 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r106511&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124967</attachid>
            <date>2012-02-01 10:35:55 -0800</date>
            <delta_ts>2012-02-01 14:18:52 -0800</delta_ts>
            <desc>Make RenderView pagination respect page-break properties by default and add API to make it respect column-break properties instead</desc>
            <filename>bug-77505-20120201103554.patch</filename>
            <type>text/plain</type>
            <size>22647</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjQ3NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAxICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIDxyZGFy
Oi8vcHJvYmxlbS8xMDQ0MjY2Mz4gUGFnaW5hdGVkIGRpc3BsYXkgZG9lcyBub3QgcmVzcGVjdCBw
YWdlLWJyZWFrLXtiZWZvcmUsYWZ0ZXJ9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NzUwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQ
YWdpbmF0aW9uOjpQYWdpbmF0aW9uKTogQWRkZWQgaW5pdGlhbGl6ZXIgZm9yIHRoZSBiZWhhdmVz
TGlrZUNvbHVtbnMgbWVtYmVyCisgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6UGFnaW5hdGlvbjo6b3BlcmF0b3I9PSk6IEFkZGVkIGNvbXBhcmlzb24gb2YgYmVoYXZl
c0xpa2VDb2x1bW5zIHZhbHVlcy4KKyAgICAgICAgKFBhZ2luYXRpb24pOiBBZGRlZCBiZWhhdmVz
TGlrZUNvbHVtbnMgbWVtYmVyIHZhcmlhYmxlLiBXaGVuIHNldCB0byBmYWxzZSAodGhlIGRlZmF1
bHQpLAorICAgICAgICBwYWdpbmF0ZWQgZGlzcGxheSByZXNwZWN0cyB0aGUgcGFnZS1icmVhay17
YmVmb3JlLGFmdGVyfSBwcm9wZXJ0aWVzIHJhdGhlciB0aGFuIHRoZQorICAgICAgICBjb2x1bW4t
YnJlYWste2JlZm9yZSxhZnRlcn0gb25lcy4KKyAgICAgICAgKiByZW5kZXJpbmcvQ29sdW1uSW5m
by5oOgorICAgICAgICAoV2ViQ29yZTo6Q29sdW1uSW5mbzo6Q29sdW1uSW5mbyk6IEFkZGVkIGlu
aXRpYWxpemVyIGZvciB0aGUgbV9wYWdpbmF0aW9uVW5pdCBtZW1iZXIuCisgICAgICAgIChXZWJD
b3JlOjpDb2x1bW5JbmZvOjpwYWdpbmF0aW9uVW5pdCk6IEFkZGVkIHRoaXMgZ2V0dGVyLgorICAg
ICAgICAoV2ViQ29yZTo6Q29sdW1uSW5mbzo6c2V0UGFnaW5hdGlvblVuaXQpOiBBZGRlZCB0aGlz
IHNldHRlci4KKyAgICAgICAgKENvbHVtbkluZm8pOiBBZGRlZCBtX3BhZ2luYXRpb25Vbml0IG1l
bWJlci4gSXQgZGVmYXVsdHMgdG8gQ29sdW1uLgorICAgICAgICAqIHJlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OmlzUGFnaW5hdGluZ0NvbHVt
bnMpOiBDaGFuZ2VkIHRvIGNoZWNrIHRoZSBwYWdpbmF0aW9uIHVuaXQuCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjps
YXlvdXRCbG9jayk6IEFkZGVkIGNvZGUgdG8gc2V0IHRoZSBwYWdpbmF0aW9uIHVuaXQgaW4gdGhl
IENvbHVtbkluZm8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFnaW5hdGlvblVu
aXQpOiBBZGRlZC4gVGhlIGJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb24gcmV0dXJucyBDb2x1bW4u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cGFnaW5hdGlv
blVuaXQpOiBBZGRlZCB0aGlzIG92ZXJyaWRlIHRoYXQgcmV0dXJucyBQYWdlLCB1bmxlc3MKKyAg
ICAgICAgdGhpcyBpcyB0aGUgUmVuZGVyVmlldyBmb3IgdGhlIG1haW4gZnJhbWUgYW5kIHBhZ2lu
YXRpb24gaXMgc2V0IHRvIGJlaGF2ZSBsaWtlIGNvbHVtbnMuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclZpZXcuaDoKKwogMjAxMi0wMi0wMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5j
aGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gZWRpdGluZy9pbnNlcnRpbmcvNDk2MDEy
MC0yLmh0bWwgZmxha3kgY3Jhc2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAxMDY0Njkp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjcwLDYg
KzI3MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAgICAgUGFnaW5hdGlvbigp
CiAgICAgICAgICAgICAgICAgOiBtb2RlKFVucGFnaW5hdGVkKQorICAgICAgICAgICAgICAgICwg
YmVoYXZlc0xpa2VDb2x1bW5zKGZhbHNlKQogICAgICAgICAgICAgICAgICwgcGFnZUxlbmd0aCgw
KQogICAgICAgICAgICAgICAgICwgZ2FwKDApCiAgICAgICAgICAgICB7CkBAIC0yNzcsMTAgKzI3
OCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgICAgIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBQYWdpbmF0aW9uJiBvdGhlcikgY29uc3QKICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gbW9kZSA9PSBvdGhlci5tb2RlICYmIHBhZ2VMZW5ndGggPT0gb3RoZXIu
cGFnZUxlbmd0aCAmJiBnYXAgPT0gb3RoZXIuZ2FwOworICAgICAgICAgICAgICAgIHJldHVybiBt
b2RlID09IG90aGVyLm1vZGUgJiYgYmVoYXZlc0xpa2VDb2x1bW5zID09IG90aGVyLmJlaGF2ZXNM
aWtlQ29sdW1ucyAmJiBwYWdlTGVuZ3RoID09IG90aGVyLnBhZ2VMZW5ndGggJiYgZ2FwID09IG90
aGVyLmdhcDsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgTW9kZSBtb2RlOworICAgICAg
ICAgICAgYm9vbCBiZWhhdmVzTGlrZUNvbHVtbnM7CiAgICAgICAgICAgICB1bnNpZ25lZCBwYWdl
TGVuZ3RoOwogICAgICAgICAgICAgdW5zaWduZWQgZ2FwOwogICAgICAgICB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCShyZXZpc2lvbiAxMDY0NjkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2
ICs0NCw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2ZvcmNlZEJyZWFrcygwKQogICAgICAgICAs
IG1fbWF4aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrcygwKQogICAgICAgICAsIG1fZm9y
Y2VkQnJlYWtPZmZzZXQoMCkKKyAgICAgICAgLCBtX3BhZ2luYXRpb25Vbml0KENvbHVtbikKICAg
ICB7CiAgICAgfQogCkBAIC05Myw2ICs5NCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fZm9yY2Vk
QnJlYWtPZmZzZXQgPSBvZmZzZXRGcm9tRmlyc3RQYWdlOwogICAgIH0KIAorICAgIGVudW0gUGFn
aW5hdGlvblVuaXQgeyBDb2x1bW4sIFBhZ2UgfTsKKyAgICBQYWdpbmF0aW9uVW5pdCBwYWdpbmF0
aW9uVW5pdCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnaW5hdGlvblVuaXQ7IH0KKyAgICB2b2lkIHNl
dFBhZ2luYXRpb25Vbml0KFBhZ2luYXRpb25Vbml0IHBhZ2luYXRpb25Vbml0KSB7IG1fcGFnaW5h
dGlvblVuaXQgPSBwYWdpbmF0aW9uVW5pdDsgfQorCiBwcml2YXRlOgogICAgIExheW91dFVuaXQg
bV9kZXNpcmVkQ29sdW1uV2lkdGg7CiAgICAgdW5zaWduZWQgbV9kZXNpcmVkQ29sdW1uQ291bnQ7
CkBAIC0xMDQsNiArMTA5LDcgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9mb3JjZWRCcmVha3M7IC8v
IEZJWE1FOiBXZSB3aWxsIHVsdGltYXRlbHkgbmVlZCB0byBjYWNoZSBtb3JlIGluZm9ybWF0aW9u
IHRvIGJhbGFuY2UgYXJvdW5kIGZvcmNlZCBicmVha3MgcHJvcGVybHkuCiAgICAgaW50IG1fbWF4
aW11bURpc3RhbmNlQmV0d2VlbkZvcmNlZEJyZWFrczsKICAgICBpbnQgbV9mb3JjZWRCcmVha09m
ZnNldDsKKyAgICBQYWdpbmF0aW9uVW5pdCBtX3BhZ2luYXRpb25Vbml0OwogfTsKIAogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgJKHJldmlzaW9uIDEwNjQ2OSkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiwxMyArMjYsMTMgQEAKICNpZm5kZWYgTGF5b3V0U3RhdGVfaAogI2RlZmluZSBMYXlv
dXRTdGF0ZV9oCiAKKyNpbmNsdWRlICJDb2x1bW5JbmZvLmgiCiAjaW5jbHVkZSAiTGF5b3V0VHlw
ZXMuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm87CiBjbGFzcyBS
ZW5kZXJBcmVuYTsKIGNsYXNzIFJlbmRlckJsb2NrOwogY2xhc3MgUmVuZGVyQm94OwpAQCAtNjks
NyArNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCosIHNpemVf
dCk7CiAKICAgICB2b2lkIGNsZWFyUGFnaW5hdGlvbkluZm9ybWF0aW9uKCk7Ci0gICAgYm9vbCBp
c1BhZ2luYXRpbmdDb2x1bW5zKCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5JbmZvOyB9CisgICAg
Ym9vbCBpc1BhZ2luYXRpbmdDb2x1bW5zKCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5JbmZvICYm
IG1fY29sdW1uSW5mby0+cGFnaW5hdGlvblVuaXQoKSA9PSBDb2x1bW5JbmZvOjpDb2x1bW47IH0K
ICAgICBib29sIGlzUGFnaW5hdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhZ2luYXRlZDsgfQog
ICAgIAogICAgIC8vIFRoZSBwYWdlIGxvZ2ljYWwgb2Zmc2V0IGlzIHRoZSBvYmplY3QncyBvZmZz
ZXQgZnJvbSB0aGUgdG9wIG9mIHRoZSBwYWdlIGluIHRoZSBwYWdlIHByb2dyZXNzaW9uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDEwNjQ2
OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyNjEsNiArMTI2MSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2Nr
KGJvb2wgcmVsYXkKICAgICAgICAgCiAgICAgICAgIGlmICghaGFzU3BlY2lmaWVkUGFnZUxvZ2lj
YWxIZWlnaHQgJiYgIXBhZ2VMb2dpY2FsSGVpZ2h0KQogICAgICAgICAgICAgY29sSW5mby0+Y2xl
YXJGb3JjZWRCcmVha3MoKTsKKworICAgICAgICBjb2xJbmZvLT5zZXRQYWdpbmF0aW9uVW5pdChw
YWdpbmF0aW9uVW5pdCgpKTsKICAgICB9CiAKICAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0g
dmlldygpOwpAQCAtNjM5MCw2ICs2MzkyLDExIEBAIHN0YXRpYyBib29sIGluTm9ybWFsRmxvdyhS
ZW5kZXJCb3gqIGNoaWwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorQ29sdW1uSW5mbzo6UGFnaW5h
dGlvblVuaXQgUmVuZGVyQmxvY2s6OnBhZ2luYXRpb25Vbml0KCkKK3sKKyAgICByZXR1cm4gQ29s
dW1uSW5mbzo6Q29sdW1uOworfQorCiBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjphcHBseUJlZm9y
ZUJyZWFrKFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbG9naWNhbE9mZnNldCkKIHsKICAg
ICAvLyBGSVhNRTogQWRkIHBhZ2UgYnJlYWsgY2hlY2tpbmcgaGVyZSB3aGVuIHdlIHN1cHBvcnQg
cHJpbnRpbmcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2
aXNpb24gMTA2NDY5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgUmVuZGVyQmxvY2tfaAog
I2RlZmluZSBSZW5kZXJCbG9ja19oCiAKKyNpbmNsdWRlICJDb2x1bW5JbmZvLmgiCiAjaW5jbHVk
ZSAiR2FwUmVjdHMuaCIKICNpbmNsdWRlICJQT0RJbnRlcnZhbFRyZWUuaCIKICNpbmNsdWRlICJS
ZW5kZXJCb3guaCIKQEAgLTM1LDcgKzM2LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQmlkaUNvbnRleHQ7Ci1jbGFzcyBDb2x1bW5JbmZvOwogY2xhc3MgSW5saW5lSXRlcmF0b3I7
CiBjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXI7CiBjbGFzcyBMYXp5TGluZUJyZWFrSXRlcmF0
b3I7CkBAIC05MDUsNiArOTA1LDggQEAgcHJvdGVjdGVkOgogICAgIExheW91dFVuaXQgbmV4dFBh
Z2VMb2dpY2FsVG9wKExheW91dFVuaXQgbG9naWNhbE9mZnNldCwgUGFnZUJvdW5kYXJ5UnVsZSA9
IEV4Y2x1ZGVQYWdlQm91bmRhcnkpIGNvbnN0OwogICAgIGJvb2wgaGFzTmV4dFBhZ2UoTGF5b3V0
VW5pdCBsb2dpY2FsT2Zmc2V0LCBQYWdlQm91bmRhcnlSdWxlID0gRXhjbHVkZVBhZ2VCb3VuZGFy
eSkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIENvbHVtbkluZm86OlBhZ2luYXRpb25Vbml0IHBhZ2lu
YXRpb25Vbml0KCk7CisKICAgICBMYXlvdXRVbml0IGFwcGx5QmVmb3JlQnJlYWsoUmVuZGVyQm94
KiBjaGlsZCwgTGF5b3V0VW5pdCBsb2dpY2FsT2Zmc2V0KTsgLy8gSWYgdGhlIGNoaWxkIGhhcyBh
IGJlZm9yZSBicmVhaywgdGhlbiByZXR1cm4gYSBuZXcgeVBvcyB0aGF0IHNoaWZ0cyB0byB0aGUg
dG9wIG9mIHRoZSBuZXh0IHBhZ2UvY29sdW1uLgogICAgIExheW91dFVuaXQgYXBwbHlBZnRlckJy
ZWFrKFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbG9naWNhbE9mZnNldCwgTWFyZ2luSW5m
byYpOyAvLyBJZiB0aGUgY2hpbGQgaGFzIGFuIGFmdGVyIGJyZWFrLCB0aGVuIHJldHVybiBhIG5l
dyBvZmZzZXQgdGhhdCBzaGlmdHMgdG8gdGhlIHRvcCBvZiB0aGUgbmV4dCBwYWdlL2NvbHVtbi4K
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAkocmV2aXNpb24g
MTA2NDY5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTksNiArMTk5LDE3IEBAIHZvaWQgUmVuZGVyVmlldzo6Y2FsY0NvbHVt
bldpZHRoKCkKICAgICBzZXREZXNpcmVkQ29sdW1uQ291bnRBbmRXaWR0aCgxLCBjb2x1bW5XaWR0
aCk7CiB9CiAKK0NvbHVtbkluZm86OlBhZ2luYXRpb25Vbml0IFJlbmRlclZpZXc6OnBhZ2luYXRp
b25Vbml0KCkKK3sKKyAgICBpZiAobV9mcmFtZVZpZXcpIHsKKyAgICAgICAgaWYgKEZyYW1lKiBm
cmFtZSA9IG1fZnJhbWVWaWV3LT5mcmFtZSgpKSB7CisgICAgICAgICAgICBpZiAoUGFnZSogcGFn
ZSA9IGZyYW1lLT5wYWdlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIChmcmFtZSA9PSBwYWdl
LT5tYWluRnJhbWUoKSAmJiBwYWdlLT5wYWdpbmF0aW9uKCkuYmVoYXZlc0xpa2VDb2x1bW5zKSA/
IENvbHVtbkluZm86OkNvbHVtbiA6IENvbHVtbkluZm86OlBhZ2U7CisgICAgICAgIH0KKyAgICB9
CisgICAgcmV0dXJuIENvbHVtbkluZm86OlBhZ2U7Cit9CisKIHZvaWQgUmVuZGVyVmlldzo6cGFp
bnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkK
IHsKICAgICAvLyBJZiB3ZSBldmVyIHJlcXVpcmUgbGF5b3V0IGJ1dCByZWNlaXZlIGEgcGFpbnQg
YW55d2F5LCBzb21ldGhpbmcgaGFzIGdvbmUgaG9ycmlibHkgd3JvbmcuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHJldmlzaW9uIDEwNjQ2OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTE5OCw2ICsx
OTgsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNhbGNDb2x1
bW5XaWR0aCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgQ29sdW1uSW5mbzo6UGFnaW5hdGlvblVu
aXQgcGFnaW5hdGlvblVuaXQoKSBPVkVSUklERTsKIAogICAgIGJvb2wgc2hvdWxkUmVwYWludChj
b25zdCBJbnRSZWN0JiByKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTA2NDY5
KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzcgQEAKKzIwMTItMDItMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWJLaXQyIHBhcnQgb2YgPHJkYXI6Ly9wcm9ibGVtLzEwNDQyNjYzPiBQYWdpbmF0ZWQg
ZGlzcGxheSBkb2VzIG5vdCByZXNwZWN0IHBhZ2UtYnJlYWste2JlZm9yZSxhZnRlcn0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTA1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSk6IEVuY29kZSBwYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5z
LgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOiBE
ZWNvZGUgcGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucy4KKyAgICAgICAgKiBTaGFyZWQvV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAoV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyk6IEFkZGVkIHBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMgYm9vbGVhbi4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2lu
YXRpb25CZWhhdmVzTGlrZUNvbHVtbnMpOiBBZGRlZCB0aGlzIHNldHRlci4KKyAgICAgICAgKFdL
UGFnZUdldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMpOiBBZGRlZCB0aGlzIGdldHRlci4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbToKKyAgICAgICAg
KC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIHNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNv
bHVtbnM6XSk6IEFkZGVkIHRoaXMgT2JqZWN0aXZlLUMKKyAgICAgICAgd3JhcHBlciBhcm91bmQg
V0tQYWdlU2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucy4KKyAgICAgICAgKC1bV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyIHBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnNdKTogQWRk
ZWQgdGhpcyBPYmplY3RpdmUtQyB3cmFwcGVyCisgICAgICAgIGFyb3VuZCBXS1BhZ2VHZXRQYWdp
bmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpXZWJQYWdl
UHJveHkpOiBBZGRlZCBjYWxsIHRvIHNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMoKSB3
aXRoCisgICAgICAgIHRoZSB2YWx1ZSBmcm9tIHRoZSBjcmVhdGlvbiBwYXJhbWV0ZXJzLgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVt
bnMpOiBBZGRlZCB0aGlzIHNldHRlci4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpj
cmVhdGlvblBhcmFtZXRlcnMpOiBQb3B1bGF0ZSBwYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5z
LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpwYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zKTogQWRkZWQgdGhpcyBn
ZXR0ZXIuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRQYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zKTogQWRk
ZWQgdGhpcyBzZXR0ZXIuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkZWQg
U2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyBtZXNzYWdlLgorCiAyMDEyLTAxLTMxICBB
bGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KFdlYktpdDIpOiBldmVudC5rZXlDb2RlIGlzIGFsd2F5cyB6ZXJvIHdoZW4gdHlwaW5nIGluIFJ1
c3NpYW4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5jcHAJKHJldmlzaW9uIDEwNjQ2OSkKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcs
NiArNDcsNyBAQCB2b2lkIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShDCiAgICAg
ZW5jb2Rlci0+ZW5jb2RlKHVzZUZpeGVkTGF5b3V0KTsKICAgICBlbmNvZGVyLT5lbmNvZGUoZml4
ZWRMYXlvdXRTaXplKTsKICAgICBlbmNvZGVyLT5lbmNvZGVFbnVtKHBhZ2luYXRpb25Nb2RlKTsK
KyAgICBlbmNvZGVyLT5lbmNvZGUocGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyk7CiAgICAg
ZW5jb2Rlci0+ZW5jb2RlKHBhZ2VMZW5ndGgpOwogICAgIGVuY29kZXItPmVuY29kZShnYXBCZXR3
ZWVuUGFnZXMpOwogICAgIGVuY29kZXItPmVuY29kZSh1c2VyQWdlbnQpOwpAQCAtOTYsNiArOTcs
OCBAQCBib29sIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShDCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXItPmRlY29kZUVudW0ocGFyYW1ldGVycy5wYWdp
bmF0aW9uTW9kZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXItPmRl
Y29kZShwYXJhbWV0ZXJzLnBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocGFyYW1ldGVycy5wYWdlTGVu
Z3RoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBh
cmFtZXRlcnMuZ2FwQmV0d2VlblBhZ2VzKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMTA2NDY5KQorKysg
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyB7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBmaXhlZExheW91dFNpemU7CiAKICAgICBXZWJDb3Jl
OjpQYWdlOjpQYWdpbmF0aW9uOjpNb2RlIHBhZ2luYXRpb25Nb2RlOworICAgIGJvb2wgcGFnaW5h
dGlvbkJlaGF2ZXNMaWtlQ29sdW1uczsKICAgICBkb3VibGUgcGFnZUxlbmd0aDsKICAgICBkb3Vi
bGUgZ2FwQmV0d2VlblBhZ2VzOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTA2NDY5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYsNyBAQCBX
ZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50KiBwCiAgICAgLCBtX2FyZU1lbW9y
eUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkKHRydWUpCiAgICAgLCBtX3VzZUZpeGVkTGF5b3V0KGZh
bHNlKQogICAgICwgbV9wYWdpbmF0aW9uTW9kZShQYWdlOjpQYWdpbmF0aW9uOjpVbnBhZ2luYXRl
ZCkKKyAgICAsIG1fcGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyhmYWxzZSkKICAgICAsIG1f
cGFnZUxlbmd0aCgwKQogICAgICwgbV9nYXBCZXR3ZWVuUGFnZXMoMCkKICAgICAsIG1faXNWYWxp
ZCh0cnVlKQpAQCAtMTMxMyw2ICsxMzE0LDE4IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQYWdp
bmF0aW9uTW9kZShXZWIKICAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNl
dFBhZ2luYXRpb25Nb2RlKG1vZGUpLCBtX3BhZ2VJRCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5
OjpzZXRQYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zKGJvb2wgYmVoYXZlc0xpa2VDb2x1bW5z
KQoreworICAgIGlmIChiZWhhdmVzTGlrZUNvbHVtbnMgPT0gbV9wYWdpbmF0aW9uQmVoYXZlc0xp
a2VDb2x1bW5zKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BhZ2luYXRpb25CZWhhdmVzTGlr
ZUNvbHVtbnMgPSBiZWhhdmVzTGlrZUNvbHVtbnM7CisKKyAgICBpZiAoIWlzVmFsaWQoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0
UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyhiZWhhdmVzTGlrZUNvbHVtbnMpLCBtX3BhZ2VJ
RCk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQYWdlTGVuZ3RoKGRvdWJsZSBwYWdlTGVu
Z3RoKQogewogICAgIGlmIChwYWdlTGVuZ3RoID09IG1fcGFnZUxlbmd0aCkKQEAgLTMyNjAsNiAr
MzI3Myw3IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjoKICAgICBw
YXJhbWV0ZXJzLnVzZUZpeGVkTGF5b3V0ID0gbV91c2VGaXhlZExheW91dDsKICAgICBwYXJhbWV0
ZXJzLmZpeGVkTGF5b3V0U2l6ZSA9IG1fZml4ZWRMYXlvdXRTaXplOwogICAgIHBhcmFtZXRlcnMu
cGFnaW5hdGlvbk1vZGUgPSBtX3BhZ2luYXRpb25Nb2RlOworICAgIHBhcmFtZXRlcnMucGFnaW5h
dGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyA9IG1fcGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1uczsK
ICAgICBwYXJhbWV0ZXJzLnBhZ2VMZW5ndGggPSBtX3BhZ2VMZW5ndGg7CiAgICAgcGFyYW1ldGVy
cy5nYXBCZXR3ZWVuUGFnZXMgPSBtX2dhcEJldHdlZW5QYWdlczsKICAgICBwYXJhbWV0ZXJzLnVz
ZXJBZ2VudCA9IHVzZXJBZ2VudCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAkocmV2aXNpb24gMTA2NDY5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NDEsNiArNDQxLDggQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzZXRQYWdpbmF0aW9uTW9kZShXZWJDb3JlOjpQYWdlOjpQYWdpbmF0aW9u
OjpNb2RlKTsKICAgICBXZWJDb3JlOjpQYWdlOjpQYWdpbmF0aW9uOjpNb2RlIHBhZ2luYXRpb25N
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9wYWdpbmF0aW9uTW9kZTsgfQorICAgIHZvaWQgc2V0UGFn
aW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyhib29sKTsKKyAgICBib29sIHBhZ2luYXRpb25CZWhh
dmVzTGlrZUNvbHVtbnMoKSBjb25zdCB7IHJldHVybiBtX3BhZ2luYXRpb25CZWhhdmVzTGlrZUNv
bHVtbnM7IH0KICAgICB2b2lkIHNldFBhZ2VMZW5ndGgoZG91YmxlKTsKICAgICBkb3VibGUgcGFn
ZUxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUxlbmd0aDsgfQogICAgIHZvaWQgc2V0R2Fw
QmV0d2VlblBhZ2VzKGRvdWJsZSk7CkBAIC05NDYsNiArOTQ4LDcgQEAgcHJpdmF0ZToKICAgICBX
ZWJDb3JlOjpJbnRTaXplIG1fZml4ZWRMYXlvdXRTaXplOwogCiAgICAgV2ViQ29yZTo6UGFnZTo6
UGFnaW5hdGlvbjo6TW9kZSBtX3BhZ2luYXRpb25Nb2RlOworICAgIGJvb2wgbV9wYWdpbmF0aW9u
QmVoYXZlc0xpa2VDb2x1bW5zOwogICAgIGRvdWJsZSBtX3BhZ2VMZW5ndGg7CiAgICAgZG91Ymxl
IG1fZ2FwQmV0d2VlblBhZ2VzOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmNwcAkocmV2aXNpb24gMTA2NDY5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3OSw2ICszNzksMTYgQEAg
V0tQYWdpbmF0aW9uTW9kZSBXS1BhZ2VHZXRQYWdpbmF0aW9uTW9kZQogICAgIHJldHVybiBrV0tQ
YWdpbmF0aW9uTW9kZVVucGFnaW5hdGVkOwogfQogCit2b2lkIFdLUGFnZVNldFBhZ2luYXRpb25C
ZWhhdmVzTGlrZUNvbHVtbnMoV0tQYWdlUmVmIHBhZ2VSZWYsIGJvb2wgYmVoYXZlc0xpa2VDb2x1
bW5zKQoreworICAgIHRvSW1wbChwYWdlUmVmKS0+c2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29s
dW1ucyhiZWhhdmVzTGlrZUNvbHVtbnMpOworfQorCitib29sIFdLUGFnZUdldFBhZ2luYXRpb25C
ZWhhdmVzTGlrZUNvbHVtbnMoV0tQYWdlUmVmIHBhZ2VSZWYpCit7CisgICAgcmV0dXJuIHRvSW1w
bChwYWdlUmVmKS0+cGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucygpOworfQorCiB2b2lkIFdL
UGFnZVNldFBhZ2VMZW5ndGgoV0tQYWdlUmVmIHBhZ2VSZWYsIGRvdWJsZSBwYWdlTGVuZ3RoKQog
ewogICAgIHRvSW1wbChwYWdlUmVmKS0+c2V0UGFnZUxlbmd0aChwYWdlTGVuZ3RoKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAkocmV2
aXNpb24gMTA2NDY5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVBy
aXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOCBAQCB0eXBlZGVmIHVpbnQzMl90
IFdLUGFnaW5hdGlvbk1vZGU7CiAKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2luYXRpb25N
b2RlKFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2luYXRpb25Nb2RlIHBhZ2luYXRpb25Nb2RlKTsKIFdL
X0VYUE9SVCBXS1BhZ2luYXRpb25Nb2RlIFdLUGFnZUdldFBhZ2luYXRpb25Nb2RlKFdLUGFnZVJl
ZiBwYWdlKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNv
bHVtbnMoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgYmVoYXZlc0xpa2VDb2x1bW5zKTsKK1dLX0VYUE9S
VCBib29sIFdLUGFnZUdldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMoV0tQYWdlUmVmIHBh
Z2UpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0UGFnZUxlbmd0aChXS1BhZ2VSZWYgcGFnZSwg
ZG91YmxlIHBhZ2VzUGVyVmlldyk7CiBXS19FWFBPUlQgZG91YmxlIFdLUGFnZUdldFBhZ2VMZW5n
dGgoV0tQYWdlUmVmIHBhZ2UpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0R2FwQmV0d2VlblBh
Z2VzKFdLUGFnZVJlZiBwYWdlLCBkb3VibGUgZ2FwKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIubW0JKHJldmlzaW9uIDEwNjQ2OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpA
QCAtMjQzLDYgKzI0MywxNiBAQCAtIChXS0Jyb3dzaW5nQ29udGV4dFBhZ2luYXRpb25Nb2RlKXBh
Z2luCiAgICAgcmV0dXJuIFdLUGFnaW5hdGlvbk1vZGVVbnBhZ2luYXRlZDsKIH0KIAorLSAodm9p
ZClzZXRQYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zOihCT09MKWJlaGF2ZXNMaWtlQ29sdW1u
cworeworICAgIFdLUGFnZVNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMoc2VsZi5fcGFn
ZVJlZiwgYmVoYXZlc0xpa2VDb2x1bW5zKTsKK30KKworLSAoQk9PTClwYWdpbmF0aW9uQmVoYXZl
c0xpa2VDb2x1bW5zCit7CisgICAgcmV0dXJuIFdLUGFnZUdldFBhZ2luYXRpb25CZWhhdmVzTGlr
ZUNvbHVtbnMoc2VsZi5fcGFnZVJlZik7Cit9CisKIC0gKHZvaWQpc2V0UGFnZUxlbmd0aDooQ0dG
bG9hdClwYWdlTGVuZ3RoCiB7CiAgICAgV0tQYWdlU2V0UGFnZUxlbmd0aChzZWxmLl9wYWdlUmVm
LCBwYWdlTGVuZ3RoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJQcml2
YXRlLmgJKHJldmlzaW9uIDEwNjQ2OSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMzUsNiArMzUsOSBAQCB0eXBlZGVmIE5TVUludGVnZXIgV0tCcm93c2luZ0NvbnRleHRQYWdp
CiBAaW50ZXJmYWNlIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAoUHJpdmF0ZSkKIAogQHBy
b3BlcnR5IFdLQnJvd3NpbmdDb250ZXh0UGFnaW5hdGlvbk1vZGUgcGFnaW5hdGlvbk1vZGU7Cisv
LyBXaGV0aGVyIHRoZSBjb2x1bW4tYnJlYWste2JlZm9yZSxhZnRlcn0gcHJvcGVydGllcyBhcmUg
cmVzcGVjdGVkIGluc3RlYWQgb2YgdGhlCisvLyBwYWdlLWJyZWFrLXtiZWZvcmUsYWZ0ZXJ9IHBy
b3BlcnRpZXMuCitAcHJvcGVydHkgQk9PTCBwYWdpbmF0aW9uQmVoYXZlc0xpa2VDb2x1bW5zOwog
Ly8gU2V0IHRvIDAgdG8gaGF2ZSB0aGUgcGFnZSBsZW5ndGggZXF1YWwgdGhlIHZpZXcgbGVuZ3Ro
LgogQHByb3BlcnR5IENHRmxvYXQgcGFnZUxlbmd0aDsKIEBwcm9wZXJ0eSBDR0Zsb2F0IGdhcEJl
dHdlZW5QYWdlczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAJKHJldmlzaW9uIDEwNjQ2OSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYxLDYgKzI2MSw3IEBA
IFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCAKICAgICBzZXREcmF3c1Ry
YW5zcGFyZW50QmFja2dyb3VuZChwYXJhbWV0ZXJzLmRyYXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5k
KTsKIAogICAgIHNldFBhZ2luYXRpb25Nb2RlKHBhcmFtZXRlcnMucGFnaW5hdGlvbk1vZGUpOwor
ICAgIHNldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnMocGFyYW1ldGVycy5wYWdpbmF0aW9u
QmVoYXZlc0xpa2VDb2x1bW5zKTsKICAgICBzZXRQYWdlTGVuZ3RoKHBhcmFtZXRlcnMucGFnZUxl
bmd0aCk7CiAgICAgc2V0R2FwQmV0d2VlblBhZ2VzKHBhcmFtZXRlcnMuZ2FwQmV0d2VlblBhZ2Vz
KTsKIApAQCAtMTAxNiw2ICsxMDE3LDEzIEBAIHZvaWQgV2ViUGFnZTo6c2V0UGFnaW5hdGlvbk1v
ZGUodWludDMyX3QKICAgICBtX3BhZ2UtPnNldFBhZ2luYXRpb24ocGFnaW5hdGlvbik7CiB9CiAK
K3ZvaWQgV2ViUGFnZTo6c2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyhib29sIGJlaGF2
ZXNMaWtlQ29sdW1ucykKK3sKKyAgICBQYWdlOjpQYWdpbmF0aW9uIHBhZ2luYXRpb24gPSBtX3Bh
Z2UtPnBhZ2luYXRpb24oKTsKKyAgICBwYWdpbmF0aW9uLmJlaGF2ZXNMaWtlQ29sdW1ucyA9IGJl
aGF2ZXNMaWtlQ29sdW1uczsKKyAgICBtX3BhZ2UtPnNldFBhZ2luYXRpb24ocGFnaW5hdGlvbik7
Cit9CisKIHZvaWQgV2ViUGFnZTo6c2V0UGFnZUxlbmd0aChkb3VibGUgcGFnZUxlbmd0aCkKIHsK
ICAgICBQYWdlOjpQYWdpbmF0aW9uIHBhZ2luYXRpb24gPSBtX3BhZ2UtPnBhZ2luYXRpb24oKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2
aXNpb24gMTA2NDY5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDYgKzI3OCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEZpeGVkTGF5b3V0U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAKICAgICB2b2lk
IHNldFBhZ2luYXRpb25Nb2RlKHVpbnQzMl90IC8qIFdlYkNvcmU6OlBhZ2U6OlBhZ2luYXRpb246
Ok1vZGUgKi8pOworICAgIHZvaWQgc2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1ucyhib29s
KTsKICAgICB2b2lkIHNldFBhZ2VMZW5ndGgoZG91YmxlKTsKICAgICB2b2lkIHNldEdhcEJldHdl
ZW5QYWdlcyhkb3VibGUpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTA2NDY5KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTEyNiw2ICsxMjYsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAg
ICBTZXRGaXhlZExheW91dFNpemUoV2ViQ29yZTo6SW50U2l6ZSBzaXplKQogCiAgICAgU2V0UGFn
aW5hdGlvbk1vZGUodWludDMyX3QgbW9kZSk7CisgICAgU2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtl
Q29sdW1ucyhib29sIGJlaGF2ZXNMaWtlQ29sdW1ucyk7CiAgICAgU2V0UGFnZUxlbmd0aChkb3Vi
bGUgcGFnZUxlbmd0aCk7CiAgICAgU2V0R2FwQmV0d2VlblBhZ2VzKGRvdWJsZSBnYXApOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDY0NjkpCisrKyBTb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMi0wMSAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktpdC9tYWMgcGFy
dCBvZiA8cmRhcjovL3Byb2JsZW0vMTA0NDI2NjM+IFBhZ2luYXRlZCBkaXNwbGF5IGRvZXMgbm90
IHJlc3BlY3QgcGFnZS1icmVhay17YmVmb3JlLGFmdGVyfQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfc2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1uczpdKTogQWRkZWQgdGhp
cyBzZXR0ZXIuCisgICAgICAgICgtW1dlYlZpZXcgX3BhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVt
bnNdKTogQWRkZWQgdGhpcyBnZXR0ZXIuCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJpdmF0
ZS5oOgorCiAyMDEyLTAxLTI1ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBIVE1MSXNJbmRleEVsZW1lbnQgc2hvdWxkIG5vdCBleHBvc2UgSFRNTElucHV0RWxlbWVu
dCBwcm9wZXJ0aWVzCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZp
c2lvbiAxMDY0NjkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI3OTEsNiArMjc5MSwyNSBAQCAtIChXZWJQYWdpbmF0aW9uTW9kZSlf
cGFnaW5hdGlvbk1vZGUKICAgICByZXR1cm4gV2ViUGFnaW5hdGlvbk1vZGVVbnBhZ2luYXRlZDsK
IH0KIAorLSAodm9pZClfc2V0UGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1uczooQk9PTCliZWhh
dmVzTGlrZUNvbHVtbnMKK3sKKyAgICBQYWdlKiBwYWdlID0gY29yZShzZWxmKTsKKyAgICBpZiAo
IXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIFBhZ2U6OlBhZ2luYXRpb24gcGFnaW5hdGlv
biA9IHBhZ2UtPnBhZ2luYXRpb24oKTsKKyAgICBwYWdpbmF0aW9uLmJlaGF2ZXNMaWtlQ29sdW1u
cyA9IGJlaGF2ZXNMaWtlQ29sdW1uczsKK30KKworLSAoQk9PTClfcGFnaW5hdGlvbkJlaGF2ZXNM
aWtlQ29sdW1ucworeworICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKHNlbGYpOworICAgIGlmICghcGFn
ZSkKKyAgICAgICAgcmV0dXJuIE5POworCisgICAgcmV0dXJuIHBhZ2UtPnBhZ2luYXRpb24oKS5i
ZWhhdmVzTGlrZUNvbHVtbnM7Cit9CisKIC0gKHZvaWQpX3NldFBhZ2VMZW5ndGg6KENHRmxvYXQp
cGFnZUxlbmd0aAogewogICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKHNlbGYpOwpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMTA2NDY5KQor
KysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NTcsNiArNTU3LDEyIEBAIENvdWxkIGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJ
LgogCiAtICh2b2lkKV9zZXRQYWdpbmF0aW9uTW9kZTooV2ViUGFnaW5hdGlvbk1vZGUpcGFnaW5h
dGlvbk1vZGU7CiAtIChXZWJQYWdpbmF0aW9uTW9kZSlfcGFnaW5hdGlvbk1vZGU7CisKKy8vIFdo
ZXRoZXIgdGhlIGNvbHVtbi1icmVhay17YmVmb3JlLGFmdGVyfSBwcm9wZXJ0aWVzIGFyZSByZXNw
ZWN0ZWQgaW5zdGVhZCBvZiB0aGUKKy8vIHBhZ2UtYnJlYWste2JlZm9yZSxhZnRlcn0gcHJvcGVy
dGllcy4KKy0gKHZvaWQpX3NldFBhZ2luYXRpb25CZWhhdmVzTGlrZUNvbHVtbnM6KEJPT0wpYmVo
YXZlc0xpa2VDb2x1bW5zOworLSAoQk9PTClfcGFnaW5hdGlvbkJlaGF2ZXNMaWtlQ29sdW1uczsK
KwogLy8gU2V0IHRvIDAgdG8gaGF2ZSB0aGUgcGFnZSBsZW5ndGggZXF1YWwgdGhlIHZpZXcgbGVu
Z3RoLgogLSAodm9pZClfc2V0UGFnZUxlbmd0aDooQ0dGbG9hdClwYWdlTGVuZ3RoOwogLSAoQ0dG
bG9hdClfcGFnZUxlbmd0aDsK
</data>
<flag name="review"
          id="126362"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>