<?xml version="1.0" encoding="utf-8" ?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
	xmlns:flm="http://ns.adobe.com/flame/2008"
	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="CloseButtonDown" afx:baseClassName="flash.display.Sprite" >
  <Library>
    <Definition name="Window_Assets_Elements_minibutton_down" flm:originalName="Window Assets/Elements/minibutton_down">
      <Group>
        <Group d:type="layer" d:userLabel="background">
          <Group>
            <Path data="M12 0Q14 0 14 2L14 12Q14 14 12 14L2 14Q0 14 0 12L0 2Q0 0 2 0L12 0">
              <fill>
                <SolidColor color="#6F7777"/>
              </fill>
            </Path>
          </Group>
        </Group>
        <Group d:type="layer" d:userLabel="chrome">
          <Group>
            <Path data="M2 13Q1 13 1 12L1 2Q1 1 2 1L12 1Q13 1 13 2L13 12Q13 13 12 13L2 13">
              <fill>
                <LinearGradient x="7" y="1.0125" scaleX="11.975" rotation="90">
                  <GradientEntry ratio="0" color="#C4CCCC"/>
                  <GradientEntry ratio="1" color="#EEEEEE"/>
                </LinearGradient>
              </fill>
            </Path>
          </Group>
        </Group>
        <Group d:type="layer" d:userLabel="highlight">
          <Group>
            <Path data="M12 1.05Q13 1.05 13 2.05L13 3Q12.968359 2.05 12 2.05L7.85 2.05 7.85 2 5.85 2 5.85 2.05 2 2.05Q1.0318359 2.05 1 3L1 2.05Q1 1.05 2 1.05L4 1.05 4 1 10 1 10 1.05 12 1.05">
              <fill>
                <SolidColor color="#FFFFFF"/>
              </fill>
            </Path>
          </Group>
        </Group>
      </Group>
    </Definition>
    <Definition name="Window_Assets_Elements_icon_close" flm:originalName="Window Assets/Elements/icon - close">
      <Group>
        <Group d:type="layer" d:userLabel="Layer 1">
          <Group>
            <Group>
              <Path data="M3 6 3 7 0 7 0 6 3 6">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M3 5 3 6 1 6 1 5 3 5">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M2 7 2 8 1 8 1 7 2 7">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M3 1 3 2 0 2 0 1 3 1">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M3 2 3 3 1 3 1 2 3 2">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M2 0 2 1 1 1 1 0 2 0">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M7 0 7 3 6 3 6 0 7 0">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M8 1 8 2 5 2 5 1 8 1">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M6 2 6 3 5 3 5 2 6 2">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M5 3 5 5 3 5 3 3 5 3">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M7 5 7 7 5 7 5 5 7 5">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M8 6 8 7 7 7 7 6 8 6">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M7 7 7 8 6 8 6 7 7 7">
                <fill>
                  <SolidColor/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M3 5 5 5 5 6 3 6 3 5">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M3 2 5 2 5 3 3 3 3 2">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M6 3 6 5 5 5 5 3 6 3">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M3 3 3 5 2 5 2 3 3 3">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M8 7 8 8 7 8 7 7 8 7">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M8 0 8 1 7 1 7 0 8 0">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M1 0 1 1 0 1 0 0 1 0">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
            <Group>
              <Path data="M1 7 1 8 0 8 0 7 1 7">
                <fill>
                  <SolidColor alpha="0.60000002"/>
                </fill>
              </Path>
            </Group>
          </Group>
        </Group>
      </Group>
    </Definition>
  </Library>
          <Window_Assets_Elements_minibutton_down/>
          <Window_Assets_Elements_icon_close x="3" y="3"/>
  <Private/>
</Graphic>