<?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>68276</bug_id>
          
          <creation_ts>2011-09-16 13:24:54 -0700</creation_ts>
          <short_desc>3D transforms are flattened in WebKit2 snapshots</short_desc>
          <delta_ts>2011-10-12 12:24:04 -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>WebKit2</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>
          <dependson>69784</dependson>
    
    <dependson>69785</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>aroben</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468765</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-16 13:24:54 -0700</bug_when>
    <thetext>Images of WK2 views flatten 3d transforms (they do a flattening paint, rather than capturing the window). This breaks pixel tests that contain 3d rendering (e.g. compositing/flat-with-transformed-child.html), and means that Safari snapshots don&apos;t show 3d.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479474</commentid>
    <comment_count>1</comment_count>
      <attachid>110018</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-06 14:15:33 -0700</bug_when>
    <thetext>Created attachment 110018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479606</commentid>
    <comment_count>2</comment_count>
      <attachid>110018</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-06 16:34:44 -0700</bug_when>
    <thetext>Comment on attachment 110018
Patch

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

&gt; Tools/WebKitTestRunner/cg/TestInvocationCG.mm:47
&gt; +namespace WTR {

I think that if we used &quot;svn move&quot; I could see the changes to this file. Because we just added a new file, I can’t see the diffs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479623</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-06 16:47:39 -0700</bug_when>
    <thetext>git will end up detecting the rename and will show this as an svn mv on commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479659</commentid>
    <comment_count>4</comment_count>
      <attachid>110064</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-06 17:23:34 -0700</bug_when>
    <thetext>Created attachment 110064
TestInvocationCG diff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481137</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-10 14:01:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/97082</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481161</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-10 14:23:57 -0700</bug_when>
    <thetext>Reopening: broke windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481268</commentid>
    <comment_count>7</comment_count>
      <attachid>110431</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-10 16:26:15 -0700</bug_when>
    <thetext>Created attachment 110431
Patch which fixes Windows build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481278</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-10 16:33:25 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/97104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482572</commentid>
    <comment_count>9</comment_count>
      <attachid>110431</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-10-12 11:42:45 -0700</bug_when>
    <thetext>Comment on attachment 110431
Patch which fixes Windows build

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

&gt; Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm:135
&gt; +    return WKImageCreateFromCGImage(windowSnapshotImage.get(), 0);

This causes a leak. You need to adopt the image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482600</commentid>
    <comment_count>10</comment_count>
      <attachid>110719</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-12 12:21:20 -0700</bug_when>
    <thetext>Created attachment 110719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482602</commentid>
    <comment_count>11</comment_count>
      <attachid>110719</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-12 12:24:04 -0700</bug_when>
    <thetext>Comment on attachment 110719
Patch

http://trac.webkit.org/changeset/97285</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110018</attachid>
            <date>2011-10-06 14:15:33 -0700</date>
            <delta_ts>2011-10-10 16:26:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68276-20111006141532.patch</filename>
            <type>text/plain</type>
            <size>20737</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3NzAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MDgwODEwOWJlY2NiZWM0Y2I2MzUyMjVjOWI2NTEwMDI4
MjQ4ODI4Li45NTQ1NjQ4MmJiNTI0MzQ3NzFjZTg2ZmE5NmRjNWQ2NDk4MjQ4YmVjIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTEtMTAtMDYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgM0QgdHJhbnNmb3JtcyBhcmUgZmxhdHRlbmVkIGluIFdlYktpdDIgc25hcHNob3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
VGhlIFdLSW1hZ2UgcGFzc2VkIGZyb20gdGhlIFdlYlByb2Nlc3Mgd2hlbiBwaXhlbCBkdW1waW5n
IGlzIGNyZWF0ZWQgYnkgcGFpbnRpbmcgY29tcG9zaXRpbmcgbGF5ZXJzCisgICAgICAgIGZsYXR0
ZW5lZCwgd2hpY2ggZmxhdHRlbnMgM0QgdHJhbnNmb3Jtcy4gSW5zdGVhZCwgdXNlIENHV2luZG93
TGlzdENyZWF0ZUltYWdlKCkgdG8gZ2V0IGEgc25hcHNob3Qgb2YKKyAgICAgICAgdGhlIHdpbmRv
dyB3aGVuIGRvaW5nIHBpeGVsIHRlc3RzLgorICAgICAgICAKKyAgICAgICAgQWxzbyBhbGxvdyB0
aGUgd2luZG93IHRvIGF1dG8tZGlzcGxheSwgc28gdGhhdCBDb3JlIEFuaW1hdGlvbiBsYXllcnMg
YXJlIHJlbmRlcmVkLCBhbmQgYW5pbWF0ZS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
V2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBUZXN0SW52b2NhdGlv
bkNHIGJlY2FtZSBhIC5tbSBmaWxlCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jZy9UZXN0
SW52b2NhdGlvbkNHLm1tOiBSZW5hbWVkIGZyb20gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jZy9U
ZXN0SW52b2NhdGlvbkNHLmNwcC4KKyAgICAgICAgKFdUUjo6Y3JlYXRlQml0bWFwQ0dDb250ZXh0
KTogVXRpbGl0eSBmdW5jdGlvbiB0byBjcmVhdGUgYSBiaXRtYXAgY29udGV4dC4KKyAgICAgICAg
KFdUUjo6Y29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JDb250ZXh0KToKKyAgICAgICAgKFdUUjo6ZHVt
cEJpdG1hcCk6CisgICAgICAgIChXVFI6OnBhaW50UmVwYWludFJlY3RPdmVybGF5KToKKyAgICAg
ICAgKFdUUjo6VGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVk
KTogVXNlIENHV2luZG93TGlzdENyZWF0ZUltYWdlKCkgdG8KKyAgICAgICAgZ3JhcCBhIHNuYXBz
aG90IG9mIHRoZSB3aW5kb3csIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gdGhlIFdLSW1hZ2Ugd2hp
Y2ggd2FzIHBhc3NlZCBmcm9tIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW06CisgICAgICAgIChXVFI6OlBsYXRmb3Jt
V2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KTogUmVtb3ZlIHRoZSBsaW5lIHRoYXQgdHVybmVkIG9m
ZiBhdXRvRGlzcGxheSBmb3IgdGhlIE5TV2luZG93LgorICAgICAgICBXZSBuZWVkIHRoZSB3aW5k
b3cgdG8gYXV0b2Rpc3BsYXkgZm9yIENvcmUgQW5pbWF0aW9uIHRvIHJlbmRlciBsYXllcnMgYW5k
IHN0YXJ0IGFuaW1hdGlvbnMuCisKIDIwMTEtMTAtMDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgSW4gV2ViS2l0VGVzdFJ1bm5lciwgdGV4dCBoYXMg
Zm9udCBzbW9vdGhpbmcgaW4gcGl4ZWwgc25hcHNob3RzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDc4NmFjYmMxMWM2OTlkYWE5OWZkYzZlNWM5MzM5OTFhYWQ5N2FhZGMu
LmE2OTc4MjZiYzA2M2UyYmFlODRkMzliM2MyZDY0NDEyYWIzMTZjZmQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NCw3ICs1NCw3IEBACiAJCUJDOERBRDdCMTMxNkQ5
MTAwMEVDOTZGQyAvKiBJbmplY3RlZEJ1bmRsZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDOERBRDc3MTMxNkQ3QjkwMEVDOTZGQyAvKiBJbmpl
Y3RlZEJ1bmRsZU1hYy5tbSAqLzsgfTsKIAkJQkM4RkQ4Q0ExMjBFNTI3RjAwRjNFNzFBIC8qIEV2
ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM4RkQ4QzkxMjBFNTI3RjAwRjNFNzFBIC8qIEV2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuY3BwICovOyB9OwogCQlCQzhGRDhEMjEyMEU1NDVCMDBGM0U3MUEgLyogSlNFdmVu
dFNlbmRpbmdDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDOEZEOEQwMTIwRTU0NUIwMEYzRTcxQSAvKiBKU0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIuY3BwICovOyB9OwotCQlCQzkxOTIwNTEzMzNFNEY4MDAzMDExREMgLyogVGVzdElu
dm9jYXRpb25DRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzkxOTIwNDEzMzNFNEY4MDAzMDExREMgLyogVGVzdEludm9jYXRpb25DRy5jcHAgKi87
IH07CisJCUJDOTE5MjA1MTMzM0U0RjgwMDMwMTFEQyAvKiBUZXN0SW52b2NhdGlvbkNHLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5MTkyMDQxMzMz
RTRGODAwMzAxMURDIC8qIFRlc3RJbnZvY2F0aW9uQ0cubW0gKi87IH07CiAJCUJDOTUyQzBEMTFG
M0I5NjUwMDMzOThCNCAvKiBKU1dyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM5NTJDMEMxMUYzQjk2NTAwMzM5OEI0IC8qIEpTV3JhcHBl
ci5jcHAgKi87IH07CiAJCUJDOTUyRjFGMTFGM0M2NTIwMDMzOThCNCAvKiBKU0xheW91dFRlc3RD
b250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDOTUyRjFEMTFGM0M2NTIwMDMzOThCNCAvKiBKU0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCAqLzsgfTsKIAkJQkNDOTk3QTQxMUQzQzhGNjAwMTdCQ0EyIC8qIEluamVjdGVkQnVuZGxlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQzk5N0Ew
MTFEM0M4RjYwMDE3QkNBMiAvKiBJbmplY3RlZEJ1bmRsZS5jcHAgKi87IH07CkBAIC0xMzgsNyAr
MTM4LDcgQEAKIAkJQkM4RkQ4Q0IxMjBFNTJCMDAwRjNFNzFBIC8qIEV2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzhGRDhEMDEyMEU1NDVCMDBGM0U3
MUEgLyogSlNFdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEpTRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXRUZXN0UnVubmVyL0pTRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHA7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUJDOEZEOEQxMTIwRTU0NUIw
MEYzRTcxQSAvKiBKU0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSlNFdmVudFNlbmRpbmdDb250cm9sbGVyLmg7IHBhdGggPSBEZXJpdmVk
U291cmNlcy9XZWJLaXRUZXN0UnVubmVyL0pTRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotCQlCQzkxOTIwNDEzMzNFNEY4MDAzMDEx
REMgLyogVGVzdEludm9jYXRpb25DRy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBUZXN0SW52b2NhdGlvbkNHLmNwcDsgcGF0aCA9IGNnL1Rlc3RJbnZvY2F0aW9uQ0cu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzkxOTIwNDEzMzNFNEY4MDAzMDEx
REMgLyogVGVzdEludm9jYXRpb25DRy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IFRlc3RJbnZvY2F0aW9uQ0cubW07IHBhdGggPSBjZy9UZXN0SW52b2NhdGlvbkNH
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzk1MkMwQjExRjNCOTY1MDAzMzk4
QjQgLyogSlNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV3Jh
cHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzk1MkMwQzExRjNCOTY1MDAz
Mzk4QjQgLyogSlNXcmFwcGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTV3JhcHBlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTUyQzBF
MTFGM0I5N0IwMDMzOThCNCAvKiBKU1dyYXBwYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1dyYXBwYWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MzI3LDcgKzMyNyw3IEBACiAJCUJDOTE5MjAyMTMzM0U0Q0QwMDMwMTFEQyAvKiBjZyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJQkM5MTkyMDQxMzMzRTRG
ODAwMzAxMURDIC8qIFRlc3RJbnZvY2F0aW9uQ0cuY3BwICovLAorCQkJCUJDOTE5MjA0MTMzM0U0
RjgwMDMwMTFEQyAvKiBUZXN0SW52b2NhdGlvbkNHLm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBj
ZzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC00ODYsNyArNDg2LDcgQEAKIAkJCQlC
Qzc5MzQzMTExOEY3RjE5MDA1RUE4RTIgLyogVGVzdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM4Qzc5NUMxMUQyNzg1RDAwNDUzNUExIC8qIFRlc3RDb250cm9sbGVyTWFjLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkNEN0QyRjgxMTkyMTI3ODAwNkRCN0VFIC8qIFRlc3RJbnZv
Y2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDOTE5MjA1MTMzM0U0RjgwMDMwMTFEQyAv
KiBUZXN0SW52b2NhdGlvbkNHLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDOTE5MjA1MTMzM0U0
RjgwMDMwMTFEQyAvKiBUZXN0SW52b2NhdGlvbkNHLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTY3
MEI4MjgxMzg2RkNBNTAwMkVCMzU1IC8qIEV2ZW50U2VuZGVyUHJveHkubW0gaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRpb25DRy5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWQ4ZjU2MDFmZmM3ZTM4ZmRlMzFjZDFkNGJjZTlmZjgx
MDhlZjY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRpb25DRy5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSwxNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJUZXN0SW52b2NhdGlvbi5oIgotCi0jaW5jbHVkZSAiUGl4ZWxEdW1wU3VwcG9ydC5o
IgotI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgotI2luY2x1ZGUgIlRlc3RDb250cm9sbGVy
LmgiCi0jaW5jbHVkZSA8SW1hZ2VJTy9DR0ltYWdlRGVzdGluYXRpb24uaD4KLSNpbmNsdWRlIDxX
ZWJLaXQyL1dLSW1hZ2VDRy5oPgotI2luY2x1ZGUgPHd0Zi9NRDUuaD4KLSNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgotCi0jaWYgUExBVEZP
Uk0oTUFDKQotI2luY2x1ZGUgPExhdW5jaFNlcnZpY2VzL1VUQ29yZVR5cGVzLmg+Ci0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKFdJTikKLXN0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBrVVRUeXBlUE5H
ID0gQ0ZTVFIoInB1YmxpYy5wbmciKTsKLSNlbmRpZgotCi1uYW1lc3BhY2UgV1RSIHsKLQotc3Rh
dGljIENHQ29udGV4dFJlZiBjcmVhdGVDR0NvbnRleHRGcm9tSW1hZ2UoV0tJbWFnZVJlZiB3a0lt
YWdlKQotewotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZShBZG9wdENGLCBXS0ltYWdl
Q3JlYXRlQ0dJbWFnZSh3a0ltYWdlKSk7Ci0KLSAgICBzaXplX3QgcGl4ZWxzV2lkZSA9IENHSW1h
Z2VHZXRXaWR0aChpbWFnZS5nZXQoKSk7Ci0gICAgc2l6ZV90IHBpeGVsc0hpZ2ggPSBDR0ltYWdl
R2V0SGVpZ2h0KGltYWdlLmdldCgpKTsKLSAgICBzaXplX3Qgcm93Qnl0ZXMgPSAoNCAqIHBpeGVs
c1dpZGUgKyA2MykgJiB+NjM7Ci0gICAgdm9pZCogYnVmZmVyID0gY2FsbG9jKHBpeGVsc0hpZ2gs
IHJvd0J5dGVzKTsKLQotICAgIENHQ29sb3JTcGFjZVJlZiBjb2xvclNwYWNlID0gQ0dDb2xvclNw
YWNlQ3JlYXRlRGV2aWNlUkdCKCk7Ci0gICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBDR0JpdG1h
cENvbnRleHRDcmVhdGUoYnVmZmVyLCBwaXhlbHNXaWRlLCBwaXhlbHNIaWdoLCA4LCByb3dCeXRl
cywgY29sb3JTcGFjZSwga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRGaXJzdCB8IGtDR0JpdG1h
cEJ5dGVPcmRlcjMySG9zdCk7Ci0gICAgQ0dDb2xvclNwYWNlUmVsZWFzZShjb2xvclNwYWNlKTsK
LSAgICAKLSAgICBDR0NvbnRleHREcmF3SW1hZ2UoY29udGV4dCwgQ0dSZWN0TWFrZSgwLCAwLCBw
aXhlbHNXaWRlLCBwaXhlbHNIaWdoKSwgaW1hZ2UuZ2V0KCkpOwotCi0gICAgcmV0dXJuIGNvbnRl
eHQ7Ci19Ci0KLXZvaWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JDb250ZXh0KENHQ29udGV4dFJl
ZiBiaXRtYXBDb250ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQotewotICAgIEFTU0VSVChDR0Jp
dG1hcENvbnRleHRHZXRCaXRzUGVyUGl4ZWwoYml0bWFwQ29udGV4dCkgPT0gMzIpOyAvLyBJbWFn
ZURpZmYgYXNzdW1lcyAzMiBiaXQgUkdCQSwgd2UgbXVzdCBhcyB3ZWxsLgotICAgIHNpemVfdCBw
aXhlbHNIaWdoID0gQ0dCaXRtYXBDb250ZXh0R2V0SGVpZ2h0KGJpdG1hcENvbnRleHQpOwotICAg
IHNpemVfdCBwaXhlbHNXaWRlID0gQ0dCaXRtYXBDb250ZXh0R2V0V2lkdGgoYml0bWFwQ29udGV4
dCk7Ci0gICAgc2l6ZV90IGJ5dGVzUGVyUm93ID0gQ0dCaXRtYXBDb250ZXh0R2V0Qnl0ZXNQZXJS
b3coYml0bWFwQ29udGV4dCk7Ci0gICAgCi0gICAgLy8gV2UgbmVlZCB0byBzd2FwIHRoZSBieXRl
cyB0byBlbnN1cmUgY29uc2lzdGVudCBoYXNoZXMgaW5kZXBlbmRlbnRseSBvZiBlbmRpYW5uZXNz
Ci0gICAgTUQ1IG1kNTsKLSAgICB1bnNpZ25lZCBjaGFyKiBiaXRtYXBEYXRhID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQgY2hhcio+KENHQml0bWFwQ29udGV4dEdldERhdGEoYml0bWFwQ29udGV4dCkp
OwotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoKENHQml0bWFwQ29udGV4dEdldEJpdG1hcElu
Zm8oYml0bWFwQ29udGV4dCkgJiBrQ0dCaXRtYXBCeXRlT3JkZXJNYXNrKSA9PSBrQ0dCaXRtYXBC
eXRlT3JkZXIzMkJpZykgewotICAgICAgICBmb3IgKHVuc2lnbmVkIHJvdyA9IDA7IHJvdyA8IHBp
eGVsc0hpZ2g7IHJvdysrKSB7Ci0gICAgICAgICAgICBWZWN0b3I8dWludDhfdD4gYnVmZmVyKDQg
KiBwaXhlbHNXaWRlKTsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgY29sdW1uID0gMDsgY29s
dW1uIDwgcGl4ZWxzV2lkZTsgY29sdW1uKyspCi0gICAgICAgICAgICAgICAgYnVmZmVyW2NvbHVt
bl0gPSBPU1JlYWRMaXR0bGVJbnQzMihiaXRtYXBEYXRhLCA0ICogY29sdW1uKTsKLSAgICAgICAg
ICAgIG1kNS5hZGRCeXRlcyhidWZmZXIpOwotICAgICAgICAgICAgYml0bWFwRGF0YSArPSBieXRl
c1BlclJvdzsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0jZW5kaWYKLSAgICAgICAgZm9yICh1
bnNpZ25lZCByb3cgPSAwOyByb3cgPCBwaXhlbHNIaWdoOyByb3crKykgewotICAgICAgICAgICAg
bWQ1LmFkZEJ5dGVzKGJpdG1hcERhdGEsIDQgKiBwaXhlbHNXaWRlKTsKLSAgICAgICAgICAgIGJp
dG1hcERhdGEgKz0gYnl0ZXNQZXJSb3c7Ci0gICAgICAgIH0KLSNpZiBQTEFURk9STShNQUMpCi0g
ICAgfQotI2VuZGlmCi0KLSAgICBWZWN0b3I8dWludDhfdCwgMTY+IGhhc2g7Ci0gICAgbWQ1LmNo
ZWNrc3VtKGhhc2gpOwotICAgIAotICAgIGhhc2hTdHJpbmdbMF0gPSAnXDAnOwotICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgMTY7IGkrKykKLSAgICAgICAgc25wcmludGYoaGFzaFN0cmluZywgMzMs
ICIlcyUwMngiLCBoYXNoU3RyaW5nLCBoYXNoW2ldKTsKLX0KLQotc3RhdGljIHZvaWQgZHVtcEJp
dG1hcChDR0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCwgY29uc3QgY2hhciogY2hlY2tzdW0pCi17
Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0YsIENHQml0bWFwQ29udGV4
dENyZWF0ZUltYWdlKGJpdG1hcENvbnRleHQpKTsKLSAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGF0
YVJlZj4gaW1hZ2VEYXRhKEFkb3B0Q0YsIENGRGF0YUNyZWF0ZU11dGFibGUoMCwgMCkpOwotICAg
IFJldGFpblB0cjxDR0ltYWdlRGVzdGluYXRpb25SZWY+IGltYWdlRGVzdChBZG9wdENGLCBDR0lt
YWdlRGVzdGluYXRpb25DcmVhdGVXaXRoRGF0YShpbWFnZURhdGEuZ2V0KCksIGtVVFR5cGVQTkcs
IDEsIDApKTsKLSAgICBDR0ltYWdlRGVzdGluYXRpb25BZGRJbWFnZShpbWFnZURlc3QuZ2V0KCks
IGltYWdlLmdldCgpLCAwKTsKLSAgICBDR0ltYWdlRGVzdGluYXRpb25GaW5hbGl6ZShpbWFnZURl
c3QuZ2V0KCkpOwotCi0gICAgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSA9IENGRGF0YUdldEJ5
dGVQdHIoaW1hZ2VEYXRhLmdldCgpKTsKLSAgICBjb25zdCBzaXplX3QgZGF0YUxlbmd0aCA9IENG
RGF0YUdldExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOwotCi0gICAgcHJpbnRQTkcoZGF0YSwgZGF0
YUxlbmd0aCwgY2hlY2tzdW0pOwotfQotCi1zdGF0aWMgdm9pZCBwYWludFJlcGFpbnRSZWN0T3Zl
cmxheShDR0NvbnRleHRSZWYgY29udGV4dCwgV0tJbWFnZVJlZiBpbWFnZSwgV0tBcnJheVJlZiBy
ZXBhaW50UmVjdHMpCi17Ci0gICAgV0tTaXplIGltYWdlU2l6ZSA9IFdLSW1hZ2VHZXRTaXplKGlt
YWdlKTsKLQotICAgIENHQ29udGV4dFNhdmVHU3RhdGUoY29udGV4dCk7Ci0KLSAgICAvLyBVc2lu
ZyBhIHRyYW5zcGFyZW5jeSBsYXllciBpcyBlYXNpZXIgdGhhbiBmdXR6aW5nIHdpdGggY2xpcHBp
bmcuCi0gICAgQ0dDb250ZXh0QmVnaW5UcmFuc3BhcmVuY3lMYXllcihjb250ZXh0LCAwKTsKLSAg
ICAKLSAgICAvLyBGbGlwIHRoZSBjb250ZXh0LgotICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRl
eHQsIDEsIC0xKTsKLSAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgMCwgLWltYWdl
U2l6ZS5oZWlnaHQpOwotICAgIAotICAgIENHQ29udGV4dFNldFJHQkZpbGxDb2xvcihjb250ZXh0
LCAwLCAwLCAwLCBzdGF0aWNfY2FzdDxDR0Zsb2F0PigwLjY2KSk7Ci0gICAgQ0dDb250ZXh0Rmls
bFJlY3QoY29udGV4dCwgQ0dSZWN0TWFrZSgwLCAwLCBpbWFnZVNpemUud2lkdGgsIGltYWdlU2l6
ZS5oZWlnaHQpKTsKLQotICAgIC8vIENsZWFyIHRoZSByZXBhaW50IHJlY3RzLgotICAgIHNpemVf
dCBjb3VudCA9IFdLQXJyYXlHZXRTaXplKHJlcGFpbnRSZWN0cyk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjb3VudDsgKytpKSB7Ci0gICAgICAgIFdLUmVjdCByZWN0ID0gV0tSZWN0R2V0
VmFsdWUoc3RhdGljX2Nhc3Q8V0tSZWN0UmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgocmVwYWlu
dFJlY3RzLCBpKSkpOwotICAgICAgICBDR1JlY3QgY2dSZWN0ID0gQ0dSZWN0TWFrZShyZWN0Lm9y
aWdpbi54LCByZWN0Lm9yaWdpbi55LCByZWN0LnNpemUud2lkdGgsIHJlY3Quc2l6ZS5oZWlnaHQp
OwotICAgICAgICBDR0NvbnRleHRDbGVhclJlY3QoY29udGV4dCwgY2dSZWN0KTsKLSAgICB9Ci0g
ICAgCi0gICAgQ0dDb250ZXh0RW5kVHJhbnNwYXJlbmN5TGF5ZXIoY29udGV4dCk7Ci0gICAgQ0dD
b250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKLX0KLQotdm9pZCBUZXN0SW52b2NhdGlvbjo6
ZHVtcFBpeGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQoV0tJbWFnZVJlZiBpbWFnZSwgV0tBcnJh
eVJlZiByZXBhaW50UmVjdHMpCi17Ci0gICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBjcmVhdGVD
R0NvbnRleHRGcm9tSW1hZ2UoaW1hZ2UpOwotCi0gICAgLy8gQSBub24tbnVsbCByZXBhaW50UmVj
dHMgYXJyYXkgbWVhbnMgd2UncmUgZG9pbmcgYSByZXBhaW50IHRlc3QuCi0gICAgaWYgKHJlcGFp
bnRSZWN0cykKLSAgICAgICAgcGFpbnRSZXBhaW50UmVjdE92ZXJsYXkoY29udGV4dCwgaW1hZ2Us
IHJlcGFpbnRSZWN0cyk7Ci0KLSAgICBjaGFyIGFjdHVhbEhhc2hbMzNdOwotICAgIGNvbXB1dGVN
RDVIYXNoU3RyaW5nRm9yQ29udGV4dChjb250ZXh0LCBhY3R1YWxIYXNoKTsKLSAgICBpZiAoIWNv
bXBhcmVBY3R1YWxIYXNoVG9FeHBlY3RlZEFuZER1bXBSZXN1bHRzKGFjdHVhbEhhc2gpKQotICAg
ICAgICBkdW1wQml0bWFwKGNvbnRleHQsIGFjdHVhbEhhc2gpOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRp
b25DRy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRpb25DRy5tbQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zY2ZkOTNkNGRhZmFlN2ZlZjYxNDQ1ZDQwOTJkOGZiMzZhNmMwNmFhCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jZy9UZXN0SW52b2NhdGlvbkNH
Lm1tCkBAIC0wLDAgKzEsMTYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlRlc3RJbnZvY2F0aW9uLmgiCisKKyNpbmNsdWRlICJQaXhlbER1bXBTdXBwb3J0
LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiVGVzdENvbnRyb2xs
ZXIuaCIKKyNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMu
aD4KKyNpbmNsdWRlIDxJbWFnZUlPL0NHSW1hZ2VEZXN0aW5hdGlvbi5oPgorI2luY2x1ZGUgPFdl
YktpdDIvV0tJbWFnZUNHLmg+CisjaW5jbHVkZSA8d3RmL01ENS5oPgorI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CisKKyNpZiBQTEFURk9S
TShNQUMpCisjaW5jbHVkZSA8TGF1bmNoU2VydmljZXMvVVRDb3JlVHlwZXMuaD4KKyNlbmRpZgor
CisjaWYgUExBVEZPUk0oV0lOKQorc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIGtVVFR5cGVQTkcg
PSBDRlNUUigicHVibGljLnBuZyIpOworI2VuZGlmCisKK25hbWVzcGFjZSBXVFIgeworCitzdGF0
aWMgQ0dDb250ZXh0UmVmIGNyZWF0ZUJpdG1hcENHQ29udGV4dChzaXplX3Qgd2lkdGgsIHNpemVf
dCBoZWlnaHQpCit7CisgICAgc2l6ZV90IHJvd0J5dGVzID0gKDQgKiB3aWR0aCArIDYzKSAmIH42
MzsKKyAgICB2b2lkKiBidWZmZXIgPSBjYWxsb2MoaGVpZ2h0LCByb3dCeXRlcyk7CisKKyAgICBD
R0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigp
OworICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKGJ1ZmZl
ciwgd2lkdGgsIGhlaWdodCwgOCwgcm93Qnl0ZXMsIGNvbG9yU3BhY2UsIGtDR0ltYWdlQWxwaGFQ
cmVtdWx0aXBsaWVkRmlyc3QgfCBrQ0dCaXRtYXBCeXRlT3JkZXIzMkhvc3QpOworICAgIENHQ29s
b3JTcGFjZVJlbGVhc2UoY29sb3JTcGFjZSk7CisgICAgCisgICAgcmV0dXJuIGNvbnRleHQ7Cit9
CisKK3ZvaWQgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JDb250ZXh0KENHQ29udGV4dFJlZiBiaXRt
YXBDb250ZXh0LCBjaGFyIGhhc2hTdHJpbmdbMzNdKQoreworICAgIEFTU0VSVChDR0JpdG1hcENv
bnRleHRHZXRCaXRzUGVyUGl4ZWwoYml0bWFwQ29udGV4dCkgPT0gMzIpOyAvLyBJbWFnZURpZmYg
YXNzdW1lcyAzMiBiaXQgUkdCQSwgd2UgbXVzdCBhcyB3ZWxsLgorICAgIHNpemVfdCBwaXhlbHNI
aWdoID0gQ0dCaXRtYXBDb250ZXh0R2V0SGVpZ2h0KGJpdG1hcENvbnRleHQpOworICAgIHNpemVf
dCBwaXhlbHNXaWRlID0gQ0dCaXRtYXBDb250ZXh0R2V0V2lkdGgoYml0bWFwQ29udGV4dCk7Cisg
ICAgc2l6ZV90IGJ5dGVzUGVyUm93ID0gQ0dCaXRtYXBDb250ZXh0R2V0Qnl0ZXNQZXJSb3coYml0
bWFwQ29udGV4dCk7CisgICAgCisgICAgLy8gV2UgbmVlZCB0byBzd2FwIHRoZSBieXRlcyB0byBl
bnN1cmUgY29uc2lzdGVudCBoYXNoZXMgaW5kZXBlbmRlbnRseSBvZiBlbmRpYW5uZXNzCisgICAg
TUQ1IG1kNTsKKyAgICB1bnNpZ25lZCBjaGFyKiBiaXRtYXBEYXRhID0gc3RhdGljX2Nhc3Q8dW5z
aWduZWQgY2hhcio+KENHQml0bWFwQ29udGV4dEdldERhdGEoYml0bWFwQ29udGV4dCkpOworI2lm
IFBMQVRGT1JNKE1BQykKKyAgICBpZiAoKENHQml0bWFwQ29udGV4dEdldEJpdG1hcEluZm8oYml0
bWFwQ29udGV4dCkgJiBrQ0dCaXRtYXBCeXRlT3JkZXJNYXNrKSA9PSBrQ0dCaXRtYXBCeXRlT3Jk
ZXIzMkJpZykgeworICAgICAgICBmb3IgKHVuc2lnbmVkIHJvdyA9IDA7IHJvdyA8IHBpeGVsc0hp
Z2g7IHJvdysrKSB7CisgICAgICAgICAgICBWZWN0b3I8dWludDhfdD4gYnVmZmVyKDQgKiBwaXhl
bHNXaWRlKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgY29sdW1uID0gMDsgY29sdW1uIDwg
cGl4ZWxzV2lkZTsgY29sdW1uKyspCisgICAgICAgICAgICAgICAgYnVmZmVyW2NvbHVtbl0gPSBP
U1JlYWRMaXR0bGVJbnQzMihiaXRtYXBEYXRhLCA0ICogY29sdW1uKTsKKyAgICAgICAgICAgIG1k
NS5hZGRCeXRlcyhidWZmZXIpOworICAgICAgICAgICAgYml0bWFwRGF0YSArPSBieXRlc1BlclJv
dzsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisjZW5kaWYKKyAgICAgICAgZm9yICh1bnNpZ25l
ZCByb3cgPSAwOyByb3cgPCBwaXhlbHNIaWdoOyByb3crKykgeworICAgICAgICAgICAgbWQ1LmFk
ZEJ5dGVzKGJpdG1hcERhdGEsIDQgKiBwaXhlbHNXaWRlKTsKKyAgICAgICAgICAgIGJpdG1hcERh
dGEgKz0gYnl0ZXNQZXJSb3c7CisgICAgICAgIH0KKyNpZiBQTEFURk9STShNQUMpCisgICAgfQor
I2VuZGlmCisKKyAgICBWZWN0b3I8dWludDhfdCwgMTY+IGhhc2g7CisgICAgbWQ1LmNoZWNrc3Vt
KGhhc2gpOworICAgIAorICAgIGhhc2hTdHJpbmdbMF0gPSAnXDAnOworICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgMTY7IGkrKykKKyAgICAgICAgc25wcmludGYoaGFzaFN0cmluZywgMzMsICIlcyUw
MngiLCBoYXNoU3RyaW5nLCBoYXNoW2ldKTsKK30KKworc3RhdGljIHZvaWQgZHVtcEJpdG1hcChD
R0NvbnRleHRSZWYgYml0bWFwQ29udGV4dCwgY29uc3QgY2hhciogY2hlY2tzdW0pCit7CisgICAg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0YsIENHQml0bWFwQ29udGV4dENyZWF0
ZUltYWdlKGJpdG1hcENvbnRleHQpKTsKKyAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGF0YVJlZj4g
aW1hZ2VEYXRhKEFkb3B0Q0YsIENGRGF0YUNyZWF0ZU11dGFibGUoMCwgMCkpOworICAgIFJldGFp
blB0cjxDR0ltYWdlRGVzdGluYXRpb25SZWY+IGltYWdlRGVzdChBZG9wdENGLCBDR0ltYWdlRGVz
dGluYXRpb25DcmVhdGVXaXRoRGF0YShpbWFnZURhdGEuZ2V0KCksIGtVVFR5cGVQTkcsIDEsIDAp
KTsKKyAgICBDR0ltYWdlRGVzdGluYXRpb25BZGRJbWFnZShpbWFnZURlc3QuZ2V0KCksIGltYWdl
LmdldCgpLCAwKTsKKyAgICBDR0ltYWdlRGVzdGluYXRpb25GaW5hbGl6ZShpbWFnZURlc3QuZ2V0
KCkpOworCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSA9IENGRGF0YUdldEJ5dGVQdHIo
aW1hZ2VEYXRhLmdldCgpKTsKKyAgICBjb25zdCBzaXplX3QgZGF0YUxlbmd0aCA9IENGRGF0YUdl
dExlbmd0aChpbWFnZURhdGEuZ2V0KCkpOworCisgICAgcHJpbnRQTkcoZGF0YSwgZGF0YUxlbmd0
aCwgY2hlY2tzdW0pOworfQorCitzdGF0aWMgdm9pZCBwYWludFJlcGFpbnRSZWN0T3ZlcmxheShD
R0NvbnRleHRSZWYgY29udGV4dCwgV0tJbWFnZVJlZiBpbWFnZSwgV0tBcnJheVJlZiByZXBhaW50
UmVjdHMpCit7CisgICAgV0tTaXplIGltYWdlU2l6ZSA9IFdLSW1hZ2VHZXRTaXplKGltYWdlKTsK
KworICAgIENHQ29udGV4dFNhdmVHU3RhdGUoY29udGV4dCk7CisKKyAgICAvLyBVc2luZyBhIHRy
YW5zcGFyZW5jeSBsYXllciBpcyBlYXNpZXIgdGhhbiBmdXR6aW5nIHdpdGggY2xpcHBpbmcuCisg
ICAgQ0dDb250ZXh0QmVnaW5UcmFuc3BhcmVuY3lMYXllcihjb250ZXh0LCAwKTsKKyAgICAKKyAg
ICAvLyBGbGlwIHRoZSBjb250ZXh0LgorICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRleHQsIDEs
IC0xKTsKKyAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgMCwgLWltYWdlU2l6ZS5o
ZWlnaHQpOworICAgIAorICAgIENHQ29udGV4dFNldFJHQkZpbGxDb2xvcihjb250ZXh0LCAwLCAw
LCAwLCBzdGF0aWNfY2FzdDxDR0Zsb2F0PigwLjY2KSk7CisgICAgQ0dDb250ZXh0RmlsbFJlY3Qo
Y29udGV4dCwgQ0dSZWN0TWFrZSgwLCAwLCBpbWFnZVNpemUud2lkdGgsIGltYWdlU2l6ZS5oZWln
aHQpKTsKKworICAgIC8vIENsZWFyIHRoZSByZXBhaW50IHJlY3RzLgorICAgIHNpemVfdCBjb3Vu
dCA9IFdLQXJyYXlHZXRTaXplKHJlcGFpbnRSZWN0cyk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBjb3VudDsgKytpKSB7CisgICAgICAgIFdLUmVjdCByZWN0ID0gV0tSZWN0R2V0VmFsdWUo
c3RhdGljX2Nhc3Q8V0tSZWN0UmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgocmVwYWludFJlY3Rz
LCBpKSkpOworICAgICAgICBDR1JlY3QgY2dSZWN0ID0gQ0dSZWN0TWFrZShyZWN0Lm9yaWdpbi54
LCByZWN0Lm9yaWdpbi55LCByZWN0LnNpemUud2lkdGgsIHJlY3Quc2l6ZS5oZWlnaHQpOworICAg
ICAgICBDR0NvbnRleHRDbGVhclJlY3QoY29udGV4dCwgY2dSZWN0KTsKKyAgICB9CisgICAgCisg
ICAgQ0dDb250ZXh0RW5kVHJhbnNwYXJlbmN5TGF5ZXIoY29udGV4dCk7CisgICAgQ0dDb250ZXh0
UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKK30KKwordm9pZCBUZXN0SW52b2NhdGlvbjo6ZHVtcFBp
eGVsc0FuZENvbXBhcmVXaXRoRXhwZWN0ZWQoV0tJbWFnZVJlZiBpbWFnZSwgV0tBcnJheVJlZiBy
ZXBhaW50UmVjdHMpCit7CisgICAgLy8gV2UgZG9uJ3QgdXNlIHRoZSBpbWFnZSBwYXNzZWQgZnJv
bSB0aGUgV2ViUHJvY2VzcywgYmVjYXVzZSBpdCBkb2Vzbid0IGNvcnJlY3RseSBjYXB0dXJlIGNv
bXBvc2l0aW5nIGxheWVycy4gSW5zdGVhZCwgc25hcHNob3QKKyAgICAvLyB0aGUgd2luZG93IHZp
YSBDR1dpbmRvd0xpc3RDcmVhdGVJbWFnZS4KKyAgICBQbGF0Zm9ybVdlYlZpZXcqIHdlYlZpZXcg
PSBUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKTsKKyAgICBbd2ViVmlldy0+
cGxhdGZvcm1WaWV3KCkgZGlzcGxheV07CisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IHdpbmRv
d1NuYXBzaG90SW1hZ2UoQWRvcHRDRiwgQ0dXaW5kb3dMaXN0Q3JlYXRlSW1hZ2UoQ0dSZWN0TnVs
bCwga0NHV2luZG93TGlzdE9wdGlvbkluY2x1ZGluZ1dpbmRvdywgW3dlYlZpZXctPnBsYXRmb3Jt
V2luZG93KCkgd2luZG93TnVtYmVyXSwga0NHV2luZG93SW1hZ2VCb3VuZHNJZ25vcmVGcmFtaW5n
IHwga0NHV2luZG93SW1hZ2VTaG91bGRCZU9wYXF1ZSkpOworCisgICAgUmV0YWluUHRyPENHQ29u
dGV4dFJlZj4gY29udGV4dChBZG9wdENGLCBjcmVhdGVCaXRtYXBDR0NvbnRleHQoQ0dJbWFnZUdl
dFdpZHRoKHdpbmRvd1NuYXBzaG90SW1hZ2UuZ2V0KCkpLCBDR0ltYWdlR2V0SGVpZ2h0KHdpbmRv
d1NuYXBzaG90SW1hZ2UuZ2V0KCkpKSk7CisgICAgQ0dDb250ZXh0RHJhd0ltYWdlKGNvbnRleHQu
Z2V0KCksIENHUmVjdE1ha2UoMCwgMCwgQ0dJbWFnZUdldFdpZHRoKHdpbmRvd1NuYXBzaG90SW1h
Z2UuZ2V0KCkpLCBDR0ltYWdlR2V0SGVpZ2h0KHdpbmRvd1NuYXBzaG90SW1hZ2UuZ2V0KCkpKSwg
d2luZG93U25hcHNob3RJbWFnZS5nZXQoKSk7CisKKyAgICAvLyBBIG5vbi1udWxsIHJlcGFpbnRS
ZWN0cyBhcnJheSBtZWFucyB3ZSdyZSBkb2luZyBhIHJlcGFpbnQgdGVzdC4KKyAgICBpZiAocmVw
YWludFJlY3RzKQorICAgICAgICBwYWludFJlcGFpbnRSZWN0T3ZlcmxheShjb250ZXh0LmdldCgp
LCBpbWFnZSwgcmVwYWludFJlY3RzKTsKKworICAgIGNoYXIgYWN0dWFsSGFzaFszM107CisgICAg
Y29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JDb250ZXh0KGNvbnRleHQuZ2V0KCksIGFjdHVhbEhhc2gp
OworICAgIGlmICghY29tcGFyZUFjdHVhbEhhc2hUb0V4cGVjdGVkQW5kRHVtcFJlc3VsdHMoYWN0
dWFsSGFzaCkpCisgICAgICAgIGR1bXBCaXRtYXAoY29udGV4dC5nZXQoKSwgYWN0dWFsSGFzaCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9t
YWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IDQ2OTM4M2QxYTA4MzhlOTNhNTA4OTc0ZmEw
ZThjY2M1NTA4YjczZjkuLjg2MDRmNTk1MGM4YjAzMzllZmYyNDdkOWE0ZjAyMDcwNGNiMGI5MzYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01h
Yy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMu
bW0KQEAgLTM3LDcgKzM3LDYgQEAgUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcoV0tD
b250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm8KICAgICBbbV93aW5k
b3cgc2V0Q29sb3JTcGFjZTpbTlNDb2xvclNwYWNlIGdlbmVyaWNSR0JDb2xvclNwYWNlXV07CiAg
ICAgW1ttX3dpbmRvdyBjb250ZW50Vmlld10gYWRkU3VidmlldzptX3ZpZXddOwogICAgIFttX3dp
bmRvdyBvcmRlckJhY2s6bmlsXTsKLSAgICBbbV93aW5kb3cgc2V0QXV0b2Rpc3BsYXk6Tk9dOwog
ICAgIFttX3dpbmRvdyBzZXRSZWxlYXNlZFdoZW5DbG9zZWQ6Tk9dOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110064</attachid>
            <date>2011-10-06 17:23:34 -0700</date>
            <delta_ts>2011-10-10 16:26:11 -0700</delta_ts>
            <desc>TestInvocationCG diff</desc>
            <filename>WTR-diff.txt</filename>
            <type>text/plain</type>
            <size>3205</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">LS0tIG9sZAkyMDExLTEwLTA2IDE3OjIyOjI4LjAwMDAwMDAwMCAtMDcwMAorKysgbmV3CTIwMTEt
MTAtMDYgMTc6MjI6MzAuMDAwMDAwMDAwIC0wNzAwCkBAIC0yOCw4ICsyOCw5IEBACiAKICNpbmNs
dWRlICJQaXhlbER1bXBTdXBwb3J0LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCiAj
aW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxBcHBsaWNhdGlvblNlcnZpY2Vz
L0FwcGxpY2F0aW9uU2VydmljZXMuaD4KICNpbmNsdWRlIDxJbWFnZUlPL0NHSW1hZ2VEZXN0aW5h
dGlvbi5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tJbWFnZUNHLmg+CiAjaW5jbHVkZSA8d3RmL01E
NS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTQ0LDIzICs0NSwxNyBAQAogI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMgQ0dDb250ZXh0UmVmIGNyZWF0ZUNHQ29u
dGV4dEZyb21JbWFnZShXS0ltYWdlUmVmIHdrSW1hZ2UpCitzdGF0aWMgQ0dDb250ZXh0UmVmIGNy
ZWF0ZUJpdG1hcENHQ29udGV4dChzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQpCiB7Ci0gICAg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlKEFkb3B0Q0YsIFdLSW1hZ2VDcmVhdGVDR0ltYWdl
KHdrSW1hZ2UpKTsKLQotICAgIHNpemVfdCBwaXhlbHNXaWRlID0gQ0dJbWFnZUdldFdpZHRoKGlt
YWdlLmdldCgpKTsKLSAgICBzaXplX3QgcGl4ZWxzSGlnaCA9IENHSW1hZ2VHZXRIZWlnaHQoaW1h
Z2UuZ2V0KCkpOwotICAgIHNpemVfdCByb3dCeXRlcyA9ICg0ICogcGl4ZWxzV2lkZSArIDYzKSAm
IH42MzsKLSAgICB2b2lkKiBidWZmZXIgPSBjYWxsb2MocGl4ZWxzSGlnaCwgcm93Qnl0ZXMpOwor
ICAgIHNpemVfdCByb3dCeXRlcyA9ICg0ICogd2lkdGggKyA2MykgJiB+NjM7CisgICAgdm9pZCog
YnVmZmVyID0gY2FsbG9jKGhlaWdodCwgcm93Qnl0ZXMpOwogCiAgICAgQ0dDb2xvclNwYWNlUmVm
IGNvbG9yU3BhY2UgPSBDR0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VSR0IoKTsKLSAgICBDR0NvbnRl
eHRSZWYgY29udGV4dCA9IENHQml0bWFwQ29udGV4dENyZWF0ZShidWZmZXIsIHBpeGVsc1dpZGUs
IHBpeGVsc0hpZ2gsIDgsIHJvd0J5dGVzLCBjb2xvclNwYWNlLCBrQ0dJbWFnZUFscGhhUHJlbXVs
dGlwbGllZEZpcnN0IHwga0NHQml0bWFwQnl0ZU9yZGVyMzJIb3N0KTsKKyAgICBDR0NvbnRleHRS
ZWYgY29udGV4dCA9IENHQml0bWFwQ29udGV4dENyZWF0ZShidWZmZXIsIHdpZHRoLCBoZWlnaHQs
IDgsIHJvd0J5dGVzLCBjb2xvclNwYWNlLCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0
IHwga0NHQml0bWFwQnl0ZU9yZGVyMzJIb3N0KTsKICAgICBDR0NvbG9yU3BhY2VSZWxlYXNlKGNv
bG9yU3BhY2UpOwogICAgIAotICAgIENHQ29udGV4dERyYXdJbWFnZShjb250ZXh0LCBDR1JlY3RN
YWtlKDAsIDAsIHBpeGVsc1dpZGUsIHBpeGVsc0hpZ2gpLCBpbWFnZS5nZXQoKSk7Ci0KICAgICBy
ZXR1cm4gY29udGV4dDsKIH0KIAogdm9pZCBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckNvbnRleHQo
Q0dDb250ZXh0UmVmIGJpdG1hcENvbnRleHQsIGNoYXIgaGFzaFN0cmluZ1szM10pCkBAIC0xNDMs
MTcgKzEzOCwyNCBAQAogfQogCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjpkdW1wUGl4ZWxzQW5kQ29t
cGFyZVdpdGhFeHBlY3RlZChXS0ltYWdlUmVmIGltYWdlLCBXS0FycmF5UmVmIHJlcGFpbnRSZWN0
cykKIHsKLSAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IGNyZWF0ZUNHQ29udGV4dEZyb21JbWFn
ZShpbWFnZSk7CisgICAgLy8gV2UgZG9uJ3QgdXNlIHRoZSBpbWFnZSBwYXNzZWQgZnJvbSB0aGUg
V2ViUHJvY2VzcywgYmVjYXVzZSBpdCBkb2Vzbid0IGNvcnJlY3RseSBjYXB0dXJlIGNvbXBvc2l0
aW5nIGxheWVycy4gSW5zdGVhZCwgc25hcHNob3QKKyAgICAvLyB0aGUgd2luZG93IHZpYSBDR1dp
bmRvd0xpc3RDcmVhdGVJbWFnZS4KKyAgICBQbGF0Zm9ybVdlYlZpZXcqIHdlYlZpZXcgPSBUZXN0
Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKTsKKyAgICBbd2ViVmlldy0+cGxhdGZv
cm1WaWV3KCkgZGlzcGxheV07CisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IHdpbmRvd1NuYXBz
aG90SW1hZ2UoQWRvcHRDRiwgQ0dXaW5kb3dMaXN0Q3JlYXRlSW1hZ2UoQ0dSZWN0TnVsbCwga0NH
V2luZG93TGlzdE9wdGlvbkluY2x1ZGluZ1dpbmRvdywgW3dlYlZpZXctPnBsYXRmb3JtV2luZG93
KCkgd2luZG93TnVtYmVyXSwga0NHV2luZG93SW1hZ2VCb3VuZHNJZ25vcmVGcmFtaW5nIHwga0NH
V2luZG93SW1hZ2VTaG91bGRCZU9wYXF1ZSkpOworCisgICAgUmV0YWluUHRyPENHQ29udGV4dFJl
Zj4gY29udGV4dChBZG9wdENGLCBjcmVhdGVCaXRtYXBDR0NvbnRleHQoQ0dJbWFnZUdldFdpZHRo
KHdpbmRvd1NuYXBzaG90SW1hZ2UuZ2V0KCkpLCBDR0ltYWdlR2V0SGVpZ2h0KHdpbmRvd1NuYXBz
aG90SW1hZ2UuZ2V0KCkpKSk7CisgICAgQ0dDb250ZXh0RHJhd0ltYWdlKGNvbnRleHQuZ2V0KCks
IENHUmVjdE1ha2UoMCwgMCwgQ0dJbWFnZUdldFdpZHRoKHdpbmRvd1NuYXBzaG90SW1hZ2UuZ2V0
KCkpLCBDR0ltYWdlR2V0SGVpZ2h0KHdpbmRvd1NuYXBzaG90SW1hZ2UuZ2V0KCkpKSwgd2luZG93
U25hcHNob3RJbWFnZS5nZXQoKSk7CiAKICAgICAvLyBBIG5vbi1udWxsIHJlcGFpbnRSZWN0cyBh
cnJheSBtZWFucyB3ZSdyZSBkb2luZyBhIHJlcGFpbnQgdGVzdC4KICAgICBpZiAocmVwYWludFJl
Y3RzKQotICAgICAgICBwYWludFJlcGFpbnRSZWN0T3ZlcmxheShjb250ZXh0LCBpbWFnZSwgcmVw
YWludFJlY3RzKTsKKyAgICAgICAgcGFpbnRSZXBhaW50UmVjdE92ZXJsYXkoY29udGV4dC5nZXQo
KSwgaW1hZ2UsIHJlcGFpbnRSZWN0cyk7CiAKICAgICBjaGFyIGFjdHVhbEhhc2hbMzNdOwotICAg
IGNvbXB1dGVNRDVIYXNoU3RyaW5nRm9yQ29udGV4dChjb250ZXh0LCBhY3R1YWxIYXNoKTsKKyAg
ICBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckNvbnRleHQoY29udGV4dC5nZXQoKSwgYWN0dWFsSGFz
aCk7CiAgICAgaWYgKCFjb21wYXJlQWN0dWFsSGFzaFRvRXhwZWN0ZWRBbmREdW1wUmVzdWx0cyhh
Y3R1YWxIYXNoKSkKLSAgICAgICAgZHVtcEJpdG1hcChjb250ZXh0LCBhY3R1YWxIYXNoKTsKKyAg
ICAgICAgZHVtcEJpdG1hcChjb250ZXh0LmdldCgpLCBhY3R1YWxIYXNoKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV1RSCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110431</attachid>
            <date>2011-10-10 16:26:15 -0700</date>
            <delta_ts>2011-10-12 11:42:45 -0700</delta_ts>
            <desc>Patch which fixes Windows build</desc>
            <filename>bug-68276-20111010162614.patch</filename>
            <type>text/plain</type>
            <size>8171</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcwODkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzZDQ4MmU0M2YyOWZmNGUyOTgxZGYwNTYyMmQwYjkwYzcx
ZTFjODQ1Li5lMGIyYzE4ZTlkMTRjNjA0NjYwMDMxZjcxYTk3YTIxYzcyYmZjYWQ1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTEtMTAtMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgM0QgdHJhbnNmb3JtcyBhcmUgZmxhdHRlbmVkIGluIFdlYktpdDIgc25hcHNob3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
VXNlIGEgc25hcHNob3Qgb2YgdGhlIHdpbmRvdywgcmF0aGVyIHRoYW4gYW4gaW1hZ2UgZnJvbSB0
aGUgd2ViIHByb2Nlc3MKKyAgICAgICAgZm9yIHBpeGVsIHRlc3RpbmcgaW4gV2ViS2l0VGVzdFJ1
bm5lci4gVGhpcyBjb3JyZWN0bHkgY2FwdHVyZXMgY29tcG9zaXRpbmcKKyAgICAgICAgbGF5ZXJz
LCBzbyB3b3JrcyBmb3IgM0QgdHJhbnNmb3JtIHRlc3RzLgorCisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaDogQWRkIGEgd2luZG93U25hcHNob3RJbWFnZSgpIG1l
dGhvZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3Bw
OgorICAgICAgICAoV1RSOjpjcmVhdGVDR0NvbnRleHRGcm9tSW1hZ2UpOiBBZGQgYSBwYXJhbSB0
byBvcHRpb25hbGx5IGZsaXAgdGhlIGltYWdlIHdoZW4gZHJhd2luZy4KKyAgICAgICAgKFdUUjo6
VGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4cGVjdGVkKTogQ2FsbCB3
aW5kb3dTbmFwc2hvdEltYWdlKCksIGFuZCBpZiBpdCByZXR1cm5zIGFuIGltYWdlLAorICAgICAg
ICB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBpbWFnZSB3ZSBnZXQgZnJvbSB0aGUgd2ViIHByb2Nl
c3MuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNw
cDoKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojp3aW5kb3dTbmFwc2hvdEltYWdlKTog
U3R1YiBvdXQgdGhlIG5ldyBtZXRob2QuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9tYWMv
UGxhdGZvcm1XZWJWaWV3TWFjLm1tOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6Ondp
bmRvd1NuYXBzaG90SW1hZ2UpOiBEaXR0by4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3F0
L1BsYXRmb3JtV2ViVmlld1F0LmNwcDoKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3Ojp3
aW5kb3dTbmFwc2hvdEltYWdlKTogRGl0dG8uCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci93
aW4vUGxhdGZvcm1XZWJWaWV3V2luLmNwcDoKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3
Ojp3aW5kb3dTbmFwc2hvdEltYWdlKTogRGl0dG8uCisKIDIwMTEtMTAtMTAgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHI5NzA4Mi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxh
dGZvcm1XZWJWaWV3LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtV2ViVmlldy5o
CmluZGV4IGE3YzdmYjA0OTk4MzQxYjgzMWNhMzg4NzBjYjljYzFhM2MzNWNhOGUuLjdlODJjMmU1
ZTFiMGI5NDFmOTY2NzE1Y2ZmNWFlZWI5ZGYyM2U3ZTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9QbGF0Zm9ybVdlYlZpZXcuaApAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBQbGF0Zm9ybVdl
YlZpZXdfaAogI2RlZmluZSBQbGF0Zm9ybVdlYlZpZXdfaAogCisjaW5jbHVkZSA8V2ViS2l0Mi9X
S1JldGFpblB0ci5oPgorCiAjaWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQogY2xhc3MgUURlc2t0
b3BXZWJWaWV3OwogdHlwZWRlZiBRRGVza3RvcFdlYlZpZXcqIFBsYXRmb3JtV0tWaWV3OwpAQCAt
NzYsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYWtlV2ViVmlld0ZpcnN0UmVzcG9uZGVy
KCk7CiAgICAgdm9pZCBzZXRXaW5kb3dJc0tleShib29sIGlzS2V5KSB7IG1fd2luZG93SXNLZXkg
PSBpc0tleTsgfQogICAgIGJvb2wgd2luZG93SXNLZXkoKSBjb25zdCB7IHJldHVybiBtX3dpbmRv
d0lzS2V5OyB9CisgICAgCisgICAgV0tSZXRhaW5QdHI8V0tJbWFnZVJlZj4gd2luZG93U25hcHNo
b3RJbWFnZSgpOwogCiBwcml2YXRlOgogICAgIFBsYXRmb3JtV0tWaWV3IG1fdmlldzsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY2cvVGVzdEludm9jYXRpb25DRy5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2NnL1Rlc3RJbnZvY2F0aW9uQ0cuY3BwCmluZGV4IGJlZDhm
NTYwMWZmYzdlMzhmZGUzMWNkMWQ0YmNlOWZmODEwOGVmNjguLjY2NTNiMzUzMzgzMDRmYzRjNjRm
YWY2NGRmMTE2NDlmN2U2ZmZjNTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Y2cvVGVzdEludm9jYXRpb25DRy5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jZy9U
ZXN0SW52b2NhdGlvbkNHLmNwcApAQCAtNDUsNyArNDUsMTIgQEAgc3RhdGljIGNvbnN0IENGU3Ry
aW5nUmVmIGtVVFR5cGVQTkcgPSBDRlNUUigicHVibGljLnBuZyIpOwogCiBuYW1lc3BhY2UgV1RS
IHsKIAotc3RhdGljIENHQ29udGV4dFJlZiBjcmVhdGVDR0NvbnRleHRGcm9tSW1hZ2UoV0tJbWFn
ZVJlZiB3a0ltYWdlKQorZW51bSBGbGlwR3JhcGhpY3NDb250ZXh0T3JOb3QgeworICAgIERvbnRG
bGlwR3JhcGhpY3NDb250ZXh0LAorICAgIEZsaXBHcmFwaGljc0NvbnRleHQKK307CisKK3N0YXRp
YyBDR0NvbnRleHRSZWYgY3JlYXRlQ0dDb250ZXh0RnJvbUltYWdlKFdLSW1hZ2VSZWYgd2tJbWFn
ZSwgRmxpcEdyYXBoaWNzQ29udGV4dE9yTm90IGZsaXAgPSBEb250RmxpcEdyYXBoaWNzQ29udGV4
dCkKIHsKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UoQWRvcHRDRiwgV0tJbWFnZUNy
ZWF0ZUNHSW1hZ2Uod2tJbWFnZSkpOwogCkBAIC01OCw3ICs2MywxNSBAQCBzdGF0aWMgQ0dDb250
ZXh0UmVmIGNyZWF0ZUNHQ29udGV4dEZyb21JbWFnZShXS0ltYWdlUmVmIHdrSW1hZ2UpCiAgICAg
Q0dDb250ZXh0UmVmIGNvbnRleHQgPSBDR0JpdG1hcENvbnRleHRDcmVhdGUoYnVmZmVyLCBwaXhl
bHNXaWRlLCBwaXhlbHNIaWdoLCA4LCByb3dCeXRlcywgY29sb3JTcGFjZSwga0NHSW1hZ2VBbHBo
YVByZW11bHRpcGxpZWRGaXJzdCB8IGtDR0JpdG1hcEJ5dGVPcmRlcjMySG9zdCk7CiAgICAgQ0dD
b2xvclNwYWNlUmVsZWFzZShjb2xvclNwYWNlKTsKICAgICAKKyAgICBpZiAoZmxpcCA9PSBGbGlw
R3JhcGhpY3NDb250ZXh0KSB7CisgICAgICAgIENHQ29udGV4dFNhdmVHU3RhdGUoY29udGV4dCk7
CisgICAgICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRleHQsIDEsIC0xKTsKKyAgICAgICAgQ0dD
b250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIDAsIC1waXhlbHNIaWdoKTsKKyAgICB9CisgICAg
CiAgICAgQ0dDb250ZXh0RHJhd0ltYWdlKGNvbnRleHQsIENHUmVjdE1ha2UoMCwgMCwgcGl4ZWxz
V2lkZSwgcGl4ZWxzSGlnaCksIGltYWdlLmdldCgpKTsKKyAgICBpZiAoZmxpcCA9PSBGbGlwR3Jh
cGhpY3NDb250ZXh0KQorICAgICAgICBDR0NvbnRleHRSZXN0b3JlR1N0YXRlKGNvbnRleHQpOwog
CiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CkBAIC0xNDQsMTYgKzE1NywyMyBAQCBzdGF0aWMgdm9p
ZCBwYWludFJlcGFpbnRSZWN0T3ZlcmxheShDR0NvbnRleHRSZWYgY29udGV4dCwgV0tJbWFnZVJl
ZiBpbWFnZSwgV0tBcgogCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjpkdW1wUGl4ZWxzQW5kQ29tcGFy
ZVdpdGhFeHBlY3RlZChXS0ltYWdlUmVmIGltYWdlLCBXS0FycmF5UmVmIHJlcGFpbnRSZWN0cykK
IHsKLSAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IGNyZWF0ZUNHQ29udGV4dEZyb21JbWFnZShp
bWFnZSk7CisgICAgUGxhdGZvcm1XZWJWaWV3KiB3ZWJWaWV3ID0gVGVzdENvbnRyb2xsZXI6OnNo
YXJlZCgpLm1haW5XZWJWaWV3KCk7CisgICAgV0tSZXRhaW5QdHI8V0tJbWFnZVJlZj4gd2luZG93
U25hcHNob3QgPSB3ZWJWaWV3LT53aW5kb3dTbmFwc2hvdEltYWdlKCk7CisKKyAgICBSZXRhaW5Q
dHI8Q0dDb250ZXh0UmVmPiBjb250ZXh0OworICAgIGlmICh3aW5kb3dTbmFwc2hvdCkKKyAgICAg
ICAgY29udGV4dC5hZG9wdENGKGNyZWF0ZUNHQ29udGV4dEZyb21JbWFnZSh3aW5kb3dTbmFwc2hv
dC5nZXQoKSwgRmxpcEdyYXBoaWNzQ29udGV4dCkpOworICAgIGVsc2UKKyAgICAgICAgY29udGV4
dC5hZG9wdENGKGNyZWF0ZUNHQ29udGV4dEZyb21JbWFnZShpbWFnZSkpOwogCiAgICAgLy8gQSBu
b24tbnVsbCByZXBhaW50UmVjdHMgYXJyYXkgbWVhbnMgd2UncmUgZG9pbmcgYSByZXBhaW50IHRl
c3QuCiAgICAgaWYgKHJlcGFpbnRSZWN0cykKLSAgICAgICAgcGFpbnRSZXBhaW50UmVjdE92ZXJs
YXkoY29udGV4dCwgaW1hZ2UsIHJlcGFpbnRSZWN0cyk7CisgICAgICAgIHBhaW50UmVwYWludFJl
Y3RPdmVybGF5KGNvbnRleHQuZ2V0KCksIGltYWdlLCByZXBhaW50UmVjdHMpOwogCiAgICAgY2hh
ciBhY3R1YWxIYXNoWzMzXTsKLSAgICBjb21wdXRlTUQ1SGFzaFN0cmluZ0ZvckNvbnRleHQoY29u
dGV4dCwgYWN0dWFsSGFzaCk7CisgICAgY29tcHV0ZU1ENUhhc2hTdHJpbmdGb3JDb250ZXh0KGNv
bnRleHQuZ2V0KCksIGFjdHVhbEhhc2gpOwogICAgIGlmICghY29tcGFyZUFjdHVhbEhhc2hUb0V4
cGVjdGVkQW5kRHVtcFJlc3VsdHMoYWN0dWFsSGFzaCkpCi0gICAgICAgIGR1bXBCaXRtYXAoY29u
dGV4dCwgYWN0dWFsSGFzaCk7CisgICAgICAgIGR1bXBCaXRtYXAoY29udGV4dC5nZXQoKSwgYWN0
dWFsSGFzaCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvZ3RrL1BsYXRmb3JtV2ViVmlld0d0ay5jcHAKaW5kZXggMTY0NmI0NWFiOTY1OTZi
ZWYyOGY1YTBlNDI4ZjRhZjgxZGI2MDlkMy4uYWZlNGE1NjljNDI5YzFiYjY1ZjFkZWVmYzgwMDZh
ZWVhYmE5YmZmNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvUGxhdGZv
cm1XZWJWaWV3R3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9y
bVdlYlZpZXdHdGsuY3BwCkBAIC0xMTAsNSArMTEwLDEyIEBAIHZvaWQgUGxhdGZvcm1XZWJWaWV3
OjptYWtlV2ViVmlld0ZpcnN0UmVzcG9uZGVyKCkKIHsKIH0KIAorV0tSZXRhaW5QdHI8V0tJbWFn
ZVJlZj4gUGxhdGZvcm1XZWJWaWV3Ojp3aW5kb3dTbmFwc2hvdEltYWdlKCkKK3sKKyAgICAvLyBG
SVhNRTogaW1wbGVtZW50IHRvIGNhcHR1cmUgcGl4ZWxzIGluIHRoZSBVSSBwcm9jZXNzLAorICAg
IC8vIHdoaWNoIG1heSBiZSBuZWNlc3NhcnkgdG8gY2FwdHVyZSB0aGluZ3MgbGlrZSAzRCB0cmFu
c2Zvcm1zLgorICAgIHJldHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVFIKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCmluZGV4IDBk
MmQzODRhM2E2MDViMTkzYWFhOWVjMDUwMDQ5NjU2NmRkMzhmMGUuLjIxODczMjYzNWQwZTRiYjdl
MWE1ZGQ4ODE2ODk1NmQ4ZTQ3NjhiYmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KQEAgLTIzLDggKzIzLDEyIEBACiAgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogCisjaW1wb3J0IDxXZWJLaXQyL1dLSW1hZ2VDRy5o
PgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCiBAaW50ZXJmYWNlIFdlYktpdFRlc3RSdW5u
ZXJXaW5kb3cgOiBOU1dpbmRvdyB7CiAgICAgV1RSOjpQbGF0Zm9ybVdlYlZpZXcqIF9wbGF0Zm9y
bVdlYlZpZXc7CiB9CkBAIC0xMjQsNCArMTI4LDExIEBAIHZvaWQgUGxhdGZvcm1XZWJWaWV3Ojpt
YWtlV2ViVmlld0ZpcnN0UmVzcG9uZGVyKCkKICAgICBbbV93aW5kb3cgbWFrZUZpcnN0UmVzcG9u
ZGVyOm1fdmlld107CiB9CiAKK1dLUmV0YWluUHRyPFdLSW1hZ2VSZWY+IFBsYXRmb3JtV2ViVmll
dzo6d2luZG93U25hcHNob3RJbWFnZSgpCit7CisgICAgW21fdmlldyBkaXNwbGF5XTsKKyAgICBS
ZXRhaW5QdHI8Q0dJbWFnZVJlZj4gd2luZG93U25hcHNob3RJbWFnZShBZG9wdENGLCBDR1dpbmRv
d0xpc3RDcmVhdGVJbWFnZShDR1JlY3ROdWxsLCBrQ0dXaW5kb3dMaXN0T3B0aW9uSW5jbHVkaW5n
V2luZG93LCBbbV93aW5kb3cgd2luZG93TnVtYmVyXSwga0NHV2luZG93SW1hZ2VCb3VuZHNJZ25v
cmVGcmFtaW5nIHwga0NHV2luZG93SW1hZ2VTaG91bGRCZU9wYXF1ZSkpOworICAgIHJldHVybiBX
S0ltYWdlQ3JlYXRlRnJvbUNHSW1hZ2Uod2luZG93U25hcHNob3RJbWFnZS5nZXQoKSwgMCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9QbGF0Zm9ybVdlYlZpZXdRdC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Bs
YXRmb3JtV2ViVmlld1F0LmNwcAppbmRleCA1NDM2YjM2ZGE0MGVhMjk4NzY2NDIyZTFmN2I4NDg5
YzM5NTg1ZDc1Li45YWVhN2IzNGZiZjhkYzc4MzQ2YzYzODEzNmRiNGFmZWE3MGEwNTQ0IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1BsYXRmb3JtV2ViVmlld1F0LmNwcApAQCAt
MTMxLDYgKzEzMSwxMyBAQCB2b2lkIFBsYXRmb3JtV2ViVmlldzo6bWFrZVdlYlZpZXdGaXJzdFJl
c3BvbmRlcigpCiB7CiB9CiAKK1dLUmV0YWluUHRyPFdLSW1hZ2VSZWY+IFBsYXRmb3JtV2ViVmll
dzo6d2luZG93U25hcHNob3RJbWFnZSgpCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudCB0byBj
YXB0dXJlIHBpeGVscyBpbiB0aGUgVUkgcHJvY2VzcywKKyAgICAvLyB3aGljaCBtYXkgYmUgbmVj
ZXNzYXJ5IHRvIGNhcHR1cmUgdGhpbmdzIGxpa2UgM0QgdHJhbnNmb3Jtcy4KKyAgICByZXR1cm4g
MDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCiAKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXdR
dC5tb2MiCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9QbGF0Zm9ybVdl
YlZpZXdXaW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93aW4vUGxhdGZvcm1XZWJWaWV3
V2luLmNwcAppbmRleCA2YjY0MDhkYjVkZWI0MGY3MmNlYmU2OTNkZTYyZjc2MzYyYjZiMTJlLi4y
ZmJjZWY5MjI5YTBmNjdmNjkxNGQyNWYxYWY5ZjY1NTJjMzA5NzFiIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL3dpbi9QbGF0Zm9ybVdlYlZpZXdXaW4uY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvd2luL1BsYXRmb3JtV2ViVmlld1dpbi5jcHAKQEAgLTExMSw0ICsx
MTEsMTEgQEAgdm9pZCBQbGF0Zm9ybVdlYlZpZXc6Om1ha2VXZWJWaWV3Rmlyc3RSZXNwb25kZXIo
KQogewogfQogCitXS1JldGFpblB0cjxXS0ltYWdlUmVmPiBQbGF0Zm9ybVdlYlZpZXc6OndpbmRv
d1NuYXBzaG90SW1hZ2UoKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdG8gY2FwdHVyZSBw
aXhlbHMgaW4gdGhlIFVJIHByb2Nlc3MsCisgICAgLy8gd2hpY2ggbWF5IGJlIG5lY2Vzc2FyeSB0
byBjYXB0dXJlIHRoaW5ncyBsaWtlIDNEIHRyYW5zZm9ybXMuCisgICAgcmV0dXJuIDA7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdUUgo=
</data>
<flag name="review"
          id="107941"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110719</attachid>
            <date>2011-10-12 12:21:20 -0700</date>
            <delta_ts>2011-10-12 12:24:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68276-20111012122119.patch</filename>
            <type>text/plain</type>
            <size>1611</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTcyNzcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0NjY5MWYxMjYyYjNhMGE0NTlkMjQxMDM2NzAyMzI5MGMw
NjJmMGFlLi4wMmFlOWViODUyMjQwMTg0OGQwN2M0NDRmNDRmYWZmZmViNDA3MDZlIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTEtMTAtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
KyAgICAgICAgM0QgdHJhbnNmb3JtcyBhcmUgZmxhdHRlbmVkIGluIFdlYktpdDIgc25hcHNob3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
Rml4IFdLSW1hZ2UgbGVhayBub3RpY2VkIGJ5IEFkYW0gUm9iZW4uCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW06CisgICAgICAgIChXVFI6OlBs
YXRmb3JtV2ViVmlldzo6d2luZG93U25hcHNob3RJbWFnZSk6CisKKzIwMTEtMTAtMTIgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgSW1wcm92ZSBvdXRw
dXQgb2YgcnVuLWFwaS10ZXN0cyB0byBtYWtlIHRpbWUtb3V0cyBtb3JlIG9idmlvdXMKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg4CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQppbmRleCAy
MTg3MzI2MzVkMGU0YmI3ZTFhNWRkODgxNjg5NTZkOGU0NzY4YmJhLi45Y2Y3ZjJmNDFmNmRlOTQw
NjBlNzE0NzZlOWNiYzBiNmFjNDAyODlhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCkBAIC0xMzIsNyArMTMyLDcgQEAgV0tSZXRhaW5Q
dHI8V0tJbWFnZVJlZj4gUGxhdGZvcm1XZWJWaWV3Ojp3aW5kb3dTbmFwc2hvdEltYWdlKCkKIHsK
ICAgICBbbV92aWV3IGRpc3BsYXldOwogICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiB3aW5kb3dT
bmFwc2hvdEltYWdlKEFkb3B0Q0YsIENHV2luZG93TGlzdENyZWF0ZUltYWdlKENHUmVjdE51bGws
IGtDR1dpbmRvd0xpc3RPcHRpb25JbmNsdWRpbmdXaW5kb3csIFttX3dpbmRvdyB3aW5kb3dOdW1i
ZXJdLCBrQ0dXaW5kb3dJbWFnZUJvdW5kc0lnbm9yZUZyYW1pbmcgfCBrQ0dXaW5kb3dJbWFnZVNo
b3VsZEJlT3BhcXVlKSk7Ci0gICAgcmV0dXJuIFdLSW1hZ2VDcmVhdGVGcm9tQ0dJbWFnZSh3aW5k
b3dTbmFwc2hvdEltYWdlLmdldCgpLCAwKTsKKyAgICByZXR1cm4gYWRvcHRXSyhXS0ltYWdlQ3Jl
YXRlRnJvbUNHSW1hZ2Uod2luZG93U25hcHNob3RJbWFnZS5nZXQoKSwgMCkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXVFIK
</data>
<flag name="review"
          id="108308"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>