<?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 flm:originalName="RadioButton/RadioButton_overIcon" version="2.0" afx:className="RadioButton_overIcon" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
  <Group>
    <Group aaa:type="layer" aaa:userLabel="bg" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path y="-1" data="M11.1 11.1Q9.2 13 6.5 13 3.8 13 1.9 11.1 0 9.2 0 6.5 0 3.8 1.9 1.9 3.8 0 6.5 0 9.2 0 11.1 1.9 13 3.8 13 6.5 13 9.2 11.1 11.1">
        <fill>
          <LinearGradient x="6.475" y="13" scaleX="13.000096" rotation="270.22037">
            <GradientEntry ratio="0" color="#7B7C7B" alpha="0.90196078"/>
            <GradientEntry ratio="1" color="#BFBFBF" alpha="0.95294118"/>
          </LinearGradient>
        </fill>
      </Path>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="fg" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path y="-1" data="M11.5 6.5Q11.5 8.6 10.05 10.05 8.6 11.5 6.5 11.5 4.4 11.5 2.95 10.05 1.5 8.6 1.5 6.5 1.5 4.45 2.95 3 4.4 1.5 6.5 1.5 8.6 1.5 10.05 3 11.5 4.45 11.5 6.5">
        <fill>
          <LinearGradient x="6.5" y="11.5" scaleX="10" rotation="270">
            <GradientEntry ratio="0" color="#282828"/>
            <GradientEntry ratio="1" color="#6A6B6A"/>
          </LinearGradient>
        </fill>
      </Path>
    </Group>
  </Group>
</Graphic>