GeekGameBoard.xcodeproj/project.pbxproj
author Jens Alfke <jens@mooseyard.com>
Mon Jul 21 17:32:21 2008 -0700 (2008-07-21)
changeset 21 2eb229411d73
parent 13 db7bb080c3d5
child 26 e7a464fb6d39
permissions -rw-r--r--
* Added API to Stack for removing bits.
* GoGame correctly saves/restores number of captured pieces.
* Improved positioning of captured-piece Stacks in GoGame.
* New Go piece icons.
* Added "Warn" function to GGBUtils.
     1 // !$*UTF8*$!
     2 {
     3 	archiveVersion = 1;
     4 	classes = {
     5 	};
     6 	objectVersion = 44;
     7 	objects = {
     8 
     9 /* Begin PBXBuildFile section */
    10 		27224FA00CC29B1A00814095 /* Grid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27224F9F0CC29B1A00814095 /* Grid.m */; };
    11 		2722526F0CC2E86600814095 /* QuartzUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 2722526E0CC2E86600814095 /* QuartzUtils.m */; };
    12 		2727556A0CC3234F009C4C6C /* Dispenser.m in Sources */ = {isa = PBXBuildFile; fileRef = 272755690CC3234F009C4C6C /* Dispenser.m */; };
    13 		27275A550CC6713E009C4C6C /* HexGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 27275A540CC6713E009C4C6C /* HexGrid.m */; };
    14 		27275C4B0CC700F2009C4C6C /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = 27275C4A0CC700F2009C4C6C /* Game.m */; };
    15 		27275C920CC7C578009C4C6C /* TicTacToeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27275C910CC7C578009C4C6C /* TicTacToeGame.m */; };
    16 		272C90AB0CCACBA4009EE530 /* DiscPiece.m in Sources */ = {isa = PBXBuildFile; fileRef = 272C90AA0CCACBA4009EE530 /* DiscPiece.m */; };
    17 		2731E0280CD430B800E6E4C8 /* Deck.m in Sources */ = {isa = PBXBuildFile; fileRef = 2731E0270CD430B800E6E4C8 /* Deck.m */; };
    18 		2731E2A80CD5630600E6E4C8 /* BitHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 2731E2A70CD5630600E6E4C8 /* BitHolder.m */; };
    19 		2734B2620CC7F25A0070C008 /* HexchequerGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 2734B2610CC7F25A0070C008 /* HexchequerGame.m */; };
    20 		2734B4F00CCA5BDB0070C008 /* CheckersGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */; };
    21 		274124060CFCCF9D00842A9B /* DemoBoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 274124050CFCCF9D00842A9B /* DemoBoardView.m */; };
    22 		274B35B80E22D55E0052BAB4 /* Player.m in Sources */ = {isa = PBXBuildFile; fileRef = 274B35B50E22D55E0052BAB4 /* Player.m */; };
    23 		274B35B90E22D55E0052BAB4 /* Turn.m in Sources */ = {isa = PBXBuildFile; fileRef = 274B35B70E22D55E0052BAB4 /* Turn.m */; };
    24 		275167D90DEE2AB000247375 /* Blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 275167D40DEE2AB000247375 /* Blue.png */; };
    25 		275167DA0DEE2AB000247375 /* Gold.png in Resources */ = {isa = PBXBuildFile; fileRef = 275167D50DEE2AB000247375 /* Gold.png */; };
    26 		275167DB0DEE2AB000247375 /* Green.png in Resources */ = {isa = PBXBuildFile; fileRef = 275167D60DEE2AB000247375 /* Green.png */; };
    27 		275167DC0DEE2AB000247375 /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = 275167D70DEE2AB000247375 /* Red.png */; };
    28 		275167DD0DEE2AB000247375 /* Violet.png in Resources */ = {isa = PBXBuildFile; fileRef = 275167D80DEE2AB000247375 /* Violet.png */; };
    29 		27534A2B0E2C6281006C24A6 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27534A2A0E2C6281006C24A6 /* AudioToolbox.framework */; };
    30 		276DFC410D00867000D329AE /* Green Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC400D00867000D329AE /* Green Ball.png */; };
    31 		276DFC560D00890C00D329AE /* Red Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC530D00890C00D329AE /* Red Ball.png */; };
    32 		276DFC570D00890C00D329AE /* Yellow Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC540D00890C00D329AE /* Yellow Ball.png */; };
    33 		276DFC580D00890C00D329AE /* White Ball.png in Resources */ = {isa = PBXBuildFile; fileRef = 276DFC550D00890C00D329AE /* White Ball.png */; };
    34 		2795C2B80CC278C800D7B2BD /* Piece.m in Sources */ = {isa = PBXBuildFile; fileRef = 2795C2B70CC278C800D7B2BD /* Piece.m */; };
    35 		279F4D870D8606C200B32DBF /* GGBLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4D840D8606C200B32DBF /* GGBLayer.m */; };
    36 		279F4D880D8606C200B32DBF /* GGBTextLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 279F4D860D8606C200B32DBF /* GGBTextLayer.m */; };
    37 		279F4DB20D8607AD00B32DBF /* O.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4DB00D8607AD00B32DBF /* O.tiff */; };
    38 		279F4DB30D8607AD00B32DBF /* X.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 279F4DB10D8607AD00B32DBF /* X.tiff */; };
    39 		279F4DE20D8609C200B32DBF /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 279F4DE10D8609C200B32DBF /* Background.png */; };
    40 		27B7543E0D08884F000516B9 /* Wood.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 27B7543D0D08884F000516B9 /* Wood.jpg */; };
    41 		27C999C30D81185E005AFD4F /* GGBUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 27C999C20D81185E005AFD4F /* GGBUtils.m */; };
    42 		27CCA8050CB8A3F9001CFE24 /* BoardView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCA8040CB8A3F9001CFE24 /* BoardView.m */; };
    43 		27CCA95F0CB8A74D001CFE24 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27CCA95E0CB8A74D001CFE24 /* Quartz.framework */; };
    44 		27CCAABD0CB92A9F001CFE24 /* Card.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCAABC0CB92A9F001CFE24 /* Card.m */; };
    45 		27CCABBF0CB9496B001CFE24 /* Bit.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCABBE0CB9496B001CFE24 /* Bit.m */; };
    46 		27CCAC750CB95C2B001CFE24 /* PlayingCard.m in Sources */ = {isa = PBXBuildFile; fileRef = 27CCAC740CB95C2B001CFE24 /* PlayingCard.m */; };
    47 		27D4F1260CCF011200923605 /* Stack.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D4F1250CCF011200923605 /* Stack.m */; };
    48 		27DFC4410CCD01B7005E34CE /* GoGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27DFC4400CCD01B7005E34CE /* GoGame.m */; };
    49 		27F230B90CD1A61B006939C1 /* KlondikeGame.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F230B80CD1A61B006939C1 /* KlondikeGame.m */; };
    50 		8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
    51 		8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
    52 		8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
    53 		8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
    54 /* End PBXBuildFile section */
    55 
    56 /* Begin PBXFileReference section */
    57 		089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    58 		1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
    59 		27224F9E0CC29B1A00814095 /* Grid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grid.h; sourceTree = "<group>"; };
    60 		27224F9F0CC29B1A00814095 /* Grid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Grid.m; sourceTree = "<group>"; };
    61 		2722526D0CC2E86600814095 /* QuartzUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzUtils.h; sourceTree = "<group>"; };
    62 		2722526E0CC2E86600814095 /* QuartzUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QuartzUtils.m; sourceTree = "<group>"; };
    63 		272755680CC3234F009C4C6C /* Dispenser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dispenser.h; sourceTree = "<group>"; };
    64 		272755690CC3234F009C4C6C /* Dispenser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dispenser.m; sourceTree = "<group>"; };
    65 		27275A530CC6713E009C4C6C /* HexGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexGrid.h; sourceTree = "<group>"; };
    66 		27275A540CC6713E009C4C6C /* HexGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexGrid.m; sourceTree = "<group>"; };
    67 		27275C490CC700F2009C4C6C /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
    68 		27275C4A0CC700F2009C4C6C /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
    69 		27275C900CC7C578009C4C6C /* TicTacToeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TicTacToeGame.h; sourceTree = "<group>"; };
    70 		27275C910CC7C578009C4C6C /* TicTacToeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TicTacToeGame.m; sourceTree = "<group>"; };
    71 		272C90A90CCACBA4009EE530 /* DiscPiece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiscPiece.h; sourceTree = "<group>"; };
    72 		272C90AA0CCACBA4009EE530 /* DiscPiece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DiscPiece.m; sourceTree = "<group>"; };
    73 		2731E0260CD430B800E6E4C8 /* Deck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Deck.h; sourceTree = "<group>"; };
    74 		2731E0270CD430B800E6E4C8 /* Deck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Deck.m; sourceTree = "<group>"; };
    75 		2731E2A60CD5630600E6E4C8 /* BitHolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitHolder.h; sourceTree = "<group>"; };
    76 		2731E2A70CD5630600E6E4C8 /* BitHolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BitHolder.m; sourceTree = "<group>"; };
    77 		2734B2600CC7F25A0070C008 /* HexchequerGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexchequerGame.h; sourceTree = "<group>"; };
    78 		2734B2610CC7F25A0070C008 /* HexchequerGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexchequerGame.m; sourceTree = "<group>"; };
    79 		2734B4EE0CCA5BDB0070C008 /* CheckersGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckersGame.h; sourceTree = "<group>"; };
    80 		2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CheckersGame.m; sourceTree = "<group>"; };
    81 		274124040CFCCF9D00842A9B /* DemoBoardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoBoardView.h; sourceTree = "<group>"; };
    82 		274124050CFCCF9D00842A9B /* DemoBoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoBoardView.m; sourceTree = "<group>"; };
    83 		274B35B30E22D55E0052BAB4 /* Game+Protected.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Game+Protected.h"; sourceTree = "<group>"; };
    84 		274B35B40E22D55E0052BAB4 /* Player.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Player.h; sourceTree = "<group>"; };
    85 		274B35B50E22D55E0052BAB4 /* Player.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Player.m; sourceTree = "<group>"; };
    86 		274B35B60E22D55E0052BAB4 /* Turn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Turn.h; sourceTree = "<group>"; };
    87 		274B35B70E22D55E0052BAB4 /* Turn.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Turn.m; sourceTree = "<group>"; };
    88 		275167D40DEE2AB000247375 /* Blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Blue.png; sourceTree = "<group>"; };
    89 		275167D50DEE2AB000247375 /* Gold.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Gold.png; sourceTree = "<group>"; };
    90 		275167D60DEE2AB000247375 /* Green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Green.png; sourceTree = "<group>"; };
    91 		275167D70DEE2AB000247375 /* Red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Red.png; sourceTree = "<group>"; };
    92 		275167D80DEE2AB000247375 /* Violet.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Violet.png; sourceTree = "<group>"; };
    93 		27534A2A0E2C6281006C24A6 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
    94 		276DFC400D00867000D329AE /* Green Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Green Ball.png"; path = "Resources/Green Ball.png"; sourceTree = "<group>"; };
    95 		276DFC530D00890C00D329AE /* Red Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Red Ball.png"; path = "Resources/Red Ball.png"; sourceTree = "<group>"; };
    96 		276DFC540D00890C00D329AE /* Yellow Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Yellow Ball.png"; path = "Resources/Yellow Ball.png"; sourceTree = "<group>"; };
    97 		276DFC550D00890C00D329AE /* White Ball.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "White Ball.png"; path = "Resources/White Ball.png"; sourceTree = "<group>"; };
    98 		2795C2B60CC278C800D7B2BD /* Piece.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Piece.h; sourceTree = "<group>"; };
    99 		2795C2B70CC278C800D7B2BD /* Piece.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Piece.m; sourceTree = "<group>"; };
   100 		279F4D830D8606C200B32DBF /* GGBLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBLayer.h; sourceTree = "<group>"; };
   101 		279F4D840D8606C200B32DBF /* GGBLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBLayer.m; sourceTree = "<group>"; };
   102 		279F4D850D8606C200B32DBF /* GGBTextLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBTextLayer.h; sourceTree = "<group>"; };
   103 		279F4D860D8606C200B32DBF /* GGBTextLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBTextLayer.m; sourceTree = "<group>"; };
   104 		279F4DB00D8607AD00B32DBF /* O.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = O.tiff; path = Resources/O.tiff; sourceTree = "<group>"; };
   105 		279F4DB10D8607AD00B32DBF /* X.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = X.tiff; path = Resources/X.tiff; sourceTree = "<group>"; };
   106 		279F4DE10D8609C200B32DBF /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Background.png; path = Resources/Background.png; sourceTree = "<group>"; };
   107 		27B7543D0D08884F000516B9 /* Wood.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = Wood.jpg; path = Resources/Wood.jpg; sourceTree = "<group>"; };
   108 		27C999C10D81185E005AFD4F /* GGBUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GGBUtils.h; sourceTree = "<group>"; };
   109 		27C999C20D81185E005AFD4F /* GGBUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GGBUtils.m; sourceTree = "<group>"; };
   110 		27C99AB40D820500005AFD4F /* BoardUIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardUIView.h; sourceTree = "<group>"; };
   111 		27C99AB50D820500005AFD4F /* BoardUIView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardUIView.m; sourceTree = "<group>"; };
   112 		27CCA8030CB8A3F9001CFE24 /* BoardView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoardView.h; sourceTree = "<group>"; };
   113 		27CCA8040CB8A3F9001CFE24 /* BoardView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BoardView.m; sourceTree = "<group>"; };
   114 		27CCA95E0CB8A74D001CFE24 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
   115 		27CCAABB0CB92A9F001CFE24 /* Card.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Card.h; sourceTree = "<group>"; };
   116 		27CCAABC0CB92A9F001CFE24 /* Card.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Card.m; sourceTree = "<group>"; };
   117 		27CCABBD0CB9496B001CFE24 /* Bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bit.h; sourceTree = "<group>"; };
   118 		27CCABBE0CB9496B001CFE24 /* Bit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bit.m; sourceTree = "<group>"; };
   119 		27CCAC730CB95C2B001CFE24 /* PlayingCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlayingCard.h; sourceTree = "<group>"; };
   120 		27CCAC740CB95C2B001CFE24 /* PlayingCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlayingCard.m; sourceTree = "<group>"; };
   121 		27D4F1240CCF011200923605 /* Stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stack.h; sourceTree = "<group>"; };
   122 		27D4F1250CCF011200923605 /* Stack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stack.m; sourceTree = "<group>"; };
   123 		27DFC43F0CCD01B7005E34CE /* GoGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoGame.h; sourceTree = "<group>"; };
   124 		27DFC4400CCD01B7005E34CE /* GoGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoGame.m; sourceTree = "<group>"; };
   125 		27F230B70CD1A61B006939C1 /* KlondikeGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KlondikeGame.h; sourceTree = "<group>"; };
   126 		27F230B80CD1A61B006939C1 /* KlondikeGame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KlondikeGame.m; sourceTree = "<group>"; };
   127 		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
   128 		29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
   129 		29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
   130 		29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
   131 		32CA4F630368D1EE00C91783 /* GeekGameBoard_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeekGameBoard_Prefix.pch; sourceTree = "<group>"; };
   132 		8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = "<group>"; };
   133 		8D1107320486CEB800E47090 /* GeekGameBoard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GeekGameBoard.app; sourceTree = BUILT_PRODUCTS_DIR; };
   134 /* End PBXFileReference section */
   135 
   136 /* Begin PBXFrameworksBuildPhase section */
   137 		8D11072E0486CEB800E47090 /* Frameworks */ = {
   138 			isa = PBXFrameworksBuildPhase;
   139 			buildActionMask = 2147483647;
   140 			files = (
   141 				8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
   142 				27CCA95F0CB8A74D001CFE24 /* Quartz.framework in Frameworks */,
   143 				27534A2B0E2C6281006C24A6 /* AudioToolbox.framework in Frameworks */,
   144 			);
   145 			runOnlyForDeploymentPostprocessing = 0;
   146 		};
   147 /* End PBXFrameworksBuildPhase section */
   148 
   149 /* Begin PBXGroup section */
   150 		080E96DDFE201D6D7F000001 /* Source */ = {
   151 			isa = PBXGroup;
   152 			children = (
   153 				27CCA8030CB8A3F9001CFE24 /* BoardView.h */,
   154 				27CCA8040CB8A3F9001CFE24 /* BoardView.m */,
   155 				27C99AB40D820500005AFD4F /* BoardUIView.h */,
   156 				27C99AB50D820500005AFD4F /* BoardUIView.m */,
   157 				27CCABBD0CB9496B001CFE24 /* Bit.h */,
   158 				27CCABBE0CB9496B001CFE24 /* Bit.m */,
   159 				2731E2A60CD5630600E6E4C8 /* BitHolder.h */,
   160 				2731E2A70CD5630600E6E4C8 /* BitHolder.m */,
   161 				27D4F1240CCF011200923605 /* Stack.h */,
   162 				27D4F1250CCF011200923605 /* Stack.m */,
   163 				27275C440CC70095009C4C6C /* Cards */,
   164 				27275C450CC700C4009C4C6C /* Boards and Pieces */,
   165 				27275C480CC700D8009C4C6C /* Games */,
   166 				279F4D830D8606C200B32DBF /* GGBLayer.h */,
   167 				279F4D840D8606C200B32DBF /* GGBLayer.m */,
   168 				279F4D850D8606C200B32DBF /* GGBTextLayer.h */,
   169 				279F4D860D8606C200B32DBF /* GGBTextLayer.m */,
   170 				2722526D0CC2E86600814095 /* QuartzUtils.h */,
   171 				2722526E0CC2E86600814095 /* QuartzUtils.m */,
   172 				27C999C10D81185E005AFD4F /* GGBUtils.h */,
   173 				27C999C20D81185E005AFD4F /* GGBUtils.m */,
   174 			);
   175 			path = Source;
   176 			sourceTree = "<group>";
   177 		};
   178 		1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
   179 			isa = PBXGroup;
   180 			children = (
   181 				1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
   182 			);
   183 			name = "Linked Frameworks";
   184 			sourceTree = "<group>";
   185 		};
   186 		1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
   187 			isa = PBXGroup;
   188 			children = (
   189 				27534A2A0E2C6281006C24A6 /* AudioToolbox.framework */,
   190 				29B97324FDCFA39411CA2CEA /* AppKit.framework */,
   191 				27CCA95E0CB8A74D001CFE24 /* Quartz.framework */,
   192 				29B97325FDCFA39411CA2CEA /* Foundation.framework */,
   193 			);
   194 			name = "Other Frameworks";
   195 			sourceTree = "<group>";
   196 		};
   197 		19C28FACFE9D520D11CA2CBB /* Products */ = {
   198 			isa = PBXGroup;
   199 			children = (
   200 				8D1107320486CEB800E47090 /* GeekGameBoard.app */,
   201 			);
   202 			name = Products;
   203 			sourceTree = "<group>";
   204 		};
   205 		27275C440CC70095009C4C6C /* Cards */ = {
   206 			isa = PBXGroup;
   207 			children = (
   208 				27CCAABB0CB92A9F001CFE24 /* Card.h */,
   209 				27CCAABC0CB92A9F001CFE24 /* Card.m */,
   210 				2731E0260CD430B800E6E4C8 /* Deck.h */,
   211 				2731E0270CD430B800E6E4C8 /* Deck.m */,
   212 				27CCAC730CB95C2B001CFE24 /* PlayingCard.h */,
   213 				27CCAC740CB95C2B001CFE24 /* PlayingCard.m */,
   214 			);
   215 			name = Cards;
   216 			sourceTree = "<group>";
   217 		};
   218 		27275C450CC700C4009C4C6C /* Boards and Pieces */ = {
   219 			isa = PBXGroup;
   220 			children = (
   221 				2795C2B60CC278C800D7B2BD /* Piece.h */,
   222 				2795C2B70CC278C800D7B2BD /* Piece.m */,
   223 				272C90A90CCACBA4009EE530 /* DiscPiece.h */,
   224 				272C90AA0CCACBA4009EE530 /* DiscPiece.m */,
   225 				27224F9E0CC29B1A00814095 /* Grid.h */,
   226 				27224F9F0CC29B1A00814095 /* Grid.m */,
   227 				27275A530CC6713E009C4C6C /* HexGrid.h */,
   228 				27275A540CC6713E009C4C6C /* HexGrid.m */,
   229 				272755680CC3234F009C4C6C /* Dispenser.h */,
   230 				272755690CC3234F009C4C6C /* Dispenser.m */,
   231 			);
   232 			name = "Boards and Pieces";
   233 			sourceTree = "<group>";
   234 		};
   235 		27275C480CC700D8009C4C6C /* Games */ = {
   236 			isa = PBXGroup;
   237 			children = (
   238 				27275C490CC700F2009C4C6C /* Game.h */,
   239 				27275C4A0CC700F2009C4C6C /* Game.m */,
   240 				274B35B30E22D55E0052BAB4 /* Game+Protected.h */,
   241 				274B35B40E22D55E0052BAB4 /* Player.h */,
   242 				274B35B50E22D55E0052BAB4 /* Player.m */,
   243 				274B35B60E22D55E0052BAB4 /* Turn.h */,
   244 				274B35B70E22D55E0052BAB4 /* Turn.m */,
   245 				27275C900CC7C578009C4C6C /* TicTacToeGame.h */,
   246 				27275C910CC7C578009C4C6C /* TicTacToeGame.m */,
   247 				2734B4EE0CCA5BDB0070C008 /* CheckersGame.h */,
   248 				2734B4EF0CCA5BDB0070C008 /* CheckersGame.m */,
   249 				2734B2600CC7F25A0070C008 /* HexchequerGame.h */,
   250 				2734B2610CC7F25A0070C008 /* HexchequerGame.m */,
   251 				27DFC43F0CCD01B7005E34CE /* GoGame.h */,
   252 				27DFC4400CCD01B7005E34CE /* GoGame.m */,
   253 				27F230B70CD1A61B006939C1 /* KlondikeGame.h */,
   254 				27F230B80CD1A61B006939C1 /* KlondikeGame.m */,
   255 			);
   256 			name = Games;
   257 			sourceTree = "<group>";
   258 		};
   259 		275167D30DEE2AB000247375 /* Gingko */ = {
   260 			isa = PBXGroup;
   261 			children = (
   262 				275167D40DEE2AB000247375 /* Blue.png */,
   263 				275167D50DEE2AB000247375 /* Gold.png */,
   264 				275167D60DEE2AB000247375 /* Green.png */,
   265 				275167D70DEE2AB000247375 /* Red.png */,
   266 				275167D80DEE2AB000247375 /* Violet.png */,
   267 			);
   268 			name = Gingko;
   269 			path = Resources/Gingko;
   270 			sourceTree = "<group>";
   271 		};
   272 		29B97314FDCFA39411CA2CEA /* BoardGame */ = {
   273 			isa = PBXGroup;
   274 			children = (
   275 				080E96DDFE201D6D7F000001 /* Source */,
   276 				29B97315FDCFA39411CA2CEA /* Demo Application */,
   277 				29B97317FDCFA39411CA2CEA /* Resources */,
   278 				29B97323FDCFA39411CA2CEA /* Frameworks */,
   279 				19C28FACFE9D520D11CA2CBB /* Products */,
   280 			);
   281 			name = BoardGame;
   282 			sourceTree = "<group>";
   283 		};
   284 		29B97315FDCFA39411CA2CEA /* Demo Application */ = {
   285 			isa = PBXGroup;
   286 			children = (
   287 				274124040CFCCF9D00842A9B /* DemoBoardView.h */,
   288 				274124050CFCCF9D00842A9B /* DemoBoardView.m */,
   289 				32CA4F630368D1EE00C91783 /* GeekGameBoard_Prefix.pch */,
   290 				29B97316FDCFA39411CA2CEA /* main.m */,
   291 			);
   292 			name = "Demo Application";
   293 			path = Source;
   294 			sourceTree = "<group>";
   295 		};
   296 		29B97317FDCFA39411CA2CEA /* Resources */ = {
   297 			isa = PBXGroup;
   298 			children = (
   299 				275167D30DEE2AB000247375 /* Gingko */,
   300 				29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
   301 				8D1107310486CEB800E47090 /* Info.plist */,
   302 				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
   303 				279F4DE10D8609C200B32DBF /* Background.png */,
   304 				276DFC400D00867000D329AE /* Green Ball.png */,
   305 				276DFC530D00890C00D329AE /* Red Ball.png */,
   306 				276DFC540D00890C00D329AE /* Yellow Ball.png */,
   307 				276DFC550D00890C00D329AE /* White Ball.png */,
   308 				27B7543D0D08884F000516B9 /* Wood.jpg */,
   309 				279F4DB00D8607AD00B32DBF /* O.tiff */,
   310 				279F4DB10D8607AD00B32DBF /* X.tiff */,
   311 			);
   312 			name = Resources;
   313 			sourceTree = "<group>";
   314 		};
   315 		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
   316 			isa = PBXGroup;
   317 			children = (
   318 				1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
   319 				1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
   320 			);
   321 			name = Frameworks;
   322 			sourceTree = "<group>";
   323 		};
   324 /* End PBXGroup section */
   325 
   326 /* Begin PBXNativeTarget section */
   327 		8D1107260486CEB800E47090 /* BoardGame */ = {
   328 			isa = PBXNativeTarget;
   329 			buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "BoardGame" */;
   330 			buildPhases = (
   331 				8D1107290486CEB800E47090 /* Resources */,
   332 				8D11072C0486CEB800E47090 /* Sources */,
   333 				8D11072E0486CEB800E47090 /* Frameworks */,
   334 			);
   335 			buildRules = (
   336 			);
   337 			dependencies = (
   338 			);
   339 			name = BoardGame;
   340 			productInstallPath = "$(HOME)/Applications";
   341 			productName = BoardGame;
   342 			productReference = 8D1107320486CEB800E47090 /* GeekGameBoard.app */;
   343 			productType = "com.apple.product-type.application";
   344 		};
   345 /* End PBXNativeTarget section */
   346 
   347 /* Begin PBXProject section */
   348 		29B97313FDCFA39411CA2CEA /* Project object */ = {
   349 			isa = PBXProject;
   350 			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard" */;
   351 			compatibilityVersion = "Xcode 3.0";
   352 			hasScannedForEncodings = 1;
   353 			mainGroup = 29B97314FDCFA39411CA2CEA /* BoardGame */;
   354 			projectDirPath = "";
   355 			projectRoot = "";
   356 			targets = (
   357 				8D1107260486CEB800E47090 /* BoardGame */,
   358 			);
   359 		};
   360 /* End PBXProject section */
   361 
   362 /* Begin PBXResourcesBuildPhase section */
   363 		8D1107290486CEB800E47090 /* Resources */ = {
   364 			isa = PBXResourcesBuildPhase;
   365 			buildActionMask = 2147483647;
   366 			files = (
   367 				8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
   368 				8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
   369 				276DFC410D00867000D329AE /* Green Ball.png in Resources */,
   370 				276DFC560D00890C00D329AE /* Red Ball.png in Resources */,
   371 				276DFC570D00890C00D329AE /* Yellow Ball.png in Resources */,
   372 				276DFC580D00890C00D329AE /* White Ball.png in Resources */,
   373 				27B7543E0D08884F000516B9 /* Wood.jpg in Resources */,
   374 				279F4DB20D8607AD00B32DBF /* O.tiff in Resources */,
   375 				279F4DB30D8607AD00B32DBF /* X.tiff in Resources */,
   376 				279F4DE20D8609C200B32DBF /* Background.png in Resources */,
   377 				275167D90DEE2AB000247375 /* Blue.png in Resources */,
   378 				275167DA0DEE2AB000247375 /* Gold.png in Resources */,
   379 				275167DB0DEE2AB000247375 /* Green.png in Resources */,
   380 				275167DC0DEE2AB000247375 /* Red.png in Resources */,
   381 				275167DD0DEE2AB000247375 /* Violet.png in Resources */,
   382 			);
   383 			runOnlyForDeploymentPostprocessing = 0;
   384 		};
   385 /* End PBXResourcesBuildPhase section */
   386 
   387 /* Begin PBXSourcesBuildPhase section */
   388 		8D11072C0486CEB800E47090 /* Sources */ = {
   389 			isa = PBXSourcesBuildPhase;
   390 			buildActionMask = 2147483647;
   391 			files = (
   392 				8D11072D0486CEB800E47090 /* main.m in Sources */,
   393 				27CCA8050CB8A3F9001CFE24 /* BoardView.m in Sources */,
   394 				27CCAABD0CB92A9F001CFE24 /* Card.m in Sources */,
   395 				27CCABBF0CB9496B001CFE24 /* Bit.m in Sources */,
   396 				27CCAC750CB95C2B001CFE24 /* PlayingCard.m in Sources */,
   397 				2795C2B80CC278C800D7B2BD /* Piece.m in Sources */,
   398 				27224FA00CC29B1A00814095 /* Grid.m in Sources */,
   399 				2722526F0CC2E86600814095 /* QuartzUtils.m in Sources */,
   400 				2727556A0CC3234F009C4C6C /* Dispenser.m in Sources */,
   401 				27275A550CC6713E009C4C6C /* HexGrid.m in Sources */,
   402 				27275C4B0CC700F2009C4C6C /* Game.m in Sources */,
   403 				27275C920CC7C578009C4C6C /* TicTacToeGame.m in Sources */,
   404 				2734B2620CC7F25A0070C008 /* HexchequerGame.m in Sources */,
   405 				2734B4F00CCA5BDB0070C008 /* CheckersGame.m in Sources */,
   406 				272C90AB0CCACBA4009EE530 /* DiscPiece.m in Sources */,
   407 				27DFC4410CCD01B7005E34CE /* GoGame.m in Sources */,
   408 				27D4F1260CCF011200923605 /* Stack.m in Sources */,
   409 				27F230B90CD1A61B006939C1 /* KlondikeGame.m in Sources */,
   410 				2731E0280CD430B800E6E4C8 /* Deck.m in Sources */,
   411 				2731E2A80CD5630600E6E4C8 /* BitHolder.m in Sources */,
   412 				274124060CFCCF9D00842A9B /* DemoBoardView.m in Sources */,
   413 				27C999C30D81185E005AFD4F /* GGBUtils.m in Sources */,
   414 				279F4D870D8606C200B32DBF /* GGBLayer.m in Sources */,
   415 				279F4D880D8606C200B32DBF /* GGBTextLayer.m in Sources */,
   416 				274B35B80E22D55E0052BAB4 /* Player.m in Sources */,
   417 				274B35B90E22D55E0052BAB4 /* Turn.m in Sources */,
   418 			);
   419 			runOnlyForDeploymentPostprocessing = 0;
   420 		};
   421 /* End PBXSourcesBuildPhase section */
   422 
   423 /* Begin PBXVariantGroup section */
   424 		089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
   425 			isa = PBXVariantGroup;
   426 			children = (
   427 				089C165DFE840E0CC02AAC07 /* English */,
   428 			);
   429 			name = InfoPlist.strings;
   430 			sourceTree = "<group>";
   431 		};
   432 		29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
   433 			isa = PBXVariantGroup;
   434 			children = (
   435 				29B97319FDCFA39411CA2CEA /* English */,
   436 			);
   437 			name = MainMenu.nib;
   438 			sourceTree = "<group>";
   439 		};
   440 /* End PBXVariantGroup section */
   441 
   442 /* Begin XCBuildConfiguration section */
   443 		C01FCF4B08A954540054247B /* Debug */ = {
   444 			isa = XCBuildConfiguration;
   445 			buildSettings = {
   446 				COPY_PHASE_STRIP = NO;
   447 				GCC_DYNAMIC_NO_PIC = NO;
   448 				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   449 				GCC_MODEL_TUNING = G5;
   450 				GCC_OPTIMIZATION_LEVEL = 0;
   451 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   452 				GCC_PREFIX_HEADER = Source/GeekGameBoard_Prefix.pch;
   453 				INFOPLIST_FILE = Resources/Info.plist;
   454 				INSTALL_PATH = "$(HOME)/Applications";
   455 				PRODUCT_NAME = GeekGameBoard;
   456 				WRAPPER_EXTENSION = app;
   457 				ZERO_LINK = YES;
   458 			};
   459 			name = Debug;
   460 		};
   461 		C01FCF4C08A954540054247B /* Release */ = {
   462 			isa = XCBuildConfiguration;
   463 			buildSettings = {
   464 				ARCHS = (
   465 					i386,
   466 					ppc,
   467 					ppc64,
   468 					x86_64,
   469 				);
   470 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   471 				GCC_MODEL_TUNING = G5;
   472 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   473 				GCC_PREFIX_HEADER = Source/GeekGameBoard_Prefix.pch;
   474 				INFOPLIST_FILE = Resources/Info.plist;
   475 				INSTALL_PATH = "$(HOME)/Applications";
   476 				PRODUCT_NAME = GeekGameBoard;
   477 				WRAPPER_EXTENSION = app;
   478 			};
   479 			name = Release;
   480 		};
   481 		C01FCF4F08A954540054247B /* Debug */ = {
   482 			isa = XCBuildConfiguration;
   483 			buildSettings = {
   484 				GCC_C_LANGUAGE_STANDARD = gnu99;
   485 				GCC_ENABLE_OBJC_GC = unsupported;
   486 				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
   487 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   488 				GCC_WARN_UNUSED_VARIABLE = YES;
   489 				PREBINDING = NO;
   490 				SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
   491 				WARNING_CFLAGS = "-Wall";
   492 			};
   493 			name = Debug;
   494 		};
   495 		C01FCF5008A954540054247B /* Release */ = {
   496 			isa = XCBuildConfiguration;
   497 			buildSettings = {
   498 				ARCHS = (
   499 					ppc,
   500 					i386,
   501 				);
   502 				GCC_C_LANGUAGE_STANDARD = gnu99;
   503 				GCC_ENABLE_OBJC_GC = unsupported;
   504 				GCC_TREAT_WARNINGS_AS_ERRORS = YES;
   505 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
   506 				GCC_WARN_UNUSED_VARIABLE = YES;
   507 				PREBINDING = NO;
   508 				SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
   509 				WARNING_CFLAGS = "-Wall";
   510 			};
   511 			name = Release;
   512 		};
   513 /* End XCBuildConfiguration section */
   514 
   515 /* Begin XCConfigurationList section */
   516 		C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "BoardGame" */ = {
   517 			isa = XCConfigurationList;
   518 			buildConfigurations = (
   519 				C01FCF4B08A954540054247B /* Debug */,
   520 				C01FCF4C08A954540054247B /* Release */,
   521 			);
   522 			defaultConfigurationIsVisible = 0;
   523 			defaultConfigurationName = Release;
   524 		};
   525 		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "GeekGameBoard" */ = {
   526 			isa = XCConfigurationList;
   527 			buildConfigurations = (
   528 				C01FCF4F08A954540054247B /* Debug */,
   529 				C01FCF5008A954540054247B /* Release */,
   530 			);
   531 			defaultConfigurationIsVisible = 0;
   532 			defaultConfigurationName = Release;
   533 		};
   534 /* End XCConfigurationList section */
   535 	};
   536 	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
   537 }