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

	<metadata name="AccessibilityClass" description="%accessibilityClass.help" >

		<context name="class" />

		<attribute name="implementation" type="Class" required="true" hint="classes" hintType="flash.accessibility.AccessibilityImplementation" />

	</metadata>

	<metadata name="Alternative" description="%alternative.help" >

		<context name="class" />

		<attribute name="replacement" type="String" required="true" />
		<attribute name="since" type="String" required="true" />

	</metadata>

	<metadata name="ArrayElementType" description="%arrayElementType.help" >

		<context name="variable" type="Array" />
		<context name="getter" type="Array" />
		<context name="setter" type="Array" />

		<attribute type="Class" required="true" hint="classes" />

	</metadata>

	<metadata name="Bindable" description="%bindable.help" >

		<context name="class" />
		<context name="variable" />
		<context name="method" >
			<attribute name="event" type="String" hint="events" />
		</context>
		<context name="getter" >
			<attribute name="event" type="String" hint="events" />
		</context>
		<context name="setter" >
			<attribute name="event" type="String" hint="events" />
		</context>
		<attribute name="style" type="Boolean" defaultValue="true" hint="boolean" />

	</metadata>

	<metadata name="CollapseWhiteSpace" >

		<context name="variable" type="String" showHint="false" />
		<context name="getter" type="String" showHint="false" />
		<context name="setter" type="String" showHint="false" />

	</metadata>

	<metadata name="DataBindingInfo" >

		<context name="class" showHint="false" />

		<attribute type="String" />
		<attribute type="String" />

	</metadata>

	<metadata name="DefaultBindingProperty" >

		<context name="class" showHint="false" />

		<attribute name="destination" type="String" required="true" hint="properties" />
		<attribute name="source" type="String" hint="properties" />

	</metadata>

	<metadata name="DefaultProperty" description="%defaultProperty.help" >

		<context name="class" />

		<attribute type="String" required="true" hint="properties" />

	</metadata> 	  	  	  	  	  	  	  	  	 

	<metadata name="DefaultTriggerEvent" >

		<context name="class" showHint="false" />
	
		<attribute type="String" required="true" hint="events"/>

	</metadata>

	<metadata name="Deprecated" description="%deprecated.help" >

		<context name="class" />
		<context name="variable" />
		<context name="method" />
		<context name="getter" />
		<context name="setter" />

		<attribute name="message" type="String" />
		<attribute name="replacement" type="String" />
		<attribute name="since" type="String" />

	</metadata>
	
	<metadata name="Effect" >
	
		<context name="class" showHint="false"/>

		<attribute name="name" type="String" required="true"/>
		<attribute name="event" type="String" hint="events" required="true"/>
	
	</metadata>								 

	<metadata name="Embed" description="%embed.help" >

		<context name="class" showHint="false" />
		<context name="variable" />

		<attribute name="source" type="Path" required="true" />
		<attribute name="mimeType" type="String" 
						values="image/gif,image/jpeg,image/png,image/svg,image/svg-xml,application/x-shockwave-flash,audio/mpeg,application/x-font-truetype,application/x-font,application/octet-stream" />
		<attribute name="advancedAntiAliasing" type="Boolean" hint="boolean"  defaultValue="false" />
		<attribute name="compression" type="Boolean"  hint="boolean"  defaultValue="true" />
		<attribute name="embedAsCFF" type="Boolean"  hint="boolean"  defaultValue="true" />
		<attribute name="encoding" type="String"  />
		<attribute name="exportSymbol" type="String"  />
		<attribute name="fontFamily" type="String"  />
		<attribute name="fontName" type="String"  />
		<attribute name="fontStyle" type="String"  />
		<attribute name="fontWeight" type="String"  />
		<attribute name="original" type="String"  />
		<attribute name="quality" type="Number"  />
		<attribute name="scaleGridBottom" type="Number"  />
		<attribute name="scaleGridLeft" type="Number"  />
		<attribute name="scaleGridRight" type="Number"  />
		<attribute name="scaleGridTop" type="Number"  />
		<attribute name="skinClass" type="Class"  />
		<attribute name="smoothing" type="Boolean" hint="boolean"  defaultValue="true" />
		<attribute name="sourceList" type="String"  />
		<attribute name="symbol" type="String"  />
		<attribute name="systemFont" type="String"  />
		<attribute name="unicodeRange" type="String"  />
		<attribute name="flashType" type="Boolean"  />

	</metadata>							 

	<metadata name="Event" description="%event.help" >

		<context name="class" />

		<attribute name="name" type="String" required="true" />
		<attribute name="type" type="Class" defaultValue="flash.events.Event" hint="classes" hintType="flash.events.Event" required="true" />
	</metadata>							 

	<metadata name="Exclude" description="%exclude.help" >

		<context name="class" />
		
		<attribute name="kind" required="true" values="property,style,event,effect,method" />
		<attribute name="name" required="true" />
	
	</metadata>								 

	<metadata name="ExcludeClass" description="%excludeClass.help" >

		<context name="class" />

	</metadata>	 
	
	<metadata name="Frame">

		<context name="class" showHint="false" />

		<attribute name="factoryClass" required="true" hint="classes" />

	</metadata>	 
	
	<metadata name="HostComponent" description="%hostComponent.help" >

		<context name="class" type="spark.components.supportClasses.Skin" />

		<attribute type="Class" hint="classes" hintType="spark.components.supportClasses.SkinnableComponent" required="true" />

	</metadata>	

	<metadata name="IconFile" description="%iconFile.help" >

		<context name="class" />

		<!-- should we have a type Path which can be validated ? -->
		<attribute type="String" required="true" />

	</metadata>	
	
	<metadata name="IMXMLObject">

		<context name="class" showHint="false" />

	</metadata>	 
	

	<metadata name="Inspectable" description="%inspectable.help" >

		<context name="variable" />
		<context name="getter" />
		<context name="setter" />

		<attribute name="arrayType" type="Class" />
		<attribute name="category" type="String" values="Common, Effects, Events, Layout Constraints, Size, Styles, Text, Other" />
		<attribute name="defaultValue" type="Object" />
		<attribute name="enumeration" type="String" />		 
		<attribute name="environment" type="String" />
		<attribute name="format" type="String" />
		<attribute name="maxValue" type="Number" />
		<attribute name="minValue" type="Number" />
		<attribute name="verbose" type="Number" values="0,1"/>
		
		<!-- some attributes seem to be missing from this list : variable, type, name, listOffset -->
		<!-- some attributes seem to be missing from the doc : minValue, maxValue -->

	</metadata>	 

	<metadata name="InstanceType" >

		<context name="variable" type="mx.core.IDeferredInstance" showHint="false"  />
		<context name="getter" type="mx.core.IDeferredInstance"  showHint="false"  />
		<context name="setter" type="mx.core.IDeferredInstance" showHint="false" />
		
		<attribute type="Class" required="true" />

	</metadata>

	<metadata name="Managed" description="%managed.help" >

		<context name="class" />

		<attribute name="destination" type="String" required="true" />

	</metadata> 	 

	<metadata name="Mixin">

		<context name="class" showHint="false" />

	</metadata>	 
	
	<metadata name="NonCommittingChangeEvent" description="%nonCommitingChangeEvent.help" >

		<context name="variable" />
		<context name="getter" />
		<context name="setter" />
	
		<attribute type="String" required="true" hint="events" />

	</metadata> 	  	  	 

	<metadata name="PercentProxy" description="%percentProxy.help" >

		<context name="variable" type="Number" />
		<context name="getter" type="Number" />
		<context name="setter" type="Number" />
		
		<attribute type="String" required="true" hint="properties" />

	</metadata> 	

	<metadata name="RemoteClass" description="%remoteClass.help" >

		<context name="class" />
		
		<!-- Is this is a required attribute ? -->
		<attribute name="alias" type="String" />

	</metadata>	 

	<metadata name="RequiresDataBinding" >

		<context name="class" showHint="false" />
		
		<attribute />

	</metadata> 	  	 

	<metadata name="ResourceBundle" description="%resourceBundle.help" >

		<context name="class" />
		
		<attribute type="String" required="true" />

	</metadata>	

	<metadata name="RichTextContent" description="%richTextContent.help" >

		<context name="variable" type="Object,Array" />
		<context name="getter" type="Object,Array" />
		<context name="setter" type="Object,Array" />

	</metadata>		

	<metadata name="SkinPart" description="%skinPart.help" >

		<context name="variable" />
		<context name="getter" />
		<context name="setter" />
		
		<attribute name="required" type="Boolean" hint="boolean" defaultValue="true" />
		<attribute name="type" type="Class" />

	</metadata>	 

	<metadata name="SkinState" description="%skinState.help" >

		<context name="class" />
		
		<attribute  type="String" required="true" />

	</metadata>	 

	<metadata name="Style" description="%style.help" >

		<context name="class" />
		
		<attribute name="name" type="String" required="true"/>
		<attribute name="arrayType" type="Class" />
		<attribute name="enumeration" type="String" />
		<attribute name="format" values="Boolean, Color, Number, Length, uint, Time, File, EmbeddedFile, int, ICollectionView, Array, Class, String,Object" />
		<attribute name="inherit" values="yes,no" required="true" defaultValue="no" />
		<attribute name="states" type="String" />
		<attribute name="theme" type="String" /> 		 
		<attribute name="type" type="Class" required="true" values="Boolean, Number, uint, Class, String" />
		
	</metadata>

	<metadata name="SWF" description="%swf.help" >

		<context name="Application" projectType="AS" />

		<attribute name="frameRate" type="Number" />  	 
		<attribute name="height" type="Number" />
		<attribute name="heightPercent" type="Number" />		 
		<attribute name="pageTitle" type="String" />
		<attribute name="scriptRecursionLimit" type="Number" />
		<attribute name="scriptTimeLimit" type="Number" />
		<attribute name="width" type="Number" />
		<attribute name="widthPercent" type="Number" />

	</metadata>

	<metadata name="Transient" description="%transient.help" >

		<context name="variable" />
		<context name="getter" />
		<context name="setter" />

	</metadata>

</annotations>

