     * @param hashTypes Array of boolean, may not be null. Each boolean value specifies if the RSL to be
     *                  loaded is a signed or unsigned RSL. If the value is true the RSL is signed. 
     *                  If the value is false the RSL is unsigned.
-    */	
-	public function CrossDomainRSLItem(rslUrls:Array,
-							 policyFileUrls:Array, 
-							 digests:Array,
-							 hashTypes:Array,
-							 isSigned:Array)
-	{
-		super(rslUrls[0]);
-		
-		this.rslUrls = rslUrls;
-		this.policyFileUrls = policyFileUrls;
-		this.digests = digests;
-		this.hashTypes = hashTypes;
-		this.isSigned = isSigned;
-	}
-
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden Methods
-	//
-	//--------------------------------------------------------------------------
-	
-    
-	/**
-	 * 
-	 * Load an RSL. 
+    */  
+    public function CrossDomainRSLItem(rslUrls:Array,
+                             policyFileUrls:Array, 
+                             digests:Array,
+                             hashTypes:Array,
+                             isSigned:Array)
+    {
+        super(rslUrls[0]);
+        
+        this.rslUrls = rslUrls;
+        this.policyFileUrls = policyFileUrls;
+        this.digests = digests;
+        this.hashTypes = hashTypes;
+        this.isSigned = isSigned;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //--------------------------------------------------------------------------
+    
+    
+    /**
+     * 
+     * Load an RSL. 
     * 
     * @param progressHandler       receives ProgressEvent.PROGRESS events, may be null
     * @param completeHandler       receives Event.COMPLETE events, may be null
-    * @param ioErrorHandler	       receives IOErrorEvent.IO_ERROR events, may be null
+    * @param ioErrorHandler        receives IOErrorEvent.IO_ERROR events, may be null
     * @param securityErrorHandler  receives SecurityErrorEvent.SECURITY_ERROR events, may be null
-    * @param rslErrorHandler  	   receives RSLEvent.RSL_ERROR events, may be null
+    * @param rslErrorHandler       receives RSLEvent.RSL_ERROR events, may be null
     * 
-	*/
-	override public function load(progressHandler:Function,
-	                              completeHandler:Function,
-            	                  ioErrorHandler:Function,
-	                              securityErrorHandler:Function,
-	                              rslErrorHandler:Function):void 
-    {
-	    chainedProgressHandler = progressHandler;
-	    chainedCompleteHandler = completeHandler;
-	    chainedIOErrorHandler = ioErrorHandler;
-	    chainedSecurityErrorHandler = securityErrorHandler;
-	    chainedRSLErrorHandler = rslErrorHandler;
+    */
+    override public function load(progressHandler:Function,
+                                  completeHandler:Function,
+                                  ioErrorHandler:Function,
+                                  securityErrorHandler:Function,
+                                  rslErrorHandler:Function):void 
+    {
+        chainedProgressHandler = progressHandler;
+        chainedCompleteHandler = completeHandler;
+        chainedIOErrorHandler = ioErrorHandler;
+        chainedSecurityErrorHandler = securityErrorHandler;
+        chainedRSLErrorHandler = rslErrorHandler;
 
 
 /*      
         // Debug loading of swf files
 
         trace("begin load of " + url);
-				if (Security.sandboxType == Security.REMOTE)
-		{
-			trace(" in REMOTE sandbox");	
-		}
-		else if (Security.sandboxType == Security.LOCAL_TRUSTED)
-		{
-			trace(" in LOCAL_TRUSTED sandbox");					
-		}
-		else if (Security.sandboxType == Security.LOCAL_WITH_FILE)
-		{
-			trace(" in LOCAL_WITH_FILE sandbox");					
-		}
-		else if (Security.sandboxType == Security.LOCAL_WITH_NETWORK)
-		{
-			trace(" in LOCAL_WITH_NETWORK sandbox");					
-		}
+                if (Security.sandboxType == Security.REMOTE)
+        {
+            trace(" in REMOTE sandbox");    
+        }
+        else if (Security.sandboxType == Security.LOCAL_TRUSTED)
+        {
+            trace(" in LOCAL_TRUSTED sandbox");                 
+        }
+        else if (Security.sandboxType == Security.LOCAL_WITH_FILE)
+        {
+            trace(" in LOCAL_WITH_FILE sandbox");                   
+        }
+        else if (Security.sandboxType == Security.LOCAL_WITH_NETWORK)
+        {
+            trace(" in LOCAL_WITH_NETWORK sandbox");                    
+        }
 */
 
-		urlRequest = new URLRequest(rslUrls[urlIndex]);
-		var loader:URLLoader = new URLLoader();
-		loader.dataFormat = URLLoaderDataFormat.BINARY;
-
-		// We needs to listen to certain events.
-			
-		loader.addEventListener(
-			ProgressEvent.PROGRESS, itemProgressHandler);
-			
-		loader.addEventListener(
-			Event.COMPLETE, itemCompleteHandler);
-			
-		loader.addEventListener(
-			IOErrorEvent.IO_ERROR, itemErrorHandler);
-			
-		loader.addEventListener(
-			SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler);
-
-		if (policyFileUrls.length > urlIndex &&
-			policyFileUrls[urlIndex] != "")
-		{
-			Security.loadPolicyFile(policyFileUrls[urlIndex]);
-		}
-		
-		if (isSigned[urlIndex])
-		{
-		    if (urlRequest.hasOwnProperty("digest"))
-		    {
-    		    // load a signed rsl by specifying the digest
-	    	    urlRequest.digest = digests[urlIndex];
-		    }
-		    else if (hasFailover()) 		    
-		    {
-		        loadFailover();
-		        return;
-		    }
-    		else
-    		{
+        urlRequest = new URLRequest(rslUrls[urlIndex]);
+        var loader:URLLoader = new URLLoader();
+        loader.dataFormat = URLLoaderDataFormat.BINARY;
+
+        // We needs to listen to certain events.
+            
+        loader.addEventListener(
+            ProgressEvent.PROGRESS, itemProgressHandler);
+            
+        loader.addEventListener(
+            Event.COMPLETE, itemCompleteHandler);
+            
+        loader.addEventListener(
+            IOErrorEvent.IO_ERROR, itemErrorHandler);
+            
+        loader.addEventListener(
+            SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler);
+
+        if (policyFileUrls.length > urlIndex &&
+            policyFileUrls[urlIndex] != "")
+        {
+            Security.loadPolicyFile(policyFileUrls[urlIndex]);
+        }
+        
+        if (isSigned[urlIndex])
+        {
+            if (urlRequest.hasOwnProperty("digest"))
+            {
+                // load a signed rsl by specifying the digest
+                urlRequest.digest = digests[urlIndex];
+            }
+            else if (hasFailover())             
+            {
+                loadFailover();
+                return;
+            }
+            else
+            {
                 // B Feature: externalize error message
                 var rslError:ErrorEvent = new ErrorEvent(RSLEvent.RSL_ERROR);
                 rslError.text = "Flex Error #1002: Flash Player 9.0.60 and above is required to support signed RSLs. Problem occurred when trying to load the RSL " +

                }
            }
            else
			{
                // signed rsls are verified by the player
                verifiedDigest = true;
            }		    
            
            if (!verifiedDigest)
            {

                                ".  Upgrade your Flash Player and try again.";
                super.itemErrorHandler(rslError);
                return;
            }
        }
        loader.load(urlRequest);
    }
    
    

    //--------------------------------------------------------------------------
    //
    //  Methods
    //
    //--------------------------------------------------------------------------
    
    /**
     *  @private
     *  Complete the load of the cross-domain rsl by loading it into the current
     *  application domain. The load was started by loadCdRSL.
     * 
     *  @param - urlLoader from the complete event.
     * 
     *  @return - true if the load was completed successfully or unsuccessfully, 
     *            false if the load of a failover rsl was started
     */
    private function completeCdRslLoad(urlLoader:URLLoader):Boolean
    {
        // handle player bug #204244, complete event without data after an error
        if (urlLoader == null || urlLoader.data == null || ByteArray(urlLoader.data).bytesAvailable == 0)
        {
            return true;
        }
        
        // load the bytes into the current application domain.
        var loader:Loader = new Loader();
        var context:LoaderContext = new LoaderContext();
        context.applicationDomain = ApplicationDomain.currentDomain;
        context.securityDomain = null;
        
        // If the AIR flag is available then set it to true so we can
        // load the RSL without a security error.
        if ("allowLoadBytesCodeExecution" in context)
        {
            context["allowLoadBytesCodeExecution"] = true;
        }   
        
        // verify the digest, if any, is correct
        if (digests[urlIndex] != null && String(digests[urlIndex]).length > 0)
        {
            var verifiedDigest:Boolean = false;
            if (!isSigned[urlIndex])
            {
                // verify an unsigned rsl
                if (hashTypes[urlIndex] == SHA256.TYPE_ID)
                {
                    // get the bytes from the rsl and calculate the hash
                    var rslDigest:String = null;
                    if (urlLoader.data != null)
                    {
                        rslDigest = SHA256.computeDigest(urlLoader.data);
                    }

                    if (rslDigest == digests[urlIndex])
                    {
