<?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.

-->
<project>
  <output>
    <movie disabled="False"/>
    <movie path="bin-debug/BE0005_Creating_a_group_of_Jewel_RadioButtons.swf"/>
    <movie version="11"/>
    <movie input=""/>
    <movie width="800"/>
    <movie height="600"/>
    <movie fps="60"/>
    <movie background="#FFFFFF"/>
    <movie platform="Flash Player"/>
  </output>
  &lt;!-- Other classes to be compiled into your SWF --&gt;
  <classpaths>
    <class path="src/main/royale"/>
  </classpaths>
  <moonshineResourcePaths></moonshineResourcePaths>
  <moonshineNativeExtensionPaths></moonshineNativeExtensionPaths>
  <build>
    <option useResourceBundleMetadata="True"/>
    <option showBindingWarnings="True"/>
    <option warnings="True"/>
    <option es="False"/>
    <option verboseStackTraces="False"/>
    <option additional="-theme=${royalelib}/themes/Jewel-Light-NoFlat-Primary-Blue-Theme/src/main/resources/defaults.css -html-template=src/main/resources/jewel-example-index-template.html"/>
    <option loadConfig=""/>
    <option linkReport=""/>
    <option benchmark="False"/>
    <option optimize="False"/>
    <option showActionScriptWarnings="True"/>
    <option staticLinkRSL="False"/>
    <option locale=""/>
    <option compilerConstants=""/>
    <option showDeprecationWarnings="True"/>
    <option antBuildPath="build/build.xml"/>
    <option showUnusedTypeSelectorWarnings="True"/>
    <option customSDK=""/>
    <option strict="True"/>
    <option accessible="False"/>
    <option useNetwork="True"/>
    <option allowSourcePathOverlap="False"/>
  </build>
  <includeLibraries></includeLibraries>
  <libraryPaths></libraryPaths>
  <externalLibraryPaths></externalLibraryPaths>
  <rslPaths></rslPaths>
  <intrinsics>
    <element path="Library/AS3/frameworks/Flex4"/>
    <element path="Library\AS3\frameworks\Flex4"/>
  </intrinsics>
  <library></library>
  <compileTargets>
    <compile path="src/main/royale/BE0005_Creating_a_group_of_Jewel_RadioButtons.mxml"/>
  </compileTargets>
  <hiddenPaths></hiddenPaths>
  <preBuildCommand>null</preBuildCommand>
  <postBuildCommand alwaysRun="False">null</postBuildCommand>
  <options>
    <option testMovie=""/>
    <option showHiddenPaths="False"/>
    <option testMovieCommand=""/>
    <option defaultBuildTargets=""/>
    <option isPrimeFacesVisualEditor="False"/>
  </options>
  <moonshineRunCustomization>
    <option deviceSimulator="null"/>
    <option targetPlatform="2"/>
    <option launchMethod="Simulator"/>
    <option urlToLaunch=""/>
    <option projectType="2"/>
    <deviceSimulator>null</deviceSimulator>
    <certAndroid>null</certAndroid>
    <certIos>null</certIos>
    <certIosProvisioning>null</certIosProvisioning>
  </moonshineRunCustomization>
</project>