// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 42;
	objects = {

/* Begin PBXBuildFile section */
		1A1BA1760EF2FB3200754486 /* Composition.qtz in Resources */ = {isa = PBXBuildFile; fileRef = 1A1BA1750EF2FB3200754486 /* Composition.qtz */; };
		1A624E590DCBC7F6006898C8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A624E580DCBC7F6006898C8 /* main.m */; };
		1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A6250410DCBC81B006898C8 /* Cocoa.framework */; };
		1A8C86AA0EF2FB8F003F6E81 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8C86A90EF2FB8F003F6E81 /* Quartz.framework */; };
		1A8C87AA0EF2FBB3003F6E81 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A8C87A90EF2FBB3003F6E81 /* QuartzCore.framework */; };
		8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		1A1BA1750EF2FB3200754486 /* Composition.qtz */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = Composition.qtz; sourceTree = "<group>"; };
		1A624E580DCBC7F6006898C8 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		1A6250410DCBC81B006898C8 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
		1A8C86A90EF2FB8F003F6E81 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
		1A8C87A90EF2FBB3003F6E81 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
		8D576316048677EA00EA77CD /* NetscapeCoreAnimationPlugin.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NetscapeCoreAnimationPlugin.plugin; sourceTree = BUILT_PRODUCTS_DIR; };
		8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		8D576313048677EA00EA77CD /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */,
				1A8C86AA0EF2FB8F003F6E81 /* Quartz.framework in Frameworks */,
				1A8C87AA0EF2FBB3003F6E81 /* QuartzCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		089C166AFE841209C02AAC07 /* NetscapeCoreAnimationPlugin */ = {
			isa = PBXGroup;
			children = (
				08FB77AFFE84173DC02AAC07 /* Source */,
				089C167CFE841241C02AAC07 /* Resources */,
				089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
				19C28FB6FE9D52B211CA2CBB /* Products */,
			);
			name = NetscapeCoreAnimationPlugin;
			sourceTree = "<group>";
		};
		089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				1A6250410DCBC81B006898C8 /* Cocoa.framework */,
				1A8C86A90EF2FB8F003F6E81 /* Quartz.framework */,
				1A8C87A90EF2FBB3003F6E81 /* QuartzCore.framework */,
			);
			name = "External Frameworks and Libraries";
			sourceTree = "<group>";
		};
		089C167CFE841241C02AAC07 /* Resources */ = {
			isa = PBXGroup;
			children = (
				1A1BA1750EF2FB3200754486 /* Composition.qtz */,
				8D576317048677EA00EA77CD /* Info.plist */,
				8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		08FB77AFFE84173DC02AAC07 /* Source */ = {
			isa = PBXGroup;
			children = (
				1A624E580DCBC7F6006898C8 /* main.m */,
			);
			name = Source;
			sourceTree = "<group>";
		};
		19C28FB6FE9D52B211CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8D576316048677EA00EA77CD /* NetscapeCoreAnimationPlugin.plugin */,
			);
			name = Products;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		8D57630D048677EA00EA77CD /* NetscapeCoreAnimationPlugin */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeCoreAnimationPlugin" */;
			buildPhases = (
				8D576311048677EA00EA77CD /* Sources */,
				8D57630F048677EA00EA77CD /* Resources */,
				8D576313048677EA00EA77CD /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = NetscapeCoreAnimationPlugin;
			productInstallPath = "$(HOME)/Library/Bundles";
			productName = NetscapeCoreAnimationPlugin;
			productReference = 8D576316048677EA00EA77CD /* NetscapeCoreAnimationPlugin.plugin */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		089C1669FE841209C02AAC07 /* Project object */ = {
			isa = PBXProject;
			buildConfigurationList = 149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeCoreAnimationPlugin" */;
			compatibilityVersion = "Xcode 2.4";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
			);
			mainGroup = 089C166AFE841209C02AAC07 /* NetscapeCoreAnimationPlugin */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				8D57630D048677EA00EA77CD /* NetscapeCoreAnimationPlugin */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		8D57630F048677EA00EA77CD /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1A1BA1760EF2FB3200754486 /* Composition.qtz in Resources */,
				8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		8D576311048677EA00EA77CD /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1A624E590DCBC7F6006898C8 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				089C167EFE841241C02AAC07 /* English */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		149C298408902C53008A9EFC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DEBUGGING_SYMBOLS = full;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = NetscapeCoreAnimationPlugin;
				WRAPPER_EXTENSION = plugin;
				ZERO_LINK = YES;
			};
			name = Debug;
		};
		149C298508902C53008A9EFC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = (
					ppc,
					i386,
				);
				GCC_DEBUGGING_SYMBOLS = full;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = NetscapeCoreAnimationPlugin;
				WRAPPER_EXTENSION = plugin;
			};
			name = Release;
		};
		149C298808902C53008A9EFC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = i386;
				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64";
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PREBINDING = NO;
			};
			name = Debug;
		};
		149C298908902C53008A9EFC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = i386;
				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64";
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PREBINDING = NO;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeCoreAnimationPlugin" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				149C298408902C53008A9EFC /* Debug */,
				149C298508902C53008A9EFC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeCoreAnimationPlugin" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				149C298808902C53008A9EFC /* Debug */,
				149C298908902C53008A9EFC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}
