<?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>35610</bug_id>
          
          <creation_ts>2010-03-02 14:41:29 -0800</creation_ts>
          <short_desc>Enable LayoutTests/compositing for Windows when compositing is available</short_desc>
          <delta_ts>2010-03-03 16:06:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195251</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-02 14:41:29 -0800</bug_when>
    <thetext>We need to be running the tests in LayoutTests/compositing when the build has accelerated compositing enabled. Currently we have zero test coverage of the compositing code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195257</commentid>
    <comment_count>1</comment_count>
      <attachid>49854</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-02 14:53:32 -0800</bug_when>
    <thetext>Created attachment 49854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195259</commentid>
    <comment_count>2</comment_count>
      <attachid>49854</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-03-02 15:00:22 -0800</bug_when>
    <thetext>Comment on attachment 49854
Patch

Seems like a great thing to do!

&gt; +    virtual HRESULT STDMETHODCALLTYPE setAcceleratedCompositingEnabled(
&gt; +    /* [in] */ BOOL acceleratedCompositingEnabled);
&gt; +
&gt; +    virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(
&gt; +    /* [retval][out] */ BOOL* acceleratedCompositingEnabled);
&gt; +
&gt;      virtual HRESULT STDMETHODCALLTYPE fontSmoothingContrast( 
&gt;      /* [retval][out] */ float* contrast);
&gt;  
&gt; @@ -396,8 +402,6 @@ public:
&gt;      /* [in] */ BSTR key,
&gt;      /* [in] */ BSTR value);
&gt;  
&gt; -    virtual HRESULT STDMETHODCALLTYPE setAcceleratedCompositingEnabled(BOOL);
&gt; -    virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(BOOL*);

This doesn&apos;t seem to be a helpful change. Should work without changing anything in this file.

&gt; +        if (!stricmp(argv[i], &quot;--print-supported-features&quot;)) {
&gt; +            printSupportedFeatures = true;
&gt; +            continue;
&gt; +        }
&gt; +        
&gt; +

Extra blank line here.

&gt; +    if (printSupportedFeatures) {
&gt; +        BOOL acceleratedCompositingAvailable;
&gt; +        standardPreferences-&gt;acceleratedCompositingEnabled(&amp;acceleratedCompositingAvailable);
&gt; +        fprintf(stderr, &quot;SupportedFeatures:%s\n&quot;, acceleratedCompositingAvailable ? &quot;AcceleratedCompositing&quot; : &quot;&quot;);
&gt; +        return 0;
&gt; +    }

Why stderr instead of stdout? I think a plain old printf would be good for this, since we specifically asked for this to be printed.

&gt; -if (!checkWebCoreFeatureSupport(&quot;Accelerated Compositing&quot;, 0)) {
&gt; +if (isCygwin()) {
&gt; +    my $cmd = $dumpTool . &quot; --print-supported-features 2&gt;&amp;1&quot;;
&gt; +    my $result = `$cmd 2&gt;&amp;1`;

Can this logic go inside the checkWebCoreFeatureSupport function instead of out here at the top level?

&gt; +    if (!($result =~ m/AcceleratedCompositing/)) {

You can write this with !~ instead and cut down on the parentheses. Also no need for the &quot;m&quot; before the slash.

    if ($result !~ /AcceleratedCompositing/)

&gt; Index: WebKitTools/Scripts/webkitdirs.pm
&gt; ===================================================================
&gt; --- WebKitTools/Scripts/webkitdirs.pm	(revision 55032)
&gt; +++ WebKitTools/Scripts/webkitdirs.pm	(working copy)
&gt; @@ -562,7 +562,7 @@ sub builtDylibPathForName
&gt;          return &quot;$configurationProductDir/$libraryName.framework/Versions/A/$libraryName&quot;;
&gt;      }
&gt;      if (isAppleWinWebKit()) {
&gt; -        if ($libraryName eq &quot;JavaScriptCore&quot;) {
&gt; +        if ($libraryName eq &quot;JavaScriptCore&quot; or $libraryName eq &quot;WebCore&quot;) {
&gt;              return &quot;$baseProductDir/lib/$libraryName.lib&quot;;
&gt;          } else {
&gt;              return &quot;$baseProductDir/$libraryName.intermediate/$configuration/$libraryName.intermediate/$libraryName.lib&quot;;

This change does not match the change log entry. And I don&apos;t see why you&apos;re changing this. Can this land separately with a comment explaining the change.

I&apos;m going to say review+ despite a few of the concerns above; the main thing here is to start using these tests. Please consider fixing the things I mentioned though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195261</commentid>
    <comment_count>3</comment_count>
      <attachid>49854</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-03-02 15:05:37 -0800</bug_when>
    <thetext>Comment on attachment 49854
Patch

&gt; Index: WebKit/win/WebPreferences.h
&gt; ===================================================================
&gt; --- WebKit/win/WebPreferences.h	(revision 55032)
&gt; +++ WebKit/win/WebPreferences.h	(working copy)
&gt; @@ -344,6 +344,12 @@ public:
&gt;      virtual HRESULT STDMETHODCALLTYPE zoomsTextOnly( 
&gt;      /* [retval][out] */ BOOL *zoomsTextOnly);
&gt;  
&gt; +    virtual HRESULT STDMETHODCALLTYPE setAcceleratedCompositingEnabled(
&gt; +    /* [in] */ BOOL acceleratedCompositingEnabled);
&gt; +
&gt; +    virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(
&gt; +    /* [retval][out] */ BOOL* acceleratedCompositingEnabled);
&gt; +

I think you have to add new methods at the end, to avoid changes in vtable layout causing backwards compatibility issues.

&gt; Index: WebKitTools/ChangeLog
&gt; ===================================================================

&gt; +        * Scripts/webkitdirs.pm: Runs DRT to see if HW comp is available on Windows

Really? The change is not obviously doing this.

&gt; Index: WebKitTools/DumpRenderTree/win/DumpRenderTree.cpp
&gt; ===================================================================

&gt; +        if (!stricmp(argv[i], &quot;--print-supported-features&quot;)) {
&gt; +            printSupportedFeatures = true;
&gt; +            continue;
&gt; +        }
&gt; +        
&gt; +

Extra line here.

&gt; Index: WebKitTools/Scripts/run-webkit-tests
&gt; ===================================================================
&gt; --- WebKitTools/Scripts/run-webkit-tests	(revision 55032)
&gt; +++ WebKitTools/Scripts/run-webkit-tests	(working copy)
&gt; @@ -444,13 +444,21 @@ if (!$testMedia) {
&gt;      $ignoredDirectories{&apos;http/tests/media&apos;} = 1;
&gt;  }
&gt;  
&gt; -if (!checkWebCoreFeatureSupport(&quot;Accelerated Compositing&quot;, 0)) {
&gt; +if (isCygwin()) {
&gt; +    my $cmd = $dumpTool . &quot; --print-supported-features 2&gt;&amp;1&quot;;
&gt; +    my $result = `$cmd 2&gt;&amp;1`;
&gt; +    if (!($result =~ m/AcceleratedCompositing/)) {
&gt; +        $ignoredDirectories{&apos;compositing&apos;} = 1;
&gt; +        $ignoredDirectories{&apos;animations/3d&apos;} = 1;
&gt; +        $ignoredDirectories{&apos;transforms/3d&apos;} = 1;
&gt; +    }
&gt; +} elsif (!checkWebCoreFeatureSupport(&quot;AcceleratedCompositing&quot;, 0)) {
&gt;      $ignoredDirectories{&apos;compositing&apos;} = 1;
&gt; -}
&gt;  
&gt; -if (!checkWebCoreFeatureSupport(&quot;3D Rendering&quot;, 0)) {
&gt; -    $ignoredDirectories{&apos;animations/3d&apos;} = 1;
&gt; -    $ignoredDirectories{&apos;transforms/3d&apos;} = 1;
&gt; +    if (!checkWebCoreFeatureSupport(&quot;3D Rendering&quot;, 0)) {
&gt; +        $ignoredDirectories{&apos;animations/3d&apos;} = 1;
&gt; +        $ignoredDirectories{&apos;transforms/3d&apos;} = 1;
&gt; +    }
&gt;  }

It looks like you remove the separate checks for accelerated compositing and 3d rendering. If this was deliberate, your changelog entry should justify it.

&gt; Index: WebKitTools/Scripts/webkitdirs.pm
&gt; ===================================================================
&gt; --- WebKitTools/Scripts/webkitdirs.pm	(revision 55032)
&gt; +++ WebKitTools/Scripts/webkitdirs.pm	(working copy)
&gt; @@ -562,7 +562,7 @@ sub builtDylibPathForName
&gt;          return &quot;$configurationProductDir/$libraryName.framework/Versions/A/$libraryName&quot;;
&gt;      }
&gt;      if (isAppleWinWebKit()) {
&gt; -        if ($libraryName eq &quot;JavaScriptCore&quot;) {
&gt; +        if ($libraryName eq &quot;JavaScriptCore&quot; or $libraryName eq &quot;WebCore&quot;) {
&gt;              return &quot;$baseProductDir/lib/$libraryName.lib&quot;;
&gt;          } else {
&gt;              return &quot;$baseProductDir/$libraryName.intermediate/$configuration/$libraryName.intermediate/$libraryName.lib&quot;;

I&apos;m not clear on why this change is needed.

r- for the vtable issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195298</commentid>
    <comment_count>4</comment_count>
      <attachid>49863</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-02 16:13:18 -0800</bug_when>
    <thetext>Created attachment 49863
Replacement patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195299</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-02 16:13:44 -0800</bug_when>
    <thetext>New patch addresses comments from Simon and Darin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195350</commentid>
    <comment_count>6</comment_count>
      <attachid>49863</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-03-02 18:23:33 -0800</bug_when>
    <thetext>Comment on attachment 49863
Replacement patch

&gt; Index: WebKitTools/DumpRenderTree/win/DumpRenderTree.cpp
&gt; ===================================================================

&gt; @@ -1246,6 +1252,13 @@ int main(int argc, char* argv[])
&gt;      standardPreferences-&gt;setJavaScriptEnabled(TRUE);
&gt;      standardPreferences-&gt;setDefaultFontSize(16);
&gt;  
&gt; +    if (printSupportedFeatures) {
&gt; +        BOOL acceleratedCompositingAvailable;
&gt; +        standardPreferences-&gt;acceleratedCompositingEnabled(&amp;acceleratedCompositingAvailable);
&gt; +        printf(&quot;SupportedFeatures:%s\n&quot;, acceleratedCompositingAvailable ? &quot;AcceleratedCompositing&quot; : &quot;&quot;);
&gt; +        return 0;

I kinda feel like this should print out &quot;AcceleratedCompositing, 3DTransforms&quot; so that run-webkit-tests can check for both separately.

&gt; Index: WebKitTools/Scripts/run-webkit-tests
&gt; ===================================================================

&gt; -if (!checkWebCoreFeatureSupport(&quot;Accelerated Compositing&quot;, 0)) {
&gt; +if (isCygwin()) {
&gt; +    my $cmd = $dumpTool . &quot; --print-supported-features 2&gt;&amp;1&quot;;
&gt; +    my $result = `$cmd 2&gt;&amp;1`;
&gt; +    if ($result !~ /AcceleratedCompositing/) {
&gt; +        $ignoredDirectories{&apos;compositing&apos;} = 1;
&gt; +        $ignoredDirectories{&apos;animations/3d&apos;} = 1;
&gt; +        $ignoredDirectories{&apos;transforms/3d&apos;} = 1;
&gt; +    }
&gt; +} elsif (!checkWebCoreFeatureSupport(&quot;Accelerated Compositing&quot;, 0)) {
&gt;      $ignoredDirectories{&apos;compositing&apos;} = 1;
&gt; -}
&gt;  
&gt; -if (!checkWebCoreFeatureSupport(&quot;3D Rendering&quot;, 0)) {
&gt; -    $ignoredDirectories{&apos;animations/3d&apos;} = 1;
&gt; -    $ignoredDirectories{&apos;transforms/3d&apos;} = 1;
&gt; +    if (!checkWebCoreFeatureSupport(&quot;3D Rendering&quot;, 0)) {
&gt; +        $ignoredDirectories{&apos;animations/3d&apos;} = 1;
&gt; +        $ignoredDirectories{&apos;transforms/3d&apos;} = 1;
&gt; +    }
&gt;  }

I still think this is wrong. You&apos;re only testing for NOT 3d support inside the NOT accelerated compositing block. I&apos;d prefer to see:

my($hasAcceleratedCompositing) = false;
my($has3DRendering) = false;

if (isCygwin()) {
  $hasAcceleratedCompositing = ...
  $has3DRendering = ...
} elsif {
  $hasAcceleratedCompositing = ...
  $has3DRendering = ...
}

if (!$hasAcceleratedCompositing) {
 ...
}

if (!$has3DRendering) {
  ...
}
&gt;  

&gt; Index: LayoutTests/platform/win/Skipped
&gt; ===================================================================
&gt; --- LayoutTests/platform/win/Skipped	(revision 55032)
&gt; +++ LayoutTests/platform/win/Skipped	(working copy)
&gt; @@ -689,9 +689,19 @@ fast/multicol/single-line.html
&gt;  # Need to add functionality to DumpRenderTree to handle error pages
&gt;  fast/history/back-forward-reset-after-error-handling.html
&gt;  
&gt; -# Tests requiring 3D_RENDERING and ACCELERATED_COMPOSITING support
&gt; -transforms/3d
&gt; -compositing
&gt; +# ACCELERATED_COMPOSITING tests that crash
&gt; +compositing/layers-inside-overflow-scroll.html
&gt; +compositing/self-painting-layers.html
&gt; +compositing/geometry/clipped-video-controller.html
&gt; +compositing/geometry/video-fixed-scrolling.html
&gt; +compositing/geometry/video-opacity-overlay.html
&gt; +compositing/overflow/scroll-ancestor-update.html
&gt; +compositing/reflections/load-video-in-reflection.html
&gt; +compositing/video/video-background-color.html

Please file one or more bugs to cover the crashing tests.

r=me, as long as you fix the logic in run-webkit-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195352</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-03-02 18:25:39 -0800</bug_when>
    <thetext>&gt; I kinda feel like this should print out &quot;AcceleratedCompositing, 3DTransforms&quot;
&gt; so that run-webkit-tests can check for both separately.

And of course the &quot;3DTransforms&quot; string would only be appended if ENABLE(3D_RENDERING) is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195663</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-03 10:52:46 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/55467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195703</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-03 12:07:43 -0800</bug_when>
    <thetext>Reopening to address Simon&apos;s concerns</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195732</commentid>
    <comment_count>10</comment_count>
      <attachid>49937</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-03 13:22:00 -0800</bug_when>
    <thetext>Created attachment 49937
Additional Patch

This addresses Simon&apos;s latest issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195804</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-03-03 16:06:31 -0800</bug_when>
    <thetext>Additional change landed in http://trac.webkit.org/changeset/55481</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49854</attachid>
            <date>2010-03-02 14:53:32 -0800</date>
            <delta_ts>2010-03-02 16:13:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>35610.patch</filename>
            <type>text/plain</type>
            <size>8596</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA1NTQzMSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMtMDIgIENocmlzIE1hcnJpbiAgPGNtYXJy
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEV4cG9ydCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nIGZsYWcgaW4gSVdlYlByZWZlcmVu
Y2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2
MTAKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5oOgorCiAyMDEwLTAzLTAyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgSVdlYlZpZXdQcml2YXRlOjpyZWdpc3RlclVSTFNjaGVt
ZUFzU2VjdXJlCkluZGV4OiBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiA1NTAzMikKKysrIFdlYktp
dC93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQ0LDYgKzM0NCwxMiBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHpvb21zVGV4
dE9ubHkoIAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCAqem9vbXNUZXh0T25seSk7CiAK
KyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQoCisgICAgLyogW2luXSAqLyBCT09MIGFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkKTsKKworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgKKyAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wq
IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKTsKKwogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBmb250U21vb3RoaW5nQ29udHJhc3QoIAogICAgIC8qIFtyZXR2YWxd
W291dF0gKi8gZmxvYXQqIGNvbnRyYXN0KTsKIApAQCAtMzk2LDggKzQwMiw2IEBAIHB1YmxpYzoK
ICAgICAvKiBbaW5dICovIEJTVFIga2V5LAogICAgIC8qIFtpbl0gKi8gQlNUUiB2YWx1ZSk7CiAK
LSAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQoQk9PTCk7Ci0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKEJPT0wqKTsKIAogICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDdXN0b21EcmFnQ3Vyc29yc0VuYWJsZWQoQk9P
TCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGN1c3RvbURyYWdDdXJz
b3JzRW5hYmxlZChCT09MKik7CkluZGV4OiBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZl
cmVuY2VzLmlkbAkocmV2aXNpb24gNTUwMzIpCisrKyBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTg2LDQgKzE4Niw3IEBAIGludGVy
ZmFjZSBJV2ViUHJlZmVyZW5jZXMgOiBJVW5rbm93bgogCiAgICAgSFJFU1VMVCBzZXRab29tc1Rl
eHRPbmx5KEJPT0wgem9vbXNUZXh0T25seSk7CiAgICAgSFJFU1VMVCB6b29tc1RleHRPbmx5KEJP
T0wgKnpvb21zVGV4dE9ubHkpOworCisgICAgSFJFU1VMVCBzZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZChCT09MIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKTsKKyAgICBIUkVT
VUxUIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKEJPT0wgKmFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKTsKIH0KSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1NDMxKQorKysgV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDMtMDIg
IENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGFiaWxpdHkgdG8gcHJpbnQgc3VwcG9y
dGVkIGZlYXR1cmVzIHRvIGNvbnNvbGUgdG8gRFJUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTYxMAorICAgICAgICAKKyAgICAgICAgVGhpcyBjdXJy
ZW50bHkgb25seSBwcmludHMgd2hldGhlciBvciBub3QgQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmcg
aXMgCisgICAgICAgIHN1cHBvcnRlZCwgd2hpY2ggaXMgdGhlIG9ubHkgd2F5IHRvIHRlbGwgaWYg
eW91IGNhbiBydW4gdGhlCisgICAgICAgIGNvbXBvc2l0aW5nIExheW91dFRlc3RzIG9uIFdpbmRv
d3MuIEJ1dCBpdCBjYW4gYmUgZXhwYW5kZWQgdG8gZ2l2ZQorICAgICAgICBtb3JlIGluZm9ybWF0
aW9uIGFzIG5lZWRlZC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHA6IEFkZGVkIC0tcHJpbnQtc3VwcG9ydGVkLWZlYXR1cmVzIGZsYWcKKyAgICAgICAg
KG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmtpdC10ZXN0czogRW5hYmxlcyBjb21w
b3NpdGluZyB0ZXN0cyBvbiBXaW5kb3dzIHdoZW4gSFcgY29tcCBpcyBhdmFpbGFibGUKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06IFJ1bnMgRFJUIHRvIHNlZSBpZiBIVyBjb21wIGlz
IGF2YWlsYWJsZSBvbiBXaW5kb3dzCisKIDIwMTAtMDMtMDIgIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24gNTUwMzIpCisrKyBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04NCw2ICs4NCw3IEBAIHN0YXRpYyBib29sIHByaW50U2VwYXJhdG9yczsKIHN0YXRp
YyBib29sIGxlYWtDaGVja2luZyA9IGZhbHNlOwogc3RhdGljIGJvb2wgdGhyZWFkZWQgPSBmYWxz
ZTsKIHN0YXRpYyBib29sIGZvcmNlQ29tcGxleFRleHQgPSBmYWxzZTsKK3N0YXRpYyBib29sIHBy
aW50U3VwcG9ydGVkRmVhdHVyZXMgPSBmYWxzZTsKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdS
ZWY+IHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uOwogCiB2b2xhdGlsZSBib29sIGRv
bmU7CkBAIC0xMjIyLDYgKzEyMjMsMTIgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3Zb
XSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJp
Y21wKGFyZ3ZbaV0sICItLXByaW50LXN1cHBvcnRlZC1mZWF0dXJlcyIpKSB7CisgICAgICAgICAg
ICBwcmludFN1cHBvcnRlZEZlYXR1cmVzID0gdHJ1ZTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICB9CisgICAgICAgIAorCiAgICAgICAgIHRlc3RzLmFwcGVuZChhcmd2W2ldKTsKICAg
ICB9CiAKQEAgLTEyNDYsNiArMTI1MywxMyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJn
dltdKQogICAgIHN0YW5kYXJkUHJlZmVyZW5jZXMtPnNldEphdmFTY3JpcHRFbmFibGVkKFRSVUUp
OwogICAgIHN0YW5kYXJkUHJlZmVyZW5jZXMtPnNldERlZmF1bHRGb250U2l6ZSgxNik7CiAKKyAg
ICBpZiAocHJpbnRTdXBwb3J0ZWRGZWF0dXJlcykgeworICAgICAgICBCT09MIGFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdBdmFpbGFibGU7CisgICAgICAgIHN0YW5kYXJkUHJlZmVyZW5jZXMtPmFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCZhY2NlbGVyYXRlZENvbXBvc2l0aW5nQXZhaWxhYmxl
KTsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJTdXBwb3J0ZWRGZWF0dXJlczolc1xuIiwgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0F2YWlsYWJsZSA/ICJBY2NlbGVyYXRlZENvbXBvc2l0aW5nIiA6
ICIiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiAgICAgQ09NUHRyPElXZWJWaWV3PiB3
ZWJWaWV3KEFkb3B0Q09NLCBjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KCZ3ZWJWaWV3
V2luZG93KSk7CiAgICAgaWYgKCF3ZWJWaWV3KQogICAgICAgICByZXR1cm4gLTE7CkluZGV4OiBX
ZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCShyZXZpc2lvbiA1NTAzMikKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAtNDQ0LDEz
ICs0NDQsMjEgQEAgaWYgKCEkdGVzdE1lZGlhKSB7CiAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3sn
aHR0cC90ZXN0cy9tZWRpYSd9ID0gMTsKIH0KIAotaWYgKCFjaGVja1dlYkNvcmVGZWF0dXJlU3Vw
cG9ydCgiQWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCAwKSkgeworaWYgKGlzQ3lnd2luKCkpIHsK
KyAgICBteSAkY21kID0gJGR1bXBUb29sIC4gIiAtLXByaW50LXN1cHBvcnRlZC1mZWF0dXJlcyAy
PiYxIjsKKyAgICBteSAkcmVzdWx0ID0gYCRjbWQgMj4mMWA7CisgICAgaWYgKCEoJHJlc3VsdCA9
fiBtL0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcvKSkgeworICAgICAgICAkaWdub3JlZERpcmVjdG9y
aWVzeydjb21wb3NpdGluZyd9ID0gMTsKKyAgICAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3snYW5p
bWF0aW9ucy8zZCd9ID0gMTsKKyAgICAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3sndHJhbnNmb3Jt
cy8zZCd9ID0gMTsKKyAgICB9Cit9IGVsc2lmICghY2hlY2tXZWJDb3JlRmVhdHVyZVN1cHBvcnQo
IkFjY2VsZXJhdGVkQ29tcG9zaXRpbmciLCAwKSkgewogICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7
J2NvbXBvc2l0aW5nJ30gPSAxOwotfQogCi1pZiAoIWNoZWNrV2ViQ29yZUZlYXR1cmVTdXBwb3J0
KCIzRCBSZW5kZXJpbmciLCAwKSkgewotICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7J2FuaW1hdGlv
bnMvM2QnfSA9IDE7Ci0gICAgJGlnbm9yZWREaXJlY3Rvcmllc3sndHJhbnNmb3Jtcy8zZCd9ID0g
MTsKKyAgICBpZiAoIWNoZWNrV2ViQ29yZUZlYXR1cmVTdXBwb3J0KCIzRCBSZW5kZXJpbmciLCAw
KSkgeworICAgICAgICAkaWdub3JlZERpcmVjdG9yaWVzeydhbmltYXRpb25zLzNkJ30gPSAxOwor
ICAgICAgICAkaWdub3JlZERpcmVjdG9yaWVzeyd0cmFuc2Zvcm1zLzNkJ30gPSAxOworICAgIH0K
IH0KIAogaWYgKCFjaGVja1dlYkNvcmVGZWF0dXJlU3VwcG9ydCgiM0QgQ2FudmFzIiwgMCkpIHsK
SW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0JKHJldmlzaW9uIDU1MDMyKQorKysgV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCSh3b3JraW5nIGNvcHkpCkBAIC01NjIsNyAr
NTYyLDcgQEAgc3ViIGJ1aWx0RHlsaWJQYXRoRm9yTmFtZQogICAgICAgICByZXR1cm4gIiRjb25m
aWd1cmF0aW9uUHJvZHVjdERpci8kbGlicmFyeU5hbWUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvJGxp
YnJhcnlOYW1lIjsKICAgICB9CiAgICAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgewotICAgICAg
ICBpZiAoJGxpYnJhcnlOYW1lIGVxICJKYXZhU2NyaXB0Q29yZSIpIHsKKyAgICAgICAgaWYgKCRs
aWJyYXJ5TmFtZSBlcSAiSmF2YVNjcmlwdENvcmUiIG9yICRsaWJyYXJ5TmFtZSBlcSAiV2ViQ29y
ZSIpIHsKICAgICAgICAgICAgIHJldHVybiAiJGJhc2VQcm9kdWN0RGlyL2xpYi8kbGlicmFyeU5h
bWUubGliIjsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHJldHVybiAiJGJhc2VQcm9k
dWN0RGlyLyRsaWJyYXJ5TmFtZS5pbnRlcm1lZGlhdGUvJGNvbmZpZ3VyYXRpb24vJGxpYnJhcnlO
YW1lLmludGVybWVkaWF0ZS8kbGlicmFyeU5hbWUubGliIjsKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1
NDMxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTAtMDMtMDIgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZhaWxp
bmcgV2luZG93cyBjb21wb3NpdGluZyB0ZXN0cyB0byBTa2lwcGVkIGZpbGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NjEwCisgICAgICAgIAorICAg
ICAgICBJIGFjdHVhbGx5IHJlbW92ZWQgdHJhbnNmb3Jtcy8zZCAod2hpY2ggYWxsIG5vdyB3b3Jr
KSBhbmQKKyAgICAgICAgY29tcG9zaXRpbmcgZnJvbSB0aGUgU2tpcHBlZCBmaWxlIGFuZCByZXBs
YWNlZCB3aXRoIHRoZSAKKyAgICAgICAgdGVzdHMgdGhhdCBhcmUgbm90IHlldCB3b3JraW5nLgor
CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDMtMDIgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBS
b2Jlbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA1NTAzMikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC02ODks
OSArNjg5LDE5IEBAIGZhc3QvbXVsdGljb2wvc2luZ2xlLWxpbmUuaHRtbAogIyBOZWVkIHRvIGFk
ZCBmdW5jdGlvbmFsaXR5IHRvIER1bXBSZW5kZXJUcmVlIHRvIGhhbmRsZSBlcnJvciBwYWdlcwog
ZmFzdC9oaXN0b3J5L2JhY2stZm9yd2FyZC1yZXNldC1hZnRlci1lcnJvci1oYW5kbGluZy5odG1s
CiAKLSMgVGVzdHMgcmVxdWlyaW5nIDNEX1JFTkRFUklORyBhbmQgQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcgc3VwcG9ydAotdHJhbnNmb3Jtcy8zZAotY29tcG9zaXRpbmcKKyMgQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcgdGVzdHMgdGhhdCBjcmFzaAorY29tcG9zaXRpbmcvbGF5ZXJzLWluc2lkZS1v
dmVyZmxvdy1zY3JvbGwuaHRtbAorY29tcG9zaXRpbmcvc2VsZi1wYWludGluZy1sYXllcnMuaHRt
bAorY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcHBlZC12aWRlby1jb250cm9sbGVyLmh0bWwKK2Nv
bXBvc2l0aW5nL2dlb21ldHJ5L3ZpZGVvLWZpeGVkLXNjcm9sbGluZy5odG1sCitjb21wb3NpdGlu
Zy9nZW9tZXRyeS92aWRlby1vcGFjaXR5LW92ZXJsYXkuaHRtbAorY29tcG9zaXRpbmcvb3ZlcmZs
b3cvc2Nyb2xsLWFuY2VzdG9yLXVwZGF0ZS5odG1sCitjb21wb3NpdGluZy9yZWZsZWN0aW9ucy9s
b2FkLXZpZGVvLWluLXJlZmxlY3Rpb24uaHRtbAorY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tYmFj
a2dyb3VuZC1jb2xvci5odG1sCisKKyMgQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgdGVzdHMgdGhh
dCBoYXZlIGluY29ycmVjdCBsYXlvdXQKK2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLWJhY2tncm91
bmQtY29sb3IuaHRtbAorY29tcG9zaXRpbmcvd2ViZ2wvd2ViZ2wtcmVmbGVjdGlvbi5odG1sCiAK
ICMgdmFsaWRhdGlvbk1lc3NhZ2U6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNzk1OQogZmFzdC9mb3Jtcy92YWxpZGF0aW9uTWVzc2FnZS5odG1sCg==
</data>
<flag name="review"
          id="32836"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49863</attachid>
            <date>2010-03-02 16:13:18 -0800</date>
            <delta_ts>2010-03-02 18:23:32 -0800</delta_ts>
            <desc>Replacement patch</desc>
            <filename>35610.patch</filename>
            <type>text/plain</type>
            <size>6634</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA1NTQzNykKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDMtMDIgIENocmlzIE1hcnJpbiAgPGNtYXJy
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEV4cG9ydCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nIGZsYWcgaW4gSVdlYlByZWZlcmVu
Y2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2
MTAKKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDoKKwogMjAxMC0w
My0wMiAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIElXZWJW
aWV3UHJpdmF0ZTo6cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZQpJbmRleDogV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHJldmlzaW9uIDU1MDMyKQorKysgV2ViS2l0
L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE4
Niw0ICsxODYsNyBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzIDogSVVua25vd24KIAogICAg
IEhSRVNVTFQgc2V0Wm9vbXNUZXh0T25seShCT09MIHpvb21zVGV4dE9ubHkpOwogICAgIEhSRVNV
TFQgem9vbXNUZXh0T25seShCT09MICp6b29tc1RleHRPbmx5KTsKKworICAgIEhSRVNVTFQgc2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoQk9PTCBhY2NlbGVyYXRlZENvbXBvc2l0aW5n
RW5hYmxlZCk7CisgICAgSFJFU1VMVCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChCT09M
ICphY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCk7CiB9CkluZGV4OiBXZWJLaXRUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
NTQzNykKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE5IEBACisyMDEwLTAzLTAyICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhYmls
aXR5IHRvIHByaW50IHN1cHBvcnRlZCBmZWF0dXJlcyB0byBjb25zb2xlIHRvIERSVAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTAKKyAgICAgICAg
CisgICAgICAgIFRoaXMgY3VycmVudGx5IG9ubHkgcHJpbnRzIHdoZXRoZXIgb3Igbm90IEFjY2Vs
ZXJhdGVkIENvbXBvc2l0aW5nIGlzIAorICAgICAgICBzdXBwb3J0ZWQsIHdoaWNoIGlzIHRoZSBv
bmx5IHdheSB0byB0ZWxsIGlmIHlvdSBjYW4gcnVuIHRoZQorICAgICAgICBjb21wb3NpdGluZyBM
YXlvdXRUZXN0cyBvbiBXaW5kb3dzLiBCdXQgaXQgY2FuIGJlIGV4cGFuZGVkIHRvIGdpdmUKKyAg
ICAgICAgbW9yZSBpbmZvcm1hdGlvbiBhcyBuZWVkZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOkFkZGVkIC0tcHJpbnQtc3VwcG9ydGVkLWZlYXR1
cmVzIGZsYWcKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmtpdC10
ZXN0czpSdW5zIERSVCBhbmQgZW5hYmxlZCBjb21wb3NpdGluZyB0ZXN0cyBpZiBIVyBjb21wIGlz
IGF2YWlsYWJsZSBvbiBXaW5kb3dzCisKIDIwMTAtMDMtMDIgIERpcmsgUHJhbmtlICA8ZHByYW5r
ZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJ
bmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCShyZXZpc2lvbiA1NTAzMikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDcgQEAgc3Rh
dGljIGJvb2wgcHJpbnRTZXBhcmF0b3JzOwogc3RhdGljIGJvb2wgbGVha0NoZWNraW5nID0gZmFs
c2U7CiBzdGF0aWMgYm9vbCB0aHJlYWRlZCA9IGZhbHNlOwogc3RhdGljIGJvb2wgZm9yY2VDb21w
bGV4VGV4dCA9IGZhbHNlOworc3RhdGljIGJvb2wgcHJpbnRTdXBwb3J0ZWRGZWF0dXJlcyA9IGZh
bHNlOwogc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcGVyc2lzdGVudFVzZXJTdHlsZVNo
ZWV0TG9jYXRpb247CiAKIHZvbGF0aWxlIGJvb2wgZG9uZTsKQEAgLTEyMjIsNiArMTIyMywxMSBA
QCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0cmljbXAoYXJndltpXSwgIi0tcHJpbnQtc3Vw
cG9ydGVkLWZlYXR1cmVzIikpIHsKKyAgICAgICAgICAgIHByaW50U3VwcG9ydGVkRmVhdHVyZXMg
PSB0cnVlOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKwogICAgICAgICB0ZXN0
cy5hcHBlbmQoYXJndltpXSk7CiAgICAgfQogCkBAIC0xMjQ2LDYgKzEyNTIsMTMgQEAgaW50IG1h
aW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBzdGFuZGFyZFByZWZlcmVuY2VzLT5zZXRK
YXZhU2NyaXB0RW5hYmxlZChUUlVFKTsKICAgICBzdGFuZGFyZFByZWZlcmVuY2VzLT5zZXREZWZh
dWx0Rm9udFNpemUoMTYpOwogCisgICAgaWYgKHByaW50U3VwcG9ydGVkRmVhdHVyZXMpIHsKKyAg
ICAgICAgQk9PTCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nQXZhaWxhYmxlOworICAgICAgICBzdGFu
ZGFyZFByZWZlcmVuY2VzLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgmYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0F2YWlsYWJsZSk7CisgICAgICAgIHByaW50ZigiU3VwcG9ydGVkRmVhdHVy
ZXM6JXNcbiIsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFibGUgPyAiQWNjZWxlcmF0ZWRD
b21wb3NpdGluZyIgOiAiIik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwogICAgIENPTVB0
cjxJV2ViVmlldz4gd2ViVmlldyhBZG9wdENPTSwgY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldp
bmRvdygmd2ViVmlld1dpbmRvdykpOwogICAgIGlmICghd2ViVmlldykKICAgICAgICAgcmV0dXJu
IC0xOwpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwkocmV2aXNpb24gNTUw
MzIpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0NCwxMyArNDQ0LDIxIEBAIGlmICghJHRlc3RNZWRpYSkgewogICAgICRpZ25vcmVk
RGlyZWN0b3JpZXN7J2h0dHAvdGVzdHMvbWVkaWEnfSA9IDE7CiB9CiAKLWlmICghY2hlY2tXZWJD
b3JlRmVhdHVyZVN1cHBvcnQoIkFjY2VsZXJhdGVkIENvbXBvc2l0aW5nIiwgMCkpIHsKK2lmIChp
c0N5Z3dpbigpKSB7CisgICAgbXkgJGNtZCA9ICRkdW1wVG9vbCAuICIgLS1wcmludC1zdXBwb3J0
ZWQtZmVhdHVyZXMgMj4mMSI7CisgICAgbXkgJHJlc3VsdCA9IGAkY21kIDI+JjFgOworICAgIGlm
ICgkcmVzdWx0ICF+IC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nLykgeworICAgICAgICAkaWdub3Jl
ZERpcmVjdG9yaWVzeydjb21wb3NpdGluZyd9ID0gMTsKKyAgICAgICAgJGlnbm9yZWREaXJlY3Rv
cmllc3snYW5pbWF0aW9ucy8zZCd9ID0gMTsKKyAgICAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3sn
dHJhbnNmb3Jtcy8zZCd9ID0gMTsKKyAgICB9Cit9IGVsc2lmICghY2hlY2tXZWJDb3JlRmVhdHVy
ZVN1cHBvcnQoIkFjY2VsZXJhdGVkIENvbXBvc2l0aW5nIiwgMCkpIHsKICAgICAkaWdub3JlZERp
cmVjdG9yaWVzeydjb21wb3NpdGluZyd9ID0gMTsKLX0KIAotaWYgKCFjaGVja1dlYkNvcmVGZWF0
dXJlU3VwcG9ydCgiM0QgUmVuZGVyaW5nIiwgMCkpIHsKLSAgICAkaWdub3JlZERpcmVjdG9yaWVz
eydhbmltYXRpb25zLzNkJ30gPSAxOwotICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7J3RyYW5zZm9y
bXMvM2QnfSA9IDE7CisgICAgaWYgKCFjaGVja1dlYkNvcmVGZWF0dXJlU3VwcG9ydCgiM0QgUmVu
ZGVyaW5nIiwgMCkpIHsKKyAgICAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3snYW5pbWF0aW9ucy8z
ZCd9ID0gMTsKKyAgICAgICAgJGlnbm9yZWREaXJlY3Rvcmllc3sndHJhbnNmb3Jtcy8zZCd9ID0g
MTsKKyAgICB9CiB9CiAKIGlmICghY2hlY2tXZWJDb3JlRmVhdHVyZVN1cHBvcnQoIjNEIENhbnZh
cyIsIDApKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTQzNykKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTAzLTAyICBDaHJpcyBN
YXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmYWlsaW5nIFdpbmRvd3MgY29tcG9zaXRpbmcgdGVz
dHMgdG8gU2tpcHBlZCBmaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNTYxMAorICAgICAgICAKKyAgICAgICAgSSBhY3R1YWxseSByZW1vdmVkIHRy
YW5zZm9ybXMvM2QgKHdoaWNoIGFsbCBub3cgd29yaykgYW5kCisgICAgICAgIGNvbXBvc2l0aW5n
IGZyb20gdGhlIFNraXBwZWQgZmlsZSBhbmQgcmVwbGFjZWQgd2l0aCB0aGUgCisgICAgICAgIHRl
c3RzIHRoYXQgYXJlIG5vdCB5ZXQgd29ya2luZy4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9T
a2lwcGVkOgorCiAyMDEwLTAzLTAyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA1NTAzMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC02ODksOSArNjg5LDE5IEBAIGZhc3QvbXVsdGlj
b2wvc2luZ2xlLWxpbmUuaHRtbAogIyBOZWVkIHRvIGFkZCBmdW5jdGlvbmFsaXR5IHRvIER1bXBS
ZW5kZXJUcmVlIHRvIGhhbmRsZSBlcnJvciBwYWdlcwogZmFzdC9oaXN0b3J5L2JhY2stZm9yd2Fy
ZC1yZXNldC1hZnRlci1lcnJvci1oYW5kbGluZy5odG1sCiAKLSMgVGVzdHMgcmVxdWlyaW5nIDNE
X1JFTkRFUklORyBhbmQgQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgc3VwcG9ydAotdHJhbnNmb3Jt
cy8zZAotY29tcG9zaXRpbmcKKyMgQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgdGVzdHMgdGhhdCBj
cmFzaAorY29tcG9zaXRpbmcvbGF5ZXJzLWluc2lkZS1vdmVyZmxvdy1zY3JvbGwuaHRtbAorY29t
cG9zaXRpbmcvc2VsZi1wYWludGluZy1sYXllcnMuaHRtbAorY29tcG9zaXRpbmcvZ2VvbWV0cnkv
Y2xpcHBlZC12aWRlby1jb250cm9sbGVyLmh0bWwKK2NvbXBvc2l0aW5nL2dlb21ldHJ5L3ZpZGVv
LWZpeGVkLXNjcm9sbGluZy5odG1sCitjb21wb3NpdGluZy9nZW9tZXRyeS92aWRlby1vcGFjaXR5
LW92ZXJsYXkuaHRtbAorY29tcG9zaXRpbmcvb3ZlcmZsb3cvc2Nyb2xsLWFuY2VzdG9yLXVwZGF0
ZS5odG1sCitjb21wb3NpdGluZy9yZWZsZWN0aW9ucy9sb2FkLXZpZGVvLWluLXJlZmxlY3Rpb24u
aHRtbAorY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tYmFja2dyb3VuZC1jb2xvci5odG1sCisKKyMg
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcgdGVzdHMgdGhhdCBoYXZlIGluY29ycmVjdCBsYXlvdXQK
K2NvbXBvc2l0aW5nL3dlYmdsL3dlYmdsLWJhY2tncm91bmQtY29sb3IuaHRtbAorY29tcG9zaXRp
bmcvd2ViZ2wvd2ViZ2wtcmVmbGVjdGlvbi5odG1sCiAKICMgdmFsaWRhdGlvbk1lc3NhZ2U6IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzk1OQogZmFzdC9mb3Jtcy92
YWxpZGF0aW9uTWVzc2FnZS5odG1sCg==
</data>
<flag name="review"
          id="32849"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49937</attachid>
            <date>2010-03-03 13:22:00 -0800</date>
            <delta_ts>2010-03-03 13:54:45 -0800</delta_ts>
            <desc>Additional Patch</desc>
            <filename>35610-2.patch</filename>
            <type>text/plain</type>
            <size>3218</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU1NDcxKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDMtMDMgIENocmlzIE1hcnJpbiAgPGNt
YXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGl0aW9uYWwgY2hhbmdlIHRvIHNlcGFyYXRlIEFjY2VsZXJhdGVkIENvbXBv
c2l0aW5nIHRlc3QgZnJvbSAzRCBSZW5kZXJpbmcgdGVzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MTAKKyAgICAgICAgCisgICAgICAgIEkgYW0g
bm93IHVzaW5nICNpZiBFTkFCTEVEKDNEX1JFTkRFUklORykgdG8gZW1pdCB0aGUgM0RSZW5kZXJp
bmcgc3RyaW5nIGZyb20KKyAgICAgICAgRFJUIG9yIG5vdC4gVGhpcyBhbGxvd3MgdGhlc2UgZmxh
Z3MgdG8gc2V0IGluZGVwZW5kZW50bHkuIEkgYWxzbyBpbXByb3ZlZAorICAgICAgICB0aGUgY29k
ZSBmbG93IGluIHJ1bi13ZWJraXQtdGVzdHMgYSBiaXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICog
U2NyaXB0cy9ydW4td2Via2l0LXRlc3RzOgorCiAyMDEwLTAzLTAzICBDaHJpcyBNYXJyaW4gIDxj
bWFycmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCklu
ZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAJKHJldmlzaW9uIDU1NDY3KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1NSw3ICsxMjU1LDE0IEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgaWYgKHByaW50U3VwcG9ydGVk
RmVhdHVyZXMpIHsKICAgICAgICAgQk9PTCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nQXZhaWxhYmxl
OwogICAgICAgICBzdGFuZGFyZFByZWZlcmVuY2VzLT5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5h
YmxlZCgmYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0F2YWlsYWJsZSk7Ci0gICAgICAgIHByaW50Zigi
U3VwcG9ydGVkRmVhdHVyZXM6JXNcbiIsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdBdmFpbGFibGUg
PyAiQWNjZWxlcmF0ZWRDb21wb3NpdGluZywgM0RSZW5kZXJpbmciIDogIiIpOworICAgICAgICBC
T09MIHRocmVlRFJlbmRlcmluZ0F2YWlsYWJsZSA9IAorI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcp
CisgICAgICAgICAgICB0cnVlOworI2Vsc2UKKyAgICAgICAgICAgIGZhbHNlOworI2VuZGlmCisK
KyAgICAgICAgcHJpbnRmKCJTdXBwb3J0ZWRGZWF0dXJlczolcyAlc1xuIiwgYWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0F2YWlsYWJsZSA/ICJBY2NlbGVyYXRlZENvbXBvc2l0aW5nIiA6ICIiLCB0aHJl
ZURSZW5kZXJpbmdBdmFpbGFibGUgPyAiM0RSZW5kZXJpbmciIDogIiIpOwogICAgICAgICByZXR1
cm4gMDsKICAgICB9CiAKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMJKHJl
dmlzaW9uIDU1NDY3KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCSh3
b3JraW5nIGNvcHkpCkBAIC00NjIsMjEgKzQ2MiwyMiBAQCBpZiAoaXNDeWd3aW4oKSkgewogICAg
ICRzdXBwb3J0ZWRGZWF0dXJlc1Jlc3VsdCA9IGAkc3VwcG9ydGVkRmVhdHVyZXNDb21tYW5kIDI+
JjFgOwogfQogCi0jIENoZWNrIGZvciBhY2VsZXJhdGVkIGNvbXBvc2l0aW5nIHN1cHBvcnQKK215
ICRoYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nID0gMDsKK215ICRoYXMzRFJlbmRlcmluZyA9IDA7
CisKIGlmIChpc0N5Z3dpbigpKSB7Ci0gICAgaWYgKCRzdXBwb3J0ZWRGZWF0dXJlc1Jlc3VsdCAh
fiAvQWNjZWxlcmF0ZWRDb21wb3NpdGluZy8pIHsKLSAgICAgICAgJGlnbm9yZWREaXJlY3Rvcmll
c3snY29tcG9zaXRpbmcnfSA9IDE7Ci0gICAgfQotfSBlbHNpZiAoIWNoZWNrV2ViQ29yZUZlYXR1
cmVTdXBwb3J0KCJBY2NlbGVyYXRlZCBDb21wb3NpdGluZyIsIDApKSB7CisgICAgJGhhc0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmcgPSAkc3VwcG9ydGVkRmVhdHVyZXNSZXN1bHQgPX4gL0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmcvOworICAgICRoYXMzRFJlbmRlcmluZyA9ICRzdXBwb3J0ZWRGZWF0dXJl
c1Jlc3VsdCA9fiAvM0RSZW5kZXJpbmcvOworfSBlbHNlIHsKKyAgICAkaGFzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZyA9IGNoZWNrV2ViQ29yZUZlYXR1cmVTdXBwb3J0KCJBY2NlbGVyYXRlZCBDb21w
b3NpdGluZyIsIDApOworICAgICRoYXMzRFJlbmRlcmluZyA9IGNoZWNrV2ViQ29yZUZlYXR1cmVT
dXBwb3J0KCIzRCBSZW5kZXJpbmciLCAwKTsKK30KKworaWYgKCEkaGFzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZykgewogICAgICRpZ25vcmVkRGlyZWN0b3JpZXN7J2NvbXBvc2l0aW5nJ30gPSAxOwog
fQogCi1pZiAoaXNDeWd3aW4oKSkgewotICAgIGlmICgkc3VwcG9ydGVkRmVhdHVyZXNSZXN1bHQg
IX4gLzNEUmVuZGVyaW5nLykgewotICAgICAgICAkaWdub3JlZERpcmVjdG9yaWVzeydhbmltYXRp
b25zLzNkJ30gPSAxOwotICAgICAgICAkaWdub3JlZERpcmVjdG9yaWVzeyd0cmFuc2Zvcm1zLzNk
J30gPSAxOwotICAgIH0KLX0gZWxzaWYgKCFjaGVja1dlYkNvcmVGZWF0dXJlU3VwcG9ydCgiM0Qg
UmVuZGVyaW5nIiwgMCkpIHsKK2lmICghJGhhczNEUmVuZGVyaW5nKSB7CiAgICAgJGlnbm9yZWRE
aXJlY3Rvcmllc3snYW5pbWF0aW9ucy8zZCd9ID0gMTsKICAgICAkaWdub3JlZERpcmVjdG9yaWVz
eyd0cmFuc2Zvcm1zLzNkJ30gPSAxOwogfQo=
</data>
<flag name="review"
          id="32939"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>