<?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>21118</bug_id>
          
          <creation_ts>2008-09-25 13:30:08 -0700</creation_ts>
          <short_desc>Make concept of blitting on scrolling cross-platform on ScrollView</short_desc>
          <delta_ts>2008-09-25 13:49:36 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>21083</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92790</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 13:30:08 -0700</bug_when>
    <thetext>Bug to track moving the m_staticBackground member up and make it cross-platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92792</commentid>
    <comment_count>1</comment_count>
      <attachid>23819</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 13:32:16 -0700</bug_when>
    <thetext>Created attachment 23819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92793</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 13:34:13 -0700</bug_when>
    <thetext>Oops. Wrong value for m_canBlitOnScroll (hard to notice on Mac, since it really doesn&apos;t care about the variable).  New patch coming in a sec.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92794</commentid>
    <comment_count>3</comment_count>
      <attachid>23820</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 13:36:15 -0700</bug_when>
    <thetext>Created attachment 23820
Patch #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92796</commentid>
    <comment_count>4</comment_count>
      <attachid>23820</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-25 13:46:11 -0700</bug_when>
    <thetext>Comment on attachment 23820
Patch #2

Looks good with the change discussed in IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92797</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-09-25 13:49:36 -0700</bug_when>
    <thetext>Fixed in r36906.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23819</attachid>
            <date>2008-09-25 13:32:16 -0700</date>
            <delta_ts>2008-09-25 13:36:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>14062</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2OTA0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMDgtMDkt
MjUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTExOAorCisgICAgICAgIE1ha2UgdGhlIGNv
bmNlcHQgb2Ygd2hldGhlciB5b3UgY2FuIGJsaXQgb24gc2Nyb2xsIGNyb3NzLXBsYXRmb3JtIG9u
IFNjcm9sbFZpZXcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0VXNlU2xvd1JlcGFpbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6YWRkU2xvd1JlcGFpbnRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpyZW1vdmVTbG93UmVwYWludE9iamVjdCk6CisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojppbml0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmFkZENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbFZpZXc6OnJlbW92ZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnNldENhbkJsaXRPblNjcm9sbCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6Y2FuQmxpdE9uU2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvU2Nyb2xsVmlld0d0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZTo6U2Nyb2xsVmlld1ByaXZhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OnNjcm9sbEJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpTY3JvbGxWaWV3KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsVmlld01hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bFZpZXc6OlNjcm9sbFZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZv
cm1BZGRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVJlbW92
ZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0Q2FuQmxp
dE9uU2Nyb2xsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9TY3JvbGxWaWV3UXQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OlNjcm9sbFZpZXdQ
cml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRl
OjpzY3JvbGxCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Ny
b2xsVmlldyk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Njcm9sbFZpZXdXaW4uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OlNjcm9sbFZpZXdQ
cml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRl
OjpzY3JvbGxCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Ny
b2xsVmlldyk6CisgICAgICAgICogcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRlOjpTY3JvbGxWaWV3UHJp
dmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpTY3JvbGxWaWV3KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbEJ5KToKKwogMjAwOC0wOS0yNSAgRGF2aWQg
SHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMTEzCkluZGV4OiBwYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAzNjkwMikKKysrIHBhZ2UvRnJh
bWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI0LDcgKzIyNCw3IEBAIHZvaWQgRnJhbWVW
aWV3Ojppbml0KCkKIAogdm9pZCBGcmFtZVZpZXc6OmNsZWFyKCkKIHsKLSAgICBzZXRTdGF0aWNC
YWNrZ3JvdW5kKGZhbHNlKTsKKyAgICBzZXRDYW5CbGl0T25TY3JvbGwodHJ1ZSk7CiAgICAgCiAg
ICAgZC0+cmVzZXQoKTsKIApAQCAtNTE1LDcgKzUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlv
dXQoYm9vbCBhbGxvd1N1YnRyZWUKIAogICAgIEFTU0VSVCghcm9vdC0+bmVlZHNMYXlvdXQoKSk7
CiAKLSAgICBzZXRTdGF0aWNCYWNrZ3JvdW5kKHVzZVNsb3dSZXBhaW50cygpKTsKKyAgICBzZXRD
YW5CbGl0T25TY3JvbGwoIXVzZVNsb3dSZXBhaW50cygpKTsKIAogICAgIGlmIChkb2N1bWVudC0+
aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpPVkVSRkxPV0NIQU5HRURfTElTVEVORVIpKQogICAg
ICAgICB1cGRhdGVPdmVyZmxvd1N0YXR1cyh2aXNpYmxlV2lkdGgoKSA8IGNvbnRlbnRzV2lkdGgo
KSwKQEAgLTY0OSwxMyArNjQ5LDEzIEBAIGJvb2wgRnJhbWVWaWV3Ojp1c2VTbG93UmVwYWludHMo
KSBjb25zdAogdm9pZCBGcmFtZVZpZXc6OnNldFVzZVNsb3dSZXBhaW50cygpCiB7CiAgICAgZC0+
bV91c2VTbG93UmVwYWludHMgPSB0cnVlOwotICAgIHNldFN0YXRpY0JhY2tncm91bmQodHJ1ZSk7
CisgICAgc2V0Q2FuQmxpdE9uU2Nyb2xsKGZhbHNlKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OmFk
ZFNsb3dSZXBhaW50T2JqZWN0KCkKIHsKICAgICBpZiAoIWQtPm1fc2xvd1JlcGFpbnRPYmplY3RD
b3VudCkKLSAgICAgICAgc2V0U3RhdGljQmFja2dyb3VuZCh0cnVlKTsKKyAgICAgICAgc2V0Q2Fu
QmxpdE9uU2Nyb2xsKGZhbHNlKTsKICAgICBkLT5tX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQrKzsK
IH0KIApAQCAtNjY0LDcgKzY2NCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZW1vdmVTbG93UmVwYWlu
dE9iamVjdCgKICAgICBBU1NFUlQoZC0+bV9zbG93UmVwYWludE9iamVjdENvdW50ID4gMCk7CiAg
ICAgZC0+bV9zbG93UmVwYWludE9iamVjdENvdW50LS07CiAgICAgaWYgKCFkLT5tX3Nsb3dSZXBh
aW50T2JqZWN0Q291bnQpCi0gICAgICAgIHNldFN0YXRpY0JhY2tncm91bmQoZC0+bV91c2VTbG93
UmVwYWludHMpOworICAgICAgICBzZXRDYW5CbGl0T25TY3JvbGwoIWQtPm1fdXNlU2xvd1JlcGFp
bnRzKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbGJhcnNNb2RlKFNjcm9sbGJhck1v
ZGUgbW9kZSkKSW5kZXg6IHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBs
YXRmb3JtL1Njcm9sbFZpZXcuY3BwCShyZXZpc2lvbiAzNjkwMikKKysrIHBsYXRmb3JtL1Njcm9s
bFZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCwxMSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK3ZvaWQgU2Nyb2xsVmlldzo6aW5pdCgpCit7CisgICAgbV9jYW5CbGl0T25T
Y3JvbGwgPSBmYWxzZTsKK30KKwogdm9pZCBTY3JvbGxWaWV3OjphZGRDaGlsZChXaWRnZXQqIGNo
aWxkKSAKIHsKICAgICBBU1NFUlQoY2hpbGQgIT0gdGhpcyAmJiAhY2hpbGQtPnBhcmVudCgpKTsK
QEAgLTM3LDcgKzQyLDcgQEAgdm9pZCBTY3JvbGxWaWV3OjphZGRDaGlsZChXaWRnZXQqIGNoaWxk
KQogICAgICAgICBjaGlsZC0+c2V0Q29udGFpbmluZ1dpbmRvdyhjb250YWluaW5nV2luZG93KCkp
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGFkZENoaWxkUGxhdGZvcm1XaWRnZXQoY2hp
bGQpOworICAgIHBsYXRmb3JtQWRkQ2hpbGQoY2hpbGQpOwogfQogCiB2b2lkIFNjcm9sbFZpZXc6
OnJlbW92ZUNoaWxkKFdpZGdldCogY2hpbGQpCkBAIC00Niw4ICs1MSwyMyBAQCB2b2lkIFNjcm9s
bFZpZXc6OnJlbW92ZUNoaWxkKFdpZGdldCogY2hpCiAgICAgY2hpbGQtPnNldFBhcmVudCgwKTsK
ICAgICBtX2NoaWxkcmVuLnJlbW92ZShjaGlsZCk7CiAgICAgaWYgKGNoaWxkLT5wbGF0Zm9ybVdp
ZGdldCgpKQotICAgICAgICByZW1vdmVDaGlsZFBsYXRmb3JtV2lkZ2V0KGNoaWxkKTsKKyAgICAg
ICAgcGxhdGZvcm1SZW1vdmVDaGlsZChjaGlsZCk7Cit9CisKK3ZvaWQgU2Nyb2xsVmlldzo6c2V0
Q2FuQmxpdE9uU2Nyb2xsKGJvb2wgYikKK3sKKyAgICBpZiAobV9jYW5CbGl0T25TY3JvbGwgPT0g
YikKKyAgICAgICAgcmV0dXJuOworICAgIG1fY2FuQmxpdE9uU2Nyb2xsID0gYjsKKyAgICBpZiAo
cGxhdGZvcm1XaWRnZXQoKSkKKyAgICAgICAgcGxhdGZvcm1TZXRDYW5CbGl0T25TY3JvbGwoKTsK
K30KKworI2lmICFQTEFURk9STShNQUMpCit2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0Q2Fu
QmxpdE9uU2Nyb2xsKCkKK3sKIH0KKyNlbmRpZgogCiB9CiAKSW5kZXg6IHBsYXRmb3JtL1Njcm9s
bFZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9TY3JvbGxWaWV3LmgJKHJldmlzaW9uIDM2
OTAyKQorKysgcGxhdGZvcm0vU2Nyb2xsVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBhZGRDaGlsZChXaWRnZXQq
KTsKICAgICAgICAgdm9pZCByZW1vdmVDaGlsZChXaWRnZXQqKTsKIAorICAgICAgICB2b2lkIHNl
dENhbkJsaXRPblNjcm9sbChib29sKTsKKyAgICAgICAgYm9vbCBjYW5CbGl0T25TY3JvbGwoKSBj
b25zdCB7IHJldHVybiBtX2NhbkJsaXRPblNjcm9sbDsgfQorCiAgICAgICAgIGludCB2aXNpYmxl
V2lkdGgoKSBjb25zdDsKICAgICAgICAgaW50IHZpc2libGVIZWlnaHQoKSBjb25zdDsKICAgICAg
ICAgRmxvYXRSZWN0IHZpc2libGVDb250ZW50UmVjdCgpIGNvbnN0OwpAQCAtMTAyLDggKzEwNSw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50UmVjdCB3aW5kb3dUb0NvbnRlbnRz
KGNvbnN0IEludFJlY3QmKSBjb25zdDsKICAgICAgICAgSW50UmVjdCBjb250ZW50c1RvV2luZG93
KGNvbnN0IEludFJlY3QmKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldFN0YXRpY0JhY2tncm91
bmQoYm9vbCk7Ci0KICAgICAgICAgYm9vbCBpbldpbmRvdygpIGNvbnN0OwogICAgICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW4oKSBjb25zdCA9IDA7CiAKQEAgLTE1
MCw5ICsxNTEsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgSGFzaFNldDxXaWRnZXQqPiBtX2NoaWxkcmVuOwotCi0gICAgICAgIHZvaWQgYWRkQ2hpbGRQ
bGF0Zm9ybVdpZGdldChXaWRnZXQqKTsKLSAgICAgICAgdm9pZCByZW1vdmVDaGlsZFBsYXRmb3Jt
V2lkZ2V0KFdpZGdldCopOworICAgICAgICBib29sIG1fY2FuQmxpdE9uU2Nyb2xsOworICAgICAg
ICAKKyAgICAgICAgdm9pZCBpbml0KCk7CisgICAgICAgIAorICAgICAgICB2b2lkIHBsYXRmb3Jt
QWRkQ2hpbGQoV2lkZ2V0Kik7CisgICAgICAgIHZvaWQgcGxhdGZvcm1SZW1vdmVDaGlsZChXaWRn
ZXQqKTsKKyAgICAgICAgdm9pZCBwbGF0Zm9ybVNldENhbkJsaXRPblNjcm9sbCgpOwogCiAjaWYg
UExBVEZPUk0oTUFDKSAmJiBkZWZpbmVkIF9fT0JKQ19fCiAgICAgcHVibGljOgpJbmRleDogcGxh
dGZvcm0vZ3RrL1Njcm9sbFZpZXdHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL2d0ay9T
Y3JvbGxWaWV3R3RrLmNwcAkocmV2aXNpb24gMzY5MDIpCisrKyBwbGF0Zm9ybS9ndGsvU2Nyb2xs
Vmlld0d0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDYgQEAgY2xhc3MgU2Nyb2xs
Vmlldzo6U2Nyb2xsVmlld1ByaXZhdGUgOiBwdQogcHVibGljOgogICAgIFNjcm9sbFZpZXdQcml2
YXRlKFNjcm9sbFZpZXcqIF92aWV3KQogICAgICAgICA6IHZpZXcoX3ZpZXcpCi0gICAgICAgICwg
aGFzU3RhdGljQmFja2dyb3VuZChmYWxzZSkKICAgICAgICAgLCBzY3JvbGxiYXJzU3VwcHJlc3Nl
ZChmYWxzZSkKICAgICAgICAgLCB2U2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJBdXRvKQogICAgICAg
ICAsIGhTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckF1dG8pCkBAIC0xMDYsNyArMTA1LDYgQEAgcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIGFkanVzdG1lbnRDaGFuZ2VkKEd0a0FkanVzdG1lbnQqLCBn
cG9pbnRlcik7CiAKICAgICBTY3JvbGxWaWV3KiB2aWV3OwotICAgIGJvb2wgaGFzU3RhdGljQmFj
a2dyb3VuZDsKICAgICBib29sIHNjcm9sbGJhcnNTdXBwcmVzc2VkOwogICAgIFNjcm9sbGJhck1v
ZGUgdlNjcm9sbGJhck1vZGU7CiAgICAgU2Nyb2xsYmFyTW9kZSBoU2Nyb2xsYmFyTW9kZTsKQEAg
LTE3OCw3ICsxNzYsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRlOjpzY3Jv
CiAKICAgICAvL0ZJWE1FIHVwZGF0ZSBoZXJlPwogCi0gICAgaWYgKCFoYXNTdGF0aWNCYWNrZ3Jv
dW5kKSAvLyBUaGUgbWFpbiBmcmFtZSBjYW4ganVzdCBibGl0IHRoZSBXZWJWaWV3IHdpbmRvdwor
ICAgIGlmIChjYW5CbGl0T25TY3JvbGwoKSkgLy8gVGhlIG1haW4gZnJhbWUgY2FuIGp1c3QgYmxp
dCB0aGUgV2ViVmlldyB3aW5kb3cKICAgICAgICAvLyBGSVhNRTogRmluZCBhIHdheSB0byBibGl0
IHN1YmZyYW1lcyB3aXRob3V0IGJsaXR0aW5nIG92ZXJsYXBwaW5nIGNvbnRlbnQKICAgICAgICB2
aWV3LT5zY3JvbGxCYWNraW5nU3RvcmUoLXNjcm9sbERlbHRhLndpZHRoKCksIC1zY3JvbGxEZWx0
YS5oZWlnaHQoKSwgc2Nyb2xsVmlld1JlY3QsIGNsaXBSZWN0KTsKICAgICBlbHNlICB7CkBAIC0y
NTMsNyArMjUxLDkgQEAgYm9vbCBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZTo6aXNBYwog
CiBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3KCkKICAgICA6IG1fZGF0YShuZXcgU2Nyb2xsVmlld1By
aXZhdGUodGhpcykpCi17fQoreworICAgIGluaXQoKTsKK30KIAogU2Nyb2xsVmlldzo6flNjcm9s
bFZpZXcoKQogewpAQCAtNDU1LDExICs0NTUsNiBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldFNjcm9s
bGJhcnNNb2RlKFNjcm9sCiAgICAgdXBkYXRlU2Nyb2xsYmFycyhtX2RhdGEtPnNjcm9sbE9mZnNl
dCk7CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0U3RhdGljQmFja2dyb3VuZChib29sIGZsYWcp
Ci17Ci0gICAgbV9kYXRhLT5oYXNTdGF0aWNCYWNrZ3JvdW5kID0gZmxhZzsKLX0KLQogdm9pZCBT
Y3JvbGxWaWV3OjpzZXRGcmFtZUdlb21ldHJ5KGNvbnN0IEludFJlY3QmIG5ld0dlb21ldHJ5KQog
ewogICAgIEFTU0VSVChpc0ZyYW1lVmlldygpKTsKSW5kZXg6IHBsYXRmb3JtL21hYy9TY3JvbGxW
aWV3TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL21hYy9TY3JvbGxWaWV3TWFjLm1tCShy
ZXZpc2lvbiAzNjkwMikKKysrIHBsYXRmb3JtL21hYy9TY3JvbGxWaWV3TWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKIFNjcm9sbFZpZXc6OlNjcm9sbFZpZXco
KQogICAgIDogbV9kYXRhKG5ldyBTY3JvbGxWaWV3UHJpdmF0ZSkKIHsKKyAgICBpbml0KCk7CiB9
CiAKIFNjcm9sbFZpZXc6On5TY3JvbGxWaWV3KCkKQEAgLTcxLDcgKzcyLDcgQEAgaW5saW5lIE5T
U2Nyb2xsVmlldzxXZWJDb3JlRnJhbWVTY3JvbGxWaQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxO
U1Njcm9sbFZpZXc8V2ViQ29yZUZyYW1lU2Nyb2xsVmlldz4gKj4ocGxhdGZvcm1XaWRnZXQoKSk7
CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6YWRkQ2hpbGRQbGF0Zm9ybVdpZGdldChXaWRnZXQqIGNo
aWxkKQordm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybUFkZENoaWxkKFdpZGdldCogY2hpbGQpCiB7
CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIE5TVmlldyAqcGFyZW50Vmll
dyA9IGRvY3VtZW50VmlldygpOwpAQCAtODgsMTEgKzg5LDE4IEBAIHZvaWQgU2Nyb2xsVmlldzo6
YWRkQ2hpbGRQbGF0Zm9ybVdpZGdldCgKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwog
fQogCi12b2lkIFNjcm9sbFZpZXc6OnJlbW92ZUNoaWxkUGxhdGZvcm1XaWRnZXQoV2lkZ2V0KiBj
aGlsZCkKK3ZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1SZW1vdmVDaGlsZChXaWRnZXQqIGNoaWxk
KQogewogICAgIGNoaWxkLT5yZW1vdmVGcm9tU3VwZXJ2aWV3KCk7CiB9CiAKK3ZvaWQgU2Nyb2xs
Vmlldzo6cGxhdGZvcm1TZXRDYW5CbGl0T25TY3JvbGwoKQoreworICAgIEJFR0lOX0JMT0NLX09C
SkNfRVhDRVBUSU9OUzsKKyAgICBbW3Njcm9sbFZpZXcoKSBjb250ZW50Vmlld10gc2V0Q29waWVz
T25TY3JvbGw6Y2FuQmxpdE9uU2Nyb2xsKCldOworICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7Cit9CisKIGludCBTY3JvbGxWaWV3Ojp2aXNpYmxlV2lkdGgoKSBjb25zdAogewogICAgIEJF
R0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKQEAgLTM2NywxMyArMzc1LDYgQEAgSW50UG9pbnQg
U2Nyb2xsVmlldzo6c2NyZWVuVG9Db250ZW50cyhjbwogICAgIHJldHVybiBJbnRQb2ludCgpOwog
fQogCi12b2lkIFNjcm9sbFZpZXc6OnNldFN0YXRpY0JhY2tncm91bmQoYm9vbCBzdGF0aWNCYWNr
Z3JvdW5kKQotewotICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICBbW3Njcm9s
bFZpZXcoKSBjb250ZW50Vmlld10gc2V0Q29waWVzT25TY3JvbGw6IXN0YXRpY0JhY2tncm91bmRd
OwotICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci19Ci0KIE5TVmlldyAqU2Nyb2xsVmll
dzo6ZG9jdW1lbnRWaWV3KCkgY29uc3QKIHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7CkluZGV4OiBwbGF0Zm9ybS9xdC9TY3JvbGxWaWV3UXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBs
YXRmb3JtL3F0L1Njcm9sbFZpZXdRdC5jcHAJKHJldmlzaW9uIDM2OTAyKQorKysgcGxhdGZvcm0v
cXQvU2Nyb2xsVmlld1F0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsNiBAQCBjbGFz
cyBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZSA6IHB1CiBwdWJsaWM6CiAgICAgU2Nyb2xs
Vmlld1ByaXZhdGUoU2Nyb2xsVmlldyogdmlldykKICAgICAgIDogbV92aWV3KHZpZXcpCi0gICAg
ICAsIG1faGFzU3RhdGljQmFja2dyb3VuZChmYWxzZSkKICAgICAgICwgbV9wbGF0Zm9ybVdpZGdl
dHMoMCkKICAgICAgICwgbV9zY3JvbGxiYXJzU3VwcHJlc3NlZChmYWxzZSkKICAgICAgICwgbV9p
blVwZGF0ZVNjcm9sbGJhcnMoZmFsc2UpCkBAIC05NSw3ICs5NCw2IEBAIHB1YmxpYzoKICAgICBT
Y3JvbGxWaWV3KiBtX3ZpZXc7CiAgICAgSW50U2l6ZSBtX3Njcm9sbE9mZnNldDsKICAgICBJbnRT
aXplIG1fY29udGVudHNTaXplOwotICAgIGJvb2wgbV9oYXNTdGF0aWNCYWNrZ3JvdW5kOwogICAg
IGludCAgbV9wbGF0Zm9ybVdpZGdldHM7CiAgICAgYm9vbCBtX3Njcm9sbGJhcnNTdXBwcmVzc2Vk
OwogICAgIGJvb2wgbV9pblVwZGF0ZVNjcm9sbGJhcnM7CkBAIC0xNjAsNyArMTU4LDcgQEAgdm9p
ZCBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZTo6c2NybwogICAgIEludFJlY3QgdXBkYXRl
UmVjdCA9IGNsaXBSZWN0OwogICAgIHVwZGF0ZVJlY3QuaW50ZXJzZWN0KHNjcm9sbFZpZXdSZWN0
KTsKIAotICAgIGlmICghbV9oYXNTdGF0aWNCYWNrZ3JvdW5kICYmICFtX3ZpZXctPnJvb3QoKS0+
aGFzTmF0aXZlV2lkZ2V0cygpKSB7CisgICAgaWYgKGNhbkJsaXRPblNjcm9sbCgpICYmICFtX3Zp
ZXctPnJvb3QoKS0+aGFzTmF0aXZlV2lkZ2V0cygpKSB7CiAgICAgICAgbV92aWV3LT5zY3JvbGxC
YWNraW5nU3RvcmUoLXNjcm9sbERlbHRhLndpZHRoKCksIC1zY3JvbGxEZWx0YS5oZWlnaHQoKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxWaWV3UmVjdCwgY2xpcFJl
Y3QpOwogICAgIH0gZWxzZSAgewpAQCAtMTg2LDYgKzE4NCw3IEBAIGJvb2wgU2Nyb2xsVmlldzo6
U2Nyb2xsVmlld1ByaXZhdGU6OmlzQWMKIFNjcm9sbFZpZXc6OlNjcm9sbFZpZXcoKQogICAgIDog
bV9kYXRhKG5ldyBTY3JvbGxWaWV3UHJpdmF0ZSh0aGlzKSkKIHsKKyAgICBpbml0KCk7CiB9CiAK
IFNjcm9sbFZpZXc6On5TY3JvbGxWaWV3KCkKQEAgLTQzOSwxMSArNDM4LDYgQEAgdm9pZCBTY3Jv
bGxWaWV3OjpzZXRTY3JvbGxiYXJzTW9kZShTY3JvbAogICAgIH0KIH0KIAotdm9pZCBTY3JvbGxW
aWV3OjpzZXRTdGF0aWNCYWNrZ3JvdW5kKGJvb2wgZmxhZykKLXsKLSAgICBtX2RhdGEtPm1faGFz
U3RhdGljQmFja2dyb3VuZCA9IGZsYWc7Ci19Ci0KIGJvb2wgU2Nyb2xsVmlldzo6aW5XaW5kb3co
KSBjb25zdAogewogICAgIHJldHVybiB0cnVlOwpJbmRleDogcGxhdGZvcm0vd2luL1Njcm9sbFZp
ZXdXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL3dpbi9TY3JvbGxWaWV3V2luLmNwcAko
cmV2aXNpb24gMzY5MDIpCisrKyBwbGF0Zm9ybS93aW4vU2Nyb2xsVmlld1dpbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY2LDcgKzY2LDYgQEAgY2xhc3MgU2Nyb2xsVmlldzo6U2Nyb2xsVmlld1By
aXZhdGUgOiBwdQogcHVibGljOgogICAgIFNjcm9sbFZpZXdQcml2YXRlKFNjcm9sbFZpZXcqIHZp
ZXcpCiAgICAgICAgIDogbV92aWV3KHZpZXcpCi0gICAgICAgICwgbV9oYXNTdGF0aWNCYWNrZ3Jv
dW5kKGZhbHNlKQogICAgICAgICAsIG1fc2Nyb2xsYmFyc1N1cHByZXNzZWQoZmFsc2UpCiAgICAg
ICAgICwgbV9pblVwZGF0ZVNjcm9sbGJhcnMoZmFsc2UpCiAgICAgICAgICwgbV9zY3JvbGxiYXJz
QXZvaWRpbmdSZXNpemVyKDApCkBAIC05OCw3ICs5Nyw2IEBAIHB1YmxpYzoKICAgICBTY3JvbGxW
aWV3KiBtX3ZpZXc7CiAgICAgSW50U2l6ZSBtX3Njcm9sbE9mZnNldDsKICAgICBJbnRTaXplIG1f
Y29udGVudHNTaXplOwotICAgIGJvb2wgbV9oYXNTdGF0aWNCYWNrZ3JvdW5kOwogICAgIGJvb2wg
bV9zY3JvbGxiYXJzU3VwcHJlc3NlZDsKICAgICBib29sIG1faW5VcGRhdGVTY3JvbGxiYXJzOwog
ICAgIGludCBtX3Njcm9sbGJhcnNBdm9pZGluZ1Jlc2l6ZXI7CkBAIC0xNzcsNyArMTc1LDcgQEAg
dm9pZCBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZTo6c2NybwogICAgICAgICBtX3ZpZXct
PnVwZGF0ZVdpbmRvd1JlY3QocGFuU2Nyb2xsSWNvbkRpcnR5UmVjdCk7CiAgICAgfQogCi0gICAg
aWYgKCFtX2hhc1N0YXRpY0JhY2tncm91bmQpIC8vIFRoZSBtYWluIGZyYW1lIGNhbiBqdXN0IGJs
aXQgdGhlIFdlYlZpZXcgd2luZG93CisgICAgaWYgKGNhbkJsaXRPblNjcm9sbCgpKSAvLyBUaGUg
bWFpbiBmcmFtZSBjYW4ganVzdCBibGl0IHRoZSBXZWJWaWV3IHdpbmRvdwogICAgICAgIC8vIEZJ
WE1FOiBGaW5kIGEgd2F5IHRvIGJsaXQgc3ViZnJhbWVzIHdpdGhvdXQgYmxpdHRpbmcgb3Zlcmxh
cHBpbmcgY29udGVudAogICAgICAgIG1fdmlldy0+c2Nyb2xsQmFja2luZ1N0b3JlKC1zY3JvbGxE
ZWx0YS53aWR0aCgpLCAtc2Nyb2xsRGVsdGEuaGVpZ2h0KCksIHNjcm9sbFZpZXdSZWN0LCBjbGlw
UmVjdCk7CiAgICAgZWxzZSAgewpAQCAtMjMwLDYgKzIyOCw3IEBAIGJvb2wgU2Nyb2xsVmlldzo6
U2Nyb2xsVmlld1ByaXZhdGU6OmlzQWMKIFNjcm9sbFZpZXc6OlNjcm9sbFZpZXcoKQogICAgIDog
bV9kYXRhKG5ldyBTY3JvbGxWaWV3UHJpdmF0ZSh0aGlzKSkKIHsKKyAgICBpbml0KCk7CiB9CiAK
IFNjcm9sbFZpZXc6On5TY3JvbGxWaWV3KCkKQEAgLTQ3MSwxMSArNDcwLDYgQEAgdm9pZCBTY3Jv
bGxWaWV3OjpzZXRTY3JvbGxiYXJzTW9kZShTY3JvbAogICAgIH0KIH0KIAotdm9pZCBTY3JvbGxW
aWV3OjpzZXRTdGF0aWNCYWNrZ3JvdW5kKGJvb2wgZmxhZykKLXsKLSAgICBtX2RhdGEtPm1faGFz
U3RhdGljQmFja2dyb3VuZCA9IGZsYWc7Ci19Ci0KIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Ny
b2xsYmFycyhjb25zdCBJbnRTaXplJiBkZXNpcmVkT2Zmc2V0KQogewogICAgIC8vIERvbid0IGFs
bG93IHJlLWVudHJhbmN5IGludG8gdGhpcyBmdW5jdGlvbi4KSW5kZXg6IHBsYXRmb3JtL3d4L1Nj
cm9sbFZpZXdXeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4LmNw
cAkocmV2aXNpb24gMzY5MDIpCisrKyBwbGF0Zm9ybS93eC9TY3JvbGxWaWV3V3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw3ICs1MCw2IEBAIHB1YmxpYzoKICAgICBTY3JvbGxWaWV3UHJpdmF0
ZShTY3JvbGxWaWV3KiBzY3JvbGxWaWV3KQogICAgICAgICA6IHd4RXZ0SGFuZGxlcigpCiAgICAg
ICAgICwgbV9zY3JvbGxWaWV3KHNjcm9sbFZpZXcpCi0gICAgICAgICwgaGFzU3RhdGljQmFja2dy
b3VuZChmYWxzZSkKICAgICAgICAgLCBzdXBwcmVzc1Njcm9sbGJhcnMoZmFsc2UpCiAgICAgICAg
ICwgdlNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQXV0bykKICAgICAgICAgLCBoU2Nyb2xsYmFyTW9k
ZShTY3JvbGxiYXJBdXRvKQpAQCAtMTE3LDcgKzExNiw2IEBAIHB1YmxpYzoKIAogICAgIFNjcm9s
bFZpZXcqIG1fc2Nyb2xsVmlldzsKIAotICAgIGJvb2wgaGFzU3RhdGljQmFja2dyb3VuZDsKICAg
ICBib29sIHN1cHByZXNzU2Nyb2xsYmFyczsKICAgICBTY3JvbGxiYXJNb2RlIHZTY3JvbGxiYXJN
b2RlOwogICAgIFNjcm9sbGJhck1vZGUgaFNjcm9sbGJhck1vZGU7CkBAIC0xMjcsNiArMTI1LDcg
QEAgcHVibGljOgogU2Nyb2xsVmlldzo6U2Nyb2xsVmlldygpCiB7CiAgICAgbV9kYXRhID0gbmV3
IFNjcm9sbFZpZXdQcml2YXRlKHRoaXMpOworICAgIGluaXQoKTsKIH0KIAogdm9pZCBTY3JvbGxW
aWV3OjpzZXRQbGF0Zm9ybVdpZGdldCh3eFdpbmRvdyogd2luKQpAQCAtMjI1LDEwICsyMjQsMTAg
QEAgdm9pZCBTY3JvbGxWaWV3OjpzY3JvbGxCeShpbnQgZHgsIGludCBkeQogCiAgICAgd3hQb2lu
dCBkZWx0YShvcmlnIC0gbmV3U2Nyb2xsT2Zmc2V0KTsKIAotICAgIGlmIChtX2RhdGEtPmhhc1N0
YXRpY0JhY2tncm91bmQpCi0gICAgICAgIHdpbi0+UmVmcmVzaCgpOwotICAgIGVsc2UKKyAgICBp
ZiAoY2FuQmxpdE9uU2Nyb2xsKCkpCiAgICAgICAgIHdpbi0+U2Nyb2xsV2luZG93KGRlbHRhLngs
IGRlbHRhLnkpOworICAgIGVsc2UKKyAgICAgICAgd2luLT5SZWZyZXNoKCk7CiAKICAgICBhZGp1
c3RTY3JvbGxiYXJzKCk7CiB9CkBAIC0zOTcsMTEgKzM5Niw2IEBAIHZvaWQgU2Nyb2xsVmlldzo6
c2V0VlNjcm9sbGJhck1vZGUoU2Nyb2wKICAgICB9CiB9CiAKLXZvaWQgU2Nyb2xsVmlldzo6c2V0
U3RhdGljQmFja2dyb3VuZChib29sIGZsYWcpCi17Ci0gICAgbV9kYXRhLT5oYXNTdGF0aWNCYWNr
Z3JvdW5kID0gZmxhZzsKLX0KLQogdm9pZCBTY3JvbGxWaWV3OjpzdXBwcmVzc1Njcm9sbGJhcnMo
Ym9vbCBzdXBwcmVzc2VkLCBib29sIHJlcGFpbnRPblN1cHByZXNzKQogewogICAgIGlmICggbV9k
YXRhLT5zdXBwcmVzc1Njcm9sbGJhcnMgIT0gc3VwcHJlc3NlZCApCg==
</data>
<flag name="review"
          id="10720"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23820</attachid>
            <date>2008-09-25 13:36:15 -0700</date>
            <delta_ts>2008-09-25 13:46:11 -0700</delta_ts>
            <desc>Patch #2</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>16014</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2OTA0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAKKzIwMDgtMDkt
MjUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTExOAorCisgICAgICAgIE1ha2UgdGhlIGNv
bmNlcHQgb2Ygd2hldGhlciB5b3UgY2FuIGJsaXQgb24gc2Nyb2xsIGNyb3NzLXBsYXRmb3JtIG9u
IFNjcm9sbFZpZXcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0VXNlU2xvd1JlcGFpbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6YWRkU2xvd1JlcGFpbnRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpyZW1vdmVTbG93UmVwYWludE9iamVjdCk6CisgICAgICAgICogcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojppbml0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmFkZENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbFZpZXc6OnJlbW92ZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnNldENhbkJsaXRPblNjcm9sbCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5oOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6Y2FuQmxpdE9uU2Nyb2xsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvU2Nyb2xsVmlld0d0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZTo6U2Nyb2xsVmlld1ByaXZhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OnNjcm9sbEJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpTY3JvbGxWaWV3KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsVmlld01hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bFZpZXc6OlNjcm9sbFZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZv
cm1BZGRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVJlbW92
ZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0Q2FuQmxp
dE9uU2Nyb2xsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9TY3JvbGxWaWV3UXQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OlNjcm9sbFZpZXdQ
cml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRl
OjpzY3JvbGxCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Ny
b2xsVmlldyk6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Njcm9sbFZpZXdXaW4uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OlNjcm9sbFZpZXdQ
cml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRl
OjpzY3JvbGxCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6U2Ny
b2xsVmlldyk6CisgICAgICAgICogcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRlOjpTY3JvbGxWaWV3UHJp
dmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpTY3JvbGxWaWV3KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbEJ5KToKKwogMjAwOC0wOS0yNSAgRGF2aWQg
SHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMTEzCkluZGV4OiBwYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAzNjkwMikKKysrIHBhZ2UvRnJh
bWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI0LDcgKzIyNCw3IEBAIHZvaWQgRnJhbWVW
aWV3Ojppbml0KCkKIAogdm9pZCBGcmFtZVZpZXc6OmNsZWFyKCkKIHsKLSAgICBzZXRTdGF0aWNC
YWNrZ3JvdW5kKGZhbHNlKTsKKyAgICBzZXRDYW5CbGl0T25TY3JvbGwodHJ1ZSk7CiAgICAgCiAg
ICAgZC0+cmVzZXQoKTsKIApAQCAtNTE1LDcgKzUxNSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlv
dXQoYm9vbCBhbGxvd1N1YnRyZWUKIAogICAgIEFTU0VSVCghcm9vdC0+bmVlZHNMYXlvdXQoKSk7
CiAKLSAgICBzZXRTdGF0aWNCYWNrZ3JvdW5kKHVzZVNsb3dSZXBhaW50cygpKTsKKyAgICBzZXRD
YW5CbGl0T25TY3JvbGwoIXVzZVNsb3dSZXBhaW50cygpKTsKIAogICAgIGlmIChkb2N1bWVudC0+
aGFzTGlzdGVuZXJUeXBlKERvY3VtZW50OjpPVkVSRkxPV0NIQU5HRURfTElTVEVORVIpKQogICAg
ICAgICB1cGRhdGVPdmVyZmxvd1N0YXR1cyh2aXNpYmxlV2lkdGgoKSA8IGNvbnRlbnRzV2lkdGgo
KSwKQEAgLTY0OSwxMyArNjQ5LDEzIEBAIGJvb2wgRnJhbWVWaWV3Ojp1c2VTbG93UmVwYWludHMo
KSBjb25zdAogdm9pZCBGcmFtZVZpZXc6OnNldFVzZVNsb3dSZXBhaW50cygpCiB7CiAgICAgZC0+
bV91c2VTbG93UmVwYWludHMgPSB0cnVlOwotICAgIHNldFN0YXRpY0JhY2tncm91bmQodHJ1ZSk7
CisgICAgc2V0Q2FuQmxpdE9uU2Nyb2xsKGZhbHNlKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OmFk
ZFNsb3dSZXBhaW50T2JqZWN0KCkKIHsKICAgICBpZiAoIWQtPm1fc2xvd1JlcGFpbnRPYmplY3RD
b3VudCkKLSAgICAgICAgc2V0U3RhdGljQmFja2dyb3VuZCh0cnVlKTsKKyAgICAgICAgc2V0Q2Fu
QmxpdE9uU2Nyb2xsKGZhbHNlKTsKICAgICBkLT5tX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQrKzsK
IH0KIApAQCAtNjY0LDcgKzY2NCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZW1vdmVTbG93UmVwYWlu
dE9iamVjdCgKICAgICBBU1NFUlQoZC0+bV9zbG93UmVwYWludE9iamVjdENvdW50ID4gMCk7CiAg
ICAgZC0+bV9zbG93UmVwYWludE9iamVjdENvdW50LS07CiAgICAgaWYgKCFkLT5tX3Nsb3dSZXBh
aW50T2JqZWN0Q291bnQpCi0gICAgICAgIHNldFN0YXRpY0JhY2tncm91bmQoZC0+bV91c2VTbG93
UmVwYWludHMpOworICAgICAgICBzZXRDYW5CbGl0T25TY3JvbGwoIWQtPm1fdXNlU2xvd1JlcGFp
bnRzKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnNldFNjcm9sbGJhcnNNb2RlKFNjcm9sbGJhck1v
ZGUgbW9kZSkKSW5kZXg6IHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBs
YXRmb3JtL1Njcm9sbFZpZXcuY3BwCShyZXZpc2lvbiAzNjkwMikKKysrIHBsYXRmb3JtL1Njcm9s
bFZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCwxMSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK3ZvaWQgU2Nyb2xsVmlldzo6aW5pdCgpCit7CisgICAgbV9jYW5CbGl0T25T
Y3JvbGwgPSB0cnVlOworfQorCiB2b2lkIFNjcm9sbFZpZXc6OmFkZENoaWxkKFdpZGdldCogY2hp
bGQpIAogewogICAgIEFTU0VSVChjaGlsZCAhPSB0aGlzICYmICFjaGlsZC0+cGFyZW50KCkpOwpA
QCAtMzcsNyArNDIsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OmFkZENoaWxkKFdpZGdldCogY2hpbGQp
CiAgICAgICAgIGNoaWxkLT5zZXRDb250YWluaW5nV2luZG93KGNvbnRhaW5pbmdXaW5kb3coKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgYWRkQ2hpbGRQbGF0Zm9ybVdpZGdldChjaGls
ZCk7CisgICAgcGxhdGZvcm1BZGRDaGlsZChjaGlsZCk7CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6
cmVtb3ZlQ2hpbGQoV2lkZ2V0KiBjaGlsZCkKQEAgLTQ2LDggKzUxLDIzIEBAIHZvaWQgU2Nyb2xs
Vmlldzo6cmVtb3ZlQ2hpbGQoV2lkZ2V0KiBjaGkKICAgICBjaGlsZC0+c2V0UGFyZW50KDApOwog
ICAgIG1fY2hpbGRyZW4ucmVtb3ZlKGNoaWxkKTsKICAgICBpZiAoY2hpbGQtPnBsYXRmb3JtV2lk
Z2V0KCkpCi0gICAgICAgIHJlbW92ZUNoaWxkUGxhdGZvcm1XaWRnZXQoY2hpbGQpOworICAgICAg
ICBwbGF0Zm9ybVJlbW92ZUNoaWxkKGNoaWxkKTsKK30KKwordm9pZCBTY3JvbGxWaWV3OjpzZXRD
YW5CbGl0T25TY3JvbGwoYm9vbCBiKQoreworICAgIGlmIChtX2NhbkJsaXRPblNjcm9sbCA9PSBi
KQorICAgICAgICByZXR1cm47CisgICAgbV9jYW5CbGl0T25TY3JvbGwgPSBiOworICAgIGlmIChw
bGF0Zm9ybVdpZGdldCgpKQorICAgICAgICBwbGF0Zm9ybVNldENhbkJsaXRPblNjcm9sbCgpOwor
fQorCisjaWYgIVBMQVRGT1JNKE1BQykKK3ZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRDYW5C
bGl0T25TY3JvbGwoKQorewogfQorI2VuZGlmCiAKIH0KIApJbmRleDogcGxhdGZvcm0vU2Nyb2xs
Vmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL1Njcm9sbFZpZXcuaAkocmV2aXNpb24gMzY5
MDIpCisrKyBwbGF0Zm9ybS9TY3JvbGxWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYz
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGFkZENoaWxkKFdpZGdldCop
OwogICAgICAgICB2b2lkIHJlbW92ZUNoaWxkKFdpZGdldCopOwogCisgICAgICAgIHZvaWQgc2V0
Q2FuQmxpdE9uU2Nyb2xsKGJvb2wpOworICAgICAgICBib29sIGNhbkJsaXRPblNjcm9sbCgpIGNv
bnN0IHsgcmV0dXJuIG1fY2FuQmxpdE9uU2Nyb2xsOyB9CisKICAgICAgICAgaW50IHZpc2libGVX
aWR0aCgpIGNvbnN0OwogICAgICAgICBpbnQgdmlzaWJsZUhlaWdodCgpIGNvbnN0OwogICAgICAg
ICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0KCkgY29uc3Q7CkBAIC0xMDIsOCArMTA1LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBJbnRSZWN0IHdpbmRvd1RvQ29udGVudHMo
Y29uc3QgSW50UmVjdCYpIGNvbnN0OwogICAgICAgICBJbnRSZWN0IGNvbnRlbnRzVG9XaW5kb3co
Y29uc3QgSW50UmVjdCYpIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U3RhdGljQmFja2dyb3Vu
ZChib29sKTsKLQogICAgICAgICBib29sIGluV2luZG93KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBzaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbigpIGNvbnN0ID0gMDsKIApAQCAtMTUw
LDkgKzE1MSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBIYXNoU2V0PFdpZGdldCo+IG1fY2hpbGRyZW47Ci0KLSAgICAgICAgdm9pZCBhZGRDaGlsZFBs
YXRmb3JtV2lkZ2V0KFdpZGdldCopOwotICAgICAgICB2b2lkIHJlbW92ZUNoaWxkUGxhdGZvcm1X
aWRnZXQoV2lkZ2V0Kik7CisgICAgICAgIGJvb2wgbV9jYW5CbGl0T25TY3JvbGw7CisgICAgICAg
IAorICAgICAgICB2b2lkIGluaXQoKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgcGxhdGZvcm1B
ZGRDaGlsZChXaWRnZXQqKTsKKyAgICAgICAgdm9pZCBwbGF0Zm9ybVJlbW92ZUNoaWxkKFdpZGdl
dCopOworICAgICAgICB2b2lkIHBsYXRmb3JtU2V0Q2FuQmxpdE9uU2Nyb2xsKCk7CiAKICNpZiBQ
TEFURk9STShNQUMpICYmIGRlZmluZWQgX19PQkpDX18KICAgICBwdWJsaWM6CkluZGV4OiBwbGF0
Zm9ybS9ndGsvU2Nyb2xsVmlld0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vZ3RrL1Nj
cm9sbFZpZXdHdGsuY3BwCShyZXZpc2lvbiAzNjkwMikKKysrIHBsYXRmb3JtL2d0ay9TY3JvbGxW
aWV3R3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNiBAQCBjbGFzcyBTY3JvbGxW
aWV3OjpTY3JvbGxWaWV3UHJpdmF0ZSA6IHB1CiBwdWJsaWM6CiAgICAgU2Nyb2xsVmlld1ByaXZh
dGUoU2Nyb2xsVmlldyogX3ZpZXcpCiAgICAgICAgIDogdmlldyhfdmlldykKLSAgICAgICAgLCBo
YXNTdGF0aWNCYWNrZ3JvdW5kKGZhbHNlKQogICAgICAgICAsIHNjcm9sbGJhcnNTdXBwcmVzc2Vk
KGZhbHNlKQogICAgICAgICAsIHZTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckF1dG8pCiAgICAgICAg
ICwgaFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQXV0bykKQEAgLTEwNiw3ICsxMDUsNiBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgYWRqdXN0bWVudENoYW5nZWQoR3RrQWRqdXN0bWVudCosIGdw
b2ludGVyKTsKIAogICAgIFNjcm9sbFZpZXcqIHZpZXc7Ci0gICAgYm9vbCBoYXNTdGF0aWNCYWNr
Z3JvdW5kOwogICAgIGJvb2wgc2Nyb2xsYmFyc1N1cHByZXNzZWQ7CiAgICAgU2Nyb2xsYmFyTW9k
ZSB2U2Nyb2xsYmFyTW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIGhTY3JvbGxiYXJNb2RlOwpAQCAt
MTc4LDcgKzE3Niw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OnNjcm8K
IAogICAgIC8vRklYTUUgdXBkYXRlIGhlcmU/CiAKLSAgICBpZiAoIWhhc1N0YXRpY0JhY2tncm91
bmQpIC8vIFRoZSBtYWluIGZyYW1lIGNhbiBqdXN0IGJsaXQgdGhlIFdlYlZpZXcgd2luZG93Cisg
ICAgaWYgKGNhbkJsaXRPblNjcm9sbCgpKSAvLyBUaGUgbWFpbiBmcmFtZSBjYW4ganVzdCBibGl0
IHRoZSBXZWJWaWV3IHdpbmRvdwogICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5IHRvIGJsaXQg
c3ViZnJhbWVzIHdpdGhvdXQgYmxpdHRpbmcgb3ZlcmxhcHBpbmcgY29udGVudAogICAgICAgIHZp
ZXctPnNjcm9sbEJhY2tpbmdTdG9yZSgtc2Nyb2xsRGVsdGEud2lkdGgoKSwgLXNjcm9sbERlbHRh
LmhlaWdodCgpLCBzY3JvbGxWaWV3UmVjdCwgY2xpcFJlY3QpOwogICAgIGVsc2UgIHsKQEAgLTI1
Myw3ICsyNTEsOSBAQCBib29sIFNjcm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRlOjppc0FjCiAK
IFNjcm9sbFZpZXc6OlNjcm9sbFZpZXcoKQogICAgIDogbV9kYXRhKG5ldyBTY3JvbGxWaWV3UHJp
dmF0ZSh0aGlzKSkKLXt9Cit7CisgICAgaW5pdCgpOworfQogCiBTY3JvbGxWaWV3Ojp+U2Nyb2xs
VmlldygpCiB7CkBAIC00NTUsMTEgKzQ1NSw2IEBAIHZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xs
YmFyc01vZGUoU2Nyb2wKICAgICB1cGRhdGVTY3JvbGxiYXJzKG1fZGF0YS0+c2Nyb2xsT2Zmc2V0
KTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpzZXRTdGF0aWNCYWNrZ3JvdW5kKGJvb2wgZmxhZykK
LXsKLSAgICBtX2RhdGEtPmhhc1N0YXRpY0JhY2tncm91bmQgPSBmbGFnOwotfQotCiB2b2lkIFNj
cm9sbFZpZXc6OnNldEZyYW1lR2VvbWV0cnkoY29uc3QgSW50UmVjdCYgbmV3R2VvbWV0cnkpCiB7
CiAgICAgQVNTRVJUKGlzRnJhbWVWaWV3KCkpOwpAQCAtNDc2LDEzICs0NzEsMTMgQEAgdm9pZCBT
Y3JvbGxWaWV3OjpzZXRGcmFtZUdlb21ldHJ5KGNvbnN0IAogICAgIGdlb21ldHJ5Q2hhbmdlZCgp
OwogfQogCi12b2lkIFNjcm9sbFZpZXc6OmFkZENoaWxkUGxhdGZvcm1XaWRnZXQoV2lkZ2V0KiBj
aGlsZCkKK3ZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1BZGRDaGlsZChXaWRnZXQqIGNoaWxkKQog
ewogICAgIGlmICghR1RLX0lTX1NPQ0tFVChjaGlsZC0+cGxhdGZvcm1XaWRnZXQoKSkpCiAgICAg
ICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoY29udGFpbmluZ1dpbmRvdygpKSwg
Y2hpbGQtPnBsYXRmb3JtV2lkZ2V0KCkpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OnJlbW92ZUNo
aWxkUGxhdGZvcm1XaWRnZXQoV2lkZ2V0KiBjaGlsZCkKK3ZvaWQgU2Nyb2xsVmlldzo6cGxhdGZv
cm1SZW1vdmVDaGlsZChXaWRnZXQqIGNoaWxkKQogewogICAgIGlmIChHVEtfV0lER0VUKGNvbnRh
aW5pbmdXaW5kb3coKSkgPT0gR1RLX1dJREdFVChjaGlsZC0+cGxhdGZvcm1XaWRnZXQoKSktPnBh
cmVudCkKICAgICAgICAgZ3RrX2NvbnRhaW5lcl9yZW1vdmUoR1RLX0NPTlRBSU5FUihjb250YWlu
aW5nV2luZG93KCkpLCBjaGlsZC0+cGxhdGZvcm1XaWRnZXQoKSk7CkluZGV4OiBwbGF0Zm9ybS9t
YWMvU2Nyb2xsVmlld01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9tYWMvU2Nyb2xsVmll
d01hYy5tbQkocmV2aXNpb24gMzY5MDIpCisrKyBwbGF0Zm9ybS9tYWMvU2Nyb2xsVmlld01hYy5t
bQkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsNyBAQCBwdWJsaWM6CiBTY3JvbGxWaWV3OjpT
Y3JvbGxWaWV3KCkKICAgICA6IG1fZGF0YShuZXcgU2Nyb2xsVmlld1ByaXZhdGUpCiB7CisgICAg
aW5pdCgpOwogfQogCiBTY3JvbGxWaWV3Ojp+U2Nyb2xsVmlldygpCkBAIC03MSw3ICs3Miw3IEBA
IGlubGluZSBOU1Njcm9sbFZpZXc8V2ViQ29yZUZyYW1lU2Nyb2xsVmkKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8TlNTY3JvbGxWaWV3PFdlYkNvcmVGcmFtZVNjcm9sbFZpZXc+ICo+KHBsYXRmb3Jt
V2lkZ2V0KCkpOwogfQogCi12b2lkIFNjcm9sbFZpZXc6OmFkZENoaWxkUGxhdGZvcm1XaWRnZXQo
V2lkZ2V0KiBjaGlsZCkKK3ZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1BZGRDaGlsZChXaWRnZXQq
IGNoaWxkKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICBOU1ZpZXcg
KnBhcmVudFZpZXcgPSBkb2N1bWVudFZpZXcoKTsKQEAgLTg4LDExICs4OSwxOCBAQCB2b2lkIFNj
cm9sbFZpZXc6OmFkZENoaWxkUGxhdGZvcm1XaWRnZXQoCiAgICAgRU5EX0JMT0NLX09CSkNfRVhD
RVBUSU9OUzsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpyZW1vdmVDaGlsZFBsYXRmb3JtV2lkZ2V0
KFdpZGdldCogY2hpbGQpCit2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtUmVtb3ZlQ2hpbGQoV2lk
Z2V0KiBjaGlsZCkKIHsKICAgICBjaGlsZC0+cmVtb3ZlRnJvbVN1cGVydmlldygpOwogfQogCit2
b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0Q2FuQmxpdE9uU2Nyb2xsKCkKK3sKKyAgICBCRUdJ
Tl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgW1tzY3JvbGxWaWV3KCkgY29udGVudFZpZXdd
IHNldENvcGllc09uU2Nyb2xsOmNhbkJsaXRPblNjcm9sbCgpXTsKKyAgICBFTkRfQkxPQ0tfT0JK
Q19FWENFUFRJT05TOworfQorCiBpbnQgU2Nyb2xsVmlldzo6dmlzaWJsZVdpZHRoKCkgY29uc3QK
IHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CkBAIC0zNjcsMTMgKzM3NSw2IEBA
IEludFBvaW50IFNjcm9sbFZpZXc6OnNjcmVlblRvQ29udGVudHMoY28KICAgICByZXR1cm4gSW50
UG9pbnQoKTsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjpzZXRTdGF0aWNCYWNrZ3JvdW5kKGJvb2wg
c3RhdGljQmFja2dyb3VuZCkKLXsKLSAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7Ci0g
ICAgW1tzY3JvbGxWaWV3KCkgY29udGVudFZpZXddIHNldENvcGllc09uU2Nyb2xsOiFzdGF0aWNC
YWNrZ3JvdW5kXTsKLSAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotfQotCiBOU1ZpZXcg
KlNjcm9sbFZpZXc6OmRvY3VtZW50VmlldygpIGNvbnN0CiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwpJbmRleDogcGxhdGZvcm0vcXQvU2Nyb2xsVmlld1F0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBwbGF0Zm9ybS9xdC9TY3JvbGxWaWV3UXQuY3BwCShyZXZpc2lvbiAzNjkwMikKKysr
IHBsYXRmb3JtL3F0L1Njcm9sbFZpZXdRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3LDcgKzY3
LDYgQEAgY2xhc3MgU2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGUgOiBwdQogcHVibGljOgog
ICAgIFNjcm9sbFZpZXdQcml2YXRlKFNjcm9sbFZpZXcqIHZpZXcpCiAgICAgICA6IG1fdmlldyh2
aWV3KQotICAgICAgLCBtX2hhc1N0YXRpY0JhY2tncm91bmQoZmFsc2UpCiAgICAgICAsIG1fcGxh
dGZvcm1XaWRnZXRzKDApCiAgICAgICAsIG1fc2Nyb2xsYmFyc1N1cHByZXNzZWQoZmFsc2UpCiAg
ICAgICAsIG1faW5VcGRhdGVTY3JvbGxiYXJzKGZhbHNlKQpAQCAtOTUsNyArOTQsNiBAQCBwdWJs
aWM6CiAgICAgU2Nyb2xsVmlldyogbV92aWV3OwogICAgIEludFNpemUgbV9zY3JvbGxPZmZzZXQ7
CiAgICAgSW50U2l6ZSBtX2NvbnRlbnRzU2l6ZTsKLSAgICBib29sIG1faGFzU3RhdGljQmFja2dy
b3VuZDsKICAgICBpbnQgIG1fcGxhdGZvcm1XaWRnZXRzOwogICAgIGJvb2wgbV9zY3JvbGxiYXJz
U3VwcHJlc3NlZDsKICAgICBib29sIG1faW5VcGRhdGVTY3JvbGxiYXJzOwpAQCAtMTYwLDcgKzE1
OCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OnNjcm8KICAgICBJbnRS
ZWN0IHVwZGF0ZVJlY3QgPSBjbGlwUmVjdDsKICAgICB1cGRhdGVSZWN0LmludGVyc2VjdChzY3Jv
bGxWaWV3UmVjdCk7CiAKLSAgICBpZiAoIW1faGFzU3RhdGljQmFja2dyb3VuZCAmJiAhbV92aWV3
LT5yb290KCktPmhhc05hdGl2ZVdpZGdldHMoKSkgeworICAgIGlmIChjYW5CbGl0T25TY3JvbGwo
KSAmJiAhbV92aWV3LT5yb290KCktPmhhc05hdGl2ZVdpZGdldHMoKSkgewogICAgICAgIG1fdmll
dy0+c2Nyb2xsQmFja2luZ1N0b3JlKC1zY3JvbGxEZWx0YS53aWR0aCgpLCAtc2Nyb2xsRGVsdGEu
aGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVmlld1Jl
Y3QsIGNsaXBSZWN0KTsKICAgICB9IGVsc2UgIHsKQEAgLTE4Niw2ICsxODQsNyBAQCBib29sIFNj
cm9sbFZpZXc6OlNjcm9sbFZpZXdQcml2YXRlOjppc0FjCiBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3
KCkKICAgICA6IG1fZGF0YShuZXcgU2Nyb2xsVmlld1ByaXZhdGUodGhpcykpCiB7CisgICAgaW5p
dCgpOwogfQogCiBTY3JvbGxWaWV3Ojp+U2Nyb2xsVmlldygpCkBAIC00MzksMTEgKzQzOCw2IEBA
IHZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsYmFyc01vZGUoU2Nyb2wKICAgICB9CiB9CiAKLXZv
aWQgU2Nyb2xsVmlldzo6c2V0U3RhdGljQmFja2dyb3VuZChib29sIGZsYWcpCi17Ci0gICAgbV9k
YXRhLT5tX2hhc1N0YXRpY0JhY2tncm91bmQgPSBmbGFnOwotfQotCiBib29sIFNjcm9sbFZpZXc6
OmluV2luZG93KCkgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTYwNiwxMiArNjAwLDEy
IEBAIFNjcm9sbGJhciogU2Nyb2xsVmlldzo6c2Nyb2xsYmFyVW5kZXJNb3UKICAgICByZXR1cm4g
MDsKIH0KIAotdm9pZCBTY3JvbGxWaWV3OjphZGRDaGlsZFBsYXRmb3JtV2lkZ2V0KFdpZGdldCog
Y2hpbGQpCit2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtQWRkQ2hpbGQoV2lkZ2V0KiBjaGlsZCkK
IHsKICAgICByb290KCktPmluY3JlbWVudE5hdGl2ZVdpZGdldENvdW50KCk7CiB9CiAKLXZvaWQg
U2Nyb2xsVmlldzo6cmVtb3ZlQ2hpbGRQbGF0Zm9ybVdpZGdldChXaWRnZXQqIGNoaWxkKQordm9p
ZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVJlbW92ZUNoaWxkKFdpZGdldCogY2hpbGQpCiB7CiAgICAg
cm9vdCgpLT5kZWNyZW1lbnROYXRpdmVXaWRnZXRDb3VudCgpOwogfQpJbmRleDogcGxhdGZvcm0v
d2luL1Njcm9sbFZpZXdXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL3dpbi9TY3JvbGxW
aWV3V2luLmNwcAkocmV2aXNpb24gMzY5MDIpCisrKyBwbGF0Zm9ybS93aW4vU2Nyb2xsVmlld1dp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDcgKzY2LDYgQEAgY2xhc3MgU2Nyb2xsVmlldzo6
U2Nyb2xsVmlld1ByaXZhdGUgOiBwdQogcHVibGljOgogICAgIFNjcm9sbFZpZXdQcml2YXRlKFNj
cm9sbFZpZXcqIHZpZXcpCiAgICAgICAgIDogbV92aWV3KHZpZXcpCi0gICAgICAgICwgbV9oYXNT
dGF0aWNCYWNrZ3JvdW5kKGZhbHNlKQogICAgICAgICAsIG1fc2Nyb2xsYmFyc1N1cHByZXNzZWQo
ZmFsc2UpCiAgICAgICAgICwgbV9pblVwZGF0ZVNjcm9sbGJhcnMoZmFsc2UpCiAgICAgICAgICwg
bV9zY3JvbGxiYXJzQXZvaWRpbmdSZXNpemVyKDApCkBAIC05OCw3ICs5Nyw2IEBAIHB1YmxpYzoK
ICAgICBTY3JvbGxWaWV3KiBtX3ZpZXc7CiAgICAgSW50U2l6ZSBtX3Njcm9sbE9mZnNldDsKICAg
ICBJbnRTaXplIG1fY29udGVudHNTaXplOwotICAgIGJvb2wgbV9oYXNTdGF0aWNCYWNrZ3JvdW5k
OwogICAgIGJvb2wgbV9zY3JvbGxiYXJzU3VwcHJlc3NlZDsKICAgICBib29sIG1faW5VcGRhdGVT
Y3JvbGxiYXJzOwogICAgIGludCBtX3Njcm9sbGJhcnNBdm9pZGluZ1Jlc2l6ZXI7CkBAIC0xNzcs
NyArMTc1LDcgQEAgdm9pZCBTY3JvbGxWaWV3OjpTY3JvbGxWaWV3UHJpdmF0ZTo6c2NybwogICAg
ICAgICBtX3ZpZXctPnVwZGF0ZVdpbmRvd1JlY3QocGFuU2Nyb2xsSWNvbkRpcnR5UmVjdCk7CiAg
ICAgfQogCi0gICAgaWYgKCFtX2hhc1N0YXRpY0JhY2tncm91bmQpIC8vIFRoZSBtYWluIGZyYW1l
IGNhbiBqdXN0IGJsaXQgdGhlIFdlYlZpZXcgd2luZG93CisgICAgaWYgKGNhbkJsaXRPblNjcm9s
bCgpKSAvLyBUaGUgbWFpbiBmcmFtZSBjYW4ganVzdCBibGl0IHRoZSBXZWJWaWV3IHdpbmRvdwog
ICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5IHRvIGJsaXQgc3ViZnJhbWVzIHdpdGhvdXQgYmxp
dHRpbmcgb3ZlcmxhcHBpbmcgY29udGVudAogICAgICAgIG1fdmlldy0+c2Nyb2xsQmFja2luZ1N0
b3JlKC1zY3JvbGxEZWx0YS53aWR0aCgpLCAtc2Nyb2xsRGVsdGEuaGVpZ2h0KCksIHNjcm9sbFZp
ZXdSZWN0LCBjbGlwUmVjdCk7CiAgICAgZWxzZSAgewpAQCAtMjMwLDYgKzIyOCw3IEBAIGJvb2wg
U2Nyb2xsVmlldzo6U2Nyb2xsVmlld1ByaXZhdGU6OmlzQWMKIFNjcm9sbFZpZXc6OlNjcm9sbFZp
ZXcoKQogICAgIDogbV9kYXRhKG5ldyBTY3JvbGxWaWV3UHJpdmF0ZSh0aGlzKSkKIHsKKyAgICBp
bml0KCk7CiB9CiAKIFNjcm9sbFZpZXc6On5TY3JvbGxWaWV3KCkKQEAgLTIzNywxMSArMjM2LDEx
IEBAIFNjcm9sbFZpZXc6On5TY3JvbGxWaWV3KCkKICAgICBkZWxldGUgbV9kYXRhOwogfQogCi12
b2lkIFNjcm9sbFZpZXc6OmFkZENoaWxkUGxhdGZvcm1XaWRnZXQoV2lkZ2V0KikKK3ZvaWQgU2Ny
b2xsVmlldzo6cGxhdGZvcm1BZGRDaGlsZChXaWRnZXQqKQogewogfQogCi12b2lkIFNjcm9sbFZp
ZXc6OnJlbW92ZUNoaWxkUGxhdGZvcm1XaWRnZXQoV2lkZ2V0KikKK3ZvaWQgU2Nyb2xsVmlldzo6
cGxhdGZvcm1SZW1vdmVDaGlsZChXaWRnZXQqKQogewogfQogCkBAIC00NzEsMTEgKzQ3MCw2IEBA
IHZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsYmFyc01vZGUoU2Nyb2wKICAgICB9CiB9CiAKLXZv
aWQgU2Nyb2xsVmlldzo6c2V0U3RhdGljQmFja2dyb3VuZChib29sIGZsYWcpCi17Ci0gICAgbV9k
YXRhLT5tX2hhc1N0YXRpY0JhY2tncm91bmQgPSBmbGFnOwotfQotCiB2b2lkIFNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgSW50U2l6ZSYgZGVzaXJlZE9mZnNldCkKIHsKICAgICAv
LyBEb24ndCBhbGxvdyByZS1lbnRyYW5jeSBpbnRvIHRoaXMgZnVuY3Rpb24uCkluZGV4OiBwbGF0
Zm9ybS93eC9TY3JvbGxWaWV3V3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL3d4L1Njcm9s
bFZpZXdXeC5jcHAJKHJldmlzaW9uIDM2OTAyKQorKysgcGxhdGZvcm0vd3gvU2Nyb2xsVmlld1d4
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQCBwdWJsaWM6CiAgICAgU2Nyb2xs
Vmlld1ByaXZhdGUoU2Nyb2xsVmlldyogc2Nyb2xsVmlldykKICAgICAgICAgOiB3eEV2dEhhbmRs
ZXIoKQogICAgICAgICAsIG1fc2Nyb2xsVmlldyhzY3JvbGxWaWV3KQotICAgICAgICAsIGhhc1N0
YXRpY0JhY2tncm91bmQoZmFsc2UpCiAgICAgICAgICwgc3VwcHJlc3NTY3JvbGxiYXJzKGZhbHNl
KQogICAgICAgICAsIHZTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckF1dG8pCiAgICAgICAgICwgaFNj
cm9sbGJhck1vZGUoU2Nyb2xsYmFyQXV0bykKQEAgLTExNyw3ICsxMTYsNiBAQCBwdWJsaWM6CiAK
ICAgICBTY3JvbGxWaWV3KiBtX3Njcm9sbFZpZXc7CiAKLSAgICBib29sIGhhc1N0YXRpY0JhY2tn
cm91bmQ7CiAgICAgYm9vbCBzdXBwcmVzc1Njcm9sbGJhcnM7CiAgICAgU2Nyb2xsYmFyTW9kZSB2
U2Nyb2xsYmFyTW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIGhTY3JvbGxiYXJNb2RlOwpAQCAtMTI3
LDYgKzEyNSw3IEBAIHB1YmxpYzoKIFNjcm9sbFZpZXc6OlNjcm9sbFZpZXcoKQogewogICAgIG1f
ZGF0YSA9IG5ldyBTY3JvbGxWaWV3UHJpdmF0ZSh0aGlzKTsKKyAgICBpbml0KCk7CiB9CiAKIHZv
aWQgU2Nyb2xsVmlldzo6c2V0UGxhdGZvcm1XaWRnZXQod3hXaW5kb3cqIHdpbikKQEAgLTIyNSwx
MCArMjI0LDEwIEBAIHZvaWQgU2Nyb2xsVmlldzo6c2Nyb2xsQnkoaW50IGR4LCBpbnQgZHkKIAog
ICAgIHd4UG9pbnQgZGVsdGEob3JpZyAtIG5ld1Njcm9sbE9mZnNldCk7CiAKLSAgICBpZiAobV9k
YXRhLT5oYXNTdGF0aWNCYWNrZ3JvdW5kKQotICAgICAgICB3aW4tPlJlZnJlc2goKTsKLSAgICBl
bHNlCisgICAgaWYgKGNhbkJsaXRPblNjcm9sbCgpKQogICAgICAgICB3aW4tPlNjcm9sbFdpbmRv
dyhkZWx0YS54LCBkZWx0YS55KTsKKyAgICBlbHNlCisgICAgICAgIHdpbi0+UmVmcmVzaCgpOwog
CiAgICAgYWRqdXN0U2Nyb2xsYmFycygpOwogfQpAQCAtMzk3LDExICszOTYsNiBAQCB2b2lkIFNj
cm9sbFZpZXc6OnNldFZTY3JvbGxiYXJNb2RlKFNjcm9sCiAgICAgfQogfQogCi12b2lkIFNjcm9s
bFZpZXc6OnNldFN0YXRpY0JhY2tncm91bmQoYm9vbCBmbGFnKQotewotICAgIG1fZGF0YS0+aGFz
U3RhdGljQmFja2dyb3VuZCA9IGZsYWc7Ci19Ci0KIHZvaWQgU2Nyb2xsVmlldzo6c3VwcHJlc3NT
Y3JvbGxiYXJzKGJvb2wgc3VwcHJlc3NlZCwgYm9vbCByZXBhaW50T25TdXBwcmVzcykKIHsKICAg
ICBpZiAoIG1fZGF0YS0+c3VwcHJlc3NTY3JvbGxiYXJzICE9IHN1cHByZXNzZWQgKQpAQCAtNDQw
LDcgKzQzNCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6d2hlZWxFdmVudChQbGF0Zm9ybVdoZWUKIH0K
IAogLy8gdXNlZCBmb3Igc3ViZnJhbWVzIHN1cHBvcnQKLXZvaWQgU2Nyb2xsVmlldzo6YWRkQ2hp
bGRQbGF0Zm9ybVdpZGdldChXaWRnZXQqIHdpZGdldCkKK3ZvaWQgU2Nyb2xsVmlldzo6cGxhdGZv
cm1BZGRDaGlsZChXaWRnZXQqIHdpZGdldCkKIHsKICAgICAvLyBOQjogSW4gYWxsIGNhc2VzIEkn
bSBhd2FyZSBvZiwKICAgICAvLyBieSB0aGUgdGltZSB0aGlzIGlzIGNhbGxlZCB0aGUgU2Nyb2xs
VmlldyBpcyBhbHJlYWR5IGEgY2hpbGQKQEAgLTQ0OCw3ICs0NDIsNyBAQCB2b2lkIFNjcm9sbFZp
ZXc6OmFkZENoaWxkUGxhdGZvcm1XaWRnZXQoCiAgICAgLy8gd2UgbmVlZCB0byBkbyBhbnl0aGlu
ZyBoZXJlLgogfQogCi12b2lkIFNjcm9sbFZpZXc6OnJlbW92ZUNoaWxkUGxhdGZvcm1XaWRnZXQo
V2lkZ2V0KiB3aWRnZXQpCit2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtUmVtb3ZlQ2hpbGQoV2lk
Z2V0KiB3aWRnZXQpCiB7CiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpIHsKICAgICAgICAgcGxh
dGZvcm1XaWRnZXQoKS0+UmVtb3ZlQ2hpbGQod2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgpKTsK
</data>
<flag name="review"
          id="10721"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>